OSDN Git Service

update
[pf3gnuchains/gcc-fork.git] / gcc / configure.in
index d8bc744..95c2fed 100644 (file)
@@ -89,6 +89,8 @@ AC_ARG_ENABLE(c-cpplib,
 [  --enable-c-cpplib       Use cpplib for C.],
 if [[[ 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
 fi)
   
@@ -304,7 +306,7 @@ for machine in $build $host $target; do
        # Set the default macros to define for GNU/Linux systems.
        case $machine in
        *-*-linux-gnu*)
-               xm_defines="HAVE_ATEXIT POSIX NO_STAB_H BSTRING"
+               xm_defines="HAVE_ATEXIT POSIX BSTRING"
                ;;
        esac
 
@@ -1118,7 +1120,7 @@ for machine in $build $host $target; do
        i[[34567]]86-*-mingw32*)
                tm_file=i386/mingw32.h
                xm_file="${xm_file} i386/xm-mingw32.h"
-               tmake_file=i386/t-cygwin32
+               tmake_file="i386/t-cygwin32 i386/t-mingw32"
                extra_objs=winnt.o
                xmake_file=i386/x-cygwin32
                fixincludes=Makefile.in
@@ -1302,12 +1304,14 @@ for machine in $build $host $target; do
                        tm_file="${tm_file} m68k/auxas.h"
                fi
                tm_file="${tm_file} m68k/a-ux.h"
+               float_format=m68k
                ;;
        m68k-apollo-*)
                tm_file=m68k/apollo68.h
                xmake_file=m68k/x-apollo68
                use_collect2=yes
                extra_headers=math-68881.h
+               float_format=m68k
                ;;
        m68k-altos-sysv*)                  # Altos 3068
                if [[ x$gas = xyes ]]
@@ -1345,6 +1349,7 @@ for machine in $build $host $target; do
                tmake_file=t-svr4
                extra_parts="crtbegin.o crtend.o"
                extra_headers=math-68881.h
+               float_format=m68k
                ;;
        m68k-motorola-sysv*)
                tm_file=m68k/mot3300.h
@@ -1373,6 +1378,7 @@ for machine in $build $host $target; do
                gdb_needs_out_file_path=yes
                extra_parts="crt0.o mcrt0.o"
                extra_headers=math-68881.h
+               float_format=m68k
                ;;
        m68k-ncr-sysv*)                 # NCR Tower 32 SVR3
                tm_file=m68k/tower-as.h
@@ -1410,23 +1416,27 @@ for machine in $build $host $target; do
                tmake_file=t-svr4
                extra_parts="crtbegin.o crtend.o"
                extra_headers=math-68881.h
+               float_format=m68k
                ;;
        m68k-ccur-rtu)
                tm_file=m68k/ccur-GAS.h
                xmake_file=m68k/x-ccur
                extra_headers=math-68881.h
                use_collect2=yes
+               float_format=m68k
                ;;
        m68k-hp-bsd4.4*)                # HP 9000/3xx running 4.4bsd
                tm_file=m68k/hp3bsd44.h
                xmake_file=m68k/x-hp3bsd44
                use_collect2=yes
                extra_headers=math-68881.h
+               float_format=m68k
                ;;
        m68k-hp-bsd*)                   # HP 9000/3xx running Berkeley Unix
                tm_file=m68k/hp3bsd.h
                use_collect2=yes
                extra_headers=math-68881.h
+               float_format=m68k
                ;;
        m68k-isi-bsd*)
                if [[ x$with_fp = xno ]]
@@ -1434,6 +1444,7 @@ for machine in $build $host $target; do
                        tm_file=m68k/isi-nfp.h
                else
                        tm_file=m68k/isi.h
+                       float_format=m68k
                fi
                use_collect2=yes
                extra_headers=math-68881.h
@@ -1452,6 +1463,7 @@ for machine in $build $host $target; do
                install_headers_dir=install-headers-cpio
                use_collect2=yes
                extra_headers=math-68881.h
+               float_format=m68k
                ;;
        m68k-hp-hpux*)  # HP 9000 series 300
                xm_file="xm_alloca.h ${xm_file}"
@@ -1467,11 +1479,13 @@ for machine in $build $host $target; do
                install_headers_dir=install-headers-cpio
                use_collect2=yes
                extra_headers=math-68881.h
+               float_format=m68k
                ;;
        m68k-sun-mach*)
                tm_file=m68k/sun3mach.h
                use_collect2=yes
                extra_headers=math-68881.h
+               float_format=m68k
                ;;
        m68k-sony-newsos3*)
                if [[ x$gas = xyes ]]
@@ -1482,6 +1496,7 @@ for machine in $build $host $target; do
                fi
                use_collect2=yes
                extra_headers=math-68881.h
+               float_format=m68k
                ;;
        m68k-sony-bsd* | m68k-sony-newsos*)
                if [[ x$gas = xyes ]]
@@ -1492,6 +1507,7 @@ for machine in $build $host $target; do
                fi
                use_collect2=yes
                extra_headers=math-68881.h
+               float_format=m68k
                ;;
        m68k-next-nextstep2*)
                tm_file=m68k/next21.h
