OSDN Git Service

Daily bump.
[pf3gnuchains/gcc-fork.git] / gcc / configure.in
index 03e87a7..ec25554 100644 (file)
@@ -350,6 +350,9 @@ fi
 AC_SUBST(NO_MINUS_C_MINUS_O)
 AC_SUBST(OUTPUT_OPTION)
 
+# See if GNAT has been installed
+gcc_AC_PROG_GNAT
+
 AC_CACHE_CHECK(whether ${CC-cc} accepts -Wno-long-long,
 ac_cv_prog_cc_no_long_long,
 [save_CFLAGS="$CFLAGS"
@@ -357,8 +360,26 @@ CFLAGS="-Wno-long-long"
 AC_TRY_COMPILE(,,ac_cv_prog_cc_no_long_long=yes,
               ac_cv_prog_cc_no_long_long=no)
 CFLAGS="$save_CFLAGS"])
+
+if test x$have_gnat != xno ; then 
+AC_CACHE_CHECK(whether ${ADAC} accepts -Wno-long-long,
+ac_cv_prog_adac_no_long_long,
+[cat >conftest.adb <<EOF
+procedure conftest is begin null; end conftest;
+EOF
+if $ADAC -Wno-long-long -c conftest.adb 1>&5 2>&5 ; then
+  ac_cv_prog_adac_no_long_long=yes
+else
+  ac_cv_prog_adac_no_long_long=no
+fi
+rm -f conftest*])
+else
+  ac_cv_prog_adac_no_long_long=yes
+fi
+
 strict1_warn=
-if test $ac_cv_prog_cc_no_long_long = yes; then
+if test $ac_cv_prog_cc_no_long_long = yes && \
+    test $ac_cv_prog_adac_no_long_long = yes ; then
   strict1_warn="-pedantic -Wno-long-long"
 fi
 AC_SUBST(strict1_warn)
@@ -404,6 +425,13 @@ vax-*-*)
     stage1_cflags="-J"
   fi
   ;;
+powerpc-*-darwin*)
+  # The spiffy cpp-precomp chokes on some legitimate constructs in GCC
+  # sources; use -no-cpp-precomp to get to GNU cpp.
+  # Apple's GCC has bugs in designated initializer handling, so disable
+  # that too.
+  stage1_cflags="-no-cpp-precomp -DHAVE_DESIGNATED_INITIALIZERS=0"
+  ;;
 esac
 AC_SUBST(stage1_cflags)
 
@@ -471,9 +499,6 @@ gcc_AC_C_CHAR_BIT
 gcc_AC_C_COMPILE_ENDIAN
 gcc_AC_C_FLOAT_FORMAT
 
-# See if GNAT has been installed
-gcc_AC_PROG_GNAT
-
 # See if we have the mktemp command.
 AC_CHECK_PROG(have_mktemp_command, mktemp, yes, no)
 
@@ -487,7 +512,7 @@ else
   # that we can use it.
   gcc_AC_CHECK_PROG_VER(MAKEINFO, makeinfo, --version,
   [GNU texinfo.* \([0-9][0-9.]*\)],
-  [4.*])
+  [4.[1-9]*])
 fi
 
 if test $gcc_cv_prog_makeinfo_modern = no; then
