diff options
-rw-r--r-- | libjava/ChangeLog | 7 | ||||
-rw-r--r-- | libjava/Makefile.am | 15 | ||||
-rw-r--r-- | libjava/Makefile.in | 16 |
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) |