OSDN Git Service

libjava/
authorrwild <rwild@138bc75d-0d04-0410-961f-82ee72b054a4>
Sun, 16 Mar 2008 06:57:40 +0000 (06:57 +0000)
committerrwild <rwild@138bc75d-0d04-0410-961f-82ee72b054a4>
Sun, 16 Mar 2008 06:57:40 +0000 (06:57 +0000)
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@133268 138bc75d-0d04-0410-961f-82ee72b054a4

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

index bd92959..0ed16db 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 d840782..5b84c17 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 fae8669..47de0bd 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)