@@ -630,7 +655,7 @@ saved_CFLAGS="$CFLAGS"
 CFLAGS="$CFLAGS -I${srcdir} -I${srcdir}/../include"
 gcc_AC_CHECK_DECLS(getenv atol sbrk abort atof getcwd getwd \
        strsignal putc_unlocked fputs_unlocked fwrite_unlocked \
-        fprintf_unlocked strstr environ errno \
+        fprintf_unlocked strstr errno \
        malloc realloc calloc free basename getopt clock, , ,[
 #include "ansidecl.h"
 #include "system.h"])
@@ -857,7 +882,7 @@ else
        saved_CFLAGS="${CFLAGS}"
        CC="${CC_FOR_BUILD}" CFLAGS="${CFLAGS_FOR_BUILD}" \
        ${realsrcdir}/configure \
-               --target=$target --host=$build --build=$build
+               --target=$target_alias --host=$build_alias --build=$build_alias
        CFLAGS="${saved_CFLAGS}"
 
        # We just finished tests for the build machine, so rename
@@ -1197,8 +1222,7 @@ changequote(,)dnl
 changequote([,])dnl
 fi
 
-if test "x$gcc_cv_as" = x -a x$host = x$target; then
-       # Native build.
+if test "x$gcc_cv_as" = x; then
        # Search the same directories that the installed compiler will
        # search.  Else we may find the wrong assembler and lose.  If we
        # do not find a suitable assembler binary, then try the user's
@@ -1223,14 +1247,21 @@ if test "x$gcc_cv_as" = x -a x$host = x$target; then
        # If the loop below does not find an assembler, then use whatever
        # one we can find in the users's path.
        # user's path.
-       gcc_cv_as=as$host_exeext
-
-       test_dirs="$test_prefix/lib/gcc-lib/$target/$gcc_version \
-                  $test_prefix/lib/gcc-lib/$target \
-                  /usr/lib/gcc/$target/$gcc_version \
-                  /usr/lib/gcc/$target \
-                  $test_prefix/$target/bin/$target/$gcc_version \
-                  $test_prefix/$target/bin \
+       if test "x$program_prefix" != xNONE; then
+               gcc_cv_as=${program_prefix}as$host_exeext
+       else
+               gcc_cv_as=`echo as | sed ${program_transform_name}`$host_exeext
+       fi
+
+       test_dirs="$test_prefix/lib/gcc-lib/$target_alias/$gcc_version \
+                  $test_prefix/lib/gcc-lib/$target_alias \
+                  /usr/lib/gcc/$target_alias/$gcc_version \
+                  /usr/lib/gcc/$target_alias \
+                  $test_prefix/$target_alias/bin/$target_alias/$gcc_version \
+                  $test_prefix/$target_alias/bin"
+
+       if test x$host = x$target; then
+           test_dirs="$test_dirs \
                   /usr/libexec \
                   /usr/ccs/gcc \
                   /usr/ccs/bin \
@@ -1241,9 +1272,10 @@ if test "x$gcc_cv_as" = x -a x$host = x$target; then
                   /sysv/usr/lib/cmplrs/cc \
                   /svr4/usr/lib/cmplrs/cc \
                   /usr/bin"
+       fi
 
        for dir in $test_dirs; do
-               if test -f $dir/as$host_exeext; then
+               if test -x $dir/as$host_exeext; then
                        gcc_cv_as=$dir/as$host_exeext
                        break;
                fi
@@ -1286,8 +1318,7 @@ changequote(,)dnl
 changequote([,])dnl
 fi
 
-if test "x$gcc_cv_ld" = x -a x$host = x$target; then
-       # Native build.
+if test "x$gcc_cv_ld" = x; then
        # Search the same directories that the installed compiler will
        # search.  Else we may find the wrong linker and lose.  If we
        # do not find a suitable linker binary, then try the user's
@@ -1312,14 +1343,21 @@ if test "x$gcc_cv_ld" = x -a x$host = x$target; then
        # If the loop below does not find an linker, then use whatever
        # one we can find in the users's path.
        # user's path.
-       gcc_cv_ld=ld$host_exeext
-
-       test_dirs="$test_prefix/lib/gcc-lib/$target/$gcc_version \
-                  $test_prefix/lib/gcc-lib/$target \
-                  /usr/lib/gcc/$target/$gcc_version \
-                  /usr/lib/gcc/$target \
-                  $test_prefix/$target/bin/$target/$gcc_version \
-                  $test_prefix/$target/bin \
+       if test "x$program_prefix" != xNONE; then
+               gcc_cv_ld=${program_prefix}ld$host_exeext
+       else
+               gcc_cv_ld=`echo ld | sed ${program_transform_name}`$host_exeext
+       fi
+
+       test_dirs="$test_prefix/lib/gcc-lib/$target_alias/$gcc_version \
+                  $test_prefix/lib/gcc-lib/$target_alias \
+                  /usr/lib/gcc/$target_alias/$gcc_version \
+                  /usr/lib/gcc/$target_alias \
+                  $test_prefix/$target_alias/bin/$target_alias/$gcc_version \
+                  $test_prefix/$target_alias/bin"
+
+       if test x$host = x$target; then
+           test_dirs="$test_dirs \
                   /usr/libexec \
                   /usr/ccs/gcc \
                   /usr/ccs/bin \
@@ -1330,9 +1368,10 @@ if test "x$gcc_cv_ld" = x -a x$host = x$target; then
                   /sysv/usr/lib/cmplrs/cc \
                   /svr4/usr/lib/cmplrs/cc \
                   /usr/bin"
+       fi
 
        for dir in $test_dirs; do
-               if test -f $dir/ld$host_exeext; then
+               if test -x $dir/ld$host_exeext; then
                        gcc_cv_ld=$dir/ld$host_exeext
                        break;
                fi
@@ -1348,9 +1387,10 @@ fi
 AC_MSG_CHECKING(what nm to use)
 if test -x nm$host_exeext; then
        gcc_cv_nm=./nm$host_exeext
-elif test x$host = x$target; then
-       # Native build.
-       gcc_cv_nm=nm$host_exeext
+elif test "x$program_prefix" != xNONE; then
+       gcc_cv_nm=${program_prefix}nm$host_exeext
+else
+       gcc_cv_nm=`echo nm | sed ${program_transform_name}`$host_exeext
 fi
 AC_MSG_RESULT($gcc_cv_nm)
 
@@ -1358,9 +1398,10 @@ AC_MSG_RESULT($gcc_cv_nm)
 AC_MSG_CHECKING(what objdump to use)
 if test -x objdump$host_exeext; then
        gcc_cv_objdump=./objdump$host_exeext
-elif test x$host = x$target; then
-       # Native build.
-       gcc_cv_objdump=objdump$host_exeext
+elif test "x$program_prefix" != xNONE; then
+       gcc_cv_objdump=${program_prefix}objdump$host_exeext
+else
+       gcc_cv_objdump=`echo objdump | sed ${program_transform_name}`$host_exeext
 fi
 AC_MSG_RESULT($gcc_cv_objdump)
 
@@ -1477,6 +1518,8 @@ if test x"$gcc_cv_as_hidden" = xyes; then
                [Define if your assembler supports .hidden.])
 fi
 AC_MSG_RESULT($gcc_cv_as_hidden)
+libgcc_visibility=$gcc_cv_as_hidden
+AC_SUBST(libgcc_visibility)
 
 AC_MSG_CHECKING(assembler leb128 support)
 gcc_cv_as_leb128=no
@@ -1708,10 +1751,9 @@ EOF
        if test x$gcc_cv_as != x -a x$gcc_cv_ld != x; then
            gcc_cv_as_sparc_ua_pcrel=no
            echo ".text; foo: nop; .data; .align 4; .byte 0; .uaword %r_disp32(foo)" > conftest.s
-           if $gcc_cv_as -K PIC -o conftest.o conftest.s > /dev/null 2>&1; then
-               if $gcc_cv_ld -o conftest conftest.o -G > /dev/null 2>&1; then
-                   gcc_cv_as_sparc_ua_pcrel=yes
-               fi
+           if $gcc_cv_as -K PIC -o conftest.o conftest.s > /dev/null 2>&1 \
+              && $gcc_cv_ld -o conftest conftest.o -G > /dev/null 2>&1; then
+               gcc_cv_as_sparc_ua_pcrel=yes
            fi
            rm -f conftest.s conftest.o conftest
        fi
@@ -1721,42 +1763,36 @@ EOF
                [Define if your assembler and linker support unaligned PC relative relocs.])
     fi
 
