gnu_ld_flag="$with_gnu_ld",
gnu_ld_flag=no)
+# With pre-defined ld
+AC_ARG_WITH(ld,
+[ --with-ld arrange to use the specified ld (full pathname).],
+LD="$with_ld")
+if test x"${LD+set}" = x"set"; then
+ if test ! -x "$LD"; then
+ AC_MSG_WARN([cannot execute: $LD: check --with-ld or env. var. LD])
+ elif test "GNU" = `$LD -v </dev/null 2>&1 | sed '1s/^GNU.*/GNU/;q'`; then
+ gnu_ld_flag=yes
+ fi
+ AC_DEFINE_UNQUOTED(DEFAULT_LINKER,"$LD")
+fi
+
# With GNU as
AC_ARG_WITH(gnu-as,
[ --with-gnu-as arrange to work with GNU as.],
gas_flag="$with_gnu_as",
gas_flag=no)
+AC_ARG_WITH(as,
+[ --with-as arrange to use the specified as (full pathname).],
+AS="$with_as")
+if test x"${AS+set}" = x"set"; then
+ if test ! -x "$AS"; then
+ AC_MSG_WARN([cannot execute: $AS: check --with-as or env. var. AS])
+ elif test "GNU" = `$AS -v </dev/null 2>&1 | sed '1s/^GNU.*/GNU/;q'`; then
+ gas_flag=yes
+ fi
+ AC_DEFINE_UNQUOTED(DEFAULT_ASSEMBLER,"$AS")
+fi
+
# With stabs
AC_ARG_WITH(stabs,
[ --with-stabs arrange to use stabs instead of host debug format.],
gxx_include_dir='${libsubdir}/include/g++'
else
topsrcdir=${srcdir}/.. . ${srcdir}/../config.if
- gxx_include_dir='${prefix}/include/g++'-${libstdcxx_interface}
+ gxx_include_dir="\$(libsubdir)/\$(unlibsubdir)/..\`echo \$(exec_prefix) | sed -e 's|^\$(prefix)||' -e 's|/[^/]*|/..|g'\`/include/g++"-${libstdcxx_interface}
fi
fi
*) AC_MSG_ERROR(bad value ${enableval} given for checking option) ;;
esac])
-# Enable use of cpplib for C.
+# Use cpplib+cppmain for the preprocessor, but don't link it with the compiler.
cpp_main=cccp
+AC_ARG_ENABLE(cpplib,
+[ --enable-cpplib use cpplib for the C preprocessor.],
+if test x$enable_cpplib != xno; then
+ cpp_main=cppmain
+fi)
+
+# Link cpplib into the compiler proper, for C/C++/ObjC.
AC_ARG_ENABLE(c-cpplib,
-[ --enable-c-cpplib Use cpplib for C and C++.],
+[ --enable-c-cpplib link cpplib directly into C and C++ compilers
+ (implies --enable-cpplib).],
if test x$enable_c_cpplib != xno; then
extra_c_objs="${extra_c_objs} cpplib.o cppexp.o cpphash.o cpperror.o"
extra_c_objs="${extra_c_objs} prefix.o"
extra_c_flags=-DUSE_CPPLIB=1
cpp_main=cppmain
fi)
-
+
# Enable Multibyte Characters for C/C++
AC_ARG_ENABLE(c-mbchar,
-[ --enable-c-mbchar Enable multibyte characters for C and C++.],
+[ --enable-c-mbchar enable multibyte characters for C and C++.],
if test x$enable_c_mbchar != xno; then
extra_c_flags=-DMULTIBYTE_CHARS=1
fi)
# Enable Haifa scheduler.
AC_ARG_ENABLE(haifa,
-[ --enable-haifa Use the experimental scheduler.
- --disable-haifa Don't use the experimental scheduler for the
+[ --enable-haifa use the experimental scheduler.
+ --disable-haifa don't use the experimental scheduler for the
targets which normally enable it.])
# Fast fixincludes
#
# This is a work in progress...
AC_ARG_WITH(fast-fixincludes,
-[ --with-fast-fixincludes Use a faster fixinclude program. Experimental],
+[ --with-fast-fixincludes use a faster fixinclude program (experimental)],
fast_fixinc="$with_fast_fixincludes",
fast_fixinc=no)
# Enable init_priority.
AC_ARG_ENABLE(init-priority,
-[ --enable-init-priority Use attributes to assign initialization order
+[ --enable-init-priority use attributes to assign initialization order
for static objects.
- --disable-init-priority Conform to ISO C++ rules for ordering static objects
+ --disable-init-priority conform to ISO C++ rules for ordering static objects
(i.e. initialized in order of declaration). ],
if test x$enable_init_priority != xno; then
extra_c_flags=-DUSE_INIT_PRIORITY
AC_PROG_MAKE_SET
+AC_MSG_CHECKING([whether a default assembler was specified])
+if test x"${AS+set}" = x"set"; then
+ if test x"$with_gas" = x"no"; then
+ AC_MSG_RESULT([yes ($AS)])
+ else
+ AC_MSG_RESULT([yes ($AS - GNU as)])
+ fi
+else
+ AC_MSG_RESULT(no)
+fi
+
+AC_MSG_CHECKING([whether a default linker was specified])
+if test x"${LD+set}" = x"set"; then
+ if test x"$with_gnu_ld" = x"no"; then
+ AC_MSG_RESULT([yes ($LD)])
+ else
+ AC_MSG_RESULT([yes ($LD - GNU ld)])
+ fi
+else
+ AC_MSG_RESULT(no)
+fi
+
# Find some useful tools
AC_PROG_AWK
AC_PROG_LEX
# On NetBSD, the headers are already okay, except for math.h.
fixincludes=fixinc.wrap
;;
- arm-*-linux-gnuaout*) # ARM GNU/Linux
+ arm*-*-linux-gnuaout*) # ARM GNU/Linux with a.out
cpu_type=arm
xmake_file=x-linux
- tm_file=arm/linux-gas.h
+ tm_file=arm/linux-aout.h
tmake_file=arm/t-linux
fixincludes=Makefile.in
gnu_ld=yes
;;
- arm-*-aout)
+ arm*-*-linux-gnu*) # ARM GNU/Linux with ELF
+ xm_file=arm/xm-linux.h
+ xmake_file=x-linux
+ case $machine in
+ armv2*-*-*)
+ tm_file=arm/linux-elf26.h
+ ;;
+ *)
+ tm_file=arm/linux-elf.h
+ ;;
+ esac
+ tmake_file="t-linux arm/t-linux"
+ extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
+ fixincludes=Makefile.in # Nothing to fix
+ gnu_ld=yes
+ ;;
+ arm*-*-aout)
tm_file=arm/aout.h
tmake_file=arm/t-bare
;;
+ arm*-*-elf)
+ tm_file=arm/unknown-elf.h
+ tmake_file=arm/t-arm-elf
+ ;;
c1-convex-*) # Convex C1
target_cpu_default=1
use_collect2=yes
use_collect2=yes
fixincludes=Makefile.in
;;
+ c4x-*)
+ cpu_type=c4x
+ tmake_file=c4x/t-c4x
+ ;;
clipper-intergraph-clix*)
tm_file="${tm_file} svr3.h clipper/clix.h"
xm_file=clipper/xm-clix.h
fixincludes=fixinc.wrap
tmake_file=i386/t-freebsd
;;
+ # We are hoping OpenBSD is still close enough to NetBSD that we can
+ # share the configurations.
changequote(,)dnl
- i[34567]86-*-netbsd*)
+ i[34567]86-*-netbsd* | i[34567]86-*-openbsd*)
changequote([,])dnl
tm_file=i386/netbsd.h
# On NetBSD, the headers are already okay, except for math.h.
tmake_file=i386/t-crtpic
xmake_file=x-svr4
extra_parts="crtbegin.o crtend.o"
- fixincludes=Makefile.in # The headers are just fine, thank you.
+ fixincludes=fixinc.svr4
;;
changequote(,)dnl
i[34567]86-*-sysv4*) # Intel 80386's running system V.4
xmake_file=x-svr4
extra_parts="crtbegin.o crtend.o"
;;
+changequote(,)dnl
+ i[34567]86-*-udk*) # Intel x86 on SCO UW/OSR5 Dev Kit
+changequote([,])dnl
+ xm_file="xm-alloca.h xm-siglist.h ${xm_file}"
+ xm_defines="USG POSIX"
+ tm_file=i386/udk.h
+ tmake_file="i386/t-crtpic i386/t-udk"
+ xmake_file=x-svr4
+ extra_parts="crtbegin.o crtend.o"
+ fixincludes="fixinc.svr4"
+ ;;
changequote(,)dnl
i[34567]86-*-osf1*) # Intel 80386's running OSF/1 1.3+
changequote([,])dnl
tm_file=sparc/sol2-sld-64.h
xm_file="sparc/xm-sysv4-64.h sparc/xm-sol2.h"
xm_defines="USG POSIX"
- tmake_file=sparc/t-sol2
+ tmake_file="sparc/t-sol2 sparc/t-sol2-64"
xmake_file=sparc/x-sysv4
extra_parts="crt1.o crti.o crtn.o gcrt1.o crtbegin.o crtend.o"
fixincludes=fixinc.wrap
extra_parts="crtbegin.o crtend.o"
;;
sparc64-*-linux*) # 64-bit Sparc's running GNU/Linux
- tmake_file=sparc/t-sp64
+ tmake_file="t-linux sparc/t-linux64"
xm_file="sparc/xm-sp64.h sparc/xm-linux.h"
tm_file=sparc/linux64.h
xmake_file=x-linux
fixincludes=Makefile.in # The headers are ok already.
+ extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
gnu_ld=yes
;;
# This hasn't been upgraded to GCC 2.
gcc_cv_as=
gcc_cv_as_alignment_features=
gcc_cv_as_gas_srcdir=`echo $srcdir | sed -e 's,/gcc$,,'`/gas
-if test -x as$host_exeext; then
+if test -x "$AS"; then
+ gcc_cv_as=$AS
+elif test -x as$host_exeext; then
# Build using assembler in the current directory.
gcc_cv_as=./as$host_exeext
elif test -f $gcc_cv_as_gas_srcdir/configure.in; then