OSDN Git Service

Oops - fixed typos in previous delta
[pf3gnuchains/gcc-fork.git] / gcc / configure.in
index 5e1b434..743d65f 100644 (file)
@@ -1,7 +1,7 @@
 # configure.in for GNU CC
 # Process this file with autoconf to generate a configuration script.
 
-# Copyright (C) 1997, 1998 Free Software Foundation, Inc.
+# Copyright (C) 1997, 1998, 1999 Free Software Foundation, Inc.
 
 #This file is part of GNU CC.
 
@@ -21,6 +21,7 @@
 #Boston, MA 02111-1307, USA.
 
 # Initialization and defaults
+AC_PREREQ(2.12.1)
 AC_INIT(tree.c)
 AC_CONFIG_HEADER(auto-host.h:config.in)
 
@@ -90,12 +91,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).],
+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.],
@@ -123,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
@@ -131,15 +160,17 @@ 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
-    gxx_include_dir='${prefix}/include/g++'-${libstdcxx_interface}
+changequote(<<, >>)dnl
+    gcc_gxx_include_dir="\$(libsubdir)/\$(unlibsubdir)/..\`echo \$(exec_prefix) | sed -e 's|^\$(prefix)||' -e 's|/[^/]*|/..|g'\`/include/g++"-${libstdcxx_interface}
+changequote([, ])dnl
   fi
 fi
 
@@ -152,46 +183,53 @@ 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"
-  extra_cxx_objs="${extra_cxx_objs} ../cpplib.o ../cppexp.o ../cpphash.o ../cpperror.o ../prefix.o"
-  extra_c_flags=-DUSE_CPPLIB=1
+  extra_c_objs="${extra_c_objs} libcpp.a"
+  extra_cxx_objs="${extra_cxx_objs} ../libcpp.a"
+  extra_c_flags="${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
+  extra_c_flags="${extra_c_flags} -DUSE_INIT_PRIORITY"
 fi)
 
 # Enable threads
@@ -236,6 +274,18 @@ else
 fi,
 objc_boehm_gc='')
 
+AC_ARG_ENABLE(java-gc,
+changequote(<<,>>)dnl
+<<  --enable-java-gc=TYPE   choose garbage collector [boehm]>>,
+changequote([,])
+  JAVAGC=$enableval,
+  JAVAGC=boehm)
+
+AC_ARG_WITH(dwarf2,
+[  --enable-dwarf2       enable DWARF2 debugging as default.],
+dwarf2="$with_dwarf2",
+dwarf2=no)
+
 # Determine the host, build, and target systems
 AC_CANONICAL_SYSTEM
 
@@ -254,6 +304,28 @@ AC_SUBST(stage1_warn_cflags)
 
 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
@@ -267,7 +339,8 @@ EGCS_PROG_INSTALL
 AC_HEADER_STDC
 AC_HEADER_TIME
 GCC_HEADER_STRING
-AC_CHECK_HEADERS(limits.h stddef.h string.h strings.h stdlib.h time.h fcntl.h unistd.h stab.h sys/file.h sys/time.h sys/resource.h sys/param.h sys/times.h wait.h sys/wait.h)
+AC_HEADER_SYS_WAIT
+AC_CHECK_HEADERS(limits.h stddef.h string.h strings.h stdlib.h time.h fcntl.h unistd.h stab.h sys/file.h sys/time.h sys/resource.h sys/param.h sys/times.h sys/stat.h)
 
 # Check for thread headers.
 AC_CHECK_HEADER(thread.h, [have_thread_h=yes], [have_thread_h=])
@@ -297,20 +370,24 @@ AC_CACHE_VAL(gcc_cv_header_inttypes_h,
   [#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 \
-       sysconf isascii gettimeofday strsignal)
+       sysconf isascii gettimeofday strsignal putc_unlocked fputc_unlocked \
+       fputs_unlocked)
 
 # Make sure wchar_t is available
 #AC_CHECK_TYPE(wchar_t, unsigned int)
 
 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 \
@@ -341,6 +418,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
@@ -428,11 +508,23 @@ changequote([,])dnl
        tm_file=${cpu_type}/${cpu_type}.h
        xm_file=${cpu_type}/xm-${cpu_type}.h
        
-       # Set the default macros to define for GNU/Linux systems.
+       # Common parts for linux-gnu and openbsd systems
        case $machine in
        *-*-linux-gnu*)
                xm_defines="HAVE_ATEXIT POSIX BSTRING"
                ;;
