]> git.ipfire.org Git - thirdparty/binutils-gdb.git/blobdiff - bfd/configure.in
ChangeLog:
[thirdparty/binutils-gdb.git] / bfd / configure.in
index 229893ec83bea66847be5c62ee00929e6c0d83a3..3949e3a6d9d5a86bdf02b0088dbcf17c83ae5c9a 100644 (file)
@@ -1,13 +1,14 @@
 dnl Process this file with autoconf to produce a configure script.
 dnl
 
-AC_PREREQ(2.13)
-AC_INIT(libbfd.c)
+AC_PREREQ(2.59)
+AC_INIT
+AC_CONFIG_SRCDIR([libbfd.c])
 
-AC_CANONICAL_SYSTEM
+AC_CANONICAL_TARGET
 AC_ISC_POSIX
 
-AM_INIT_AUTOMAKE(bfd, 2.15.91)
+AM_INIT_AUTOMAKE(bfd, 2.16.91)
 
 dnl These must be called before AM_PROG_LIBTOOL, because it may want
 dnl to call AC_CHECK_PROG.
@@ -30,7 +31,7 @@ esac],[want64=false])dnl
 AC_ARG_ENABLE(targets,
 [  --enable-targets        alternative target configurations],
 [case "${enableval}" in
-  yes | "") AC_ERROR(enable-targets option must specify target names or 'all')
+  yes | "") AC_MSG_ERROR([enable-targets option must specify target names or 'all'])
             ;;
   no)       enable_targets= ;;
   *)        enable_targets=$enableval ;;
@@ -50,26 +51,19 @@ AC_ARG_WITH(mmap,
   *)    AC_MSG_ERROR(bad value ${withval} for BFD with-mmap option) ;;
 esac],[want_mmap=false])dnl
 
-build_warnings="-W -Wall -Wstrict-prototypes -Wmissing-prototypes"
-AC_ARG_ENABLE(build-warnings,
-[  --enable-build-warnings Enable build-time compiler warnings if gcc is used],
+AC_ARG_ENABLE(secureplt,
+[  --enable-secureplt      Default to creating read-only plt entries],
 [case "${enableval}" in
-  yes) ;;
-  no)  build_warnings="-w";;
-  ,*)   t=`echo "${enableval}" | sed -e "s/,/ /g"`
-        build_warnings="${build_warnings} ${t}";;
-  *,)   t=`echo "${enableval}" | sed -e "s/,/ /g"`
-        build_warnings="${t} ${build_warnings}";;
-  *)    build_warnings=`echo "${enableval}" | sed -e "s/,/ /g"`;;
-esac
-if test x"$silent" != x"yes" && test x"$build_warnings" != x""; then
-  echo "Setting warning flags = $build_warnings" 6>&1
-fi])dnl
-WARN_CFLAGS=""
-if test "x${build_warnings}" != x && test "x$GCC" = xyes ; then
-    WARN_CFLAGS="${build_warnings}"
+  yes)  use_secureplt=true  ;;
+  no)   use_secureplt=false ;;
+  *)    AC_MSG_ERROR(bad value ${enableval} for secureplt option) ;;
+esac],[use_secureplt=false])dnl
+if test $use_secureplt = true; then
+  AC_DEFINE(USE_SECUREPLT, 1,
+    [Define if we should default to creating read-only plt entries])
 fi
-AC_SUBST(WARN_CFLAGS)
+
+AM_BINUTILS_WARNINGS
 
 AM_CONFIG_HEADER(config.h:config.in)
 
@@ -88,8 +82,9 @@ bfd_default_target_size=32
 # host stuff:
 
 AC_PROG_CC
+AC_GNU_SOURCE
 
-ALL_LINGUAS="fr tr ja es sv da zh_CN ro"
+ALL_LINGUAS="fr tr ja es sv da zh_CN ro rw vi"
 CY_GNU_GETTEXT
 
 # Permit host specific settings.
@@ -106,16 +101,14 @@ BFD_HOST_U_64_BIT=
 
 AC_MSG_CHECKING([for long long])
 AC_CACHE_VAL(bfd_cv_has_long_long,
-[AC_TRY_COMPILE(,
-[unsigned long long ll = 18446744073709551615ULL;],
-bfd_cv_has_long_long=yes, bfd_cv_has_long_long=no)])
+[AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[]], [[unsigned long long ll = 18446744073709551615ULL;]])],[bfd_cv_has_long_long=yes],[bfd_cv_has_long_long=no])])
 AC_MSG_RESULT($bfd_cv_has_long_long)
 if test $bfd_cv_has_long_long = yes; then
   BFD_HOST_LONG_LONG=1
