This is the mail archive of the java-patches@gcc.gnu.org mailing list for the Java project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

RFC: Don't build libjava convenience library


Now that we have just one .o for each package, its far less likely that we'll hit platform command line length limits. This patch removes the "convenience library" hack that was introduced to stop libtool using incremental linking when the limit was reached.

This speeds up the final libgcj link because libtool no longer needs to run ranlib, plus it simplifies the Makefile a little.

Bryce


2005-05-19  Bryce McKinlay  <mckinlay@redhat.com>

	* Makefile.am (libgcj0_convenience_la): Removed. Don't build a libgcj
	convenience library.
	(libgcj_la_SOURCES): New. Move sources here.
	(libgcj.la): Remove rule.
	* Makefile.in: Rebuilt.

Index: Makefile.am
===================================================================
RCS file: /cvs/gcc/gcc/libjava/Makefile.am,v
retrieving revision 1.489
diff -u -r1.489 Makefile.am
--- Makefile.am	18 May 2005 07:21:07 -0000	1.489
+++ Makefile.am	19 May 2005 14:37:43 -0000
@@ -306,11 +306,7 @@
 libgij_la_LDFLAGS = -rpath $(toolexeclibdir) \
         -version-info `grep -v '^\#' $(srcdir)/libtool-version` $(LIBGCJ_LD_SYMBOLIC)
 
-# Work around libtool wanting to do piece-wise linking with -r.  Using a
-# convenience library suddenly invokes the --whole-archive path instead.
-# This allows the build to succeed for targets that allocate multiple got
-# subsections in the linker, such as Alpha and MIPS.
-libgcj0_convenience_la_SOURCES = prims.cc jni.cc exception.cc stacktrace.cc \
+libgcj_la_SOURCES = prims.cc jni.cc exception.cc stacktrace.cc \
 	link.cc defineclass.cc interpret.cc verify.cc \
 	$(nat_source_files) $(math_c_source_files) \
 	$(BOEHMGC_SRC) $(NOGC_SRC) \
@@ -318,15 +314,6 @@
 	$(POSIX_PLATFORM_SRC) $(WIN32_PLATFORM_SRC) $(ECOS_PLATFORM_SRC) \
 	$(DARWIN_CRT_SRC) \
 	$(POSIX_THREAD_SRC) $(WIN32_THREAD_SRC) $(NO_THREAD_SRC)
-libgcj0_convenience_la_LIBADD = \
-	$(all_libgcj_lo_files) \
-	gnu-xml.lo javax-imageio.lo \
-	javax-xml.lo gnu-java-beans.lo \
-	external/sax/libsax-gcj.la \
-	external/w3c_dom/libw3c-gcj.la
-libgcj0_convenience_la_DEPENDENCIES = $(libgcj0_convenience_la_LIBADD)
-
-noinst_LTLIBRARIES = libgcj0_convenience.la
 
 ## Objects from C++ sources in subdirs.
 nat_files = $(nat_source_files:.cc=.lo)
@@ -339,7 +326,11 @@
 	$(LIBLTDL) $(SYS_ZLIBS) \
 	-version-info `grep -v '^\#' $(srcdir)/libtool-version`
 libgcj_la_LIBADD = \
-	libgcj0_convenience.la \
+	$(all_libgcj_lo_files) \
+	gnu-xml.lo javax-imageio.lo \
+	javax-xml.lo gnu-java-beans.lo \
+	external/sax/libsax-gcj.la \
+	external/w3c_dom/libw3c-gcj.la \
 	$(LIBFFI) $(ZLIBS) $(GCLIBS) $(propertyo_files)
 libgcj_la_DEPENDENCIES = libgcj-$(gcc_version).jar \
 	java/lang/fdlibm.h java/lang/ieeefp.h java/lang/mprec.h \
@@ -673,10 +664,6 @@
 
 ## Pass the list of object files to libtool in a temporary file to
 ## avoid tripping platform command line length limits.
-libgcj.la: $(libgcj_la_DEPENDENCIES)
-	$(libgcj_la_LINK) $(libgcj_la_LIBADD) \
-	-rpath $(toolexeclibdir) $(libgcj_la_LDFLAGS) $(LIBS)
-
 lib-gnu-awt-xlib.la: $(lib_gnu_awt_xlib_la_OBJECTS) $(lib_gnu_awt_xlib_la_DEPENDENCIES)
 	@echo Creating list of files to link...
 	@: $(call write_entries_to_file,$(lib_gnu_awt_xlib_la_OBJECTS) $(lib_gnu_awt_xlib_la_LIBADD),lib_gnu_awt_xlib.objectlist)

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]