re PR other/27063 (Fail to build gcc-core-4.2 snapshots)

2006-07-03  Paolo Bonzini  <bonzini@gnu.org>

	PR other/27063
	* configure.in: Test subdir_requires and give an appropriate
	error message.
	* configure: Regenerate

gcc:
2006-07-03  Paolo Bonzini  <bonzini@gnu.org>

	PR other/27063
	* configure.ac (for lang...): Simplify nesting of conditionals.
	Test subdir_requires for non-enabled languages.  Move processing
	of lang_opt_files and lang_tree_fiels below that test.
	* configure: Regenerate.
	* doc/sourcebuild.texi (Front End Config): Document subdir_requires.

gcc/objcp:
2006-07-03  Paolo Bonzini  <bonzini@gnu.org>

	PR other/27063
	* config-lang.in: Add subdir_requires.

From-SVN: r115145
This commit is contained in:
Paolo Bonzini 2006-07-03 07:58:08 +00:00 committed by Paolo Bonzini
parent a57fb56299
commit 1546bb648f
9 changed files with 277 additions and 181 deletions

View File

@ -1,3 +1,10 @@
2006-07-03 Paolo Bonzini <bonzini@gnu.org>
PR other/27063
* configure.in: Test subdir_requires and give an appropriate
error message.
* configure: Regenerate.
2006-07-01 Andrew John Hughes <gnu_andrew@member.fsf.org> 2006-07-01 Andrew John Hughes <gnu_andrew@member.fsf.org>
* MAINTAINERS (Write After Approval): Add myself. * MAINTAINERS (Write After Approval): Add myself.

305
configure vendored

File diff suppressed because it is too large Load Diff

View File

@ -1219,6 +1219,7 @@ if test -d ${srcdir}/gcc; then
language= language=
target_libs= target_libs=
lang_dirs= lang_dirs=
subdir_requires=
boot_language= boot_language=
build_by_default= build_by_default=
need_gmp= need_gmp=
@ -1252,6 +1253,21 @@ if test -d ${srcdir}/gcc; then
;; ;;
esac esac
# Disable languages that need other directories if these aren't available.
for i in $subdir_requires .; do
test -d gcc/$i && continue
case ,${enable_languages}, in
*,${language},*)
# Specifically requested language; tell them.
AC_MSG_ERROR([The gcc/$i directory contains parts of $language but is missing])
;;
*)
# Silently disable.
add_this_lang=no
;;
esac
done
# Disable languages that need GMP if it isn't available. # Disable languages that need GMP if it isn't available.
case ,${enable_languages},:${have_gmp}:${need_gmp} in case ,${enable_languages},:${have_gmp}:${need_gmp} in
*,${language},*:no:yes) *,${language},*:no:yes)

View File

@ -1,3 +1,12 @@
2006-07-03 Paolo Bonzini <bonzini@gnu.org>
PR other/27063
* configure.ac (for lang...): Simplify nesting of conditionals.
Test subdir_requires for non-enabled languages. Move processing
of lang_opt_files and lang_tree_fiels below that test.
* configure: Regenerate.
* doc/sourcebuild.texi (Front End Config): Document subdir_requires.
2006-07-01 Martin Michlmayr <tbm@cyrius.com> 2006-07-01 Martin Michlmayr <tbm@cyrius.com>
* doc/gcov.texi (Invoking Gcov): Add a missing word. * doc/gcov.texi (Invoking Gcov): Add a missing word.

62
gcc/configure vendored
View File

