mirror of
git://gcc.gnu.org/git/gcc.git
synced 2025-02-21 05:49:21 +08:00
configure.in: Reorganize recognition of languages.
2006-12-29 Paolo Bonzini <bonzini@gnu.org> * configure.in: Reorganize recognition of languages. Add --enable-stage1-languages. Show supported languages for the chosen target rather than all recognized languages. * configure: Regenerate. From-SVN: r120271
This commit is contained in:
parent
53b88b731c
commit
e1888513cc
@ -1,3 +1,10 @@
|
|||||||
|
2006-12-29 Paolo Bonzini <bonzini@gnu.org>
|
||||||
|
|
||||||
|
* configure.in: Reorganize recognition of languages. Add
|
||||||
|
--enable-stage1-languages. Show supported languages for the chosen
|
||||||
|
target rather than all recognized languages.
|
||||||
|
* configure: Regenerate.
|
||||||
|
|
||||||
2006-12-29 Paolo Bonzini <bonzini@gnu.org>
|
2006-12-29 Paolo Bonzini <bonzini@gnu.org>
|
||||||
|
|
||||||
* Makefile.tpl (GCC_STRAP_TARGETS, all-prebootstrap): Remove.
|
* Makefile.tpl (GCC_STRAP_TARGETS, all-prebootstrap): Remove.
|
||||||
|
115
configure.in
115
configure.in
@ -1153,8 +1153,7 @@ AC_SUBST(gmplibs)
|
|||||||
AC_SUBST(gmpinc)
|
AC_SUBST(gmpinc)
|
||||||
|
|
||||||
# By default, C is the only stage 1 language.
|
# By default, C is the only stage 1 language.
|
||||||
stage1_languages=c
|
stage1_languages=,c,
|
||||||
AC_SUBST(stage1_languages)
|
|
||||||
|
|
||||||
# Figure out what language subdirectories are present.
|
# Figure out what language subdirectories are present.
|
||||||
# Look if the user specified --enable-languages="..."; if not, use
|
# Look if the user specified --enable-languages="..."; if not, use
|
||||||
@ -1216,9 +1215,9 @@ if test -d ${srcdir}/gcc; then
|
|||||||
esac
|
esac
|
||||||
done
|
done
|
||||||
|
|
||||||
new_enable_languages=c
|
new_enable_languages=,c,
|
||||||
missing_languages=`echo ",$enable_languages," | sed -e s/,all,/,/ -e s/,c,/,/ `
|
missing_languages=`echo ",$enable_languages," | sed -e s/,all,/,/ -e s/,c,/,/ `
|
||||||
potential_languages=c
|
potential_languages=,c,
|
||||||
|
|
||||||
for lang_frag in ${srcdir}/gcc/*/config-lang.in .. ; do
|
for lang_frag in ${srcdir}/gcc/*/config-lang.in .. ; do
|
||||||
case ${lang_frag} in
|
case ${lang_frag} in
|
||||||
@ -1233,32 +1232,22 @@ if test -d ${srcdir}/gcc; then
|
|||||||
target_libs=
|
target_libs=
|
||||||
lang_dirs=
|
lang_dirs=
|
||||||
subdir_requires=
|
subdir_requires=
|
||||||
boot_language=
|
boot_language=no
|
||||||
build_by_default=
|
build_by_default=yes
|
||||||
. ${lang_frag}
|
. ${lang_frag}
|
||||||
potential_languages="${potential_languages},${language}"
|
if test x${language} = x; then
|
||||||
# This is quite sensitive to the ordering of the case statement arms.
|
echo "${lang_frag} doesn't set \$language." 1>&2
|
||||||
case ,${enable_languages},:${language}:${have_gnat}:${build_by_default} in
|
exit 1
|
||||||
*::*:*)
|
fi
|
||||||
echo "${lang_frag} doesn't set \$language." 1>&2
|
|
||||||
exit 1
|
case ,${enable_languages}, in
|
||||||
;;
|
*,${language},*)
|
||||||
*:ada:no:*)
|
|
||||||
# Ada was requested with no preexisting GNAT. Disable unconditionally.
|
|
||||||
add_this_lang=no
|
|
||||||
;;
|
|
||||||
*,${language},*:*:*:*)
|
|
||||||
# Language was explicitly selected; include it.
|
# Language was explicitly selected; include it.
|
||||||
add_this_lang=yes
|
add_this_lang=yes
|
||||||
;;
|
;;
|
||||||
*,all,*:*:*:no)
|
*,all,*)
|
||||||
# 'all' was selected, but this is not a default language
|
# 'all' was selected, select it if it is a default language
|
||||||
# so do not include it.
|
add_this_lang=${build_by_default}
|
||||||
add_this_lang=no
|
|
||||||
;;
|
|
||||||
*,all,*:*:*:*)
|
|
||||||
# 'all' was selected and this is a default language; include it.
|
|
||||||
add_this_lang=yes
|
|
||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
add_this_lang=no
|
add_this_lang=no
|
||||||
@ -1275,30 +1264,48 @@ if test -d ${srcdir}/gcc; then
|
|||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
# Silently disable.
|
# Silently disable.
|
||||||
add_this_lang=no
|
add_this_lang=unsupported
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
done
|
done
|
||||||
|
|
||||||
|
# Disable Ada if no preexisting GNAT is available.
|
||||||
|
case ,${enable_languages},:${language}:${have_gnat} in
|
||||||
|
*,${language},*:ada:no)
|
||||||
|
# Specifically requested language; tell them.
|
||||||
|
AC_MSG_ERROR([GNAT is required to build $language])
|
||||||
|
;;
|
||||||
|
*:ada:no)
|
||||||
|
# Silently disable.
|
||||||
|
add_this_lang=unsupported
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
# Disable a language that is unsupported by the target.
|
# Disable a language that is unsupported by the target.
|
||||||
case " $unsupported_languages " in
|
case " $unsupported_languages " in
|
||||||
*" $language "*)
|
*" $language "*)
|
||||||
add_this_lang=no
|
add_this_lang=unsupported
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
|
|
||||||
case $add_this_lang in
|
case $add_this_lang in
|
||||||
no)
|
unsupported)
|
||||||
# Remove language-dependent dirs.
|
# Remove language-dependent dirs.
|
||||||
eval noconfigdirs='"$noconfigdirs "'\"$target_libs $lang_dirs\"
|
eval noconfigdirs='"$noconfigdirs "'\"$target_libs $lang_dirs\"
|
||||||
;;
|
;;
|
||||||
*)
|
no)
|
||||||
new_enable_languages="$new_enable_languages,$language"
|
# Remove language-dependent dirs; still show language as supported.
|
||||||
|
eval noconfigdirs='"$noconfigdirs "'\"$target_libs $lang_dirs\"
|
||||||
|
potential_languages="${potential_languages}${language},"
|
||||||
|
;;
|
||||||
|
yes)
|
||||||
|
new_enable_languages="${new_enable_languages}${language},"
|
||||||
|
potential_languages="${potential_languages}${language},"
|
||||||
missing_languages=`echo "$missing_languages" | sed "s/,$language,/,/"`
|
missing_languages=`echo "$missing_languages" | sed "s/,$language,/,/"`
|
||||||
case ${boot_language} in
|
case ${boot_language} in
|
||||||
yes)
|
yes)
|
||||||
# Add to (comma-separated) list of stage 1 languages.
|
# Add to (comma-separated) list of stage 1 languages.
|
||||||
stage1_languages="${stage1_languages},${language}"
|
stage1_languages="${stage1_languages}${language},"
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
;;
|
;;
|
||||||
@ -1307,17 +1314,55 @@ if test -d ${srcdir}/gcc; then
|
|||||||
esac
|
esac
|
||||||
done
|
done
|
||||||
|
|
||||||
|
AC_ARG_ENABLE(stage1-languages,
|
||||||
|
[ --enable-stage1-languages[=all] choose additional languages to build during
|
||||||
|
stage1. Mostly useful for compiler development.],
|
||||||
|
[case ,${enable_stage1_languages}, in
|
||||||
|
,no,|,,)
|
||||||
|
# Set it to something that will have no effect in the loop below
|
||||||
|
enable_stage1_languages=c ;;
|
||||||
|
,yes,)
|
||||||
|
enable_stage1_languages=`echo $new_enable_languages | \
|
||||||
|
sed -e "s/^,//" -e "s/,$//" ` ;;
|
||||||
|
*,all,*)
|
||||||
|
enable_stage1_languages=`echo ,$enable_stage1_languages, | \
|
||||||
|
sed -e "s/,all,/$new_enable_languages/" -e "s/^,//" -e "s/,$//" ` ;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
# Add "good" languages from enable_stage1_languages to stage1_languages,
|
||||||
|
# while "bad" languages go in missing_languages. Leave no duplicates.
|
||||||
|
for i in `echo $enable_stage1_languages | sed 's/,/ /g' `; do
|
||||||
|
case $potential_languages in
|
||||||
|
*,$i,*)
|
||||||
|
case $stage1_languages in
|
||||||
|
*,$i,*) ;;
|
||||||
|
*) stage1_languages="$stage1_languages$i," ;;
|
||||||
|
esac ;;
|
||||||
|
*)
|
||||||
|
case $missing_languages in
|
||||||
|
*,$i,*) ;;
|
||||||
|
*) missing_languages="$missing_languages$i," ;;
|
||||||
|
esac ;;
|
||||||
|
esac
|
||||||
|
done])
|
||||||
|
|
||||||
|
# Remove leading/trailing commas that were added for simplicity
|
||||||
|
potential_languages=`echo "$potential_languages" | sed -e "s/^,//" -e "s/,$//"`
|
||||||
missing_languages=`echo "$missing_languages" | sed -e "s/^,//" -e "s/,$//"`
|
missing_languages=`echo "$missing_languages" | sed -e "s/^,//" -e "s/,$//"`
|
||||||
|
stage1_languages=`echo "$stage1_languages" | sed -e "s/^,//" -e "s/,$//"`
|
||||||
|
new_enable_languages=`echo "$new_enable_languages" | sed -e "s/^,//" -e "s/,$//"`
|
||||||
|
|
||||||
if test "x$missing_languages" != x; then
|
if test "x$missing_languages" != x; then
|
||||||
AC_MSG_ERROR([
|
AC_MSG_ERROR([
|
||||||
The following requested languages could not be built: ${missing_languages}
|
The following requested languages could not be built: ${missing_languages}
|
||||||
Recognised languages are: ${potential_languages}])
|
Supported languages are: ${potential_languages}])
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if test "x$new_enable_languages" != "x$enable_languages"; then
|
if test "x$new_enable_languages" != "x$enable_languages"; then
|
||||||
echo The following languages will be built: ${new_enable_languages}
|
echo The following languages will be built: ${new_enable_languages}
|
||||||
|
enable_languages="$new_enable_languages"
|
||||||
fi
|
fi
|
||||||
enable_languages="$new_enable_languages"
|
|
||||||
|
AC_SUBST(stage1_languages)
|
||||||
ac_configure_args=`echo " $ac_configure_args" | sed -e 's/ --enable-languages=[[^ ]]*//' -e 's/$/ --enable-languages='"$enable_languages"/ `
|
ac_configure_args=`echo " $ac_configure_args" | sed -e 's/ --enable-languages=[[^ ]]*//' -e 's/$/ --enable-languages='"$enable_languages"/ `
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user