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).],
+DEFAULT_LINKER="$with_ld")
+if test x"${DEFAULT_LINKER+set}" = x"set"; then
+ if test ! -x "$DEFAULT_LINKER"; then
+ AC_MSG_WARN([cannot execute: $DEFAULT_LINKER: check --with-ld or env. var. DEFAULT_LINKER])
+ elif test "GNU" = `$DEFAULT_LINKER -v </dev/null 2>&1 | sed '1s/^GNU.*/GNU/;q'`; then
+ gnu_ld_flag=yes
+ fi
+ AC_DEFINE_UNQUOTED(DEFAULT_LINKER,"$DEFAULT_LINKER")
+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).],
+DEFAULT_ASSEMBLER="$with_as")
+if test x"${DEFAULT_ASSEMBLER+set}" = x"set"; then
+ if test ! -x "$DEFAULT_ASSEMBLER"; then
+ AC_MSG_WARN([cannot execute: $DEFAULT_ASSEMBLER: check --with-as or env. var. DEFAULT_ASSEMBLER])
+ elif test "GNU" = `$DEFAULT_ASSEMBLER -v </dev/null 2>&1 | sed '1s/^GNU.*/GNU/;q'`; then
+ gas_flag=yes
+ fi
+ AC_DEFINE_UNQUOTED(DEFAULT_ASSEMBLER,"$DEFAULT_ASSEMBLER")
+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}
+changequote(<<, >>)dnl
+ gxx_include_dir="\$(libsubdir)/\$(unlibsubdir)/..\`echo \$(exec_prefix) | sed -e 's|^\$(prefix)||' -e 's|/[^/]*|/..|g'\`/include/g++"-${libstdcxx_interface}
+changequote([, ])dnl
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_cxx_objs="${extra_cxx_objs} ../cpplib.o ../cppexp.o ../cpphash.o ../cpperror.o ../prefix.o"
+ extra_c_objs="${extra_c_objs} libcpp.a"
+ extra_cxx_objs="${extra_cxx_objs} ../libcpp.a"
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"${DEFAULT_ASSEMBLER+set}" = x"set"; then
+ if test x"$with_gas" = x"no"; then
+ AC_MSG_RESULT([yes ($DEFAULT_ASSEMBLER)])
+ else
+ AC_MSG_RESULT([yes ($DEFAULT_ASSEMBLER - GNU as)])
+ fi
+else
+ AC_MSG_RESULT(no)
+fi
+
+AC_MSG_CHECKING([whether a default linker was specified])
+if test x"${DEFAULT_LINKER+set}" = x"set"; then
+ if test x"$with_gnu_ld" = x"no"; then
+ AC_MSG_RESULT([yes ($DEFAULT_LINKER)])
+ else
+ AC_MSG_RESULT([yes ($DEFAULT_LINKER - GNU ld)])
+ fi
+else
+ AC_MSG_RESULT(no)
+fi
+
# Find some useful tools
AC_PROG_AWK
AC_PROG_LEX
[#include <sys/types.h>
#include <inttypes.h>],
[intmax_t i = -1;],
- [AC_DEFINE_UNQUOTED(HAVE_INTTYPES_H)
- gcc_cv_header_inttypes_h=yes],
+ [gcc_cv_header_inttypes_h=yes],
gcc_cv_header_inttypes_h=no)])
AC_MSG_RESULT($gcc_cv_header_inttypes_h)
+if test $gcc_cv_header_inttypes_h = yes; then
+ AC_DEFINE(HAVE_INTTYPES_H)
+fi
AC_CHECK_FUNCS(strtoul bsearch strerror putenv popen bcopy bzero bcmp \
index rindex strchr strrchr kill getrlimit setrlimit atoll atoq \
GCC_FUNC_VFPRINTF_DOPRNT
GCC_FUNC_PRINTF_PTR
+AC_FUNC_VFORK
GCC_NEED_DECLARATIONS(malloc realloc calloc free bcopy bzero bcmp \
index rindex getenv atol sbrk abort atof strerror getcwd getwd \
# 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
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-go32
gnu_ld=yes
gas=yes
+ exeext=.exe
+ case $host in
+ *pc-msdosdjgpp*)
+ target_alias=djgpp
+ ;;
+ esac
;;
changequote(,)dnl
i[34567]86-moss-msdos* | i[34567]86-*-moss*)
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
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
cpu_type=i386
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 "$DEFAULT_ASSEMBLER"; then
+ gcc_cv_as="$DEFAULT_ASSEMBLER"
+elif 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
+elif test -f $gcc_cv_as_gas_srcdir/configure.in -a -f ../gas/Makefile; then
# Single tree build which includes gas.
for f in $gcc_cv_as_gas_srcdir/configure $gcc_cv_as_gas_srcdir/configure.in $gcc_cv_as_gas_srcdir/Makefile.in
do