OSDN Git Service

* arm/vxarm.h: Split out vxWorks support into separate headerfile
[pf3gnuchains/gcc-fork.git] / gcc / configure.in
index e8d7407..4ab49ff 100644 (file)
@@ -149,7 +149,10 @@ if test x$local_prefix = x; then
        local_prefix=/usr/local
 fi
 
-gxx_include_dir=
+# Don't set gcc_gxx_include_dir to gxx_include_dir since that's only
+# passed in by the toplevel make and thus we'd get different behavior
+# depending on where we built the sources.
+gcc_gxx_include_dir=
 # Specify the g++ header file directory
 AC_ARG_WITH(gxx-include-dir,
 [  --with-gxx-include-dir=DIR
@@ -157,16 +160,16 @@ AC_ARG_WITH(gxx-include-dir,
 [case "${withval}" in
 yes)   AC_MSG_ERROR(bad value ${withval} given for g++ include directory) ;;
 no)    ;;
-*)     gxx_include_dir=$with_gxx_include_dir ;;
+*)     gcc_gxx_include_dir=$with_gxx_include_dir ;;
 esac])
 
-if test x${gxx_include_dir} = x; then
+if test x${gcc_gxx_include_dir} = x; then
   if test x${enable_version_specific_runtime_libs} = xyes; then
-    gxx_include_dir='${libsubdir}/include/g++'
+    gcc_gxx_include_dir='${libsubdir}/include/g++'
   else
     topsrcdir=${srcdir}/.. . ${srcdir}/../config.if
 changequote(<<, >>)dnl
-    gxx_include_dir="\$(libsubdir)/\$(unlibsubdir)/..\`echo \$(exec_prefix) | sed -e 's|^\$(prefix)||' -e 's|/[^/]*|/..|g'\`/include/g++"-${libstdcxx_interface}
+    gcc_gxx_include_dir="\$(libsubdir)/\$(unlibsubdir)/..\`echo \$(exec_prefix) | sed -e 's|^\$(prefix)||' -e 's|/[^/]*|/..|g'\`/include/g++"-${libstdcxx_interface}
 changequote([, ])dnl
   fi
 fi
@@ -195,7 +198,7 @@ AC_ARG_ENABLE(c-cpplib,
 if test x$enable_c_cpplib != xno; then
   extra_c_objs="${extra_c_objs} libcpp.a"
   extra_cxx_objs="${extra_cxx_objs} ../libcpp.a"
-  extra_c_flags=-DUSE_CPPLIB=1
+  extra_c_flags="${extra_c_flags} -DUSE_CPPLIB=1"
   cpp_main=cppmain
 fi)
 
@@ -211,23 +214,6 @@ AC_ARG_ENABLE(haifa,
 [  --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)],
-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
-                         for 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
-fi)
 
 # Enable threads
 # Pass with no value to take the default
@@ -384,11 +370,20 @@ AC_CHECK_FUNCS(strtoul bsearch strerror putenv popen bcopy bzero bcmp \
 
 GCC_FUNC_VFPRINTF_DOPRNT
 GCC_FUNC_PRINTF_PTR
+
+case "${host}" in
+*-*-uwin*)
+  # Under some versions of uwin, vfork is notoriously buggy and the test 
+  # can hang configure; on other versions, vfork exists just as a stub.
+  # FIXME: This should be removed once vfork in uwin's runtime is fixed.
+  ac_cv_func_vfork_works=no
+  ;;
+esac
 AC_FUNC_VFORK
 
 GCC_NEED_DECLARATIONS(malloc realloc calloc free bcopy bzero bcmp \
        index rindex getenv atol sbrk abort atof strerror getcwd getwd \
-       strsignal)
+       strsignal putc_unlocked fputs_unlocked)
 
 GCC_NEED_DECLARATIONS(getrlimit setrlimit, [
 #include <sys/types.h>
@@ -415,6 +410,9 @@ host_xmake_file=
 host_truncate_target=
 host_exeext=
 
+# It is relative to $prefix.
+cpp_install_dir=
+
 # Decode the host machine, then the target machine.
 # For the host machine, we save the xm_file variable as host_xm_file;
 # then we decode the target machine and forget everything else
@@ -437,10 +435,6 @@ for machine in $build $host $target; do
        use_collect2=
        # Set this to override the default target model.
        target_cpu_default=
-       # Set this to control which fixincludes program to use.
-       if test x$fast_fixinc != xyes; then
-               fixincludes=fixincludes
-       else fixincludes=fixinc.sh ; fi
        # Set this to control how the header file directory is installed.
        install_headers_dir=install-headers-tar
        # Set this to a non-empty list of args to pass to cpp if the target
@@ -570,7 +564,6 @@ changequote([,])dnl
                target_cpu_default="MASK_GAS"
                tmake_file="t-linux t-linux-gnulibc1 alpha/t-linux alpha/t-crtbe"
                extra_parts="crtbegin.o crtend.o"
-               fixincludes=fixinc.wrap
                xmake_file=none
                gas=yes gnu_ld=yes
                if test x$enable_threads = xyes; then
@@ -583,7 +576,6 @@ changequote([,])dnl
                tmake_file="t-linux alpha/t-linux alpha/t-crtbe"
                extra_parts="crtbegin.o crtend.o"
                xmake_file=none
-               fixincludes=Makefile.in
                gas=yes gnu_ld=yes
                if test x$enable_threads = xyes; then
                        thread_file='posix'
@@ -595,7 +587,6 @@ changequote([,])dnl
                tmake_file="alpha/t-crtbe"
                extra_parts="crtbegin.o crtend.o"
                xmake_file=none
-               fixincludes=fixinc.wrap
                gas=yes gnu_ld=yes
                ;;
 
@@ -654,7 +645,6 @@ changequote([,])dnl
                xmake_file=winnt/x-winnt
                extra_host_objs=oldnames.o
                extra_gcc_objs="spawnv.o oldnames.o"
-               fixincludes=fixinc.winnt
                if test x$gnu_ld != xyes
                then
                        extra_programs=ld.exe
@@ -667,7 +657,6 @@ changequote([,])dnl
                tm_file=alpha/vms.h
                xm_file="${xm_file} alpha/xm-vms.h"
                tmake_file=alpha/t-vms
-               fixincludes=Makefile.in
                ;;
        arc-*-elf*)
                extra_parts="crtinit.o crtfini.o"
@@ -676,6 +665,10 @@ changequote([,])dnl
                tm_file=arm/coff.h
                tmake_file=arm/t-bare
                ;;
+       arm-*-vxworks*)
+               tm_file="arm/coff.h arm/vxarm.h"
+               tmake_file=arm/t-bare
+               ;;
 changequote(,)dnl
        arm-*-riscix1.[01]*)            # Acorn RISC machine (early versions)
 changequote([,])dnl
