OSDN Git Service

2008-05-14 Paul Thomas <pault@gcc.gnu.org>
[pf3gnuchains/gcc-fork.git] / gcc / configure.ac
index 10e6a9e..001ff50 100644 (file)
@@ -276,6 +276,8 @@ rm -f a.out a.exe b.out
 # Find the native compiler
 AC_PROG_CC
 AM_PROG_CC_C_O
+ACX_PROG_GNAT([-I"$srcdir"/ada])
+
 # autoconf is lame and doesn't give us any substitution variable for this.
 if eval "test \"`echo '$ac_cv_prog_cc_'${ac_cc}_c_o`\" = no"; then
   NO_MINUS_C_MINUS_O=yes
@@ -1463,9 +1465,6 @@ else
                --target=$target_alias --host=$build_alias --build=$build_alias
        CFLAGS="${saved_CFLAGS}"
 
-       # Extract this setting from the temporary Makefile.
-       BUILD_DEPMODE=`grep '^CCDEPMODE = ' Makefile | sed -e 's,.* = ,,'`
-
        # We just finished tests for the build machine, so rename
        # the file auto-build.h in the gcc directory.
        mv auto-host.h ../auto-build.h
@@ -1738,7 +1737,7 @@ fi
 # then define inhibit_libc in LIBGCC2_CFLAGS.
 # This prevents libgcc2 from containing any code which requires libc
 # support.
-inhibit_libc=false
+: ${inhibit_libc=false}
 if { { test x$host != x$target && test "x$with_sysroot" = x ; } ||
        test x$with_newlib = xyes ; } &&
      { test "x$with_headers" = x || test "x$with_headers" = xno ; } ; then
@@ -1817,6 +1816,21 @@ esac
 # Assembler & linker features
 # ---------------------------
 
+# During stage 2, ld is actually gcc/collect-ld, which is a small script to
+# discern between when to use prev-ld/ld-new and when to use ld/ld-new.
+# However when ld-new is first executed from the build tree, libtool will
+# relink it as .libs/lt-ld-new, so that it can give it an RPATH that refers
+# to the build tree.  While doing this we need to use the previous-stage
+# linker, or we have an infinite loop.  The presence of a shell script as
+# ld/ld-new, and the fact that the script *uses ld itself*, is what confuses
+# the gcc/collect-ld script.  So we need to know how libtool works, or
+# exec-tool will fail.
+
+m4_defun([_LT_CONFIG_COMMANDS], [])
+AC_PROG_LIBTOOL
+AC_SUBST(objdir)
+AC_SUBST(enable_fast_install)
+
 # Identify the assembler which will work hand-in-glove with the newly
 # built GCC, so that we can examine its features.  This is the assembler
 # which will be driven by the driver program.
@@ -3567,11 +3581,32 @@ changequote(,)dnl
         fi
         subdir="`echo $lang | sed -e 's,^.*/\([^/]*\)/config-lang.in$,\1,'`"
         subdirs="$subdirs $subdir"
+
+       # $gcc_subdir is where the gcc integration files are to be found
+       # for a language, both for internal compiler purposes (compiler
+       # sources implementing front-end to GCC tree converters), and for
+       # build infrastructure purposes (Make-lang.in, etc.)
+       #
+       # This will be <subdir> (relative to $srcdir) if a line like 
+       # gcc_subdir="<subdir>" or gcc_subdir=<subdir>
+       # is found in <langdir>/config-lang.in, and will remain <langdir>
+       # otherwise.
+       #
+       # Except for the language alias (fetched above), the regular
+       # "config-lang.in" contents are always retrieved from $gcc_subdir,
+       # so a <langdir>/config-lang.in setting gcc_subdir typically sets
+       # only this and the language alias.
+
+        gcc_subdir=`sed -n -e 's,^gcc_subdir=['"'"'"'"]\(.*\)["'"'"'"'].*$,\1,p' -e 's,^gcc_subdir=\([^   ]*\).*$,\1,p' $lang`
+        if [ "$gcc_subdir" = "" ]; then
+           gcc_subdir="$subdir"
+        fi
+
         case ",$enable_languages," in
         *,$lang_alias,*)
             all_selected_languages="$all_selected_languages $lang_alias"
