diff options
Diffstat (limited to 'libstdc++-v3/configure.in')
-rw-r--r-- | libstdc++-v3/configure.in | 178 |
1 files changed, 123 insertions, 55 deletions
diff --git a/libstdc++-v3/configure.in b/libstdc++-v3/configure.in index 8131c26256e..c6a5b3a8311 100644 --- a/libstdc++-v3/configure.in +++ b/libstdc++-v3/configure.in @@ -1,33 +1,39 @@ # Process this file with autoconf to produce a configure script, like so: -# aclocal, autoconf, autoheader, automake +# aclocal && autoconf && autoheader && automake AC_PREREQ(2.13) AC_INIT(src/ios.cc) +# This works around the fact that libtool configuration may change LD +# for this particular configuration, but some shells, instead of +# keeping the changes in LD private, export them just because LD is +# exported. +ORIGINAL_LD_FOR_MULTILIBS=$LD + PACKAGE=libstdc++ AC_SUBST(PACKAGE) -# For typical GNU versioning info, format is MAJOR.MINOR.MICRO -release_VERSION=3.1.0 -AC_SUBST(release_VERSION) # For libtool versioning info, format is CURRENT:REVISION:AGE -libtool_VERSION=4:0:0 +libtool_VERSION=5:2:0 AC_SUBST(libtool_VERSION) +GLIBCPP_TOPREL_CONFIGURE + # Gets build, host, target, *_vendor, *_cpu, *_os, etc. -# AC 2.50 sets target_alias iff the user specified --target, but we use it -# everywhere, so we set it here just to be sure. +# AC 2.5x sets target_alias iff the user specified --target, but we use it +# everywhere, so we set it here just to be sure. In AC 2.13 +# AC_CANONICAL_TARGET was known as AC_CANONICAL_SYSTEM. AC_CANONICAL_SYSTEM target_alias=${target_alias-$target} AC_SUBST(target_alias) -AM_INIT_AUTOMAKE($PACKAGE, $release_VERSION) -AM_CONFIG_HEADER(config.h) - # Runs configure.host and configure.target, as well as finds CC, CXX -# and assorted other critical bits. Have to run this before the +# and assorted other critical bits. Have to run this before the # GLIBCPP_ENABLE_* macros below. GLIBCPP_CONFIGURE(.) +AM_INIT_AUTOMAKE($PACKAGE, $gcc_version) +AM_CONFIG_HEADER(config.h) + AC_LIBTOOL_DLOPEN AM_PROG_LIBTOOL AC_SUBST(enable_shared) @@ -44,12 +50,15 @@ GLIBCPP_ENABLE_CLOCALE GLIBCPP_ENABLE_C_MBCHAR([yes]) GLIBCPP_ENABLE_C99([yes]) GLIBCPP_ENABLE_LONG_LONG([yes]) -GLIBCPP_ENABLE_CHEADERS([c_std]) +GLIBCPP_ENABLE_CHEADERS([$c_model]) GLIBCPP_ENABLE_THREADS GLIBCPP_ENABLE_CXX_FLAGS([none]) GLIBCPP_ENABLE_SJLJ_EXCEPTIONS +GLIBCPP_ENABLE_LIBUNWIND_EXCEPTIONS GLIBCPP_ENABLE_CONCEPT_CHECKS +# Check for headers necessary for libsupc++ using dyn-string.c/cxa_demangle.c +AC_CHECK_HEADERS(string.h stdlib.h) if test -n "$with_cross_host" || test x"$build" != x"$host"; then @@ -82,7 +91,7 @@ if test -n "$with_cross_host" || test x"$build" != x"$host"; then # GLIBCPP_CHECK_BUILTIN_MATH_SUPPORT # GLIBCPP_CHECK_MATH_SUPPORT - case "$target_alias" in + case "$target" in *-linux*) # Check for available headers. AC_CHECK_HEADERS([nan.h ieeefp.h endian.h sys/isa_defs.h \ @@ -141,48 +150,83 @@ if test -n "$with_cross_host" || test x"$build" != x"$host"; then AC_DEFINE(HAVE_FREXPF) AC_DEFINE(HAVE_HYPOTF) ;; + *-mingw32*) + AC_CHECK_HEADERS([sys/types.h locale.h float.h]) + GLIBCPP_CHECK_LINKER_FEATURES + GLIBCPP_CHECK_COMPLEX_MATH_SUPPORT + GLIBCPP_CHECK_WCHAR_T_SUPPORT + os_include_dir="config/os/mingw32" + ;; +changequote(,)dnl + *-qnx6.[12]*) +changequote([,])dnl + SECTION_FLAGS='-ffunction-sections -fdata-sections' + AC_SUBST(SECTION_FLAGS) + GLIBCPP_CHECK_LINKER_FEATURES + GLIBCPP_CHECK_COMPLEX_MATH_SUPPORT + GLIBCPP_CHECK_WCHAR_T_SUPPORT + os_include_dir="config/os/qnx/qnx6.1" + AC_DEFINE(HAVE_COSF) + AC_DEFINE(HAVE_COSL) + AC_DEFINE(HAVE_COSHF) + AC_DEFINE(HAVE_COSHL) + AC_DEFINE(HAVE_LOGF) + AC_DEFINE(HAVE_LOGL) + AC_DEFINE(HAVE_LOG10F) + AC_DEFINE(HAVE_LOG10L) + AC_DEFINE(HAVE_SINF) + AC_DEFINE(HAVE_SINL) + AC_DEFINE(HAVE_SINHF) + AC_DEFINE(HAVE_SINHL) + ;; *) os_include_dir="config/os/newlib" AC_DEFINE(HAVE_HYPOT) ;; esac - # GLIBCPP_CHECK_STDLIB_SUPPORT - AC_DEFINE(HAVE_STRTOF) - AC_DEFINE(HAVE_STRTOLD) - # AC_FUNC_MMAP - AC_DEFINE(HAVE_MMAP) - - AC_DEFINE(HAVE_ACOSF) - AC_DEFINE(HAVE_ASINF) - AC_DEFINE(HAVE_ATAN2F) - AC_DEFINE(HAVE_ATANF) - AC_DEFINE(HAVE_CEILF) - AC_DEFINE(HAVE_COPYSIGN) - AC_DEFINE(HAVE_COPYSIGNF) - AC_DEFINE(HAVE_COSF) - AC_DEFINE(HAVE_COSHF) - AC_DEFINE(HAVE_EXPF) - AC_DEFINE(HAVE_FABSF) - AC_DEFINE(HAVE_FINITE) - AC_DEFINE(HAVE_FINITEF) - AC_DEFINE(HAVE_FLOORF) - AC_DEFINE(HAVE_FMODF) - AC_DEFINE(HAVE_FREXPF) - AC_DEFINE(HAVE_ISINF) - AC_DEFINE(HAVE_ISINFF) - AC_DEFINE(HAVE_ISNAN) - AC_DEFINE(HAVE_ISNANF) - AC_DEFINE(HAVE_LDEXPF) - AC_DEFINE(HAVE_LOG10F) - AC_DEFINE(HAVE_LOGF) - AC_DEFINE(HAVE_MODFF) - AC_DEFINE(HAVE_POWF) - AC_DEFINE(HAVE_SINF) - AC_DEFINE(HAVE_SINHF) - AC_DEFINE(HAVE_SQRTF) - AC_DEFINE(HAVE_TANF) - AC_DEFINE(HAVE_TANHF) + case "$target" in + *-mingw32*) + ;; + *) + # GLIBCPP_CHECK_STDLIB_SUPPORT + AC_DEFINE(HAVE_STRTOF) + AC_DEFINE(HAVE_STRTOLD) + # AC_FUNC_MMAP + AC_DEFINE(HAVE_MMAP) + + AC_DEFINE(HAVE_ACOSF) + AC_DEFINE(HAVE_ASINF) + AC_DEFINE(HAVE_ATAN2F) + AC_DEFINE(HAVE_ATANF) + AC_DEFINE(HAVE_CEILF) + AC_DEFINE(HAVE_COPYSIGN) + AC_DEFINE(HAVE_COPYSIGNF) + AC_DEFINE(HAVE_COSF) + AC_DEFINE(HAVE_COSHF) + AC_DEFINE(HAVE_EXPF) + AC_DEFINE(HAVE_FABSF) + AC_DEFINE(HAVE_FINITE) + AC_DEFINE(HAVE_FINITEF) + AC_DEFINE(HAVE_FLOORF) + AC_DEFINE(HAVE_FMODF) + AC_DEFINE(HAVE_FREXPF) + AC_DEFINE(HAVE_ISINF) + AC_DEFINE(HAVE_ISINFF) + AC_DEFINE(HAVE_ISNAN) + AC_DEFINE(HAVE_ISNANF) + AC_DEFINE(HAVE_LDEXPF) + AC_DEFINE(HAVE_LOG10F) + AC_DEFINE(HAVE_LOGF) + AC_DEFINE(HAVE_MODFF) + AC_DEFINE(HAVE_POWF) + AC_DEFINE(HAVE_SINF) + AC_DEFINE(HAVE_SINHF) + AC_DEFINE(HAVE_SQRTF) + AC_DEFINE(HAVE_TANF) + AC_DEFINE(HAVE_TANHF) + ;; + esac # At some point, we should differentiate between architectures # like x86, which have long double versions, and alpha/powerpc/etc., @@ -226,7 +270,7 @@ else # Check for available headers. AC_CHECK_HEADERS([nan.h ieeefp.h endian.h sys/isa_defs.h machine/endian.h \ - machine/param.h sys/machine.h fp.h locale.h float.h inttypes.h gconv.h]) + machine/param.h sys/machine.h fp.h locale.h float.h inttypes.h gconv.h sys/types.h]) GLIBCPP_CHECK_COMPILER_FEATURES GLIBCPP_CHECK_LINKER_FEATURES @@ -235,6 +279,7 @@ else GLIBCPP_CHECK_COMPLEX_MATH_SUPPORT GLIBCPP_CHECK_WCHAR_T_SUPPORT GLIBCPP_CHECK_STDLIB_SUPPORT + GLIBCPP_CHECK_UNISTD_SUPPORT AC_LC_MESSAGES AC_TRY_COMPILE([ @@ -272,9 +317,6 @@ else multilib_arg= fi -# Needed so that g++ can find the correct include subdir automatically. -INTERFACE=v3 - # Export all the install information GLIBCPP_EXPORT_INSTALL_INFO @@ -301,6 +343,7 @@ AC_OUTPUT(Makefile \ libmath/Makefile libio/Makefile libsupc++/Makefile \ po/Makefile testsuite/Makefile mkcheck testsuite_flags, [if test -n "$CONFIG_FILES"; then + LD="${ORIGINAL_LD_FOR_MULTILIBS}" ac_file=Makefile . ${glibcpp_basedir}/../config-ml.in grep '^MULTISUBDIR =' Makefile >> src/Makefile grep '^MULTISUBDIR =' Makefile >> libsupc++/Makefile @@ -318,6 +361,31 @@ glibcpp_basedir=${glibcpp_basedir} CC="${CC}" CXX="${CXX}" ) +dnl In autoconf 2.5x, AC_OUTPUT is replaced by three AC_ macros: +dnl AC_CONFIG_FILES(Makefile \ +dnl include/Makefile src/Makefile \ +dnl libmath/Makefile libio/Makefile libsupc++/Makefile \ +dnl po/Makefile testsuite/Makefile mkcheck testsuite_flags) +dnl AC_CONFIG_COMMANDS([default], +dnl [if test -n "$CONFIG_FILES"; then +dnl ac_file=Makefile . ${glibcpp_basedir}/../config-ml.in +dnl grep '^MULTISUBDIR =' Makefile >> src/Makefile +dnl grep '^MULTISUBDIR =' Makefile >> libsupc++/Makefile +dnl fi +dnl chmod +x mkcheck +dnl chmod +x testsuite_flags +dnl ], +dnl srcdir=${srcdir} +dnl host=${host} +dnl target=${target} +dnl with_multisubdir=${with_multisubdir} +dnl ac_configure_args="${multilib_arg} ${ac_configure_args}" +dnl CONFIG_SHELL=${CONFIG_SHELL-/bin/sh} +dnl glibcpp_basedir=${glibcpp_basedir} +dnl CC="${CC}" +dnl CXX="${CXX}" +dnl ) +dnl AC_OUTPUT # Sanity checking & User-visible messages. @@ -332,11 +400,11 @@ if test ! -f stamp-sanity-warned; then touch stamp-sanity-warned echo "" echo "Please make certain that you read the installation information here:" - echo " faster => ${srcdir}/docs/install.html" + echo " faster => ${srcdir}/docs/html/install.html" echo " slower => <URL:http://gcc.gnu.org/onlinedocs/libstdc++/install.html>" echo "" echo "and the configuration information here:" - echo " faster => ${srcdir}/docs/configopts.html" + echo " faster => ${srcdir}/docs/html/configopts.html" echo " slower => <URL:http://gcc.gnu.org/onlinedocs/libstdc++/configopts.html>" echo "" echo "before proceeding with ${_cv_gnu_make_command}." |