### WARNING: this file contains embedded tabs. Do not run untabify on this file.
# Configuration script
-# Copyright (C) 1988, 90, 91, 92, 93, 94, 95, 96, 97, 98, 1999
-# Free Software Foundation, Inc.
+# Copyright (C) 1988, 90, 91, 92, 93, 94, 95, 96, 97, 98, 1999, 2000, 2001,
+# 2002 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
configdirs=
extraconfigdirs=
diroptions=
+enable_threads=no
+enable_shared=no
+enable_libstdcxx_v3=yes
exec_prefix=
exec_prefixoption=
fatal=
progname=$0
# if PWD already has a value, it is probably wrong.
-if [ -n "$PWD" ]; then PWD=`pwd`; fi
+if [ -n "$PWD" ]; then PWD=`${PWDCMD-pwd}`; fi
case "${progname}" in
-/*) ;;
+/* | [A-Za-z]:[\\/]* ) ;;
*/*) ;;
*)
- PATH=$PATH:${PWD=`pwd`} ; export PATH
+ PATH=$PATH:${PWD=`${PWDCMD-pwd}`} ; export PATH
;;
esac
+# Export original configure arguments for use by sub-configures.
+TOPLEVEL_CONFIGURE_ARGUMENTS="$progname $@"
+export TOPLEVEL_CONFIGURE_ARGUMENTS
+
# Loop over all args
while :
esac
enableopt=`echo ${option} | sed 's:^--::;s:=.*$::;s:-:_:g'`
- eval "$enableopt='$optarg'"
+ eval "$enableopt=\$optarg"
enableoptions="$enableoptions '$option'"
;;
--exec-prefix* | --ex*)
esac
withopt=`echo ${option} | sed 's:^--::;s:=.*$::;s:-:_:g'`
- eval $withopt="$optarg"
+ eval $withopt="\$optarg"
withoptions="$withoptions $option"
;;
--without-*)
fi
;;
esac
- echo "Configuring for a ${host_alias} host." 1>&2
+ echo "Configuring for a ${host_alias} host."
arguments="--host=$host_alias $arguments"
else
echo 'Config.guess failed to determine the host type. You need to specify one.' 1>&2
configsub=`echo ${progname} | sed 's/configure$/config.sub/'`
moveifchange=`echo ${progname} | sed 's/configure$/move-if-change/'`
-topsrcdir=`cd \`dirname ${progname}\`; pwd`
+## the sed command below emulates the dirname command
+topsrcdir=`cd \`echo ${progname} | sed -e 's,[^/]*$,,;s,/$,,;s,^$,.,'\`; ${PWDCMD-pwd}`
# this is a hack. sun4 must always be a valid host alias or this will fail.
echo "Invalid source directory ${srcdir}" >&2
exit 1
fi
- pwd=`pwd`
- srcpwd=`cd ${srcdir} ; pwd`
+ pwd=`${PWDCMD-pwd}`
+ srcpwd=`cd ${srcdir} ; ${PWDCMD-pwd}`
if [ "${pwd}" = "${srcpwd}" ] ; then
srcdir=.
fi
".") ;;
*)
if [ -f ${srcdir}/config.status ] ; then
- echo '***' Cannot configure here in \"${PWD=`pwd`}\" when \"${srcdir}\" is currently configured. 1>&2
+ echo '***' Cannot configure here in \"${PWD=`${PWDCMD-pwd}`}\" when \"${srcdir}\" is currently configured. 1>&2
exit 1
fi
esac
-
# default exec_prefix
case "${exec_prefixoption}" in
"") exec_prefix="\$(prefix)" ;;
# the gcc version number changes.
if [ "${with_gcc_version_trigger+set}" = set ]; then
gcc_version_trigger="$with_gcc_version_trigger"
- gcc_version=`sed -e 's/.*\"\([^ \"]*\)[ \"].*/\1/' < ${with_gcc_version_trigger}`
+ gcc_version=`grep version_string ${with_gcc_version_trigger} | sed -e 's/.*\"\([^ \"]*\)[ \"].*/\1/'`
else
# If gcc's sources are available, define the trigger file.
if [ -f ${topsrcdir}/gcc/version.c ] ; then
gcc_version_trigger=${topsrcdir}/gcc/version.c
- gcc_version=`sed -e 's/.*\"\([^ \"]*\)[ \"].*/\1/' < ${gcc_version_trigger}`
+ gcc_version=`grep version_string ${gcc_version_trigger} | sed -e 's/.*\"\([^ \"]*\)[ \"].*/\1/'`
case "$arguments" in
*--with-gcc-version-trigger=$gcc_version_trigger* )
;;
*) ;;
esac
-# keep this filename short for &%*%$*# 14 char file names
-tmpfile=${TMPDIR}/cONf$$
+# keep this filename short for &%*%$*# 14 char file names and 8+3 file names
+tmpdir=${TMPDIR}/cNf$$
+mkdir ${tmpdir} || exit 1
+tmpfile=${tmpdir}/cNf$$
# Note that under many versions of sh a trap handler for 0 will *override* any
# exit status you explicitly specify! At this point, the only non-error exit
# is at the end of the script; these actions are duplicated there, minus
# the "exit 1". Don't use "exit 0" anywhere after this without resetting the
# trap handler, or you'll lose.
-trap "rm -f Makefile.tem ${tmpfile}.com ${tmpfile}.tgt ${tmpfile}.hst ${tmpfile}.pos; exit 1" 0 1 2 15
+trap "rm -rf Makefile.tem ${tmpdir}; exit 1" 0 1 2 15
# split ${srcdir}/configure.in into common, per-host, per-target,
# and post-target parts. Post-target is optional.
# Perform the same cleanup as the trap handler, minus the "exit 1" of course,
# and reset the trap handler.
trap 0
- rm -f Makefile* ${tmpfile}.com ${tmpfile}.tgt ${tmpfile}.hst ${tmpfile}.pos
+ rm -rf Makefile* ${tmpdir}
# Execute the final clean-up actions
${config_shell} skip-this-dir
# and stop configuring this directory.
# some sanity checks on configure.in
case "${srctrigger}" in
"")
- echo '***' srctrigger not set in ${PWD=`pwd`}/configure.in. 1>&2
+ echo '***' srctrigger not set in ${PWD=`${PWDCMD-pwd}`}/configure.in. 1>&2
exit 1
;;
*) ;;
if [ ! -r ${srcdir}/${srctrigger} ] ; then
case "${srcdirdefaulted}" in
- "") echo '***' "${progname}: Can't find ${srcname} sources in ${PWD=`pwd`}/${srcdir}" 1>&2 ;;
- *) echo '***' "${progname}: Can't find ${srcname} sources in ${PWD=`pwd`}/. or ${PWD=`pwd`}/.." 1>&2 ;;
+ "") echo '***' "${progname}: Can't find ${srcname} sources in ${PWD=`${PWDCMD-pwd}`}/${srcdir}" 1>&2 ;;
+ *) echo '***' "${progname}: Can't find ${srcname} sources in ${PWD=`${PWDCMD-pwd}`}/. or ${PWD=`${PWDCMD-pwd}`}/.." 1>&2 ;;
esac
echo '***' \(At least ${srctrigger} is missing.\) 1>&2
test -n "$DEFAULT_LEX" && break
done
-# BINUTILS LOCAL: This is included in the default CFLAGS when using gcc.
-warn_cflags="-W -Wall"
-
if [ "${build}" != "${host}" ]; then
# If we are doing a Canadian Cross, in which the host and build systems
# are not the same, we set reasonable default values for the tools.
tools="AR AR_FOR_TARGET AS AS_FOR_TARGET BISON CC_FOR_BUILD"
- tools="${tools} CC_FOR_TARGET CXX_FOR_TARGET"
- tools="${tools} DLLTOOL DLLTOOL_FOR_TARGET GCC_FOR_TARGET HOST_PREFIX"
- tools="${tools} HOST_PREFIX_1 LD LD_FOR_TARGET LEX MAKEINFO NM"
+ tools="${tools} CC_FOR_TARGET CXX_FOR_TARGET GCJ_FOR_TARGET"
+ tools="${tools} DLLTOOL DLLTOOL_FOR_TARGET GCC_FOR_TARGET BUILD_PREFIX"
+ tools="${tools} BUILD_PREFIX_1 LD LD_FOR_TARGET LEX MAKEINFO NM"
tools="${tools} NM_FOR_TARGET RANLIB RANLIB_FOR_TARGET"
tools="${tools} WINDRES WINDRES_FOR_TARGET YACC"
+ tools="${tools} OBJCOPY OBJDUMP"
for var in ${tools}; do
- if [ -z "`eval 'echo $'"${var}"`" ] && [ -r Makefile ]; then
+ if eval [ -z \"\$${var}\" ] && [ -r Makefile ]; then
sed -n -e ':loop
/\\$/ N
s/\\\n//g
< Makefile > Makefile.v
t=`tail -1 Makefile.v`
if [ -n "${t}" ]; then
- eval "${var}='${t}'"
+ eval "${var}=\${t}"
fi
rm -f Makefile.v
fi
AS_FOR_TARGET=${AS_FOR_TARGET-${target_alias}-as}
BISON=${BISON-bison}
CC=${CC-${host_alias}-gcc}
- CFLAGS=${CFLAGS-"-g -O2 ${warn_cflags}"}
+ CFLAGS=${CFLAGS-"-g -O2"}
CXX=${CXX-${host_alias}-c++}
CXXFLAGS=${CXXFLAGS-"-g -O2"}
CC_FOR_BUILD=${CC_FOR_BUILD-gcc}
CC_FOR_TARGET=${CC_FOR_TARGET-${target_alias}-gcc}
CXX_FOR_TARGET=${CXX_FOR_TARGET-${target_alias}-c++}
+ GCJ_FOR_TARGET=${GCJ_FOR_TARGET-${target_alias}-gcj}
DLLTOOL=${DLLTOOL-${host_alias}-dlltool}
DLLTOOL_FOR_TARGET=${DLLTOOL_FOR_TARGET-${target_alias}-dlltool}
GCC_FOR_TARGET=${GCC_FOR_TARGET-${CC_FOR_TARGET-${target_alias}-gcc}}
- HOST_PREFIX=${build_alias}-
- HOST_PREFIX_1=${build_alias}-
+ BUILD_PREFIX=${build_alias}-
+ BUILD_PREFIX_1=${build_alias}-
LD=${LD-${host_alias}-ld}
LD_FOR_TARGET=${LD_FOR_TARGET-${target_alias}-ld}
MAKEINFO=${MAKEINFO-makeinfo}
RANLIB_FOR_TARGET=${RANLIB_FOR_TARGET-${target_alias}-ranlib}
WINDRES=${WINDRES-${host_alias}-windres}
WINDRES_FOR_TARGET=${WINDRES_FOR_TARGET-${target_alias}-windres}
+ OBJCOPY=${OBJCOPY-${host_alias}-objcopy}
+ OBJDUMP=${OBJDUMP-${host_alias}-objdump}
if [ -z "${YACC}" ]; then
IFS="${IFS= }"; save_ifs="$IFS"; IFS="${IFS}:"
export NM
export RANLIB
export WINDRES
+ export OBJCOPY
+ export OBJDUMP
else
# If CC is still not set, try to get gcc.
if [ -z "${CC}" ]; then
CC="gcc"
echo 'void f(){}' > conftest.c
if test -z "`${CC} -g -c conftest.c 2>&1`"; then
- CFLAGS=${CFLAGS-"-g -O2 ${warn_cflags}"}
+ CFLAGS=${CFLAGS-"-g -O2"}
CXXFLAGS=${CXXFLAGS-"-g -O2"}
else
- CFLAGS=${CFLAGS-"-O2 ${warn_cflags}"}
+ CFLAGS=${CFLAGS-"-O2"}
CXXFLAGS=${CXXFLAGS-"-O2"}
fi
rm -f conftest*
*gcc)
echo 'void f(){}' > conftest.c
if test -z "`${CC} -g -c conftest.c 2>&1`"; then
- CFLAGS=${CFLAGS-"-g -O2 ${warn_cflags}"}
+ CFLAGS=${CFLAGS-"-g -O2"}
CXXFLAGS=${CXXFLAGS-"-g -O2"}
else
- CFLAGS=${CFLAGS-"-O2 ${warn_cflags}"}
+ CFLAGS=${CFLAGS-"-O2"}
CXXFLAGS=${CXXFLAGS-"-O2"}
fi
rm -f conftest*
export CFLAGS
export CXXFLAGS
+all_build_modules=
+if test x"${build_alias}" != x"${host_alias}"
+then
+ all_build_modules='$(ALL_BUILD_MODULES_LIST)'
+fi
for subdir in . ${subdirs} ; do
case "${srcdir}" in
".") # no -srcdir option. We're building in place.
makesrcdir=. ;;
- /*) # absolute path
+ /* | [A-Za-z]:[\\/]* ) # absolute path
makesrcdir=`echo ${srcdir}/${subdir} | sed -e 's|/\.$||'`
;;
*) # otherwise relative
if mkdir ${subdir} ; then
true
else
- echo '***' "${progname}: could not make ${PWD=`pwd`}/${subdir}" 1>&2
+ echo '***' "${progname}: could not make ${PWD=`${PWDCMD-pwd}`}/${subdir}" 1>&2
exit 1
fi
fi
sed -e "/^####/ r ${package_makefile_rules_frag}" ${srcdir}/${subdir}/${Makefile_in} > ${Makefile}.tem
else
echo '***' Expected package makefile rules fragment \"${package_makefile_rules_frag}\" 1>&2
- echo '***' is missing in ${PWD=`pwd`}. 1>&2
+ echo '***' is missing in ${PWD=`${PWDCMD-pwd}`}. 1>&2
cp ${srcdir}/${subdir}/${Makefile_in} ${subdir}/Makefile.tem
fi
esac
sed -e "/^####/ r ${host_makefile_frag}" ${Makefile} > ${subdir}/Makefile.tem
else
echo '***' Expected host makefile fragment \"${host_makefile_frag}\" 1>&2
- echo '***' is missing in ${PWD=`pwd`}. 1>&2
+ echo '***' is missing in ${PWD=`${PWDCMD-pwd}`}. 1>&2
mv ${Makefile} ${subdir}/Makefile.tem
fi
esac
sed -e "/^####/ r ${package_makefile_frag}" ${Makefile} > ${subdir}/Makefile.tem
else
echo '***' Expected package makefile fragment \"${package_makefile_rules_frag}\" 1>&2
- echo '***' is missing in ${PWD=`pwd`}. 1>&2
+ echo '***' is missing in ${PWD=`${PWDCMD-pwd}`}. 1>&2
mv ${Makefile} ${subdir}/Makefile.tem
fi
esac
# real copy now in ${subdir}/Makefile.tem
- # prepend warning about editting, and a bunch of variables.
+ # prepend warning about editing, and a bunch of variables.
rm -f ${Makefile}
cat > ${Makefile} <<EOF
# ${NO_EDIT}
case "${package_makefile_frag}" in
"") ;;
- /*) echo package_makefile_frag = ${package_makefile_frag} >>${Makefile} ;;
+ /* | [A-Za-z]:[\\/]* ) echo package_makefile_frag = ${package_makefile_frag} >>${Makefile} ;;
*) echo package_makefile_frag = ${invsubdir}${package_makefile_frag} >>${Makefile} ;;
esac
case "${target_makefile_frag}" in
"") ;;
- /*) echo target_makefile_frag = ${target_makefile_frag} >>${Makefile} ;;
+ /* | [A-Za-z]:[\\/]* ) echo target_makefile_frag = ${target_makefile_frag} >>${Makefile} ;;
*) echo target_makefile_frag = ${invsubdir}${target_makefile_frag} >>${Makefile} ;;
esac
case "${host_makefile_frag}" in
"") ;;
- /*) echo host_makefile_frag = ${host_makefile_frag} >>${Makefile} ;;
+ /* | [A-Za-z]:[\\/]* ) echo host_makefile_frag = ${host_makefile_frag} >>${Makefile} ;;
*) echo host_makefile_frag = ${invsubdir}${host_makefile_frag} >>${Makefile} ;;
esac
echo site_makefile_frag = ${invsubdir}${site_makefile_frag} >>${Makefile}
fi
- # record if we want to build shared libs.
- if test -z "${enable_shared}"; then
- echo enable_shared = no >> ${Makefile}
- else
- echo enable_shared = ${enable_shared} >> ${Makefile}
- fi
+ echo enable_shared = ${enable_shared} >> ${Makefile}
+ echo enable_threads = ${enable_threads} >> ${Makefile}
# record if we want to rumtime library stuff installed in libsubdir.
if test -z "${enable_version_specific_runtime_libs}"; then
echo enable_version_specific_runtime_libs = no >> ${Makefile}
# remove any form feeds.
if [ -z "${subdirs}" ]; then
rm -f ${subdir}/Makefile.tm2
- sed -e "s:^SUBDIRS[ ]*=.*$:SUBDIRS = ${configdirs}:" \
- -e "s:^NONSUBDIRS[ ]*=.*$:NONSUBDIRS = ${noconfigdirs}:" \
+ sedtemp=sed.$$
+ cat >$sedtemp <<EOF
+s:^SUBDIRS[ ]*=.*$:SUBDIRS = ${configdirs}:
+s:^NONSUBDIRS[ ]*=.*$:NONSUBDIRS = ${noconfigdirs}:
+EOF
+ sed -f $sedtemp \
${subdir}/Makefile.tem > ${subdir}/Makefile.tm2
+ rm -f $sedtemp
rm -f ${subdir}/Makefile.tem
mv ${subdir}/Makefile.tm2 ${subdir}/Makefile.tem
fi
-e "s|^oldincludedir[ ]*=.*$|oldincludedir = ${oldincludedir}|" \
-e "s|^infodir[ ]*=.*$|infodir = ${infodir}|" \
-e "s|^mandir[ ]*=.*$|mandir = ${mandir}|" \
+ -e "s|^ALL_BUILD_MODULES =.*|ALL_BUILD_MODULES =${all_build_modules}|" \
-e "/^CC[ ]*=/{
:loop1
/\\\\$/ N
-e "s:^program_suffix[ ]*=.*$:program_suffix = ${program_suffix}:" \
-e "s:^program_transform_name[ ]*=.*$:program_transform_name = ${program_transform_name}:" \
-e "s|^tooldir[ ]*=.*$|tooldir = ${tooldir}|" \
+ -e "s|^build_tooldir[ ]*=.*$|build_tooldir = ${tooldir}|" \
-e "s:^DEFAULT_YACC[ ]*=.*$:DEFAULT_YACC = ${DEFAULT_YACC}:" \
-e "s:^DEFAULT_LEX[ ]*=.*$:DEFAULT_LEX = ${DEFAULT_LEX}:" \
-e "s:^DEFAULT_M4[ ]*=.*$:DEFAULT_M4 = ${DEFAULT_M4}:" \
${subdir}/Makefile.tem >> ${Makefile}
+ sed -e "s:^GDB_TK[ ]*=.*$:GDB_TK = ${GDB_TK}:" ${Makefile} >${Makefile}.tem
+ mv -f ${Makefile}.tem ${Makefile}
# If this is a Canadian Cross, preset the values of many more
# tools.
if [ "${build}" != "${host}" ]; then
for var in ${tools}; do
- val=`eval 'echo $'"${var}"`
+ eval val=\$${var}
sed -e "/^${var}[ ]*=/{
:loop1
/\\\\$/ N
newusing=`echo "${using}" | sed 's/and/using/'`
using=${newusing}
- echo "Created \"${Makefile}\" in" ${PWD=`pwd`} ${using}
+ echo "Created \"${Makefile}\" in" ${PWD=`${PWDCMD-pwd}`} ${using}
. ${tmpfile}.pos
if mkdir ./${bld_dir} ; then
true
else
- echo '***' "${progname}: could not make ${PWD=`pwd`}/${bld_dir}" 1>&2
+ echo '***' "${progname}: could not make ${PWD=`${PWDCMD-pwd}`}/${bld_dir}" 1>&2
exit 1
fi
fi
;;
esac
- POPDIR=${PWD=`pwd`}
+ POPDIR=${PWD=`${PWDCMD-pwd}`}
cd ${bld_dir}
### figure out what to do with srcdir
case "${srcdir}" in
".") newsrcdir=${srcdir} ;; # no -srcdir option. We're building in place.
- /*) # absolute path
- newsrcdir=${srcdir}/${cfg_dir}
- srcdiroption="--srcdir=${newsrcdir}"
- ;;
- ?:*) # absolute path on win32
+ /* | [A-Za-z]:[\\/]* ) # absolute path
newsrcdir=${srcdir}/${cfg_dir}
srcdiroption="--srcdir=${newsrcdir}"
;;
case "${cache_file}" in
"") # empty
;;
- /*) # absolute path
- cache_file_option="--cache-file=${cache_file}"
- ;;
- ?:*) # absolute path on win32
+ /* | [A-Za-z]:[\\/]* ) # absolute path
cache_file_option="--cache-file=${cache_file}"
;;
*) # relative path
recprog=${newsrcdir}/configure
elif [ -f ${newsrcdir}/configure.in ] ; then
case "${progname}" in
- /*) recprog=${progname} ;;
- ?:*) recprog=${progname} ;;
- *) recprog=../${progname} ;;
+ /* | [A-Za-z]:[\\/]* ) recprog=${progname} ;;
+ *) recprog=../${progname} ;;
esac
else
eval echo No configuration information in ${cfg_dir} ${redirect}
${srcdiroption} ${diroptions} ${program_prefixoption} ${program_suffixoption} ${program_transform_nameoption} ${site_option} ${withoptions} ${withoutoptions} ${enableoptions} ${disableoptions} ${floating_pointoption} ${cache_file_option} ${removing} ${other_options} ${redirect} ; then
true
else
- echo Configure in `pwd` failed, exiting. 1>&2
+ echo Configure in `${PWDCMD-pwd}` failed, exiting. 1>&2
exit 1
fi
fi
# Perform the same cleanup as the trap handler, minus the "exit 1" of course,
# and reset the trap handler.
-rm -f ${tmpfile}.com ${tmpfile}.tgt ${tmpfile}.hst ${tmpfile}.pos
+rm -rf ${tmpdir}
trap 0
exit 0