From: Kelley Cook Date: Thu, 15 Jan 2004 04:02:24 +0000 (+0000) Subject: re PR bootstrap/12744 (A GCC release tarball can no longer be built without bison... X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=03787dfd815361040684ba2b4dab504968730201;p=platform%2Fupstream%2Fgcc.git re PR bootstrap/12744 (A GCC release tarball can no longer be built without bison/flex) gcc/ 2004-01-15 Kelley Cook PR bootstrap/12744 * configure.in: Revamp enable-generated-files-in-srcdir rule to define GENINSRC and not parsedir. Define srcextra as a langhook. * configure: Regenerate. * Makefile.in: Suppress default .l.c rule. Don't substitute parsedir and delete all references throughout. Conditionally define rule for srcextra dependent on GENINSRC. (stmp-docobjdir): Delete. (c-parse.o, gengtype-lex.o, gengtype-yacc.o): Use implicit build rule. (srcextra): Copy c-parse.y, c-parse.c, gengtype-lex.c, gengtype-yacc.c, and gengtype-yacc.h back to source directory. (maintainer-clean): Delete all parse files in source directory. (distclean): Delete generated files. * objc/Make-lang.in (objc-parse.o): Use implicit build rule. (objc-parse.c, objc-parse.y): Don't use parsedir. (objc.srcextra): Copy objc-parse.y and objc-parse.c back to source directory if requested. (po-generated): Don't use parsedir. (objc.maintainer-clean): Delete above files from source directory. gcc/ada/ 2004-01-15 Kelley Cook * Make-lang.in (ada.srcextra): Dummy entry. gcc/cp/ 2004-01-15 Kelley Cook * Make-lang.in (c++.srcextra): Dummy entry. gcc/f/ 2004-01-15 Kelley Cook * Make-lang.in (f77.srcextra): Dummy entry. gcc/java/ 2004-01-15 Kelley Cook * Make-lang.in (parse.c, parse-scan.c): Always build in doc directory. (java.srcextra): Copy above back to source directory if requested. (po-generated): Delete reference to $(parsedir). (java/parse.o, java/parse-scan.o): Delete reference to $(parsedir). Use implicit rule. gcc/treelang/ 2004-01-15 Kelley Cook * Make-lang.in (TREE_GENERATED): Delete reference to $(parsedir). (treelang/parse.o, treelang/lex.o): Look for sources in build directory. Use implicit rule. (treelang/parse.c, treelang/parse.h treelang/lex.c): Always build in doc directory. (treelang.srcextra): Copy above back to source directory if requested. From-SVN: r75903 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index be22f62..dc04759 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,26 @@ +2004-01-15 Kelley Cook + + PR bootstrap/12744 + * configure.in: Revamp enable-generated-files-in-srcdir rule to define + GENINSRC and not parsedir. Define srcextra as a langhook. + * configure: Regenerate. + * Makefile.in: Suppress default .l.c rule. Don't substitute + parsedir and delete all references throughout. Conditionally define + rule for srcextra dependent on GENINSRC. + (stmp-docobjdir): Delete. + (c-parse.o, gengtype-lex.o, gengtype-yacc.o): Use implicit build rule. + (srcextra): Copy c-parse.y, c-parse.c, gengtype-lex.c, gengtype-yacc.c, + and gengtype-yacc.h back to source directory. + (maintainer-clean): Delete all parse files in source directory. + (distclean): Delete generated files. + + * objc/Make-lang.in (objc-parse.o): Use implicit build rule. + (objc-parse.c, objc-parse.y): Don't use parsedir. + (objc.srcextra): Copy objc-parse.y and objc-parse.c back to source + directory if requested. + (po-generated): Don't use parsedir. + (objc.maintainer-clean): Delete above files from source directory. + 2004-01-14 Kazu Hirata * doc/tm.texi (FUNCTION_VALUE): Fix a typo. diff --git a/gcc/Makefile.in b/gcc/Makefile.in index 4d81b6d..d90e441 100644 --- a/gcc/Makefile.in +++ b/gcc/Makefile.in @@ -41,8 +41,9 @@ force: # to recursive makes. MAKEOVERRIDES = -# Suppress smart makes who think they know how to automake Yacc files +# Suppress smart makes who think they know how to automake yacc and flex file .y.c: +.l.c: # The only suffixes we want for implicit rules are .c and .o, so clear # the list and add them. This speeds up GNU Make, and allows -r to work. @@ -70,11 +71,6 @@ program_transform_name = @program_transform_name@ # Directory where sources are, from where we are. srcdir = @srcdir@ - -# These directories contain files that are provided as part of a FSF tarball, -# but not provided in CVS. Unless --enable-generated-files-in-srcdir is -# specified these files will be put in the object directory. -parsedir = @parsedir@ docobjdir = @docobjdir@ docdir = $(srcdir)/doc @@ -1058,7 +1054,7 @@ all.cross: native gcc-cross cpp$(exeext) specs \ $(LIBGCC) $(EXTRA_PARTS) lang.all.cross doc # This is what must be made before installing GCC and converting libraries. start.encap: native xgcc$(exeext) cpp$(exeext) specs \ - xlimits.h lang.start.encap + xlimits.h lang.start.encap @GENINSRC@ srcextra lang.srcextra # These can't be made until after GCC can run. rest.encap: $(STMP_FIXPROTO) $(LIBGCC) $(EXTRA_PARTS) lang.rest.encap # This is what is made with the host's compiler @@ -1270,28 +1266,21 @@ s-crt0: $(CRT0_S) $(MCRT0_S) $(GCC_PASSES) $(CONFIG_H) c-errors.o: c-errors.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(TREE_H) \ $(C_TREE_H) flags.h $(DIAGNOSTIC_H) $(TM_P_H) -c-parse.o : $(parsedir)/c-parse.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(TREE_H) \ +c-parse.o : c-parse.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(TREE_H) \ $(GGC_H) intl.h $(C_TREE_H) input.h flags.h toplev.h output.h $(CPPLIB_H) \ varray.h gt-c-parse.h - $(CC) $(ALL_CFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \ - -c $(parsedir)/c-parse.c $(OUTPUT_OPTION) -$(parsedir)/c-parse.c: $(parsedir)/c-parse.y - cd $(parsedir) && \ - if $(BISON) $(BISONFLAGS) -o c-p$$$$.c c-parse.y; then \ - test -f c-p$$$$.output && mv -f c-p$$$$.output c-parse.output ; \ - mv -f c-p$$$$.c c-parse.c ; \ - else \ - rm -f c-p$$$$.* ; \ - false ; \ - fi +srcextra: c-parse.y c-parse.c gengtype-lex.c gengtype-yacc.c gengtype-yacc.h + -cp -p $^ $(srcdir) + +c-parse.c: c-parse.y + -$(BISON) $(BISONFLAGS) -o $@ $< -$(parsedir)/c-parse.y: c-parse.in +c-parse.y: c-parse.in echo '/*WARNING: This file is automatically generated!*/' >tmp-c-parse.y sed -e "/^@@ifobjc.*/,/^@@end_ifobjc.*/d" \ - -e "/^@@ifc.*/d" -e "/^@@end_ifc.*/d" \ - $(srcdir)/c-parse.in >>tmp-c-parse.y - $(SHELL) $(srcdir)/move-if-change tmp-c-parse.y $(parsedir)/c-parse.y + -e "/^@@ifc.*/d" -e "/^@@end_ifc.*/d" $< >>tmp-c-parse.y + $(SHELL) $(srcdir)/move-if-change tmp-c-parse.y $@ c-incpath.o: c-incpath.c c-incpath.h $(CONFIG_H) $(SYSTEM_H) $(CPPLIB_H) \ intl.h prefix.h coretypes.h $(TM_H) cppdefault.h @@ -2237,32 +2226,21 @@ gengtype$(build_exeext) : gengtype.o gengtype-lex.o gengtype-yacc.o \ gengtype.o : gengtype.c gengtype.h $(BCONFIG_H) $(SYSTEM_H) coretypes.h $(GTM_H) \ real.h $(RTL_BASE_H) gtyp-gen.h -gengtype-lex.o : $(parsedir)/gengtype-lex.c gengtype.h $(parsedir)/gengtype-yacc.c \ +gengtype-lex.o : gengtype-lex.c gengtype.h gengtype-yacc.h \ $(BCONFIG_H) coretypes.h $(GTM_H) $(SYSTEM_H) $(CC_FOR_BUILD) -c $(BUILD_CFLAGS) $(BUILD_CPPFLAGS) $(INCLUDES) \ - $(parsedir)/gengtype-lex.c $(OUTPUT_OPTION) + $< $(OUTPUT_OPTION) -gengtype-yacc.o : $(parsedir)/gengtype-yacc.c gengtype.h $(BCONFIG_H) $(SYSTEM_H) \ +gengtype-yacc.o : gengtype-yacc.c gengtype.h $(BCONFIG_H) $(SYSTEM_H) \ coretypes.h $(GTM_H) $(CC_FOR_BUILD) -c $(BUILD_CFLAGS) $(BUILD_CPPFLAGS) $(INCLUDES) \ - $(parsedir)/gengtype-yacc.c $(OUTPUT_OPTION) + $< $(OUTPUT_OPTION) -$(parsedir)/gengtype-lex.c : $(srcdir)/gengtype-lex.l - if $(FLEX) $(FLEXFLAGS) -og-$$$$ $(srcdir)/gengtype-lex.l; then \ - mv -f g-$$$$ $(parsedir)/gengtype-lex.c ; \ - else \ - rm -f g-$$$$ ; \ - false ; \ - fi +gengtype-lex.c : gengtype-lex.l + -$(FLEX) $(FLEXFLAGS) -o$@ $< -$(parsedir)/gengtype-yacc.c: $(srcdir)/gengtype-yacc.y - if $(BISON) $(BISONFLAGS) -d -o g-yacc.$$$$.c $(srcdir)/gengtype-yacc.y; then \ - mv -f g-yacc.$$$$.h $(parsedir)/gengtype-yacc.h; \ - mv -f g-yacc.$$$$.c $(parsedir)/gengtype-yacc.c; \ - else \ - rm -f g-yacc.$$$$.*; \ - false; \ - fi +gengtype-yacc.c gengtype-yacc.h: gengtype-yacc.y + -$(BISON) $(BISONFLAGS) -d -o gengtype-yacc.c $< genconditions$(build_exeext) : genconditions.o $(BUILD_EARLY_SUPPORT) \ $(BUILD_RTL) $(BUILD_ERRORS) $(BUILD_LIBDEPS) @@ -2327,7 +2305,7 @@ intl.o: intl.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) intl.h Makefile # Make-lang.in should add dependencies of po-generated on any generated # files which need to be scanned by gettext (usually Yacc-generated parsers). -po-generated: $(parsedir)/c-parse.c options.c +po-generated: c-parse.c options.c # # Remake cpp and protoize. @@ -2820,7 +2798,7 @@ distclean: clean lang.distclean -rm -f Makefile *.oaux -rm -f gthr-default.h -rm -f */stage1 */stage2 */stage3 */stage4 */include */stageprofile */stagefeedback - -rm -f c-parse.output + -rm -f c-parse.y c-parse.c c-parse.output TAGS */TAGS -rm -f *.asm -rm -f site.exp site.bak testsuite/site.exp testsuite/site.bak -rm -f testsuite/*.log testsuite/*.sum @@ -2841,7 +2819,7 @@ maintainer-clean: @echo 'This command is intended for maintainers to use; it' @echo 'deletes files that may need special tools to rebuild.' $(MAKE) lang.maintainer-clean distclean - -rm -f c-parse.y c-parse.c c-parse.output TAGS + -rm -f $(srcdir)/c-parse.y $(srcdir)/c-parse.c -rm -f cpp.??s cpp.*aux -rm -f gcc.??s gcc.*aux -rm -f $(docobjdir)/cpp.info* $(docobjdir)/gcc.info* $(docobjdir)/gccint.info* diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog index 2156266..7e7a16a3 100644 --- a/gcc/ada/ChangeLog +++ b/gcc/ada/ChangeLog @@ -1,3 +1,7 @@ +2004-01-15 Kelley Cook + + * Make-lang.in (ada.srcextra): Dummy entry. + 2004-01-14 Kelley Cook * Make-lang.in: Only regenerate texi files if --enable-maintainer-mode. diff --git a/gcc/ada/Make-lang.in b/gcc/ada/Make-lang.in index 4d9cf7a..626085f 100644 --- a/gcc/ada/Make-lang.in +++ b/gcc/ada/Make-lang.in @@ -432,6 +432,7 @@ ada.all.cross: ada.start.encap: ada.rest.encap: +ada.srcextra: ada.tags: force cd $(srcdir)/ada; etags -o TAGS.sub *.c *.h *.ads *.adb; \ diff --git a/gcc/configure b/gcc/configure index 543c7c3..34bf28a 100755 --- a/gcc/configure +++ b/gcc/configure @@ -308,7 +308,7 @@ ac_includes_default="\ # include #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 build_subdir host_subdir target_subdir CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT NO_MINUS_C_MINUS_O OUTPUT_OPTION CPP GNATBIND ac_ct_GNATBIND strict1_warn warn_cflags WERROR nocommon_flag EGREP valgrind_path valgrind_path_defines valgrind_command coverage_flags enable_multilib enable_shared TARGET_SYSTEM_ROOT TARGET_SYSTEM_ROOT_DEFINE CROSS_SYSTEM_HEADER_DIR onestep SET_MAKE AWK LN LN_S RANLIB ac_ct_RANLIB INSTALL INSTALL_PROGRAM INSTALL_DATA make_compare_target have_mktemp_command MAKEINFO BUILD_INFO GENERATED_MANPAGES FLEX BISON stage1_cflags COLLECT2_LIBS GNAT_LIBEXC LDEXP_LIB TARGET_GETGROUPS_T LIBICONV LIBICONV_DEP manext objext extra_modes_file FORBUILD PACKAGE VERSION USE_NLS LIBINTL LIBINTL_DEP INCINTL XGETTEXT GMSGFMT POSUB CATALOGS CROSS ALL SYSTEM_HEADER_DIR inhibit_libc BUILD_PREFIX BUILD_PREFIX_1 CC_FOR_BUILD BUILD_CFLAGS STMP_FIXINC STMP_FIXPROTO libgcc_visibility gthread_flags GGC zlibdir zlibinc MAINT gcc_tooldir dollar slibdir objdir subdirs srcdir docobjdir parsedir all_boot_languages all_compilers all_gtfiles all_gtfiles_files_langs all_gtfiles_files_files all_lang_makefrags all_lang_makefiles all_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_headers_list extra_objs extra_parts extra_passes extra_programs float_h_file gcc_config_arguments gcc_gxx_include_dir libstdcxx_incdir gcc_version gcc_version_full gcc_version_trigger host_exeext host_extra_gcc_objs 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 symbolic_link 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 target_noncanonical c_target_objs cxx_target_objs target_cpu_default 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 build_subdir host_subdir target_subdir GENINSRC CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT NO_MINUS_C_MINUS_O OUTPUT_OPTION CPP GNATBIND ac_ct_GNATBIND strict1_warn warn_cflags WERROR nocommon_flag EGREP valgrind_path valgrind_path_defines valgrind_command coverage_flags enable_multilib enable_shared TARGET_SYSTEM_ROOT TARGET_SYSTEM_ROOT_DEFINE CROSS_SYSTEM_HEADER_DIR onestep SET_MAKE AWK LN LN_S RANLIB ac_ct_RANLIB INSTALL INSTALL_PROGRAM INSTALL_DATA make_compare_target have_mktemp_command MAKEINFO BUILD_INFO GENERATED_MANPAGES FLEX BISON stage1_cflags COLLECT2_LIBS GNAT_LIBEXC LDEXP_LIB TARGET_GETGROUPS_T LIBICONV LIBICONV_DEP manext objext extra_modes_file FORBUILD PACKAGE VERSION USE_NLS LIBINTL LIBINTL_DEP INCINTL XGETTEXT GMSGFMT POSUB CATALOGS CROSS ALL SYSTEM_HEADER_DIR inhibit_libc BUILD_PREFIX BUILD_PREFIX_1 CC_FOR_BUILD BUILD_CFLAGS STMP_FIXINC STMP_FIXPROTO libgcc_visibility gthread_flags GGC zlibdir zlibinc MAINT gcc_tooldir dollar slibdir objdir subdirs srcdir docobjdir all_boot_languages all_compilers all_gtfiles all_gtfiles_files_langs all_gtfiles_files_files all_lang_makefrags all_lang_makefiles all_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_headers_list extra_objs extra_parts extra_passes extra_programs float_h_file gcc_config_arguments gcc_gxx_include_dir libstdcxx_incdir gcc_version gcc_version_full gcc_version_trigger host_exeext host_extra_gcc_objs 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 symbolic_link 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 target_noncanonical c_target_objs cxx_target_objs target_cpu_default LIBOBJS LTLIBOBJS' ac_subst_files='language_hooks' # Initialize some variables set by options. @@ -849,7 +849,10 @@ if test -n "$ac_init_help"; then Optional Features: --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no) --enable-FEATURE[=ARG] include FEATURE [ARG=yes] - --enable-generated-files-in-srcdir Put generated files in source dir + --enable-generated-files-in-srcdir + put copies of generated files in source dir + intended for creating source tarballs for users + without texinfo bison or flex. --enable-werror enable -Werror in bootstrap stage2 and later --enable-checking=LIST enable expensive run-time checks. With LIST, @@ -1613,17 +1616,28 @@ fi; # sources. Therefore we have --enable-generated-files-in-srcdir to do # just that. -# Check whether --enable-generated-files-in-srcdir or --disable-generated-files-in-srcdir was given. +echo "$as_me:$LINENO: checking whether to place generated files in the source directory" >&5 +echo $ECHO_N "checking whether to place generated files in the source directory... $ECHO_C" >&6 + # Check whether --enable-generated-files-in-srcdir or --disable-generated-files-in-srcdir was given. if test "${enable_generated_files_in_srcdir+set}" = set; then enableval="$enable_generated_files_in_srcdir" - case ${enableval} in - no) parsedir='$(objdir)'; docobjdir='$(objdir)/doc';; - *) parsedir='$(srcdir)'; docobjdir='$(srcdir)/doc';; -esac + generated_files_in_srcdir=$enableval else - parsedir='$(objdir)'; docobjdir='$(objdir)/doc'; + generated_files_in_srcdir=no fi; +echo "$as_me:$LINENO: result: $generated_files_in_srcdir" >&5 +echo "${ECHO_T}$generated_files_in_srcdir" >&6 + +if test "$generated_files_in_srcdir" = "yes"; then + GENINSRC='' + docobjdir='$(srcdir)/doc' +else + GENINSRC='#' + docobjdir='$(objdir)/doc' +fi + + # ------------------- # Find default linker # ------------------- @@ -4985,7 +4999,7 @@ if test "${gcc_cv_prog_makeinfo_modern+set}" = set; then else ac_prog_version=`$MAKEINFO --version 2>&1 | sed -n 's/^.*GNU texinfo.* \([0-9][0-9.]*\).*$/\1/p'` - echo "configure:4988: version of makeinfo is $ac_prog_version" >&5 + echo "configure:5002: version of makeinfo is $ac_prog_version" >&5 case $ac_prog_version in '') gcc_cv_prog_makeinfo_modern=no;; 4.[2-9]*) @@ -11435,7 +11449,7 @@ rm -f Make-hooks touch Make-hooks target_list="all.build all.cross start.encap rest.encap tags \ install-normal install-common install-man \ - uninstall \ + uninstall srcextra \ mostlyclean clean distclean maintainer-clean \ stage1 stage2 stage3 stage4 stageprofile stagefeedback" for t in $target_list @@ -11598,7 +11612,6 @@ objdir=`${PWDCMD-pwd}` - # Echo link setup. if test x${build} = x${host} ; then if test x${host} = x${target} ; then @@ -12265,6 +12278,7 @@ s,@target_os@,$target_os,;t t s,@build_subdir@,$build_subdir,;t t s,@host_subdir@,$host_subdir,;t t s,@target_subdir@,$target_subdir,;t t +s,@GENINSRC@,$GENINSRC,;t t s,@CC@,$CC,;t t s,@CFLAGS@,$CFLAGS,;t t s,@LDFLAGS@,$LDFLAGS,;t t @@ -12352,7 +12366,6 @@ s,@objdir@,$objdir,;t t s,@subdirs@,$subdirs,;t t s,@srcdir@,$srcdir,;t t s,@docobjdir@,$docobjdir,;t t -s,@parsedir@,$parsedir,;t t s,@all_boot_languages@,$all_boot_languages,;t t s,@all_compilers@,$all_compilers,;t t s,@all_gtfiles@,$all_gtfiles,;t t diff --git a/gcc/configure.ac b/gcc/configure.ac index 64980f3..cf26ee2 100644 --- a/gcc/configure.ac +++ b/gcc/configure.ac @@ -157,13 +157,26 @@ fi]) # sources. Therefore we have --enable-generated-files-in-srcdir to do # just that. -AC_ARG_ENABLE(generated-files-in-srcdir, -[ --enable-generated-files-in-srcdir Put generated files in source dir], -[case ${enableval} in - no) parsedir='$(objdir)'; docobjdir='$(objdir)/doc';; - *) parsedir='$(srcdir)'; docobjdir='$(srcdir)/doc';; -esac], -[parsedir='$(objdir)'; docobjdir='$(objdir)/doc';]) +AC_MSG_CHECKING([whether to place generated files in the source directory]) + dnl generated-files-in-srcdir is disabled by default + AC_ARG_ENABLE(generated-files-in-srcdir, +[ --enable-generated-files-in-srcdir + put copies of generated files in source dir + intended for creating source tarballs for users + without texinfo bison or flex.], + generated_files_in_srcdir=$enableval, + generated_files_in_srcdir=no) + +AC_MSG_RESULT($generated_files_in_srcdir) + +if test "$generated_files_in_srcdir" = "yes"; then + GENINSRC='' + docobjdir='$(srcdir)/doc' +else + GENINSRC='#' + docobjdir='$(objdir)/doc' +fi +AC_SUBST(GENINSRC) # ------------------- # Find default linker @@ -2845,7 +2858,7 @@ rm -f Make-hooks touch Make-hooks target_list="all.build all.cross start.encap rest.encap tags \ install-normal install-common install-man \ - uninstall \ + uninstall srcextra \ mostlyclean clean distclean maintainer-clean \ stage1 stage2 stage3 stage4 stageprofile stagefeedback" for t in $target_list @@ -2939,7 +2952,6 @@ AC_SUBST(objdir) AC_SUBST(subdirs) AC_SUBST(srcdir) AC_SUBST(docobjdir) -AC_SUBST(parsedir) AC_SUBST(all_boot_languages) AC_SUBST(all_compilers) AC_SUBST(all_gtfiles) diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index 97f60f2..1a5792e 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,3 +1,7 @@ +2004-01-15 Kelley Cook + + * Make-lang.in (c++.srcextra): Dummy entry. + 2004-01-15 Giovanni Bajo PR c++/8856 diff --git a/gcc/cp/Make-lang.in b/gcc/cp/Make-lang.in index 5c8bffc..771496b 100644 --- a/gcc/cp/Make-lang.in +++ b/gcc/cp/Make-lang.in @@ -108,6 +108,7 @@ c++.all.build: g++$(exeext) c++.all.cross: g++-cross$(exeext) c++.start.encap: g++$(exeext) c++.rest.encap: +c++.srcextra: c++.tags: force cd $(srcdir)/cp; etags -o TAGS.sub *.c *.h --language=none \ diff --git a/gcc/f/ChangeLog b/gcc/f/ChangeLog index a741313..f36ad62 100644 --- a/gcc/f/ChangeLog +++ b/gcc/f/ChangeLog @@ -1,3 +1,7 @@ +2004-01-15 Kelley Cook + + * Make-lang.in (f77.srcextra): Dummy entry. + 2004-01-13 Ian Lance Taylor PR fortran/6491 diff --git a/gcc/f/Make-lang.in b/gcc/f/Make-lang.in index b54b83c..8b8de1b 100644 --- a/gcc/f/Make-lang.in +++ b/gcc/f/Make-lang.in @@ -141,6 +141,7 @@ f77.all.build: g77$(exeext) f77.all.cross: g77-cross$(exeext) f77.start.encap: g77$(exeext) f77.rest.encap: +f77.srcextra: f77.tags: force cd $(srcdir)/f; etags -o TAGS.sub *.c *.h; \ diff --git a/gcc/java/ChangeLog b/gcc/java/ChangeLog index fd6e321..213f50e 100644 --- a/gcc/java/ChangeLog +++ b/gcc/java/ChangeLog @@ -1,3 +1,11 @@ +2004-01-15 Kelley Cook + + * Make-lang.in (parse.c, parse-scan.c): Always build in doc directory. + (java.srcextra): Copy above back to source directory if requested. + (po-generated): Delete reference to $(parsedir). + (java/parse.o, java/parse-scan.o): Delete reference to $(parsedir). + Use implicit rule. + 2004-01-14 Jan Hubicka * lang.c (java_estimate_num_insns_1): Fix bug in MODIFY_EXPR cost diff --git a/gcc/java/Make-lang.in b/gcc/java/Make-lang.in index fc6adf9..23912e8 100644 --- a/gcc/java/Make-lang.in +++ b/gcc/java/Make-lang.in @@ -76,16 +76,16 @@ $(GCJ)-cross$(exeext): $(GCJ)$(exeext) -rm -f $(GCJ)-cross$(exeext) cp $(GCJ)$(exeext) $(GCJ)-cross$(exeext) -po-generated: $(parsedir)/java/parse.c $(parsedir)/java/parse-scan.c +po-generated: java/parse.c java/parse-scan.c -$(parsedir)/java/parse.c: $(srcdir)/java/parse.y - $(BISON) -t --name-prefix=java_ $(BISONFLAGS) \ - -o p$$$$.c $(srcdir)/java/parse.y && \ - mv -f p$$$$.c $(parsedir)/java/parse.c +java.srcextra: java/parse.c java/parse-scan.c + -cp -p $^ $(srcdir)/java -$(parsedir)/java/parse-scan.c: $(srcdir)/java/parse-scan.y - $(BISON) -t $(BISONFLAGS) -o ps$$$$.c $(srcdir)/java/parse-scan.y && \ - mv -f ps$$$$.c $(parsedir)/java/parse-scan.c +java/parse.c: java/parse.y + -$(BISON) -t --name-prefix=java_ $(BISONFLAGS) -o $@ $< + +java/parse-scan.c: java/parse-scan.y + -$(BISON) -t $(BISONFLAGS) -o $@ $< $(srcdir)/java/keyword.h: $(srcdir)/java/keyword.gperf (cd $(srcdir)/java || exit 1; \ @@ -228,15 +228,15 @@ install-info:: $(DESTDIR)$(infodir)/gcj.info # We just have to delete files specific to us. java.mostlyclean: + -rm -f java/parse.c java/parse-scan.c -rm -f java/*$(objext) $(DEMANGLER_PROG) -rm -f java/*$(coverageexts) -rm -f jc1$(exeext) $(GCJ)$(exeext) jvgenmain$(exeext) gcjh$(exeext) jv-scan$(exeext) jcf-dump$(exeext) s-java java.clean: java.distclean: -rm -f java/config.status java/Makefile - -rm -f java/parse.output + -rm -f java/parse.output java/y.tab.c java.maintainer-clean: - -rm -f $(parsedir)/java/parse.c $(parsedir)/java/parse-scan.c java/parse.output java/y.tab.c -rm -f $(docobjdir)/gcj.1 $(docobjdir)/gcjh.1 -rm -f $(docobjdir)/jv-scan.1 $(docobjdir)/jcf-dump.1 -rm -f $(docobjdir)/gij.1 @@ -325,18 +325,11 @@ java/xref.o: java/xref.c java/xref.h $(CONFIG_H) $(JAVA_TREE_H) toplev.h \ $(SYSTEM_H) coretypes.h $(TM_H) java/zextract.o: java/zextract.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \ java/zipfile.h - -# parse-scan.o and parse.o compiled from $(parsedir)/java -java/parse-scan.o: $(parsedir)/java/parse-scan.c $(CONFIG_H) $(SYSTEM_H) \ +java/parse-scan.o: java/parse-scan.c $(CONFIG_H) $(SYSTEM_H) \ coretypes.h $(TM_H) toplev.h $(JAVA_LEX_C) java/parse.h java/lex.h input.h - $(CC) -c $(ALL_CFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \ - $(parsedir)/java/parse-scan.c $(OUTPUT_OPTION) - -java/parse.o: $(parsedir)/java/parse.c java/jcf-reader.c $(CONFIG_H) $(SYSTEM_H) \ +java/parse.o: java/parse.c java/jcf-reader.c $(CONFIG_H) $(SYSTEM_H) \ coretypes.h $(TM_H) function.h $(JAVA_TREE_H) $(JAVA_LEX_C) java/parse.h \ java/lex.h input.h $(GGC_H) debug.h gt-java-parse.h gtype-java.h - $(CC) -c $(ALL_CFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \ - $(parsedir)/java/parse.c $(OUTPUT_OPTION) # jcf-io.o needs $(ZLIBINC) added to cflags. java/jcf-io.o: java/jcf-io.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \ diff --git a/gcc/objc/Make-lang.in b/gcc/objc/Make-lang.in index fe92a50..70b9e4d 100644 --- a/gcc/objc/Make-lang.in +++ b/gcc/objc/Make-lang.in @@ -62,11 +62,9 @@ objc/objc-lang.o : objc/objc-lang.c \ $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(TREE_H) c-tree.h \ c-common.h toplev.h objc/objc-act.h langhooks.h $(LANGHOOKS_DEF_H) -objc/objc-parse.o : $(parsedir)/objc/objc-parse.c \ +objc/objc-parse.o : objc/objc-parse.c \ $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(TREE_H) $(C_TREE_H) \ toplev.h $(GGC_H) c-pragma.h input.h flags.h output.h objc/objc-act.h - $(CC) -c $(ALL_CFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \ - $(parsedir)/objc/objc-parse.c $(OUTPUT_OPTION) objc/objc-act.o : objc/objc-act.c \ $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(TREE_H) $(RTL_H) $(TM_P_H) \ @@ -74,23 +72,19 @@ objc/objc-act.o : objc/objc-act.c \ objc/objc-act.h input.h function.h output.h debug.h langhooks.h \ $(LANGHOOKS_DEF_H) gt-objc-objc-act.h gtype-objc.h -po-generated: $(parsedir)/objc/objc-parse.c -$(parsedir)/objc/objc-parse.c : $(parsedir)/objc/objc-parse.y - cd $(parsedir)/objc; \ - if $(BISON) $(BISONFLAGS) -o op$$$$.c objc-parse.y ; then \ - test -f op$$$$.output && mv -f op$$$$.output objc-parse.output ; \ - mv -f op$$$$.c objc-parse.c ; \ - else \ - rm -f op$$$$.* ; \ - false ; \ - fi - -$(parsedir)/objc/objc-parse.y: $(srcdir)/c-parse.in +po-generated: objc/objc-parse.c + +objc.srcextra: objc/objc-parse.c objc/objc-parse.y + -cp -p $^ $(srcdir)/objc + +objc/objc-parse.c : objc/objc-parse.y + -$(BISON) $(BISONFLAGS) -o $@ $< + +objc/objc-parse.y: c-parse.in echo '/*WARNING: This file is automatically generated!*/' >tmp-objc-prs.y sed -e "/^@@ifc.*/,/^@@end_ifc.*/d" \ - -e "/^@@ifobjc.*/d" -e "/^@@end_ifobjc.*/d" \ - $(srcdir)/c-parse.in >>tmp-objc-prs.y - $(SHELL) $(srcdir)/move-if-change tmp-objc-prs.y $(parsedir)/objc/objc-parse.y + -e "/^@@ifobjc.*/d" -e "/^@@end_ifobjc.*/d" < $< >>tmp-objc-prs.y + $(SHELL) $(srcdir)/move-if-change tmp-objc-prs.y $@ gtype-objc.h : s-gtype ; @true gt-objc-objc-act.h : s-gtype ; @true @@ -127,6 +121,7 @@ objc.uninstall: objc.mostlyclean: -rm -f tmp-objc-prs.y -rm -f objc/*$(objext) objc/xforward objc/fflags + -rm -f objc/objc-parse.y objc/objc-parse.c objc/objc-parse.output -rm -f objc/*$(coverageexts) objc.clean: objc.mostlyclean -rm -rf objc-headers @@ -135,8 +130,7 @@ objc.distclean: -rm -f objc/config.status objc/config.cache -rm -f objc-parse.output objc.maintainer-clean: - -rm -f $(parsedir)/objc/objc-parse.y - -rm -f $(parsedir)/objc/objc-parse.c $(parsedir)/objc/objc-parse.output + -rm -f $(srcdir)/objc/objc-parse.y $(srcdir)/objc/objc-parse.c # # Stage hooks: diff --git a/gcc/treelang/ChangeLog b/gcc/treelang/ChangeLog index fa087fa..e4281b0 100644 --- a/gcc/treelang/ChangeLog +++ b/gcc/treelang/ChangeLog @@ -1,3 +1,12 @@ +2004-01-15 Kelley Cook + + * Make-lang.in (TREE_GENERATED): Delete reference to $(parsedir). + (treelang/parse.o, treelang/lex.o): Look for sources in build + directory. Use implicit rule. + (treelang/parse.c, treelang/parse.h treelang/lex.c): Always build in + doc directory. + (treelang.srcextra): Copy above back to source directory if requested. + 2004-01-07 Zack Weinberg * parse.y (yyerror): Mark the definition static. diff --git a/gcc/treelang/Make-lang.in b/gcc/treelang/Make-lang.in index 00816d0..1cb438a 100644 --- a/gcc/treelang/Make-lang.in +++ b/gcc/treelang/Make-lang.in @@ -57,10 +57,7 @@ GCC_EXTRAS = -B./ -B$(build_tooldir)/bin/ -isystem $(build_tooldir)/include # GCC_FOR_TREELANG = ./xgcc $(GCC_EXTRAS) -TREE_GENERATED = $(parsedir)/treelang/lex.c $(parsedir)/treelang/parse.c \ - $(parsedir)/treelang/parse.h $(parsedir)/treelang/parse.output \ - $(parsedir)/treelang/TAGS $(parsedir)/treelang/TAGS.sub - +TREE_GENERATED = lex.c parse.c parse.h parse.output TREE_EXES = tree1 #no -Wtraditional warnings, allow long long @@ -104,33 +101,30 @@ treelang/tree1.o: treelang/tree1.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \ treelang/treetree.o: treelang/treetree.c $(CONFIG_H) $(SYSTEM_H) coretypes.h \ $(TM_H) $(TREE_H) flags.h output.h $(RTL_H) $(GGC_H) toplev.h \ varray.h $(LANGHOOKS_DEF_H) langhooks.h treelang/treelang.h input.h \ - treelang/treetree.h $(parsedir)/treelang/parse.h + treelang/treetree.h treelang/parse.h treelang/tree-convert.o: treelang/tree-convert.c $(CONFIG_H) $(SYSTEM_H) \ coretypes.h diagnostic.h $(TREE_H) flags.h toplev.h langhooks.h $(TM_H) -treelang/parse.o: $(parsedir)/treelang/parse.c $(CONFIG_H) $(SYSTEM_H) \ - coretypes.h $(TM_H) diagnostic.h treelang/treelang.h input.h \ - treelang/treetree.h - $(CC) -c $(ALL_CFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \ - $(parsedir)/treelang/parse.c $(OUTPUT_OPTION) +treelang/parse.o: treelang/parse.c $(CONFIG_H) $(SYSTEM_H) coretypes.h \ + $(TM_H) diagnostic.h treelang/treelang.h input.h treelang/treetree.h -treelang/lex.o: $(parsedir)/treelang/lex.c $(CONFIG_H) $(SYSTEM_H) coretypes.h \ +treelang/lex.o: treelang/lex.c $(CONFIG_H) $(SYSTEM_H) coretypes.h \ $(TM_H) diagnostic.h $(TREE_H) treelang/treelang.h input.h \ - $(parsedir)/treelang/parse.h - $(CC) -c $(ALL_CFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \ - $(parsedir)/treelang/lex.c $(OUTPUT_OPTION) + treelang/parse.h # generated files the files from lex and yacc are put into the source # directory in case someone wants to build but does not have # lex/yacc -$(parsedir)/treelang/lex.c: $(srcdir)/treelang/lex.l - $(LEX) $(LEXFLAGS) -o$(parsedir)/treelang/lex.c $(srcdir)/treelang/lex.l +treelang.srcextra: treelang/parse.c treelang/parse.h treelang/lex.c + -cp -p $^ $(srcdir)/treelang + +treelang/lex.c: treelang/lex.l + -$(FLEX) $(FLEXFLAGS) -o$@ $< -$(parsedir)/treelang/parse.c $(parsedir)/treelang/parse.h: $(srcdir)/treelang/parse.y - $(BISON) $(BISONFLAGS) -v --defines \ - --output=$(parsedir)/treelang/parse.c $(srcdir)/treelang/parse.y +treelang/parse.c treelang/parse.h treelang/parse.output: treelang/parse.y + -$(BISON) $(BISONFLAGS) -v --defines --output=treelang/parse.c $< # -v