@ -309,7 +309,7 @@ ac_includes_default="\
# include <unistd.h> # include <unistd.h>
#endif" #endif"
ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS build build_cpu build_vendor build_os host host_cpu host_vendor host_os target target_cpu target_vendor target_os target_noncanonical build_subdir host_subdir target_subdir GENINSRC CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT NO_MINUS_C_MINUS_O OUTPUT_OPTION CPP EGREP strict1_warn cxx_compat_warn warn_cflags WERROR nocommon_flag TREEBROWSER valgrind_path valgrind_path_defines valgrind_command coverage_flags enable_multilib enable_decimal_float enable_shared TARGET_SYSTEM_ROOT TARGET_SYSTEM_ROOT_DEFINE CROSS_SYSTEM_HEADER_DIR onestep datarootdir docdir htmldir SET_MAKE AWK LN_S LN RANLIB ac_ct_RANLIB ranlib_flags INSTALL INSTALL_PROGRAM INSTALL_DATA make_compare_target have_mktemp_command MAKEINFO BUILD_INFO GENERATED_MANPAGES FLEX BISON NM AR stage1_cflags COLLECT2_LIBS GNAT_LIBEXC LDEXP_LIB TARGET_GETGROUPS_T LIBICONV LTLIBICONV LIBICONV_DEP manext objext gthread_flags extra_modes_file extra_opt_files USE_NLS LIBINTL LIBINTL_DEP INCINTL XGETTEXT GMSGFMT POSUB CATALOGS DATADIRNAME INSTOBJEXT GENCAT CATOBJEXT host_cc_for_libada CROSS ALL SYSTEM_HEADER_DIR inhibit_libc CC_FOR_BUILD BUILD_CFLAGS STMP_FIXINC STMP_FIXPROTO collect2 gcc_cv_as ORIGINAL_AS_FOR_TARGET gcc_cv_ld ORIGINAL_LD_FOR_TARGET gcc_cv_nm ORIGINAL_NM_FOR_TARGET gcc_cv_objdump libgcc_visibility GGC zlibdir zlibinc MAINT gcc_tooldir dollar slibdir objdir subdirs srcdir all_boot_languages all_compilers all_gtfiles all_gtfiles_files_langs all_gtfiles_files_files all_lang_makefrags all_lang_makefiles all_languages all_selected_languages all_stagestuff build_exeext build_install_headers_dir build_xm_file_list build_xm_include_list build_xm_defines check_languages cc_set_by_configure quoted_cc_set_by_configure cpp_install_dir xmake_file tmake_file extra_gcc_objs extra_headers_list extra_objs extra_parts extra_passes extra_programs float_h_file gcc_config_arguments gcc_gxx_include_dir host_exeext host_xm_file_list host_xm_include_list host_xm_defines out_host_hook_obj install lang_opt_files lang_specs_files lang_tree_files local_prefix md_file objc_boehm_gc out_file out_object_file stage_prefix_set_by_configure quoted_stage_prefix_set_by_configure thread_file tm_file_list tm_include_list tm_defines tm_p_file_list tm_p_include_list xm_file_list xm_include_list xm_defines c_target_objs cxx_target_objs target_cpu_default GMPLIBS GMPINC LIBOBJS LTLIBOBJS' ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS build build_cpu build_vendor build_os host host_cpu host_vendor host_os target target_cpu target_vendor target_os target_noncanonical build_libsubdir build_subdir host_subdir target_subdir GENINSRC CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT NO_MINUS_C_MINUS_O OUTPUT_OPTION CPP EGREP strict1_warn cxx_compat_warn warn_cflags WERROR nocommon_flag TREEBROWSER valgrind_path valgrind_path_defines valgrind_command coverage_flags enable_multilib enable_decimal_float enable_shared TARGET_SYSTEM_ROOT TARGET_SYSTEM_ROOT_DEFINE CROSS_SYSTEM_HEADER_DIR onestep datarootdir docdir htmldir SET_MAKE AWK LN_S LN RANLIB ac_ct_RANLIB ranlib_flags INSTALL INSTALL_PROGRAM INSTALL_DATA make_compare_target have_mktemp_command MAKEINFO BUILD_INFO GENERATED_MANPAGES FLEX BISON NM AR stage1_cflags COLLECT2_LIBS GNAT_LIBEXC LDEXP_LIB TARGET_GETGROUPS_T LIBICONV LTLIBICONV LIBICONV_DEP manext objext gthread_flags extra_modes_file extra_opt_files USE_NLS LIBINTL LIBINTL_DEP INCINTL XGETTEXT GMSGFMT POSUB CATALOGS DATADIRNAME INSTOBJEXT GENCAT CATOBJEXT host_cc_for_libada CROSS ALL SYSTEM_HEADER_DIR inhibit_libc CC_FOR_BUILD BUILD_CFLAGS STMP_FIXINC STMP_FIXPROTO collect2 gcc_cv_as ORIGINAL_AS_FOR_TARGET gcc_cv_ld ORIGINAL_LD_FOR_TARGET gcc_cv_nm ORIGINAL_NM_FOR_TARGET gcc_cv_objdump libgcc_visibility GGC zlibdir zlibinc MAINT gcc_tooldir dollar slibdir objdir subdirs srcdir all_boot_languages all_compilers all_gtfiles all_gtfiles_files_langs all_gtfiles_files_files all_lang_makefrags all_lang_makefiles all_languages all_selected_languages all_stagestuff build_exeext build_install_headers_dir build_xm_file_list build_xm_include_list build_xm_defines check_languages cc_set_by_configure quoted_cc_set_by_configure cpp_install_dir xmake_file tmake_file extra_gcc_objs extra_headers_list extra_objs extra_parts extra_passes extra_programs float_h_file gcc_config_arguments gcc_gxx_include_dir host_exeext host_xm_file_list host_xm_include_list host_xm_defines out_host_hook_obj install lang_opt_files lang_specs_files lang_tree_files local_prefix md_file objc_boehm_gc out_file out_object_file stage_prefix_set_by_configure quoted_stage_prefix_set_by_configure thread_file tm_file_list tm_include_list tm_defines tm_p_file_list tm_p_include_list xm_file_list xm_include_list xm_defines c_target_objs cxx_target_objs target_cpu_default GMPLIBS GMPINC LIBOBJS LTLIBOBJS'
ac_subst_files='language_hooks' ac_subst_files='language_hooks'
# Initialize some variables set by options. # Initialize some variables set by options.
@ -912,6 +912,7 @@ Optional Features:
Optional Packages: Optional Packages:
--with-PACKAGE[=ARG] use PACKAGE [ARG=yes] --with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
--without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no)
--with-build-libsubdir=DIR Directory where to find libraries for build system
--with-local-prefix=DIR specifies directory to put local include --with-local-prefix=DIR specifies directory to put local include
--with-gxx-include-dir=DIR --with-gxx-include-dir=DIR
specifies directory to put g++ header files specifies directory to put g++ header files
@ -1527,6 +1528,14 @@ esac
# Determine the target- and build-specific subdirectories # Determine the target- and build-specific subdirectories
# Prefix 'build-' so this never conflicts with target_subdir. # Prefix 'build-' so this never conflicts with target_subdir.
build_subdir="build-${build_noncanonical}" build_subdir="build-${build_noncanonical}"
# Check whether --with-build-libsubdir or --without-build-libsubdir was given.
if test "${with_build_libsubdir+set}" = set; then
withval="$with_build_libsubdir"
build_libsubdir="$withval"
else
build_libsubdir="$build_subdir"
fi;
# --srcdir=. covers the toplevel, while "test -d" covers the subdirectories # --srcdir=. covers the toplevel, while "test -d" covers the subdirectories
if ( test $srcdir = . && test -d gcc ) \ if ( test $srcdir = . && test -d gcc ) \
|| test -d $srcdir/../host-${host_noncanonical}; then || test -d $srcdir/../host-${host_noncanonical}; then
@ -7632,7 +7641,7 @@ if test "${gcc_cv_prog_makeinfo_modern+set}" = set; then
else else
ac_prog_version=`$MAKEINFO --version 2>&1 | ac_prog_version=`$MAKEINFO --version 2>&1 |
sed -n 's/^.*GNU texinfo.* \([0-9][0-9.]*\).*$/\1/p'` sed -n 's/^.*GNU texinfo.* \([0-9][0-9.]*\).*$/\1/p'`
echo "configure:7635: version of makeinfo is $ac_prog_version" >&5 echo "configure:7644: version of makeinfo is $ac_prog_version" >&5
case $ac_prog_version in case $ac_prog_version in
'') gcc_cv_prog_makeinfo_modern=no;; '') gcc_cv_prog_makeinfo_modern=no;;
4.[4-9]*) 4.[4-9]*)
@ -15993,12 +16002,8 @@ language_hooks="Make-hooks"
for lang in ${srcdir}/*/config-lang.in for lang in ${srcdir}/*/config-lang.in
do do
case $lang in test "$lang" = "${srcdir}/*/config-lang.in" && continue
# The odd quoting in the next line works around
# an apparent bug in bash 1.12 on linux.
${srcdir}/[*]/config-lang.in)
continue ;;
*)
lang_alias=`sed -n -e 's,^language=['"'"'"'"]\(.*\)["'"'"'"'].*$,\1,p' -e 's,^language=\([^ ]*\).*$,\1,p' $lang` lang_alias=`sed -n -e 's,^language=['"'"'"'"]\(.*\)["'"'"'"'].*$,\1,p' -e 's,^language=\([^ ]*\).*$,\1,p' $lang`
if test "x$lang_alias" = x if test "x$lang_alias" = x
then then
@ -16016,26 +16021,40 @@ do
;; ;;
esac esac
if test -f $srcdir/$subdir/lang.opt; then
lang_opt_files="$lang_opt_files $srcdir/$subdir/lang.opt"
fi
if test -f $srcdir/$subdir/$subdir-tree.def; then
lang_tree_files="$lang_tree_files $srcdir/$subdir/$subdir-tree.def"
fi
language= language=
boot_language= boot_language=
compilers= compilers=
stagestuff= stagestuff=
outputs= outputs=
gtfiles= gtfiles=
subdir_requires=
. ${srcdir}/$subdir/config-lang.in . ${srcdir}/$subdir/config-lang.in
if test "x$language" = x if test "x$language" = x
then then
echo "${srcdir}/$subdir/config-lang.in doesn't set \$language." 1>&2 echo "${srcdir}/$subdir/config-lang.in doesn't set \$language." 1>&2
exit 1 exit 1
fi fi
ok=:
case ",$enable_languages," in
*,$lang_alias,*) ;;
*)
for i in $subdir_requires; do
test -d "$i" && continue
ok=false
break
done
;;
esac
$ok || continue
all_lang_makefrags="$all_lang_makefrags \$(srcdir)/$subdir/Make-lang.in" 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"
fi
if test -f $srcdir/$subdir/$subdir-tree.def; then
lang_tree_files="$lang_tree_files $srcdir/$subdir/$subdir-tree.def"
fi
if test -f ${srcdir}/$subdir/Makefile.in if test -f ${srcdir}/$subdir/Makefile.in
then all_lang_makefiles="$subdir/Makefile" then all_lang_makefiles="$subdir/Makefile"
fi fi
@ -16048,13 +16067,11 @@ do
all_stagestuff="$all_stagestuff $stagestuff" all_stagestuff="$all_stagestuff $stagestuff"
all_outputs="$all_outputs $outputs" all_outputs="$all_outputs $outputs"
all_gtfiles="$all_gtfiles $gtfiles" all_gtfiles="$all_gtfiles $gtfiles"
for f in $gtfiles for f in $gtfiles
do do
all_gtfiles_files_langs="$all_gtfiles_files_langs ${subdir} " all_gtfiles_files_langs="$all_gtfiles_files_langs ${subdir} "
all_gtfiles_files_files="$all_gtfiles_files_files ${f} " all_gtfiles_files_files="$all_gtfiles_files_files ${f} "
done done
;;
esac
done done
# Pick up gtfiles for c # Pick up gtfiles for c
@ -16939,6 +16956,7 @@ s,@target_cpu@,$target_cpu,;t t
s,@target_vendor@,$target_vendor,;t t s,@target_vendor@,$target_vendor,;t t
s,@target_os@,$target_os,;t t s,@target_os@,$target_os,;t t
s,@target_noncanonical@,$target_noncanonical,;t t s,@target_noncanonical@,$target_noncanonical,;t t
s,@build_libsubdir@,$build_libsubdir,;t t
s,@build_subdir@,$build_subdir,;t t s,@build_subdir@,$build_subdir,;t t
s,@host_subdir@,$host_subdir,;t t s,@host_subdir@,$host_subdir,;t t
s,@target_subdir@,$target_subdir,;t t s,@target_subdir@,$target_subdir,;t t

