Blame SOURCES/gcc32-libjava-jar-timestamps.patch

727081
2004-08-12  Jakub Jelinek  <jakub@redhat.com>
727081
727081
	* Makefile.am (libgcj-@gcc_version@.jar): Set timestamp of all files
727081
	and directories in the jar file to the youngest of gcc/ChangeLog,
727081
	gcc/java/ChangeLog and libjava/ChangeLog.  Sort the file/directory
727081
	list before passing it to fastjar.
727081
	* Makefile.in: Rebuilt.
727081
727081
--- libjava/Makefile.am	2003-02-03 23:58:32.000000000 +0100
727081
+++ libjava/Makefile.am	2004-08-12 13:21:35.928177346 +0200
727081
@@ -170,9 +170,29 @@ all_java_class_files = $(all_java_source
727081
 libgcj-@gcc_version@.jar: $(all_java_class_files)
727081
 	-@rm -f libgcj-@gcc_version@.jar
727081
 ## Note that we explicitly want to include directory information.
727081
-	find java gnu javax org -type d -o -type f -name '*.class' | \
727081
-	  sed -e '/\/\./d' -e '/\/xlib/d' | \
727081
-	  $(ZIP) cfM0E@ $@
727081
+	# The following is an attempt to have libgcj-*.jar files
727081
+	# from the same GCC version identical accross the architectures.
727081
+	JARDIR=`mktemp -d ../$@.XXXXXX` || exit 1; \
727081
+	for d in `find java gnu javax org -type d \
727081
+		  | sed -e '/\/\./d' -e '/\/xlib/d'`; do \
727081
+	  mkdir -p $$JARDIR/$$d; \
727081
+	done; \
727081
+	touch -r $(srcdir)/../gcc/ChangeLog $$JARDIR.stamp; \
727081
+	[ $(srcdir)/../gcc/java/ChangeLog -nt $$JARDIR.stamp ] \
727081
+	  && touch -r $(srcdir)/../gcc/java/ChangeLog $$JARDIR.stamp; \
727081
+	[ $(srcdir)/ChangeLog -nt $$JARDIR.stamp ] \
727081
+	  && touch -r $(srcdir)/ChangeLog $$JARDIR.stamp; \
727081
+	for f in `find java gnu javax org -type f -name '*.class' \
727081
+		  | sed -e '/\/\./d' -e '/\/xlib/d'`; do \
727081
+	  cp $$f $$JARDIR/$$f; \
727081
+	  touch -r $$JARDIR.stamp $$JARDIR/$$f; \
727081
+	done; \
727081
+	touch -r $$JARDIR.stamp `find $$JARDIR -type d`; \
727081
+	cd $$JARDIR; \
727081
+	find java gnu javax org -type d -o -type f | \
727081
+	  LC_ALL=C sort | $(ZIP) cfM0E@ ../libjava/$@ || exit 1; \
727081
+	cd -; \
727081
+	rm -rf $$JARDIR $$JARDIR.stamp
727081
 
727081
 MOSTLYCLEANFILES = $(javao_files) $(nat_files) $(nat_headers) $(c_files) $(x_javao_files) $(x_nat_files) $(x_nat_headers)
727081
 CLEANFILES = libgcj-@gcc_version@.jar
727081
--- libjava/Makefile.in	2003-02-03 23:58:32.000000000 +0100
727081
+++ libjava/Makefile.in	2004-08-12 13:21:22.928440630 +0200
727081
@@ -3280,9 +3280,29 @@ install-exec-hook:
727081
 
727081
 libgcj-@gcc_version@.jar: $(all_java_class_files)
727081
 	-@rm -f libgcj-@gcc_version@.jar
727081
-	find java gnu javax org -type d -o -type f -name '*.class' | \
727081
-	  sed -e '/\/\./d' -e '/\/xlib/d' | \
727081
-	  $(ZIP) cfM0E@ $@
727081
+	# The following is an attempt to have libgcj-*.jar files
727081
+	# from the same GCC version identical accross the architectures.
727081
+	JARDIR=`mktemp -d ../$@.XXXXXX` || exit 1; \
727081
+	for d in `find java gnu javax org -type d \
727081
+		  | sed -e '/\/\./d' -e '/\/xlib/d'`; do \
727081
+	  mkdir -p $$JARDIR/$$d; \
727081
+	done; \
727081
+	touch -r $(srcdir)/../gcc/ChangeLog $$JARDIR.stamp; \
727081
+	[ $(srcdir)/../gcc/java/ChangeLog -nt $$JARDIR.stamp ] \
727081
+	  && touch -r $(srcdir)/../gcc/java/ChangeLog $$JARDIR.stamp; \
727081
+	[ $(srcdir)/ChangeLog -nt $$JARDIR.stamp ] \
727081
+	  && touch -r $(srcdir)/ChangeLog $$JARDIR.stamp; \
727081
+	for f in `find java gnu javax org -type f -name '*.class' \
727081
+		  | sed -e '/\/\./d' -e '/\/xlib/d'`; do \
727081
+	  cp $$f $$JARDIR/$$f; \
727081
+	  touch -r $$JARDIR.stamp $$JARDIR/$$f; \
727081
+	done; \
727081
+	touch -r $$JARDIR.stamp `find $$JARDIR -type d`; \
727081
+	cd $$JARDIR; \
727081
+	find java gnu javax org -type d -o -type f | \
727081
+	  LC_ALL=C sort | $(ZIP) cfM0E@ ../libjava/$@ || exit 1; \
727081
+	cd -; \
727081
+	rm -rf $$JARDIR $$JARDIR.stamp
727081
 
727081
 clean-local:
727081
 	find . -name '*.class' -print | xargs rm -f