OSDN Git Service

PR c/10175
[pf3gnuchains/gcc-fork.git] / config-ml.in
index d528ac7..d19a797 100644 (file)
 # newlib.  It is up to each target to turn on multilib support for the other
 # libraries as desired.
 
-# We have to handle being invoked by both Cygnus configure and Autoconf.
-#
-# Cygnus configure incoming variables:
-# srcdir, subdir, host, arguments
-#
 # Autoconf incoming variables:
 # srcdir, host, ac_configure_args
 #
 # Note that `host' in this case is GCC's `target'.  Target libraries are
 # configured for a particular host.
 
-if [ -n "${ac_configure_args}" ]; then
-  Makefile=${ac_file-Makefile}
-  ml_config_shell=${CONFIG_SHELL-/bin/sh}
-  ml_arguments="${ac_configure_args}"
-  ml_realsrcdir=${srcdir}
-else
-  Makefile=${Makefile-Makefile}
-  ml_config_shell=${config_shell-/bin/sh}
-  ml_arguments="${arguments}"
-  if [ -n "${subdir}" -a "${subdir}" != "." ] ; then
-    ml_realsrcdir=${srcdir}/${subdir}
-  else
-    ml_realsrcdir=${srcdir}
-  fi
-fi
+Makefile=${ac_file-Makefile}
+ml_config_shell=${CONFIG_SHELL-/bin/sh}
+ml_arguments="${ac_configure_args}"
+ml_realsrcdir=${srcdir}
 
 # Scan all the arguments and set all the ones we need.
 
@@ -392,6 +376,28 @@ mips*-*-*)
        esac
        ;;
 powerpc*-*-* | rs6000*-*-*)
+       if [ x$enable_aix64 = xno ]
+       then
+         old_multidirs="${multidirs}"
+         multidirs=""
+         for x in ${old_multidirs}; do
+           case "$x" in
+             *ppc64* ) : ;;
+             *) multidirs="${multidirs} ${x}" ;;
+           esac
+         done
+       fi
+       if [ x$enable_pthread = xno ]
+       then
+         old_multidirs="${multidirs}"
+         multidirs=""
+         for x in ${old_multidirs}; do
+           case "$x" in
+             *pthread* ) : ;;
+             *) multidirs="${multidirs} ${x}" ;;
+           esac
+         done
+       fi
        if [ x$enable_softfloat = xno ]
        then
          old_multidirs="${multidirs}"
@@ -505,14 +511,16 @@ multidirs=`echo "$multidirs" | sed -e 's/^[ ][ ]*//' -e 's/[ ][ ]*$//' -e 's/[ ]
 
 cat > Multi.tem <<\EOF
 
+PWD=$${PWDCMD-pwd}
+
 # FIXME: There should be an @-sign in front of the `if'.
 # Leave out until this is tested a bit more.
 multi-do:
        if [ -z "$(MULTIDIRS)" ]; then \
          true; \
        else \
-         rootpre=`pwd`/; export rootpre; \
-         srcrootpre=`cd $(srcdir); pwd`/; export srcrootpre; \
+         rootpre=`${PWD}`/; export rootpre; \
+         srcrootpre=`cd $(srcdir); ${PWD}`/; export srcrootpre; \
          lib=`echo $${rootpre} | sed -e 's,^.*/\([^/][^/]*\)/$$,\1,'`; \
          compiler="$(CC)"; \
          for i in `$${compiler} --print-multi-lib 2>/dev/null`; do \
@@ -526,10 +534,12 @@ multi-do:
                                CFLAGS="$(CFLAGS) $${flags}" \
                                prefix="$(prefix)" \
                                exec_prefix="$(exec_prefix)" \
+                               GCJFLAGS="$(GCJFLAGS) $${flags}" \
                                CXXFLAGS="$(CXXFLAGS) $${flags}" \
                                LIBCFLAGS="$(LIBCFLAGS) $${flags}" \
                                LIBCXXFLAGS="$(LIBCXXFLAGS) $${flags}" \
                                LDFLAGS="$(LDFLAGS) $${flags}" \
+                               DESTDIR="$(DESTDIR)" \
                                $(DO)); then \
                  true; \
                else \
@@ -547,7 +557,7 @@ multi-clean:
        if [ -z "$(MULTIDIRS)" ]; then \
          true; \
        else \