+       *-*-openbsd*)
+               tm_file=${cpu_type}/openbsd.h
+               # On OpenBSD systems, the headers are okay
+               fixincludes=Makefile.in
+               tmake_file="t-libc-ok t-openbsd"
+               # avoid surprises, always provide an xm-openbsd file 
+               xm_file=${cpu_type}/xm-openbsd.h
+               if test x$enable_threads = xyes; then
+                       thread_file='posix'
+                       tmake_file="${tmake_file} t-openbsd-thread"
+               fi
+               ;;
        esac
 
        case $machine in
@@ -504,7 +596,7 @@ changequote([,])dnl
                fi
                ;;
        alpha*-*-netbsd*)
-               tm_file="${tm_file} alpha/elf.h alpha/netbsd.h alpha/netbsdl-elf.h"
+               tm_file="${tm_file} alpha/elf.h alpha/netbsd.h alpha/netbsd-elf.h"
                target_cpu_default="MASK_GAS"
                tmake_file="alpha/t-crtbe"
                extra_parts="crtbegin.o crtend.o"
@@ -512,6 +604,12 @@ changequote([,])dnl
                fixincludes=fixinc.wrap
                gas=yes gnu_ld=yes
                ;;
+
+       alpha*-*-openbsd*)
+               # default x-alpha is only appropriate for dec-osf.
+               target_cpu_default="MASK_GAS"
+               xmake_file=none
+               ;;
                
        alpha*-dec-osf*)
                if test x$stabs = xyes
@@ -618,18 +716,46 @@ 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*-*-ecos-elf)
+               tm_file=arm/ecos-elf.h
+               tmake_file=arm/t-elf
+               ;; 
+       arm*-*-elf)
+               tm_file=arm/unknown-elf.h
+               tmake_file=arm/t-arm-elf
+               ;;
+        arm*-*-oabi)
+               tm_file=arm/unknown-elf-oabi.h
+               tmake_file=arm/t-arm-elf
+               ;;
        c1-convex-*)                    # Convex C1
                target_cpu_default=1
                use_collect2=yes
@@ -678,13 +804,17 @@ changequote([,])dnl
        h8300-*-*)
                float_format=i32
                ;;
+       hppa*-*-openbsd*)
+               target_cpu_default="MASK_SNAKE"
+               tmake_file=pa/t-openbsd
+               ;;
        hppa1.1-*-pro*)
                tm_file="pa/pa-pro.h ${tm_file} pa/pa-pro-end.h libgloss.h"
                xm_file=pa/xm-papro.h
                tmake_file=pa/t-pro
                ;;
        hppa1.1-*-osf*)
-               target_cpu_default=1
+               target_cpu_default="MASK_SNAKE"
                tm_file="${tm_file} pa/pa-osf.h"
                use_collect2=yes
                fixincludes=Makefile.in
@@ -700,7 +830,7 @@ changequote([,])dnl
                fixincludes=Makefile.in
                ;;
        hppa1.1-*-bsd*)
-               target_cpu_default=1
+               target_cpu_default="MASK_SNAKE"
                use_collect2=yes
                fixincludes=Makefile.in
                ;;
@@ -737,7 +867,7 @@ changequote([,])dnl
 changequote(,)dnl
        hppa1.1-*-hpux8.0[0-2]*)
 changequote([,])dnl
-               target_cpu_default=1
+               target_cpu_default="MASK_SNAKE"
                tm_file="${tm_file} pa/pa-hpux.h"
                xm_file=pa/xm-pahpux.h
                xmake_file=pa/x-pa-hpux
@@ -751,7 +881,7 @@ changequote([,])dnl
                use_collect2=yes
                ;;
        hppa1.1-*-hpux8*)
-               target_cpu_default=1
+               target_cpu_default="MASK_SNAKE"
                tm_file="${tm_file} pa/pa-hpux.h"
                xm_file=pa/xm-pahpux.h
                xmake_file=pa/x-pa-hpux
@@ -773,8 +903,8 @@ changequote([,])dnl
                install_headers_dir=install-headers-cpio
                use_collect2=yes
                ;;