@@ -1501,6 +1517,7 @@ for machine in $build $host $target; do
                extra_objs=nextstep.o
                extra_headers=math-68881.h
                use_collect2=yes
+               float_format=m68k
                 ;;
        m68k-next-nextstep3*)
                tm_file=m68k/next.h
@@ -1509,6 +1526,7 @@ for machine in $build $host $target; do
                xmake_file=m68k/x-next
                extra_objs=nextstep.o
                extra_headers=math-68881.h
+               float_format=m68k
                if [[ x$enable_threads = xyes ]]; then
                        thread_file='mach'
                fi
@@ -1519,6 +1537,7 @@ for machine in $build $host $target; do
                        tm_file=m68k/sun3n3.h
                else
                        tm_file=m68k/sun3o3.h
+                       float_format=m68k
                fi
                use_collect2=yes
                extra_headers=math-68881.h
@@ -1529,6 +1548,7 @@ for machine in $build $host $target; do
                        tm_file=m68k/sun3n.h
                else
                        tm_file=m68k/sun3.h
+                       float_format=m68k
                fi
                use_collect2=yes
                extra_headers=math-68881.h
@@ -1538,16 +1558,19 @@ for machine in $build $host $target; do
                tmake_file=m68k/t-vxworks68
                extra_headers=math-68881.h
                thread_file='vxworks'
+               float_format=m68k
                ;;
        m68k-*-aout*)
                tmake_file=m68k/t-m68kbare
                tm_file="m68k/m68k-aout.h libgloss.h"
                extra_headers=math-68881.h
+               float_format=m68k
                ;;
        m68k-*-coff*)
                tmake_file=m68k/t-m68kbare
                tm_file="m68k/m68k-coff.h dbx.h libgloss.h"
                extra_headers=math-68881.h
+               float_format=m68k
                ;;
        m68k-*-lynxos*)
                if [[ x$gas = xyes ]]
@@ -1560,12 +1583,14 @@ for machine in $build $host $target; do
                xmake_file=x-lynx
                tmake_file=m68k/t-lynx
                extra_headers=math-68881.h
+               float_format=m68k
                ;;
        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
                ;;
        m68k-*-sysv3*)                  # Motorola m68k's running system V.3
                xm_file="xm-alloca.h ${xm_file}"
@@ -1573,6 +1598,7 @@ for machine in $build $host $target; do
                xmake_file=m68k/x-m68kv
                extra_parts="crtbegin.o crtend.o"
                extra_headers=math-68881.h
+               float_format=m68k
                ;;
        m68k-*-sysv4*)                  # Motorola m68k's running system V.4
                tm_file=m68k/m68kv4.h
@@ -1581,6 +1607,7 @@ for machine in $build $host $target; do
                tmake_file=t-svr4
                extra_parts="crtbegin.o crtend.o"
                extra_headers=math-68881.h
+               float_format=m68k
                ;;
        m68k-*-linux-gnuaout*)          # Motorola m68k's running GNU/Linux
                                        # with a.out format
@@ -1589,6 +1616,7 @@ for machine in $build $host $target; do
                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
                ;;
        m68k-*-linux-gnulibc1)          # Motorola m68k's running GNU/Linux
@@ -1600,6 +1628,7 @@ for machine in $build $host $target; do
                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
                ;;
        m68k-*-linux-gnu*)              # Motorola m68k's running GNU/Linux
@@ -1611,6 +1640,7 @@ for machine in $build $host $target; do
                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
                if [[ x$enable_threads = xyes ]]; then
                        thread_file='posix'
@@ -1620,11 +1650,13 @@ for machine in $build $host $target; do
                tmake_file=m68k/t-m68kbare
                tm_file=m68k/m68k-psos.h
                extra_headers=math-68881.h
+               float_format=m68k
                ;;
        m68k-*-rtems*)
                tmake_file="m68k/t-m68kbare t-rtems"
                tm_file=m68k/rtems.h
                extra_headers=math-68881.h
+               float_format=m68k
                ;;
 
        m88k-dg-dgux*)
@@ -2367,7 +2399,6 @@ for machine in $build $host $target; do
        powerpcle-*-pe | powerpcle-*-cygwin32)
                tm_file=rs6000/cygwin32.h
                xm_file="rs6000/xm-cygwin32.h ${xm_file}"
-               xm_defines=NO_STAB_H
                tmake_file=rs6000/t-winnt
                xmake_file=rs6000/x-cygwin32
 #              extra_objs=pe.o
@@ -2412,7 +2443,7 @@ for machine in $build $host $target; do
                fi
                use_collect2=yes
                ;;
-       rs6000-ibm-aix[[456789]].* | powerpc-ibm-aix[[456789]].*)
+       rs6000-ibm-aix4.[[12]].* | powerpc-ibm-aix4.[[12]].*)
                tm_file=rs6000/aix41.h
                if [[ x$host != x$target ]]
                then
@@ -2420,7 +2451,29 @@ for machine in $build $host $target; do
                else
                        tmake_file=rs6000/t-newas
                fi
