aboutsummaryrefslogtreecommitdiff
path: root/libjava/Makefile.am
diff options
context:
space:
mode:
Diffstat (limited to 'libjava/Makefile.am')
-rw-r--r--libjava/Makefile.am12
1 files changed, 9 insertions, 3 deletions
diff --git a/libjava/Makefile.am b/libjava/Makefile.am
index a959fdb..cfea005 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)