aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libjava/ChangeLog7
-rw-r--r--libjava/Makefile.am15
-rw-r--r--libjava/Makefile.in16
3 files changed, 30 insertions, 8 deletions
diff --git a/libjava/ChangeLog b/libjava/ChangeLog
index bd92959..0ed16db 100644
--- a/libjava/ChangeLog
+++ b/libjava/ChangeLog
@@ -1,3 +1,10 @@
+2008-03-16 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
+
+ * Makefile.am (write_entries_to_file_split): New variable.
+ (write_entries_to_file): Write out that many entries at once,
+ for speed.
+ * Makefile.in: Regenerate.
+
2008-03-13 Tom Tromey <tromey@redhat.com>
* java/lang/natClassLoader.cc (_Jv_RegisterInitiatingLoader):
diff --git a/libjava/Makefile.am b/libjava/Makefile.am
index d840782..5b84c17 100644
--- a/libjava/Makefile.am
+++ b/libjava/Makefile.am
@@ -13,13 +13,20 @@ SUBDIRS += testsuite
endif
# write_entries_to_file - writes each entry in a list
-# to the specified file. Each entry is written individually
-# to accomodate systems with severe command-line-length
-# limitations.
+# to the specified file. Entries are written in chunks of
+# $(write_entries_to_file_split) to accomodate systems with
+# severe command-line-length limitations.
# Parameters:
# $(1): variable containing entries to iterate over
# $(2): output file
-write_entries_to_file = $(shell rm -f $(2) || :) $(shell touch $(2)) $(foreach object,$(1),$(shell echo $(object) >> $(2)))
+write_entries_to_file_split = 50
+write_entries_to_file = $(shell rm -f $(2) || :) $(shell touch $(2)) \
+ $(foreach range, \
+ $(shell i=1; while test $$i -le $(words $(1)); do \
+ echo $$i; i=`expr $$i + $(write_entries_to_file_split)`; done), \
+ $(shell echo $(wordlist $(range), \
+ $(shell expr $(range) + $(write_entries_to_file_split) - 1), $(1)) \
+ | tr ' ' '\n' >> $(2)))
## ################################################################
diff --git a/libjava/Makefile.in b/libjava/Makefile.in
index fae8669..47de0bd 100644
--- a/libjava/Makefile.in
+++ b/libjava/Makefile.in
@@ -820,13 +820,21 @@ gcc_version := $(shell cat $(top_srcdir)/../gcc/BASE-VER)
SUBDIRS = $(DIRLTDL) gcj include classpath $(am__append_1)
# write_entries_to_file - writes each entry in a list
-# to the specified file. Each entry is written individually
-# to accomodate systems with severe command-line-length
-# limitations.
+# to the specified file. Entries are written in chunks of
+# $(write_entries_to_file_split) to accomodate systems with
+# severe command-line-length limitations.
# Parameters:
# $(1): variable containing entries to iterate over
# $(2): output file
-write_entries_to_file = $(shell rm -f $(2) || :) $(shell touch $(2)) $(foreach object,$(1),$(shell echo $(object) >> $(2)))
+write_entries_to_file_split = 50
+write_entries_to_file = $(shell rm -f $(2) || :) $(shell touch $(2)) \
+ $(foreach range, \
+ $(shell i=1; while test $$i -le $(words $(1)); do \
+ echo $$i; i=`expr $$i + $(write_entries_to_file_split)`; done), \
+ $(shell echo $(wordlist $(range), \
+ $(shell expr $(range) + $(write_entries_to_file_split) - 1), $(1)) \
+ | tr ' ' '\n' >> $(2)))
+
# This is required by TL_AC_GXX_INCLUDE_DIR.
libsubdir = $(libdir)/gcc/$(target_noncanonical)/$(gcc_version)