From 6cba282a2ceb2086f207124388bc2c38088d759b Mon Sep 17 00:00:00 2001 From: Tom Tromey Date: Thu, 3 Apr 2008 06:12:27 +0000 Subject: [PATCH] t-uclinux (generated_files): Add sysroot-suffix.h. gcc/ 2008-04-03 Tom Tromey Ralf Wildenhues * config/m68k/t-uclinux (generated_files): Add sysroot-suffix.h. * config/bfin/t-bfin-linux (generated_files): Add linux-sysroot-suffix.h. * doc/install.texi (Prerequisites): Require make 3.80. * doc/sourcebuild.texi (Front End Directory): Document new variable. * Makefile.in (generated_files): New variable. (ALL_HOST_OBJS): New variable. ($(ALL_HOST_OBJS)): New target. gcc/java/ 2008-04-03 Tom Tromey * Make-lang.in (java_OBJS): New variable. gcc/objc/ 2008-04-03 Tom Tromey * Make-lang.in (objc_OBJS): New variable. gcc/objcp/ 2008-04-03 Tom Tromey * Make-lang.in (obj-c++_OBJS): New variable. gcc/cp/ 2008-04-03 Tom Tromey * Make-lang.in (c++_OBJS): New variable. gcc/fortran/ 2008-04-03 Tom Tromey * Make-lang.in (fortran_OBJS): New variable. Co-Authored-By: Ralf Wildenhues From-SVN: r133862 --- gcc/ChangeLog | 13 +++++++++++++ gcc/Makefile.in | 19 +++++++++++++++++++ gcc/config/bfin/t-bfin-linux | 2 ++ gcc/config/m68k/t-uclinux | 2 ++ gcc/cp/ChangeLog | 4 ++++ gcc/cp/Make-lang.in | 2 ++ gcc/doc/install.texi | 2 +- gcc/doc/sourcebuild.texi | 3 +++ gcc/fortran/ChangeLog | 4 ++++ gcc/fortran/Make-lang.in | 5 ++++- gcc/java/ChangeLog | 4 ++++ gcc/java/Make-lang.in | 4 +++- gcc/objc/ChangeLog | 4 ++++ gcc/objc/Make-lang.in | 6 ++++-- gcc/objcp/ChangeLog | 4 ++++ gcc/objcp/Make-lang.in | 4 +++- 16 files changed, 76 insertions(+), 6 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 9d27cccb109..e874ac4000c 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,16 @@ +2008-04-03 Tom Tromey + Ralf Wildenhues + + * config/m68k/t-uclinux (generated_files): Add sysroot-suffix.h. + * config/bfin/t-bfin-linux (generated_files): Add + linux-sysroot-suffix.h. + * doc/install.texi (Prerequisites): Require make 3.80. + * doc/sourcebuild.texi (Front End Directory): Document new + variable. + * Makefile.in (generated_files): New variable. + (ALL_HOST_OBJS): New variable. + ($(ALL_HOST_OBJS)): New target. + 2008-04-03 Paolo Bonzini * tree-inline.c (copy_generic_body, copy_decl_no_change): Export. diff --git a/gcc/Makefile.in b/gcc/Makefile.in index c39aa469fb0..eca3497e4ba 100644 --- a/gcc/Makefile.in +++ b/gcc/Makefile.in @@ -1246,6 +1246,15 @@ OBJS = $(OBJS-common) $(OBJS-md) $(OBJS-archive) OBJS-onestep = libbackend.o $(OBJS-archive) +# This lists all host object files, whether they are included in this +# compilation or not. +ALL_HOST_OBJS = $(GCC_OBJS) $(C_OBJS) $(OBJS) libbackend.o \ + @TREEBROWSER@ main.o gccspec.o version.o intl.o prefix.o cppspec.o \ + $(foreach v,$(CONFIG_LANGUAGES),$($(v)_OBJS)) \ + $(COLLECT2_OBJS) $(EXTRA_GCC_OBJS) \ + mips-tfile.o mips-tdump.o \ + $(PROTO_OBJS) $(GCOV_OBJS) $(GCOV_DUMP_OBJS) + BACKEND = main.o @TREEBROWSER@ libbackend.a $(CPPLIB) $(LIBDECNUMBER) MOSTLYCLEANFILES = insn-flags.h insn-config.h insn-codes.h \ @@ -2999,6 +3008,16 @@ $(simple_generated_c:insn-%.c=s-%): s-%: build/gen%$(build_exeext) \ $(SHELL) $(srcdir)/../move-if-change tmp-$*.c insn-$*.c $(STAMP) s-$* +generated_files = config.h tm.h $(TM_P_H) $(TM_H) multilib.h \ + $(simple_generated_h) $(simple_generated_c) specs.h \ + tree-check.h genrtl.h insn-modes.h tm-preds.h tm-constrs.h \ + $(ALL_GTFILES_H) gtype-desc.c gtype-desc.h gcov-iov.h + +# In order for parallel make to really start compiling the expensive +# objects from $(OBJS-common) as early as possible, build all their +# prerequisites strictly before all objects. +$(ALL_HOST_OBJS) : | $(generated_files) + # genconstants needs to run before insn-conditions.md is available # (because the constants may be used in the conditions). insn-constants.h: s-constants; @true diff --git a/gcc/config/bfin/t-bfin-linux b/gcc/config/bfin/t-bfin-linux index f79ccacfbab..849dceed483 100644 --- a/gcc/config/bfin/t-bfin-linux +++ b/gcc/config/bfin/t-bfin-linux @@ -33,3 +33,5 @@ linux-sysroot-suffix.h: $(srcdir)/config/bfin/print-sysroot-suffix.sh $(SHELL) $(srcdir)/config/bfin/print-sysroot-suffix.sh \ "$(SYSTEM_HEADER_DIR)/../.." "$(MULTILIB_MATCHES)" \ "$(MULTILIB_OPTIONS)" > $@ + +generated_files += linux-sysroot-suffix.h diff --git a/gcc/config/m68k/t-uclinux b/gcc/config/m68k/t-uclinux index 3ee359d790f..f8606723303 100644 --- a/gcc/config/m68k/t-uclinux +++ b/gcc/config/m68k/t-uclinux @@ -14,3 +14,5 @@ sysroot-suffix.h: $(srcdir)/config/m68k/print-sysroot-suffix.sh $(SHELL) $(srcdir)/config/m68k/print-sysroot-suffix.sh \ "$(SYSTEM_HEADER_DIR)/../.." "$(MULTILIB_MATCHES)" \ "$(MULTILIB_OPTIONS)" > $@ + +generated_files += sysroot-suffix.h diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index 5b6c4981eb1..c7600ecb0e2 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,3 +1,7 @@ +2008-04-03 Tom Tromey + + * Make-lang.in (c++_OBJS): New variable. + 2008-04-03 Paolo Bonzini * optimize.c (clone_body): New, from tree-inline.c. diff --git a/gcc/cp/Make-lang.in b/gcc/cp/Make-lang.in index 6207ed13dd6..e1447b02e1e 100644 --- a/gcc/cp/Make-lang.in +++ b/gcc/cp/Make-lang.in @@ -86,6 +86,8 @@ CXX_AND_OBJCXX_OBJS = cp/call.o cp/decl.o cp/expr.o cp/pt.o cp/typeck2.o \ # Language-specific object files for C++. CXX_OBJS = cp/cp-lang.o stub-objc.o $(CXX_AND_OBJCXX_OBJS) +c++_OBJS = $(CXX_OBJS) dummy-checksum.o cc1plus-checksum.o cp/g++spec.o + # Use strict warnings for this front end. cp-warn = $(STRICT_WARN) $(CXX_COMPAT_WARN) diff --git a/gcc/doc/install.texi b/gcc/doc/install.texi index 45d982c52eb..027b1692bd9 100644 --- a/gcc/doc/install.texi +++ b/gcc/doc/install.texi @@ -285,7 +285,7 @@ requirements. Necessary to uncompress GCC @command{tar} files when source code is obtained via FTP mirror sites. -@item GNU make version 3.79.1 (or later) +@item GNU make version 3.80 (or later) You must have GNU make installed to build GCC@. diff --git a/gcc/doc/sourcebuild.texi b/gcc/doc/sourcebuild.texi index 7db367453fd..896190cd536 100644 --- a/gcc/doc/sourcebuild.texi +++ b/gcc/doc/sourcebuild.texi @@ -643,6 +643,9 @@ all generated files in the source directory that are not checked into CVS, but should not delete anything checked into CVS@. @end table +@file{Make-lang.in} must also define a variable @code{@var{lang}_OBJS} +to a list of host object files that are used by that language. + @item lang.opt This file registers the set of switches that the front end accepts on the command line, and their @option{--help} text. @xref{Options}. diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog index bc622efc956..5a6971fa5bb 100644 --- a/gcc/fortran/ChangeLog +++ b/gcc/fortran/ChangeLog @@ -1,3 +1,7 @@ +2008-04-03 Tom Tromey + + * Make-lang.in (fortran_OBJS): New variable. + 2008-04-03 Paolo Bonzini * f95-lang.c (insert_block): Kill. diff --git a/gcc/fortran/Make-lang.in b/gcc/fortran/Make-lang.in index 378e394bbf9..bc9947b3942 100644 --- a/gcc/fortran/Make-lang.in +++ b/gcc/fortran/Make-lang.in @@ -1,6 +1,7 @@ # -*- makefile -*- # Top level makefile fragment for GNU gfortran, the GNU Fortran 95 compiler. -# Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007 Free Software Foundation, Inc. +# Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software +# Foundation, Inc. # Contributed by Paul Brook @@ -67,6 +68,8 @@ F95_OBJS = $(F95_PARSER_OBJS) \ fortran/trans-intrinsic.o fortran/trans-io.o fortran/trans-openmp.o \ fortran/trans-stmt.o fortran/trans-types.o +fortran_OBJS = $(F95_OBJS) gfortranspec.o + # # Define the names for selecting gfortran in LANGUAGES. fortran: f951$(exeext) diff --git a/gcc/java/ChangeLog b/gcc/java/ChangeLog index ee1790b841a..b77812d291f 100644 --- a/gcc/java/ChangeLog +++ b/gcc/java/ChangeLog @@ -1,3 +1,7 @@ +2008-04-03 Tom Tromey + + * Make-lang.in (java_OBJS): New variable. + 2008-04-03 Paolo Bonzini * java-tree.h (insert_block): Kill. diff --git a/gcc/java/Make-lang.in b/gcc/java/Make-lang.in index 8c6ce3e204f..e96ca14d868 100644 --- a/gcc/java/Make-lang.in +++ b/gcc/java/Make-lang.in @@ -1,7 +1,7 @@ # Top level -*- makefile -*- fragment for the GNU compiler for the Java(TM) # language. # Copyright (C) 1996, 1998, 1999, 2000, 2001, 2002, 2003, 2004, -# 2005, 2006, 2007 Free Software Foundation, Inc. +# 2005, 2006, 2007, 2008 Free Software Foundation, Inc. #This file is part of GCC. @@ -90,6 +90,8 @@ JCFDUMP_OBJS = java/jcf-dump.o java/jcf-io.o java/jcf-depend.o java/jcf-path.o \ JVGENMAIN_OBJS = java/jvgenmain.o java/mangle_name.o errors.o intl.o +java_OBJS = $(sort $(JAVA_OBJS) $(JCFDUMP_OBJS) $(JVGENMAIN_OBJS)) jvspec.o + # Use strict warnings for this front end. java-warn = $(STRICT_WARN) diff --git a/gcc/objc/ChangeLog b/gcc/objc/ChangeLog index 25780c63851..6c32bb2211c 100644 --- a/gcc/objc/ChangeLog +++ b/gcc/objc/ChangeLog @@ -1,3 +1,7 @@ +2008-04-03 Tom Tromey + + * Make-lang.in (objc_OBJS): New variable. + 2008-03-27 Tom Tromey * Make-lang.in: Revert automatic dependency patch. diff --git a/gcc/objc/Make-lang.in b/gcc/objc/Make-lang.in index af68816c58e..93a0042a860 100644 --- a/gcc/objc/Make-lang.in +++ b/gcc/objc/Make-lang.in @@ -1,6 +1,6 @@ # Top level -*- makefile -*- fragment for GNU Objective-C -# Copyright (C) 1997, 1998, 2000, 2001, 2002, 2003, 2004, 2005, 2007 -# Free Software Foundation, Inc. +# Copyright (C) 1997, 1998, 2000, 2001, 2002, 2003, 2004, 2005, 2007, +# 2008 Free Software Foundation, Inc. #This file is part of GCC. @@ -49,6 +49,8 @@ objc-warn = $(STRICT_WARN) # Language-specific object files for Objective C. OBJC_OBJS = objc/objc-lang.o objc/objc-act.o +objc_OBJS = $(OBJC_OBJS) cc1obj-checksum.o + cc1obj-dummy$(exeext): $(OBJC_OBJS) $(C_AND_OBJC_OBJS) dummy-checksum.o $(BACKEND) $(LIBDEPS) $(CC) $(ALL_CFLAGS) $(LDFLAGS) -o $@ \ $(OBJC_OBJS) $(C_AND_OBJC_OBJS) dummy-checksum.o \ diff --git a/gcc/objcp/ChangeLog b/gcc/objcp/ChangeLog index 4a5cb75d623..5a7f73e58d0 100644 --- a/gcc/objcp/ChangeLog +++ b/gcc/objcp/ChangeLog @@ -1,3 +1,7 @@ +2008-04-03 Tom Tromey + + * Make-lang.in (obj-c++_OBJS): New variable. + 2008-03-27 Tom Tromey * Make-lang.in: Revert automatic dependency patch. diff --git a/gcc/objcp/Make-lang.in b/gcc/objcp/Make-lang.in index 97b79c2732c..695df4d2f61 100644 --- a/gcc/objcp/Make-lang.in +++ b/gcc/objcp/Make-lang.in @@ -1,5 +1,5 @@ # Top level -*- makefile -*- fragment for GNU Objective-C++ -# Copyright (C) 2005, 2007 Free Software Foundation, Inc. +# Copyright (C) 2005, 2007, 2008 Free Software Foundation, Inc. # Contributed by Ziemowit Laski #This file is part of GCC. @@ -51,6 +51,8 @@ objcp-warn = $(STRICT_WARN) -DOBJCPLUS -I$(srcdir)/objc -I$(srcdir)/cp OBJCXX_OBJS = objcp/objcp-act.o objcp/objcp-lang.o objcp/objcp-decl.o \ $(CXX_AND_OBJCXX_OBJS) +obj-c++_OBJS = $(OBJCXX_OBJS) cc1objplus-checksum.o + cc1objplus-dummy$(exeext): $(OBJCXX_OBJS) dummy-checksum.o $(BACKEND) \ $(LIBDEPS) $(CC) $(ALL_CFLAGS) $(LDFLAGS) -o $@ \ -- 2.30.2