aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2004-10-29 12:51:16 +0000
committerJakub Jelinek <jakub@redhat.com>2004-10-29 12:51:16 +0000
commit38db6fac192849e74c181708dcf877da9ab88d5b (patch)
tree70557b5b31a153e4de6ce423b9b74840e8fc9763
parent0ea67dec55491e0b4e09a26a0493717692ac57b5 (diff)
* Makefile.am (libgcj-@gcc_version@.jar): Set timestamp of all files
and directories in the jar file to the youngest of gcc/ChangeLog, gcc/java/ChangeLog and libjava/ChangeLog. Sort the file/directory list before passing it to fastjar. * Makefile.in: Rebuilt. git-svn-id: https://gcc.gnu.org/svn/gcc/branches/gcc-3_3-rhl-branch@89838 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r--libjava/ChangeLog8
-rw-r--r--libjava/Makefile.am26
-rw-r--r--libjava/Makefile.in26
3 files changed, 54 insertions, 6 deletions
diff --git a/libjava/ChangeLog b/libjava/ChangeLog
index 8fd4e2f581a..1b1e0cbe22c 100644
--- a/libjava/ChangeLog
+++ b/libjava/ChangeLog
@@ -1,3 +1,11 @@
+2004-08-12 Jakub Jelinek <jakub@redhat.com>
+
+ * Makefile.am (libgcj-@gcc_version@.jar): Set timestamp of all files
+ and directories in the jar file to the youngest of gcc/ChangeLog,
+ gcc/java/ChangeLog and libjava/ChangeLog. Sort the file/directory
+ list before passing it to fastjar.
+ * Makefile.in: Rebuilt.
+
2004-06-22 Bryce McKinlay <mckinlay@redhat.com>
Fix PR libgcj/12475
diff --git a/libjava/Makefile.am b/libjava/Makefile.am
index c07b7d769b5..889a0d400e1 100644
--- a/libjava/Makefile.am
+++ b/libjava/Makefile.am
@@ -224,9 +224,29 @@ all_java_class_files = $(all_java_source_files:.java=.class)
libgcj-@gcc_version@.jar: $(all_java_class_files)
-@rm -f libgcj-@gcc_version@.jar
## Note that we explicitly want to include directory information.
- find java gnu javax org -type d -o -type f -name '*.class' | \
- sed -e '/\/\./d' -e '/\/xlib/d' | \
- $(ZIP) cfM0E@ $@
+ # The following is an attempt to have libgcj-*.jar files
+ # from the same GCC version identical accross the architectures.
+ JARDIR=`mktemp -d ../$@.XXXXXX` || exit 1; \
+ for d in `find java gnu javax org -type d \
+ | sed -e '/\/\./d' -e '/\/xlib/d'`; do \
+ mkdir -p $$JARDIR/$$d; \
+ done; \
+ touch -r $(srcdir)/../gcc/ChangeLog $$JARDIR.stamp; \
+ [ $(srcdir)/../gcc/java/ChangeLog -nt $$JARDIR.stamp ] \
+ && touch -r $(srcdir)/../gcc/java/ChangeLog $$JARDIR.stamp; \
+ [ $(srcdir)/ChangeLog -nt $$JARDIR.stamp ] \
+ && touch -r $(srcdir)/ChangeLog $$JARDIR.stamp; \
+ for f in `find java gnu javax org -type f -name '*.class' \
+ | sed -e '/\/\./d' -e '/\/xlib/d'`; do \
+ cp $$f $$JARDIR/$$f; \
+ touch -r $$JARDIR.stamp $$JARDIR/$$f; \
+ done; \
+ touch -r $$JARDIR.stamp `find $$JARDIR -type d`; \
+ cd $$JARDIR; \
+ find java gnu javax org -type d -o -type f | \
+ LC_ALL=C sort | $(ZIP) cfM0E@ ../libjava/$@ || exit 1; \
+ cd -; \
+ rm -rf $$JARDIR $$JARDIR.stamp
MOSTLYCLEANFILES = $(javao_files) $(nat_files) $(nat_headers) $(c_files) $(x_javao_files) $(x_nat_files) $(x_nat_headers)
CLEANFILES = libgcj-@gcc_version@.jar
diff --git a/libjava/Makefile.in b/libjava/Makefile.in
index cdc5802d91c..7c8f6c3eab6 100644
--- a/libjava/Makefile.in
+++ b/libjava/Makefile.in
@@ -4353,9 +4353,29 @@ maintainer-clean-generic clean mostlyclean distclean maintainer-clean
libgcj-@gcc_version@.jar: $(all_java_class_files)
-@rm -f libgcj-@gcc_version@.jar
- find java gnu javax org -type d -o -type f -name '*.class' | \
- sed -e '/\/\./d' -e '/\/xlib/d' | \
- $(ZIP) cfM0E@ $@
+ # The following is an attempt to have libgcj-*.jar files
+ # from the same GCC version identical accross the architectures.
+ JARDIR=`mktemp -d ../$@.XXXXXX` || exit 1; \
+ for d in `find java gnu javax org -type d \
+ | sed -e '/\/\./d' -e '/\/xlib/d'`; do \
+ mkdir -p $$JARDIR/$$d; \
+ done; \
+ touch -r $(srcdir)/../gcc/ChangeLog $$JARDIR.stamp; \
+ [ $(srcdir)/../gcc/java/ChangeLog -nt $$JARDIR.stamp ] \
+ && touch -r $(srcdir)/../gcc/java/ChangeLog $$JARDIR.stamp; \
+ [ $(srcdir)/ChangeLog -nt $$JARDIR.stamp ] \
+ && touch -r $(srcdir)/ChangeLog $$JARDIR.stamp; \
+ for f in `find java gnu javax org -type f -name '*.class' \
+ | sed -e '/\/\./d' -e '/\/xlib/d'`; do \
+ cp $$f $$JARDIR/$$f; \
+ touch -r $$JARDIR.stamp $$JARDIR/$$f; \
+ done; \
+ touch -r $$JARDIR.stamp `find $$JARDIR -type d`; \
+ cd $$JARDIR; \
+ find java gnu javax org -type d -o -type f | \
+ LC_ALL=C sort | $(ZIP) cfM0E@ ../libjava/$@ || exit 1; \
+ cd -; \
+ rm -rf $$JARDIR $$JARDIR.stamp
clean-local:
find . -name '*.class' -print | xargs rm -f