-           if test -f $srcdir/$subdir/lang-specs.h; then
-               lang_specs_files="$lang_specs_files $srcdir/$subdir/lang-specs.h"
+            if test -f $srcdir/$gcc_subdir/lang-specs.h; then
+                lang_specs_files="$lang_specs_files $srcdir/$gcc_subdir/lang-specs.h"
            fi
            ;;
         esac
@@ -3583,10 +3618,10 @@ changequote([,])dnl
        outputs=
        gtfiles=
        subdir_requires=
-       . ${srcdir}/$subdir/config-lang.in
+       . ${srcdir}/$gcc_subdir/config-lang.in
        if test "x$language" = x
        then
-               echo "${srcdir}/$subdir/config-lang.in doesn't set \$language." 1>&2
+               echo "${srcdir}/$gcc_subdir/config-lang.in doesn't set \$language." 1>&2
                exit 1
        fi
 
@@ -3603,15 +3638,15 @@ changequote([,])dnl
        esac
        $ok || continue
 
-       all_lang_makefrags="$all_lang_makefrags \$(srcdir)/$subdir/Make-lang.in"
-       if test -f $srcdir/$subdir/lang.opt; then
-           lang_opt_files="$lang_opt_files $srcdir/$subdir/lang.opt"
+       all_lang_makefrags="$all_lang_makefrags \$(srcdir)/$gcc_subdir/Make-lang.in"
+       if test -f $srcdir/$gcc_subdir/lang.opt; then
+           lang_opt_files="$lang_opt_files $srcdir/$gcc_subdir/lang.opt"
        fi
-       if test -f $srcdir/$subdir/$subdir-tree.def; then
-           lang_tree_files="$lang_tree_files $srcdir/$subdir/$subdir-tree.def"
+       if test -f $srcdir/$gcc_subdir/$subdir-tree.def; then
+           lang_tree_files="$lang_tree_files $srcdir/$gcc_subdir/$subdir-tree.def"
        fi
-       if test -f ${srcdir}/$subdir/Makefile.in
-               then all_lang_makefiles="$subdir/Makefile"
+       if test -f ${srcdir}/$gcc_subdir/Makefile.in
+               then all_lang_makefiles="$gcc_subdir/Makefile"
        fi
        all_languages="$all_languages $language"
        all_compilers="$all_compilers $compilers"
@@ -3651,27 +3686,6 @@ do
 done
 
 # --------
-# Dependency checking.
-# --------
-
-ZW_CREATE_DEPDIR
-AC_CONFIG_COMMANDS([gccdepdir],[
-  ${CONFIG_SHELL-/bin/sh} $ac_aux_dir/mkinstalldirs build/$DEPDIR
-  for lang in $subdirs
-  do
-      ${CONFIG_SHELL-/bin/sh} $ac_aux_dir/mkinstalldirs $lang/$DEPDIR
-  done], [subdirs="$subdirs" ac_aux_dir=$ac_aux_dir DEPDIR=$DEPDIR])
-
-ZW_PROG_COMPILER_DEPENDENCIES([CC])
-# Note that if build!=host then we extracted the value from the
-# temporary Makefile we created above, when we ran configure.
-if test "${build}" = "${host}" ; then
-  BUILD_DEPMODE='$(CCDEPMODE)'
-fi
-AC_SUBST(BUILD_DEPMODE)
-
-
-# --------
 # UNSORTED
 # --------
 
@@ -3714,9 +3728,6 @@ else
 fi)
 AC_SUBST(slibdir)
 
-objdir=`${PWDCMD-pwd}`
-AC_SUBST(objdir)
-
 AC_ARG_WITH(datarootdir,
 [  --with-datarootdir=DIR  Use DIR as the data root [[PREFIX/share]]],
 datarootdir="\${prefix}/$with_datarootdir",