]> gcc.gnu.org Git - gcc.git/blobdiff - gcc/configure.in
Makefile.in (cc1plus): Put CXX_OBJS, and thence @extra_cxx_objs@, last.
[gcc.git] / gcc / configure.in
index fb9e9b1c6c5510be72fa1c348b7728c35ed185ac..5b79d3f3e7541c5b4a7c7b148be403b5f6135bf6 100644 (file)
@@ -90,12 +90,37 @@ AC_ARG_WITH(gnu-ld,
 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.],
@@ -139,7 +164,7 @@ if test x${gxx_include_dir} = x; then
     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
 
@@ -152,10 +177,18 @@ no)       ;;
 *)     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"
@@ -163,32 +196,32 @@ if test x$enable_c_cpplib != xno; then
   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
@@ -254,6 +287,28 @@ AC_SUBST(stage1_warn_cflags)
 
 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
@@ -618,18 +673,38 @@ changequote([,])dnl
                # 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
@@ -655,6 +730,10 @@ changequote([,])dnl
                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
@@ -999,8 +1078,10 @@ changequote([,])dnl
                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.
@@ -1273,7 +1354,7 @@ changequote([,])dnl
                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
@@ -1289,6 +1370,17 @@ changequote([,])dnl
                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
@@ -2872,7 +2964,7 @@ 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
@@ -2980,11 +3072,12 @@ changequote([,])dnl
                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.
@@ -3614,7 +3707,9 @@ AC_MSG_CHECKING(assembler alignment features)
 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
This page took 0.041512 seconds and 5 git commands to generate.