-       hppa1.1-*-hpux10*)
-               target_cpu_default=1
+       hppa1.1-*-hpux10* | hppa2*-*-hpux10*)
+               target_cpu_default="MASK_SNAKE"
                tm_file="${tm_file} pa/pa-hpux.h pa/pa-hpux10.h"
                xm_file=pa/xm-pahpux.h
                xmake_file=pa/x-pa-hpux
@@ -797,6 +927,7 @@ changequote([,])dnl
                tm_file="${tm_file} pa/pa-hpux.h pa/pa-hpux10.h"
                xm_file=pa/xm-pahpux.h
                xmake_file=pa/x-pa-hpux
+               tmake_file=pa/t-pa
                if test x$gas = xyes
                then
                        tm_file="${tm_file} pa/pa-gas.h"
@@ -811,8 +942,8 @@ changequote([,])dnl
                install_headers_dir=install-headers-cpio
                use_collect2=yes
                ;;
-       hppa1.1-*-hpux*)
-               target_cpu_default=1
+       hppa1.1-*-hpux* | hppa2*-*-hpux*)
+               target_cpu_default="MASK_SNAKE"
                tm_file="${tm_file} pa/pa-hpux.h pa/pa-hpux9.h"
                xm_file=pa/xm-pahpux.h
                xmake_file=pa/x-pa-hpux
@@ -834,8 +965,8 @@ changequote([,])dnl
                install_headers_dir=install-headers-cpio
                use_collect2=yes
                ;;
-       hppa1.1-*-hiux*)
-               target_cpu_default=1
+       hppa1.1-*-hiux* | hppa2*-*-hiux*)
+               target_cpu_default="MASK_SNAKE"
                tm_file="${tm_file} pa/pa-hpux.h pa/pa-hiux.h"
                xm_file=pa/xm-pahpux.h
                xmake_file=pa/x-pa-hpux
@@ -858,7 +989,7 @@ changequote([,])dnl
                use_collect2=yes
                ;;
        hppa*-*-lites*)
-               target_cpu_default=1
+               target_cpu_default="MASK_SNAKE"
                use_collect2=yes
                fixincludes=Makefile.in
                ;;
@@ -990,6 +1121,7 @@ changequote([,])dnl
                tm_file="i386/i386.h i386/att.h linux.h i386/freebsd-elf.h i386/perform.h"
                # On FreeBSD, the headers are already ok, except for math.h.
                fixincludes=fixinc.wrap
+               extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
                tmake_file=i386/t-freebsd
                gas=yes
                gnu_ld=yes
@@ -1003,10 +1135,8 @@ 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-*-openbsd*)
+       i[34567]86-*-netbsd*)
 changequote([,])dnl
                tm_file=i386/netbsd.h
                # On NetBSD, the headers are already okay, except for math.h.
@@ -1014,6 +1144,14 @@ changequote([,])dnl
                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
+               ;;
+changequote(,)dnl
        i[34567]86-*-coff*)
 changequote([,])dnl
                tm_file=i386/i386-coff.h
@@ -1053,7 +1191,7 @@ 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=Makefile.in #On Linux, the headers are ok already.
+               fixincludes=fixinc.x86-linux-gnu
                gnu_ld=yes
                float_format=i386
                ;;
@@ -1063,7 +1201,7 @@ 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=Makefile.in #On Linux, the headers are ok already.
+               fixincludes=fixinc.x86-linux-gnu
                gnu_ld=yes
                float_format=i386
                ;;
@@ -1075,7 +1213,7 @@ 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=Makefile.in #On Linux, the headers are ok already.
+               fixincludes=fixinc.x86-linux-gnu
                gnu_ld=yes
                float_format=i386
                if test x$enable_threads = xyes; then
@@ -1090,7 +1228,7 @@ 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=Makefile.in #On Linux, the headers are ok already.
+               fixincludes=fixinc.x86-linux-gnu
                gnu_ld=yes
                float_format=i386
                if test x$enable_threads = xyes; then
@@ -1099,6 +1237,7 @@ changequote([,])dnl                       # with ELF format using glibc 2
                ;;
 changequote(,)dnl
        i[34567]86-*-gnu*)
+               float_format=i386
 changequote([,])dnl
                ;;
 changequote(,)dnl
@@ -1114,8 +1253,15 @@ changequote([,])dnl
                xm_file=i386/xm-go32.h
                tm_file=i386/go32.h
                tmake_file=i386/t-go32
