Makefile.in (GCC_OBJS): Remove opts-common.o and options.o.
authorJoseph Myers <joseph@codesourcery.com>
Tue, 24 May 2011 11:49:46 +0000 (12:49 +0100)
committerJoseph Myers <jsm28@gcc.gnu.org>
Tue, 24 May 2011 11:49:46 +0000 (12:49 +0100)
* Makefile.in (GCC_OBJS): Remove opts-common.o and options.o.
(OBJS): Remove options.o, opts-common.o and prefix.o.
(OBJS-libcommon-target): New.
(ALL_HOST_BACKEND_OBJS): Include $(OBJS-libcommon-target).
(BACKEND): Include libcommon-target.a.
(MOSTLYCLEANFILES): Include libcommon-target.a.
(libcommon-target.a): New.
(xgcc$(exeext), cpp$(exeext)): Use libcommon-target.a instead of
prefix.o.

ada:
* gcc-interface/Make-lang.in (GNAT1_OBJS): Don't include
$(EXTRA_GNAT1_OBJS).
(GNATBIND_OBJS): Don't include $(EXTRA_GNATBIND_OBJS).
(EXTRA_GNAT1_OBJS, EXTRA_GNATBIND_OBJS): Remove.
(gnat1$(exeext), gnatbind$(exeext)): Use libcommon-target.a.
* gcc-interface/Makefile.in (EXTRA_GNATTOOLS_OBJS): Use
libcommon-target.a instead of prefix.o.

cp:
* Make-lang.in (GXX_OBJS): Remove prefix.o.
(g++$(exeext)): Use libcommon-target.a.
(CXX_C_OBJS): Remove prefix.o.

fortran:
* Make-lang.in (GFORTRAN_D_OBJS): Remove prefix.o.
(gfortran$(exeext)): Use libcommon-target.a.

go:
* Make-lang.in (GCCGO_OBJS): Remove prefix.o.
(gccgo$(exeext)): Use libcommon-target.a.

java:
* Make-lang.in ($(XGCJ)$(exeext)): Use libcommon-target.a instead
of prefix.o.

From-SVN: r174109

13 files changed:
gcc/ChangeLog
gcc/Makefile.in
gcc/ada/ChangeLog
gcc/ada/gcc-interface/Make-lang.in
gcc/ada/gcc-interface/Makefile.in
gcc/cp/ChangeLog
gcc/cp/Make-lang.in
gcc/fortran/ChangeLog
gcc/fortran/Make-lang.in
gcc/go/ChangeLog
gcc/go/Make-lang.in
gcc/java/ChangeLog
gcc/java/Make-lang.in

index 2564a7df092d75e3df5fd37d87f2b9364168ef2f..cf44fed9bdf71e949deb33b9237c039b67282b1c 100644 (file)
@@ -1,3 +1,15 @@
+2011-05-24  Joseph Myers  <joseph@codesourcery.com>
+
+       * Makefile.in (GCC_OBJS): Remove opts-common.o and options.o.
+       (OBJS): Remove options.o, opts-common.o and prefix.o.
+       (OBJS-libcommon-target): New.
+       (ALL_HOST_BACKEND_OBJS): Include $(OBJS-libcommon-target).
+       (BACKEND): Include libcommon-target.a.
+       (MOSTLYCLEANFILES): Include libcommon-target.a.
+       (libcommon-target.a): New.
+       (xgcc$(exeext), cpp$(exeext)): Use libcommon-target.a instead of
+       prefix.o.
+
 2011-05-23  Joseph Myers  <joseph@codesourcery.com>
 
        * optc-save-gen.awk: New.  Based on optc-gen.awk.  Don't generate
index ef5bc6ccc734da0816a427d6297102997c3b1942..2aee94839970b3cc54a40bb4f6678d93a1341d29 100644 (file)
@@ -1168,7 +1168,7 @@ CXX_TARGET_OBJS=@cxx_target_objs@
 FORTRAN_TARGET_OBJS=@fortran_target_objs@
 
 # Object files for gcc driver.
-GCC_OBJS = gcc.o opts-common.o options.o vec.o ggc-none.o
+GCC_OBJS = gcc.o vec.o ggc-none.o
 
 # Language-specific object files shared by all C-family front ends.
 C_COMMON_OBJS = c-family/c-common.o c-family/c-cppbuiltin.o c-family/c-dump.o \
@@ -1340,9 +1340,7 @@ OBJS = \
        omega.o \
        omp-low.o \
        optabs.o \
-       options.o \
        options-save.o \
-       opts-common.o \
        opts-global.o \
        opts.o \
        params.o \