@@ -696,26 +689,21 @@ changequote([,])dnl
        arm-semi-aout | armel-semi-aout)
                tm_file=arm/semi.h
                tmake_file=arm/t-semi
-               fixincludes=Makefile.in # There is nothing to fix
                ;;
        arm-semi-aof | armel-semi-aof)
                tm_file=arm/semiaof.h
                tmake_file=arm/t-semiaof
-               fixincludes=Makefile.in # There is nothing to fix
                ;;
        arm*-*-netbsd*)
                tm_file=arm/netbsd.h
                xm_file="arm/xm-netbsd.h ${xm_file}"
                tmake_file="t-netbsd arm/t-netbsd"
-               # On NetBSD, the headers are already okay, except for math.h.
-               fixincludes=fixinc.wrap
                ;;
        arm*-*-linux-gnuaout*)          # ARM GNU/Linux with a.out
                cpu_type=arm
                xmake_file=x-linux
                tm_file=arm/linux-aout.h
                tmake_file=arm/t-linux
-               fixincludes=Makefile.in
                gnu_ld=yes
                ;;
        arm*-*-linux-gnu*)              # ARM GNU/Linux with ELF
@@ -731,7 +719,6 @@ changequote([,])dnl
                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)
@@ -753,27 +740,22 @@ changequote([,])dnl
        c1-convex-*)                    # Convex C1
                target_cpu_default=1
                use_collect2=yes
-               fixincludes=Makefile.in
                ;;
        c2-convex-*)                    # Convex C2
                target_cpu_default=2
                use_collect2=yes
-               fixincludes=Makefile.in
                ;;
        c32-convex-*)
                target_cpu_default=4
                use_collect2=yes
-               fixincludes=Makefile.in
                ;;
        c34-convex-*)
                target_cpu_default=8
                use_collect2=yes
-               fixincludes=Makefile.in
                ;;
        c38-convex-*)
                target_cpu_default=16           
                use_collect2=yes
-               fixincludes=Makefile.in
                ;;
        c4x-*)
                cpu_type=c4x
@@ -800,7 +782,7 @@ changequote([,])dnl
                ;;
        hppa*-*-openbsd*)
                target_cpu_default="MASK_SNAKE"
-     tmake_file=pa/t-openbsd
+               tmake_file=pa/t-openbsd
                ;;
        hppa1.1-*-pro*)
                tm_file="pa/pa-pro.h ${tm_file} pa/pa-pro-end.h libgloss.h"
@@ -811,7 +793,6 @@ changequote([,])dnl
                target_cpu_default="MASK_SNAKE"
                tm_file="${tm_file} pa/pa-osf.h"
                use_collect2=yes
-               fixincludes=Makefile.in
                ;;
        hppa1.1-*-rtems*)
                tm_file="pa/pa-pro.h ${tm_file} pa/pa-pro-end.h libgloss.h pa/rtems.h"
@@ -821,16 +802,13 @@ changequote([,])dnl
        hppa1.0-*-osf*)
                tm_file="${tm_file} pa/pa-osf.h"
                use_collect2=yes
-               fixincludes=Makefile.in
                ;;
        hppa1.1-*-bsd*)
                target_cpu_default="MASK_SNAKE"
                use_collect2=yes
-               fixincludes=Makefile.in
                ;;
        hppa1.0-*-bsd*)
                use_collect2=yes
-               fixincludes=Makefile.in
                ;;
        hppa1.0-*-hpux7*)
                tm_file="pa/pa-oldas.h ${tm_file} pa/pa-hpux7.h"
@@ -985,7 +963,6 @@ changequote([,])dnl
        hppa*-*-lites*)
                target_cpu_default="MASK_SNAKE"
                use_collect2=yes