+                xmake_file=i386/x-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*)
@@ -1200,7 +1346,7 @@ changequote([,])dnl
                else
                        tmake_file=i386/t-sco5
                fi
-               extra_parts="crtbegin.o crtend.o crtbeginS.o crtendS.o"
+               extra_parts="crti.o crtbegin.o crtend.o crtbeginS.o crtendS.o"
                ;;
 changequote(,)dnl
        i[34567]86-*-sco3.2v4*)         # 80386 running SCO 3.2v4 system
@@ -1296,6 +1442,17 @@ changequote([,])dnl
                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
@@ -1344,10 +1501,10 @@ changequote([,])dnl
 changequote(,)dnl
        i[34567]86-*-win32)
 changequote([,])dnl
-               xm_file="${xm_file} i386/xm-cygwin32.h"
-               tmake_file=i386/t-cygwin32
+               xm_file="${xm_file} i386/xm-cygwin.h"
+               tmake_file=i386/t-cygwin
                tm_file=i386/win32.h
-               xmake_file=i386/x-cygwin32
+               xmake_file=i386/x-cygwin
                extra_objs=winnt.o
                fixincludes=Makefile.in
                if test x$enable_threads = xyes; then
@@ -1356,12 +1513,12 @@ changequote([,])dnl
                exeext=.exe
                ;;
 changequote(,)dnl
-       i[34567]86-*-pe | i[34567]86-*-cygwin32)
+       i[34567]86-*-pe | i[34567]86-*-cygwin*)
 changequote([,])dnl
-               xm_file="${xm_file} i386/xm-cygwin32.h"
-               tmake_file=i386/t-cygwin32
-               tm_file=i386/cygwin32.h
-               xmake_file=i386/x-cygwin32
+               xm_file="${xm_file} i386/xm-cygwin.h"
+               tmake_file=i386/t-cygwin
+               tm_file=i386/cygwin.h
+               xmake_file=i386/x-cygwin
                extra_objs=winnt.o
                fixincludes=Makefile.in
                if test x$enable_threads = xyes; then
@@ -1374,9 +1531,9 @@ changequote(,)dnl
 changequote([,])dnl
                tm_file=i386/mingw32.h
                xm_file="${xm_file} i386/xm-mingw32.h"
-               tmake_file="i386/t-cygwin32 i386/t-mingw32"
+               tmake_file="i386/t-cygwin i386/t-mingw32"
                extra_objs=winnt.o
-               xmake_file=i386/x-cygwin32
+               xmake_file=i386/x-cygwin
                fixincludes=Makefile.in
                if test x$enable_threads = xyes; then
                        thread_file='win32'
@@ -1831,6 +1988,12 @@ changequote([,])dnl
                extra_headers=math-68881.h
                float_format=m68k
                ;;
+       m68020-*-elf* | m68k-*-elf*)
+               tm_file="m68k/m68020-elf.h libgloss.h"
+               xm_file=m68k/xm-m68kv.h
+               tmake_file=m68k/t-m68kelf
+               header_files=math-68881.h
+               ;;
        m68k-*-lynxos*)
                if test x$gas = xyes
                then
@@ -1851,6 +2014,11 @@ changequote([,])dnl
                tmake_file=t-netbsd
                float_format=m68k
                ;;
+       m68k*-*-openbsd*)
+               float_format=m68k
+               # we need collect2 until our bug is fixed...
+               use_collect2=yes
+               ;;
        m68k-*-sysv3*)                  # Motorola m68k's running system V.3
                xm_file="xm-alloca.h ${xm_file}"
                xm_defines=USG
@@ -1974,6 +2142,9 @@ changequote([,])dnl
                        tmake_file=m88k/t-luna
                fi
                ;;
+       m88k-*-openbsd*)
+               tmake_file="${tmake_file} m88k/t-luna-gas"
+               ;;
        m88k-*-sysv3*)
                tm_file=m88k/sysv3.h
                extra_parts="crtbegin.o crtend.o"
@@ -2006,7 +2177,7 @@ changequote([,])dnl
                gas=yes
                gnu_ld=yes
                extra_parts="crtbegin.o crtend.o"
-#              thread_file='vxworks'
+               thread_file='vxworks'
                ;;
        mips-sgi-irix5cross64)          # Irix5 host, Irix 6 target, cross64
                tm_file="mips/iris6.h mips/cross64.h"
