summaryrefslogtreecommitdiffstats
path: root/configure.ac
diff options
context:
space:
mode:
Diffstat (limited to 'configure.ac')
-rw-r--r--configure.ac123
1 files changed, 101 insertions, 22 deletions
diff --git a/configure.ac b/configure.ac
index 2486049cf..e1cce0746 100644
--- a/configure.ac
+++ b/configure.ac
@@ -41,6 +41,7 @@ AC_CANONICAL_SYSTEM
AC_ARG_PROGRAM
m4_pattern_allow([^AS_FOR_TARGET$])dnl
+m4_pattern_allow([^AS_FOR_BUILD$])dnl
# Get 'install' or 'install-sh' and its variants.
AC_PROG_INSTALL
@@ -176,6 +177,7 @@ target_libraries="target-libgcc \
target-libiberty \
target-libgloss \
target-newlib \
+ target-libgomp \
target-libstdc++-v3 \
target-libmudflap \
target-libssp \
@@ -183,8 +185,7 @@ target_libraries="target-libgcc \
target-boehm-gc \
${libgcj} \
target-libobjc \
- target-libada \
- target-libgomp"
+ target-libada"
# these tools are built using the target libraries, and are intended to
# run only in the target environment
@@ -398,6 +399,8 @@ if test x$enable_libgomp = x ; then
esac
fi
+# Default libgloss CPU subdirectory.
+libgloss_dir="$target_cpu"
case "${target}" in
*-*-chorusos)
@@ -504,6 +507,7 @@ case "${target}" in
*) noconfigdirs="$noconfigdirs gdb readline"
;;
esac
+ libgloss_dir=wince
;;
arc-*-*)
noconfigdirs="$noconfigdirs target-libgloss ${libgcj}"
@@ -512,19 +516,23 @@ case "${target}" in
;;
arm-*-coff | strongarm-*-coff | xscale-*-coff)
noconfigdirs="$noconfigdirs ${libgcj}"
+ libgloss_dir=arm
;;
arm-*-elf* | strongarm-*-elf* | xscale-*-elf* | arm*-*-eabi* )
noconfigdirs="$noconfigdirs target-libffi target-qthreads"
+ libgloss_dir=arm
;;
arm*-*-linux-gnueabi)
- noconfigdirs="$noconfigdirs target-libffi target-qthreads"
- noconfigdirs="$noconfigdirs target-libjava target-libobjc"
+ noconfigdirs="$noconfigdirs target-qthreads"
+ noconfigdirs="$noconfigdirs target-libobjc"
case ${with_newlib} in
no) noconfigdirs="$noconfigdirs target-newlib target-libgloss"
esac
+ libgloss_dir=arm
;;
arm*-*-symbianelf*)
noconfigdirs="$noconfigdirs ${libgcj} target-libiberty"
+ libgloss_dir=arm
;;
arm-*-pe*)
noconfigdirs="$noconfigdirs target-libgloss ${libgcj}"
@@ -571,6 +579,7 @@ case "${target}" in
unsupported_languages="$unsupported_languages fortran"
noconfigdirs="$noconfigdirs ${libgcj} target-newlib target-libgloss";;
esac
+ libgloss_dir=cris
;;
crx-*-*)
noconfigdirs="$noconfigdirs target-libstdc++-v3 target-mudflap ${libgcj}"
@@ -581,6 +590,9 @@ case "${target}" in
d30v-*-*)
noconfigdirs="$noconfigdirs ${libgcj} gdb"
;;
+ ep9312-*-elf | ep9312-*-coff)
+ libgloss_dir=arm
+ ;;
fr30-*-elf*)
noconfigdirs="$noconfigdirs ${libgcj} gdb"
;;
@@ -612,6 +624,9 @@ case "${target}" in
hppa*-hp-hpux11*)
noconfigdirs="$noconfigdirs ld shellutils"
;;
+ hppa*-*-pro*)
+ libgloss_dir=pa
+ ;;
hppa*-*-*)
# According to Alexandre Oliva <aoliva@redhat.com>, libjava won't
# build on HP-UX 10.20.
@@ -632,6 +647,7 @@ case "${target}" in
;;
i[[3456789]]86-*-coff | i[[3456789]]86-*-elf)
noconfigdirs="$noconfigdirs ${libgcj}"
+ libgloss_dir=i386
;;
i[[3456789]]86-*-linux*)
# The GCC port for glibc1 has no MD_FALLBACK_FRAME_STATE_FOR, so let's
@@ -701,6 +717,7 @@ case "${target}" in
;;
m68hc11-*-*|m6811-*-*|m68hc12-*-*|m6812-*-*)
noconfigdirs="$noconfigdirs target-libiberty target-libstdc++-v3 ${libgcj}"
+ libgloss_dir=m68hc11
;;
m68k-*-elf*)
noconfigdirs="$noconfigdirs ${libgcj}"
@@ -708,6 +725,9 @@ case "${target}" in
m68k-*-coff*)
noconfigdirs="$noconfigdirs ${libgcj}"
;;
+ m68*-*-* | fido-*-*)
+ libgloss_dir=m68k
+ ;;
mcore-*-pe*)
# The EPOC C++ environment does not support exceptions or rtti,
# and so building libstdc++-v3 tends not to always work.
@@ -739,14 +759,17 @@ case "${target}" in
# This is temporary until we can link against shared libraries
powerpcle-*-solaris*)
noconfigdirs="$noconfigdirs gdb sim make tcl tk expect itcl gnuserv ${libgcj}"
+ libgloss_dir=rs6000
;;
powerpc-*-beos*)
noconfigdirs="$noconfigdirs gdb target-newlib target-libgloss ${libgcj}"
;;
powerpc-*-eabi)
noconfigdirs="$noconfigdirs ${libgcj}"
+ libgloss_dir=rs6000
;;
powerpc-*-eabi* | powerpcle-*-eabi* | powerpc-*-rtems* )
+ libgloss_dir=rs6000
;;
rs6000-*-lynxos*)
noconfigdirs="$noconfigdirs target-newlib gprof ${libgcj}"
@@ -760,6 +783,14 @@ case "${target}" in
m68k-apollo-*)
noconfigdirs="$noconfigdirs ld binutils gprof target-libgloss ${libgcj}"
;;
+ mips*-sde-elf*)
+ skipdirs="$skipdirs target-libiberty"
+ noconfigdirs="$noconfigdirs ${libgcj}"
+ if test x$with_newlib = xyes; then
+ noconfigdirs="$noconfigdirs gprof"
+ fi
+ libgloss_dir=mips
+ ;;
mips*-*-irix5*)
noconfigdirs="$noconfigdirs gprof target-libgloss ${libgcj}"
;;
@@ -773,14 +804,12 @@ case "${target}" in
mips*-*-bsd*)
noconfigdirs="$noconfigdirs gprof target-libgloss ${libgcj}"
;;
- mips64*-*-linux*)
- noconfigdirs="$noconfigdirs target-newlib target-libgloss ${libgcj}"
- ;;
mips*-*-linux*)
noconfigdirs="$noconfigdirs target-newlib target-libgloss"
;;
mips*-*-*)
noconfigdirs="$noconfigdirs gprof ${libgcj}"
+ libgloss_dir=mips
;;
romp-*-*)
noconfigdirs="$noconfigdirs bfd binutils ld gas opcodes target-libgloss ${libgcj}"
@@ -794,14 +823,19 @@ case "${target}" in
esac
noconfigdirs="$noconfigdirs target-libgloss ${libgcj}"
;;
+ sparclet-*-aout* | sparc86x-*-*)
+ libgloss_dir=sparc
+ ;;
sparc-*-elf*)
noconfigdirs="$noconfigdirs ${libgcj}"
;;
sparc64-*-elf*)
noconfigdirs="$noconfigdirs ${libgcj}"
+ libgloss_dir=sparc
;;
sparclite-*-*)
noconfigdirs="$noconfigdirs ${libgcj}"
+ libgloss_dir=sparc
;;
sparc-*-sunos4*)
noconfigdirs="$noconfigdirs ${libgcj}"
@@ -974,8 +1008,10 @@ case "${host}" in
host_makefile_frag="config/mh-cygwin"
;;
*-mingw32*)
+ host_makefile_frag="config/mh-mingw"
;;
*-mingw64*)
+ host_makefile_frag="config/mh-mingw"
;;
*-interix*)
host_makefile_frag="config/mh-interix"
@@ -1047,9 +1083,31 @@ if test -z "${CC}" && test "${build}" = "${host}" ; then
fi
if test "${build}" != "${host}" ; then
+ AR_FOR_BUILD=${AR_FOR_BUILD-ar}
+ AS_FOR_BUILD=${AS_FOR_BUILD-as}
CC_FOR_BUILD=${CC_FOR_BUILD-gcc}
+ CXX_FOR_BUILD=${CXX_FOR_BUILD-g++}
+ GCJ_FOR_BUILD=${GCJ_FOR_BUILD-gcj}
+ GFORTRAN_FOR_BUILD=${GFORTRAN_FOR_BUILD-gfortran}
+ DLLTOOL_FOR_BUILD=${DLLTOOL_FOR_BUILD-dlltool}
+ LD_FOR_BUILD=${LD_FOR_BUILD-ld}
+ NM_FOR_BUILD=${NM_FOR_BUILD-nm}
+ RANLIB_FOR_BUILD=${RANLIB_FOR_BUILD-ranlib}
+ WINDRES_FOR_BUILD=${WINDRES_FOR_BUILD-windres}
+ WINDMC_FOR_BUILD=${WINDMC_FOR_BUILD-windmc}
else
+ AR_FOR_BUILD="\$(AR)"
+ AS_FOR_BUILD="\$(AS)"
CC_FOR_BUILD="\$(CC)"
+ CXX_FOR_BUILD="\$(CXX)"
+ GCJ_FOR_BUILD="\$(GCJ)"
+ GFORTRAN_FOR_BUILD="\$(GFORTRAN)"
+ DLLTOOL_FOR_BUILD="\$(DLLTOOL)"
+ LD_FOR_BUILD="\$(LD)"
+ NM_FOR_BUILD="\$(NM)"
+ RANLIB_FOR_BUILD="\$(RANLIB)"
+ WINDRES_FOR_BUILD="\$(WINDRES)"
+ WINDMC_FOR_BUILD="\$(WINDMC)"
fi
AC_PROG_CC
@@ -1763,6 +1821,9 @@ case "${target}" in
mips*-sde-elf*)
target_makefile_frag="config/mt-sde"
;;
+ mipsisa*-*-elfoabi*)
+ target_makefile_frag="config/mt-mips-elfoabi"
+ ;;
*-*-netware*)
target_makefile_frag="config/mt-netware"
;;
@@ -2299,6 +2360,19 @@ case " $target_configdirs " in
# for any libc-related directories first (so make it the last -B
# switch).
FLAGS_FOR_TARGET=$FLAGS_FOR_TARGET' -B$$r/$(TARGET_SUBDIR)/newlib/ -isystem $$r/$(TARGET_SUBDIR)/newlib/targ-include -isystem $$s/newlib/libc/include'
+
+ # If we're building libgloss, find the startup file, simulator library
+ # and linker script.
+ case " $target_configdirs " in
+ *" libgloss "*)
+ # Look for startup file, simulator library and maybe linker script.
+ FLAGS_FOR_TARGET=$FLAGS_FOR_TARGET' -B$$r/$(TARGET_SUBDIR)/libgloss/'"$libgloss_dir"
+ # Look for libnosys.a in case the target needs it.
+ FLAGS_FOR_TARGET=$FLAGS_FOR_TARGET' -L$$r/$(TARGET_SUBDIR)/libgloss/libnosys'
+ # Most targets have the linker script in the source directory.
+ FLAGS_FOR_TARGET=$FLAGS_FOR_TARGET' -L$$s/libgloss/'"$libgloss_dir"
+ ;;
+ esac
;;
esac
;;
@@ -2314,6 +2388,8 @@ esac
# Allow the user to override the flags for
# our build compiler if desired.
CFLAGS_FOR_BUILD=${CFLAGS_FOR_BUILD-${CFLAGS}}
+CXXFLAGS_FOR_BUILD=${CXXFLAGS_FOR_BUILD-${CFLAGS}}
+LDFLAGS_FOR_BUILD=${LDFLAGS_FOR_BUILD-${CFLAGS}}
# On Canadian crosses, we'll be searching the right directories for
# the previously-installed cross compiler, so don't bother to add
@@ -2332,16 +2408,6 @@ fi
# Search for other target-specific linker scripts and such.
case "${target}" in
- m32c-*-* )
- if test -d ${srcdir}/libgloss/m32c; then
- # This is for crt0.o
- FLAGS_FOR_TARGET=$FLAGS_FOR_TARGET' -B$$r/$(TARGET_SUBDIR)/libgloss/m32c'
- # This is for r8c.ld
- FLAGS_FOR_TARGET=$FLAGS_FOR_TARGET' -L$$r/$(TARGET_SUBDIR)/libgloss/m32c'
- # This is for libnosys.a
- FLAGS_FOR_TARGET=$FLAGS_FOR_TARGET' -L$$r/$(TARGET_SUBDIR)/libgloss/libnosys'
- fi
- ;;
mep*)
FLAGS_FOR_TARGET="$FLAGS_FOR_TARGET -mlibrary"
;;
@@ -2381,7 +2447,21 @@ AC_SUBST(target_configargs)
# Build tools.
+AC_SUBST(AR_FOR_BUILD)
+AC_SUBST(AS_FOR_BUILD)
AC_SUBST(CC_FOR_BUILD)
+AC_SUBST(CFLAGS_FOR_BUILD)
+AC_SUBST(CXXFLAGS_FOR_BUILD)
+AC_SUBST(CXX_FOR_BUILD)
+AC_SUBST(DLLTOOL_FOR_BUILD)
+AC_SUBST(GCJ_FOR_BUILD)
+AC_SUBST(GFORTRAN_FOR_BUILD)
+AC_SUBST(LDFLAGS_FOR_BUILD)
+AC_SUBST(LD_FOR_BUILD)
+AC_SUBST(NM_FOR_BUILD)
+AC_SUBST(RANLIB_FOR_BUILD)
+AC_SUBST(WINDMC_FOR_BUILD)
+AC_SUBST(WINDRES_FOR_BUILD)
AC_SUBST(config_shell)
# Generate default definitions for YACC, M4, LEX and other programs that run
@@ -2421,10 +2501,10 @@ case " $build_configdirs " in
*" texinfo "*) MAKEINFO='$$r/$(BUILD_SUBDIR)/texinfo/makeinfo/makeinfo' ;;
*)
changequote(,)
- # For an installed makeinfo, we require it to be from texinfo 4.4 or
+ # For an installed makeinfo, we require it to be from texinfo 4.6 or
# higher, else we use the "missing" dummy.
if ${MAKEINFO} --version \
- | egrep 'texinfo[^0-9]*([1-3][0-9]|4\.[4-9]|[5-9])' >/dev/null 2>&1; then
+ | egrep 'texinfo[^0-9]*(4\.([6-9]|[1-9][0-9])|[5-9]|[1-9][0-9])' >/dev/null 2>&1; then
:
else
MAKEINFO="$MISSING makeinfo"
@@ -2466,7 +2546,6 @@ NCN_STRICT_CHECK_TOOLS(OBJDUMP, objdump)
AC_SUBST(CC)
AC_SUBST(CXX)
AC_SUBST(CFLAGS)
-AC_SUBST(CFLAGS_FOR_BUILD)
AC_SUBST(CXXFLAGS)
# Target tools.
@@ -2613,10 +2692,10 @@ AC_ARG_ENABLE(stage1-checking,
[ --enable-stage1-checking@<:@=all@:>@ choose additional checking for stage1
of the compiler],
[stage1_checking=--enable-checking=${enable_stage1_checking}],
-[if test "x$enable_checking" = xno; then
+[if test "x$enable_checking" = xno || test "x$enable_checking" = x; then
stage1_checking=--enable-checking=yes,types
else
- stage1_checking=--enable-checking=types${enable_checking+,}$enable_checking
+ stage1_checking=--enable-checking=$enable_checking,types
fi])
AC_SUBST(stage1_checking)