-               xmake_file=rs6000/x-aix31
+               xmake_file=rs6000/x-aix41
+               use_collect2=yes
+               ;;
+       rs6000-ibm-aix4.[[3456789]].* | powerpc-ibm-aix4.[[3456789]].*)
+               tm_file=rs6000/aix43.h
+               if [[ x$host != x$target ]]
+               then
+                       tmake_file=rs6000/t-xaix43
+               else
+                       tmake_file=rs6000/t-aix43
+               fi
+               xmake_file=rs6000/x-aix43
+               use_collect2=yes
+               ;;
+       rs6000-ibm-aix[[56789]].* | powerpc-ibm-aix[[56789]].*)
+               tm_file=rs6000/aix43.h
+               if [[ x$host != x$target ]]
+               then
+                       tmake_file=rs6000/t-xaix43
+               else
+                       tmake_file=rs6000/t-aix43
+               fi
+               xmake_file=rs6000/x-aix43
                use_collect2=yes
                ;;
        rs6000-ibm-aix*)
@@ -3225,6 +3278,46 @@ if [[ -f ../ld/Makefile ]]; then
 #      fi
 fi
 
+# Figure out what assembler alignment features are present.
+AC_MSG_CHECKING(assembler alignment features)
+gcc_cv_as=
+gcc_cv_as_alignment_features=
+if [[ -x as$host_exeext ]]; then
+       # Build using assembler in the current directory.
+       gcc_cv_as=./as$host_exeext
+elif [[ -f $srcdir/../gas/configure.in ]]; then
+       # Single tree build which includes gas.
+       for f in $srcdir/../gas/configure.in $srcdir/../gas/Makefile.in
+       do
+               gcc_cv_gas_version=`grep '^VERSION=[[0-9]]*\.[[0-9]]*' $f`
+               if [[ x$gcc_cv_gas_version != x ]]; then
+                       break
+               fi
+       done
+       gcc_cv_gas_major_version=`expr "$gcc_cv_gas_version" : "VERSION=\([[0-9]]*\)"`
+       gcc_cv_gas_minor_version=`expr "$gcc_cv_gas_version" : "VERSION=[[0-9]]*\.\([[0-9]]*\)"`
+       # Gas version 2.8 and later support specifying the maximum
+       # bytes to skip when using .p2align.
+       if [[ "$gcc_cv_gas_major_version" -eq 2 -a "$gcc_cv_gas_minor_version" -ge 8 -o "$gcc_cv_gas_major_version" -gt 2 ]]; then
+               gcc_cv_as_alignment_features=".p2align including maximum skip"
+               AC_DEFINE(HAVE_GAS_MAX_SKIP_P2ALIGN)
+       fi
+elif [[ x$host = x$target ]]; then
+       # Native build.
+       gcc_cv_as=as$host_exeext
+fi
+if [[ x$gcc_cv_as != x ]]; then
+       # Check if specifying the maximum bytes to skip when
+       # using .p2align is supported.
+       echo ".p2align 4,,7" > conftest.s
+       if $gcc_cv_as -o conftest.o conftest.s > /dev/null 2>&1; then
+               gcc_cv_as_alignment_features=".p2align including maximum skip"
+               AC_DEFINE(HAVE_GAS_MAX_SKIP_P2ALIGN)
+       fi
+       rm -f conftest.s conftest.o
+fi
+AC_MSG_RESULT($gcc_cv_as_alignment_features)
+
 # Figure out what language subdirectories are present.
 subdirs=
 for lang in ${srcdir}/*/config-lang.in ..
@@ -3368,6 +3461,18 @@ if [[ ! -f Makefile.in ]]; then
        echo "source ${srcdir}/.gdbinit" >> .gdbinit
 fi
 
+# Define variables host_canonical and build_canonical
+# because some Cygnus local changes in the Makefile depend on them.
+build_canonical=${build}
+host_canonical=${host}
+target_subdir=
+if [[ "${host}" != "${target}" ]] ; then
+    target_subdir=${target}/
+fi
+AC_SUBST(build_canonical)
+AC_SUBST(host_canonical)
+AC_SUBST(target_subdir)
+       
 # If this is using newlib, then define inhibit_libc in
 # LIBGCC2_CFLAGS.  This will cause __eprintf to be left out of
 # libgcc.a, but that's OK because newib should have its own version of
@@ -3398,6 +3503,10 @@ if [[ x$enable_haifa != x ]]; then
     done
 fi
 
+# Nothing to do for FLOAT_H, float_format already handled.
+objdir=`pwd`
+AC_SUBST(objdir)
+
 # Process the language and host/target makefile fragments.
 ${CONFIG_SHELL-/bin/sh} $srcdir/configure.frag $srcdir "$subdirs" "$dep_host_xmake_file" "$dep_tmake_file"
 
@@ -3415,6 +3524,7 @@ AC_SUBST(extra_passes)
 AC_SUBST(extra_programs)
 AC_SUBST(extra_parts)
 AC_SUBST(extra_c_objs)
+AC_SUBST(extra_cxx_objs)
 AC_SUBST(extra_c_flags)
 AC_SUBST(extra_objs)
 AC_SUBST(host_extra_gcc_objs)