@@ -1352,7 +1350,6 @@ OBJS = \
        postreload-gcse.o \
        postreload.o \
        predict.o \
-       prefix.o \
        print-rtl.o \
        print-tree.o \
        profile.o \
@@ -1494,12 +1491,16 @@ OBJS = \
 # no target dependencies.
 OBJS-libcommon = diagnostic.o pretty-print.o intl.o input.o version.o
 
+# Objects in libcommon-target.a, used by drivers and by the core
+# compiler and containing target-dependent code.
+OBJS-libcommon-target = prefix.o opts-common.o options.o
+
 # This lists all host objects for the front ends.
 ALL_HOST_FRONTEND_OBJS = $(C_OBJS) \
   $(foreach v,$(CONFIG_LANGUAGES),$($(v)_OBJS))
 
 ALL_HOST_BACKEND_OBJS = $(GCC_OBJS) $(OBJS) $(OBJS-libcommon) \
-  @TREEBROWSER@ main.o gccspec.o prefix.o cppspec.o \
+  $(OBJS-libcommon-target) @TREEBROWSER@ main.o gccspec.o cppspec.o \
   $(COLLECT2_OBJS) $(EXTRA_GCC_OBJS) mips-tfile.o mips-tdump.o \
   $(GCOV_OBJS) $(GCOV_DUMP_OBJS)
 
@@ -1507,8 +1508,8 @@ ALL_HOST_BACKEND_OBJS = $(GCC_OBJS) $(OBJS) $(OBJS-libcommon) \
 # compilation or not.
 ALL_HOST_OBJS = $(ALL_HOST_FRONTEND_OBJS) $(ALL_HOST_BACKEND_OBJS)
 
-BACKEND = main.o @TREEBROWSER@ libbackend.a libcommon.a $(CPPLIB) \
-       $(LIBDECNUMBER)
+BACKEND = main.o @TREEBROWSER@ libbackend.a libcommon-target.a libcommon.a \
+       $(CPPLIB) $(LIBDECNUMBER)
 
 MOSTLYCLEANFILES = insn-flags.h insn-config.h insn-codes.h \
  insn-output.c insn-recog.c insn-emit.c insn-extract.c insn-peep.c \
@@ -1520,7 +1521,8 @@ MOSTLYCLEANFILES = insn-flags.h insn-config.h insn-codes.h \
  $(EXTRA_PARTS) $(EXTRA_PROGRAMS) gcc-cross$(exeext) \
  $(SPECS) collect2$(exeext) lto-wrapper$(exeext) \
  gcov-iov$(build_exeext) gcov$(exeext) gcov-dump$(exeext) \
- *.[0-9][0-9].* *.[si] *-checksum.c libbackend.a libcommon.a libgcc.mk
+ *.[0-9][0-9].* *.[si] *-checksum.c libbackend.a libcommon-target.a \
+ libcommon.a libgcc.mk
 
 # Defined in libgcc2.c, included only in the static library.
 LIB2FUNCS_ST = _eprintf __gcc_bcmp
@@ -1832,6 +1834,11 @@ libbackend.a: $(OBJS)
        $(AR) $(AR_FLAGS) libbackend.a $(OBJS)
        -$(RANLIB) $(RANLIB_FLAGS) libbackend.a
 
+libcommon-target.a: $(OBJS-libcommon-target)
+       -rm -rf libcommon-target.a
+       $(AR) $(AR_FLAGS) libcommon-target.a $(OBJS-libcommon-target)
+       -$(RANLIB) $(RANLIB_FLAGS) libcommon-target.a
+
 libcommon.a: $(OBJS-libcommon)
        -rm -rf libcommon.a
        $(AR) $(AR_FLAGS) libcommon.a $(OBJS-libcommon)
@@ -1840,16 +1847,18 @@ libcommon.a: $(OBJS-libcommon)
 # We call this executable `xgcc' rather than `gcc'
 # to avoid confusion if the current directory is in the path
 # and CC is `gcc'.  It is renamed to `gcc' when it is installed.
-xgcc$(exeext): $(GCC_OBJS) gccspec.o prefix.o $(LIBDEPS) $(EXTRA_GCC_OBJS)
+xgcc$(exeext): $(GCC_OBJS) gccspec.o libcommon-target.a $(LIBDEPS) \
+       $(EXTRA_GCC_OBJS)
        +$(LINKER) $(ALL_LINKERFLAGS) $(LDFLAGS) -o $@ $(GCC_OBJS) \
