From 7fc36fdab48317bb4467e5c338c6104f47e52e5c Mon Sep 17 00:00:00 2001 From: Ian Lance Taylor Date: Tue, 21 Nov 1995 19:13:51 +0000 Subject: [PATCH] * 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. --- ChangeLog | 14 ++++++++++++++ configure | 34 ++++++++++++++++++++++++++++------ configure.in | 18 +++++++++++++++--- 3 files changed, 57 insertions(+), 9 deletions(-) diff --git a/ChangeLog b/ChangeLog index a65494c..68706ad 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,17 @@ +Tue Nov 21 14:08:28 1995 Ian Lance Taylor + + * 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 + + * 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 diff --git a/configure b/configure index a86251f..ee6880e 100755 --- 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 diff --git a/configure.in b/configure.in index 10d9214..a50e49c 100644 --- a/configure.in +++ b/configure.in @@ -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}%" \ -- 2.7.4