OSDN Git Service

* Fix for g++/15861
[pf3gnuchains/gcc-fork.git] / config.if
index f8e086d..2655bc3 100644 (file)
--- a/config.if
+++ b/config.if
@@ -2,9 +2,7 @@
 # Don't call it directly. This shell script fragment is called to
 # determine:
 #
-#      1. libstcxx_interface: the interface name for libstdc++.
-#      2. cxx_interface: the interface name for c++.
-#      3. libc_interface: the interface name for libc.
+#      1. libstcxx_incdir: the interface name for libstdc++.
 #
 
 # Get the top level src dir.
@@ -21,74 +19,19 @@ else
   if_topsrcdir=${top_srcdir}
 fi
 
-if [ "${enable_libstdcxx_v3}" = "yes" ] ; then
-  libstdcxx_srcdir=${if_topsrcdir}/libstdc++-v3
-else
-  libstdcxx_srcdir=${if_topsrcdir}/libstdc++
+# Set libstdcxx_incdir.
+# This is the same as gcc/configure.in and libstdc++-v3/acinclude.m4. 
+if test -z "$gcc_version"; then
+  if test -z "${gcc_version_trigger}" \
+     && test -f ${if_topsrcdir}/gcc/version.c; then
+    gcc_version_trigger=${if_topsrcdir}/gcc/version.c
+  fi    
+  if test -f "${gcc_version_trigger}"; then
+    gcc_version_full=`grep version_string "${gcc_version_trigger}" | sed -e 's/.*"\([^"]*\)".*/\1/'`
+  else
+    gcc_version_full=`$CC -v 2>&1 | sed -n 's/^gcc version //p'`
+  fi
+  gcc_version=`echo ${gcc_version_full} | sed -e 's/\([^ ]*\) .*/\1/'`
 fi
+libstdcxx_incdir=c++/${gcc_version}
 
-echo "${libstdcxx_srcdir} is where"
-if [ -f ${libstdcxx_srcdir}/Makefile.in ]; then
-# We check libstdc++ for libstdcxx_interface.
-libstdcxx_interface=`grep "^INTERFACE" ${libstdcxx_srcdir}/Makefile.in | sed 's/INTERFACE[     ]*=[    ]*\(.*\)/\1/'`
-else
-libstdcxx_interface=
-fi
-
-if [ -f ${if_topsrcdir}/gcc/cp/Makefile.in ]; then
-# We check gcc/cp for cxx_interface.
-cxx_interface=`grep "^INTERFACE" ${if_topsrcdir}/gcc/cp/Makefile.in | sed 's/INTERFACE[        ]*=[    ]*\(.*\)/\1/'`
-else
-cxx_interface=
-fi
-
-# The trickiest part is libc_interface.
-if [ -z "${libc_interface}" ]
-then
-  case ${target_os} in
-  *linux*libc1*|*linux*libc5*)
-    case ${target_alias} in
-    *alpha*|*powerpc*)
-      libc_interface=-libc5.9-
-      ;;
-    *)
-      libc_interface=-libc5-
-      ;;
-    esac
-    ;;
-  *linux*gnu*)
-    # We have to work harder to figure it out.
-    if [ ${target_alias} = ${build_alias} ]
-    then
-      dummy=if$$
-      cat >$dummy.c <<EOF
-#include <features.h>                      
-main(argc, argv)
-     int argc;          
-     char *argv[];
-{
-  printf("%d\n", __GLIBC_MINOR__);
-  return 0;
-}
-EOF
-      ${CC-cc} $dummy.c -o $dummy 2>/dev/null
-      if [ "$?" = 0 ]
-      then
-       libc_interface=-libc6.`./$dummy`-
-       rm -f $dummy.c $dummy
-      else
-       # It should never happen.
-       echo "Cannot find the GNU C library minor version number." >&2
-       rm -f $dummy.c $dummy
-       exit 1
-      fi
-    else
-      # Cross compiling. Assume glibc 2.1.
-      libc_interface=-libc6.1-
-    fi
-    ;;
-  *)
-    libc_interface=-
-    ;;
-  esac
-fi