-  AC_COMPILE_CHECK_SIZEOF(long long)
+  AC_CHECK_SIZEOF(long long)
 fi
 
-AC_COMPILE_CHECK_SIZEOF(long)
+AC_CHECK_SIZEOF(long)
 if test "x${ac_cv_sizeof_long}" = "x8"; then
   host64=true
   BFD_HOST_64BIT_LONG=1
@@ -144,16 +137,27 @@ AC_CHECK_HEADERS(stddef.h string.h strings.h stdlib.h time.h unistd.h)
 AC_CHECK_HEADERS(fcntl.h sys/file.h sys/time.h)
 AC_HEADER_TIME
 AC_HEADER_DIRENT
+ACX_HEADER_STRING
 AC_CHECK_FUNCS(fcntl getpagesize setitimer sysconf fdopen getuid getgid)
 AC_CHECK_FUNCS(strtoull)
 
+AC_CHECK_DECLS(basename)
+AC_CHECK_DECLS(ftello)
+AC_CHECK_DECLS(ftello64)
+AC_CHECK_DECLS(fseeko)
+AC_CHECK_DECLS(fseeko64)
+
 BFD_BINARY_FOPEN
 
-BFD_NEED_DECLARATION(strstr)
-BFD_NEED_DECLARATION(malloc)
-BFD_NEED_DECLARATION(realloc)
-BFD_NEED_DECLARATION(free)
-BFD_NEED_DECLARATION(getenv)
+AC_CHECK_DECLS(ffs)
+AC_CHECK_DECLS(free)
+AC_CHECK_DECLS(getenv)
+AC_CHECK_DECLS(malloc)
+AC_CHECK_DECLS(realloc)
+AC_CHECK_DECLS(stpcpy)
+AC_CHECK_DECLS(strstr)
+AC_CHECK_DECLS(snprintf)
+AC_CHECK_DECLS(vsnprintf)
 
 # If we are configured native, pick a core file support file.
 COREFILE=
@@ -164,7 +168,7 @@ if test "${target}" = "${host}"; then
   alpha*-*-freebsd* | alpha*-*-kfreebsd*-gnu)
        COREFILE=''
        ;;
-  alpha*-*-linux-gnu*)
+  alpha*-*-linux-*)
        COREFILE=trad-core.lo
        TRAD_HEADER='"hosts/alphalinux.h"'
        ;;
@@ -249,7 +253,7 @@ changequote([,])dnl
        TRAD_HEADER='"hosts/i386mach3.h"'
        ;;
 changequote(,)dnl
-  i[3-7]86-*-linux-gnu*)
+  i[3-7]86-*-linux-*)
 changequote([,])dnl
        COREFILE=trad-core.lo
        TRAD_HEADER='"hosts/i386linux.h"'
@@ -290,7 +294,7 @@ changequote([,])dnl
        COREFILE=trad-core.lo
        TRAD_HEADER='"hosts/hp300bsd.h"'
        ;;
-  m68*-*-linux-gnu*)
+  m68*-*-linux-*)
        COREFILE=trad-core.lo
        TRAD_HEADER='"hosts/m68klinux.h"'
        ;;
@@ -343,9 +347,7 @@ changequote([,])dnl
        # Not all versions of AIX with -DAIX_CORE_DUMPX_CORE
        # have c_impl as a member of struct core_dumpx
        AC_MSG_CHECKING([for c_impl in struct core_dumpx])
-       AC_TRY_COMPILE([#include <core.h>],
-         [struct core_dumpx c; c.c_impl = 0;],
-         [AC_DEFINE(HAVE_ST_C_IMPL, 1,
+       AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <core.h>]], [[struct core_dumpx c; c.c_impl = 0;]])],[AC_DEFINE(HAVE_ST_C_IMPL, 1,
            [Define if struct core_dumpx has member c_impl])
          AC_MSG_RESULT(yes)],[AC_MSG_RESULT(no)])
        ;;
@@ -378,7 +380,7 @@ changequote([,])dnl
        COREFILE=trad-core.lo
        TRAD_HEADER='"hosts/vaxult2.h"'
        ;;
