aboutsummaryrefslogtreecommitdiff
path: root/libjava/Makefile.am
diff options
context:
space:
mode:
authorRoger Sayle <roger@eyesopen.com>2005-03-05 16:32:59 +0000
committerRoger Sayle <sayle@gcc.gnu.org>2005-03-05 16:32:59 +0000
commit60b92d702890eae310fddaf1dac424743ce5292b (patch)
treef8d60198c28fbc7307f036392bd38789789f66eb /libjava/Makefile.am
parent6439fffd56602ed319edd795a3ef86b164c3f762 (diff)
downloadgcc-60b92d702890eae310fddaf1dac424743ce5292b.zip
gcc-60b92d702890eae310fddaf1dac424743ce5292b.tar.gz
gcc-60b92d702890eae310fddaf1dac424743ce5292b.tar.bz2
re PR bootstrap/20155 (libgcj build fails with "execvp: /bin/sh: Argument list too long")
2005-03-05 Roger Sayle <roger@eyesopen.com> Alexandre Oliva <aoliva@redhat.com> Kelley Cook <kcook@gcc.gnu.org> PR libgcj/20155 * Makefile.am (libgcj0_convenience.la): New rule to create a file of the object files to link to avoid exceeding the command line length limits on some platforms. (clean-local): Clean up objectlist files. * Makefile.in: Regenerate. Co-Authored-By: Alexandre Oliva <aoliva@redhat.com> Co-Authored-By: Kelley Cook <kcook@gcc.gnu.org> From-SVN: r95934
Diffstat (limited to 'libjava/Makefile.am')
-rw-r--r--libjava/Makefile.am15
1 files changed, 15 insertions, 0 deletions
diff --git a/libjava/Makefile.am b/libjava/Makefile.am
index cd6f0b3..44e1b34 100644
--- a/libjava/Makefile.am
+++ b/libjava/Makefile.am
@@ -226,6 +226,9 @@ libgcj0_convenience_la_SOURCES = prims.cc jni.cc exception.cc \
$(POSIX_PLATFORM_SRC) $(WIN32_PLATFORM_SRC) $(ECOS_PLATFORM_SRC) \
$(DARWIN_CRT_SRC) \
$(POSIX_THREAD_SRC) $(WIN32_THREAD_SRC) $(NO_THREAD_SRC)
+libgcj0_convenience_la_LDFLAGS =
+libgcj0_convenience_la_LIBADD =
+libgcj0_convenience_la_LINK = $(LIBLINK)
noinst_LTLIBRARIES = libgcj0_convenience.la
libgcj_la_SOURCES =
@@ -577,6 +580,8 @@ mostlyclean-local:
clean-local:
## Remove every .class file that was created.
find . -name '*.class' -print | xargs rm -f
+## Remove every .objectlist file that was created.
+ find . -name '*.objectlist' -print | xargs rm -f
distclean-local:
## Remove every .d file that was created.
@@ -611,6 +616,16 @@ libgcj.la: $(libgcj_la_OBJECTS) $(libgcj_la_DEPENDENCIES)
$(libgcj_la_LIBADD) \
-rpath $(toolexeclibdir) $(libgcj_la_LDFLAGS) $(LIBS)
+## Pass the list of object files to libtool in a temporary file to
+## avoid tripping platform command line length limits.
+libgcj0_convenience.la: $(libgcj0_convenience_la_OBJECTS) $(libgcj0_convenience_la_DEPENDENCIES)
+ @echo Creating list of files to link...
+ @: $(call write_entries_to_file,$(libgcj0_convenience_la_OBJECTS),libgcj0_convenience.objectlist)
+ $(libgcj0_convenience_la_LINK) \
+ -objectlist libgcj0_convenience.objectlist \
+ $(libgcj0_convenience_la_LIBADD) \
+ -rpath $(toolexeclibdir) $(libgcj0_convenience_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)