-               fixincludes=Makefile.in
                ;;
        i370-*-mvs*)
                ;;
@@ -1051,7 +1028,6 @@ changequote([,])dnl
                xmake_file=i386/x-sysv3
                tm_file=i386/seq-sysv3.h
                tmake_file=i386/t-crtstuff
-               fixincludes=fixinc.ptx
                extra_parts="crtbegin.o crtend.o"
                install_headers_dir=install-headers-cpio
                ;;
@@ -1063,7 +1039,6 @@ changequote([,])dnl
                tm_file=i386/seq2-sysv3.h
                tmake_file=i386/t-crtstuff
                extra_parts="crtbegin.o crtend.o"
-               fixincludes=fixinc.ptx
                install_headers_dir=install-headers-cpio
                ;;
 changequote(,)dnl
@@ -1075,7 +1050,6 @@ changequote([,])dnl
                tm_file=i386/ptx4-i.h
                tmake_file=t-svr4
                extra_parts="crtbegin.o crtend.o"
-               fixincludes=fixinc.ptx
                install_headers_dir=install-headers-cpio
                ;;
        i386-sun-sunos*)                # Sun i386 roadrunner
@@ -1125,23 +1099,18 @@ changequote(,)dnl
        i[34567]86-*-freebsd*)
 changequote([,])dnl
                tm_file=i386/freebsd.h
-               # On FreeBSD, the headers are already ok, except for math.h.
-               fixincludes=fixinc.wrap
                tmake_file=i386/t-freebsd
                ;;
 changequote(,)dnl
        i[34567]86-*-netbsd*)
 changequote([,])dnl
                tm_file=i386/netbsd.h
-               # On NetBSD, the headers are already okay, except for math.h.
-               fixincludes=fixinc.wrap
                tmake_file=t-netbsd
                ;;
 changequote(,)dnl
        i[34567]86-*-openbsd*)
 changequote([,])dnl
                # Remove when the math emulator is fixed
-               target_cpu_default="MASK_NO_FANCY_MATH_387"
                # we need collect2 until our bug is fixed...
                use_collect2=yes
                ;;
@@ -1185,7 +1154,6 @@ changequote([,])dnl                       # with a.out format using
                xmake_file=x-linux-aout
                tmake_file="t-linux-aout i386/t-crtstuff"
                tm_file=i386/linux-oldld.h
-               fixincludes=fixinc.x86-linux-gnu
                gnu_ld=yes
                float_format=i386
                ;;
@@ -1195,7 +1163,6 @@ changequote([,])dnl                       # with a.out format
                xmake_file=x-linux-aout
                tmake_file="t-linux-aout i386/t-crtstuff"
                tm_file=i386/linux-aout.h
-               fixincludes=fixinc.x86-linux-gnu
                gnu_ld=yes
                float_format=i386
                ;;
@@ -1207,7 +1174,6 @@ changequote([,])dnl                       # with ELF format using the
                tm_file=i386/linux.h    
                tmake_file="t-linux t-linux-gnulibc1 i386/t-crtstuff"
                extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
-               fixincludes=fixinc.x86-linux-gnu
                gnu_ld=yes
                float_format=i386
                if test x$enable_threads = xyes; then
@@ -1222,7 +1188,6 @@ changequote([,])dnl                       # with ELF format using glibc 2
                tm_file=i386/linux.h
                tmake_file="t-linux i386/t-crtstuff"
                extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
-               fixincludes=fixinc.x86-linux-gnu
                gnu_ld=yes
                float_format=i386
                if test x$enable_threads = xyes; then
@@ -1237,22 +1202,20 @@ changequote([,])dnl
 changequote(,)dnl
        i[34567]86-go32-msdos | i[34567]86-*-go32*)
 changequote([,])dnl
-               xm_file=i386/xm-go32.h
-               tm_file=i386/go32.h
-               tmake_file=i386/t-go32
+               echo "GO32/DJGPP V1.X is no longer supported. Use *-pc-msdosdjgpp for DJGPP V2.X instead."
+               exit 1
                ;;
 changequote(,)dnl
        i[34567]86-pc-msdosdjgpp*)
 changequote([,])dnl
-               xm_file=i386/xm-go32.h
-               tm_file=i386/go32.h
-               tmake_file=i386/t-go32
-                xmake_file=i386/x-go32
+               xm_file=i386/xm-djgpp.h
+               tm_file=i386/djgpp.h
+               tmake_file=i386/t-djgpp
+               xmake_file=i386/x-djgpp
                gnu_ld=yes
                gas=yes
                exeext=.exe
-               case $host in
-               *pc-msdosdjgpp*)
+               case $host in *pc-msdosdjgpp*)
                        target_alias=djgpp
                        ;;
                esac
@@ -1262,7 +1225,6 @@ changequote(,)dnl
 changequote([,])dnl
                tm_file=i386/moss.h
                tmake_file=t-libc-ok
-               fixincludes=Makefile.in
                gnu_ld=yes
                gas=yes
                ;;
@@ -1330,7 +1292,6 @@ changequote([,])dnl
                xm_file="xm-siglist.h xm-alloca.h ${xm_file} i386/xm-sco5.h"
                xm_defines="USG SVR3"
                xmake_file=i386/x-sco5
