aboutsummaryrefslogtreecommitdiff
path: root/gcc/configure.ac
diff options
context:
space:
mode:
authorH.J. Lu <hongjiu.lu@intel.com>2008-05-15 14:39:04 +0000
committerH.J. Lu <hongjiu.lu@intel.com>2008-05-15 14:39:04 +0000
commitf8a9a77a5e625a7bd2da5e62c74c38c955e1e3fd (patch)
treebcf90e737ba9a1942f27c0ac9f3769743f61032e /gcc/configure.ac
parent0e29faefcafaa57ff5db4986775721dd083eb04a (diff)
Merged with trunk at revision 135353.
git-svn-id: https://gcc.gnu.org/svn/gcc/branches/stack@135366 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/configure.ac')
-rw-r--r--gcc/configure.ac43
1 files changed, 32 insertions, 11 deletions
diff --git a/gcc/configure.ac b/gcc/configure.ac
index 8a53d59326e..001ff503aaf 100644
--- a/gcc/configure.ac
+++ b/gcc/configure.ac
@@ -3581,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
@@ -3597,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
@@ -3617,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"