-  vax-*-linux-gnu*)
+  vax-*-linux-*)
        COREFILE=trad-core.lo
        TRAD_HEADER='"hosts/vaxlinux.h"'
        ;;
@@ -558,6 +560,7 @@ do
     # This list is alphabetized to make it easy to compare
     # with the two vector lists in targets.c.  For the same reason,
     # use one entry per line, even though this leads to long lines.
+    bfd_elf32_m32c_vec)         tb="$tb elf32-m32c.lo elf32.lo $elf" ;;
     a29kcoff_big_vec)          tb="$tb coff-a29k.lo cofflink.lo" ;;
     a_out_adobe_vec)           tb="$tb aout-adobe.lo aout32.lo" ;;
     aix5coff64_vec)            tb="$tb coff64-rs6000.lo xcofflink.lo aix5ppc-core.lo"; target_size=64 ;;
@@ -584,8 +587,11 @@ do
     bfd_elf32_avr_vec)         tb="$tb elf32-avr.lo elf32.lo $elf" ;;
     bfd_elf32_big_generic_vec)         tb="$tb elf32-gen.lo elf32.lo $elf" ;;
     bfd_elf32_bigarc_vec)      tb="$tb elf32-arc.lo elf32.lo $elf" ;;
-    bfd_elf32_bigarm_oabi_vec) tb="$tb elfarm-oabi.lo elf32.lo $elf" ;;
-    bfd_elf32_bigarm_vec)      tb="$tb elfarm-nabi.lo elf32.lo $elf" ;;
+    bfd_elf32_bigarm_vec)      tb="$tb elf32-arm.lo elf32.lo $elf" ;;
+    bfd_elf32_bigarm_symbian_vec)      
+                                tb="$tb elf32-arm.lo elf32.lo $elf" ;;
+    bfd_elf32_bigarm_vxworks_vec)      
+                                tb="$tb elf32-arm.lo elf32.lo $elf" ;;
     bfd_elf32_bigmips_vec)     tb="$tb elf32-mips.lo elfxx-mips.lo elf32.lo $elf ecofflink.lo" ;;
     bfd_elf32_cr16c_vec)       tb="$tb elf32-cr16c.lo elf32.lo $elf" ;;
     bfd_elf32_cris_vec)                tb="$tb elf32-cris.lo elf32.lo $elf" ;;
@@ -598,10 +604,12 @@ do
     bfd_elf32_frvfdpic_vec)    tb="$tb elf32-frv.lo elf32.lo $elf" ;;
     bfd_elf32_h8300_vec)       tb="$tb elf32-h8300.lo elf32.lo $elf" ;;
     bfd_elf32_hppa_linux_vec)  tb="$tb elf32-hppa.lo elf32.lo $elf" ;;
+    bfd_elf32_hppa_nbsd_vec)   tb="$tb elf32-hppa.lo elf32.lo $elf" ;;
     bfd_elf32_hppa_vec)                tb="$tb elf32-hppa.lo elf32.lo $elf" ;;
     bfd_elf32_i370_vec)                tb="$tb elf32-i370.lo elf32.lo $elf" ;;
-    bfd_elf32_i386_freebsd_vec)        tb="$tb elf32-i386.lo elf32.lo $elf" ;;
-    bfd_elf32_i386_vec)                tb="$tb elf32-i386.lo elf32.lo $elf" ;;
+    bfd_elf32_i386_freebsd_vec)        tb="$tb elf32-i386.lo elf-vxworks.lo elf32.lo $elf" ;;
+    bfd_elf32_i386_vxworks_vec)        tb="$tb elf32-i386.lo elf-vxworks.lo elf32.lo $elf" ;;
+    bfd_elf32_i386_vec)                tb="$tb elf32-i386.lo elf-vxworks.lo elf32.lo $elf" ;;
     bfd_elf32_i860_little_vec) tb="$tb elf32-i860.lo elf32.lo $elf" ;;
     bfd_elf32_i860_vec)                tb="$tb elf32-i860.lo elf32.lo $elf" ;;
     bfd_elf32_i960_vec)                tb="$tb elf32-i960.lo elf32.lo $elf" ;;
@@ -611,8 +619,11 @@ do
     bfd_elf32_iq2000_vec)       tb="$tb elf32-iq2000.lo elf32.lo $elf" ;;
     bfd_elf32_little_generic_vec) tb="$tb elf32-gen.lo elf32.lo $elf" ;;
     bfd_elf32_littlearc_vec)   tb="$tb elf32-arc.lo elf32.lo $elf" ;;