-               fixincludes=fixinc.sco
                install_headers_dir=install-headers-cpio
                tm_file=i386/sco5.h
                if test x$gas = xyes
@@ -1348,7 +1309,6 @@ changequote([,])dnl
                xm_file="${xm_file} i386/xm-sco.h"
                xm_defines="USG SVR3 BROKEN_LDEXP SMALL_ARG_MAX NO_SYS_SIGLIST"
                xmake_file=i386/x-sco4
-               fixincludes=fixinc.sco
                install_headers_dir=install-headers-cpio
                 if test x$stabs = xyes
                then
@@ -1394,14 +1354,6 @@ changequote([,])dnl
                tmake_file=i386/t-sol2
                extra_parts="crt1.o crti.o crtn.o gcrt1.o gmon.o crtbegin.o crtend.o"
                xmake_file=x-svr4
-               case $machine in
-changequote(,)dnl
-               *-*-solaris2.[0-4])
-changequote([,])dnl
-                       fixincludes=fixinc.svr4;;
-               *)
-                       fixincludes=fixinc.wrap;;
-               esac
                if test x$enable_threads = xyes; then
                        thread_file='solaris'
                fi
@@ -1419,7 +1371,6 @@ changequote([,])dnl
                tmake_file=i386/t-crtpic
                xmake_file=x-svr4
                extra_parts="crtbegin.o crtend.o"
-               fixincludes=fixinc.svr4
                ;;
 changequote(,)dnl
        i[34567]86-*-sysv4*)            # Intel 80386's running system V.4
@@ -1444,7 +1395,6 @@ changequote([,])dnl
                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+
@@ -1452,7 +1402,6 @@ changequote([,])dnl
                cpu_type=i386
                xm_file="${xm_file} xm-svr4.h i386/xm-sysv4.h i386/xm-osf1elf.h"
                xm_defines="USE_C_ALLOCA SMALL_ARG_MAX"
-               fixincludes=Makefile.in #Don't do it on OSF/1
                if test x$stabs = xyes
                then
                        tm_file=i386/osf1elfgdb.h
@@ -1500,7 +1449,6 @@ changequote([,])dnl
                tm_file=i386/win32.h
                xmake_file=i386/x-cygwin
                extra_objs=winnt.o
-               fixincludes=Makefile.in
                if test x$enable_threads = xyes; then
                        thread_file='win32'
                fi
@@ -1514,7 +1462,6 @@ changequote([,])dnl
                tm_file=i386/cygwin.h
                xmake_file=i386/x-cygwin
                extra_objs=winnt.o
-               fixincludes=Makefile.in
                if test x$enable_threads = xyes; then
                        thread_file='win32'
                fi
@@ -1528,7 +1475,6 @@ changequote([,])dnl
                tmake_file="i386/t-cygwin i386/t-mingw32"
                extra_objs=winnt.o
                xmake_file=i386/x-cygwin
-               fixincludes=Makefile.in
                if test x$enable_threads = xyes; then
                        thread_file='win32'
                fi
@@ -1542,6 +1488,38 @@ changequote([,])dnl
                esac
                ;;
 changequote(,)dnl
+       i[34567]86-*-uwin*)
+changequote([,])dnl
+               tm_file=i386/uwin.h
+               xm_file="${xm_file} i386/xm-uwin.h"
+               xm_defines="USG NO_STAB_H NO_SYS_SIGLIST"
+               tmake_file="i386/t-cygwin i386/t-uwin"
+               extra_objs=winnt.o
+               xmake_file=i386/x-cygwin
+               fixincludes=Makefile.in
+               if test x$enable_threads = xyes; then
+                       thread_file='win32'
+               fi
+               exeext=.exe
+               ;;
+changequote(,)dnl
+       i[34567]86-*-interix*)
+changequote([,])dnl
+               tm_file=i386/interix.h
+               xm_file="${xm_file} xm-interix.h"
+               xm_defines="USG NO_SYS_SIGLIST"
+               tmake_file="i386/t-interix"
+               extra_objs=interix.o
+               xmake_file=x-interix
+               fixincludes=fixinc.interix
+               if [[ x$enable_threads = xyes ]]; then
+                       thread_file='posix'
+               fi
+               if [[ x$stabs = xyes ]]; then
+                       tm_file="${tm_file} dbxcoff.h"
+               fi
+               ;;
+changequote(,)dnl
        i[34567]86-*-winnt3*)
 changequote([,])dnl
                tm_file=i386/win-nt.h
@@ -1551,7 +1529,6 @@ changequote([,])dnl
                tmake_file=i386/t-winnt
                extra_host_objs="winnt.o oldnames.o"
                extra_gcc_objs="spawnv.o oldnames.o"
-               fixincludes=fixinc.winnt
                if test x$gnu_ld != xyes
                then
                        extra_programs=ld.exe
@@ -1569,7 +1546,6 @@ changequote([,])dnl
                tm_file=i386/dgux.h
                tmake_file=i386/t-dgux
                xmake_file=i386/x-dgux
-               fixincludes=fixinc.dgux
                install_headers_dir=install-headers-cpio
               ;;
        i860-alliant-*)         # Alliant FX/2800
@@ -2003,8 +1979,6 @@ changequote([,])dnl
                ;;
        m68k*-*-netbsd*)
                tm_file=m68k/netbsd.h
