stringpool.c (stringpool_statistics): Also report number and percentage of entries...
[gcc.git] / libio / configure.in
index ef19da09f48507d68bff25b3b8eab6397c8de108..2a14a926d39d3ad96cec211d7a7633a58c2fbfa9 100644 (file)
@@ -2,6 +2,25 @@
 # necessary for a configure script to process the program in
 # this directory.  For more information, look at ../configure.
 
+# If the language specific compiler does not exist, but the "gcc" directory 
+# does, we do not build anything. Note, $r is set by the top-level Makefile.
+# Note that when we look for the compiler, we search both with and without
+# extension to handle cross and canadian cross builds. 
+# Note that if $norecursion is set we're being called from config.status,
+# so don't check for the compiler; we might be doing a make clean.
+compiler_name=cc1plus
+rm -f skip-this-dir
+if test -n "$r" && [ -z "$norecursion" ] ; then
+  if test -d "$r"/gcc; then
+    if test -f "$r"/gcc/$compiler_name \
+       || test -f "$r"/gcc/$compiler_name.exe; then
+      true
+    else
+      echo "rm -f multilib.out" > skip-this-dir
+    fi
+  fi
+fi
+
 if [ "${srcdir}" = "." ] ; then
   if [ "${with_target_subdir}" != "." ] ; then
     topsrcdir=${with_multisrctop}../..
@@ -28,19 +47,27 @@ package_makefile_rules_frag=Make.pack.r
 
 echo "# Warning: this fragment is automatically generated" > temp.mt
 frags=
+case x$enable_threads in
+       xno) ;;
+       *)   mtsafe=mtsafe.mt ;;
+esac
 
 case "${target}" in
+  *-mpeix*)      frags="mpeix.mt" ;;
   *-hpux*)       frags=hpux.mt ;;
-  alpha*-*-linux-gnulibc1)
-                frags="linux.mt linuxaxp1.mt mtsafe.mt" ;;
-  powerpc*-*-linux-gnulibc1)
-                frags="linux.mt linuxaxp1.mt mtsafe.mt" ;;
-  *-linux-gnulibc1)
+  alpha*-*-linux*libc1)
+                frags="linux.mt linuxaxp1.mt $mtsafe" ;;
+  powerpc*-*-linux*libc1)
+                frags="linux.mt linuxaxp1.mt $mtsafe" ;;
+  *-linux*libc1)
                 frags=linuxlibc1.mt ;;
-  *-linux-gnu)   frags="linux.mt mtsafe.mt" ;;
-  *-sco3.2v[45]*)   frags=sco4.mt ;;
+  *-linux*)
+                frags="linux.mt $mtsafe" ;;
   *-isc*)        frags=isc.mt ;;
   *-netware*)    frags=netware.mt ;;
+  *-dgux*)      frags=dgux.mt ;;
+  *vxworks*)     frags="vxworks.mt" ;;
+  *-beos*)      frags="beos.mt $mtsafe" ;;
   *)             frags=${target_cpu}.mt ;;
 esac
 
@@ -53,17 +80,20 @@ esac
 
 if [ "${shared}" = "yes" ]; then
   case "${target}" in
-    hppa*-*)    frags="${frags} ../../config/mh-papic" ;;
-    i[3456]86-*) frags="${frags} ../../config/mh-x86pic" ;;
-    alpha*-*-linux*)
-                frags="${frags} ../../config/mh-elfalphapic" ;;
-    *)          frags="${frags} ../../config/mh-${target_cpu}pic" ;;
+    alpha*-*-linux*)   frags="${frags} ../../config/mh-elfalphapic" ;;
+    arm*-*-*)          frags="${frags} ../../config/mh-armpic" ;;
+    hppa*-*-*)         frags="${frags} ../../config/mh-papic" ;;
+    i[3456]86-*-*)     frags="${frags} ../../config/mh-x86pic" ;;
+    powerpc*-*-aix*)   ;;
+    powerpc*-*-*)      frags="${frags} ../../config/mh-ppcpic" ;;
+    sparc*-*-*)                frags="${frags} ../../config/mh-sparcpic" ;;
+    *-*-*)             frags="${frags} ../../config/mh-${target_cpu}pic" ;;
   esac
 fi
 
 # Take care of header file lossage.
 case "${target}" in
