Mercurial > hg > release > icedtea7-2.6
changeset 2012:853eaa194f9a
One jar to rule them all and simplify the build.
2009-10-28 Andrew John Hughes <ahughes@redhat.com>
* Makefile.am:
Have one jar to rule them all (rt.jar)
and make others (tools.jar, rt-closed.jar)
symlinks to it. Remove the hotspot-tools
target and do all patching, etc. prior to
building rt.jar. Use zip rather than jar
to update rt.jar for efficiency.
author | Andrew John Hughes <ahughes@redhat.com> |
---|---|
date | Wed, 28 Oct 2009 22:42:45 +0000 |
parents | 1a7fa6604936 |
children | c2763f965b2d |
files | ChangeLog Makefile.am |
diffstat | 2 files changed, 101 insertions(+), 171 deletions(-) [+] |
line wrap: on
line diff
--- a/ChangeLog Wed Oct 28 01:09:18 2009 +0000 +++ b/ChangeLog Wed Oct 28 22:42:45 2009 +0000 @@ -1,3 +1,13 @@ +2009-10-28 Andrew John Hughes <ahughes@redhat.com> + + * Makefile.am: + Have one jar to rule them all (rt.jar) + and make others (tools.jar, rt-closed.jar) + symlinks to it. Remove the hotspot-tools + target and do all patching, etc. prior to + building rt.jar. Use zip rather than jar + to update rt.jar for efficiency. + 2009-10-27 Andrew John Hughes <ahughes@redhat.com> * Makefile.am: Bump to b74.
--- a/Makefile.am Wed Oct 28 01:09:18 2009 +0000 +++ b/Makefile.am Wed Oct 28 22:42:45 2009 +0000 @@ -64,13 +64,34 @@ CORBA = openjdk/corba/src/share/classes JAXWS = openjdk/jaxws/src/share/classes +NETX_SRCDIR = $(abs_top_srcdir)/netx +NETX_RESOURCE_DIR=$(NETX_SRCDIR)/net/sourceforge/jnlp/resources + OPENJDK_SOURCEPATH_DIRS = \ - $(JDK_SHARE):$(JDK_SOLARIS):$(LANGTOOLS):$(JAXP):$(CORBA):$(JAXWS) + $(JDK_SHARE):$(JDK_SOLARIS):$(LANGTOOLS):$(JAXP):$(CORBA):$(JAXWS):$(NETX_SRCDIR) SOURCEPATH_DIRS = $(abs_top_builddir)/generated:$(OPENJDK_SOURCEPATH_DIRS) -NETX_DIR=$(abs_top_srcdir)/netx/net/sourceforge -NETX_RESOURCE_DIR=$(NETX_DIR)/jnlp/resources +# Sources used from OpenJDK. +ICEDTEA_BOOTSTRAP_DIRS = \ + $(JDK_SHARE)/com/sun/jdi \ + $(JDK_SHARE)/com/sun/tools/jdi \ + $(JDK_SHARE)/com/sun/net/httpserver \ + $(JDK_SHARE)/java/io \ + $(JDK_SHARE)/java/security/cert \ + $(JDK_SHARE)/java/util \ + $(JDK_SHARE)/java/rmi \ + $(JDK_SHARE)/javax/net/ssl \ + $(JDK_SHARE)/javax/rmi/ssl \ + $(JDK_SHARE)/javax/script \ + $(JDK_SHARE)/javax/security/auth/kerberos \ + $(JDK_SHARE)/javax/security/sasl \ + $(JDK_SHARE)/sun/awt/ \ + $(JDK_SHARE)/sun/rmi/rmic \ + $(JDK_SHARE)/sun/tools/java \ + $(JAXWS)/javax/xml/bind \ + $(LANGTOOLS)/com/sun/mirror \ + $(LANGTOOLS)/com/sun/tools/apt IT_LANGUAGE_SOURCE_VERSION=5 IT_CLASS_TARGET_VERSION=5 @@ -680,13 +701,11 @@ rm -rf stamps rm -rf drops rm -f rt-source-files.txt \ - hotspot-tools-source-files.txt \ extra-source-files.txt \ netx-source-files.txt rm -rf bootstrap rm -rf lib rm -rf extra-lib - rm -rf hotspot-tools rm -rf rt/netscape rm -rf visualvm rm -rf netbeans @@ -720,7 +739,7 @@ clean-bootstrap-directory-symlink-stage1 icedtea icedtea-debug \ clean-icedtea icedtea-stage2 clean-icedtea-boot clean-plugs \ clean-tools-jar clean-visualvm clean-nbplatform \ - clean-hotspot-tools clean-rt $(ICEDTEAPLUGIN_CLEAN) \ + clean-rt $(ICEDTEAPLUGIN_CLEAN) \ $(ICEDTEANPPLUGIN_CLEAN) hotspot hotspot-helper clean-extra clean-jtreg \ clean-jtreg-reports @@ -1159,7 +1178,7 @@ rm -f stamps/extract-cacao.stamp # Link ports sources into tree -stamps/ports.stamp: stamps/extract.stamp +stamps/ports.stamp: stamps/extract-cacao.stamp for target in $(abs_top_srcdir)/ports/hotspot/make/*/makefiles/* \ $(abs_top_srcdir)/ports/hotspot/src/cpu/zero/vm/* \ $(abs_top_srcdir)/ports/hotspot/src/share/vm/*; do \ @@ -1179,7 +1198,7 @@ mkdir -p stamps touch stamps/ports.stamp -stamps/generated.stamp: stamps/extract-cacao.stamp +stamps/generated.stamp: stamps/ports.stamp if [ ! -e $(abs_top_builddir)/generated ]; then \ cp -a $(abs_top_srcdir)/generated $(abs_top_builddir); \ find $(abs_top_builddir)/generated -type f -exec chmod 640 '{}' ';' \ @@ -1475,18 +1494,6 @@ rm -f bootstrap/boot/include/$$i; \ ln -s $(SYSTEM_JDK_DIR)/include/$$i bootstrap/boot/include/$$i; \ done; \ - if test -f $(abs_top_builddir)/bootstrap/jdk1.7.0/lib/tools.jar ; \ - then \ - mkdir -p $(abs_top_builddir)/bootstrap/boot/lib ; \ - ln -sf $(abs_top_builddir)/bootstrap/jdk1.7.0/lib/tools.jar \ - $(abs_top_builddir)/bootstrap/boot/lib/tools.jar ; \ - fi - if test -f \ - $(abs_top_builddir)/bootstrap/jdk1.7.0/jre/lib/rt-closed.jar ; \ - then \ - cp $(abs_top_builddir)/bootstrap/jdk1.7.0/jre/lib/rt-closed.jar \ - $(abs_top_builddir)/bootstrap/boot/jre/lib/rt.jar ; \ - fi mkdir -p stamps touch stamps/bootstrap-directory-stage1.stamp @@ -1545,7 +1552,7 @@ # If you change anything here in the icedtea target, please make sure # you change it in the icedtea-debug target as well. stamps/icedtea.stamp: stamps/bootstrap-directory-symlink-stage2.stamp \ - stamps/ports.stamp stamps/patch.stamp stamps/overlay.stamp \ + stamps/ports.stamp stamps/overlay.stamp \ $(ICEDTEAPLUGIN_TARGET) $(ICEDTEANPPLUGIN_TARGET) $(JNLP_ABOUT_TARGET) \ stamps/cacao.stamp stamps/netx-dist.stamp stamps/liveconnect.stamp \ stamps/pulse-java.stamp @@ -1711,9 +1718,8 @@ # =================== stamps/icedtea-boot.stamp: stamps/bootstrap-directory-symlink-stage1.stamp \ - stamps/hotspot-tools.stamp stamps/plugs.stamp stamps/netx-dist.stamp \ - stamps/liveconnect.stamp stamps/ports.stamp stamps/patch-boot.stamp \ - stamps/cacao.stamp + stamps/plugs.stamp stamps/netx-dist.stamp stamps/liveconnect.stamp \ + stamps/ports.stamp stamps/patch-boot.stamp stamps/cacao.stamp $(ARCH_PREFIX) $(MAKE) \ $(ICEDTEA_ENV_BOOT) \ -C openjdk-boot \ @@ -1735,8 +1741,7 @@ @echo "Hotspot is served:" $(BOOT_BUILD_OUTPUT_DIR)/j2sdk-image hotspot-helper: stamps/bootstrap-directory-symlink-stage1.stamp \ - stamps/hotspot-tools.stamp stamps/plugs.stamp \ - stamps/ports.stamp stamps/patch-boot.stamp + stamps/plugs.stamp stamps/ports.stamp stamps/patch-boot.stamp $(ARCH_PREFIX) $(MAKE) \ $(ICEDTEA_ENV_BOOT) \ -C openjdk-boot hotspot @@ -1831,7 +1836,7 @@ rm -f IcedTeaPlugin.so endif -stamps/liveconnect.stamp: stamps/hotspot-tools.stamp +stamps/liveconnect.stamp: stamps/rt-class-files.stamp if test "x${LIVECONNECT_DIR}" != x; then \ $(ICEDTEA_BOOT_DIR)/bin/jar cf lib/classes.jar $(LIVECONNECT_DIR) ; \ fi @@ -1845,14 +1850,14 @@ # a patch applied to sun.plugin.AppletViewerPanel and generated sources netx-source-files.txt: - find $(abs_top_srcdir)/netx -name '*.java' | sort > $@ + find $(NETX_SRCDIR) -name '*.java' | sort > $@ -stamps/netx.stamp: netx-source-files.txt stamps/hotspot-tools.stamp +stamps/netx.stamp: netx-source-files.txt stamps/rt-class-files.stamp mkdir -p $(abs_top_builddir)/netx.build $(ICEDTEA_BOOT_DIR)/bin/javac $(MEMORY_LIMIT) $(IT_JAVACFLAGS) \ -d $(abs_top_builddir)/netx.build \ - -classpath $(abs_top_builddir)/lib/hotspot-tools \ - -sourcepath $(abs_top_srcdir)/netx:$(SOURCEPATH_DIRS): \ + -classpath $(abs_top_builddir)/lib/rt \ + -sourcepath $(SOURCEPATH_DIRS) \ -bootclasspath \'\' \ @netx-source-files.txt ; mkdir -p stamps @@ -1862,7 +1867,7 @@ (cd $(abs_top_builddir)/netx.build ; \ mkdir -p lib ; \ $(ICEDTEA_BOOT_DIR)/bin/jar cf lib/classes.jar javax/jnlp net ; \ - cp -a $(abs_top_srcdir)/netx src; \ + cp -a $(NETX_SRCDIR) src; \ find src -type f -exec chmod 640 '{}' ';' -o -type d -exec chmod 750 '{}' ';'; \ cd src ; \ $(ICEDTEA_BOOT_DIR)/bin/jar uf $(abs_top_builddir)/netx.build/lib/classes.jar \ @@ -1877,7 +1882,7 @@ stamps/extra-class-files.stamp: extra-source-files.txt stamps/netx.stamp mkdir -p extra-lib $(ICEDTEA_BOOT_DIR)/bin/javac $(MEMORY_LIMIT) $(IT_JAVACFLAGS) -d extra-lib \ - -classpath $(abs_top_builddir)/lib/hotspot-tools \ + -classpath $(abs_top_builddir)/lib/rt \ -sourcepath $(abs_top_srcdir)/extra:$(SOURCEPATH_DIRS) \ -bootclasspath \'\' \ @extra-source-files.txt ; \ @@ -2038,7 +2043,7 @@ # CACAO -stamps/cacao.stamp: stamps/extract.stamp stamps/rt-class-files.stamp +stamps/cacao.stamp: stamps/rt-class-files.stamp if BUILD_CACAO if !USE_SYSTEM_CACAO cd cacao/cacao && \ @@ -2275,141 +2280,62 @@ # Support classes for non-OpenJDK bootstraps -stamps/plugs.stamp: bootstrap/jdk1.7.0/jre/lib/rt-closed.jar +rt-source-files.txt: stamps/overlay.stamp + $(FIND) $(abs_top_builddir)/rt -name '*.java' \ + | sort -u > $@ + for dir in $(ICEDTEA_BOOTSTRAP_DIRS) ; \ + do \ + $(FIND) $(abs_top_builddir)/$$dir -name '*.java' >> $@; \ + done + +stamps/rt-class-files.stamp: $(INITIAL_BOOTSTRAP_LINK_STAMP) rt-source-files.txt + mkdir -p lib/rt + $(ICEDTEA_BOOT_DIR)/bin/javac $(MEMORY_LIMIT) $(IT_JAVACFLAGS) -d lib/rt \ + -sourcepath '$(SOURCEPATH_DIRS)' \ + -bootclasspath \'\' @rt-source-files.txt ; + mkdir -p stamps + touch stamps/rt-class-files.stamp + +stamps/rt.stamp: stamps/rt-class-files.stamp + (cd lib/rt ; \ + $(ZIP) -qur $(abs_top_builddir)/bootstrap/boot/jre/lib/rt.jar \ + com java javax sun ); + mkdir -p stamps + touch stamps/rt.stamp + +clean-rt: + rm -rf lib/rt + rm -f stamps/rt-class-files.stamp stamps/rt.stamp + rm -f rt-source-files.txt + +# tools.jar +bootstrap/jdk1.7.0/lib/tools.jar: stamps/rt.stamp + mkdir -p bootstrap/boot/lib + ln -sf $(abs_top_builddir)/bootstrap/boot/jre/lib/rt.jar \ + $(abs_top_builddir)/bootstrap/boot/lib/tools.jar + mkdir -p bootstrap/jdk1.7.0/lib + ln -sf $(abs_top_builddir)/bootstrap/boot/lib/tools.jar \ + $(abs_top_builddir)/bootstrap/jdk1.7.0/lib/tools.jar + +clean-tools-jar: + rm -f bootstrap/jdk1.7.0/lib/tools.jar + rm -f bootstrap/boot/lib/tools.jar + +# rt-closed.jar. +bootstrap/jdk1.7.0/jre/lib/rt-closed.jar: stamps/rt.stamp + mkdir -p bootstrap/jdk1.7.0/jre/lib + ln -sf ${abs_top_builddir}/bootstrap/boot/jre/lib/rt.jar \ + bootstrap/jdk1.7.0/jre/lib/rt-closed.jar + +stamps/plugs.stamp: bootstrap/jdk1.7.0/jre/lib/rt-closed.jar \ + bootstrap/jdk1.7.0/lib/tools.jar mkdir -p stamps touch stamps/plugs.stamp -stamps/hotspot-tools.stamp: bootstrap/jdk1.7.0/lib/tools.jar - mkdir -p stamps - touch stamps/hotspot-tools.stamp - -clean-plugs: clean-plugs clean-rt +clean-plugs: clean-tools-jar clean-rt rm -f stamps/plugs.stamp rm -f bootstrap/jdk1.7.0/jre/lib/rt-closed.jar -clean-tools-jar: clean-hotspot-tools - rm -f stamps/hotspot-tools.stamp - rm -f bootstrap/jdk1.7.0/lib/tools.jar - -# Sources used from OpenJDK. -ICEDTEA_BOOTSTRAP_DIRS = \ - $(JDK_SHARE)/com/sun/jdi \ - $(JDK_SHARE)/com/sun/tools/jdi \ - $(JDK_SHARE)/com/sun/net/httpserver \ - $(JDK_SHARE)/java/io \ - $(JDK_SHARE)/java/security/cert \ - $(JDK_SHARE)/java/util \ - $(JDK_SHARE)/java/rmi \ - $(JDK_SHARE)/javax/net/ssl \ - $(JDK_SHARE)/javax/rmi/ssl \ - $(JDK_SHARE)/javax/script \ - $(JDK_SHARE)/javax/security/auth/kerberos \ - $(JDK_SHARE)/javax/security/sasl \ - $(JDK_SHARE)/sun/awt/ \ - $(JAXWS)/javax/xml/bind - -# tools.jar class files. -stamps/hotspot-tools-copy-source-files.stamp: stamps/overlay.stamp - for copy_dir in \ - `cat $(abs_top_srcdir)/tools-copy/tools-jdk-copy-files.txt` ; \ - do \ - mkdir -p hotspot-tools/$$copy_dir ; \ - cp -pPRf openjdk/jdk/src/share/classes/$$copy_dir/* \ - hotspot-tools/$$copy_dir ; \ - done - for copy_dir in \ - `cat $(abs_top_srcdir)/tools-copy/tools-langtools-copy-files.txt` ; \ - do \ - mkdir -p hotspot-tools/$$copy_dir ; \ - cp -pPRf openjdk/langtools/src/share/classes/$$copy_dir/* \ - hotspot-tools/$$copy_dir ; \ - done - for copy_dir in \ - `cat $(abs_top_srcdir)/tools-copy/tools-corba-copy-files.txt` ; \ - do \ - mkdir -p hotspot-tools/$$copy_dir ; \ - cp -pPRf openjdk/corba/src/share/classes/$$copy_dir/* \ - hotspot-tools/$$copy_dir ; \ - done - for copy_dir in \ - `cat $(abs_top_srcdir)/tools-copy/tools-jaxws-copy-files.txt` ; \ - do \ - mkdir -p hotspot-tools/$$copy_dir ; \ - cp -pPRf openjdk/jaxws/src/share/classes/$$copy_dir/* \ - hotspot-tools/$$copy_dir ; \ - done - mkdir -p stamps - touch stamps/hotspot-tools-copy-source-files.stamp - -hotspot-tools-source-files.txt: stamps/generated.stamp \ - stamps/hotspot-tools-copy-source-files.stamp - find hotspot-tools -name '*.java' | sort > $@ - mkdir -p lib/hotspot-tools - -stamps/hotspot-tools-class-files.stamp: hotspot-tools-source-files.txt \ - $(INITIAL_BOOTSTRAP_LINK_STAMP) - $(ICEDTEA_BOOT_DIR)/bin/javac $(MEMORY_LIMIT) $(IT_JAVACFLAGS) \ - -d lib/hotspot-tools \ - -sourcepath \ - 'hotspot-tools:$(abs_top_srcdir)/netx:$(SOURCEPATH_DIRS)' \ - -bootclasspath \'\' @$< ; - mkdir -p stamps - touch stamps/hotspot-tools-class-files.stamp - -clean-hotspot-tools: - rm -rf lib/hotspot-tools - rm -f stamps/hotspot-tools-class-files.stamp - rm -f hotspot-tools-source-files.txt - rm -f stamps/hotspot-tools-copy-source-files.stamp - -# tools.jar -bootstrap/jdk1.7.0/lib/tools.jar: stamps/hotspot-tools-class-files.stamp - mkdir -p bootstrap/jdk1.7.0/lib/ - $(ICEDTEA_BOOT_DIR)/bin/jar cf $@ -C lib/hotspot-tools com \ - -C lib/hotspot-tools sun \ - -C lib/hotspot-tools org -C lib/hotspot-tools java \ - -C lib/hotspot-tools javax ; - if test -d bootstrap/boot ; \ - then \ - mkdir -p bootstrap/boot/lib/; \ - ln -sf $(abs_top_builddir)/bootstrap/jdk1.7.0/lib/tools.jar \ - $(abs_top_builddir)/bootstrap/boot/lib/tools.jar; \ - fi - -# rt-closed.jar class files. -rt-source-files.txt: stamps/extract.stamp - find $(abs_top_builddir)/rt -name '*.java' \ - | sort -u > $@ - for dir in $(ICEDTEA_BOOTSTRAP_DIRS) ; \ - do \ - find $(abs_top_builddir)/$$dir -name '*.java' >> $@; \ - done - -stamps/rt-class-files.stamp: rt-source-files.txt stamps/hotspot-tools.stamp - mkdir -p lib/rt - $(ICEDTEA_BOOT_DIR)/bin/javac $(MEMORY_LIMIT) $(IT_JAVACFLAGS) -d lib/rt \ - -classpath $(abs_top_builddir)/lib/hotspot-tools \ - -sourcepath '$(SOURCEPATH_DIRS)' \ - -bootclasspath \'\' @$< ; - mkdir -p stamps - touch stamps/rt-class-files.stamp - -clean-rt: - rm -rf lib/rt - rm -f stamps/rt-class-files.stamp - rm -f rt-source-files.txt - -# rt-closed.jar. -bootstrap/jdk1.7.0/jre/lib/rt-closed.jar: stamps/rt-class-files.stamp - if test -d bootstrap/boot/jre/lib ; \ - then \ - $(ICEDTEA_BOOT_DIR)/bin/jar uf bootstrap/boot/jre/lib/rt.jar \ - -C lib/rt com -C lib/rt java -C lib/rt javax -C lib/rt sun ; \ - mkdir -p bootstrap/jdk1.7.0/jre/lib ; \ - ln -sf ${abs_top_builddir}/bootstrap/boot/jre/lib/rt.jar \ - bootstrap/jdk1.7.0/jre/lib/rt-closed.jar ; \ - fi - # Target Aliases # =============== @@ -2471,18 +2397,12 @@ plugs: stamps/plugs.stamp +rt: stamps/rt.stamp + rt-class-files: stamps/rt-class-files.stamp -hotspot-tools-class-files: stamps/hotspot-tools-class-files.stamp - -hotspot-tools-copy-source-files: stamps/hotspot-tools-copy-source-files.stamp - -hotspot-tools: stamps/hotspot-tools.stamp - hotspot-ports: stamps/ports.stamp -tools-class-files: stamps/tools-class-files.stamp - clean: distclean-local jtreg: stamps/jtreg.stamp