-               # On NetBSD, the headers are already okay, except for math.h.
-               fixincludes=fixinc.wrap
                tmake_file=t-netbsd
                float_format=m68k
                ;;
@@ -2035,7 +2009,6 @@ changequote([,])dnl
                xmake_file=x-linux
                tm_file=m68k/linux-aout.h
                tmake_file="t-linux-aout m68k/t-linux-aout"
-               fixincludes=Makefile.in # The headers are ok already.
                extra_headers=math-68881.h
                float_format=m68k
                gnu_ld=yes
@@ -2047,7 +2020,6 @@ changequote([,])dnl
                tm_file=m68k/linux.h
                tmake_file="t-linux t-linux-gnulibc1 m68k/t-linux"
                extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
-               fixincludes=Makefile.in # The headers are ok already.
                extra_headers=math-68881.h
                float_format=m68k
                gnu_ld=yes
@@ -2059,7 +2031,6 @@ changequote([,])dnl
                tm_file=m68k/linux.h
                tmake_file="t-linux m68k/t-linux"
                extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
-               fixincludes=Makefile.in # The headers are ok already.
                extra_headers=math-68881.h
                float_format=m68k
                gnu_ld=yes
@@ -2097,7 +2068,6 @@ changequote([,])dnl
                then
                        tmake_file=m88k/t-dgux-gas
                fi
-               fixincludes=fixinc.dgux
                ;;
        m88k-dolphin-sysv3*)
                tm_file=m88k/dolph.h
@@ -2158,7 +2128,6 @@ changequote([,])dnl
        mips-sgi-irix6*)                # SGI System V.4., IRIX 6
                tm_file=mips/iris6.h
                xm_file=mips/xm-iris6.h
-               fixincludes=fixinc.irix
                xmake_file=mips/x-iris6
                tmake_file=mips/t-iris6
 #              if test x$enable_threads = xyes; then
@@ -2177,7 +2146,6 @@ changequote([,])dnl
                tm_file="mips/iris6.h mips/cross64.h"
                xm_defines=USG
                xm_file="mips/xm-iris5.h"
-               fixincludes=Makefile.in
                xmake_file=mips/x-iris
                tmake_file=mips/t-cross64
                # See comment in mips/iris[56].h files.
@@ -2219,7 +2187,6 @@ changequote([,])dnl
                fi
                xm_defines=USG
                xm_file="mips/xm-iris5.h"
-               fixincludes=fixinc.irix
                xmake_file=mips/x-iris
                # mips-tfile doesn't work yet
                tmake_file=mips/t-mips-gas
@@ -2316,7 +2283,6 @@ changequote([,])dnl
                ;;
        mips-dec-bsd*)                  # Decstation running 4.4 BSD
               tm_file=mips/dec-bsd.h
-              fixincludes=
              if test x$gas = xyes
              then
                        tmake_file=mips/t-mips-gas
@@ -2332,7 +2298,6 @@ changequote([,])dnl
        mipsel-*-netbsd* | mips-dec-netbsd*)    # Decstation running NetBSD
                tm_file=mips/netbsd.h
                # On NetBSD, the headers are already okay, except for math.h.
-               fixincludes=fixinc.wrap
                tmake_file=t-netbsd
                ;;
        mips*-*-linux*)                         # Linux MIPS, either endian.
@@ -2699,7 +2664,6 @@ changequote([,])dnl
                tm_file=ns32k/netbsd.h
                xm_file="ns32k/xm-netbsd.h ${xm_file}"
                # On NetBSD, the headers are already okay, except for math.h.
-               fixincludes=fixinc.wrap
                tmake_file=t-netbsd
                ;;
         pdp11-*-bsd)
@@ -2752,13 +2716,11 @@ changequote([,])dnl
        powerpc-*-eabiaix*)
                tm_file=rs6000/eabiaix.h
                tmake_file="rs6000/t-ppcgas rs6000/t-ppccomm"
-               fixincludes=Makefile.in
                extra_headers=ppc-asm.h
                ;;
        powerpc-*-eabisim*)
                tm_file=rs6000/eabisim.h
                tmake_file="rs6000/t-ppcgas rs6000/t-ppccomm"
-               fixincludes=Makefile.in
                extra_headers=ppc-asm.h
                ;;
        powerpc-*-eabi*)
@@ -2769,7 +2731,6 @@ changequote([,])dnl
                else
                        tmake_file="rs6000/t-ppc rs6000/t-ppccomm"
                fi
-               fixincludes=Makefile.in
                extra_headers=ppc-asm.h
                ;;
        powerpc-*-rtems*)
@@ -2780,7 +2741,6 @@ changequote([,])dnl
                else
                     tmake_file="rs6000/t-ppc t-rtems rs6000/t-ppccomm"
                fi
-               fixincludes=Makefile.in
                extra_headers=ppc-asm.h
                ;;
        powerpc-*-linux-gnulibc1)
@@ -2794,7 +2754,6 @@ changequote([,])dnl
                        tmake_file="rs6000/t-ppc t-linux t-linux-gnulibc1 rs6000/t-ppccomm"
                fi
                xmake_file=x-linux
-               fixincludes=Makefile.in
                extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
                extra_headers=ppc-asm.h
                if test x$enable_threads = xyes; then