-    bfd_elf32_littlearm_oabi_vec) tb="$tb elfarm-oabi.lo elf32.lo $elf" ;;
-    bfd_elf32_littlearm_vec)   tb="$tb elfarm-nabi.lo elf32.lo $elf" ;;
+    bfd_elf32_littlearm_symbian_vec)
+                                tb="$tb elf32-arm.lo elf32.lo $elf" ;;
+    bfd_elf32_littlearm_vxworks_vec)
+                                tb="$tb elf32-arm.lo elf32.lo $elf" ;;
+    bfd_elf32_littlearm_vec)   tb="$tb elf32-arm.lo elf32.lo $elf" ;;
     bfd_elf32_littlemips_vec)  tb="$tb elf32-mips.lo elfxx-mips.lo elf32.lo $elf ecofflink.lo" ;;
     bfd_elf32_m32r_vec)                tb="$tb elf32-m32r.lo elf32.lo $elf" ;;
     bfd_elf32_m32rle_vec)       tb="$tb elf32-m32r.lo elf32.lo $elf" ;;
@@ -626,6 +637,7 @@ do
     bfd_elf32_mcore_little_vec)        tb="$tb elf32-mcore.lo elf32.lo $elf" ;;
     bfd_elf32_mn10200_vec)     tb="$tb elf-m10200.lo elf32.lo $elf" ;;
     bfd_elf32_mn10300_vec)     tb="$tb elf-m10300.lo elf32.lo $elf" ;;
+    bfd_elf32_ms1_vec)          tb="$tb elf32-ms1.lo elf32.lo $elf" ;;
     bfd_elf32_msp430_vec)      tb="$tb elf32-msp430.lo elf32.lo $elf" ;;
     bfd_elf32_nbigmips_vec)    tb="$tb elfn32-mips.lo elfxx-mips.lo elf32.lo $elf ecofflink.lo"; target_size=64 ;;
     bfd_elf32_nlittlemips_vec) tb="$tb elfn32-mips.lo elfxx-mips.lo elf32.lo $elf ecofflink.lo"; target_size=64 ;;
@@ -635,8 +647,9 @@ do
     bfd_elf32_or32_big_vec)    tb="$tb elf32-or32.lo elf32.lo $elf" ;;
     bfd_elf32_pj_vec)           tb="$tb elf32-pj.lo elf32.lo $elf";;
     bfd_elf32_pjl_vec)          tb="$tb elf32-pj.lo elf32.lo $elf";;
-    bfd_elf32_powerpc_vec)     tb="$tb elf32-ppc.lo elf32.lo $elf" ;;
-    bfd_elf32_powerpcle_vec)   tb="$tb elf32-ppc.lo elf32.lo $elf" ;;
+    bfd_elf32_powerpc_vec)     tb="$tb elf32-ppc.lo elf-vxworks.lo elf32.lo $elf" ;;
+    bfd_elf32_powerpcle_vec)   tb="$tb elf32-ppc.lo elf-vxworks.lo elf32.lo $elf" ;;
+    bfd_elf32_powerpc_vxworks_vec) tb="$tb elf32-ppc.lo elf-vxworks.lo elf32.lo $elf" ;;
     bfd_elf32_s390_vec)                tb="$tb elf32-s390.lo elf32.lo $elf" ;;
     # FIXME: We include cofflink.lo not because it's needed for
     # bfd_elf32_sh64[l]_vec, but because we include bfd_elf32_sh[l]_vec
@@ -654,7 +667,7 @@ do
     bfd_elf32_shlin_vec)       tb="$tb elf32-sh.lo elf32.lo $elf coff-sh.lo cofflink.lo" ;;
     bfd_elf32_shlnbsd_vec)     tb="$tb elf32-sh.lo elf32.lo $elf coff-sh.lo cofflink.lo" ;;
     bfd_elf32_shnbsd_vec)      tb="$tb elf32-sh.lo elf32.lo $elf coff-sh.lo cofflink.lo" ;;