@@ -2170,6 +2341,28 @@ changequote([,])dnl
                fixincludes=fixinc.wrap
                tmake_file=t-netbsd
                ;;
+       mips*-*-linux*)                         # Linux MIPS, either endian.
+               xmake_file=x-linux
+               xm_file="xm-siglist.h ${xm_file}"
+               case $machine in
+                       mipsel-*)  tm_file="mips/elfl.h mips/linux.h" ;;
+                       *)         tm_file="mips/elf.h mips/linux.h" ;;
+               esac
+               extra_parts="crtbegin.o crtend.o"
+               gnu_ld=yes
+               gas=yes
+               fixincludes=Makefile.in 
+               ;;
+       mips*el-*-openbsd*)     # mips little endian
+               target_cpu_default="MASK_GAS|MASK_ABICALLS"
+               tm_file=mips/openbsd.h
+               xmake_file=none
+               ;;
+       mips*-*-openbsd*)               # mips big endian
+               target_cpu_default="MASK_GAS|MASK_ABICALLS"
+               tm_file=mips/openbsd-be.h
+               xmake_file=none
+               ;;
        mips-sony-bsd* | mips-sony-newsos*)     # Sony NEWS 3600 or risc/news.
                tm_file="mips/news4.h ${tm_file}"
                if test x$stabs = xyes; then
@@ -2520,6 +2713,9 @@ changequote([,])dnl
                 ;;
         pdp11-*-*)
                ;;
+       ns32k-*-openbsd*)
+               # Nothing special
+               ;;
        pyramid-*-*)
                cpu_type=pyr
                xmake_file=pyr/x-pyr
@@ -2532,6 +2728,13 @@ changequote([,])dnl
                xmake_file=romp/x-mach
                use_collect2=yes
                ;;
+       romp-*-openbsd*)
+               # Nothing special
+               ;;
+       powerpc-*-openbsd*)
+               tmake_file="${tmake_file} rs6000/t-rs6000 rs6000/t-openbsd"
+               xmake_file=none
+               ;;
        powerpc-*-beos*)
                cpu_type=rs6000
                tm_file=rs6000/beos.h
@@ -2672,11 +2875,11 @@ changequote([,])dnl
                fi
                extra_headers=ppc-asm.h
                ;;
-       powerpcle-*-pe | powerpcle-*-cygwin32)
-               tm_file=rs6000/cygwin32.h
-               xm_file="rs6000/xm-cygwin32.h ${xm_file}"
+       powerpcle-*-pe | powerpcle-*-cygwin*)
+               tm_file=rs6000/cygwin.h
+               xm_file="rs6000/xm-cygwin.h ${xm_file}"
                tmake_file=rs6000/t-winnt
-               xmake_file=rs6000/x-cygwin32
+               xmake_file=rs6000/x-cygwin
 #              extra_objs=pe.o
                fixincludes=Makefile.in
                if test x$enable_threads = xyes; then
@@ -2728,7 +2931,12 @@ changequote([,])dnl
 changequote(,)dnl
        rs6000-ibm-aix4.[12]* | powerpc-ibm-aix4.[12]*)
 changequote([,])dnl
-               tm_file=rs6000/aix41.h
+               if test "$gnu_ld" = yes
+               then
+                       tm_file=rs6000/aix41-gld.h
+               else
+                       tm_file=rs6000/aix41.h
+               fi
                if test x$host != x$target
                then
                        tmake_file=rs6000/t-xnewas
@@ -2821,6 +3029,10 @@ changequote([,])dnl
                fixincludes=fixinc.wrap
                tmake_file=t-netbsd
                ;;
+       sparc-*-openbsd*)
+               # we need collect2 until our bug is fixed...
+               use_collect2=yes
+               ;;
        sparc-*-bsd*)
                tm_file=sparc/bsd.h
                ;;
@@ -2882,7 +3094,7 @@ changequote([,])dnl
                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
@@ -2897,6 +3109,15 @@ changequote([,])dnl
                    fi
                fi
                ;;
+        sparc-hal-solaris2*)
+                xm_file=sparc/xm-sol2.h
+                tm_file="sparc/sol2.h sparc/hal.h"
+                tmake_file="sparc/t-halos sparc/t-sol2"
+                xmake_file=sparc/x-sysv4
+                extra_parts="crt1.o crti.o crtn.o gmon.o crtbegin.o crtend.o"
+                fixincludes=fixinc.svr4
+                broken_install=yes
+                ;;
        sparc-*-solaris2*)
                if test x$gnu_ld = xyes
                then
