Mercurial > hg > CbC > CbC_gcc
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 |