* configure.in: Strip --host and --target options from
authorIan Lance Taylor <ian@airs.com>
Tue, 21 Nov 1995 19:13:51 +0000 (19:13 +0000)
committerIan Lance Taylor <ian@airs.com>
Tue, 21 Nov 1995 19:13:51 +0000 (19:13 +0000)
CONFIG_ARGUMENTS, and always configure for --host only.  Add
--with-cross-host option when building with a cross-compiler.
* configure: Canonicalize the arguments put into config.status by
always using `=' for an option with an argument.  Pass a presumed
--host or --target explicitly.

ChangeLog
configure
configure.in

index a65494cf9db0e40548e11fa38cd8ee8fe346ad99..68706ad0bf65622b9e35c5a539048c795128fbd2 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,17 @@
+Tue Nov 21 14:08:28 1995  Ian Lance Taylor  <ian@cygnus.com>
+
+       * configure.in: Strip --host and --target options from
+       CONFIG_ARGUMENTS, and always configure for --host only.  Add
+       --with-cross-host option when building with a cross-compiler.
+       * configure: Canonicalize the arguments put into config.status by
+       always using `=' for an option with an argument.  Pass a presumed
+       --host or --target explicitly.
+
+Fri Nov 17 17:50:30 1995  Stan Shebs  <shebs@andros.cygnus.com>
+
+       * config.sub: Merge -macos*, -magic*, -pe*, and -win32 cases
+       into general OS recognition case.
+
 Fri Nov 17 17:42:25 1995  Jason Molenda  (crash@phydeaux.cygnus.com)
 
        * configure.in (target_configdirs): add target-winsup only
index a86251fa3c6cad6beff828582cb43db25944c011..ee6880e552d8a53bd2ac9d83c2e5af1acad9b4c3 100755 (executable)
--- a/configure
+++ b/configure
@@ -45,7 +45,7 @@ symbolic_link='ln -s'
 
 Makefile=Makefile
 Makefile_in=Makefile.in
-arguments=$*
+arguments=
 build_alias=
 cache_file=
 cache_file_option=
@@ -137,12 +137,17 @@ do
        case $option in
        --*=*)
                optarg=`echo $option | sed -e 's/^[^=]*=//'`
+               arguments="$arguments $option"
                ;;
 # These options have mandatory values.  Since we didn't find an = sign,
 # the value must be in the next argument
        --b* | --cache* | --ex* | --ho* | --pre* | --program-p* | --program-s* | --program-t* | --si* | --sr* | --ta* | --tm* | --x-*)
                optarg=$1
                shift
+               arguments="$arguments $option=$optarg"
+               ;;
+       --*)
+               arguments="$arguments $option"
                ;;
        esac
 
@@ -353,6 +358,8 @@ case "${fatal}" in
                        ;;
                *)
                        host_alias=$undefs
+                       arguments="--host=$host_alias $arguments"
+                       undefs=NOUNDEFS
                        ;;
                esac
        esac
@@ -367,6 +374,7 @@ case "${fatal}" in
                        ;;
                *)
                        target_alias=$undefs
+                       arguments="--target=$target_alias $arguments"
                        ;;
                esac
        esac
@@ -440,7 +448,18 @@ case "${srcdir}" in
                 fi
         fi
         ;;
-*) ;;
+*)
+       # Set srcdir to "." if that's what it is.
+       # This is important for multilib support.
+       if [ ! -d ${srcdir} ] ; then
+               echo "Invalid source directory ${srcdir}" >&2
+               exit 1
+       fi
+       pwd=`pwd`
+       srcpwd=`cd ${srcdir} ; pwd`
+       if [ "${pwd}" = "${srcpwd}" ] ; then
+               srcdir=.
+       fi
 esac
 
 ### warn about some conflicting configurations.
@@ -670,8 +689,8 @@ if [ "${build}" != "${host}" ]; then
 
   tools="AR AR_FOR_TARGET AS AS_FOR_TARGET BISON CC_FOR_BUILD"
   tools="${tools} CC_FOR_TARGET CXX_FOR_TARGET HOST_PREFIX"
-  tools="${tools} HOST_PREFIX_1 LEX MAKEINFO NM NM_FOR_TARGET"
-  tools="${tools} RANLIB RANLIB_FOR_TARGET"
+  tools="${tools} HOST_PREFIX_1 LD LD_FOR_TARGET LEX MAKEINFO NM"
+  tools="${tools} NM_FOR_TARGET RANLIB RANLIB_FOR_TARGET"
 
   for var in ${tools}; do
     if [ -z "`eval 'echo $'"${var}"`" -a -r Makefile ]; then
@@ -700,6 +719,8 @@ s/\\\n//g
   CXX_FOR_TARGET=${CXX_FOR_TARGET-${target_alias}-gcc}
   HOST_PREFIX=${build_alias}-
   HOST_PREFIX_1=${build_alias}-
+  LD=${LD-${host_alias}-ld}
+  LD_FOR_TARGET=${LD_FOR_TARGET-${target_alias}-ld}
   MAKEINFO=${MAKEINFO-makeinfo}
   NM=${NM-${host_alias}-nm}
   NM_FOR_TARGET=${NM_FOR_TARGET-${target_alias}-nm}
@@ -748,6 +769,7 @@ s/\\\n//g
   export AS
   export AR
   export CC_FOR_BUILD
+  export LD
   export NM
   export RANLIB
 else
@@ -757,7 +779,7 @@ else
     for dir in $PATH; do
       test -z "$dir" && dir=.
       if test -f $dir/gcc; then
-       CC="gcc"
+       CC="gcc -O2"
        break
       fi
     done
@@ -765,7 +787,7 @@ else
     CC=${CC-cc}
   fi
 
-  CXX=${CXX-"g++ -O"}
+  CXX=${CXX-"gcc"}
 fi
 
 export CC
index 10d92144638fbb2572cb26c94bd8fc0430417b70..a50e49cf7febab2ab89aee47fdb9abb482adb200 100644 (file)
@@ -654,9 +654,21 @@ fi
 # Record target_configdirs and the configure arguments in Makefile.
 target_configdirs=`echo "${target_configdirs}" | sed -e 's/target-//g'`
 targargs=`echo "${arguments}" | \
-       sed -e 's/--*norecursion//' \
-           -e 's/--*cache[a-z-]*=[^    ]*//' \
-           -e 's/--*cache[a-z-]*[      ][      ]*[^    ]*//'`
+       sed -e 's/--norecursion//' \
+           -e 's/--cache[a-z-]*=[^     ]*//' \
+           -e 's/--ho[a-z-]*=[^        ]*//' \
+           -e 's/--ta[a-z-]*=[^        ]*//'`
+
+# Passing a --with-cross-host argument lets the target libraries know
+# whether they are being built with a cross-compiler or being built
+# native.  However, it would be better to use other mechanisms to make the
+# sorts of decisions they want to make on this basis.  Please consider
+# this option to be deprecated.  FIXME.
+if [ x${is_cross_compiler} = xyes ]; then
+  targargs="--with-cross-host=${host_alias} $[targargs}"
+fi
+
+targargs="--host=${target_alias} ${targargs}"
 sed -e "s:^TARGET_CONFIGDIRS[  ]*=.*$:TARGET_CONFIGDIRS = ${target_configdirs}:" \
     -e "s%^CONFIG_ARGUMENTS[   ]*=.*$%CONFIG_ARGUMENTS = ${targargs}%" \
     -e "s%^TARGET_SUBDIR[      ]*=.*$%TARGET_SUBDIR = ${target_subdir}%" \