diff --git a/libjava/ChangeLog b/libjava/ChangeLog index eaa61eee4a6c..2c595c3a0844 100644 --- a/libjava/ChangeLog +++ b/libjava/ChangeLog @@ -1,3 +1,9 @@ +2002-06-04 H.J. Lu (hjl@gnu.org) + + * Makefile.am (libgcj_convenience.la): New target. + (libgcj.la): Depend on libgcj_convenience.la. + * Makefile.in: Regenerated. + 2002-06-04 H.J. Lu (hjl@gnu.org) * configure.in (--with-newlib): New option: diff --git a/libjava/Makefile.am b/libjava/Makefile.am index a959fdbba5e6..cfea00564759 100644 --- a/libjava/Makefile.am +++ b/libjava/Makefile.am @@ -222,10 +222,16 @@ $(javao_files) $(x_javao_files): %.lo: %.java $(GCJCOMPILE) -o $@ $< ## Pass the list of object files to libtool in a temporary file to -## avoid tripping platform command line length limits. -libgcj.la: $(libgcj_la_OBJECTS) $(libgcj_la_DEPENDENCIES) +## avoid tripping platform command line length limits. We also use +# libgcj_convenience.la to avoid creating a long linker command line +# which causes problems on some OSes and makes it almost impossible to +# debug the linker under a debugger. +libgcj_convenience.la: $(libgcj_la_OBJECTS) $(libgcj_la_DEPENDENCIES) @: $(shell echo Creating list of files to link...) $(shell rm -f libgcj.objectlist || :) $(shell touch libgcj.objectlist) $(foreach object,$(libgcj_la_OBJECTS) $(libgcj_la_LIBADD),$(shell echo $(object) >> libgcj.objectlist)) - $(libgcj_la_LINK) -objectlist libgcj.objectlist \ + $(libgcj_la_LINK) -objectlist libgcj.objectlist + +libgcj.la: libgcj_convenience.la + $(libgcj_la_LINK) libgcj_convenience.la \ @GCLIBS@ @LIBFFI@ @ZLIBS@ \ -rpath $(toolexeclibdir) $(libgcj_la_LDFLAGS) $(LIBS) diff --git a/libjava/Makefile.in b/libjava/Makefile.in index 6c4a9001a847..c1bad83e8f0b 100644 --- a/libjava/Makefile.in +++ b/libjava/Makefile.in @@ -3272,9 +3272,15 @@ $(c_files): java/lang/fdlibm.h java/lang/ieeefp.h java/lang/mprec.h $(javao_files) $(x_javao_files): %.lo: %.java $(GCJCOMPILE) -o $@ $< -libgcj.la: $(libgcj_la_OBJECTS) $(libgcj_la_DEPENDENCIES) +# libgcj_convenience.la to avoid creating a long linker command line +# which causes problems on some OSes and makes it almost impossible to +# debug the linker under a debugger. +libgcj_convenience.la: $(libgcj_la_OBJECTS) $(libgcj_la_DEPENDENCIES) @: $(shell echo Creating list of files to link...) $(shell rm -f libgcj.objectlist || :) $(shell touch libgcj.objectlist) $(foreach object,$(libgcj_la_OBJECTS) $(libgcj_la_LIBADD),$(shell echo $(object) >> libgcj.objectlist)) - $(libgcj_la_LINK) -objectlist libgcj.objectlist \ + $(libgcj_la_LINK) -objectlist libgcj.objectlist + +libgcj.la: libgcj_convenience.la + $(libgcj_la_LINK) libgcj_convenience.la \ @GCLIBS@ @LIBFFI@ @ZLIBS@ \ -rpath $(toolexeclibdir) $(libgcj_la_LDFLAGS) $(LIBS)