@@ -2813,7 +2772,6 @@ changequote([,])dnl
                        tmake_file="rs6000/t-ppc t-linux rs6000/t-ppccomm"
                fi
                xmake_file=x-linux
-               fixincludes=Makefile.in
                extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
                extra_headers=ppc-asm.h
                if test x$enable_threads = xyes; then
@@ -2845,7 +2803,6 @@ changequote([,])dnl
        powerpcle-*-eabisim*)
                tm_file=rs6000/eabilesim.h
                tmake_file="rs6000/t-ppcgas rs6000/t-ppccomm"
-               fixincludes=Makefile.in
                extra_headers=ppc-asm.h
                ;;
        powerpcle-*-eabi*)
@@ -2856,14 +2813,12 @@ changequote([,])dnl
                else
                        tmake_file="rs6000/t-ppc rs6000/t-ppccomm"
                fi
-               fixincludes=Makefile.in
                extra_headers=ppc-asm.h
                ;;
         powerpcle-*-winnt* )
                 tm_file=rs6000/win-nt.h
                 tmake_file=rs6000/t-winnt
 #               extra_objs=pe.o
-               fixincludes=Makefile.in
                if test x$enable_threads = xyes; then
                        thread_file='win32'
                fi
@@ -2875,7 +2830,6 @@ changequote([,])dnl
                tmake_file=rs6000/t-winnt
                xmake_file=rs6000/x-cygwin
 #              extra_objs=pe.o
-               fixincludes=Makefile.in
                if test x$enable_threads = xyes; then
                        thread_file='win32'
                fi
@@ -2893,14 +2847,6 @@ changequote([,])dnl
                        tmake_file="rs6000/t-ppc rs6000/t-ppccomm"
                fi
                xmake_file=rs6000/x-sysv4
-               case $machine in
-changequote(,)dnl
-               *-*-solaris2.[0-4])
-changequote([,])dnl
-                       fixincludes=fixinc.svr4;;
-               *)
-                       fixincludes=fixinc.wrap;;
-               esac
                extra_headers=ppc-asm.h
                ;;
 changequote(,)dnl
@@ -2908,6 +2854,7 @@ changequote(,)dnl
 changequote([,])dnl
                tm_file=rs6000/aix31.h
                xmake_file=rs6000/x-aix31
+               float_format=none
                use_collect2=yes
                ;;
 changequote(,)dnl
@@ -2920,6 +2867,7 @@ changequote([,])dnl
                else
                        tmake_file=rs6000/t-newas
                fi
+               float_format=none
                use_collect2=yes
                ;;
 changequote(,)dnl
@@ -2938,6 +2886,7 @@ changequote([,])dnl
                        tmake_file=rs6000/t-newas
                fi
                xmake_file=rs6000/x-aix41
+               float_format=none
                use_collect2=yes
                ;;
 changequote(,)dnl
@@ -2951,6 +2900,7 @@ changequote([,])dnl
                        tmake_file=rs6000/t-aix43
                fi
                xmake_file=rs6000/x-aix43
+               float_format=none
                use_collect2=yes
                ;;
 changequote(,)dnl
@@ -2964,12 +2914,15 @@ changequote([,])dnl
                        tmake_file=rs6000/t-aix43
                fi
                xmake_file=rs6000/x-aix43
+               float_format=none
                use_collect2=yes
                ;;
        rs6000-ibm-aix*)
+               float_format=none
                use_collect2=yes
                ;;
        rs6000-bull-bosx)
+               float_format=none
                use_collect2=yes
                ;;
        rs6000-*-mach*)
@@ -3019,8 +2972,6 @@ changequote([,])dnl
                ;;
        sparc-*-netbsd*)
                tm_file=sparc/netbsd.h
-               # On NetBSD, the headers are already okay, except for math.h.
-               fixincludes=fixinc.wrap
                tmake_file=t-netbsd
                ;;
        sparc-*-openbsd*)
@@ -3041,7 +2992,6 @@ changequote([,])dnl
                xm_file="${xm_file} sparc/xm-linux.h"
                tm_file=sparc/linux-aout.h
                xmake_file=x-linux
-               fixincludes=Makefile.in #On Linux, the headers are ok already.
                gnu_ld=yes
                ;;
        sparc-*-linux-gnulibc1*)        # Sparc's running GNU/Linux, libc5
@@ -3050,7 +3000,6 @@ changequote([,])dnl
                tm_file=sparc/linux.h
                tmake_file="t-linux t-linux-gnulibc1"
                extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
-               fixincludes=Makefile.in #On Linux, the headers are ok already.
                gnu_ld=yes
                ;;
        sparc-*-linux-gnu*)             # Sparc's running GNU/Linux, libc6
@@ -3059,7 +3008,6 @@ changequote([,])dnl
                tm_file=sparc/linux.h
                tmake_file="t-linux"
                extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
-               fixincludes=Makefile.in #On Linux, the headers are ok already.
                gnu_ld=yes
                if test x$enable_threads = xyes; then
                        thread_file='posix'
@@ -3087,8 +3035,7 @@ changequote([,])dnl
                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
-               float_format=i128
+               float_format=none
                if test x${enable_threads} = x ; then
                    enable_threads=$have_pthread_h
                    if test x${enable_threads} = x ; then