@@ -2913,11 +3134,14 @@ changequote([,])dnl
 changequote(,)dnl
                *-*-solaris2.[0-4])
 changequote([,])dnl
-                       fixincludes=fixinc.svr4;;
+                       fixincludes=fixinc.svr4
+                       float_format=i128
+                       ;;
                *)
-                       fixincludes=fixinc.wrap;;
+                       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
@@ -3040,6 +3264,9 @@ changequote([,])dnl
                tmake_file=t-netbsd
                float_format=vax
                ;;
+       vax-*-openbsd*)
+               tmake_file="${tm_file} vax/t-openbsd"
+               ;;
        vax-*-ultrix*)                  # vaxen running ultrix
                tm_file="${tm_file} vax/ultrix.h"
                use_collect2=yes
@@ -3110,7 +3337,7 @@ changequote([,])dnl
        alpha*-*-*)
                case $machine in
                        alphaev6*)
-                               target_cpu_default2="MASK_CPU_EV6|MASK_BXW|MASK_CIX|MASK_MAX"
+                               target_cpu_default2="MASK_CPU_EV6|MASK_BWX|MASK_CIX|MASK_MAX"
                                ;;
                        alphapca56*)
                                target_cpu_default2="MASK_CPU_EV5|MASK_BWX|MASK_MAX"
@@ -3145,7 +3372,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"
                                ;;
 
@@ -3189,6 +3416,7 @@ changequote([,])dnl
                        xcommon | xpower | xpower2 | xpowerpc | xrios \
                          | xrios1 | xrios2 | xrsc | xrsc1 \
                          | x601 | x602 | x603 | x603e | x604 | x604e | x620 \
+                         | xec603e | x740 | x750 | x401 \
                          | x403 | x505 | x801 | x821 | x823 | x860)
                                target_cpu_default2="\"$with_cpu\""
                                ;;
@@ -3212,7 +3440,7 @@ changequote([,])dnl
                        .)
                                target_cpu_default2=TARGET_CPU_"`echo $machine | sed 's/-.*$//'`"
                                ;;
-                       .supersparc | .ultrasparc | .v7 | .v8 | .v9)
+                       .supersparc | .hypersparc | .ultrasparc | .v7 | .v8 | .v9)
                                target_cpu_default2="TARGET_CPU_$with_cpu"
                                ;;
                        *)
@@ -3300,18 +3528,33 @@ if test x"$tmake_file" = x
 then tmake_file=$cpu_type/t-$cpu_type
 fi
 
+if test x"$dwarf2" = xyes
+then tm_file="tm-dwarf2.h $tm_file"
+fi
+
 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
-    alpha*-* | hppa1.?-* | powerpc*-* | rs6000-* | *sparc*-* | m32r*-*)
+    alpha*-* | hppa*-* | powerpc*-* | rs6000-* | *sparc*-* | m32r*-*)
       enable_haifa=yes;;
   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."
@@ -3371,14 +3614,14 @@ fi
 # auto-host.h is the file containing items generated by autoconf and is
 # the first file included by config.h.
 null_defines=
-host_xm_file="auto-host.h ${host_xm_file}"
+host_xm_file="auto-host.h gansidecl.h ${host_xm_file}"
 
 # If host=build, it is correct to have hconfig include auto-host.h
 # as well.  If host!=build, we are in error and need to do more 
 # work to find out the build config parameters.
 if test x$host = x$build
 then
-       build_xm_file="auto-host.h ${build_xm_file}"
+       build_xm_file="auto-host.h gansidecl.h ${build_xm_file}"
 else
        # We create a subdir, then run autoconf in the subdir.
        # To prevent recursion we set host and build for the new
@@ -3400,9 +3643,12 @@ else
        mv auto-host.h ../auto-build.h
        cd ..
        rm -rf $tempdir
-       build_xm_file="auto-build.h ${build_xm_file}"
+       build_xm_file="auto-build.h gansidecl.h ${build_xm_file}"
 fi
 
+xm_file="gansidecl.h ${xm_file}"
+tm_file="gansidecl.h ${tm_file}"
+
 vars="host_xm_file tm_file xm_file build_xm_file"
 links="config.h tm.h tconfig.h hconfig.h"
 defines="host_xm_defines null_defines xm_defines build_xm_defines"