-    case "$tm_file" in
-    *64*)
-       AC_CACHE_CHECK([for 64 bit support in assembler ($gcc_cv_as)],
-           gcc_cv_as_flags64, [
-               if test -n "$gcc_cv_as"; then
-                   echo ".xword foo" > conftest.s
-                   gcc_cv_as_flags64=no
-                   for flag in "-xarch=v9" "-64 -Av9"; do
-                       if $gcc_cv_as $flag -o conftest.o conftest.s \
-                           > /dev/null 2>&1; then
-                           gcc_cv_as_flags64=$flag
-                           break
-                       fi
-                   done
-                   rm -f conftest.s conftest.o
-               else
-                   if test "$gas" = yes; then
-                       gcc_cv_as_flags64="-64 -Av9"
+    AC_CACHE_CHECK([assembler and linker support unaligned pc related relocs against hidden symbols],
+       gcc_cv_as_sparc_ua_pcrel_hidden, [
+       if test "x$gcc_cv_as_sparc_ua_pcrel" = xyes; then
+           gcc_cv_as_sparc_ua_pcrel_hidden=unknown
+           if test x$gcc_cv_objdump != x; then
+               gcc_cv_as_sparc_ua_pcrel_hidden=no
+               echo ".data; .align 4; .byte 0x31; .uaword %r_disp32(foo)" > conftest.s
+               echo ".byte 0x32, 0x33, 0x34; .global foo; .hidden foo" >> conftest.s
+               echo "foo: .skip 4" >> conftest.s
+               if $gcc_cv_as -K PIC -o conftest.o conftest.s > /dev/null 2>&1 \
+                  && $gcc_cv_ld -o conftest conftest.o -G > /dev/null 2>&1 \
+                  && $gcc_cv_objdump -s -j .data conftest 2> /dev/null \
+                     | grep ' 31000000 07323334' > /dev/null 2>&1; then
+                   if $gcc_cv_objdump -R conftest 2> /dev/null \
+                      | grep 'DISP32' > /dev/null 2>&1; then
+                       :
                    else
-                       gcc_cv_as_flags64="-xarch=v9"
+                       gcc_cv_as_sparc_ua_pcrel_hidden=yes
                    fi
                fi
-       ])
-       if test "x$gcc_cv_as_flags64" = xno; then
-changequote(, )
-           tmake_file=`echo " $tmake_file " | sed -e 's, sparc/t-sol2-64 , ,' -e 's,^ ,,' -e 's, $,,'`
-           dep_tmake_file=`echo " $dep_tmake_file " | sed -e 's, [^ ]*/config/sparc/t-sol2-64 , ,' -e 's,^ ,,' -e 's, $,,'`
-changequote([, ])
+           fi
+           rm -f conftest.s conftest.o conftest
        else
-           AC_DEFINE_UNQUOTED(AS_SPARC64_FLAG, "$gcc_cv_as_flags64",
-                       [Define if the assembler supports 64bit sparc.])
+           gcc_cv_as_sparc_ua_pcrel_hidden="$gcc_cv_as_sparc_ua_pcrel"
        fi
-       ;;
-    *) gcc_cv_as_flags64=${gcc_cv_as_flags64-no}
-       ;;
-    esac
+    ])
+    if test "x$gcc_cv_as_sparc_ua_pcrel_hidden" = xyes; then
+       AC_DEFINE(HAVE_AS_SPARC_UA_PCREL_HIDDEN, 1,
+               [Define if your assembler and linker support unaligned PC relative relocs against hidden symbols.])
+    fi
 
     if test "x$gcc_cv_as_flags64" != xno; then
        AC_CACHE_CHECK([for assembler offsetable %lo() support],
@@ -1852,7 +1888,7 @@ gcc_cv_as_dwarf2_debug_line=no
 # ??? Once 2.11 is released, probably need to add first known working
 # version to the per-target configury.
 case "$target" in
-  i?86*-*-* | mips*-*-* | alpha*-*-* | powerpc*-*-* | sparc*-*-* | m68*-*-* | x86_64*-*-*)
+  i?86*-*-* | mips*-*-* | alpha*-*-* | powerpc*-*-* | sparc*-*-* | m68*-*-* | x86_64*-*-* | hppa*-*-*)
     insn="nop"
     ;;
   ia64*-*-*)