X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=ld%2Fconfigure.ac;h=8ea97c43cd42f670f2c24cc9a66807f41960243b;hb=7c80aab93666727965c2d5d6e17b1338d88293e0;hp=5ef25e3eb88aba0e55e6cbb60c9789f031063e19;hpb=7cdfc3462fbbb27727ddd83d356cf79af8854740;p=binutils-gdb.git diff --git a/ld/configure.ac b/ld/configure.ac index 5ef25e3eb88..8ea97c43cd4 100644 --- a/ld/configure.ac +++ b/ld/configure.ac @@ -1,6 +1,6 @@ dnl Process this file with autoconf to produce a configure script dnl -dnl Copyright (C) 2012-2020 Free Software Foundation, Inc. +dnl Copyright (C) 2012-2021 Free Software Foundation, Inc. dnl dnl This file is free software; you can redistribute it and/or modify dnl it under the terms of the GNU General Public License as published by @@ -23,7 +23,6 @@ AC_CONFIG_SRCDIR(ldmain.c) AC_CANONICAL_TARGET AC_CANONICAL_BUILD -AC_ISC_POSIX AM_INIT_AUTOMAKE AM_MAINTAINER_MODE @@ -38,6 +37,19 @@ AC_PROG_INSTALL LT_INIT ACX_LARGEFILE +ac_checking= +. ${srcdir}/../bfd/development.sh +test "$development" = true && ac_checking=yes +AC_ARG_ENABLE(checking, +[ --enable-checking enable run-time checks], +[case "${enableval}" in + no|none) ac_checking= ;; + *) ac_checking=yes ;; +esac])dnl +if test x$ac_checking != x ; then + AC_DEFINE(ENABLE_CHECKING, 1, [Define if you want run-time sanity checks.]) +fi + AC_ARG_WITH(lib-path, [ --with-lib-path=dir1:dir2... set default LIB_PATH],LIB_PATH=$withval) AC_ARG_ENABLE(targets, [ --enable-targets alternative target configurations], @@ -195,6 +207,16 @@ AC_ARG_ENABLE(separate-code, no) ac_default_ld_z_separate_code=0 ;; esac]) +# Decide if --error-handling-script should be supported. +ac_support_error_handling_script=unset +AC_ARG_ENABLE(error-handling-script, + AS_HELP_STRING([--enable-error-handling-script], + [enable/disable support for the --error-handling-script option]), +[case "${enableval}" in + yes) ac_support_error_handling_script=1 ;; + no) ac_support_error_handling_script=0 ;; +esac]) + # Decide which "--hash-style" to use by default # Provide a configure time option to override our default. AC_ARG_ENABLE([default-hash-style], @@ -221,6 +243,18 @@ case "${enable_default_hash_style}" in *) ac_default_emit_gnu_hash=0 ;; esac +AC_ARG_ENABLE(initfini-array, +[ --disable-initfini-array do not use .init_array/.fini_array sections], +[case "${enableval}" in + yes|no) ;; + *) AC_MSG_ERROR([invalid --enable-initfini-array argument]) ;; + esac], [enable_initfini_array=yes]) +AC_SUBST(enable_initfini_array) +if test $enable_initfini_array = yes; then + AC_DEFINE(HAVE_INITFINI_ARRAY, 1, + [Define .init_array/.fini_array sections are available and working.]) +fi + GCC_ENABLE([libctf], [yes], [], [Handle .ctf type-info sections]) if test "${enable_libctf}" = yes; then AC_DEFINE(ENABLE_LIBCTF, 1, [Handle .ctf type-info sections]) @@ -270,30 +304,25 @@ ACX_PROG_CMP_IGNORE_INITIAL AC_SUBST(HDEFINES) AC_SUBST(NATIVE_LIB_DIRS) -AC_CHECK_HEADERS(string.h strings.h stdlib.h unistd.h elf-hints.h limits.h locale.h sys/param.h) -AC_CHECK_HEADERS(fcntl.h sys/file.h sys/time.h sys/stat.h) -ACX_HEADER_STRING -AC_CHECK_FUNCS(glob mkstemp realpath sbrk setlocale waitpid) -AC_CHECK_FUNCS(open lseek close) -AC_HEADER_DIRENT +# We use headers from include/ that check various HAVE_*_H macros, thus +# should ensure they are set by configure. This is true even when C99 +# guarantees they are available. +# sha1.h and md4.h test HAVE_LIMITS_H, HAVE_SYS_TYPES_H and HAVE_STDINT_H +# plugin-api.h tests HAVE_STDINT_H and HAVE_INTTYPES_H +# Besides those, we need to check anything used in ld/ not in C99. +AC_CHECK_HEADERS(fcntl.h elf-hints.h limits.h inttypes.h stdint.h \ + sys/file.h sys/mman.h sys/param.h sys/stat.h sys/time.h \ + sys/types.h unistd.h) +AC_CHECK_FUNCS(close glob lseek mkstemp open realpath sbrk waitpid) + +BFD_BINARY_FOPEN + +AC_CHECK_DECLS([asprintf, environ, sbrk]) -dnl AC_CHECK_HEADERS(sys/mman.h) AC_FUNC_MMAP AC_SEARCH_LIBS([dlopen], [dl]) -AC_ARG_ENABLE(initfini-array, -[ --disable-initfini-array do not use .init_array/.fini_array sections], -[case "${enableval}" in - yes|no) ;; - *) AC_MSG_ERROR([invalid --enable-initfini-array argument]) ;; - esac], [enable_initfini_array=yes]) -AC_SUBST(enable_initfini_array) -if test $enable_initfini_array = yes; then - AC_DEFINE(HAVE_INITFINI_ARRAY, 1, - [Define .init_array/.fini_array sections are available and working.]) -fi - AC_MSG_CHECKING(for a known getopt prototype in unistd.h) AC_CACHE_VAL(ld_cv_decl_getopt_unistd_h, [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([#include ], [extern int getopt (int, char *const*, const char *);])], @@ -304,10 +333,6 @@ if test $ld_cv_decl_getopt_unistd_h = yes; then [Is the prototype for getopt in in the expected format?]) fi -BFD_BINARY_FOPEN - -AC_CHECK_DECLS([strstr, free, sbrk, getenv, environ]) - # Link in zlib if we can. This allows us to read and write # compressed CTF sections. AM_ZLIB @@ -349,16 +374,16 @@ if test x${want64} = xfalse; then fi fi -elf_list_options=FALSE -elf_shlib_list_options=FALSE -elf_plt_unwind_list_options=FALSE +elf_list_options=false +elf_shlib_list_options=false +elf_plt_unwind_list_options=false for targ_alias in `echo $target_alias $enable_targets | sed 's/,/ /g'` do if test "$targ_alias" = "all"; then all_targets=true - elf_list_options=TRUE - elf_shlib_list_options=TRUE - elf_plt_unwind_list_options=TRUE + elf_list_options=true + elf_shlib_list_options=true + elf_plt_unwind_list_options=true else # Canonicalize the secondary target names. result=`$ac_config_sub $targ_alias 2>/dev/null` @@ -394,25 +419,25 @@ do tdir_$i=$result" case "${i}" in *elf*) - elf_list_options=TRUE + elf_list_options=true ;; *) if $GREP "TEMPLATE_NAME=elf" ${srcdir}/emulparams/${i}.sh >/dev/null 2>/dev/null; then - elf_list_options=TRUE + elf_list_options=true fi ;; esac - if test "$elf_list_options" = "TRUE"; then + if test "$elf_list_options" = "true"; then source_sh() { . $1 } source_sh ${srcdir}/emulparams/${i}.sh if test x${GENERATE_SHLIB_SCRIPT} = xyes; then - elf_shlib_list_options=TRUE + elf_shlib_list_options=true fi if test x${PLT_UNWIND} = xyes; then - elf_plt_unwind_list_options=TRUE + elf_plt_unwind_list_options=true fi fi ;; @@ -489,6 +514,13 @@ AC_DEFINE_UNQUOTED(DEFAULT_LD_Z_SEPARATE_CODE, $ac_default_ld_z_separate_code, [Define to 1 if you want to enable -z separate-code in ELF linker by default.]) +if test "${ac_support_error_handling_script}" = unset; then + ac_support_error_handling_script=1 +fi +AC_DEFINE_UNQUOTED(SUPPORT_ERROR_HANDLING_SCRIPT, + $ac_support_error_handling_script, + [Define to 1 if you want to support the --error-handling-script command line option.]) + AC_DEFINE_UNQUOTED([DEFAULT_EMIT_SYSV_HASH], [$ac_default_emit_sysv_hash], [Define to 1 if you want to emit sysv hash in the ELF linker by default.]) @@ -580,3 +612,5 @@ AC_SUBST(pdfdir) AC_CONFIG_FILES(Makefile po/Makefile.in:po/Make-in) AC_OUTPUT + +GNU_MAKE_JOBSERVER