@@ -3427,7 +3673,21 @@ do
        fi
 
        for file in `eval echo '$'$var`; do
+               case $file in
+               auto-config.h)
+                       ;;
+               *)
+                       echo '#ifdef IN_GCC' >>$link
+                       ;;
+               esac
                echo "#include \"$file\"" >>$link
+               case $file in
+               auto-config.h)
+                       ;;
+               *)
+                       echo '#endif' >>$link
+                       ;;
+               esac
        done
 
        for def in `eval echo '$'$define`; do
@@ -3452,6 +3712,24 @@ changequote(,)dnl
 gcc_version=`sed -e 's/.*\"\([^ \"]*\)[ \"].*/\1/' < ${gcc_version_trigger}`
 changequote([,])dnl
 
+# Internationalization
+PACKAGE=gcc
+VERSION="$gcc_version"
+AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE")
+AC_DEFINE_UNQUOTED(VERSION, "$VERSION")
+AC_SUBST(PACKAGE)
+AC_SUBST(VERSION)
+
+ALL_LINGUAS="en_UK"
+
+# NLS support is still experimental, so disable it by default for now.
+AC_ARG_ENABLE(nls,
+  [  --enable-nls            use Native Language Support (disabled by default)],
+  , enable_nls=no)
+
+AM_GNU_GETTEXT
+XGETTEXT="AWK='$AWK' \$(SHELL) \$(top_srcdir)/exgettext $XGETTEXT"
+
 # Get an absolute path to the GCC top-level source directory
 holddir=`pwd`
 cd $srcdir
@@ -3509,28 +3787,28 @@ out_object_file=`basename $out_file .c`.o
 
 tm_file_list=
 for f in $tm_file; do
-       tm_file_list="${tm_file_list} \$(srcdir)/config/$f"
+       if test $f != "gansidecl.h" ; then
+               tm_file_list="${tm_file_list} \$(srcdir)/config/$f"
+       else
+               tm_file_list="${tm_file_list} $f"
+       fi
 done
 
 host_xm_file_list=
 for f in $host_xm_file; do
-       if test $f != "auto-host.h"; then
+       if test $f != "auto-host.h" -a $f != "gansidecl.h" ; then
                host_xm_file_list="${host_xm_file_list} \$(srcdir)/config/$f"
        else
-               host_xm_file_list="${host_xm_file_list} auto-host.h"
+               host_xm_file_list="${host_xm_file_list} $f"
        fi
 done
 
 build_xm_file_list=
 for f in $build_xm_file; do
-       if test $f != "auto-build.h"; then
-               if test $f != "auto-host.h"; then
-                       build_xm_file_list="${build_xm_file_list} \$(srcdir)/config/$f"
-               else
-                       build_xm_file_list="${build_xm_file_list} auto-host.h"
-               fi
+       if test $f != "auto-build.h" -a $f != "auto-host.h" -a $f != "gansidecl.h" ; then
+               build_xm_file_list="${build_xm_file_list} \$(srcdir)/config/$f"
        else
-               build_xm_file_list="${build_xm_file_list} auto-build.h"
+               build_xm_file_list="${build_xm_file_list} $f"
        fi
 done
 
@@ -3621,10 +3899,14 @@ 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 "$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
@@ -3714,6 +3996,16 @@ fi
 AC_MSG_RESULT($gcc_cv_as_subsections)
 
 # Figure out what language subdirectories are present.
+# Look if the user specified --enable-languages="..."; if not, use
+# the environment variable $LANGUAGES if defined. $LANGUAGES might
+# go away some day.
+if test x"${enable_languages+set}" != xset; then
+       if test x"${LANGUAGES+set}" = xset; then
+               enable_languages="`echo ${LANGUAGES} | tr ' ' ','`"
+       else
+               enable_languages=all
+       fi
+fi
 subdirs=
 for lang in ${srcdir}/*/config-lang.in ..
 do
@@ -3722,13 +4014,39 @@ do
        # The odd quoting in the next line works around
        # an apparent bug in bash 1.12 on linux.
 changequote(,)dnl
-       ${srcdir}/ada/config-lang.in)
-         if test x$gnat = xyes ; then
-               subdirs="$subdirs `echo $lang | sed -e 's,^.*/\([^/]*\)/config-lang.in$,\1,'`"
-         fi
-       ;;
        ${srcdir}/[*]/config-lang.in) ;;