-         gccspec.o prefix.o $(EXTRA_GCC_OBJS) $(LIBS)
+         gccspec.o $(EXTRA_GCC_OBJS) libcommon-target.a $(LIBS)
 
 # cpp is to cpp0 as gcc is to cc1.
 # The only difference from xgcc is that it's linked with cppspec.o
 # instead of gccspec.o.
-cpp$(exeext): $(GCC_OBJS) cppspec.o prefix.o $(LIBDEPS) $(EXTRA_GCC_OBJS)
+cpp$(exeext): $(GCC_OBJS) cppspec.o libcommon-target.a $(LIBDEPS) \
+       $(EXTRA_GCC_OBJS)
        +$(LINKER) $(ALL_LINKERFLAGS) $(LDFLAGS) -o $@ $(GCC_OBJS) \
-         cppspec.o prefix.o $(EXTRA_GCC_OBJS) $(LIBS)
+         cppspec.o $(EXTRA_GCC_OBJS) libcommon-target.a $(LIBS)
 
 # Dump a specs file to make -B./ read these specs over installed ones.
 $(SPECS): xgcc$(exeext)
index d6e9d9d7909c45115caf3237b030ad29c77bed8e..2836e2619fd0f6d9edc643925f5f4f10c12a3a8a 100644 (file)
@@ -1,3 +1,13 @@
+2011-05-24  Joseph Myers  <joseph@codesourcery.com>
+
+       * gcc-interface/Make-lang.in (GNAT1_OBJS): Don't include
+       $(EXTRA_GNAT1_OBJS).
+       (GNATBIND_OBJS): Don't include $(EXTRA_GNATBIND_OBJS).
+       (EXTRA_GNAT1_OBJS, EXTRA_GNATBIND_OBJS): Remove.
+       (gnat1$(exeext), gnatbind$(exeext)): Use libcommon-target.a.
+       * gcc-interface/Makefile.in (EXTRA_GNATTOOLS_OBJS): Use
+       libcommon-target.a instead of prefix.o.
+
 2011-05-21  Joseph Myers  <joseph@codesourcery.com>
 
        PR ada/49097
index 66b03f4c6cbca6c9efa143686d0615af4c70b1ae..dbd1f08b7e1cf70f969bca1c6922ba92773c4210 100644 (file)
@@ -340,7 +340,7 @@ GNAT_ADA_OBJS =     \
 # Object files for gnat executables
 GNAT1_ADA_OBJS = $(GNAT_ADA_OBJS) ada/back_end.o ada/gnat1drv.o
 
-GNAT1_OBJS = $(GNAT1_C_OBJS) $(GNAT1_ADA_OBJS) $(EXTRA_GNAT1_OBJS)
+GNAT1_OBJS = $(GNAT1_C_OBJS) $(GNAT1_ADA_OBJS)
 
 GNATBIND_OBJS = \
  ada/adaint.o     \
@@ -464,12 +464,7 @@ GNATBIND_OBJS = \
  ada/uintp.o      \
  ada/uname.o      \
  ada/urealp.o     \
- ada/widechar.o   \
- $(EXTRA_GNATBIND_OBJS)
-
-# List of extra object files linked in with various programs.
-EXTRA_GNAT1_OBJS = prefix.o
-EXTRA_GNATBIND_OBJS = prefix.o
+ ada/widechar.o
 
 # Language-independent object files.
 ADA_BACKEND = $(BACKEND) attribs.o
@@ -480,12 +475,12 @@ TARGET_ADA_SRCS =
 # Needs to be built with CC=gcc
 # Since the RTL should be built with the latest compiler, remove the
 #  stamp target in the parent directory whenever gnat1 is rebuilt
-gnat1$(exeext): $(TARGET_ADA_SRCS) $(GNAT1_OBJS) $(ADA_BACKEND) $(LIBDEPS)
-       $(GCC_LINK) -o $@ $(GNAT1_OBJS) $(ADA_BACKEND) $(LIBS) $(SYSLIBS) $(BACKENDLIBS) $(CFLAGS)
+gnat1$(exeext): $(TARGET_ADA_SRCS) $(GNAT1_OBJS) $(ADA_BACKEND) libcommon-target.a $(LIBDEPS)
+       $(GCC_LINK) -o $@ $(GNAT1_OBJS) $(ADA_BACKEND) libcommon-target.a $(LIBS) $(SYSLIBS) $(BACKENDLIBS) $(CFLAGS)
        $(RM) stamp-gnatlib2-rts stamp-tools
 
