diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index 6a85c2700cec30327ed61090f897d384240610f3..abb466fe9810ec2bde3b110dc8bfc7cf80088bef 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,5 +1,11 @@ 2005-08-03 Geoffrey Keating <geoffk@apple.com> + * configure.ac: Don't use GCC_NO_EXECUTABLES or clear + GLIBCXX_IS_NATIVE on Darwin crosses. + * acinclude.m4 (GLIBCXX_CONFIGURE_TESTSUITE): Don't skip configuring + the testsuite just because there's no symbol versioning. + * configure: Regenerate. + * acinclude.m4 (GLIBCXX_CHECK_SETRLIMIT_ancilliary): Print status messages. (GLIBCXX_CHECK_S_ISREG_OR_S_IFREG): Likewise. diff --git a/libstdc++-v3/acinclude.m4 b/libstdc++-v3/acinclude.m4 index d8c433ec915ae8338882019010596264171c165b..d66970220a410d0a2c8444adabdcb22165a7b2d0 100644 --- a/libstdc++-v3/acinclude.m4 +++ b/libstdc++-v3/acinclude.m4 @@ -554,24 +554,22 @@ dnl Substs: dnl baseline_dir dnl AC_DEFUN([GLIBCXX_CONFIGURE_TESTSUITE], [ - if $GLIBCXX_IS_NATIVE && test $is_hosted = yes && - test $enable_symvers != no; then + if $GLIBCXX_IS_NATIVE ; then # Do checks for resource limit functions. GLIBCXX_CHECK_SETRLIMIT # Look for setenv, so that extended locale tests can be performed. GLIBCXX_CHECK_STDLIB_DECL_AND_LINKAGE_3(setenv) + fi - if test $enable_symvers = no; then - enable_abi_check=no - else - case "$host" in - *-*-cygwin*) - enable_abi_check=no ;; - *) - enable_abi_check=yes ;; - esac - fi + if $GLIBCXX_IS_NATIVE && test $is_hosted = yes && + test $enable_symvers != no; then + case "$host" in + *-*-cygwin*) + enable_abi_check=no ;; + *) + enable_abi_check=yes ;; + esac else # Only build this as native, since automake does not understand # CXX_FOR_BUILD. diff --git a/libstdc++-v3/configure b/libstdc++-v3/configure index 4c71e9578d31635b87a9be624825ee4be323da52..1a32ed4d2f793b70dd9fe157a5e51da94c0e6720 100755 --- a/libstdc++-v3/configure +++ b/libstdc++-v3/configure @@ -1542,7 +1542,24 @@ target_alias=${target_alias-$host_alias} if test "$build" != "$host"; then # We are being configured with some form of cross compiler. GLIBCXX_IS_NATIVE=false + case "$host","$target" in + # Darwin crosses can use the host system's libraries and headers, + # because of the fat library support. Of course, it must be the + # same version of Darwin on both sides. Allow the user to + # just say --target=foo-darwin without a version number to mean + # "the version on this system". + *-*-darwin*,*-*-darwin*) + hostos=`echo $host | sed 's/.*-darwin/darwin/'` + targetos=`echo $target | sed 's/.*-darwin/darwin/'` + if test $hostos = $targetos -o $targetos = darwin ; then + GLIBCXX_IS_NATIVE=true + fi + ;; + + *) + ;; + esac else GLIBCXX_IS_NATIVE=true fi @@ -4439,7 +4456,7 @@ test x"$pic_mode" = xno && libtool_flags="$libtool_flags --prefer-non-pic" case $host in *-*-irix6*) # Find out which ABI we are using. - echo '#line 4442 "configure"' > conftest.$ac_ext + echo '#line 4459 "configure"' > conftest.$ac_ext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? @@ -5059,7 +5076,7 @@ fi; # # Fake what AC_TRY_COMPILE does. XXX Look at redoing this new-style. cat > conftest.$ac_ext << EOF -#line 5062 "configure" +#line 5079 "configure" struct S { ~S(); }; void bar(); void foo() @@ -87579,8 +87596,7 @@ echo "$as_me: versioning on shared library symbols is $enable_symvers" >&6;} # This depends on GLIBCXX_ENABLE_SYMVERS and GLIBCXX_IS_NATIVE. - if $GLIBCXX_IS_NATIVE && test $is_hosted = yes && - test $enable_symvers != no; then + if $GLIBCXX_IS_NATIVE ; then # Do checks for resource limit functions. setrlimit_have_headers=yes @@ -88302,17 +88318,16 @@ done fi + fi - if test $enable_symvers = no; then - enable_abi_check=no - else - case "$host" in - *-*-cygwin*) - enable_abi_check=no ;; - *) - enable_abi_check=yes ;; - esac - fi + if $GLIBCXX_IS_NATIVE && test $is_hosted = yes && + test $enable_symvers != no; then + case "$host" in + *-*-cygwin*) + enable_abi_check=no ;; + *) + enable_abi_check=yes ;; + esac else # Only build this as native, since automake does not understand # CXX_FOR_BUILD. diff --git a/libstdc++-v3/configure.ac b/libstdc++-v3/configure.ac index 9a36f095002afc47fb28b938d4ade3b4f01033f5..d350e6e99103f440c7615b9acc1d3d8f7da8ef95 100644 --- a/libstdc++-v3/configure.ac +++ b/libstdc++-v3/configure.ac @@ -41,7 +41,24 @@ target_alias=${target_alias-$host_alias} if test "$build" != "$host"; then # We are being configured with some form of cross compiler. GLIBCXX_IS_NATIVE=false - GCC_NO_EXECUTABLES + case "$host","$target" in + # Darwin crosses can use the host system's libraries and headers, + # because of the fat library support. Of course, it must be the + # same version of Darwin on both sides. Allow the user to + # just say --target=foo-darwin without a version number to mean + # "the version on this system". + *-*-darwin*,*-*-darwin*) + hostos=`echo $host | sed 's/.*-darwin/darwin/'` + targetos=`echo $target | sed 's/.*-darwin/darwin/'` + if test $hostos = $targetos -o $targetos = darwin ; then + GLIBCXX_IS_NATIVE=true + fi + ;; + + *) + GCC_NO_EXECUTABLES + ;; + esac else GLIBCXX_IS_NATIVE=true fi