@@ -3128,11 +3075,12 @@ changequote([,])dnl
 changequote(,)dnl
                *-*-solaris2.[0-4])
 changequote([,])dnl
-                       fixincludes=fixinc.svr4;;
+                       float_format=i128
+                       ;;
                *)
-                       fixincludes=fixinc.wrap;;
+                       float_format=none
+                       ;;
                esac
-               float_format=i128
                if test x${enable_threads} = x; then
                    enable_threads=$have_pthread_h
                    if test x${enable_threads} = x; then
@@ -3205,7 +3153,6 @@ changequote([,])dnl
                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
                ;;
@@ -3221,7 +3168,6 @@ changequote([,])dnl
                xm_file=arm/xm-thumb.h
                md_file=arm/thumb.md
                tmake_file=arm/t-thumb
-               fixincludes=Makefile.in # There is nothing to fix
                ;;
 # This hasn't been upgraded to GCC 2.
 #      tron-*-*)
@@ -3250,8 +3196,6 @@ changequote([,])dnl
                ;;
        vax-*-netbsd*)
                tm_file="${tm_file} netbsd.h vax/netbsd.h"
-               # On NetBSD, the headers are already okay, except for math.h.
-               fixincludes=fixinc.wrap
                tmake_file=t-netbsd
                float_format=vax
                ;;
@@ -3296,13 +3240,10 @@ changequote([,])dnl
                # GNU tools are the only tools.
                gnu_ld=yes
                gas=yes
-               # On GNU, the headers are already okay.
-               fixincludes=Makefile.in
                xmake_file=x-linux      # These details are the same as Linux.
                tmake_file=t-gnu        # These are not.
                ;;
        *-*-sysv4*)
-               fixincludes=fixinc.svr4
                xmake_try_sysv=x-sysv
                install_headers_dir=install-headers-cpio
                ;;
@@ -3363,7 +3304,7 @@ changequote([,])dnl
                        xarm[23678] | xarm250 | xarm[67][01]0 \
                        | xarm7m | xarm7dm | xarm7dmi | xarm7tdmi \
                        | xarm7100 | xarm7500 | xarm7500fe | xarm810 \
-                       | xstrongarm | xstrongarm110)
+                       | xstrongarm | xstrongarm110 | xstrongarm1100)
                                target_cpu_default2="TARGET_CPU_$with_cpu"
                                ;;
 
@@ -3527,6 +3468,11 @@ if test x$float_format = x
 then float_format=i64
 fi
 
+if test $float_format = none
+then float_h_file=Makefile.in
+else float_h_file=float-$float_format.h
+fi
+
 if test x$enable_haifa = x
 then
   case $target in
@@ -3535,6 +3481,12 @@ then
   esac
 fi
 
+# Handle cpp installation.
+if [[ x$enable_cpp != x ]]
+then
+  tmake_file="$tmake_file t-install-cpp"
+fi
+
 # Say what files are being used for the output code and MD file.
 echo "Using \`$srcdir/config/$out_file' to output insns."
 echo "Using \`$srcdir/config/$md_file' as machine description file."
@@ -4071,7 +4023,7 @@ all_boot_languages=
 all_compilers=
 all_stagestuff=
 all_diff_excludes=
-all_outputs='Makefile intl/Makefile po/Makefile.in'
+all_outputs='Makefile intl/Makefile po/Makefile.in fixinc/Makefile'
 # List of language makefile fragments.
 all_lang_makefiles=
 all_headers=
@@ -4208,25 +4160,44 @@ if test x$enable_haifa != x; then
     done
 fi
 
-# if $(exec_prefix) is not the same as $(prefix), then do not use a relative
-# directory to get to $gcc_tooldir.  Also handle the case where the user did
-# not specify a value for exec_prefix.
+# If $(exec_prefix) exists and is not the same as $(prefix), then compute an
+# absolute path for gcc_tooldir based on inserting the number of up-directory
+# movements required to get from $(exec_prefix) to $(prefix) into the basic
+# $(libsubdir)/@(unlibsubdir) based path.
 # Don't set gcc_tooldir to tooldir since that's only passed in by the toplevel
 # make and thus we'd get different behavior depending on where we built the
 # sources.
 if test x$exec_prefix = xNONE -o x$exec_prefix = x$prefix; then
     gcc_tooldir='$(libsubdir)/$(unlibsubdir)/../$(target_alias)'
 else
-    gcc_tooldir='$(exec_prefix)'/${target_alias}
+changequote(<<, >>)dnl
+# An explanation of the sed strings:
+#  -e 's|^\$(prefix)||'   matches and eliminates 'prefix' from 'exec_prefix'
+#  -e 's|/$||'            match a trailing forward slash and eliminates it
+#  -e 's|^[^/]|/|'        forces the string to start with a forward slash (*)
+#  -e 's|/[^/]*|../|g'    replaces each occurance of /<directory> with ../
+#
+# (*) Note this pattern overwrites the first character of the string
+# with a forward slash if one is not already present.  This is not a
+# problem because the exact names of the sub-directories concerned is
+# unimportant, just the number of them matters.
+#
+# The practical upshot of these patterns is like this:
+#
+#  prefix     exec_prefix        result
+#  ------     -----------        ------
+#   /foo        /foo/bar          ../
+#   /foo/       /foo/bar          ../
+#   /foo        /foo/bar/         ../
+#   /foo/       /foo/bar/         ../
+#   /foo        /foo/bar/ugg      ../../
+#
+    dollar='$$'
+    gcc_tooldir="\$(libsubdir)/\$(unlibsubdir)/\`echo \$(exec_prefix) | sed -e 's|^\$(prefix)||' -e 's|/\$(dollar)||' -e 's|^[^/]|/|' -e 's|/[^/]*|../|g'\`\$(target_alias)"
+changequote([, ])dnl
 fi
 AC_SUBST(gcc_tooldir)