-       *) subdirs="$subdirs `echo $lang | sed -e 's,^.*/\([^/]*\)/config-lang.in$,\1,'`" ;;
+       *)
+         lang_alias=`sed -n -e 's,^language=['"'"'"'"]\(.*\)["'"'"'"'].*$,\1,p' -e 's,^language=\([^   ]*\).*$,\1,p' $lang`
+         if test "x$lang_alias" = x
+         then
+               echo "$lang doesn't set \$language." 1>&2
+               exit 1
+         fi
+         if test x"${enable_languages}" = xall; then
+               add_this_lang=yes
+         else
+               case "${enable_languages}" in
+                   ${lang_alias} | "${lang_alias},"* | *",${lang_alias},"* | *",${lang_alias}" )
+                       add_this_lang=yes
+                       ;;
+                   * )
+                       add_this_lang=no
+                       ;;
+               esac
+         fi
+         if test x"${add_this_lang}" = xyes; then
+               case $lang in
+                   ${srcdir}/ada/config-lang.in)
+                       if test x$gnat = xyes ; then
+                               subdirs="$subdirs `echo $lang | sed -e 's,^.*/\([^/]*\)/config-lang.in$,\1,'`"
+                       fi
+                       ;;
+                   *)
+                       subdirs="$subdirs `echo $lang | sed -e 's,^.*/\([^/]*\)/config-lang.in$,\1,'`"
+                       ;;
+               esac
+         fi
+         ;;
 changequote([,])dnl
        esac
 done
@@ -3773,7 +4091,7 @@ all_boot_languages=
 all_compilers=
 all_stagestuff=
 all_diff_excludes=
-all_outputs=Makefile
+all_outputs='Makefile intl/Makefile po/Makefile.in'
 # List of language makefile fragments.
 all_lang_makefiles=
 all_headers=
@@ -3841,10 +4159,10 @@ target_list="all.build all.cross start.encap rest.encap \
 for t in $target_list
 do
        x=
-       for l in .. $all_languages
+       for lang in .. $all_languages
        do
-               if test $l != ".."; then
-                       x="$x $l.$t"
+               if test $lang != ".."; then
+                       x="$x $lang.$t"
                fi
        done
        echo "lang.$t: $x" >> Make-hooks
@@ -3902,7 +4220,7 @@ AC_SUBST(sched_prefix)
 AC_SUBST(sched_cflags)
 if test x$enable_haifa != x; then
     # Explicitly remove files that need to be recompiled for the Haifa scheduler.
-    for x in genattrtab.o toplev.o loop.o unroll.o *sched.o; do
+    for x in genattrtab.o toplev.o *sched.o; do
        if test -f $x; then
            echo "Removing $x"
            rm -f $x
@@ -3910,6 +4228,45 @@ if test x$enable_haifa != x; then
     done
 fi
 
+# 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
+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)
+AC_SUBST(dollar)
+
 # Warn if using init_priority.
 AC_MSG_CHECKING(whether to enable init_priority by default)
 if test x$enable_init_priority != xyes; then
@@ -3958,21 +4315,24 @@ AC_SUBST(lang_options_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(gcc_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(float_h_file)
 AC_SUBST(will_use_collect2)
 AC_SUBST(maybe_use_collect2)
 AC_SUBST(cc_set_by_configure)
 AC_SUBST(stage_prefix_set_by_configure)
 AC_SUBST(install)
 AC_SUBST(symbolic_link)
+AC_SUBST(cpp_install_dir)
+
 
 AC_SUBST_FILE(target_overrides)
 AC_SUBST_FILE(host_overrides)
@@ -4045,6 +4405,11 @@ if test "$symbolic_link" = "ln -s"; then
    fi
  done
 else true ; fi
+# Avoid having to add intl to our include paths.
+if test -f intl/libintl.h; then
+  echo creating libintl.h
+  echo '#include "intl/libintl.h"' >libintl.h
+fi
 ],
 [
 host='${host}'
@@ -4077,4 +4442,5 @@ host_overrides='${host_overrides}'
 cross_defines='${cross_defines}'
 cross_overrides='${cross_overrides}'
 build_overrides='${build_overrides}'
+cpp_install_dir='${cpp_install_dir}'
 ])