View File

@ -3344,13 +3344,9 @@ language_hooks="Make-hooks"
for lang in ${srcdir}/*/config-lang.in for lang in ${srcdir}/*/config-lang.in
do do
case $lang in
# The odd quoting in the next line works around
# an apparent bug in bash 1.12 on linux.
changequote(,)dnl changequote(,)dnl
${srcdir}/[*]/config-lang.in) test "$lang" = "${srcdir}/*/config-lang.in" && continue
continue ;;
*)
lang_alias=`sed -n -e 's,^language=['"'"'"'"]\(.*\)["'"'"'"'].*$,\1,p' -e 's,^language=\([^ ]*\).*$,\1,p' $lang` lang_alias=`sed -n -e 's,^language=['"'"'"'"]\(.*\)["'"'"'"'].*$,\1,p' -e 's,^language=\([^ ]*\).*$,\1,p' $lang`
if test "x$lang_alias" = x if test "x$lang_alias" = x
then then
@ -3369,26 +3365,40 @@ changequote(,)dnl
esac esac
changequote([,])dnl changequote([,])dnl
if test -f $srcdir/$subdir/lang.opt; then
lang_opt_files="$lang_opt_files $srcdir/$subdir/lang.opt"
fi
if test -f $srcdir/$subdir/$subdir-tree.def; then
lang_tree_files="$lang_tree_files $srcdir/$subdir/$subdir-tree.def"
fi
language= language=
boot_language= boot_language=
compilers= compilers=
stagestuff= stagestuff=
outputs= outputs=
gtfiles= gtfiles=
subdir_requires=
. ${srcdir}/$subdir/config-lang.in . ${srcdir}/$subdir/config-lang.in
if test "x$language" = x if test "x$language" = x
then then
echo "${srcdir}/$subdir/config-lang.in doesn't set \$language." 1>&2 echo "${srcdir}/$subdir/config-lang.in doesn't set \$language." 1>&2
exit 1 exit 1
fi fi
ok=:
case ",$enable_languages," in
*,$lang_alias,*) ;;
*)
for i in $subdir_requires; do
test -d "$i" && continue
ok=false
break
done
;;
esac
$ok || continue
all_lang_makefrags="$all_lang_makefrags \$(srcdir)/$subdir/Make-lang.in" 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"
fi
if test -f $srcdir/$subdir/$subdir-tree.def; then
lang_tree_files="$lang_tree_files $srcdir/$subdir/$subdir-tree.def"
fi
if test -f ${srcdir}/$subdir/Makefile.in if test -f ${srcdir}/$subdir/Makefile.in
then all_lang_makefiles="$subdir/Makefile" then all_lang_makefiles="$subdir/Makefile"
fi fi
@ -3401,13 +3411,11 @@ changequote([,])dnl
all_stagestuff="$all_stagestuff $stagestuff" all_stagestuff="$all_stagestuff $stagestuff"
all_outputs="$all_outputs $outputs" all_outputs="$all_outputs $outputs"
all_gtfiles="$all_gtfiles $gtfiles" all_gtfiles="$all_gtfiles $gtfiles"
for f in $gtfiles for f in $gtfiles
do do
all_gtfiles_files_langs="$all_gtfiles_files_langs ${subdir} " all_gtfiles_files_langs="$all_gtfiles_files_langs ${subdir} "
all_gtfiles_files_files="$all_gtfiles_files_files ${f} " all_gtfiles_files_files="$all_gtfiles_files_files ${f} "
done done
;;
esac
done done
# Pick up gtfiles for c # Pick up gtfiles for c

