#! /bin/bash
host_libs="intl mmalloc libiberty opcodes bfd readline db tcl tk tclX itcl tix libgui zlib"
libstdcxx_version="target-libstdc++-v3"
host_tools="texinfo byacc flex bison binutils ld gas gcc sid sim gdb make patch prms send-pr gprof etc expect dejagnu ash bash bzip2 m4 autoconf automake libtool grep diff rcs fileutils shellutils time textutils wdiff find uudecode hello tar gzip indent recode release sed utils guile perl gawk findutils snavigator libtool gettext zip fastjar"
libgcj="target-libffi \
target-boehm-gc \
target-zlib \
target-qthreads \
target-libjava"
target_libs="target-libiberty \
target-libgloss \
target-newlib \
${libstdcxx_version} \
target-libf2c \
${libgcj}
target-libobjc"
target_tools="target-examples target-groff target-gperf target-rda"
configdirs=`echo ${host_libs} ${host_tools}`
target_configdirs=`echo ${target_libs} ${target_tools}`
srctrigger=move-if-change
srcname="gnu development package"
appdirs=""
is_cross_compiler=
if test x"${host}" = x"${target}" ; then
is_cross_compiler=no
else
is_cross_compiler=yes
fi
target_subdir=${target_alias}
if test ! -d ${target_subdir} ; then
if mkdir ${target_subdir} ; then true
else
echo "'*** could not make ${PWD=`${PWDCMD-pwd}`}/${target_subdir}" 1>&2
exit 1
fi
fi
build_subdir=${build_alias}
if test x"${build_alias}" != x"${host}" ; then
if test ! -d ${build_subdir} ; then
if mkdir ${build_subdir} ; then true
else
echo "'*** could not make ${PWD=`${PWDCMD-pwd}`}/${build_subdir}" 1>&2
exit 1
fi
fi
fi
skipdirs=
noconfigdirs=""
use_gnu_ld=
if test x$with_gnu_ld = xno ; then
use_gnu_ld=no
noconfigdirs="$noconfigdirs ld"
fi
use_gnu_as=
if test x$with_gnu_as = xno ; then
use_gnu_as=no
noconfigdirs="$noconfigdirs gas"
fi
case ${with_x} in
yes | "") ;; no)
skipdirs="${skipdirs} tk tix itcl libgui"
enable_gdbtk=no
;;
*) echo "*** bad value \"${with_x}\" for -with-x flag; ignored" 1>&2 ;;
esac
native_only="autoconf automake libtool fileutils find gawk gettext grep gzip hello indent m4 rcs recode sed shellutils tar textutils uudecode wdiff gprof target-groff guile perl time ash bash bzip2 prms snavigator gnuserv target-gperf"
cross_only="target-libgloss target-newlib target-opcodes"
case $is_cross_compiler in
no) skipdirs="${skipdirs} ${cross_only}" ;;
yes) skipdirs="${skipdirs} ${native_only}" ;;
esac
if test x"${with_headers}" != x && test x"${with_libs}" != x ; then
if test x"${with_newlib}" = x ; then
with_newlib=no
fi
fi
case ${with_newlib} in
no) skipdirs="${skipdirs} target-newlib" ;;
yes) skipdirs=`echo " ${skipdirs} " | sed -e 's/ target-newlib / /'` ;;
esac
case "${host}" in
i[3456]86-*-go32*)
configdirs="$configdirs dosrel" ;;
i[3456]86-*-mingw32*)
configdirs="$configdirs dosrel" ;;
*-cygwin*)
configdirs="$configdirs libtermcap dosrel" ;;
esac
case "${host}" in
hppa*64*-*-*)
noconfigdirs="$noconfigdirs byacc"
;;
i[3456]86-*-vsta)
noconfigdirs="tcl expect dejagnu make texinfo bison patch flex byacc send-pr gprof uudecode dejagnu diff guile perl itcl tix db snavigator gnuserv gettext"
;;
i[3456]86-*-go32* | i[3456]86-*-msdosdjgpp*)
noconfigdirs="tcl tk expect dejagnu send-pr uudecode guile itcl tix db snavigator gnuserv libffi"
;;
i[3456]86-*-mingw32*)
noconfigdirs="expect dejagnu autoconf automake send-pr rcs guile perl texinfo libtool"
;;
i[3456]86-*-beos*)
noconfigdirs="$noconfigdirs tk itcl tix libgui gdb"
;;
*-*-cygwin*)
noconfigdirs="autoconf automake send-pr rcs guile perl"
;;
*-*-netbsd*)
noconfigdirs="rcs"
;;
ppc*-*-pe)
noconfigdirs="patch diff make tk tcl expect dejagnu autoconf automake texinfo bison send-pr gprof rcs guile perl itcl tix db snavigator gnuserv"
;;
powerpc-*-beos*)
noconfigdirs="$noconfigdirs tk itcl tix libgui gdb dejagnu readline"
;;
*-*-darwin*)
noconfigdirs="$noconfigdirs tk itcl tix libgui"
;;
esac
libgcj_saved=$libgcj
case $enable_libgcj in
yes)
libgcj=
;;
no)
noconfigdirs="$noconfigdirs ${libgcj}"
;;
esac
case "${target}" in
*-*-chorusos)
noconfigdirs="$noconfigdirs target-newlib target-libgloss ${libgcj}"
;;
*-*-freebsd[12] | *-*-freebsd[12].* | *-*-freebsd*aout*)
noconfigdirs="$noconfigdirs target-newlib target-libgloss ${libgcj}"
;;
*-*-netbsd*)
noconfigdirs="$noconfigdirs target-newlib target-libiberty target-libgloss"
case "${target}" in
i*86-*-netbsdelf*) ;;
*)
noconfigdirs="$noconfigdirs ${libgcj}"
;;
esac
;;
*-*-netware)
noconfigdirs="$noconfigdirs ${libstdcxx_version} target-newlib target-libiberty target-libgloss ${libgcj}"
;;
*-*-rtems*)
noconfigdirs="$noconfigdirs target-libgloss ${libgcj}"
case ${target} in
h8300*-*-* | h8500-*-*)
noconfigdirs="$noconfigdirs target-libf2c"
;;
*) ;;
esac
;;
*-*-vxworks*)
noconfigdirs="$noconfigdirs target-newlib target-libgloss ${libgcj}"
;;
alpha*-dec-osf*)
noconfigdirs="$noconfigdirs gas ld fileutils target-newlib target-libgloss"
;;
alpha*-*-*vms*)
noconfigdirs="$noconfigdirs gdb ld target-newlib target-libgloss ${libgcj}"
;;
alpha*-*-linux*)
noconfigdirs="$noconfigdirs target-newlib target-libgloss"
;;
alpha*-*-freebsd*)
noconfigdirs="$noconfigdirs target-newlib target-libgloss"
;;
alpha*-*-*)
noconfigdirs="$noconfigdirs target-newlib target-libgloss ${libgcj}"
;;
sh-*-linux*)
noconfigdirs="$noconfigdirs ${libgcj} target-newlib target-libgloss"
;;
sh*-*-pe|mips*-*-pe|*arm-wince-pe)
noconfigdirs="$noconfigdirs ${libgcj}"
noconfigdirs="$noconfigdirs target-examples"
noconfigdirs="$noconfigdirs target-libiberty texinfo send-pr"
noconfigdirs="$noconfigdirs tcl tix tk itcl libgui sim"
noconfigdirs="$noconfigdirs expect dejagnu"
noconfigdirs="$noconfigdirs ${libstdcxx_version}"
noconfigdirs="$noconfigdirs target-newlib"
case "${host}" in
*-*-cygwin*) ;; *) noconfigdirs="$noconfigdirs gdb readline ${libstdcxx_version}"
;;
esac
;;
arc-*-*)
noconfigdirs="$noconfigdirs target-libgloss ${libgcj}"
;;
arm-*-coff | strongarm-*-coff | xscale-*-coff)
noconfigdirs="$noconfigdirs ${libgcj}"
;;
arm-*-elf* | strongarm-*-elf* | xscale-*-elf*)
noconfigdirs="$noconfigdirs target-libffi target-qthreads"
;;
arm-*-pe*)
noconfigdirs="$noconfigdirs target-libgloss ${libgcj}"
;;
arm-*-oabi*)
noconfigdirs="$noconfigdirs target-libgloss ${libgcj}"
;;
thumb-*-coff)
noconfigdirs="$noconfigdirs target-libgloss ${libgcj}"
;;
thumb-*-elf)
noconfigdirs="$noconfigdirs target-libgloss ${libgcj}"
;;
thumb-*-oabi)
noconfigdirs="$noconfigdirs target-libgloss ${libgcj}"
;;
thumb-*-pe)
noconfigdirs="$noconfigdirs target-libgloss ${libgcj}"
;;
arm-*-riscix*)
noconfigdirs="$noconfigdirs ld target-libgloss ${libgcj}"
;;
avr-*-*)
noconfigdirs="$noconfigdirs target-libiberty ${libstdcxx_version} ${libgcj}"
;;
c4x-*-* | tic4x-*-*)
noconfigdirs="$noconfigdirs ${libstdcxx_version} target-libgloss ${libgcj}"
;;
c54x*-*-* | tic54x-*-*)
noconfigdirs="$noconfigdirs ${libstdcxx_version} target-libgloss ${libgcj} gcc gdb newlib"
;;
cris-*-*)
noconfigdirs="$noconfigdirs ${libgcj}"
;;
d10v-*-*)
noconfigdirs="$noconfigdirs ${libstdcxx_version} target-libgloss ${libgcj}"
;;
d30v-*-*)
noconfigdirs="$noconfigdirs ${libgcj}"
;;
fr30-*-elf*)
noconfigdirs="$noconfigdirs ${libgcj}"
;;
frv-*-*)
noconfigdirs="$noconfigdirs ${libgcj}"
;;
h8300*-*-*)
noconfigdirs="$noconfigdirs target-libgloss"
;;
h8500-*-*)
noconfigdirs="$noconfigdirs ${libstdcxx_version} target-libgloss ${libgcj} target-libf2c"
;;
hppa*64*-*-linux* | parisc*64*-*-linux*)
noconfigdirs="$noconfigdirs target-zlib"
;;
hppa*-*-*elf* | \
parisc*-*-linux* | hppa*-*-linux* | \
hppa*-*-lites* | \
hppa*-*-openbsd* | \
hppa*64*-*-*)
noconfigdirs="$noconfigdirs ${libgcj}"
;;
hppa*-*-*)
noconfigdirs="$noconfigdirs ld shellutils ${libgcj}"
;;
ia64*-*-elf*)
noconfigdirs="$noconfigdirs tix readline mmalloc libgui itcl gdb"
;;
ia64*-**-hpux*)
noconfigdirs="$noconfigdirs tix readline mmalloc libgui itcl gdb ld"
;;
i[3456]86-*-coff | i[3456]86-*-elf)
noconfigdirs="$noconfigdirs ${libgcj}"
;;
i[34567]86-*-freebsd*)
noconfigdirs="$noconfigdirs target-newlib target-libgloss"
;;
i[3456]86-*-linux*)
case "${target}" in
*-*-*libc1*)
noconfigdirs="$noconfigdirs ${libgcj}";;
esac
if test x${is_cross_compiler} != xno ; then
noconfigdirs="$noconfigdirs target-newlib"
fi
noconfigdirs="$noconfigdirs target-libgloss"
;;
i[3456]86-*-mingw32*)
target_configdirs="$target_configdirs target-mingw"
noconfigdirs="$noconfigdirs expect target-libgloss ${libgcj}"
case "${host}" in
i[3456]86-*-mingw32) ;; *) noconfigdirs="$noconfigdirs gdb tcl tk expect itcl tix db snavigator gnuserv"
;;
esac
;;
*-*-cygwin*)
target_configdirs="$target_configdirs target-libtermcap target-winsup"
noconfigdirs="$noconfigdirs target-gperf target-libgloss ${libgcj}"
skipdirs=`echo " ${skipdirs} " | sed -e 's/ target-newlib / /'`
case "${host}" in
*-*-cygwin*) ;; *) noconfigdirs="$noconfigdirs gdb tcl tk expect itcl tix libgui db snavigator gnuserv"
;;
esac
;;
i[3456]86-*-pe)
noconfigdirs="$noconfigdirs ${libstdcxx_version} target-libgloss ${libgcj}"
;;
i[3456]86-*-sco3.2v5*)
noconfigdirs="$noconfigdirs ld target-libgloss ${libgcj}"
;;
i[3456]86-*-sco*)
noconfigdirs="$noconfigdirs gprof target-libgloss ${libgcj}"
;;
i[3456]86-*-solaris2*)
noconfigdirs="$noconfigdirs target-libgloss"
;;
i[3456]86-*-sysv4*)
noconfigdirs="$noconfigdirs target-libgloss ${libgcj}"
;;
i[3456]86-*-beos*)
noconfigdirs="$noconfigdirs gdb target-newlib target-libgloss ${libgcj}"
;;
m68hc11-*-*|m6811-*-*|m68hc12-*-*|m6812-*-*)
noconfigdirs="$noconfigdirs target-libiberty ${libstdcxx_version} ${libgcj}"
;;
m68k-*-elf*)
noconfigdirs="$noconfigdirs ${libgcj}"
;;
m68k-*-coff*)
noconfigdirs="$noconfigdirs ${libgcj}"
;;
mcore-*-pe*)
noconfigdirs="$noconfigdirs target-libstdc++-v3"
;;
mmix-*-*)
noconfigdirs="$noconfigdirs ${libgcj}"
;;
mn10200-*-*)
noconfigdirs="$noconfigdirs ${libgcj}"
;;
mn10300-*-*)
noconfigdirs="$noconfigdirs ${libgcj}"
;;
powerpc-*-aix*)
noconfigdirs="$noconfigdirs gprof target-libgloss ${libgcj}"
;;
powerpc*-*-winnt* | powerpc*-*-pe* | ppc*-*-pe)
target_configdirs="$target_configdirs target-winsup"
noconfigdirs="$noconfigdirs gdb tcl tk make expect target-libgloss itcl tix db snavigator gnuserv ${libgcj}"
skipdirs=`echo " ${skipdirs} " | sed -e 's/ target-newlib / /'`
;;
powerpcle-*-solaris*)
noconfigdirs="$noconfigdirs gdb sim make tcl tk expect itcl tix db snavigator gnuserv ${libgcj}"
;;
powerpc-*-beos*)
noconfigdirs="$noconfigdirs gdb target-newlib target-libgloss ${libgcj}"
;;
powerpc-*-darwin*)
noconfigdirs="$noconfigdirs bfd binutils ld gas opcodes gdb gprof ${libgcj}"
;;
powerpc-*-eabi)
noconfigdirs="$noconfigdirs ${libgcj}"
;;
powerpc64*-*-linux*)
noconfigdirs="$noconfigdirs target-newlib target-libgloss"
noconfigdirs="$noconfigdirs target-libffi"
;;
rs6000-*-lynxos*)
noconfigdirs="$noconfigdirs target-newlib gprof ${libgcj}"
;;
rs6000-*-aix*)
noconfigdirs="$noconfigdirs gprof ${libgcj}"
;;
rs6000-*-*)
noconfigdirs="$noconfigdirs gprof ${libgcj}"
;;
m68k-apollo-*)
noconfigdirs="$noconfigdirs ld binutils gprof target-libgloss ${libgcj}"
;;
mips*-*-irix5*)
noconfigdirs="$noconfigdirs ld gprof target-libgloss ${libgcj}"
;;
mips*-*-irix6*)
noconfigdirs="$noconfigdirs gas gprof target-libgloss ${libgcj}"
;;
mips*-dec-bsd*)
noconfigdirs="$noconfigdirs gprof target-libgloss ${libgcj}"
;;
mips*-*-bsd*)
noconfigdirs="$noconfigdirs gprof target-libgloss ${libgcj}"
;;
mipstx39-*-*)
noconfigdirs="$noconfigdirs gprof ${libgcj}" ;;
mips*-*-linux*)
noconfigdirs="$noconfigdirs target-newlib target-libgloss"
;;
mips*-*-*)
noconfigdirs="$noconfigdirs gprof ${libgcj}"
;;
romp-*-*)
noconfigdirs="$noconfigdirs bfd binutils ld gas opcodes target-libgloss ${libgcj}"
;;
sh-*-*)
case "${host}" in
i[3456]86-*-vsta) ;; i[3456]86-*-go32*) ;; i[3456]86-*-msdosdjgpp*) ;; *) skipdirs=`echo " ${skipdirs} " | sed -e 's/ gprof / /'` ;;
esac
noconfigdirs="$noconfigdirs target-libgloss ${libgcj}"
;;
sh64-*-*)
noconfigdirs="$noconfigdirs target-libgloss ${libgcj}"
;;
sparc-*-elf*)
noconfigdirs="$noconfigdirs ${libgcj}"
;;
sparc64-*-elf*)
noconfigdirs="$noconfigdirs ${libgcj}"
;;
sparclite-*-*)
noconfigdirs="$noconfigdirs ${libgcj}"
;;
sparc-*-sunos4*)
noconfigdirs="$noconfigdirs ${libgcj}"
if test x${is_cross_compiler} != xno ; then
noconfigdirs="$noconfigdirs gdb target-newlib target-libgloss"
else
use_gnu_ld=no
fi
;;
sparc-*-solaris* | sparc64-*-solaris* | sparcv9-*-solaris*)
;;
v810-*-*)
noconfigdirs="$noconfigdirs bfd binutils gas gcc gdb ld ${libstdcxx_version} opcodes target-libgloss ${libgcj}"
;;
v850-*-*)
noconfigdirs="$noconfigdirs target-libgloss ${libgcj}"
;;
v850e-*-*)
noconfigdirs="$noconfigdirs target-libgloss ${libgcj}"
;;
v850ea-*-*)
noconfigdirs="$noconfigdirs target-libgloss ${libgcj}"
;;
vax-*-vms)
noconfigdirs="$noconfigdirs bfd binutils gdb ld target-newlib opcodes target-libgloss ${libgcj}"
;;
vax-*-*)
noconfigdirs="$noconfigdirs target-newlib target-libgloss ${libgcj}"
;;
ip2k-*-*)
noconfigdirs="$noconfigdirs target-libiberty ${libstdcxx_version} ${libgcj}"
;;
*-*-linux*)
noconfigdirs="$noconfigdirs target-newlib target-libgloss"
;;
*-*-lynxos*)
noconfigdirs="$noconfigdirs target-newlib target-libgloss ${libgcj}"
;;
*-*-*)
noconfigdirs="$noconfigdirs ${libgcj}"
;;
esac
case "${noconfigdirs}" in
*target-libgloss*) ;;
*target-newlib*) noconfigdirs="$noconfigdirs target-libgloss" ;;
esac
if test x"${enable_languages+set}" != xset; then
if test x"${LANGUAGES+set}" = xset; then
enable_languages="${LANGUAGES}"
echo configure.in: warning: setting LANGUAGES is deprecated, use --enable-languages instead 1>&2
else
enable_languages=all
fi
else
if test x"${enable_languages}" = x ||
test x"${enable_languages}" = xyes;
then
echo configure.in: --enable-languages needs at least one language argument 1>&2
exit 1
fi
fi
enable_languages=`echo "${enable_languages}" | sed -e 's/[ ,][ ,]*/,/g' -e 's/,$//'`
for lang in ${srcdir}/gcc/*/config-lang.in ..
do
case $lang in
..)
;;
${srcdir}/gcc/[*]/config-lang.in)
;;
*)
lang_alias=`sed -n -e 's,^language=['"'"'"'"]\(.*\)["'"'"'"'].*$,\1,p' -e 's,^language=\([^ ]*\).*$,\1,p' $lang`
this_lang_requires=`sed -n -e 's,^lang_requires=['"'"'"'"]\(.*\)["'"'"'"'].*$,\1,p' -e 's,^lang_requires=\([^ ]*\).*$,\1,p' $lang`
for other in $this_lang_requires
do
case ,${enable_languages}, in
*,$other,*)
;;
*,all,*)
;;
*,$lang_alias,*)
echo " \`$other' language required by \`$lang_alias'; enabling" 1>&2
enable_languages="$enable_languages,$other"
;;
esac
done
;;
esac
done
subdirs=
for lang in ${srcdir}/gcc/*/config-lang.in ..
do
case $lang in
..) ;;
${srcdir}/gcc/[*]/config-lang.in) ;;
*)
lang_alias=`sed -n -e 's,^language=['"'"'"'"]\(.*\)["'"'"'"'].*$,\1,p' -e 's,^language=\([^ ]*\).*$,\1,p' $lang`
this_lang_libs=`sed -n -e 's,^target_libs=['"'"'"'"]\(.*\)["'"'"'"'].*$,\1,p' -e 's,^target_libs=\([^ ]*\).*$,\1,p' $lang`
this_lang_dirs=`sed -n -e 's,^lang_dirs=['"'"'"'"]\(.*\)["'"'"'"'].*$,\1,p' -e 's,^lang_dirs=\([^ ]*\).*$,\1,p' $lang`
build_by_default=`sed -n -e 's,^build_by_default=['"'"'"'"]\(.*\)["'"'"'"'].*$,\1,p' -e 's,^build_by_default=\([^ ]*\).*$,\1,p' $lang`
if test "x$lang_alias" = x
then
echo "$lang doesn't set \$language." 1>&2
exit 1
fi
case ${build_by_default},${enable_languages}, in
*,$lang_alias,*) add_this_lang=yes ;;
no,*) add_this_lang=no ;;
*,all,*) add_this_lang=yes ;;
*) add_this_lang=no ;;
esac
if test x"${add_this_lang}" = xyes; then
eval target_libs='"$target_libs "'\"$this_lang_libs\"
else
eval noconfigdirs='"$noconfigdirs "'\"$this_lang_libs $this_lang_dirs\"
fi
;;
esac
done
# Remove the entries in $skipdirs and $noconfigdirs from $configdirs and
# $target_configdirs.
# If we have the source for $noconfigdirs entries, add them to $notsupp.
notsupp=""
for dir in . $skipdirs $noconfigdirs ; do
dirname=`echo $dir | sed -e s/target-//g`
if test $dir != . && echo " ${configdirs} " | grep " ${dir} " >/dev/null 2>&1; then
configdirs=`echo " ${configdirs} " | sed -e "s/ ${dir} / /"`
if test -r $srcdir/$dirname/configure ; then
if echo " ${skipdirs} " | grep " ${dir} " >/dev/null 2>&1; then
true
else
notsupp="$notsupp $dir"
fi
fi
fi
if test $dir != . && echo " ${target_configdirs} " | grep " ${dir} " >/dev/null 2>&1; then
target_configdirs=`echo " ${target_configdirs} " | sed -e "s/ ${dir} / /"`
if test -r $srcdir/$dirname/configure ; then
if echo " ${skipdirs} " | grep " ${dir} " >/dev/null 2>&1; then
true
else
notsupp="$notsupp $dir"
fi
fi
fi
done
# Sometimes the tools are distributed with libiberty but with no other
# libraries. In that case, we don't want to build target-libiberty.
if test -n "${target_configdirs}" ; then
others=
for i in `echo ${target_configdirs} | sed -e s/target-//g` ; do
if test "$i" != "libiberty" ; then
if test -r $srcdir/$i/configure ; then
others=yes;
break;
fi
fi
done
if test -z "${others}" ; then
target_configdirs=
fi
fi
# Deconfigure all subdirectories, in case we are changing the
# configuration from one where a subdirectory is supported to one where it
# is not.
if test -z "${norecursion}" && test -n "${configdirs}" ; then
for i in `echo ${configdirs} | sed -e s/target-//g` ; do
rm -f $i/Makefile
done
fi
if test -z "${norecursion}" && test -n "${target_configdirs}" ; then
for i in `echo ${target_configdirs} | sed -e s/target-//g` ; do
rm -f ${target_subdir}/$i/Makefile
done
fi
# Quietly strip out all directories which aren't configurable in this tree.
# This relies on all configurable subdirectories being autoconfiscated, which
# is now the case.
configdirs_all="$configdirs"
configdirs=
for i in ${configdirs_all} ; do
if test -f ${srcdir}/$i/configure ; then
configdirs="${configdirs} $i"
fi
done
target_configdirs_all="$target_configdirs"
target_configdirs=
for i in ${target_configdirs_all} ; do
j=`echo $i | sed -e s/target-//g`
if test -f ${srcdir}/$j/configure ; then
target_configdirs="${target_configdirs} $i"
fi
done
# Produce a warning message for the subdirs we can't configure.
# This isn't especially interesting in the Cygnus tree, but in the individual
# FSF releases, it's important to let people know when their machine isn't
# supported by the one or two programs in a package.
if test -n "${notsupp}" && test -z "${norecursion}" ; then
# If $appdirs is non-empty, at least one of those directories must still
# be configured, or we error out. (E.g., if the gas release supports a
# specified target in some subdirs but not the gas subdir, we shouldn't
# pretend that all is well.)
if test -n "$appdirs" ; then
for dir in $appdirs ; do
if test -r $dir/Makefile.in ; then
if echo " ${configdirs} " | grep " ${dir} " >/dev/null 2>&1; then
appdirs=""
break
fi
if echo " ${target_configdirs} " | grep " ${dir} " >/dev/null 2>&1; then
appdirs=""
break
fi
fi
done
if test -n "$appdirs" ; then
echo "*** This configuration is not supported by this package." 1>&2
exit 1
fi
fi
# Okay, some application will build, or we don't care to check. Still
# notify of subdirs not getting built.
echo "*** This configuration is not supported in the following subdirectories:" 1>&2
echo " ${notsupp}" 1>&2
echo " (Any other directories should still work fine.)" 1>&2
fi
case "$host" in
*msdosdjgpp*)
enable_gdbtk=no ;;
esac
# Determine whether gdb needs tk/tcl or not.
case "$enable_gdbtk" in
no)
GDB_TK="" ;;
*)
GDB_TK="all-tcl all-tk all-itcl all-tix all-libgui" ;;
esac
copy_dirs=
# Handle --with-headers=XXX. If the value is not "yes", the contents of
# the named directory are copied to $(tooldir)/sys-include.
if test x"${with_headers}" != x ; then
if test x${is_cross_compiler} = xno ; then
echo 1>&2 '***' --with-headers is only supported when cross compiling
exit 1
fi
if test x"${with_headers}" != xyes ; then
case "${exec_prefixoption}" in
"") x=${prefix} ;;
*) x=${exec_prefix} ;;
esac
copy_dirs="${copy_dirs} ${with_headers} $x/${target_alias}/sys-include"
fi
fi
# Handle --with-libs=XXX. If the value is not "yes", the contents of
# the name directories are copied to $(tooldir)/lib. Multiple directories
# are permitted.
if test x"${with_libs}" != x ; then
if test x${is_cross_compiler} = xno ; then
echo 1>&2 '***' --with-libs is only supported when cross compiling
exit 1
fi
if test x"${with_libs}" != xyes ; then
# Copy the libraries in reverse order, so that files in the first named
# library override files in subsequent libraries.
case "${exec_prefixoption}" in
"") x=${prefix} ;;
*) x=${exec_prefix} ;;
esac
for l in ${with_libs}; do
copy_dirs="$l $x/${target_alias}/lib ${copy_dirs}"
done
fi
fi
# Handle ${copy_dirs}
set fnord ${copy_dirs}
shift
while test $# != 0 ; do
if test -f $2/COPIED && test x"`cat $2/COPIED`" = x"$1" ; then
:
else
echo Copying $1 to $2
# Use the install script to create the directory and all required
# parent directories.
if test -d $2 ; then
:
else
echo >config.temp
${srcdir}/install-sh -c -m 644 config.temp $2/COPIED
fi
# Copy the directory, assuming we have tar.
# FIXME: Should we use B in the second tar? Not all systems support it.
(cd $1; tar -cf - .) | (cd $2; tar -xpf -)
# It is the responsibility of the user to correctly adjust all
# symlinks. If somebody can figure out how to handle them correctly
# here, feel free to add the code.
echo $1 > $2/COPIED
fi
shift; shift
done
# Work in distributions that contain no compiler tools, like Autoconf.
tentative_cc=""
if test -d ${srcdir}/config ; then
case "${host}" in
m68k-hp-hpux*)
# Avoid "too much defining" errors from HPUX compiler.
tentative_cc="cc -Wp,-H256000"
host_makefile_frag="config/mh-hp300"
;;
m68k-apollo-sysv*)
tentative_cc="cc -A ansi -A runtype,any -A systype,any -U__STDC__ -DUSG"
host_makefile_frag="config/mh-apollo68"
;;
m68k-apollo-bsd*)
#None of the Apollo compilers can compile gas or binutils. The preprocessor
# chokes on bfd, the compiler won't let you assign integers to enums, and
# other problems. Defining CC to gcc is a questionable way to say "don't use
tentative_cc=gcc
host_makefile_frag="config/mh-a68bsd"
;;
m88k-dg-dgux*)
tentative_cc="gcc -Wall -ansi -D__using_DGUX"
host_makefile_frag="config/mh-dgux"
;;
m88k-harris-cxux*)
tentative_cc="cc -Xa"
host_makefile_frag="config/mh-cxux"
;;
m88k-motorola-sysv*)
host_makefile_frag="config/mh-delta88"
;;
mips*-dec-ultrix*)
tentative_cc="cc -Wf,-XNg1000"
host_makefile_frag="config/mh-decstation"
;;
mips*-nec-sysv4*)
tentative_cc="cc -ZXNd=5000 -ZXNg=1000"
host_makefile_frag="config/mh-necv4"
;;
mips*-sgi-irix6*)
host_makefile_frag="config/mh-irix6"
;;
mips*-sgi-irix5*)
host_makefile_frag="config/mh-irix5"
;;
mips*-sgi-irix4*)
tentative_cc="cc -cckr -Wf,-XNg1500 -Wf,-XNk1000 -Wf,-XNh2000 -Wf,-XNl8192"
;;
mips*-sgi-irix3*)
host_makefile_frag="config/mh-sysv"
;;
mips*-*-sysv4*)
host_makefile_frag="config/mh-sysv4"
;;
mips*-*-sysv*)
tentative_cc="cc -systype sysv"
host_makefile_frag="config/mh-riscos"
;;
i370-ibm-opened*)
tentative_cc="c89"
host_makefile_frag="config/mh-openedition"
;;
i[3456]86-*-sysv5*)
host_makefile_frag="config/mh-sysv5"
;;
i[3456]86-*-dgux*)
tentative_cc="gcc -Wall -ansi -D__using_DGUX"
host_makefile_frag="config/mh-dgux386"
;;
i[3456]86-ncr-sysv4.3*)
tentative_cc="cc -Hnocopyr"
host_makefile_frag="config/mh-ncrsvr43"
;;
i[3456]86-ncr-sysv4*)
tentative_cc="/usr/ccs/ATT/cc"
host_makefile_frag="config/mh-ncr3000"
;;
i[3456]86-*-sco3.2v5*)
host_makefile_frag="config/mh-sysv"
;;
i[3456]86-*-sco*)
tentative_cc="cc -Dconst="
host_makefile_frag="config/mh-sco"
;;
i[3456]86-*-udk*)
host_makefile_frag="config/mh-sysv5"
;;
i[3456]86-*-isc*)
host_makefile_frag="config/mh-sysv"
;;
i[3456]86-*-solaris2*)
host_makefile_frag="config/mh-sysv4"
;;
i[3456]86-*-aix*)
host_makefile_frag="config/mh-aix386"
;;
i[3456]86-*-msdosdjgpp*)
host_makefile_frag="config/mh-djgpp"
;;
*-cygwin*)
host_makefile_frag="config/mh-cygwin"
;;
*-mingw32*)
host_makefile_frag="config/mh-mingw32"
;;
*-interix*)
host_makefile_frag="config/mh-interix"
;;
vax-*-ultrix2*)
tentative_cc=gcc
;;
*-*-solaris2*)
host_makefile_frag="config/mh-solaris"
;;
m68k-sun-sunos*)
tentative_cc="cc -J"
;;
*-hp-hpux[78]*)
tentative_cc="cc -Wp,-H256000"
host_makefile_frag="config/mh-hpux8"
;;
*-hp-hpux*)
tentative_cc="cc -Wp,-H256000"
host_makefile_frag="config/mh-hpux"
;;
*-*-hiux*)
tentative_cc="cc -Wp,-H256000"
host_makefile_frag="config/mh-hpux"
;;
rs6000-*-lynxos*)
tentative_cc="/usr/cygnus/progressive/bin/gcc"
host_makefile_frag="config/mh-lynxrs6k"
;;
*-*-lynxos*)
tentative_cc="/bin/gcc"
;;
*-*-sysv4*)
host_makefile_frag="config/mh-sysv4"
;;
*-*-sysv*)
host_makefile_frag="config/mh-sysv"
;;
esac
fi
rm -f mh-frag
if test -n "${host_makefile_frag}" ; then
for f in ${host_makefile_frag}
do
cat ${srcdir}/$f >> mh-frag
done
host_makefile_frag=mh-frag
fi
case "${target}" in
v810*)
target_makefile_frag="config/mt-v810"
;;
i[3456]86-*-netware*)
target_makefile_frag="config/mt-netware"
;;
powerpc-*-netware*)
target_makefile_frag="config/mt-netware"
;;
*-*-linux*)
target_makefile_frag="config/mt-linux"
;;
*-*-aix4.[3456789]* | *-*-aix[56789].*)
target_makefile_frag="config/mt-aix43"
;;
mips*-*-pe | sh*-*-pe | *arm-wince-pe)
target_makefile_frag="config/mt-wince"
;;
esac
alphaieee_frag=
case $target in
alpha*-*-*)
alphaieee_frag="config/mt-alphaieee"
;;
esac
ospace_frag=
case "${enable_target_optspace}:${target}" in
yes:*)
ospace_frag="config/mt-ospace"
;;
:d30v-*)
ospace_frag="config/mt-d30v"
;;
:m32r-* | :d10v-* | :fr30-*)
ospace_frag="config/mt-ospace"
;;
no:* | :*)
;;
*)
echo "*** bad value \"${enable_target_optspace}\" for --enable-target-optspace flag; ignored" 1>&2
;;
esac
rm -f mt-frag
if test -n "${target_makefile_frag}${alphaieee_frag}${ospace_frag}" ; then
for f in ${target_makefile_frag} ${alphaieee_frag} ${ospace_frag}
do
cat ${srcdir}/$f >> mt-frag
done
target_makefile_frag=mt-frag
fi
if test x${use_gnu_as} = x &&
echo " ${configdirs} " | grep " gas " > /dev/null 2>&1 ; then
with_gnu_as=yes
withoptions="$withoptions --with-gnu-as"
fi
if test x${use_gnu_ld} = x &&
echo " ${configdirs} " | grep " ld " > /dev/null 2>&1 ; then
with_gnu_ld=yes
withoptions="$withoptions --with-gnu-ld"
fi
if test x${with_newlib} != xno && echo " ${target_configdirs} " | grep " target-newlib " > /dev/null 2>&1 ; then
with_newlib=yes
withoptions="$withoptions --with-newlib"
fi
if false && test "${host}" = "${target}" && test x${enable_shared} = x ; then
case "${target}" in
alpha*-dec-osf*) enable_shared=yes ;;
alpha*-*-linux*) enable_shared=yes ;;
mips-sgi-irix5*) enable_shared=yes ;;
*) enable_shared=no ;;
esac
fi
case "${enable_shared}" in
yes) shared=yes ;;
no) shared=no ;;
"") shared=no ;;
*) shared=yes ;;
esac
if test x${with_stabs} = x ; then
case "${target}" in
mips*-*-irix6*o32)
with_stabs=yes;
withoptions="${withoptions} --with-stabs"
;;
mips*-*-irix6*)
;;
mips*-*-* | alpha*-*-osf*)
with_stabs=yes;
withoptions="${withoptions} --with-stabs"
;;
esac
fi
case "${host}" in
hppa*64*-*-hpux11*)
withoptions="$withoptions -x-libraries=/usr/lib/pa20_64 -x-includes=/usr/X11R6/include"
;;
esac
if test -z "${CC}" && test "${build}" = "${host}" ; then
IFS="${IFS= }"; save_ifs="$IFS"; IFS="${IFS}:"
found=
for dir in $PATH; do
test -z "$dir" && dir=.
if test -f $dir/gcc; then
found=yes
break
fi
done
IFS="$save_ifs"
if test -z "${found}" && test -n "${tentative_cc}" ; then
CC=$tentative_cc
fi
fi
we_are_ok=no
echo "int main () { return 0; }" > conftest.c
${CC} -o conftest ${CFLAGS} ${CPPFLAGS} ${LDFLAGS} conftest.c
if test $? = 0 ; then
if test -s conftest || test -s conftest.exe ; then
we_are_ok=yes
fi
fi
case $we_are_ok in
no)
echo 1>&2 "*** The command '${CC} -o conftest ${CFLAGS} ${CPPFLAGS} ${LDFLAGS} conftest.c' failed."
echo 1>&2 "*** You must set the environment variable CC to a working compiler."
rm -f conftest*
exit 1
;;
esac
rm -f conftest*
case "${host}" in
sparc-sun-solaris2*)
CCBASE="`echo ${CC-cc} | sed 's/ .*$//'`"
if test "`type $CCBASE | sed 's/^[^/]*//'`" = "/usr/ucb/cc" ; then
could_use=
test -d /opt/SUNWspro/bin && could_use="/opt/SUNWspro/bin"
if test -d /opt/cygnus/bin ; then
if test "$could_use" = "" ; then
could_use="/opt/cygnus/bin"
else
could_use="$could_use or /opt/cygnus/bin"
fi
fi
if test "$could_use" = "" ; then
echo "Warning: compilation may fail because you're using"
echo "/usr/ucb/cc. You should change your PATH or CC "
echo "variable and rerun configure."
else
echo "Warning: compilation may fail because you're using"
echo "/usr/ucb/cc, when you should use the C compiler from"
echo "$could_use. You should change your"
echo "PATH or CC variable and rerun configure."
fi
fi
;;
esac
if test "${shared}" = "yes" ; then
SET_LIB_PATH="\$(REALLY_SET_LIB_PATH)"
else
SET_LIB_PATH=
fi
sed -e "s/@SET_LIB_PATH@/${SET_LIB_PATH}/" Makefile > Makefile.tem
rm -f Makefile
mv -f Makefile.tem Makefile
case "${host}" in
*-*-hpux*) RPATH_ENVVAR=SHLIB_PATH ;;
*) RPATH_ENVVAR=LD_LIBRARY_PATH ;;
esac
sed -e "s/@RPATH_ENVVAR@/${RPATH_ENVVAR}/" Makefile > Makefile.tem
rm -f Makefile
mv -f Makefile.tem Makefile
baseargs=`echo "${arguments}" | \
sed -e 's/--no[^ ]*//' \
-e 's/--cache[a-z-]*=[^ ]*//' \
-e 's/--sr[a-z-]*=[^ ]*//' \
-e 's/--ho[a-z-]*=[^ ]*//' \
-e 's/--bu[a-z-]*=[^ ]*//' \
-e 's/--ta[a-z-]*=[^ ]*//'`
buildargs="--cache-file=../config.cache --build=${build_alias} --host=${build_alias} ${baseargs}"
target_configdirs=`echo "${target_configdirs}" | sed -e 's/target-//g'`
targargs=${baseargs}
if test x${is_cross_compiler} = xyes ; then
targargs="--with-cross-host=${host_alias} ${targargs}"
fi
if test x${enable_multilib} = x ; then
targargs="--enable-multilib ${targargs}"
fi
if test x${with_newlib} != xno && echo " ${target_configdirs} " | grep " newlib " > /dev/null 2>&1 && test -d ${srcdir}/newlib ; then
targargs="--with-newlib ${targargs}"
fi
targargs="--cache-file=../config.cache --host=${target_alias} --build=${build_alias} ${targargs}"
gxx_include_dir=
if test -n "${with_gxx_include_dir}"; then
case "${with_gxx_include_dir}" 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/c++'
else
. ${srcdir}/config.if
gxx_include_dir='${prefix}/include/${libstdcxx_incdir}'
fi
else
gxx_include_dir=${gxx_include_dir}
fi
FLAGS_FOR_TARGET=
case " $target_configdirs " in
*" newlib "*)
case " $targargs " in
*" --with-newlib "*)
case "$target" in
*-cygwin*)
FLAGS_FOR_TARGET=$FLAGS_FOR_TARGET' -L$$r/$(TARGET_SUBDIR)/winsup -L$$r/$(TARGET_SUBDIR)/winsup/cygwin -L$$r/$(TARGET_SUBDIR)/winsup/w32api/lib -isystem $$s/winsup/include -isystem $$s/winsup/cygwin/include -isystem $$s/winsup/w32api/include -isystem $$s/newlib/libc/sys/cygwin -isystem $$s/newlib/libc/sys/cygwin32' ;;
esac
if test -d ${srcdir}/gcc; then
FLAGS_FOR_TARGET=$FLAGS_FOR_TARGET' -nostdinc'
if test "${build}" != "${host}"; then
FLAGS_FOR_TARGET=$FLAGS_FOR_TARGET' -isystem $$r/gcc/include'
fi
fi
case "${target}-${is_cross_compiler}" in
i[3456]86-*-linux*-no)
FLAGS_FOR_TARGET=`echo " $FLAGS_FOR_TARGET " | sed -e 's/ -nostdinc / /'`
;;
*)
FLAGS_FOR_TARGET=$FLAGS_FOR_TARGET' -B$$r/$(TARGET_SUBDIR)/newlib/ -isystem $$r/$(TARGET_SUBDIR)/newlib/targ-include -isystem $$s/newlib/libc/include'
;;
esac
;;
esac
;;
esac
if test "${build}" = "${host}" && test -d ${srcdir}/gcc; then
FLAGS_FOR_TARGET=$FLAGS_FOR_TARGET' -B$(build_tooldir)/bin/ -B$(build_tooldir)/lib/ -isystem $(build_tooldir)/include -no-cpp-precomp'
fi
if test "x${use_gnu_ld}" = x &&
echo " ${configdirs} " | grep " ld " > /dev/null ; then
FLAGS_FOR_TARGET=$FLAGS_FOR_TARGET' -L$$r/ld'
fi
if test "x${CC_FOR_TARGET+set}" = xset; then
:
elif test -d ${srcdir}/gcc; then
CC_FOR_TARGET='$$r/gcc/xgcc -B$$r/gcc/'
elif test "$host" = "$target"; then
CC_FOR_TARGET='$(CC)'
else
CC_FOR_TARGET=`echo gcc | sed -e 's/x/x/' ${program_transform_name}`
fi
case $CC_FOR_TARGET in
*' $(FLAGS_FOR_TARGET)') ;;
*) CC_FOR_TARGET=$CC_FOR_TARGET' $(FLAGS_FOR_TARGET)' ;;
esac
if test "x${GCJ_FOR_TARGET+set}" = xset; then
:
elif test -d ${srcdir}/gcc; then
GCJ_FOR_TARGET='$$r/gcc/gcj -B$$r/gcc/'
elif test "$host" = "$target"; then
GCJ_FOR_TARGET='gcj'
else
GCJ_FOR_TARGET=`echo gcj | sed -e 's/x/x/' ${program_transform_name}`
fi
case $GCJ_FOR_TARGET in
*' $(FLAGS_FOR_TARGET)') ;;
*) GCJ_FOR_TARGET=$GCJ_FOR_TARGET' $(FLAGS_FOR_TARGET)' ;;
esac
libstdcxx_flags='`case $$dir in libstdc++-v3 | libjava) ;; *) test ! -f $$r/$(TARGET_SUBDIR)/libstdc++-v3/testsuite_flags || $(SHELL) $$r/$(TARGET_SUBDIR)/libstdc++-v3/testsuite_flags --build-includes;; esac` -L$$r/$(TARGET_SUBDIR)/libstdc++-v3/src -L$$r/$(TARGET_SUBDIR)/libstdc++-v3/src/.libs'
if test "x${CXX_FOR_TARGET+set}" = xset; then
:
elif test -d ${srcdir}/gcc; then
CXX_FOR_TARGET='$$r/gcc/`case $$dir in libstdc++-v3 | libjava) echo xgcc -shared-libgcc ;; *) echo g++ ;; esac` -B$$r/gcc/ -nostdinc++ '$libstdcxx_flags
elif test "$host" = "$target"; then
CXX_FOR_TARGET='$(CXX)'
else
CXX_FOR_TARGET=`echo c++ | sed -e 's/x/x/' ${program_transform_name}`
fi
case $CXX_FOR_TARGET in
*' $(FLAGS_FOR_TARGET)') ;;
*) CXX_FOR_TARGET=$CXX_FOR_TARGET' $(FLAGS_FOR_TARGET)' ;;
esac
qCXX_FOR_TARGET=`echo "$CXX_FOR_TARGET" | sed 's,[&%],\\\&,g'`
qqCXX_FOR_TARGET=`echo "$qCXX_FOR_TARGET" | sed -e 's,[$][$],$$$$,g'`
sedtemp=sed.$$
cat >$sedtemp <<EOF
s:@target_configdirs@:${target_configdirs}:
s%@target_configargs@%${targargs}%
s%@FLAGS_FOR_TARGET@%${FLAGS_FOR_TARGET}%
s%@CC_FOR_TARGET@%\$(STAGE_CC_WRAPPER) ${CC_FOR_TARGET}%
s%@GCJ_FOR_TARGET@%\$(STAGE_CC_WRAPPER) ${GCJ_FOR_TARGET}%
s%@CXX_FOR_TARGET@%\$(STAGE_CC_WRAPPER) ${qCXX_FOR_TARGET}%
s%@CXX_FOR_TARGET_FOR_RECURSIVE_MAKE@%\$(STAGE_CC_WRAPPER) ${qqCXX_FOR_TARGET}%
s%@target_subdir@%${target_subdir}%
s%@build_subdir@%${build_subdir}%
s%@build_configargs@%${buildargs}%
s%@gxx_include_dir@%${gxx_include_dir}%
EOF
sed -f $sedtemp Makefile > Makefile.tem
rm -f Makefile $sedtemp
mv -f Makefile.tem Makefile