-    bfd_elf32_sparc_vec)       tb="$tb elf32-sparc.lo elf32.lo $elf" ;;
+    bfd_elf32_sparc_vec)       tb="$tb elf32-sparc.lo elfxx-sparc.lo elf32.lo $elf" ;;
     bfd_elf32_tradbigmips_vec)  tb="$tb elf32-mips.lo elfxx-mips.lo elf32.lo $elf ecofflink.lo" ;;
     bfd_elf32_tradlittlemips_vec) tb="$tb elf32-mips.lo elfxx-mips.lo elf32.lo $elf ecofflink.lo" ;;
     bfd_elf32_us_cris_vec)     tb="$tb elf32-cris.lo elf32.lo $elf" ;;
@@ -684,7 +697,7 @@ do
     bfd_elf64_sh64blin_vec)    tb="$tb elf64-sh64.lo elf64.lo $elf" target_size=64 ;;
     bfd_elf64_sh64lnbsd_vec)   tb="$tb elf64-sh64.lo elf64.lo $elf" target_size=64 ;;
     bfd_elf64_sh64nbsd_vec)    tb="$tb elf64-sh64.lo elf64.lo $elf" target_size=64 ;;
-    bfd_elf64_sparc_vec)       tb="$tb elf64-sparc.lo elf64.lo $elf"; target_size=64 ;;
+    bfd_elf64_sparc_vec)       tb="$tb elf64-sparc.lo elfxx-sparc.lo elf64.lo $elf"; target_size=64 ;;
     bfd_elf64_tradbigmips_vec) tb="$tb elf64-mips.lo elf64.lo elfxx-mips.lo elf32.lo $elf ecofflink.lo"; target_size=64 ;;
     bfd_elf64_tradlittlemips_vec) tb="$tb elf64-mips.lo elf64.lo elfxx-mips.lo elf32.lo $elf ecofflink.lo"; target_size=64 ;;
     bfd_elf64_x86_64_vec)      tb="$tb elf64-x86-64.lo elf64.lo $elf"; target_size=64 ;;
@@ -736,6 +749,7 @@ do
     m88kbcs_vec)               tb="$tb coff-m88k.lo" ;;
     m88kmach3_vec)             tb="$tb m88kmach3.lo aout32.lo" ;;
     m88kopenbsd_vec)           tb="$tb m88kopenbsd.lo aout32.lo" ;;
+    maxqcoff_vec)               tb="$tb coff-maxq.lo" ;;
     mach_o_be_vec)              tb="$tb mach-o.lo" ;;
     mach_o_le_vec)              tb="$tb mach-o.lo" ;;
     mach_o_fat_vec)             tb="$tb mach-o.lo" ;;
@@ -885,7 +899,7 @@ case ${host64}-${target64}-${want64} in
                    AC_MSG_RESULT([yes: egcs-1.1.2 on ix86 spotted]),
                    AC_MSG_RESULT(no))
        if test $bad_64bit_gcc = yes ; then
-        AC_ERROR([A newer version of gcc is needed for the requested 64-bit BFD configuration])
+        AC_MSG_ERROR([A newer version of gcc is needed for the requested 64-bit BFD configuration])
        fi
     fi
     ;;
@@ -910,7 +924,7 @@ AC_SUBST(bfd_default_target_size)
 # upward compatible.
 AC_CHECK_FUNCS(ftello ftello64 fseeko fseeko64)
 if test x"$ac_cv_func_ftello" = xyes -a x"$ac_cv_func_fseeko" = xyes; then
-    AC_COMPILE_CHECK_SIZEOF(off_t)
+    AC_CHECK_SIZEOF(off_t)
 fi
 AC_MSG_CHECKING([file_ptr type])
 bfd_file_ptr="long"
@@ -941,6 +955,7 @@ case ${want_mmap}+${ac_cv_func_mmap_fixed_mapped} in
 esac
 
 rm -f doc/config.status
-AC_OUTPUT(Makefile doc/Makefile bfd-in3.h:bfd-in2.h po/Makefile.in:po/Make-in,
-[sed -e '/SRC-POTFILES =/r po/SRC-POTFILES' -e '/BLD-POTFILES =/r po/BLD-POTFILES' po/Makefile.in > po/Makefile])
+AC_CONFIG_FILES([Makefile doc/Makefile bfd-in3.h:bfd-in2.h po/Makefile.in:po/Make-in])
+AC_CONFIG_COMMANDS([default],[[sed -e '/SRC-POTFILES =/r po/SRC-POTFILES' -e '/BLD-POTFILES =/r po/BLD-POTFILES' po/Makefile.in > po/Makefile]],[[]])
+AC_OUTPUT