-  alpha*-*-linux-gnulibc1)
+  alpha*-*-linux*libc1)
     # For some reason stdio-lock.h is not installed on Red Hat systems.
     # Further, libc-lock.h needs to define the pthreads stuff weak, and
     # fails to do this for other than _LIBC.  Install our own versions
@@ -71,7 +101,7 @@ case "${target}" in
     cp ${srcdir}/config/linuxaxp1-libc-lock.h libc-lock.h
     cp ${srcdir}/config/linuxaxp1-stdio-lock.h stdio-lock.h
     ;;
-  powerpc*-*-linux-gnulibc1)
+  powerpc*-*-linux*libc1)
     # For some reason stdio-lock.h is not installed on Red Hat systems.
     # Further, libc-lock.h needs to define the pthreads stuff weak, and
     # fails to do this for other than _LIBC.  Install our own versions
@@ -79,12 +109,12 @@ case "${target}" in
     cp ${srcdir}/config/linuxaxp1-libc-lock.h libc-lock.h
     cp ${srcdir}/config/linuxaxp1-stdio-lock.h stdio-lock.h
     ;;
-  *-linux-gnu)
+  *-linux*)
     # We have a correct libc-lock.h in glibc 2.1 but not all glibc 2.0.
     # Create a wrapper if necessary.
     (echo "#include <bits/libc-lock.h>" | ${CC-cc} -E -) >/dev/null 2>&1 ||
       {
-       echo "#include_next <libc-lock.h>" > libc-lock.h
+       echo " #include_next <libc-lock.h>" > libc-lock.h
        echo 'asm (".weak _pthread_cleanup_pop_restore");' >> libc-lock.h
        echo 'asm (".weak _pthread_cleanup_push_defer");' >> libc-lock.h
 
@@ -116,7 +146,7 @@ LIBDIR=yes
 TO_TOPDIR=../
 ALL='$(_G_CONFIG_H) libio.a libiostream.a iostream.list'
 case "${target}" in
-  *-*-cygwin32*)
+  *-*-cygwin*)
     XCINCLUDES='-I. -I$(srcdir) -I$(srcdir)/../winsup/include'
     XCXXINCLUDES='-I. -I$(srcdir) -I$(srcdir)/../winsup/include'
     ;;
@@ -136,15 +166,43 @@ fi
 
 # post-target:
 
-# If cross-compiling, don't build gperf or the utils.  They
-# will get built by the target compiler, which is confusing.
-# We cannot test the installation.  We install in $(tooldir).
+# If cross-compiling, we install in $(tooldir)/lib or in $(libsubdir)
+# depending on --enable-version-specific-runtime-libs.
 if [ -n "${with_cross_host}" ] ; then
     rm -f Makefile.tem
     sed \
-       -e 's|\(^[      ]*INSTALLDIR[   ]*=[    ]*\)[^  ;]*|\1$(tooldir)/lib|' \
+        -e 's|\(^[     ]*INSTALLDIR[   ]*=[    ]*\)\$(libdir)|\1$(tooldir)/lib|' \
        Makefile >Makefile.tem
     mv -f Makefile.tem Makefile
 fi
 
 . ${topsrcdir}/config-ml.in
+
+gxx_include_dir=
+# Specify the g++ header file directory
+# Check whether --with-gxx-include-dir or --without-gxx-include-dir was given.
+if test "${with_gxx_include_dir+set}" = set; then
+  withval="$with_gxx_include_dir"
+  case "${withval}" in
+    yes)
+      echo "configure.in: error: bad value ${withval} given for g++ include directory" 1>&2
+      exit 1
+      ;;
+    no)        ;;
+    *) gxx_include_dir=$with_gxx_include_dir ;;
+  esac
+fi
+
+if test x${gxx_include_dir} = x; then
+  if test x${enable_version_specific_runtime_libs} = xyes; then
+    gxx_include_dir='${libsubdir}/include/g++'
+  else
+    . ${topsrcdir}/config.if
+    gxx_include_dir='${prefix}/include/g++'-${libstdcxx_interface}
+  fi
+fi
+
+rm -f Makefile.tem
+sed -e "s%^gxx_include_dir[    ]*=.*$%gxx_include_dir=${gxx_include_dir}%" \
+       Makefile >Makefile.tem
+mv -f Makefile.tem Makefile