Mercurial > hg > icedtea7
changeset 2803:833edf800116
PR1816: Split download/extraction rules for OpenJDK so they can run in parallel
2015-07-06 Andrew John Hughes <gnu.andrew@member.fsf.org>
PR1816: Split download/extraction rules for OpenJDK
so they can run in parallel
* Makefile.am:
(.PHONY): Add new clean-download-* and
clean-extract-* targets.
(download): Depend on download-{corba,hotspot,
jaxp,jaxws,jdk,langtools}.
(clean-download): Depend on
clean-download-{hotspot,corba,jaxp,jaxws,jdk,langtools}.
(download-openjdk): Don't do Mercurial checkout here.
Do it as part of extract. Split corba, jaxp, jaxws,
jdk and langtools downloads into their own targets.
(download-corba): Split from download-openjdk.
(download-jaxp): Likewise.
(download-jaxws): Likewise.
(download-jdk): Likewise.
(download-langtools): Likewise.
(clean-download-openjdk): Don't depend on
clean-download-hotspot. Split corba, jaxp, jaxws,
jdk and langtools cleanup into their own targets.
(clean-download-corba): Split from clean-download-openjdk.
(clean-download-jaxp): Likewise.
(clean-download-jaxws): Likewise.
(clean-download-jdk): Likewise.
(clean-download-langtools): Likewise.
(download-hotspot): No need to depend on download-openjdk.
(extract): Depend on extract-{corba,jaxp,jaxws,jdk,langtools}.
(extract-openjdk): Add cloning of root repository here.
Split extraction of corba, jaxp, jaxws, jdk and langtools
into their own targets.
(clean-extract-openjdk): Depend on
clean-extract-{jdk,jaxp,jaxws,corba,langtools}.
(extract-corba): Split from extract-openjdk.
(clean-extract-corba): New target to just remove corba.
(extract-jaxp): Split from extract-openjdk.
(clean-extract-jaxp): New target to just remove jaxp.
(extract-jaxws): Split from extract-openjdk.
(clean-extract-jaxws): New target to just remove jaxws.
(extract-jdk): Split from extract-openjdk.
(clean-extract-jdk): New target to just remove jdk.
(extract-langtools): Split from extract-openlangtools.
(clean-extract-langtools): New target to just remove langtools.
(extract-hotspot): Handle Mercurial checkout.
(sanitise-openjdk): Depend on extract-{jdk,langtools,corba,jaxp,jaxws}.
(add-nss): Depend on extract-jdk.
* NEWS: Updated.
author | Andrew John Hughes <gnu_andrew@member.fsf.org> |
---|---|
date | Tue, 07 Jul 2015 14:48:54 +0100 |
parents | 4ef5eeb4a284 |
children | de9d540d2cb8 |
files | ChangeLog Makefile.am NEWS |
diffstat | 3 files changed, 246 insertions(+), 23 deletions(-) [+] |
line wrap: on
line diff
--- a/ChangeLog Mon Jun 15 14:48:50 2015 +0100 +++ b/ChangeLog Tue Jul 07 14:48:54 2015 +0100 @@ -1,3 +1,52 @@ +2015-07-06 Andrew John Hughes <gnu.andrew@member.fsf.org> + + PR1816: Split download/extraction rules for OpenJDK + so they can run in parallel + * Makefile.am: + (.PHONY): Add new clean-download-* and + clean-extract-* targets. + (download): Depend on download-{corba,hotspot, + jaxp,jaxws,jdk,langtools}. + (clean-download): Depend on + clean-download-{hotspot,corba,jaxp,jaxws,jdk,langtools}. + (download-openjdk): Don't do Mercurial checkout here. + Do it as part of extract. Split corba, jaxp, jaxws, + jdk and langtools downloads into their own targets. + (download-corba): Split from download-openjdk. + (download-jaxp): Likewise. + (download-jaxws): Likewise. + (download-jdk): Likewise. + (download-langtools): Likewise. + (clean-download-openjdk): Don't depend on + clean-download-hotspot. Split corba, jaxp, jaxws, + jdk and langtools cleanup into their own targets. + (clean-download-corba): Split from clean-download-openjdk. + (clean-download-jaxp): Likewise. + (clean-download-jaxws): Likewise. + (clean-download-jdk): Likewise. + (clean-download-langtools): Likewise. + (download-hotspot): No need to depend on download-openjdk. + (extract): Depend on extract-{corba,jaxp,jaxws,jdk,langtools}. + (extract-openjdk): Add cloning of root repository here. + Split extraction of corba, jaxp, jaxws, jdk and langtools + into their own targets. + (clean-extract-openjdk): Depend on + clean-extract-{jdk,jaxp,jaxws,corba,langtools}. + (extract-corba): Split from extract-openjdk. + (clean-extract-corba): New target to just remove corba. + (extract-jaxp): Split from extract-openjdk. + (clean-extract-jaxp): New target to just remove jaxp. + (extract-jaxws): Split from extract-openjdk. + (clean-extract-jaxws): New target to just remove jaxws. + (extract-jdk): Split from extract-openjdk. + (clean-extract-jdk): New target to just remove jdk. + (extract-langtools): Split from extract-openlangtools. + (clean-extract-langtools): New target to just remove langtools. + (extract-hotspot): Handle Mercurial checkout. + (sanitise-openjdk): Depend on extract-{jdk,langtools,corba,jaxp,jaxws}. + (add-nss): Depend on extract-jdk. + * NEWS: Updated. + 2015-06-15 Andrew John Hughes <gnu.andrew@member.fsf.org> * NEWS:
--- a/Makefile.am Mon Jun 15 14:48:50 2015 +0100 +++ b/Makefile.am Tue Jul 07 14:48:54 2015 +0100 @@ -838,7 +838,10 @@ clean-add-tzdata-support-boot \ clean-check-crypto clean-check-crypto-debug clean-check-crypto-boot \ clean-add-archive clean-add-archive-debug clean-add-archive-boot clean-cryptocheck \ - clean-download-hotspot + clean-download-hotspot clean-download-corba clean-download-jaxp \ + clean-download-jaxws clean-download-langtools clean-download-jdk clean-download-openjdk \ + clean-extract-corba clean-extract-jaxp clean-extract-jaxws clean-extract-jdk \ + clean-extract-langtools env: @echo 'unset JAVA_HOME' @@ -870,22 +873,22 @@ # Download OpenJDK sources. -stamps/download.stamp: stamps/download-openjdk.stamp \ - stamps/download-cacao.stamp stamps/download-jamvm.stamp stamps/download-hotspot.stamp +stamps/download.stamp: stamps/download-openjdk.stamp stamps/download-corba.stamp \ + stamps/download-jaxp.stamp stamps/download-jaxws.stamp stamps/download-jdk.stamp \ + stamps/download-cacao.stamp stamps/download-jamvm.stamp stamps/download-hotspot.stamp \ + stamps/download-langtools.stamp mkdir -p stamps touch $@ -clean-download: clean-download-openjdk clean-download-cacao clean-download-jamvm +clean-download: clean-download-openjdk clean-download-cacao clean-download-jamvm \ + clean-download-hotspot clean-download-corba clean-download-jaxp clean-download-jaxws \ + clean-download-jdk clean-download-langtools rm -f stamps/download.stamp stamps/download-openjdk.stamp: if OPENJDK_SRC_DIR_FOUND else if USE_HG - $(HG) clone $(REV_ARG) $(ICEDTEA_HG_URL) openjdk; - for repos in corba jaxp jaxws langtools jdk ; do \ - $(HG) clone $(REV_ARG) $(ICEDTEA_HG_URL)/$${repos} openjdk/$${repos}; \ - done else if USE_ALT_OPENJDK_SRC_ZIP ln -sf $(ALT_OPENJDK_SRC_ZIP) $(OPENJDK_SRC_ZIP) @@ -906,6 +909,16 @@ echo "ERROR: No up-to-date OpenJDK root zip available"; exit -1; \ fi ; \ fi ; +endif +endif + mkdir -p stamps + touch $@ + +stamps/download-corba.stamp: +if OPENJDK_SRC_DIR_FOUND +else +if USE_HG +else if USE_ALT_CORBA_SRC_ZIP ln -sf $(ALT_CORBA_SRC_ZIP) $(CORBA_SRC_ZIP) endif @@ -925,6 +938,16 @@ echo "ERROR: No up-to-date OpenJDK CORBA zip available"; exit -1; \ fi ; \ fi ; +endif +endif + mkdir -p stamps + touch $@ + +stamps/download-jaxp.stamp: +if OPENJDK_SRC_DIR_FOUND +else +if USE_HG +else if USE_ALT_JAXP_SRC_ZIP ln -sf $(ALT_JAXP_SRC_ZIP) $(JAXP_SRC_ZIP) endif @@ -944,6 +967,16 @@ echo "ERROR: No up-to-date JAXP root zip available"; exit -1; \ fi ; \ fi ; +endif +endif + mkdir -p stamps + touch $@ + +stamps/download-jaxws.stamp: +if OPENJDK_SRC_DIR_FOUND +else +if USE_HG +else if USE_ALT_JAXWS_SRC_ZIP ln -sf $(ALT_JAXWS_SRC_ZIP) $(JAXWS_SRC_ZIP) endif @@ -963,6 +996,16 @@ echo "ERROR: No up-to-date OpenJDK JAXWS zip available"; exit -1; \ fi ; \ fi ; +endif +endif + mkdir -p stamps + touch $@ + +stamps/download-jdk.stamp: +if OPENJDK_SRC_DIR_FOUND +else +if USE_HG +else if USE_ALT_JDK_SRC_ZIP ln -sf $(ALT_JDK_SRC_ZIP) $(JDK_SRC_ZIP) endif @@ -982,6 +1025,16 @@ echo "ERROR: No up-to-date OpenJDK JDK zip available"; exit -1; \ fi ; \ fi ; +endif +endif + mkdir -p stamps + touch $@ + +stamps/download-langtools.stamp: +if OPENJDK_SRC_DIR_FOUND +else +if USE_HG +else if USE_ALT_LANGTOOLS_SRC_ZIP ln -sf $(ALT_LANGTOOLS_SRC_ZIP) $(LANGTOOLS_SRC_ZIP) endif @@ -1006,26 +1059,41 @@ mkdir -p stamps touch $@ -clean-download-openjdk: clean-download-hotspot +clean-download-openjdk: if [ ! -z $(OPENJDK_SRC_ZIP) ] ; then \ rm -f $(OPENJDK_SRC_ZIP) ; \ fi + rm -f stamps/download-openjdk.stamp + +clean-download-corba: if [ ! -z $(CORBA_SRC_ZIP) ] ; then \ rm -f $(CORBA_SRC_ZIP) ; \ fi + rm -f stamps/download-corba.stamp + +clean-download-jaxp: if [ ! -z $(JAXP_SRC_ZIP) ] ; then \ rm -f $(JAXP_SRC_ZIP) ; \ fi + rm -f stamps/download-jaxp.stamp + +clean-download-jaxws: if [ ! -z $(JAXWS_SRC_ZIP) ] ; then \ rm -f $(JAXWS_SRC_ZIP) ; \ fi + rm -f stamps/download-jaxws.stamp + +clean-download-jdk: if [ ! -z $(JDK_SRC_ZIP) ] ; then \ rm -f $(JDK_SRC_ZIP) ; \ fi + rm -f stamps/download-jdk.stamp + +clean-download-langtools: if [ ! -z $(LANGTOOLS_SRC_ZIP) ] ; then \ rm -f $(LANGTOOLS_SRC_ZIP) ; \ fi - rm -f stamps/download-openjdk.stamp + rm -f stamps/download-langtools.stamp stamps/download-cacao.stamp: if BUILD_CACAO @@ -1090,11 +1158,10 @@ rm -f $(JAMVM_SRC_ZIP) rm -f stamps/download-jamvm.stamp -stamps/download-hotspot.stamp: stamps/download-openjdk.stamp +stamps/download-hotspot.stamp: if OPENJDK_SRC_DIR_FOUND else if USE_HG - $(HG) clone $(REV_ARG) $(HS_URL) openjdk/hotspot else if USE_ALT_HOTSPOT_SRC_ZIP ln -sf $(ALT_HOTSPOT_SRC_ZIP) $(HOTSPOT_SRC_ZIP) @@ -1135,8 +1202,9 @@ fi rm -f stamps/download-hotspot.stamp -stamps/extract.stamp: stamps/extract-openjdk.stamp \ - stamps/extract-cacao.stamp stamps/remove-intree-libraries.stamp \ +stamps/extract.stamp: stamps/extract-openjdk.stamp stamps/extract-corba.stamp \ + stamps/extract-jaxp.stamp stamps/extract-jaxws.stamp stamps/extract-jdk.stamp \ + stamps/extract-cacao.stamp stamps/remove-intree-libraries.stamp stamps/extract-langtools.stamp \ stamps/extract-jamvm.stamp stamps/extract-hotspot.stamp stamps/sanitise-openjdk.stamp mkdir -p stamps touch $@ @@ -1148,6 +1216,9 @@ if OPENJDK_SRC_DIR_FOUND cp -pPR $(OPENJDK_SRC_DIR_LINK) $(OPENJDK_SRC_DIR) openjdk else +if USE_HG + $(HG) clone $(REV_ARG) $(ICEDTEA_HG_URL) openjdk; +else set -e ; \ if ! test -d openjdk ; then \ if [ ! -z $(OPENJDK_SRC_ZIP) ] ; then \ @@ -1161,6 +1232,24 @@ false; \ fi; \ fi; +endif +endif + touch $@ + +clean-extract-openjdk: clean-overlay clean-versioning \ + clean-patch-fsg clean-remove-intree-libraries \ + clean-sanitise-openjdk clean-extract-hotspot \ + clean-extract-jdk clean-extract-jaxp clean-extract-jaxws \ + clean-extract-corba clean-extract-langtools + rm -rf openjdk + rm -f stamps/extract-openjdk.stamp + +stamps/extract-corba.stamp: stamps/extract-openjdk.stamp stamps/download-corba.stamp +if OPENJDK_SRC_DIR_FOUND +else +if USE_HG + $(HG) clone $(REV_ARG) $(ICEDTEA_HG_URL)/corba openjdk/corba +else set -e ; \ if [ ! -z $(CORBA_SRC_ZIP) ] ; then \ if test -e ${CORBA_SRC_ZIP} ; \ @@ -1175,6 +1264,20 @@ fi ; \ fi ; \ fi +endif +endif + touch $@ + +clean-extract-corba: + rm -rf openjdk/corba + rm -f stamps/extract-corba.stamp + +stamps/extract-jaxp.stamp: stamps/extract-openjdk.stamp stamps/download-jaxp.stamp +if OPENJDK_SRC_DIR_FOUND +else +if USE_HG + $(HG) clone $(REV_ARG) $(ICEDTEA_HG_URL)/jaxp openjdk/jaxp +else set -e ; \ if [ ! -z $(JAXP_SRC_ZIP) ] ; then \ if test -e ${JAXP_SRC_ZIP} ; \ @@ -1189,6 +1292,20 @@ fi ; \ fi ; \ fi +endif +endif + touch $@ + +clean-extract-jaxp: + rm -rf openjdk/jaxp + rm -f stamps/extract-jaxp.stamp + +stamps/extract-jaxws.stamp: stamps/extract-openjdk.stamp stamps/download-jaxws.stamp +if OPENJDK_SRC_DIR_FOUND +else +if USE_HG + $(HG) clone $(REV_ARG) $(ICEDTEA_HG_URL)/jaxws openjdk/jaxws +else set -e ; \ if [ ! -z $(JAXWS_SRC_ZIP) ] ; then \ if test -e ${JAXWS_SRC_ZIP} ; \ @@ -1203,6 +1320,20 @@ fi ; \ fi ; \ fi +endif +endif + touch $@ + +clean-extract-jaxws: + rm -rf openjdk/jaxws + rm -f stamps/extract-jaxws.stamp + +stamps/extract-jdk.stamp: stamps/extract-openjdk.stamp stamps/download-jdk.stamp +if OPENJDK_SRC_DIR_FOUND +else +if USE_HG + $(HG) clone $(REV_ARG) $(ICEDTEA_HG_URL)/jdk openjdk/jdk +else set -e ; \ if [ ! -z $(JDK_SRC_ZIP) ] ; then \ if test -e ${JDK_SRC_ZIP} ; \ @@ -1217,6 +1348,20 @@ fi ; \ fi ; \ fi +endif +endif + touch $@ + +clean-extract-jdk: + rm -rf openjdk/jdk + rm -f stamps/extract-jdk.stamp + +stamps/extract-langtools.stamp: stamps/extract-openjdk.stamp stamps/download-langtools.stamp +if OPENJDK_SRC_DIR_FOUND +else +if USE_HG + $(HG) clone $(REV_ARG) $(ICEDTEA_HG_URL)/langtools openjdk/langtools +else set -e ; \ if [ ! -z $(LANGTOOLS_SRC_ZIP) ] ; then \ if test -e ${LANGTOOLS_SRC_ZIP} ; \ @@ -1232,15 +1377,19 @@ fi ; \ fi endif - touch stamps/extract-openjdk.stamp +endif + touch $@ -clean-extract-openjdk: clean-overlay clean-versioning \ - clean-patch-fsg clean-remove-intree-libraries \ - clean-sanitise-openjdk clean-extract-hotspot - rm -rf openjdk - rm -f stamps/extract-openjdk.stamp +clean-extract-langtools: + rm -rf openjdk/langtools + rm -f stamps/extract-langtools.stamp stamps/extract-hotspot.stamp: stamps/extract-openjdk.stamp stamps/download-hotspot.stamp +if OPENJDK_SRC_DIR_FOUND +else +if USE_HG + $(HG) clone $(REV_ARG) $(HS_URL) openjdk/hotspot +else set -e ; \ if [ ! -z $(HOTSPOT_SRC_ZIP) ] ; then \ if test -e ${HOTSPOT_SRC_ZIP} ; \ @@ -1260,14 +1409,18 @@ fi ; \ fi ; \ fi - touch stamps/extract-hotspot.stamp +endif +endif + touch $@ clean-extract-hotspot: rm -rf openjdk/hotspot rm -f stamps/extract-hotspot.stamp stamps/sanitise-openjdk.stamp: stamps/extract-openjdk.stamp \ - stamps/extract-hotspot.stamp + stamps/extract-hotspot.stamp stamps/extract-jdk.stamp \ + stamps/extract-langtools.stamp stamps/extract-corba.stamp \ + stamps/extract-jaxp.stamp stamps/extract-jaxws.stamp chmod -R ug+w openjdk chmod +x $(builddir)/fsg.sh sh $(builddir)/fsg.sh @@ -1765,7 +1918,7 @@ rm -rf $(BUILD_OUTPUT_DIR)/j2sdk-image/tapset rm -f stamps/add-systemtap.stamp -stamps/add-nss.stamp: stamps/extract-openjdk.stamp +stamps/add-nss.stamp: stamps/extract-jdk.stamp cp -v $(abs_top_builddir)/nss.cfg openjdk/jdk/src/share/lib/security; touch stamps/add-nss.stamp @@ -2610,20 +2763,40 @@ download-cacao: stamps/download-cacao.stamp +download-corba: stamps/download-corba.stamp + download-hotspot: stamps/download-hotspot.stamp download-jamvm: stamps/download-jamvm.stamp +download-jaxp: stamps/download-jaxp.stamp + +download-jaxws: stamps/download-jaxws.stamp + +download-jdk: stamps/download-jdk.stamp + +download-langtools: stamps/download-langtools.stamp + download-openjdk: stamps/download-openjdk.stamp extract: stamps/extract.stamp extract-cacao: stamps/extract-cacao.stamp +extract-corba: stamps/extract-corba.stamp + extract-openjdk: stamps/extract-openjdk.stamp extract-hotspot: stamps/extract-hotspot.stamp +extract-jaxp: stamps/extract-jaxp.stamp + +extract-jaxws: stamps/extract-jaxws.stamp + +extract-jdk: stamps/extract-jdk.stamp + +extract-langtools: stamps/extract-langtools.stamp + generated: stamps/generated.stamp icedtea: stamps/icedtea.stamp
--- a/NEWS Mon Jun 15 14:48:50 2015 +0100 +++ b/NEWS Tue Jul 07 14:48:54 2015 +0100 @@ -297,6 +297,7 @@ * Bug fixes - PR1661: Cleanup SYSTEM_GCONF option and allow it to be set false - PR1786: Allow x86 build to occur on x86_64 using a previously built x86_64 build + - PR1816: Split download/extraction rules for OpenJDK so they can run in parallel - PR1846: Build fails when using IcedTea7 as bootstrap JDK with native ecj - PR1847: Synchronise javac.in with IcedTea6 - PR2060: Fix warnings found by Gentoo ebuild QA with gcc 4.9.1