X-Git-Url: http://git.efficios.com/?a=blobdiff_plain;f=gdb%2Facinclude.m4;h=852a71c3f18b4a5eced5481ddd5c7fa088f21259;hb=refs%2Fheads%2Fconcurrent-displaced-stepping-2020-04-01;hp=1897045be8669ff2c391e4ccb1b204b667a8ab85;hpb=fc3b640d978b8b07680feb80a69ddd8c05ee69bd;p=deliverable%2Fbinutils-gdb.git diff --git a/gdb/acinclude.m4 b/gdb/acinclude.m4 index 1897045be8..852a71c3f1 100644 --- a/gdb/acinclude.m4 +++ b/gdb/acinclude.m4 @@ -1,68 +1,86 @@ 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. + +m4_include(acx_configure_dir.m4) + +# This gets GDB_AC_TRANSFORM. +m4_include(transform.m4) + +# This gets AM_GDB_WARNINGS. +m4_include(../gdbsupport/warning.m4) + +# AM_GDB_UBSAN +m4_include(sanitize.m4) + +# This gets GDB_AC_SELFTEST. +m4_include(../gdbsupport/selftest.m4) + dnl gdb/configure.in uses BFD_NEED_DECLARATION, so get its definition. -sinclude(../bfd/bfd.m4) +m4_include(../bfd/bfd.m4) -dnl This gets the standard macros -sinclude(../config/acinclude.m4) +dnl This gets the standard macros. +m4_include(../config/acinclude.m4) -dnl This gets autoconf bugfixes -sinclude(../config/override.m4) +dnl This gets AC_PLUGINS, needed by ACX_LARGEFILE. +m4_include(../config/plugins.m4) -sinclude(../config/gettext-sister.m4) +dnl For ACX_LARGEFILE. +m4_include(../config/largefile.m4) + +dnl For AM_SET_LEADING_DOT. +m4_include(../config/lead-dot.m4) + +dnl This gets autoconf bugfixes. +m4_include(../config/override.m4) + +dnl For ZW_GNU_GETTEXT_SISTER_DIR. +m4_include(../config/gettext-sister.m4) dnl For AC_LIB_HAVE_LINKFLAGS. -sinclude(../config/lib-ld.m4) -sinclude(../config/lib-prefix.m4) -sinclude(../config/lib-link.m4) +m4_include(../config/lib-ld.m4) +m4_include(../config/lib-prefix.m4) +m4_include(../config/lib-link.m4) dnl For ACX_PKGVERSION and ACX_BUGURL. -sinclude(../config/acx.m4) +m4_include(../config/acx.m4) dnl for TCL definitions -sinclude(../config/tcl.m4) +m4_include(../config/tcl.m4) dnl For dependency tracking macros. -sinclude([../config/depstand.m4]) +m4_include([../config/depstand.m4]) dnl For AM_LC_MESSAGES -sinclude([../config/lcmessage.m4]) +m4_include([../config/lcmessage.m4]) dnl For AM_LANGINFO_CODESET. -sinclude([../config/codeset.m4]) +m4_include([../config/codeset.m4]) -# -# Sometimes the native compiler is a bogus stub for gcc or /usr/ucb/cc. This -# makes configure think it's cross compiling. If --target wasn't used, then -# we can't configure, so something is wrong. We don't use the cache -# here cause if somebody fixes their compiler install, we want this to work. -AC_DEFUN([CY_AC_C_WORKS], -[# If we cannot compile and link a trivial program, we can't expect anything to work -AC_MSG_CHECKING(whether the compiler ($CC) actually works) -AC_TRY_COMPILE(, [/* don't need anything here */], - c_compiles=yes, c_compiles=no) - -AC_TRY_LINK(, [/* don't need anything here */], - c_links=yes, c_links=no) - -if test x"${c_compiles}" = x"no" ; then - AC_MSG_ERROR(the native compiler is broken and won't compile.) -fi +m4_include([../config/iconv.m4]) -if test x"${c_links}" = x"no" ; then - AC_MSG_ERROR(the native compiler is broken and won't link.) -fi -AC_MSG_RESULT(yes) -]) +m4_include([../config/zlib.m4]) + +m4_include([../gdbsupport/common.m4]) + +dnl For libiberty_INIT. +m4_include(libiberty.m4) + +dnl For GDB_AC_PTRACE. +m4_include(ptrace.m4) + +m4_include(ax_cxx_compile_stdcxx.m4) + +m4_include([../config/ax_pthread.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-2020 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 @@ -75,9 +93,7 @@ AC_MSG_RESULT(yes) # 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 @@ -167,99 +183,6 @@ case "x$am_cv_prog_cc_stdc" in esac ]) -dnl From Bruno Haible. - -AC_DEFUN([AM_ICONV], -[ - dnl Some systems have iconv in libc, some have it in libiconv (OSF/1 and - dnl those with the standalone portable GNU libiconv installed). - - AC_ARG_WITH([libiconv-prefix], -[ --with-libiconv-prefix=DIR search for libiconv in DIR/include and DIR/lib], [ - for dir in `echo "$withval" | tr : ' '`; do - if test -d $dir/include; then LIBICONV_INCLUDE="-I$dir/include"; CPPFLAGS="$CPPFLAGS -I$dir/include"; fi - if test -d $dir/lib; then LIBICONV_LIBDIR="-L$dir/lib"; LDFLAGS="$LDFLAGS -L$dir/lib"; fi - done - ]) - - BUILD_LIBICONV_LIBDIR="-L../libiconv/lib/.libs -L../libiconv/lib/_libs" - BUILD_LIBICONV_INCLUDE="-I../libiconv/include" - - AC_CACHE_CHECK(for iconv, am_cv_func_iconv, [ - am_cv_func_iconv="no, consider installing GNU libiconv" - am_cv_lib_iconv=no - am_cv_use_build_libiconv=no - AC_TRY_LINK([#include -#include ], - [iconv_t cd = iconv_open("",""); - iconv(cd,NULL,NULL,NULL,NULL); - iconv_close(cd);], - am_cv_func_iconv=yes) - if test "$am_cv_func_iconv" != yes; then - am_save_LIBS="$LIBS" - LIBS="$LIBS -liconv" - AC_TRY_LINK([#include -#include ], - [iconv_t cd = iconv_open("",""); - iconv(cd,NULL,NULL,NULL,NULL); - iconv_close(cd);], - am_cv_lib_iconv=yes - am_cv_func_iconv=yes) - LIBS="$am_save_LIBS" - fi - # Look for libiconv in the build tree. - if test "$am_cv_func_iconv" != yes && test -d ../libiconv; then - am_save_LIBS="$LIBS" - am_save_CPPFLAGS="$CPPFLAGS" - LIBS="$LIBS $BUILD_LIBICONV_LIBDIR -liconv" - CPPFLAGS="$CPPFLAGS $BUILD_LIBICONV_INCLUDE" - AC_TRY_LINK([#include -#include ], - [iconv_t cd = iconv_open("",""); - iconv(cd,NULL,NULL,NULL,NULL); - iconv_close(cd);], - am_cv_lib_iconv=yes - am_cv_func_iconv=yes) - LIBS="$am_save_LIBS" - CPPFLAGS="$am_save_CPPFLAGS" - fi - ]) - LIBICONV= - if test "$am_cv_lib_iconv" = yes; then - LIBICONV="-liconv" - fi - if test "$am_cv_use_build_libiconv" = yes; then - LIBICONV_LIBDIR="$BUILD_LIBICONV_LIBDIR" - LIBICONV_INCLUDE="$BUILD_LIBICONV_INCLUDE" - fi - CPPFLAGS="$CPPFLAGS $LIBICONV_INCLUDE" - LIBS="$LIBS $LIBICONV_LIBDIR $LIBICONV" - if test "$am_cv_func_iconv" = yes; then - AC_DEFINE(HAVE_ICONV, 1, [Define if you have the iconv() function.]) - AC_MSG_CHECKING([for iconv declaration]) - AC_CACHE_VAL(am_cv_proto_iconv, [ - AC_TRY_COMPILE([ -#include -#include -extern -#ifdef __cplusplus -"C" -#endif -#if defined(__STDC__) || defined(__cplusplus) -size_t iconv (iconv_t cd, char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft); -#else -size_t iconv(); -#endif -], [], am_cv_proto_iconv_arg1="", am_cv_proto_iconv_arg1="const") - am_cv_proto_iconv="extern size_t iconv (iconv_t cd, $am_cv_proto_iconv_arg1 char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);"]) - am_cv_proto_iconv=`echo "[$]am_cv_proto_iconv" | tr -s ' ' | sed -e 's/( /(/'` - AC_MSG_RESULT([$]{ac_t:- - }[$]am_cv_proto_iconv) - AC_DEFINE_UNQUOTED(ICONV_CONST, $am_cv_proto_iconv_arg1, - [Define as const if the declaration of iconv() needs const.]) - fi -]) - dnl written by Guido Draheim , original by Alexandre Oliva dnl Version 1.3 (2001/03/02) dnl source http://www.gnu.org/software/ac-archive/Miscellaneous/ac_define_dir.html @@ -368,3 +291,150 @@ AC_DEFUN([CY_AC_TK_PRIVATE_HEADERS], [ AC_MSG_RESULT(${private_dir}) fi ]) + +dnl GDB_AC_DEFINE_RELOCATABLE([VARIABLE], [ARG-NAME], [SHELL-VARIABLE]) +dnl For use in processing directory values for --with-foo. +dnl If the path in SHELL_VARIABLE is relative to the prefix, then the +dnl result is relocatable, then this will define the C macro +dnl VARIABLE_RELOCATABLE to 1; otherwise it is defined as 0. +AC_DEFUN([GDB_AC_DEFINE_RELOCATABLE], [ + if test "x$exec_prefix" = xNONE || test "x$exec_prefix" = 'x${prefix}'; then + if test "x$prefix" = xNONE; then + test_prefix=/usr/local + else + test_prefix=$prefix + fi + else + test_prefix=$exec_prefix + fi + value=0 + case [$3] in + "${test_prefix}"|"${test_prefix}/"*|\ + '${exec_prefix}'|'${exec_prefix}/'*) + value=1 + ;; + esac + AC_DEFINE_UNQUOTED([$1]_RELOCATABLE, $value, [Define if the $2 directory should be relocated when GDB is moved.]) +]) + +dnl GDB_AC_WITH_DIR([VARIABLE], [ARG-NAME], [HELP], [DEFAULT]) +dnl Add a new --with option that defines a directory. +dnl The result is stored in VARIABLE. AC_DEFINE_DIR is called +dnl on this variable, as is AC_SUBST. +dnl ARG-NAME is the base name of the argument (without "--with"). +dnl HELP is the help text to use. +dnl If the user's choice is relative to the prefix, then the +dnl result is relocatable, then this will define the C macro +dnl VARIABLE_RELOCATABLE to 1; otherwise it is defined as 0. +dnl DEFAULT is the default value, which is used if the user +dnl does not specify the argument. +AC_DEFUN([GDB_AC_WITH_DIR], [ + AC_ARG_WITH([$2], AS_HELP_STRING([--with-][$2][=PATH], [$3]), [ + [$1]=$withval], [[$1]=[$4]]) + AC_DEFINE_DIR([$1], [$1], [$3]) + 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" + ZLIBDIR=`echo $zlibdir | sed 's,\$(top_builddir)/,,g'` + LDFLAGS="-L../bfd -L../libiberty $ZLIBDIR $LDFLAGS" + intl=`echo $LIBINTL | sed 's,${top_builddir}/,,g'` + LIBS="-lbfd -liberty -lz $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 --variable guild $2`" + + # 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 --variable exec_prefix $2`" + 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]) +])