-gnatbind$(exeext): ada/b_gnatb.o $(CONFIG_H) $(GNATBIND_OBJS) $(LIBDEPS)
-       $(GCC_LINK) -o $@ ada/b_gnatb.o $(GNATBIND_OBJS) $(LIBS) $(SYSLIBS) $(CFLAGS)
+gnatbind$(exeext): ada/b_gnatb.o $(CONFIG_H) $(GNATBIND_OBJS) libcommon-target.a $(LIBDEPS)
+       $(GCC_LINK) -o $@ ada/b_gnatb.o $(GNATBIND_OBJS) libcommon-target.a $(LIBS) $(SYSLIBS) $(CFLAGS)
 
 # use cross-gcc
 gnat-cross: force
index fbcff81210ac9ae9519cef9c92f44e93773eaf9e..0b58c1889f4fb7df0554745c65cd32ada9964049 100644 (file)
@@ -180,7 +180,7 @@ LIBINTL_DEP = @LIBINTL_DEP@
 SYSLIBS = @GNAT_LIBEXC@
 
 # List of extra object files linked in with various programs.
-EXTRA_GNATTOOLS_OBJS = ../../prefix.o ../../libcommon.a
+EXTRA_GNATTOOLS_OBJS = ../../libcommon-target.a ../../libcommon.a
 
 # List extra gnattools
 EXTRA_GNATTOOLS =
index ee2c9d9ecd246412ca0e42e1b61cc7bae53768ae..8c47e0f98cce286bad6da2dc833fba3c2cce036c 100644 (file)
@@ -1,3 +1,9 @@
+2011-05-24  Joseph Myers  <joseph@codesourcery.com>
+
+       * Make-lang.in (GXX_OBJS): Remove prefix.o.
+       (g++$(exeext)): Use libcommon-target.a.
+       (CXX_C_OBJS): Remove prefix.o.
+
 2011-05-23  Jason Merrill  <jason@redhat.com>
 
        * pt.c (tsubst_copy_and_build): Use current_class_name.
index e343c3f16da2d75766c2a7a6ef1c3a47daa62b91..45efd67d8cdb15ac55d083163eb34d89f40b4f7e 100644 (file)
@@ -60,10 +60,10 @@ g++spec.o: $(srcdir)/cp/g++spec.c $(SYSTEM_H) coretypes.h $(TM_H) $(GCC_H) \
                $(INCLUDES) $(srcdir)/cp/g++spec.c)
 
 # Create the compiler driver for g++.
-GXX_OBJS = $(GCC_OBJS) g++spec.o prefix.o
-g++$(exeext): $(GXX_OBJS) $(EXTRA_GCC_OBJS) $(LIBDEPS)
+GXX_OBJS = $(GCC_OBJS) g++spec.o
+g++$(exeext): $(GXX_OBJS) $(EXTRA_GCC_OBJS) libcommon-target.a $(LIBDEPS)
        +$(LINKER) $(ALL_LINKERFLAGS) $(LDFLAGS) -o $@ \
-         $(GXX_OBJS) $(EXTRA_GCC_OBJS) $(LIBS)
+         $(GXX_OBJS) $(EXTRA_GCC_OBJS) libcommon-target.a $(LIBS)
 
 # Create a version of the g++ driver which calls the cross-compiler.
 g++-cross$(exeext): g++$(exeext)
@@ -72,7 +72,7 @@ g++-cross$(exeext): g++$(exeext)
 
 # The compiler itself.
 # Shared with C front end:
-CXX_C_OBJS = attribs.o incpath.o prefix.o \
+CXX_C_OBJS = attribs.o incpath.o \
        $(C_COMMON_OBJS) $(CXX_TARGET_OBJS)
 
 # Language-specific object files for C++ and Objective C++.
index 55994c3140e0d07cbfb96acf0037aa60fef908b9..e8a008452c4c1c65cab110cb7b0d568261e9bb15 100644 (file)
@@ -1,3 +1,8 @@
+2011-05-24  Joseph Myers  <joseph@codesourcery.com>
+
+       * Make-lang.in (GFORTRAN_D_OBJS): Remove prefix.o.
+       (gfortran$(exeext)): Use libcommon-target.a.
+
 2011-05-22  Thomas Koenig  <tkoenig@gcc.gnu.org>
 
        * frontend-passes.c (cfe_register_funcs):  Also register
index 174a144ed7fc4296f1e2cc53017afc651687e432..f20638cb9a8243ee41ff9c19a8346a3a90566768 100644 (file)
@@ -84,10 +84,11 @@ gfortranspec.o: $(srcdir)/fortran/gfortranspec.c $(SYSTEM_H) $(TM_H) $(GCC_H) \
                $(INCLUDES) $(srcdir)/fortran/gfortranspec.c)
 
 # Create the compiler driver gfortran.
