aboutsummaryrefslogtreecommitdiff
path: root/libstdc++-v3/configure.in
diff options
context:
space:
mode:
Diffstat (limited to 'libstdc++-v3/configure.in')
-rw-r--r--libstdc++-v3/configure.in127
1 files changed, 87 insertions, 40 deletions
diff --git a/libstdc++-v3/configure.in b/libstdc++-v3/configure.in
index 8131c26256e..663e4f3d7fa 100644
--- a/libstdc++-v3/configure.in
+++ b/libstdc++-v3/configure.in
@@ -1,9 +1,15 @@
# 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
@@ -14,8 +20,9 @@ libtool_VERSION=4:0:0
AC_SUBST(libtool_VERSION)
# 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)
@@ -24,7 +31,7 @@ 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(.)
@@ -48,6 +55,7 @@ GLIBCPP_ENABLE_CHEADERS([c_std])
GLIBCPP_ENABLE_THREADS
GLIBCPP_ENABLE_CXX_FLAGS([none])
GLIBCPP_ENABLE_SJLJ_EXCEPTIONS
+GLIBCPP_ENABLE_LIBUNWIND_EXCEPTIONS
GLIBCPP_ENABLE_CONCEPT_CHECKS
@@ -141,48 +149,61 @@ 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"
+ ;;
*)
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_alias" 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.,
@@ -301,6 +322,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 +340,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.