X-Git-Url: http://git.efficios.com/?a=blobdiff_plain;f=ld%2Fconfigure.ac;h=b5e849d84abc5eef74a4ad2b72028adfb7e1e5dd;hb=5e2ab6125485bede5611187f2df4b26b04026b80;hp=d17281f0a0cb42ab22b5edfb33467bb9463a789d;hpb=88ba72a2dfae2e71e3b0798ac74c6853749fd502;p=deliverable%2Fbinutils-gdb.git diff --git a/ld/configure.ac b/ld/configure.ac index d17281f0a0..b5e849d84a 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-2016 Free Software Foundation, Inc. +dnl Copyright (C) 2012-2020 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 @@ -17,7 +17,6 @@ dnl along with this program; see the file COPYING3. If not see dnl . dnl -AC_PREREQ(2.59) m4_include([../bfd/version.m4]) AC_INIT([ld], BFD_VERSION) AC_CONFIG_SRCDIR(ldmain.c) @@ -44,7 +43,7 @@ AC_ARG_ENABLE(targets, [ --enable-targets alternative target configurations], [case "${enableval}" in yes | "") AC_MSG_ERROR(enable-targets option must specify target names or 'all') - ;; + ;; no) enable_targets= ;; *) enable_targets=$enableval ;; esac])dnl @@ -120,7 +119,7 @@ AC_SUBST(installed_linker) AC_ARG_ENABLE([got], AS_HELP_STRING([--enable-got=], - [GOT handling scheme (target, single, negative, multigot)]), + [GOT handling scheme (target, single, negative, multigot)]), [case "${enableval}" in target | single | negative | multigot) got_handling=$enableval ;; *) AC_MSG_ERROR(bad value ${enableval} for --enable-got option) ;; @@ -130,16 +129,16 @@ esac], case "${got_handling}" in target) AC_DEFINE([GOT_HANDLING_DEFAULT], [GOT_HANDLING_TARGET_DEFAULT], - [Define to choose default GOT handling scheme]) ;; + [Define to choose default GOT handling scheme]) ;; single) AC_DEFINE([GOT_HANDLING_DEFAULT], [GOT_HANDLING_SINGLE], - [Define to choose default GOT handling scheme]) ;; + [Define to choose default GOT handling scheme]) ;; negative) AC_DEFINE([GOT_HANDLING_DEFAULT], [GOT_HANDLING_NEGATIVE], - [Define to choose default GOT handling scheme]) ;; + [Define to choose default GOT handling scheme]) ;; multigot) AC_DEFINE([GOT_HANDLING_DEFAULT], [GOT_HANDLING_MULTIGOT], - [Define to choose default GOT handling scheme]) ;; + [Define to choose default GOT handling scheme]) ;; *) AC_MSG_ERROR(bad value ${got_handling} for --enable-got option) ;; esac @@ -155,6 +154,17 @@ AC_ARG_ENABLE(compressed_debug_sections, ,no, | ,none,) ac_default_compressed_debug_sections=no ;; esac])dnl +# Decide setting DT_RUNPATH instead of DT_RPATH by default +ac_default_new_dtags=unset +# Provide a configure time option to override our default. +AC_ARG_ENABLE(new_dtags, + AS_HELP_STRING([--enable-new-dtags], + [set DT_RUNPATH instead of DT_RPATH by default])], +[case "${enableval}" in + yes) ac_default_new_dtags=1 ;; + no) ac_default_new_dtags=0 ;; +esac])dnl + # Decide if -z relro should be enabled in ELF linker by default. ac_default_ld_z_relro=unset # Provide a configure time option to override our default. @@ -166,6 +176,42 @@ AC_ARG_ENABLE(relro, no) ac_default_ld_z_relro=0 ;; esac])dnl +# Decide if -z separate-code should be enabled in ELF linker by default. +ac_default_ld_z_separate_code=unset +AC_ARG_ENABLE(separate-code, + AS_HELP_STRING([--enable-separate-code], + [enable -z separate-code in ELF linker by default]), +[case "${enableval}" in + yes) ac_default_ld_z_separate_code=1 ;; + no) ac_default_ld_z_separate_code=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], +AS_HELP_STRING([--enable-default-hash-style={sysv,gnu,both}], + [use this default hash style]), +[case "${enable_default_hash_style}" in + sysv | gnu | both) ;; + *) AC_MSG_ERROR([bad value ${enable_default_hash_style} for enable-default-hash-style option]) ;; +esac], +[case "${target}" in + # Enable gnu hash only on GNU targets, but not mips + mips*-*-*) enable_default_hash_style=sysv ;; + *-*-gnu* | *-*-linux* | *-*-nacl*) enable_default_hash_style=both ;; + *) enable_default_hash_style=sysv ;; +esac]) + +case "${enable_default_hash_style}" in + sysv | both) ac_default_emit_sysv_hash=1 ;; + *) ac_default_emit_sysv_hash=0 ;; +esac + +case "${enable_default_hash_style}" in + gnu | both) ac_default_emit_gnu_hash=1 ;; + *) ac_default_emit_gnu_hash=0 ;; +esac + AM_BINUTILS_WARNINGS AM_LC_MESSAGES @@ -190,7 +236,7 @@ fi # host-specific stuff: -ALL_LINGUAS="fr sv tr es da vi zh_CN zh_TW ga fi id bg it uk" +ALL_LINGUAS="bg da de es fi fr ga id it ja pt_BR ru sr sv tr uk vi zh_CN zh_TW" ZW_GNU_GETTEXT_SISTER_DIR AM_PO_SUBDIRS @@ -206,10 +252,6 @@ ACX_PROG_CMP_IGNORE_INITIAL . ${srcdir}/configure.host AC_SUBST(HDEFINES) -AC_SUBST(HOSTING_CRT0) -AC_SUBST(HOSTING_SCRT0) -AC_SUBST(HOSTING_LIBS) -AC_SUBST(HOSTING_SLIBS) 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) @@ -251,6 +293,10 @@ 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 + # When converting linker scripts into strings for use in emulation # files, use astring.sed if the compiler supports ANSI string # concatenation, or ostring.sed otherwise. This is to support the @@ -277,12 +323,7 @@ EMUL= all_emuls= all_emul_extras= all_libpath= - -dnl We need to get an arbitrary number of tdir definitions into -dnl Makefile. We can't do it using AC_SUBST, because autoconf does -dnl not permit literal newlines in an AC_SUBST variables. So we use a -dnl file. -rm -f tdirs +TDIRS= # If the host is 64-bit, then we enable 64-bit targets by default. # This is consistent with what ../bfd/configure.ac does. @@ -334,19 +375,24 @@ do all_emuls="$all_emuls e${i}.o" eval result=\$tdir_$i test -z "$result" && result=$targ_alias - echo tdir_$i=$result >> tdirs + TDIRS="$TDIRS +tdir_$i=$result" case "${i}" in *elf*) elf_list_options=TRUE ;; *) - if $GREP "TEMPLATE_NAME=elf32" ${srcdir}/emulparams/${i}.sh >/dev/null 2>/dev/null; then + if $GREP "TEMPLATE_NAME=elf" ${srcdir}/emulparams/${i}.sh >/dev/null 2>/dev/null; then elf_list_options=TRUE fi ;; esac if test "$elf_list_options" = "TRUE"; then - . ${srcdir}/emulparams/${i}.sh + source_sh() + { + . $1 + } + source_sh ${srcdir}/emulparams/${i}.sh if test x${GENERATE_SHLIB_SCRIPT} = xyes; then elf_shlib_list_options=TRUE fi @@ -387,6 +433,13 @@ if test x$ac_default_compressed_debug_sections = xyes ; then AC_DEFINE(DEFAULT_FLAG_COMPRESS_DEBUG, 1, [Define if you want compressed debug sections by default.]) fi +if test "${ac_default_new_dtags}" = unset; then + ac_default_new_dtags=0 +fi +AC_DEFINE_UNQUOTED(DEFAULT_NEW_DTAGS, + $ac_default_new_dtags, + [Define to 1 if you want to set DT_RUNPATH instead of DT_RPATH by default.]) + if test "${ac_default_ld_z_relro}" = unset; then ac_default_ld_z_relro=0 fi @@ -394,13 +447,28 @@ AC_DEFINE_UNQUOTED(DEFAULT_LD_Z_RELRO, $ac_default_ld_z_relro, [Define to 1 if you want to enable -z relro in ELF linker by default.]) +if test "${ac_default_ld_z_separate_code}" = unset; then + ac_default_ld_z_separate_code=0 +fi +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.]) + +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.]) + +AC_DEFINE_UNQUOTED([DEFAULT_EMIT_GNU_HASH], + [$ac_default_emit_gnu_hash], + [Define to 1 if you want to emit gnu hash in the ELF linker by default.]) + AC_SUBST(elf_list_options) AC_SUBST(elf_shlib_list_options) AC_SUBST(elf_plt_unwind_list_options) AC_SUBST(EMUL) -TDIRS=tdirs -AC_SUBST_FILE(TDIRS) +AC_SUBST(TDIRS) +AM_SUBST_NOTMAKE(TDIRS) if test x${all_targets} = xtrue; then if test x${want64} = xtrue; then @@ -422,11 +490,14 @@ EMULATION_LIBPATH=$all_libpath AC_SUBST(EMULATION_LIBPATH) if test x${enable_static} = xno; then - TESTBFDLIB="--rpath ../bfd/.libs ../bfd/.libs/libbfd.so" + TESTBFDLIB="-Wl,--rpath,../bfd/.libs ../bfd/.libs/libbfd.so" + TESTCTFLIB="-Wl,--rpath,../libctf/.libs ../libctf/.libs/libctf.so" else TESTBFDLIB="../bfd/.libs/libbfd.a" + TESTCTFLIB="../libctf/.libs/libctf.a" fi AC_SUBST(TESTBFDLIB) +AC_SUBST(TESTCTFLIB) target_vendor=${target_vendor=$host_vendor} case "$target_vendor" in @@ -443,6 +514,26 @@ if test x${EXTRA_SHLIB_EXTENSION} != x ; then [Additional extension a shared object might have.]) fi +AC_CONFIG_COMMANDS([default], +[[ +case "$srcdir" in + .) srcdirpre= ;; + *) srcdirpre='$(srcdir)/' ;; +esac +POFILES= +GMOFILES= +for lang in dummy $OBSOLETE_ALL_LINGUAS; do + if test $lang != dummy; then + POFILES="$POFILES $srcdirpre$lang.po" + GMOFILES="$GMOFILES $srcdirpre$lang.gmo" + fi +done +sed -e '/^SRC-POTFILES =/r po/SRC-POTFILES' \ + -e '/^BLD-POTFILES =/r po/BLD-POTFILES' \ + -e "s,@POFILES@,$POFILES," \ + -e "s,@GMOFILES@,$GMOFILES," \ + po/Makefile.in > po/Makefile]],[[]]) + dnl Required by html, pdf, install-pdf and install-html AC_SUBST(datarootdir) AC_SUBST(docdir)