-GFORTRAN_D_OBJS = $(GCC_OBJS) gfortranspec.o prefix.o
-gfortran$(exeext): $(GFORTRAN_D_OBJS) $(EXTRA_GCC_OBJS) $(LIBDEPS)
+GFORTRAN_D_OBJS = $(GCC_OBJS) gfortranspec.o
+gfortran$(exeext): $(GFORTRAN_D_OBJS) $(EXTRA_GCC_OBJS) libcommon-target.a \
+       $(LIBDEPS)
        +$(LINKER) $(ALL_LINKERFLAGS) $(LDFLAGS) -o $@ \
-         $(GFORTRAN_D_OBJS) $(EXTRA_GCC_OBJS) $(LIBS)
+         $(GFORTRAN_D_OBJS) $(EXTRA_GCC_OBJS) libcommon-target.a $(LIBS)
 
 # Create a version of the gfortran driver which calls the cross-compiler.
 gfortran-cross$(exeext): gfortran$(exeext)
index 5a0d30af84b6e0680fe134edbb87daeb10eeb78a..1e936a69c93b6f00e6a8bbda80751bcaa86c6ce5 100644 (file)
@@ -1,3 +1,8 @@
+2011-05-24  Joseph Myers  <joseph@codesourcery.com>
+
+       * Make-lang.in (GCCGO_OBJS): Remove prefix.o.
+       (gccgo$(exeext)): Use libcommon-target.a.
+
 2011-05-20  Joseph Myers  <joseph@codesourcery.com>
 
        * Make-lang.in (GCCGO_OBJS): Remove intl.o and version.o.
index 0342b32cfae920cfa1493cb412aa8569163f5b99..82e219baa6fecc00f5cd9d3b736a3438d2ac5670 100644 (file)
@@ -36,10 +36,10 @@ gospec.o: $(srcdir)/go/gospec.c $(SYSTEM_H) coretypes.h $(TM_H) $(GCC_H) \
        $(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(DRIVER_DEFINES) \
                $(INCLUDES) $(srcdir)/go/gospec.c)
 
-GCCGO_OBJS = $(GCC_OBJS) gospec.o prefix.o
-gccgo$(exeext): $(GCCGO_OBJS) $(EXTRA_GCC_OBJS) $(LIBDEPS)
+GCCGO_OBJS = $(GCC_OBJS) gospec.o
+gccgo$(exeext): $(GCCGO_OBJS) $(EXTRA_GCC_OBJS) libcommon-target.a $(LIBDEPS)
        $(LINKER) $(ALL_LINKERFLAGS) $(LDFLAGS) -o $@ \
-         $(GCCGO_OBJS) $(EXTRA_GCC_OBJS) $(LIBS)
+         $(GCCGO_OBJS) $(EXTRA_GCC_OBJS) libcommon-target.a $(LIBS)
 
 # Use strict warnings.
 go-warn = $(STRICT_WARN)
index e0d97bf12cb53c2d76cc6b889970a39fcf47cf02..3bf7405d8e1ba73f1b88ef05ca1edb4c630517ac 100644 (file)
@@ -1,3 +1,8 @@
+2011-05-24  Joseph Myers  <joseph@codesourcery.com>
+
+       * Make-lang.in ($(XGCJ)$(exeext)): Use libcommon-target.a instead
+       of prefix.o.
+
 2011-05-20  Joseph Myers  <joseph@codesourcery.com>
 
        * Make-lang.in ($(XGCJ)$(exeext)): Don't explicitly use intl.o and
index 21bf93da8ca41785dda582a441e72f0090516bd2..bdd8b18342a21b05a3493f78dc2fc85273173df1 100644 (file)
@@ -64,9 +64,9 @@ jvspec.o: $(srcdir)/java/jvspec.c $(SYSTEM_H) coretypes.h $(TM_H) \
 
 # Create the compiler driver for $(XGCJ).
 $(XGCJ)$(exeext): $(GCC_OBJS) jvspec.o java/jcf-path.o \
-          prefix.o $(LIBDEPS) $(EXTRA_GCC_OBJS)
+          libcommon-target.a $(LIBDEPS) $(EXTRA_GCC_OBJS)
        +$(LINKER) $(ALL_LINKERFLAGS) $(LDFLAGS) -o $@ $(GCC_OBJS) \
-         jvspec.o java/jcf-path.o prefix.o $(EXTRA_GCC_OBJS) $(LIBS)
+         jvspec.o java/jcf-path.o $(EXTRA_GCC_OBJS) libcommon-target.a $(LIBS)
 
 # Create a version of the $(XGCJ) driver which calls the cross-compiler.
 $(XGCJ)-cross$(exeext): $(XGCJ)$(exeext)