comparison gcc/configure.ac @ 55:77e2b8dfacca gcc-4.4.5

update it from 4.4.3 to 4.5.0
author ryoma <e075725@ie.u-ryukyu.ac.jp>
date Fri, 12 Feb 2010 23:39:51 +0900
parents 855418dad1a3
children 326d9e06c2e3 b7f97abdc517
comparison
equal deleted inserted replaced
52:c156f1bd5cd9 55:77e2b8dfacca
1 # configure.ac for GCC 1 # configure.ac for GCC
2 # Process this file with autoconf to generate a configuration script. 2 # Process this file with autoconf to generate a configuration script.
3 3
4 # Copyright 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 4 # Copyright 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006,
5 # 2007, 2008 Free Software Foundation, Inc. 5 # 2007, 2008, 2009 Free Software Foundation, Inc.
6 6
7 #This file is part of GCC. 7 #This file is part of GCC.
8 8
9 #GCC is free software; you can redistribute it and/or modify it under 9 #GCC is free software; you can redistribute it and/or modify it under
10 #the terms of the GNU General Public License as published by the Free 10 #the terms of the GNU General Public License as published by the Free
22 22
23 # -------------------------------- 23 # --------------------------------
24 # Initialization and sanity checks 24 # Initialization and sanity checks
25 # -------------------------------- 25 # --------------------------------
26 26
27 AC_PREREQ(2.59) 27 AC_PREREQ(2.64)
28 AC_INIT 28 AC_INIT
29 AC_CONFIG_SRCDIR(tree.c) 29 AC_CONFIG_SRCDIR(tree.c)
30 AC_CONFIG_HEADER(auto-host.h:config.in) 30 AC_CONFIG_HEADER(auto-host.h:config.in)
31 31
32 gcc_version=`cat $srcdir/BASE-VER` 32 gcc_version=`cat $srcdir/BASE-VER`
274 rm -f a.out a.exe b.out 274 rm -f a.out a.exe b.out
275 275
276 # Find the native compiler 276 # Find the native compiler
277 AC_PROG_CC 277 AC_PROG_CC
278 AM_PROG_CC_C_O 278 AM_PROG_CC_C_O
279 AC_PROG_CXX
279 ACX_PROG_GNAT([-I"$srcdir"/ada]) 280 ACX_PROG_GNAT([-I"$srcdir"/ada])
280 281
281 # autoconf is lame and doesn't give us any substitution variable for this. 282 # autoconf is lame and doesn't give us any substitution variable for this.
282 if eval "test \"`echo '$ac_cv_prog_cc_'${ac_cc}_c_o`\" = no"; then 283 if eval "test \"`echo '$ac_cv_prog_cc_'${ac_cc}_c_o`\" = no"; then
283 NO_MINUS_C_MINUS_O=yes 284 NO_MINUS_C_MINUS_O=yes
308 AC_CHECK_SIZEOF(short) 309 AC_CHECK_SIZEOF(short)
309 AC_CHECK_SIZEOF(int) 310 AC_CHECK_SIZEOF(int)
310 AC_CHECK_SIZEOF(long) 311 AC_CHECK_SIZEOF(long)
311 AC_CHECK_TYPES([long long], [AC_CHECK_SIZEOF(long long)]) 312 AC_CHECK_TYPES([long long], [AC_CHECK_SIZEOF(long long)])
312 AC_CHECK_TYPES([__int64], [AC_CHECK_SIZEOF(__int64)]) 313 AC_CHECK_TYPES([__int64], [AC_CHECK_SIZEOF(__int64)])
314 GCC_STDINT_TYPES
313 315
314 # --------------------- 316 # ---------------------
315 # Warnings and checking 317 # Warnings and checking
316 # --------------------- 318 # ---------------------
317 319
321 # * variadic macros 323 # * variadic macros
322 # * overlong strings 324 # * overlong strings
323 # So, we only use -pedantic if we can disable those warnings. 325 # So, we only use -pedantic if we can disable those warnings.
324 326
325 ACX_PROG_CC_WARNING_OPTS( 327 ACX_PROG_CC_WARNING_OPTS(
326 m4_quote(m4_do([-W -Wall -Wwrite-strings -Wstrict-prototypes ], 328 m4_quote(m4_do([-W -Wall -Wwrite-strings -Wcast-qual])), [loose_warn])
327 [-Wmissing-prototypes -Wcast-qual])), [loose_warn])
328 ACX_PROG_CC_WARNING_OPTS( 329 ACX_PROG_CC_WARNING_OPTS(
329 m4_quote(m4_do([-Wold-style-definition -Wc++-compat ], 330 m4_quote(m4_do([-Wstrict-prototypes -Wmissing-prototypes])),
330 [-Wmissing-format-attribute])), [strict_warn]) 331 [c_loose_warn])
332 ACX_PROG_CC_WARNING_OPTS(
333 m4_quote(m4_do([-Wmissing-format-attribute])), [strict_warn])
334 ACX_PROG_CC_WARNING_OPTS(
335 m4_quote(m4_do([-Wold-style-definition -Wc++-compat])), [c_strict_warn])
331 ACX_PROG_CC_WARNING_ALMOST_PEDANTIC( 336 ACX_PROG_CC_WARNING_ALMOST_PEDANTIC(
332 m4_quote(m4_do([-Wno-long-long -Wno-variadic-macros ], 337 m4_quote(m4_do([-Wno-long-long -Wno-variadic-macros ],
333 [-Wno-overlength-strings])), [strict_warn]) 338 [-Wno-overlength-strings])), [strict_warn])
334 ACX_PROG_CC_WARNINGS_ARE_ERRORS([manual], [strict_warn]) 339 ACX_PROG_CC_WARNINGS_ARE_ERRORS([manual], [strict_warn])
335 340
336 # The above macros do nothing if the compiler is not GCC. However, the 341 # The above macros do nothing if the compiler is not GCC. However, the
337 # Makefile has more goo to add other flags, so this variabl is used to 342 # Makefile has more goo to add other flags, so these variables are used
338 # enables warnings only for GCC. 343 # to enable warnings only for GCC.
339 warn_cflags= 344 warn_cflags=
345 warn_cxxflags=
340 if test "x$GCC" = "xyes"; then 346 if test "x$GCC" = "xyes"; then
341 warn_cflags='$(GCC_WARN_CFLAGS)' 347 warn_cflags='$(GCC_WARN_CFLAGS)'
348 warn_cxxflags='$(GCC_WARN_CXXFLAGS)'
342 fi 349 fi
343 AC_SUBST(warn_cflags) 350 AC_SUBST(warn_cflags)
351 AC_SUBST(warn_cxxflags)
344 352
345 # Enable expensive internal checks 353 # Enable expensive internal checks
346 is_release= 354 is_release=
347 if test x"`cat $srcdir/DEV-PHASE`" != xexperimental; then 355 if test x"`cat $srcdir/DEV-PHASE`" != xexperimental; then
348 is_release=yes 356 is_release=yes
571 579
572 # ------------------------------- 580 # -------------------------------
573 # Miscenalleous configure options 581 # Miscenalleous configure options
574 # ------------------------------- 582 # -------------------------------
575 583
584 # See if we are building gcc with C++.
585 AC_ARG_ENABLE(build-with-cxx,
586 [ --enable-build-with-cxx build with C++ compiler instead of C compiler],
587 ENABLE_BUILD_WITH_CXX=$enableval,
588 ENABLE_BUILD_WITH_CXX=no)
589 AC_SUBST(ENABLE_BUILD_WITH_CXX)
590
576 # With stabs 591 # With stabs
577 AC_ARG_WITH(stabs, 592 AC_ARG_WITH(stabs,
578 [ --with-stabs arrange to use stabs instead of host debug format], 593 [ --with-stabs arrange to use stabs instead of host debug format],
579 stabs="$with_stabs", 594 stabs="$with_stabs",
580 stabs=no) 595 stabs=no)
768 ]) 783 ])
769 AC_SUBST(TARGET_SYSTEM_ROOT) 784 AC_SUBST(TARGET_SYSTEM_ROOT)
770 AC_SUBST(TARGET_SYSTEM_ROOT_DEFINE) 785 AC_SUBST(TARGET_SYSTEM_ROOT_DEFINE)
771 AC_SUBST(CROSS_SYSTEM_HEADER_DIR) 786 AC_SUBST(CROSS_SYSTEM_HEADER_DIR)
772 787
788 AC_ARG_WITH(specs,
789 [AS_HELP_STRING([--with-specs=SPECS],
790 [add SPECS to driver command-line processing])],
791 [CONFIGURE_SPECS=$withval],
792 [CONFIGURE_SPECS=]
793 )
794 AC_SUBST(CONFIGURE_SPECS)
795
773 # Build with intermodule optimisations 796 # Build with intermodule optimisations
774 AC_ARG_ENABLE(intermodule, 797 AC_ARG_ENABLE(intermodule,
775 [ --enable-intermodule build the compiler in one step], 798 [ --enable-intermodule build the compiler in one step],
776 [case ${enable_intermodule} in 799 [case ${enable_intermodule} in
777 yes) onestep="-onestep";; 800 yes) onestep="-onestep";;
803 enable_languages=c,${enable_languages} 826 enable_languages=c,${enable_languages}
804 ;; 827 ;;
805 esac], 828 esac],
806 [enable_languages=c]) 829 [enable_languages=c])
807 830
808 # Used by documentation targets 831 AC_ARG_WITH(multilib-list,
809 AC_SUBST(datarootdir) 832 [ --with-multilib-list Select multilibs (SH only)],
810 AC_SUBST(docdir) 833 :,
811 AC_SUBST(htmldir) 834 with_multilib_list=default)
812 835
813 # ------------------------- 836 # -------------------------
814 # Checks for other programs 837 # Checks for other programs
815 # ------------------------- 838 # -------------------------
816 839
1019 fi 1042 fi
1020 fi 1043 fi
1021 1044
1022 AC_CHECK_TYPE(ssize_t, int) 1045 AC_CHECK_TYPE(ssize_t, int)
1023 AC_CHECK_TYPE(caddr_t, char *) 1046 AC_CHECK_TYPE(caddr_t, char *)
1024
1025 # Try to determine the array type of the second argument of getgroups
1026 # for the target system (int or gid_t).
1027 AC_TYPE_GETGROUPS
1028 if test "${target}" = "${build}"; then
1029 TARGET_GETGROUPS_T=$ac_cv_type_getgroups
1030 else
1031 case "${target}" in
1032 # This condition may need some tweaking. It should include all
1033 # targets where the array type of the second argument of getgroups
1034 # is int and the type of gid_t is not equivalent to int.
1035 *-*-sunos* | *-*-ultrix*)
1036 TARGET_GETGROUPS_T=int
1037 ;;
1038 *)
1039 TARGET_GETGROUPS_T=gid_t
1040 ;;
1041 esac
1042 fi
1043 AC_SUBST(TARGET_GETGROUPS_T)
1044 1047
1045 gcc_AC_FUNC_MMAP_BLACKLIST 1048 gcc_AC_FUNC_MMAP_BLACKLIST
1046 1049
1047 case "${host}" in 1050 case "${host}" in
1048 *-*-*vms*) 1051 *-*-*vms*)
1508 const char *name, *value; 1511 const char *name, *value;
1509 } configure_default_options[] = $configure_default_options; 1512 } configure_default_options[] = $configure_default_options;
1510 EOF 1513 EOF
1511 changequote([,])dnl 1514 changequote([,])dnl
1512 1515
1516 changequote(,)dnl
1517 gcc_BASEVER=`cat $srcdir/BASE-VER`
1518 gcc_DEVPHASE=`cat $srcdir/DEV-PHASE`
1519 gcc_DATESTAMP=`cat $srcdir/DATESTAMP`
1520 if test -f $srcdir/REVISION ; then
1521 gcc_REVISION=`cat $srcdir/REVISION`
1522 else
1523 gcc_REVISION=""
1524 fi
1525 cat > plugin-version.h <<EOF
1526 #include "configargs.h"
1527
1528 static char basever[] = "$gcc_BASEVER";
1529 static char datestamp[] = "$gcc_DATESTAMP";
1530 static char devphase[] = "$gcc_DEVPHASE";
1531 static char revision[] = "$gcc_REVISION";
1532
1533 /* FIXME plugins: We should make the version information more precise.
1534 One way to do is to add a checksum. */
1535
1536 static struct plugin_gcc_version gcc_version = {basever, datestamp,
1537 devphase, revision,
1538 configuration_arguments};
1539 EOF
1540 changequote([,])dnl
1541
1513 # Internationalization 1542 # Internationalization
1514 ZW_GNU_GETTEXT_SISTER_DIR 1543 ZW_GNU_GETTEXT_SISTER_DIR
1515 1544
1516 # If LIBINTL contains LIBICONV, then clear LIBICONV so we don't get 1545 # If LIBINTL contains LIBICONV, then clear LIBICONV so we don't get
1517 # -liconv on the link line twice. 1546 # -liconv on the link line twice.
1740 fi 1769 fi
1741 AC_SUBST(inhibit_libc) 1770 AC_SUBST(inhibit_libc)
1742 1771
1743 # When building gcc with a cross-compiler, we need to adjust things so 1772 # When building gcc with a cross-compiler, we need to adjust things so
1744 # that the generator programs are still built with the native compiler. 1773 # that the generator programs are still built with the native compiler.
1745 # Also, we cannot run fixincludes or fix-header. 1774 # Also, we cannot run fixincludes.
1746 1775
1747 # These are the normal (build=host) settings: 1776 # These are the normal (build=host) settings:
1748 CC_FOR_BUILD='$(CC)' AC_SUBST(CC_FOR_BUILD) 1777 CC_FOR_BUILD='$(CC)' AC_SUBST(CC_FOR_BUILD)
1749 BUILD_CFLAGS='$(ALL_CFLAGS)' AC_SUBST(BUILD_CFLAGS) 1778 BUILD_CFLAGS='$(ALL_CFLAGS)' AC_SUBST(BUILD_CFLAGS)
1750 BUILD_LDFLAGS='$(LDFLAGS)' AC_SUBST(BUILD_LDFLAGS) 1779 BUILD_LDFLAGS='$(LDFLAGS)' AC_SUBST(BUILD_LDFLAGS)
1751 STMP_FIXINC=stmp-fixinc AC_SUBST(STMP_FIXINC) 1780 STMP_FIXINC=stmp-fixinc AC_SUBST(STMP_FIXINC)
1752 1781
1753 # Possibly disable fixproto, on a per-target basis.
1754 case ${use_fixproto} in
1755 no)
1756 STMP_FIXPROTO=
1757 ;;
1758 yes)
1759 STMP_FIXPROTO=stmp-fixproto
1760 ;;
1761 esac
1762 AC_SUBST(STMP_FIXPROTO)
1763
1764 # And these apply if build != host, or we are generating coverage data 1782 # And these apply if build != host, or we are generating coverage data
1765 if test x$build != x$host || test "x$coverage_flags" != x 1783 if test x$build != x$host || test "x$coverage_flags" != x
1766 then 1784 then
1767 BUILD_CFLAGS='$(INTERNAL_CFLAGS) $(T_CFLAGS) $(CFLAGS_FOR_BUILD)' 1785 BUILD_CFLAGS='$(INTERNAL_CFLAGS) $(T_CFLAGS) $(CFLAGS_FOR_BUILD)'
1768 BUILD_LDFLAGS='$(LDFLAGS_FOR_BUILD)' 1786 BUILD_LDFLAGS='$(LDFLAGS_FOR_BUILD)'
1769
1770 if test "x$TARGET_SYSTEM_ROOT" = x; then
1771 if test "x$STMP_FIXPROTO" != x; then
1772 STMP_FIXPROTO=stmp-install-fixproto
1773 fi
1774 fi
1775 fi 1787 fi
1776 1788
1777 # Expand extra_headers to include complete path. 1789 # Expand extra_headers to include complete path.
1778 # This substitutes for lots of t-* files. 1790 # This substitutes for lots of t-* files.
1779 extra_headers_list= 1791 extra_headers_list=
1908 elif test -x $LD_FOR_TARGET; then 1920 elif test -x $LD_FOR_TARGET; then
1909 gcc_cv_ld="$LD_FOR_TARGET" 1921 gcc_cv_ld="$LD_FOR_TARGET"
1910 else 1922 else
1911 AC_PATH_PROG(gcc_cv_ld, $LD_FOR_TARGET) 1923 AC_PATH_PROG(gcc_cv_ld, $LD_FOR_TARGET)
1912 fi]) 1924 fi])
1925
1926 ORIGINAL_PLUGIN_LD_FOR_TARGET=$gcc_cv_ld
1927 PLUGIN_LD=`basename $gcc_cv_ld`
1928 AC_ARG_WITH(plugin-ld,
1929 [ --with-plugin-ld=[[ARG]] specify the plugin linker],
1930 [if test x"$withval" != x; then
1931 ORIGINAL_PLUGIN_LD_FOR_TARGET="$withval"
1932 PLUGIN_LD="$withval"
1933 fi])
1934 AC_SUBST(ORIGINAL_PLUGIN_LD_FOR_TARGET)
1935 AC_DEFINE_UNQUOTED(PLUGIN_LD, "$PLUGIN_LD", [Specify plugin linker])
1913 1936
1914 ORIGINAL_LD_FOR_TARGET=$gcc_cv_ld 1937 ORIGINAL_LD_FOR_TARGET=$gcc_cv_ld
1915 AC_SUBST(ORIGINAL_LD_FOR_TARGET) 1938 AC_SUBST(ORIGINAL_LD_FOR_TARGET)
1916 case "$ORIGINAL_LD_FOR_TARGET" in 1939 case "$ORIGINAL_LD_FOR_TARGET" in
1917 ./collect-ld | ./collect-ld$build_exeext) ;; 1940 ./collect-ld | ./collect-ld$build_exeext) ;;
2094 gcc_GAS_CHECK_FEATURE([.hidden], gcc_cv_as_hidden, 2117 gcc_GAS_CHECK_FEATURE([.hidden], gcc_cv_as_hidden,
2095 [elf,2,13,0],, 2118 [elf,2,13,0],,
2096 [ .hidden foobar 2119 [ .hidden foobar
2097 foobar:]) 2120 foobar:])
2098 2121
2122 changequote(,)dnl
2123 if test $in_tree_ld != yes ; then
2124 ld_ver=`$gcc_cv_ld --version 2>/dev/null | sed 1q`
2125 if echo "$ld_ver" | grep GNU > /dev/null; then
2126 ld_vers=`echo $ld_ver | sed -n \
2127 -e 's,^.*[ ]\([0-9][0-9]*\.[0-9][0-9]*.*\)$,\1,p'`
2128 ld_date=`echo $ld_ver | sed -n 's,^.*\([2-9][0-9][0-9][0-9]\)[-]*\([01][0-9]\)[-]*\([0-3][0-9]\).*$,\1\2\3,p'`
2129 ld_vers_major=`expr "$ld_vers" : '\([0-9]*\)'`
2130 ld_vers_minor=`expr "$ld_vers" : '[0-9]*\.\([0-9]*\)'`
2131 ld_vers_patch=`expr "$ld_vers" : '[0-9]*\.[0-9]*\.\([0-9]*\)'`
2132 fi
2133 fi
2134 changequote([,])dnl
2135
2099 AC_CACHE_CHECK(linker for .hidden support, gcc_cv_ld_hidden, 2136 AC_CACHE_CHECK(linker for .hidden support, gcc_cv_ld_hidden,
2100 [if test $in_tree_ld = yes ; then 2137 [if test $in_tree_ld = yes ; then
2101 gcc_cv_ld_hidden=no 2138 gcc_cv_ld_hidden=no
2102 if test "$gcc_cv_gld_major_version" -eq 2 -a "$gcc_cv_gld_minor_version" -ge 13 -o "$gcc_cv_gld_major_version" -gt 2 \ 2139 if test "$gcc_cv_gld_major_version" -eq 2 -a "$gcc_cv_gld_minor_version" -ge 13 -o "$gcc_cv_gld_major_version" -gt 2 \
2103 && test $in_tree_ld_is_elf = yes; then 2140 && test $in_tree_ld_is_elf = yes; then
2104 gcc_cv_ld_hidden=yes 2141 gcc_cv_ld_hidden=yes
2105 fi 2142 fi
2106 else 2143 else
2107 changequote(,)dnl 2144 changequote(,)dnl
2108 gcc_cv_ld_hidden=yes 2145 gcc_cv_ld_hidden=yes
2109 ld_ver=`$gcc_cv_ld --version 2>/dev/null | sed 1q`
2110 if echo "$ld_ver" | grep GNU > /dev/null; then 2146 if echo "$ld_ver" | grep GNU > /dev/null; then
2111 ld_vers=`echo $ld_ver | sed -n \
2112 -e 's,^.*[ ]\([0-9][0-9]*\.[0-9][0-9]*.*\)$,\1,p'`
2113 ld_date=`echo $ld_ver | sed -n 's,^.*\([2-9][0-9][0-9][0-9]\)[-]*\([01][0-9]\)[-]*\([0-3][0-9]\).*$,\1\2\3,p'`
2114 ld_vers_major=`expr "$ld_vers" : '\([0-9]*\)'`
2115 ld_vers_minor=`expr "$ld_vers" : '[0-9]*\.\([0-9]*\)'`
2116 ld_vers_patch=`expr "$ld_vers" : '[0-9]*\.[0-9]*\.\([0-9]*\)'`
2117 if test 0"$ld_date" -lt 20020404; then 2147 if test 0"$ld_date" -lt 20020404; then
2118 if test -n "$ld_date"; then 2148 if test -n "$ld_date"; then
2119 # If there was date string, but was earlier than 2002-04-04, fail 2149 # If there was date string, but was earlier than 2002-04-04, fail
2120 gcc_cv_ld_hidden=no 2150 gcc_cv_ld_hidden=no
2121 elif test -z "$ld_vers"; then 2151 elif test -z "$ld_vers"; then
2399 else 2429 else
2400 gcc_GAS_CHECK_FEATURE(COMDAT group support, gcc_cv_as_comdat_group_percent, 2430 gcc_GAS_CHECK_FEATURE(COMDAT group support, gcc_cv_as_comdat_group_percent,
2401 [elf,2,16,0], [--fatal-warnings], 2431 [elf,2,16,0], [--fatal-warnings],
2402 [.section .text,"axG",%progbits,.foo,comdat]) 2432 [.section .text,"axG",%progbits,.foo,comdat])
2403 fi 2433 fi
2404 if test $in_tree_ld != yes && test x"$ld_vers" != x; then 2434 if test $in_tree_ld = yes ; then
2435 comdat_group=no
2436 if test "$gcc_cv_gld_major_version" -eq 2 -a "$gcc_cv_gld_minor_version" -ge 16 -o "$gcc_cv_gld_major_version" -gt 2 \
2437 && test $in_tree_ld_is_elf = yes; then
2438 comdat_group=yes
2439 fi
2440 elif test x"$ld_vers" != x; then
2405 comdat_group=yes 2441 comdat_group=yes
2406 if test 0"$ld_date" -lt 20050308; then 2442 if test 0"$ld_date" -lt 20050308; then
2407 if test -n "$ld_date"; then 2443 if test -n "$ld_date"; then
2408 # If there was date string, but was earlier than 2005-03-08, fail 2444 # If there was date string, but was earlier than 2005-03-08, fail
2409 comdat_group=no 2445 comdat_group=no
2422 gcc_cv_as_comdat_group_percent=no 2458 gcc_cv_as_comdat_group_percent=no
2423 fi 2459 fi
2424 AC_DEFINE_UNQUOTED(HAVE_COMDAT_GROUP, 2460 AC_DEFINE_UNQUOTED(HAVE_COMDAT_GROUP,
2425 [`if test $gcc_cv_as_comdat_group = yes || test $gcc_cv_as_comdat_group_percent = yes; then echo 1; else echo 0; fi`], 2461 [`if test $gcc_cv_as_comdat_group = yes || test $gcc_cv_as_comdat_group_percent = yes; then echo 1; else echo 0; fi`],
2426 [Define 0/1 if your assembler and linker support COMDAT groups.]) 2462 [Define 0/1 if your assembler and linker support COMDAT groups.])
2463
2464 gcc_GAS_CHECK_FEATURE([line table discriminator support],
2465 gcc_cv_as_discriminator,
2466 [2,19,51],,
2467 [ .text
2468 .file 1 "conf.c"
2469 .loc 1 1 0 discriminator 1],,
2470 [AC_DEFINE(HAVE_GAS_DISCRIMINATOR, 1,
2471 [Define if your assembler supports the .loc discriminator sub-directive.])])
2427 2472
2428 # Thread-local storage - the check is heavily parameterized. 2473 # Thread-local storage - the check is heavily parameterized.
2429 conftest_s= 2474 conftest_s=
2430 tls_first_major= 2475 tls_first_major=
2431 tls_first_minor= 2476 tls_first_minor=
2584 lui $4, %tprel_hi(x) 2629 lui $4, %tprel_hi(x)
2585 addiu $4, $4, %tprel_lo(x)' 2630 addiu $4, $4, %tprel_lo(x)'
2586 tls_first_major=2 2631 tls_first_major=2
2587 tls_first_minor=16 2632 tls_first_minor=16
2588 tls_as_opt='-32 --fatal-warnings' 2633 tls_as_opt='-32 --fatal-warnings'
2634 ;;
2635 m68k-*-*)
2636 conftest_s='
2637 .section .tdata,"awT",@progbits
2638 x:
2639 .word 2
2640 .text
2641 foo:
2642 move.l x@TLSGD(%a5),%a0
2643 move.l x@TLSLDM(%a5),%a0
2644 move.l x@TLSLDO(%a5),%a0
2645 move.l x@TLSIE(%a5),%a0
2646 move.l x@TLSLE(%a5),%a0'
2647 tls_first_major=2
2648 tls_first_minor=19
2649 tls_as_opt='--fatal-warnings'
2589 ;; 2650 ;;
2590 powerpc-*-*) 2651 powerpc-*-*)
2591 conftest_s=' 2652 conftest_s='
2592 .section ".tdata","awT",@progbits 2653 .section ".tdata","awT",@progbits
2593 .align 2 2654 .align 2
2802 # Target-specific assembler checks. 2863 # Target-specific assembler checks.
2803 2864
2804 AC_MSG_CHECKING(linker -Bstatic/-Bdynamic option) 2865 AC_MSG_CHECKING(linker -Bstatic/-Bdynamic option)
2805 gcc_cv_ld_static_dynamic=no 2866 gcc_cv_ld_static_dynamic=no
2806 if test $in_tree_ld = yes ; then 2867 if test $in_tree_ld = yes ; then
2807 if test "$gcc_cv_gld_major_version" -eq 2 -a "$gcc_cv_gld_minor_version" -ge 10; then 2868 if test "$gcc_cv_gld_major_version" -eq 2 -a "$gcc_cv_gld_minor_version" -ge 10 -o "$gcc_cv_gld_major_version" -gt 2; then
2808 gcc_cv_ld_static_dynamic=yes 2869 gcc_cv_ld_static_dynamic=yes
2809 fi 2870 fi
2810 elif test x$gcc_cv_ld != x; then 2871 elif test x$gcc_cv_ld != x; then
2811 # Check if linker supports -Bstatic/-Bdynamic option 2872 # Check if linker supports -Bstatic/-Bdynamic option
2812 if $gcc_cv_ld --help 2>/dev/null | grep -- -Bstatic > /dev/null \ 2873 if $gcc_cv_ld --help 2>/dev/null | grep -- -Bstatic > /dev/null \
2952 3013
2953 changequote(,)dnl 3014 changequote(,)dnl
2954 i[34567]86-*-* | x86_64-*-*) 3015 i[34567]86-*-* | x86_64-*-*)
2955 changequote([,])dnl 3016 changequote([,])dnl
2956 case $target_os in 3017 case $target_os in
3018 cygwin*)
3019 # Full C++ conformance when using a shared libstdc++-v3 requires some
3020 # support from the Cygwin DLL, which in more recent versions exports
3021 # wrappers to aid in interposing and redirecting operators new, delete,
3022 # etc., as per n2800 #17.6.4.6 [replacement.functions]. Check if we
3023 # are configuring for a version of Cygwin that exports the wrappers.
3024 if test x$host = x$target; then
3025 AC_CHECK_FUNC([__wrap__Znaj],[gcc_ac_cygwin_dll_wrappers=yes],[gcc_ac_cygwin_dll_wrappers=no])
3026 else
3027 # Can't check presence of libc functions during cross-compile, so
3028 # we just have to assume we're building for an up-to-date target.
3029 gcc_ac_cygwin_dll_wrappers=yes
3030 fi
3031 AC_DEFINE_UNQUOTED(USE_CYGWIN_LIBSTDCXX_WRAPPERS,
3032 [`if test $gcc_ac_cygwin_dll_wrappers = yes; then echo 1; else echo 0; fi`],
3033 [Define if you want to generate code by default that assumes that the
3034 Cygwin DLL exports wrappers to support libstdc++ function replacement.])
3035 esac
3036 case $target_os in
2957 cygwin* | pe | mingw32*) 3037 cygwin* | pe | mingw32*)
3038 # Recent binutils allows the three-operand form of ".comm" on PE. This
3039 # definition is used unconditionally to initialise the default state of
3040 # the target option variable that governs usage of the feature.
3041 gcc_GAS_CHECK_FEATURE([.comm with alignment], gcc_cv_as_comm_has_align,
3042 [2,19,52],,[.comm foo,1,32])
3043 AC_DEFINE_UNQUOTED(HAVE_GAS_ALIGNED_COMM,
3044 [`if test $gcc_cv_as_comm_has_align = yes; then echo 1; else echo 0; fi`],
3045 [Define if your assembler supports specifying the alignment
3046 of objects allocated using the GAS .comm command.])
2958 # Used for DWARF 2 in PE 3047 # Used for DWARF 2 in PE
2959 gcc_GAS_CHECK_FEATURE([.secrel32 relocs], 3048 gcc_GAS_CHECK_FEATURE([.secrel32 relocs],
2960 gcc_cv_as_ix86_pe_secrel32, 3049 gcc_cv_as_ix86_pe_secrel32,
2961 [2,15,91],, 3050 [2,15,91],,
2962 [.text 3051 [.text
2972 [Define if your assembler and linker support 32-bit section relative relocs via '.secrel32 label'.])]) 3061 [Define if your assembler and linker support 32-bit section relative relocs via '.secrel32 label'.])])
2973 ;; 3062 ;;
2974 esac 3063 esac
2975 3064
2976 gcc_GAS_CHECK_FEATURE([filds and fists mnemonics], 3065 gcc_GAS_CHECK_FEATURE([filds and fists mnemonics],
2977 gcc_cv_as_ix86_filds_fists, 3066 gcc_cv_as_ix86_filds,,,
2978 [2,9,0],, [filds mem; fists mem],, 3067 [filds mem; fists mem],,
2979 [AC_DEFINE(HAVE_GAS_FILDS_FISTS, 1, 3068 [AC_DEFINE(HAVE_AS_IX86_FILDS, 1,
2980 [Define if your assembler uses the new HImode fild and fist notation.])]) 3069 [Define if your assembler uses filds and fists mnemonics.])])
3070
3071 gcc_GAS_CHECK_FEATURE([fildq and fistpq mnemonics],
3072 gcc_cv_as_ix86_fildq,,,
3073 [fildq mem; fistpq mem],,
3074 [AC_DEFINE(HAVE_AS_IX86_FILDQ, 1,
3075 [Define if your assembler uses fildq and fistq mnemonics.])])
2981 3076
2982 gcc_GAS_CHECK_FEATURE([cmov syntax], 3077 gcc_GAS_CHECK_FEATURE([cmov syntax],
2983 gcc_cv_as_ix86_cmov_sun_syntax,,, 3078 gcc_cv_as_ix86_cmov_sun_syntax,,,
2984 [cmovl.l %edx, %eax],, 3079 [cmovl.l %edx, %eax],,
2985 [AC_DEFINE(HAVE_AS_IX86_CMOV_SUN_SYNTAX, 1, 3080 [AC_DEFINE(HAVE_AS_IX86_CMOV_SUN_SYNTAX, 1,
2994 gcc_GAS_CHECK_FEATURE([sahf mnemonic], 3089 gcc_GAS_CHECK_FEATURE([sahf mnemonic],
2995 gcc_cv_as_ix86_sahf,,, 3090 gcc_cv_as_ix86_sahf,,,
2996 [sahf],, 3091 [sahf],,
2997 [AC_DEFINE(HAVE_AS_IX86_SAHF, 1, 3092 [AC_DEFINE(HAVE_AS_IX86_SAHF, 1,
2998 [Define if your assembler supports the sahf mnemonic.])]) 3093 [Define if your assembler supports the sahf mnemonic.])])
3094
3095 gcc_GAS_CHECK_FEATURE([swap suffix],
3096 gcc_cv_as_ix86_swap,,,
3097 [movl.s %esp, %ebp],,
3098 [AC_DEFINE(HAVE_AS_IX86_SWAP, 1,
3099 [Define if your assembler supports the swap suffix.])])
2999 3100
3000 gcc_GAS_CHECK_FEATURE([different section symbol subtraction], 3101 gcc_GAS_CHECK_FEATURE([different section symbol subtraction],
3001 gcc_cv_as_ix86_diff_sect_delta,,, 3102 gcc_cv_as_ix86_diff_sect_delta,,,
3002 [.section .rodata 3103 [.section .rodata
3003 .L1: 3104 .L1:
3100 .text 3201 .text
3101 mffgpr 1,3';; 3202 mffgpr 1,3';;
3102 esac 3203 esac
3103 3204
3104 gcc_GAS_CHECK_FEATURE([move fp gpr support], 3205 gcc_GAS_CHECK_FEATURE([move fp gpr support],
3105 gcc_cv_as_powerpc_mfpgpr, [9,99,0],, 3206 gcc_cv_as_powerpc_mfpgpr, [2,19,2],,
3106 [$conftest_s],, 3207 [$conftest_s],,
3107 [AC_DEFINE(HAVE_AS_MFPGPR, 1, 3208 [AC_DEFINE(HAVE_AS_MFPGPR, 1,
3108 [Define if your assembler supports mffgpr and mftgpr.])]) 3209 [Define if your assembler supports mffgpr and mftgpr.])])
3109 3210
3110 case $target in 3211 case $target in
3134 .text 3235 .text
3135 cmpb 3,4,5';; 3236 cmpb 3,4,5';;
3136 esac 3237 esac
3137 3238
3138 gcc_GAS_CHECK_FEATURE([compare bytes support], 3239 gcc_GAS_CHECK_FEATURE([compare bytes support],
3139 gcc_cv_as_powerpc_cmpb, [9,99,0], -a32, 3240 gcc_cv_as_powerpc_cmpb, [2,19,2], -a32,
3140 [$conftest_s],, 3241 [$conftest_s],,
3141 [AC_DEFINE(HAVE_AS_CMPB, 1, 3242 [AC_DEFINE(HAVE_AS_CMPB, 1,
3142 [Define if your assembler supports cmpb.])]) 3243 [Define if your assembler supports cmpb.])])
3143 3244
3144 case $target in 3245 case $target in
3149 .text 3250 .text
3150 dadd 1,2,3';; 3251 dadd 1,2,3';;
3151 esac 3252 esac
3152 3253
3153 gcc_GAS_CHECK_FEATURE([decimal float support], 3254 gcc_GAS_CHECK_FEATURE([decimal float support],
3154 gcc_cv_as_powerpc_dfp, [9,99,0], -a32, 3255 gcc_cv_as_powerpc_dfp, [2,19,2], -a32,
3155 [$conftest_s],, 3256 [$conftest_s],,
3156 [AC_DEFINE(HAVE_AS_DFP, 1, 3257 [AC_DEFINE(HAVE_AS_DFP, 1,
3157 [Define if your assembler supports DFP instructions.])]) 3258 [Define if your assembler supports DFP instructions.])])
3158 3259
3159 case $target in 3260 case $target in
3164 .text 3265 .text
3165 lxvd2x 1,2,3';; 3266 lxvd2x 1,2,3';;
3166 esac 3267 esac
3167 3268
3168 gcc_GAS_CHECK_FEATURE([vector-scalar support], 3269 gcc_GAS_CHECK_FEATURE([vector-scalar support],
3169 gcc_cv_as_powerpc_vsx, [9,99,0], -a32, 3270 gcc_cv_as_powerpc_vsx, [2,19,2], -a32,
3170 [$conftest_s],, 3271 [$conftest_s],,
3171 [AC_DEFINE(HAVE_AS_VSX, 1, 3272 [AC_DEFINE(HAVE_AS_VSX, 1,
3172 [Define if your assembler supports VSX instructions.])]) 3273 [Define if your assembler supports VSX instructions.])])
3274
3275 case $target in
3276 *-*-aix*) conftest_s=' .machine "pwr7"
3277 .csect .text[[PR]]
3278 popcntd 3,3';;
3279 *) conftest_s=' .machine power7
3280 .text
3281 popcntd 3,3';;
3282 esac
3283
3284 gcc_GAS_CHECK_FEATURE([popcntd support],
3285 gcc_cv_as_powerpc_popcntd, [2,19,2], -a32,
3286 [$conftest_s],,
3287 [AC_DEFINE(HAVE_AS_POPCNTD, 1,
3288 [Define if your assembler supports POPCNTD instructions.])])
3289
3290 case $target in
3291 *-*-aix*) conftest_s=' .csect .text[[PR]]
3292 lwsync';;
3293 *) conftest_s=' .text
3294 lwsync';;
3295 esac
3296
3297 gcc_GAS_CHECK_FEATURE([lwsync support],
3298 gcc_cv_as_powerpc_lwsync, [2,19,2], -a32,
3299 [$conftest_s],,
3300 [AC_DEFINE(HAVE_AS_LWSYNC, 1,
3301 [Define if your assembler supports LWSYNC instructions.])])
3302
3303 case $target in
3304 *-*-aix*) conftest_s=' .machine "476"
3305 .csect .text[[PR]]
3306 dci 0';;
3307 *) conftest_s=' .machine "476"
3308 .text
3309 dci 0';;
3310 esac
3311
3312 gcc_GAS_CHECK_FEATURE([data cache invalidate support],
3313 gcc_cv_as_powerpc_dci, [9,99,0], -a32,
3314 [$conftest_s],,
3315 [AC_DEFINE(HAVE_AS_DCI, 1,
3316 [Define if your assembler supports the DCI/ICI instructions.])])
3173 3317
3174 gcc_GAS_CHECK_FEATURE([.gnu_attribute support], 3318 gcc_GAS_CHECK_FEATURE([.gnu_attribute support],
3175 gcc_cv_as_powerpc_gnu_attribute, [2,18,0],, 3319 gcc_cv_as_powerpc_gnu_attribute, [2,18,0],,
3176 [.gnu_attribute 4,1],, 3320 [.gnu_attribute 4,1],,
3177 [AC_DEFINE(HAVE_AS_GNU_ATTRIBUTE, 1, 3321 [AC_DEFINE(HAVE_AS_GNU_ATTRIBUTE, 1,
3178 [Define if your assembler supports .gnu_attribute.])]) 3322 [Define if your assembler supports .gnu_attribute.])])
3323
3324 gcc_GAS_CHECK_FEATURE([tls marker support],
3325 gcc_cv_as_powerpc_tls_markers, [2,20,0],,
3326 [ bl __tls_get_addr(x@tlsgd)],,
3327 [AC_DEFINE(HAVE_AS_TLS_MARKERS, 1,
3328 [Define if your assembler supports arg info for __tls_get_addr.])])
3179 ;; 3329 ;;
3180 3330
3181 mips*-*-*) 3331 mips*-*-*)
3182 gcc_GAS_CHECK_FEATURE([explicit relocation support], 3332 gcc_GAS_CHECK_FEATURE([explicit relocation support],
3183 gcc_cv_as_mips_explicit_relocs, [2,14,0],, 3333 gcc_cv_as_mips_explicit_relocs, [2,14,0],,
3204 .word 2 3354 .word 2
3205 .text 3355 .text
3206 .dtprelword x+0x8000],, 3356 .dtprelword x+0x8000],,
3207 [AC_DEFINE(HAVE_AS_DTPRELWORD, 1, 3357 [AC_DEFINE(HAVE_AS_DTPRELWORD, 1,
3208 [Define if your assembler supports .dtprelword.])]) 3358 [Define if your assembler supports .dtprelword.])])
3359
3360 AC_MSG_CHECKING(assembler and linker for explicit JALR relocation)
3361 gcc_cv_as_ld_jalr_reloc=no
3362 if test $gcc_cv_as_mips_explicit_relocs = yes; then
3363 if test $in_tree_ld = yes ; then
3364 if test "$gcc_cv_gld_major_version" -eq 2 -a "$gcc_cv_gld_minor_version" -ge 20 -o "$gcc_cv_gld_major_version" -gt 2 \
3365 && test $in_tree_ld_is_elf = yes; then
3366 gcc_cv_as_ld_jalr_reloc=yes
3367 fi
3368 elif test x$gcc_cv_as != x -a x$gcc_cv_ld != x -a x$gcc_cv_objdump != x; then
3369 echo ' .ent x' > conftest.s
3370 echo 'x: ld $2,%got_disp(y)($3)' >> conftest.s
3371 echo ' ld $25,%call16(y)($28)' >> conftest.s
3372 echo ' .reloc 1f,R_MIPS_JALR,y' >> conftest.s
3373 echo '1: jalr $25' >> conftest.s
3374 echo ' .reloc 1f,R_MIPS_JALR,x' >> conftest.s
3375 echo '1: jalr $25' >> conftest.s
3376 echo ' .end x' >> conftest.s
3377 if $gcc_cv_as -o conftest.o conftest.s >/dev/null 2>&AS_MESSAGE_LOG_FD \
3378 && $gcc_cv_ld -shared -o conftest.so conftest.o >/dev/null 2>&AS_MESSAGE_LOG_FD; then
3379 if $gcc_cv_objdump -d conftest.so | grep -q jalr \
3380 && $gcc_cv_objdump -d conftest.so | grep -q "bal.*<x>"; then
3381 gcc_cv_as_ld_jalr_reloc=yes
3382 fi
3383 fi
3384 rm -f conftest.*
3385 fi
3386 fi
3387 if test $gcc_cv_as_ld_jalr_reloc = yes; then
3388 if test x$target_cpu_default = x; then
3389 target_cpu_default=MASK_RELAX_PIC_CALLS
3390 else
3391 target_cpu_default="($target_cpu_default)|MASK_RELAX_PIC_CALLS"
3392 fi
3393 fi
3394 AC_MSG_RESULT($gcc_cv_as_ld_jalr_reloc)
3395
3396 AC_CACHE_CHECK([linker for .eh_frame personality relaxation],
3397 [gcc_cv_ld_mips_personality_relaxation],
3398 [gcc_cv_ld_mips_personality_relaxation=no
3399 if test $in_tree_ld = yes ; then
3400 if test "$gcc_cv_gld_major_version" -eq 2 \
3401 -a "$gcc_cv_gld_minor_version" -ge 21 \
3402 -o "$gcc_cv_gld_major_version" -gt 2; then
3403 gcc_cv_ld_mips_personality_relaxation=yes
3404 fi
3405 elif test x$gcc_cv_as != x \
3406 -a x$gcc_cv_ld != x \
3407 -a x$gcc_cv_readelf != x ; then
3408 cat > conftest.s <<EOF
3409 .cfi_startproc
3410 .cfi_personality 0x80,indirect_ptr
3411 .ent test
3412 test:
3413 nop
3414 .end test
3415 .cfi_endproc
3416
3417 .section .data,"aw",@progbits
3418 indirect_ptr:
3419 .dc.a personality
3420 EOF
3421 if $gcc_cv_as -KPIC -o conftest.o conftest.s > /dev/null 2>&1 \
3422 && $gcc_cv_ld -o conftest conftest.o -shared > /dev/null 2>&1; then
3423 if $gcc_cv_readelf -d conftest 2>&1 \
3424 | grep TEXTREL > /dev/null 2>&1; then
3425 :
3426 elif $gcc_cv_readelf --relocs conftest 2>&1 \
3427 | grep 'R_MIPS_REL32 *$' > /dev/null 2>&1; then
3428 :
3429 else
3430 gcc_cv_ld_mips_personality_relaxation=yes
3431 fi
3432 fi
3433 fi
3434 rm -f conftest.s conftest.o conftest])
3435 if test x$gcc_cv_ld_mips_personality_relaxation = xyes; then
3436 AC_DEFINE(HAVE_LD_PERSONALITY_RELAXATION, 1,
3437 [Define if your linker can relax absolute .eh_frame personality
3438 pointers into PC-relative form.])
3439 fi
3209 ;; 3440 ;;
3210 esac 3441 esac
3211 3442
3212 # Mips and HP-UX need the GNU assembler. 3443 # Mips and HP-UX need the GNU assembler.
3213 # Linux on IA64 might be able to use the Intel assembler. 3444 # Linux on IA64 might be able to use the Intel assembler.
3305 gcc_GAS_CHECK_FEATURE([.lcomm with alignment], gcc_cv_as_lcomm_with_alignment, 3536 gcc_GAS_CHECK_FEATURE([.lcomm with alignment], gcc_cv_as_lcomm_with_alignment,
3306 ,, 3537 ,,
3307 [.lcomm bar,4,16],, 3538 [.lcomm bar,4,16],,
3308 [AC_DEFINE(HAVE_GAS_LCOMM_WITH_ALIGNMENT, 1, 3539 [AC_DEFINE(HAVE_GAS_LCOMM_WITH_ALIGNMENT, 1,
3309 [Define if your assembler supports .lcomm with an alignment field.])]) 3540 [Define if your assembler supports .lcomm with an alignment field.])])
3541
3542 AC_ARG_ENABLE(gnu-unique-object,
3543 [ --enable-gnu-unique-object enable the use of the @gnu_unique_object ELF extension on
3544 glibc systems],
3545 [case $enable_gnu_unique_object in
3546 yes | no) ;;
3547 *) AC_MSG_ERROR(['$enable_gnu_unique_object' is an invalid value for --enable-gnu-unique-object.
3548 Valid choices are 'yes' and 'no'.]) ;;
3549 esac],
3550 [gcc_GAS_CHECK_FEATURE([gnu_unique_object], gcc_cv_as_gnu_unique_object,
3551 [elf,2,19,52],,
3552 [.type foo, @gnu_unique_object],,
3553 # Also check for ld.so support, i.e. glibc 2.11 or higher.
3554 [if test x$host = x$build -a x$host = x$target &&
3555 glibcver=`ldd --version 2>/dev/null`; then
3556 glibcmajor=`expr "$glibcver" : "ldd (GNU libc) \([[0-9]]*\)"`
3557 glibcminor=`expr "$glibcver" : "ldd (GNU libc) [[0-9]]*\.\([[0-9]]*\)"`
3558 glibcnum=`expr $glibcmajor \* 1000 + $glibcminor`
3559 if test "$glibcnum" -ge 2011 ; then
3560 enable_gnu_unique_object=yes
3561 fi
3562 fi])])
3563 if test x$enable_gnu_unique_object = xyes; then
3564 AC_DEFINE(HAVE_GAS_GNU_UNIQUE_OBJECT, 1,
3565 [Define if your assembler supports @gnu_unique_object.])
3566 fi
3310 3567
3311 AC_CACHE_CHECK([assembler for tolerance to line number 0], 3568 AC_CACHE_CHECK([assembler for tolerance to line number 0],
3312 [gcc_cv_as_line_zero], 3569 [gcc_cv_as_line_zero],
3313 [gcc_cv_as_line_zero=no 3570 [gcc_cv_as_line_zero=no
3314 if test $in_tree_gas = yes; then 3571 if test $in_tree_gas = yes; then
3513 [Define if your PowerPC64 linker only needs function descriptor syms.]) 3770 [Define if your PowerPC64 linker only needs function descriptor syms.])
3514 fi 3771 fi
3515 ;; 3772 ;;
3516 esac 3773 esac
3517 3774
3775 AC_CACHE_CHECK(linker --build-id support,
3776 gcc_cv_ld_buildid,
3777 [gcc_cv_ld_buildid=no
3778 if test $in_tree_ld = yes ; then
3779 if test "$gcc_cv_gld_major_version" -eq 2 -a \
3780 "$gcc_cv_gld_minor_version" -ge 18 -o \
3781 "$gcc_cv_gld_major_version" -gt 2 \
3782 && test $in_tree_ld_is_elf = yes; then
3783 gcc_cv_ld_buildid=yes
3784 fi
3785 elif test x$gcc_cv_ld != x; then
3786 if $gcc_cv_ld --help 2>/dev/null | grep build-id > /dev/null; then
3787 gcc_cv_ld_buildid=yes
3788 fi
3789 fi])
3790 if test x"$gcc_cv_ld_buildid" = xyes; then
3791 AC_DEFINE(HAVE_LD_BUILDID, 1,
3792 [Define if your linker supports --build-id.])
3793 fi
3794
3795 AC_ARG_ENABLE(linker-build-id,
3796 [ --enable-linker-build-id
3797 compiler will always pass --build-id to linker],
3798 [],
3799 enable_linker_build_id=no)
3800
3801 if test x"$enable_linker_build_id" = xyes; then
3802 if test x"$gcc_cv_ld_buildid" = xyes; then
3803 AC_DEFINE(ENABLE_LD_BUILDID, 1,
3804 [Define if gcc should always pass --build-id to linker.])
3805 else
3806 AC_MSG_WARN(--build-id is not supported by your linker; --enable-linker-build-id ignored)
3807 fi
3808 fi
3809
3518 AC_CACHE_CHECK(linker --sysroot support, 3810 AC_CACHE_CHECK(linker --sysroot support,
3519 gcc_cv_ld_sysroot, 3811 gcc_cv_ld_sysroot,
3520 [gcc_cv_ld_sysroot=no 3812 [gcc_cv_ld_sysroot=no
3521 if test $in_tree_ld = yes ; then 3813 if test $in_tree_ld = yes ; then
3522 if test "$gcc_cv_gld_major_version" -eq 2 -a "$gcc_cv_gld_minor_version" -ge 16 -o "$gcc_cv_gld_major_version" -gt 2 ; then 3814 if test "$gcc_cv_gld_major_version" -eq 2 -a "$gcc_cv_gld_minor_version" -ge 16 -o "$gcc_cv_gld_major_version" -gt 2 ; then
3584 # Avoid complicated tests (see 3876 # Avoid complicated tests (see
3585 # <http://gcc.gnu.org/ml/gcc/2008-10/msg00130.html>) and for now 3877 # <http://gcc.gnu.org/ml/gcc/2008-10/msg00130.html>) and for now
3586 # simply assert that glibc does provide this, which is true for all 3878 # simply assert that glibc does provide this, which is true for all
3587 # realistically usable GNU/Hurd configurations. 3879 # realistically usable GNU/Hurd configurations.
3588 gcc_cv_libc_provides_ssp=yes;; 3880 gcc_cv_libc_provides_ssp=yes;;
3589 *-*-darwin*) 3881 *-*-darwin* | *-*-freebsd*)
3590 AC_CHECK_FUNC(__stack_chk_fail,[gcc_cv_libc_provides_ssp=yes], 3882 AC_CHECK_FUNC(__stack_chk_fail,[gcc_cv_libc_provides_ssp=yes],
3591 [echo "no __stack_chk_fail on this target"]) 3883 [echo "no __stack_chk_fail on this target"])
3592 ;; 3884 ;;
3593 *) gcc_cv_libc_provides_ssp=no ;; 3885 *) gcc_cv_libc_provides_ssp=no ;;
3594 esac]) 3886 esac])
3655 esac], 3947 esac],
3656 [GGC=ggc-page]) 3948 [GGC=ggc-page])
3657 AC_SUBST(GGC) 3949 AC_SUBST(GGC)
3658 echo "Using $GGC for garbage collection." 3950 echo "Using $GGC for garbage collection."
3659 3951
3952 # Libraries to use on the host. This will normally be set by the top
3953 # level Makefile. Here we simply capture the value for our Makefile.
3954 if test -z "${HOST_LIBS+set}"; then
3955 HOST_LIBS=
3956 fi
3957 AC_SUBST(HOST_LIBS)
3958
3660 # Use the system's zlib library. 3959 # Use the system's zlib library.
3661 zlibdir=-L../zlib 3960 zlibdir=-L../zlib
3662 zlibinc="-I\$(srcdir)/../zlib" 3961 zlibinc="-I\$(srcdir)/../zlib"
3663 AC_ARG_WITH(system-zlib, 3962 AC_ARG_WITH(system-zlib,
3664 [ --with-system-zlib use installed libz], 3963 [ --with-system-zlib use installed libz],
3806 fi 4105 fi
3807 all_languages="$all_languages $language" 4106 all_languages="$all_languages $language"
3808 all_compilers="$all_compilers $compilers" 4107 all_compilers="$all_compilers $compilers"
3809 all_outputs="$all_outputs $outputs" 4108 all_outputs="$all_outputs $outputs"
3810 all_gtfiles="$all_gtfiles [[$subdir]] $gtfiles" 4109 all_gtfiles="$all_gtfiles [[$subdir]] $gtfiles"
4110 case ",$enable_languages," in
4111 *,lto,*)
4112 AC_DEFINE(ENABLE_LTO, 1, [Define to enable LTO support.])
4113 enable_lto=yes
4114 AC_SUBST(enable_lto)
4115 ;;
4116 *) ;;
4117 esac
3811 done 4118 done
3812 4119
3813 # Pick up gtfiles for c 4120 # Pick up gtfiles for c
3814 gtfiles= 4121 gtfiles=
3815 . ${srcdir}/c-config-lang.in 4122 . ${srcdir}/c-config-lang.in
3827 rm -f Make-hooks 4134 rm -f Make-hooks
3828 touch Make-hooks 4135 touch Make-hooks
3829 target_list="all.cross start.encap rest.encap tags \ 4136 target_list="all.cross start.encap rest.encap tags \
3830 install-common install-man install-info install-pdf dvi pdf \ 4137 install-common install-man install-info install-pdf dvi pdf \
3831 html uninstall info man srcextra srcman srcinfo \ 4138 html uninstall info man srcextra srcman srcinfo \
3832 mostlyclean clean distclean maintainer-clean" 4139 mostlyclean clean distclean maintainer-clean install-plugin"
3833 4140
3834 for t in $target_list 4141 for t in $target_list
3835 do 4142 do
3836 x= 4143 x=
3837 for lang in $all_selected_languages 4144 for lang in $all_selected_languages
3881 slibdir='$(build_tooldir)/lib' 4188 slibdir='$(build_tooldir)/lib'
3882 else 4189 else
3883 slibdir='$(libdir)' 4190 slibdir='$(libdir)'
3884 fi) 4191 fi)
3885 AC_SUBST(slibdir) 4192 AC_SUBST(slibdir)
3886
3887 AC_ARG_WITH(datarootdir,
3888 [ --with-datarootdir=DIR Use DIR as the data root [[PREFIX/share]]],
3889 datarootdir="\${prefix}/$with_datarootdir",
3890 datarootdir='$(prefix)/share')
3891 AC_SUBST(datarootdir)
3892
3893 AC_ARG_WITH(docdir,
3894 [ --with-docdir=DIR Install documentation in DIR [[DATAROOTDIR]]],
3895 docdir="\${prefix}/$with_docdir",
3896 docdir='$(datarootdir)')
3897 AC_SUBST(docdir)
3898
3899 AC_ARG_WITH(htmldir,
3900 [ --with-htmldir=DIR html documentation in in DIR [[DOCDIR]]],
3901 htmldir="\${prefix}/$with_htmldir",
3902 htmldir='$(docdir)')
3903 AC_SUBST(htmldir)
3904 4193
3905 # Substitute configuration variables 4194 # Substitute configuration variables
3906 AC_SUBST(subdirs) 4195 AC_SUBST(subdirs)
3907 AC_SUBST(srcdir) 4196 AC_SUBST(srcdir)
3908 AC_SUBST(all_compilers) 4197 AC_SUBST(all_compilers)
3919 AC_SUBST(build_file_translate) 4208 AC_SUBST(build_file_translate)
3920 AC_SUBST(check_languages) 4209 AC_SUBST(check_languages)
3921 AC_SUBST(cpp_install_dir) 4210 AC_SUBST(cpp_install_dir)
3922 AC_SUBST(xmake_file) 4211 AC_SUBST(xmake_file)
3923 AC_SUBST(tmake_file) 4212 AC_SUBST(tmake_file)
4213 AC_SUBST(TM_ENDIAN_CONFIG)
4214 AC_SUBST(TM_MULTILIB_CONFIG)
4215 AC_SUBST(TM_MULTILIB_EXCEPTIONS_CONFIG)
3924 AC_SUBST(extra_gcc_objs) 4216 AC_SUBST(extra_gcc_objs)
3925 AC_SUBST(extra_headers_list) 4217 AC_SUBST(extra_headers_list)
3926 AC_SUBST(extra_objs) 4218 AC_SUBST(extra_objs)
3927 AC_SUBST(extra_parts) 4219 AC_SUBST(extra_parts)
3928 AC_SUBST(extra_passes) 4220 AC_SUBST(extra_passes)
3951 AC_SUBST(tm_p_file_list) 4243 AC_SUBST(tm_p_file_list)
3952 AC_SUBST(tm_p_include_list) 4244 AC_SUBST(tm_p_include_list)
3953 AC_SUBST(xm_file_list) 4245 AC_SUBST(xm_file_list)
3954 AC_SUBST(xm_include_list) 4246 AC_SUBST(xm_include_list)
3955 AC_SUBST(xm_defines) 4247 AC_SUBST(xm_defines)
4248 AC_SUBST(use_gcc_stdint)
3956 AC_SUBST(c_target_objs) 4249 AC_SUBST(c_target_objs)
3957 AC_SUBST(cxx_target_objs) 4250 AC_SUBST(cxx_target_objs)
3958 AC_SUBST(fortran_target_objs) 4251 AC_SUBST(fortran_target_objs)
3959 AC_SUBST(target_cpu_default) 4252 AC_SUBST(target_cpu_default)
3960 4253
3988 AC_ARG_VAR(CLOOGINC,[How to find CLOOG include files]) 4281 AC_ARG_VAR(CLOOGINC,[How to find CLOOG include files])
3989 if test "x${CLOOGLIBS}" != "x" ; then 4282 if test "x${CLOOGLIBS}" != "x" ; then
3990 AC_DEFINE(HAVE_cloog, 1, [Define if cloog is in use.]) 4283 AC_DEFINE(HAVE_cloog, 1, [Define if cloog is in use.])
3991 fi 4284 fi
3992 4285
4286 AC_ARG_VAR(LIBELFLIBS,[How to link libelf])
4287 AC_ARG_VAR(LIBELFINC,[How to find libelf include files])
4288 if test "x${LIBELFLIBS}" != "x" ; then
4289 AC_DEFINE(HAVE_libelf, 1, [Define if libelf is in use.])
4290 fi
4291
4292 # Check for plugin support
4293 AC_ARG_ENABLE(plugin,
4294 [ --enable-plugin enable plugin support],
4295 enable_plugin=$enableval,
4296 enable_plugin=yes; default_plugin=yes)
4297
4298 pluginlibs=
4299 if test x"$enable_plugin" = x"yes"; then
4300 # Check that the host supports -rdynamic and -ldl
4301 have_rdynamic=no
4302 have_dl=no
4303 saved_LDFLAGS="$LDFLAGS"
4304 saved_LIBS="$LIBS"
4305 LIBS=
4306
4307 # Check -rdynamic
4308 LDFLAGS="$LDFLAGS -rdynamic"
4309 AC_MSG_CHECKING([for -rdynamic])
4310 AC_TRY_LINK([],[return 0;],
4311 [AC_MSG_RESULT([yes]); have_rdynamic=yes],
4312 [AC_MSG_RESULT([no])])
4313 if test x"$have_rdynamic" = x"yes" ; then
4314 pluginlibs="-rdynamic"
4315 fi
4316
4317 # Check -ldl
4318 AC_SEARCH_LIBS([dlopen], [dl])
4319 if test x"$ac_cv_search_dlopen" = x"-ldl"; then
4320 pluginlibs="$pluginlibs -ldl"
4321 fi
4322
4323 # Check that we can build shared objects with -fPIC -shared
4324 LDFLAGS="$LDFLAGS -fPIC -shared"
4325 AC_MSG_CHECKING([for -fPIC -shared])
4326 AC_TRY_LINK(
4327 [extern int X;],[return X == 0;],
4328 [AC_MSG_RESULT([yes]); have_pic_shared=yes],
4329 [AC_MSG_RESULT([no]); have_pic_shared=no])
4330 if test x"$have_pic_shared" != x"yes" -o x"$ac_cv_search_dlopen" = x"no"; then
4331 pluginlibs=
4332 enable_plugin=no
4333 fi
4334
4335 # If plugin support had been requested but not available, fail.
4336 if test x"$enable_plugin" = x"no" ; then
4337 if test x"$default_plugin" != x"yes"; then
4338 AC_MSG_ERROR([
4339 Building GCC with plugin support requires a host that supports
4340 -fPIC, -shared, -ldl and -rdynamic.])
4341 fi
4342 fi
4343
4344 LDFLAGS="$saved_LDFLAGS"
4345 LIBS="$saved_LIBS"
4346 fi
4347
4348 AC_SUBST(pluginlibs)
4349 AC_SUBST(enable_plugin)
4350 if test x"$enable_plugin" = x"yes"; then
4351 AC_DEFINE(ENABLE_PLUGIN, 1, [Define to enable plugin support.])
4352 fi
4353
3993 # Configure the subdirectories 4354 # Configure the subdirectories
3994 # AC_CONFIG_SUBDIRS($subdirs) 4355 # AC_CONFIG_SUBDIRS($subdirs)
3995 4356
3996 # Create the Makefile 4357 # Create the Makefile
3997 # and configure language subdirectories 4358 # and configure language subdirectories