View File

@ -673,6 +673,11 @@ other than C that this front end requires to be enabled (with the
names given being their @code{language} settings). For example, the names given being their @code{language} settings). For example, the
Java front end depends on the C++ front end, so sets Java front end depends on the C++ front end, so sets
@samp{lang_requires=c++}. @samp{lang_requires=c++}.
@item subdir_requires
If defined, this variable lists (space-separated) front end directories
other than C that this front end requires to be present. For example,
the Objective-C++ front end uses source files from the C++ and
Objective-C front ends, so sets @samp{subdir_requires="cp objc"}.
@item target_libs @item target_libs
If defined, this variable lists (space-separated) targets in the top If defined, this variable lists (space-separated) targets in the top
level @file{Makefile} to build the runtime libraries for this level @file{Makefile} to build the runtime libraries for this

View File

@ -1,3 +1,8 @@
2006-07-03 Paolo Bonzini <bonzini@gnu.org>
PR other/27063
* config-lang.in: Add subdir_requires.
2006-06-30 Jason Merrill <jason@redhat.com> 2006-06-30 Jason Merrill <jason@redhat.com>
* objcp-decl.c (objcp_start_struct): Pass null attributes argument * objcp-decl.c (objcp_start_struct): Pass null attributes argument

View File

@ -39,5 +39,6 @@ build_by_default="no"
# the object files we need, along with the libraries (libstdc++, # the object files we need, along with the libraries (libstdc++,
# libobjc). # libobjc).
lang_requires="objc c++" lang_requires="objc c++"
subdir_requires="objc cp"
gtfiles="\$(srcdir)/objcp/objcp-decl.c \$(srcdir)/objc/objc-act.c \$(srcdir)/objc/objc-act.h \$(srcdir)/cp/rtti.c \$(srcdir)/cp/mangle.c \$(srcdir)/cp/name-lookup.h \$(srcdir)/cp/name-lookup.c \$(srcdir)/cp/cp-tree.h \$(srcdir)/cp/decl.h \$(srcdir)/cp/call.c \$(srcdir)/cp/decl.c \$(srcdir)/cp/decl2.c \$(srcdir)/cp/pt.c \$(srcdir)/cp/repo.c \$(srcdir)/cp/semantics.c \$(srcdir)/cp/tree.c \$(srcdir)/cp/parser.c \$(srcdir)/cp/method.c \$(srcdir)/cp/typeck2.c \$(srcdir)/c-common.c \$(srcdir)/c-common.h \$(srcdir)/c-lex.c \$(srcdir)/c-pragma.c \$(srcdir)/cp/cp-objcp-common.c" gtfiles="\$(srcdir)/objcp/objcp-decl.c \$(srcdir)/objc/objc-act.c \$(srcdir)/objc/objc-act.h \$(srcdir)/cp/rtti.c \$(srcdir)/cp/mangle.c \$(srcdir)/cp/name-lookup.h \$(srcdir)/cp/name-lookup.c \$(srcdir)/cp/cp-tree.h \$(srcdir)/cp/decl.h \$(srcdir)/cp/call.c \$(srcdir)/cp/decl.c \$(srcdir)/cp/decl2.c \$(srcdir)/cp/pt.c \$(srcdir)/cp/repo.c \$(srcdir)/cp/semantics.c \$(srcdir)/cp/tree.c \$(srcdir)/cp/parser.c \$(srcdir)/cp/method.c \$(srcdir)/cp/typeck2.c \$(srcdir)/c-common.c \$(srcdir)/c-common.h \$(srcdir)/c-lex.c \$(srcdir)/c-pragma.c \$(srcdir)/cp/cp-objcp-common.c"