-         lib=`pwd | sed -e 's,^.*/\([^/][^/]*\)$$,\1,'`; \
+         lib=`${PWD} | sed -e 's,^.*/\([^/][^/]*\)$$,\1,'`; \
          for dir in Makefile $(MULTIDIRS); do \
            if [ -f ../$${dir}/$${lib}/Makefile ]; then \
              if (cd ../$${dir}/$${lib}; $(MAKE) $(FLAGS_TO_PASS) $(DO)); \
@@ -654,10 +664,10 @@ if [ -n "${multidirs}" ] && [ -z "${ml_norecursion}" ]; then
 
   if [ "${ml_verbose}" = --verbose ]; then
     echo "Running configure in multilib subdirs ${multidirs}"
-    echo "pwd: `pwd`"
+    echo "pwd: `${PWDCMD-pwd}`"
   fi
 
-  ml_origdir=`pwd`
+  ml_origdir=`${PWDCMD-pwd}`
   ml_libdir=`echo $ml_origdir | sed -e 's,^.*/,,'`
   # cd to top-level-build-dir/${with_target_subdir}
   cd ..
@@ -666,7 +676,7 @@ if [ -n "${multidirs}" ] && [ -z "${ml_norecursion}" ]; then
 
     if [ "${ml_verbose}" = --verbose ]; then
       echo "Running configure in multilib subdir ${ml_dir}"
-      echo "pwd: `pwd`"
+      echo "pwd: `${PWDCMD-pwd}`"
     fi
 
     if [ -d ${ml_dir} ]; then true; else
@@ -694,7 +704,7 @@ if [ -n "${multidirs}" ] && [ -z "${ml_norecursion}" ]; then
 
     case ${srcdir} in
     ".")
-      echo Building symlink tree in `pwd`/${ml_dir}/${ml_libdir}
+      echo Building symlink tree in `${PWDCMD-pwd}`/${ml_dir}/${ml_libdir}
       if [ "${with_target_subdir}" != "." ]; then
        ml_unsubdir="../"
       else
@@ -733,7 +743,7 @@ if [ -n "${multidirs}" ] && [ -z "${ml_norecursion}" ]; then
     esac
 
     # FIXME: POPDIR=${PWD=`pwd`} doesn't work here.
-    ML_POPDIR=`pwd`
+    ML_POPDIR=`${PWDCMD-pwd}`
     cd ${ml_dir}/${ml_libdir}
 
     if [ -f ${ml_newsrcdir}/configure ]; then
@@ -748,11 +758,12 @@ if [ -n "${multidirs}" ] && [ -z "${ml_norecursion}" ]; then
         break
       fi
     done
-    ml_config_env='CC="${CC_}$flags" CXX="${CXX_}$flags"'
+    ml_config_env='CC="${CC_}$flags" CXX="${CXX_}$flags" GCJ="${GCJ_}$flags"'
 
     if [ "${with_target_subdir}" = "." ]; then
        CC_=$CC' '
        CXX_=$CXX' '
+       GCJ_=$GCJ' '
     else
        # Create a regular expression that matches any string as long
        # as ML_POPDIR.
@@ -781,6 +792,18 @@ if [ -n "${multidirs}" ] && [ -z "${ml_norecursion}" ]; then
          esac
        done
 
+       GCJ_=
+       for arg in ${GCJ}; do
+         case $arg in
+         -[BIL]"${ML_POPDIR}"/*)
+           GCJ_="${GCJ_}"`echo "X${arg}" | sed -n "s/X\\(-[BIL]${popdir_rx}\\).*/\\1/p"`/${ml_dir}`echo "X${arg}" | sed -n "s/X-[BIL]${popdir_rx}\\(.*\\)/\\1/p"`' ' ;;
+         "${ML_POPDIR}"/*)
+           GCJ_="${GCJ_}"`echo "X${arg}" | sed -n "s/X\\(${popdir_rx}\\).*/\\1/p"`/${ml_dir}`echo "X${arg}" | sed -n "s/X${popdir_rx}\\(.*\\)/\\1/p"`' ' ;;
+         *)
+           GCJ_="${GCJ_}${arg} " ;;
+         esac
+       done
+
        if test "x${LD_LIBRARY_PATH+set}" = xset; then
          LD_LIBRARY_PATH_=
          for arg in `echo "$LD_LIBRARY_PATH" | tr ':' ' '`; do