Makefile.am (write_entries_to_file_split): New variable.
authorRalf Wildenhues <Ralf.Wildenhues@gmx.de>
Sun, 16 Mar 2008 06:57:40 +0000 (06:57 +0000)
committerRalf Wildenhues <rwild@gcc.gnu.org>
Sun, 16 Mar 2008 06:57:40 +0000 (06:57 +0000)
libjava/
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.

From-SVN: r133268

libjava/ChangeLog
libjava/Makefile.am
libjava/Makefile.in

index bd92959477bb78ee5e7b92ecb660c225d3416d59..0ed16db8fa0a92bda7db6416f6ab0f2e13fc83a2 100644 (file)
@@ -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):
index d840782d1635906266918d00ee8b6d493f84c12b..5b84c1769a75157b84c69a55a3674ad4204d7cb5 100644 (file)
@@ -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)))
 
 ## ################################################################
 
index fae8669b6a733afd9763c912697ed5edee0ee54c..47de0bdd35204d9081c54c403d9a6fb64f8a88b1 100644 (file)
@@ -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)