-
-# Warn if using init_priority.
-AC_MSG_CHECKING(whether to enable init_priority by default)
-if test x$enable_init_priority != xyes; then
-  enable_init_priority=no
-fi
-AC_MSG_RESULT($enable_init_priority)
+AC_SUBST(dollar)
 
 # Nothing to do for FLOAT_H, float_format already handled.
 objdir=`pwd`
@@ -4237,54 +4208,56 @@ ${CONFIG_SHELL-/bin/sh} $srcdir/configure.frag $srcdir "$subdirs" "$dep_host_xma
 
 # Substitute configuration variables
 AC_SUBST(subdirs)
-AC_SUBST(all_languages)
 AC_SUBST(all_boot_languages)
 AC_SUBST(all_compilers)
-AC_SUBST(all_lang_makefiles)
-AC_SUBST(all_stagestuff)
 AC_SUBST(all_diff_excludes)
-AC_SUBST(all_lib2funcs)
 AC_SUBST(all_headers)
+AC_SUBST(all_lang_makefiles)
+AC_SUBST(all_languages)
+AC_SUBST(all_lib2funcs)
+AC_SUBST(all_stagestuff)
+AC_SUBST(build_exeext)
+AC_SUBST(build_install_headers_dir)
+AC_SUBST(build_xm_file_list)
+AC_SUBST(cc_set_by_configure)
+AC_SUBST(cpp_install_dir)
 AC_SUBST(cpp_main)
-AC_SUBST(extra_passes)
-AC_SUBST(extra_programs)
-AC_SUBST(extra_parts)
+AC_SUBST(dep_host_xmake_file)
+AC_SUBST(dep_tmake_file)
+AC_SUBST(extra_c_flags)
 AC_SUBST(extra_c_objs)
-AC_SUBST(extra_cxx_objs)
 AC_SUBST(extra_cpp_objs)
-AC_SUBST(extra_c_flags)
+AC_SUBST(extra_cxx_objs)
+AC_SUBST(extra_headers_list)
 AC_SUBST(extra_objs)
+AC_SUBST(extra_parts)
+AC_SUBST(extra_passes)
+AC_SUBST(extra_programs)
+AC_SUBST(fixinc_defs)
+AC_SUBST(float_h_file)
+AC_SUBST(gcc_gxx_include_dir)
+AC_SUBST(gcc_version)
+AC_SUBST(gcc_version_trigger)
+AC_SUBST(host_exeext)
 AC_SUBST(host_extra_gcc_objs)
-AC_SUBST(extra_headers_list)
-AC_SUBST(dep_host_xmake_file)
-AC_SUBST(dep_tmake_file)
-AC_SUBST(out_file)
-AC_SUBST(out_object_file)
-AC_SUBST(md_file)
-AC_SUBST(tm_file_list)
-AC_SUBST(build_xm_file_list)
 AC_SUBST(host_xm_file_list)
-AC_SUBST(lang_specs_files)
+AC_SUBST(install)
+AC_SUBST(JAVAGC)
 AC_SUBST(lang_options_files)
+AC_SUBST(lang_specs_files)
 AC_SUBST(lang_tree_files)
-AC_SUBST(thread_file)
-AC_SUBST(objc_boehm_gc)
-AC_SUBST(JAVAGC)
-AC_SUBST(gcc_version)
-AC_SUBST(gcc_version_trigger)
 AC_SUBST(local_prefix)
-AC_SUBST(gxx_include_dir)
-AC_SUBST(fixincludes)
-AC_SUBST(build_install_headers_dir)
-AC_SUBST(build_exeext)
-AC_SUBST(host_exeext)
-AC_SUBST(float_format)
-AC_SUBST(will_use_collect2)
 AC_SUBST(maybe_use_collect2)
-AC_SUBST(cc_set_by_configure)
+AC_SUBST(md_file)
+AC_SUBST(objc_boehm_gc)
+AC_SUBST(out_file)
+AC_SUBST(out_object_file)
 AC_SUBST(stage_prefix_set_by_configure)
-AC_SUBST(install)
 AC_SUBST(symbolic_link)
+AC_SUBST(thread_file)
+AC_SUBST(tm_file_list)
+AC_SUBST(will_use_collect2)
+
 
 AC_SUBST_FILE(target_overrides)
 AC_SUBST_FILE(host_overrides)
@@ -4394,4 +4367,5 @@ host_overrides='${host_overrides}'
 cross_defines='${cross_defines}'
 cross_overrides='${cross_overrides}'
 build_overrides='${build_overrides}'
+cpp_install_dir='${cpp_install_dir}'
 ])