# list belongs in this list. those programs are also very likely
# candidates for the "native_only" list which follows
#
-target_tools="target-examples target-groff target-gperf"
+target_tools="target-examples target-groff target-gperf target-rda"
################################################################################
-## These two lists are of directories that are to be removed from the
-## ${configdirs} list for either cross-compilations or for native-
-## compilations. For example, it doesn't make that much sense to
-## cross-compile Emacs, nor is it terribly useful to compile target-libiberty in
-## a native environment.
-
-# directories to be built in the native environment only
-#
-# This must be a single line because of the way it is searched by grep in
-# the code below.
-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"
-
-# directories to be built in a cross environment only
-#
-cross_only="target-libgloss target-newlib target-cygmon target-opcodes target-libstub"
-
## All tools belong in one of the four categories, and are assigned above
## We assign ${configdirs} this way to remove all embedded newlines. This
## is important because configure will choke if they ever get through.
esac
# Some tools are only suitable for building in a "native" situation.
-# Remove these if host!=target. Similarly, some are only suitable
-# for cross toolchains; remove if host=target.
+# Remove these if host!=target.
+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"
+
+# Similarly, some are only suitable for cross toolchains.
+# Remove these if host=target.
+cross_only="target-libgloss target-newlib target-opcodes"
case $is_cross_compiler in
no) skipdirs="${skipdirs} ${cross_only}" ;;
;;
*-*-netbsd*)
# Skip some stuff on all NetBSD configurations.
- skipdirs="$skipdirs target-newlib target-libiberty target-libgloss"
+ noconfigdirs="$noconfigdirs target-newlib target-libiberty target-libgloss"
# Skip some stuff that's unsupported on some NetBSD configurations.
case "${target}" in
noconfigdirs="$noconfigdirs expect dejagnu"
# the C++ libraries don't build on top of CE's C libraries
noconfigdirs="$noconfigdirs ${libstdcxx_version}"
- skipdirs="$skipdirs target-newlib"
+ noconfigdirs="$noconfigdirs target-newlib"
case "${host}" in
*-*-cygwin*) ;; # keep gdb and readline
*) noconfigdirs="$noconfigdirs gdb readline ${libstdcxx_version}"
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}"
;;
thumb-*-oabi)
noconfigdirs="$noconfigdirs target-libgloss ${libgcj}"
;;
- strongarm-*-elf)
- noconfigdirs="$noconfigdirs ${libgcj}"
- ;;
- strongarm-*-coff)
- noconfigdirs="$noconfigdirs ${libgcj}"
- ;;
- xscale-*-elf)
- noconfigdirs="$noconfigdirs target-libffi target-qthreads"
- ;;
- xscale-*-coff)
- noconfigdirs="$noconfigdirs ${libgcj}"
- ;;
thumb-*-pe)
noconfigdirs="$noconfigdirs target-libgloss ${libgcj}"
;;
avr-*-*)
noconfigdirs="$noconfigdirs target-libiberty ${libstdcxx_version} ${libgcj}"
;;
- c4x-*-*)
+ c4x-*-* | tic4x-*-*)
noconfigdirs="$noconfigdirs ${libstdcxx_version} target-libgloss ${libgcj}"
;;
c54x*-*-* | tic54x-*-*)
;;
fr30-*-elf*)
noconfigdirs="$noconfigdirs ${libgcj}"
- if test x${is_cross_compiler} != xno ; then
- target_configdirs="${target_configdirs} target-bsp target-libstub target-cygmon"
- fi
;;
frv-*-*)
noconfigdirs="$noconfigdirs ${libgcj}"
- if test x${is_cross_compiler} != xno ; then
- target_configdirs="${target_configdirs} target-bsp target-cygmon"
- fi
;;
h8300*-*-*)
noconfigdirs="$noconfigdirs target-libgloss"
hppa*-*-*elf* | \
parisc*-*-linux* | hppa*-*-linux* | \
hppa*-*-lites* | \
+ hppa*-*-openbsd* | \
hppa*64*-*-*)
noconfigdirs="$noconfigdirs ${libgcj}"
# Do configure ld/binutils/gas for this case.
;;
i[3456]86-*-coff | i[3456]86-*-elf)
noconfigdirs="$noconfigdirs ${libgcj}"
- if test x${is_cross_compiler} != xno ; then
- target_configdirs="${target_configdirs} target-libstub target-cygmon"
- fi
;;
i[34567]86-*-freebsd*)
noconfigdirs="$noconfigdirs target-newlib target-libgloss"
;;
- s390*-*-linux*)
- # The libffi port is not yet in the GCC tree
- noconfigdirs="$noconfigdirs target-newlib target-libgloss ${libgcj}"
- ;;
i[3456]86-*-linux*)
+ # The GCC port for glibc1 has no MD_FALLBACK_FRAME_STATE_FOR, so let's
+ # not build java stuff by default.
+ case "${target}" in
+ *-*-*libc1*)
+ noconfigdirs="$noconfigdirs ${libgcj}";;
+ esac
+
# This section makes it possible to build newlib natively on linux.
# If we are using a cross compiler then don't configure newlib.
if test x${is_cross_compiler} != xno ; then
# if the --with-newlib option has been given, because otherwise
# 'target-newlib' will appear in skipdirs.
;;
- *-*-linux*)
- noconfigdirs="$noconfigdirs target-newlib target-libgloss"
- ;;
i[3456]86-*-mingw32*)
target_configdirs="$target_configdirs target-mingw"
noconfigdirs="$noconfigdirs expect target-libgloss ${libgcj}"
;;
m68k-*-elf*)
noconfigdirs="$noconfigdirs ${libgcj}"
- if test x${is_cross_compiler} != xno ; then
- target_configdirs="${target_configdirs} target-bsp target-cygmon"
- fi
;;
m68k-*-coff*)
noconfigdirs="$noconfigdirs ${libgcj}"
- if test x${is_cross_compiler} != xno ; then
- target_configdirs="${target_configdirs} target-bsp target-cygmon"
- fi
;;
mcore-*-pe*)
# The EPOC C++ environment does not support exceptions or rtti,
;;
mn10200-*-*)
noconfigdirs="$noconfigdirs ${libgcj}"
- if test x${is_cross_compiler} != xno ; then
- target_configdirs="${target_configdirs} target-libstub target-cygmon"
- fi
;;
mn10300-*-*)
noconfigdirs="$noconfigdirs ${libgcj}"
- if test x${is_cross_compiler} != xno ; then
- target_configdirs="${target_configdirs} target-bsp target-libstub target-cygmon"
- fi
;;
powerpc-*-aix*)
# copied from rs6000-*-* entry
powerpc-*-beos*)
noconfigdirs="$noconfigdirs gdb target-newlib target-libgloss ${libgcj}"
;;
+ powerpc-*-darwin*)
+ noconfigdirs="$noconfigdirs bfd binutils ld gas opcodes gdb tk itcl tix libgui gprof ${libgcj}"
+ ;;
powerpc-*-eabi)
noconfigdirs="$noconfigdirs ${libgcj}"
- if test x${is_cross_compiler} != xno ; then
- target_configdirs="${target_configdirs} target-bsp target-libstub target-cygmon"
- fi
+ ;;
+ powerpc64*-*-linux*)
+ noconfigdirs="$noconfigdirs target-newlib target-libgloss"
+ # not yet ported.
+ noconfigdirs="$noconfigdirs target-libffi"
;;
rs6000-*-lynxos*)
noconfigdirs="$noconfigdirs target-newlib gprof ${libgcj}"
;;
mipstx39-*-*)
noconfigdirs="$noconfigdirs gprof ${libgcj}" # same as generic mips
- target_configdirs="${target_configdirs} target-bsp target-libstub target-cygmon"
;;
mips*-*-linux*)
- noconfigdirs="$noconfigdirs target-libffi"
+ noconfigdirs="$noconfigdirs target-newlib target-libgloss"
;;
mips*-*-*)
noconfigdirs="$noconfigdirs gprof ${libgcj}"
noconfigdirs="$noconfigdirs target-libgloss ${libgcj}"
;;
sparc-*-elf*)
- if test x${is_cross_compiler} != xno ; then
- target_configdirs="${target_configdirs} target-libstub target-cygmon"
- fi
noconfigdirs="$noconfigdirs ${libgcj}"
;;
sparc64-*-elf*)
- if test x${is_cross_compiler} != xno ; then
- target_configdirs="${target_configdirs} target-libstub target-cygmon"
- fi
noconfigdirs="$noconfigdirs ${libgcj}"
;;
sparclite-*-*)
- if test x${is_cross_compiler} != xno ; then
- target_configdirs="${target_configdirs} target-bsp target-libstub target-cygmon"
- fi
noconfigdirs="$noconfigdirs ${libgcj}"
;;
sparc-*-sunos4*)
noconfigdirs="$noconfigdirs ${libgcj}"
if test x${is_cross_compiler} != xno ; then
- noconfigdirs="$noconfigdirs gdb gdbtest target-newlib target-libgloss"
+ noconfigdirs="$noconfigdirs gdb target-newlib target-libgloss"
else
use_gnu_ld=no
fi
ip2k-*-*)
noconfigdirs="$noconfigdirs target-libiberty ${libstdcxx_version} ${libgcj}"
;;
+ *-*-linux*)
+ noconfigdirs="$noconfigdirs target-newlib target-libgloss"
+ ;;
*-*-lynxos*)
noconfigdirs="$noconfigdirs target-newlib target-libgloss ${libgcj}"
;;
- *-*-macos* | \
- *-*-mpw*)
- # Macs want a resource compiler.
- configdirs="$configdirs grez"
- noconfigdirs="$noconfigdirs ${libgcj}"
- ;;
*-*-*)
noconfigdirs="$noconfigdirs ${libgcj}"
;;
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 \
- || test -r $srcdir/$dirname/configure.in ; then
+ if test -r $srcdir/$dirname/configure ; then
if echo " ${skipdirs} " | grep " ${dir} " >/dev/null 2>&1; then
true
else
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 \
- || test -r $srcdir/$dirname/configure.in ; then
+ if test -r $srcdir/$dirname/configure ; then
if echo " ${skipdirs} " | grep " ${dir} " >/dev/null 2>&1; then
true
else
others=
for i in `echo ${target_configdirs} | sed -e s/target-//g` ; do
if test "$i" != "libiberty" ; then
- if test -r $srcdir/$i/configure || test -r $srcdir/$i/configure.in ; then
+ if test -r $srcdir/$i/configure ; then
others=yes;
break;
fi
copy_dirs=
-# Handle --with-headers=XXX. The contents of the named directory are
-# copied to $(tooldir)/sys-include.
+# 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
- case "${exec_prefixoption}" in
- "") x=${prefix} ;;
- *) x=${exec_prefix} ;;
- esac
- copy_dirs="${copy_dirs} ${with_headers} $x/${target_alias}/sys-include"
+ 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. Multiple directories are permitted. The
-# contents are copied to $(tooldir)/lib.
+# 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
- # 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
+ 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}
host_makefile_frag=mh-frag
fi
-# If we aren't going to be using gcc, see if we can extract a definition
-# of CC from the fragment.
-# Actually, use the 'pre-extracted' version above.
-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
-
+extra_arflags_for_target=
+extra_nmflags_for_target=
case "${target}" in
- v810*)
- target_makefile_frag="config/mt-v810"
- ;;
i[3456]86-*-netware*)
target_makefile_frag="config/mt-netware"
;;
target_makefile_frag="config/mt-linux"
;;
*-*-aix4.[3456789]* | *-*-aix[56789].*)
- target_makefile_frag="config/mt-aix43"
+ # nm and ar from AIX 4.3 and above require -X32_64 flag to all ar and nm
+ # commands to handle both 32-bit and 64-bit objects. These flags are
+ # harmless if we're using GNU nm or ar.
+ extra_arflags_for_target=" -X32_64"
+ extra_nmflags_for_target=" -B -X32_64"
;;
mips*-*-pe | sh*-*-pe | *arm-wince-pe)
target_makefile_frag="config/mt-wince"
# Default to using --with-stabs for certain targets.
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*)
;;
esac
+# If we aren't going to be using gcc, see if we can extract a definition
+# of CC from the fragment.
+# Actually, use the 'pre-extracted' version above.
+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
+
# post-target:
# Make sure that the compiler is able to generate an executable. If it
# If --enable-shared was set, we must set LD_LIBRARY_PATH so that the
# binutils tools will find libbfd.so.
if test "${shared}" = "yes" ; then
- sed -e 's/^SET_LIB_PATH[ ]*=.*$/SET_LIB_PATH = $(REALLY_SET_LIB_PATH)/' \
- Makefile > Makefile.tem
- rm -f Makefile
- mv -f Makefile.tem Makefile
-
- case "${host}" in
- *-*-hpux*)
- sed -e 's/^RPATH_ENVVAR[ ]*=.*$/RPATH_ENVVAR = SHLIB_PATH/' \
- Makefile > Makefile.tem
- rm -f Makefile
- mv -f Makefile.tem Makefile
- ;;
- esac
+ 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
+
# Base args. Strip norecursion, cache-file, srcdir, host, build, target.
# These are the ones we might not want to pass down to subconfigures.
fi
FLAGS_FOR_TARGET=
-case " $skipdirs " in
-*" target-newlib "*) ;;
-*)
- case " $target_configdirs " in
+case " $target_configdirs " in
*" newlib "*)
case " $targargs " in
*" --with-newlib "*)
;;
esac
;;
- esac
- ;;
esac
# On Canadian crosses, we'll be searching the right directories for
FLAGS_FOR_TARGET=$FLAGS_FOR_TARGET' -B$(build_tooldir)/bin/ -B$(build_tooldir)/lib/ -isystem $(build_tooldir)/include'
fi
-if test "x${use_gnu_ld}" = x && test "x${with_gnu_ld}" != xno &&
+if test "x${use_gnu_ld}" = x &&
echo " ${configdirs} " | grep " ld " > /dev/null ; then
# Arrange for us to find uninstalled linker scripts.
FLAGS_FOR_TARGET=$FLAGS_FOR_TARGET' -L$$r/ld'
sedtemp=sed.$$
cat >$sedtemp <<EOF
-s:^TARGET_CONFIGDIRS[ ]*=.*$:TARGET_CONFIGDIRS = ${target_configdirs}:
-s%^TARGET_CONFIGARGS[ ]*=.*$%TARGET_CONFIGARGS = ${targargs}%
-s%^FLAGS_FOR_TARGET[ ]*=.*$%FLAGS_FOR_TARGET = ${FLAGS_FOR_TARGET}%
-s%^CC_FOR_TARGET[ ]*=.*$%CC_FOR_TARGET = ${CC_FOR_TARGET}%
-s%^GCJ_FOR_TARGET[ ]*=.*$%GCJ_FOR_TARGET = ${GCJ_FOR_TARGET}%
-s%^CXX_FOR_TARGET[ ]*=.*$%CXX_FOR_TARGET = ${qCXX_FOR_TARGET}%
-s%^CXX_FOR_TARGET_FOR_RECURSIVE_MAKE[ ]*=.*$%CXX_FOR_TARGET_FOR_RECURSIVE_MAKE = ${qqCXX_FOR_TARGET}%
-s%^TARGET_SUBDIR[ ]*=.*$%TARGET_SUBDIR = ${target_subdir}%
-s%^BUILD_SUBDIR[ ]*=.*$%BUILD_SUBDIR = ${build_subdir}%
-s%^BUILD_CONFIGARGS[ ]*=.*$%BUILD_CONFIGARGS = ${buildargs}%
-s%^gxx_include_dir[ ]*=.*$%gxx_include_dir=${gxx_include_dir}%
+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