X-Git-Url: http://drtracing.org/?a=blobdiff_plain;f=gdb%2Facinclude.m4;h=a3fb9e27ac62ff31cf41d544ad4fd01514bce592;hb=976411d6b6aa5cae05259eb92b87a04262052e09;hp=0873f66ac04165a239c9f369d6943fb0ee92194c;hpb=7b9c0bfbfdff44f1c5a4ae72da4ce4752ba0df35;p=deliverable%2Fbinutils-gdb.git diff --git a/gdb/acinclude.m4 b/gdb/acinclude.m4 index 0873f66ac0..a3fb9e27ac 100644 --- a/gdb/acinclude.m4 +++ b/gdb/acinclude.m4 @@ -1,17 +1,33 @@ dnl written by Rob Savoye for Cygnus Support dnl major rewriting for Tcl 7.5 by Don Libes +# Keep these includes in sync with the aclocal_m4_deps list in +# Makefile.in. + sinclude(acx_configure_dir.m4) +# This gets GDB_AC_LIBMCHECK. +sinclude(libmcheck.m4) + dnl gdb/configure.in uses BFD_NEED_DECLARATION, so get its definition. sinclude(../bfd/bfd.m4) -dnl This gets the standard macros +dnl This gets the standard macros. sinclude(../config/acinclude.m4) -dnl This gets autoconf bugfixes +dnl This gets AC_PLUGINS, needed by ACX_LARGEFILE. +sinclude(../config/plugins.m4) + +dnl For ACX_LARGEFILE. +sinclude(../config/largefile.m4) + +dnl For AM_SET_LEADING_DOT. +sinclude(../config/lead-dot.m4) + +dnl This gets autoconf bugfixes. sinclude(../config/override.m4) +dnl For ZW_GNU_GETTEXT_SISTER_DIR. sinclude(../config/gettext-sister.m4) dnl For AC_LIB_HAVE_LINKFLAGS. @@ -36,13 +52,14 @@ sinclude([../config/codeset.m4]) sinclude([../config/zlib.m4]) +m4_include([common/common.m4]) + ## ----------------------------------------- ## ## ANSIfy the C compiler whenever possible. ## ## From Franc,ois Pinard ## ## ----------------------------------------- ## -# Copyright (C) 1996, 1997, 1999, 2000, 2001, 2008, 2009 -# Free Software Foundation, Inc. +# Copyright (C) 1996-2014 Free Software Foundation, Inc. # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -55,9 +72,7 @@ sinclude([../config/zlib.m4]) # GNU General Public License for more details. # You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin Street, Fifth Floor, -# Boston, MA 02110-1301, USA. +# along with this program; if not, see . # serial 1 @@ -424,3 +439,109 @@ AC_DEFUN([GDB_AC_WITH_DIR], [ AC_SUBST([$1]) GDB_AC_DEFINE_RELOCATABLE([$1], [$2], ${ac_define_dir}) ]) + +dnl GDB_AC_CHECK_BFD([MESSAGE], [CV], [CODE], [HEADER]) +dnl Check whether BFD provides a feature. +dnl MESSAGE is the "checking" message to display. +dnl CV is the name of the cache variable where the result is stored. +dnl The result will be "yes" or "no". +dnl CODE is some code to compile that checks for the feature. +dnl A link test is run. +dnl HEADER is the name of an extra BFD header to include. +AC_DEFUN([GDB_AC_CHECK_BFD], [ + OLD_CFLAGS=$CFLAGS + OLD_LDFLAGS=$LDFLAGS + OLD_LIBS=$LIBS + # Put the old CFLAGS/LDFLAGS last, in case the user's (C|LD)FLAGS + # points somewhere with bfd, with -I/foo/lib and -L/foo/lib. We + # always want our bfd. + CFLAGS="-I${srcdir}/../include -I../bfd -I${srcdir}/../bfd $CFLAGS" + LDFLAGS="-L../bfd -L../libiberty $LDFLAGS" + intl=`echo $LIBINTL | sed 's,${top_builddir}/,,g'` + # -ldl is provided by bfd/Makfile.am (LIBDL) . + if test "$plugins" = "yes"; then + AC_SEARCH_LIBS(dlopen, dl) + fi + LIBS="-lbfd -liberty $intl $LIBS" + AC_CACHE_CHECK([$1], [$2], + [AC_TRY_LINK( + [#include + #include "bfd.h" + #include "$4" + ], + [return $3;], [[$2]=yes], [[$2]=no])]) + CFLAGS=$OLD_CFLAGS + LDFLAGS=$OLD_LDFLAGS + LIBS=$OLD_LIBS]) + +dnl GDB_GUILE_PROGRAM_NAMES([PKG-CONFIG], [VERSION]) +dnl +dnl Define and substitute 'GUILD' to contain the absolute file name of +dnl the 'guild' command for VERSION, using PKG-CONFIG. (This is +dnl similar to Guile's 'GUILE_PROGS' macro.) +AC_DEFUN([GDB_GUILE_PROGRAM_NAMES], [ + AC_CACHE_CHECK([for the absolute file name of the 'guild' command], + [ac_cv_guild_program_name], + [ac_cv_guild_program_name="`$1 $2 --variable guild`" + + # In Guile up to 2.0.11 included, guile-2.0.pc would not define + # the 'guild' and 'bindir' variables. In that case, try to guess + # what the program name is, at the risk of getting it wrong if + # Guile was configured with '--program-suffix' or similar. + if test "x$ac_cv_guild_program_name" = "x"; then + guile_exec_prefix="`$1 $2 --variable exec_prefix`" + ac_cv_guild_program_name="$guile_exec_prefix/bin/guild" + fi + ]) + + if ! "$ac_cv_guild_program_name" --version >&AS_MESSAGE_LOG_FD 2>&AS_MESSAGE_LOG_FD; then + AC_MSG_ERROR(['$ac_cv_guild_program_name' appears to be unusable]) + fi + + GUILD="$ac_cv_guild_program_name" + AC_SUBST([GUILD]) +]) + +dnl GDB_GUILD_TARGET_FLAG +dnl +dnl Compute the value of GUILD_TARGET_FLAG. +dnl For native builds this is empty. +dnl For cross builds this is --target=. +AC_DEFUN([GDB_GUILD_TARGET_FLAG], [ + if test "$cross_compiling" = no; then + GUILD_TARGET_FLAG= + else + GUILD_TARGET_FLAG="--target=$host" + fi + AC_SUBST(GUILD_TARGET_FLAG) +]) + +dnl GDB_TRY_GUILD([SRC-FILE]) +dnl +dnl We precompile the .scm files and install them with gdb, so make sure +dnl guild works for this host. +dnl The .scm files are precompiled for several reasons: +dnl 1) To silence Guile during gdb startup (Guile's auto-compilation output +dnl is unnecessarily verbose). +dnl 2) Make gdb developers see compilation errors/warnings during the build, +dnl and not leave it to later when the user runs gdb. +dnl 3) As a convenience for the user, so that one copy of the files is built +dnl instead of one copy per user. +dnl +dnl Make sure guild can handle this host by trying to compile SRC-FILE, and +dnl setting ac_cv_guild_ok to yes or no. +dnl Note that guild can handle cross-compilation. +dnl It could happen that guild can't handle the host, but guile would still +dnl work. For the time being we're conservative, and if guild doesn't work +dnl we punt. +AC_DEFUN([GDB_TRY_GUILD], [ + AC_REQUIRE([GDB_GUILD_TARGET_FLAG]) + AC_CACHE_CHECK([whether guild supports this host], + [ac_cv_guild_ok], + [echo "$ac_cv_guild_program_name compile $GUILD_TARGET_FLAG -o conftest.go $1" >&AS_MESSAGE_LOG_FD + if "$ac_cv_guild_program_name" compile $GUILD_TARGET_FLAG -o conftest.go "$1" >&AS_MESSAGE_LOG_FD 2>&AS_MESSAGE_LOG_FD; then + ac_cv_guild_ok=yes + else + ac_cv_guild_ok=no + fi]) +])