changeset 2637:45205ca060d2

PR1889: Allow tarball checksumming to be disabled 2016-03-21 Andrew John Hughes <gnu.andrew@member.fsf.org> PR1889: Allow tarball checksumming to be disabled * INSTALL: Document --disable-nashorn-checksum. * Makefile.am: (NASHORN_SHA256SUM_BIN): Define to either $(SHA256SUM) or true, depending on whether or not checksumming should be performed. (download-nashorn): Use NASHORN_SHA256SUM_BIN instead of SHA256SUM directly. * acinclude.m4: (IT_WITH_NASHORN_SRC_ZIP): Define only once. (IT_ENABLE_HOTSPOT_CHECKSUM): Provide --disable-nashorn-checksum option. * configure.ac: Replace call to IT_WITH_NASHORN_SRC_ZIP macros with call to IT_ENABLE_NASHORN_CHECKSUM macro, which in turn requires the IT_WITH_NASHORN_SRC_ZIP macro. 2015-07-15 Andrew John Hughes <gnu_andrew@member.fsf.org> PR1889: Allow tarball checksumming to be disabled * INSTALL: Document new options. * Makefile.am: (OPENJDK_SHA256SUM_BIN): Define to either $(SHA256SUM) or true, depending on whether or not checksumming should be performed. (CORBA_SHA256SUM_BIN): Likewise. (JAXP_SHA256SUM_BIN): Likewise. (JAXWS_SHA256SUM_BIN): Likewise. (JDK_SHA256SUM_BIN): Likewise. (LANGTOOLS_SHA256SUM_BIN): Likewise. (CACAO_SHA256SUM_BIN): Likewise. (JAMVM_SHA256SUM_BIN): Likewise. (HOTSPOT_SHA256SUM_BIN): Likewise. (download-openjdk): Use OPENJDK_SHA256SUM_BIN instead of SHA256SUM directly. (download-corba): Use CORBA_SHA256SUM_BIN instead of SHA256SUM directly. (download-jaxp): Use JAXP_SHA256SUM_BIN instead of SHA256SUM directly. (download-jaxws): Use JAXWS_SHA256SUM_BIN instead of SHA256SUM directly. (download-jdk): Use JDK_SHA256SUM_BIN instead of SHA256SUM directly. (download-langtools): Use LANGTOOLS_SHA256SUM_BIN instead of SHA256SUM directly. (download-cacao): Use CACAO_SHA256SUM_BIN instead of SHA256SUM directly. (download-jamvm): Use JAMVM_SHA256SUM_BIN instead of SHA256SUM directly. (download-hotspot): Use HOTSPOT_SHA256SUM_BIN instead of SHA256SUM directly. * NEWS: Updated. * acinclude.m4: (IT_WITH_OPENJDK_SRC_ZIP): Define only once. (IT_WITH_CACAO_SRC_ZIP): Likewise. (IT_WITH_HOTSPOT_SRC_ZIP): Likewise. (IT_WITH_CORBA_SRC_ZIP): Likewise. (IT_WITH_JAXP_SRC_ZIP): Likewise. (IT_WITH_JAXWS_SRC_ZIP): Likewise. (IT_WITH_JDK_SRC_ZIP): Likewise. (IT_WITH_LANGTOOLS_SRC_ZIP): Likewise. (IT_WITH_JAMVM_SRC_ZIP): Likewise. (IT_ENABLE_OPENJDK_CHECKSUM): Provide --disable-openjdk-checksum option. (IT_ENABLE_CORBA_CHECKSUM): Provide --disable-corba-checksum option. (IT_ENABLE_JAXP_CHECKSUM): Provide --disable-jaxp-checksum option. (IT_ENABLE_JAXWS_CHECKSUM): Provide --disable-jaxws-checksum option. (IT_ENABLE_JDK_CHECKSUM): Provide --disable-jdk-checksum option. (IT_ENABLE_LANGTOOLS_CHECKSUM): Provide --disable-langtools-checksum option. (IT_ENABLE_CACAO_CHECKSUM): Provide --disable-cacao-checksum option. (IT_ENABLE_JAMVM_CHECKSUM): Provide --disable-jamvm-checksum option. (IT_ENABLE_HOTSPOT_CHECKSUM): Provide --disable-hotspot-checksum option. * configure.ac: Replace calls to IT_WITH_X_SRC_ZIP macros with calls to IT_ENABLE_X_CHECKSUM macros, which in turn require the IT_WITH_X_SRC_ZIP macro.
author Andrew John Hughes <gnu_andrew@member.fsf.org>
date Mon, 21 Mar 2016 18:43:10 +0000
parents a44665755044
children 9fd836c4922e
files ChangeLog INSTALL Makefile.am NEWS acinclude.m4 configure.ac
diffstat 6 files changed, 480 insertions(+), 30 deletions(-) [+]
line wrap: on
line diff
--- a/ChangeLog	Mon Mar 21 05:50:11 2016 +0000
+++ b/ChangeLog	Mon Mar 21 18:43:10 2016 +0000
@@ -1,3 +1,92 @@
+2016-03-21  Andrew John Hughes  <gnu.andrew@member.fsf.org>
+
+	PR1889: Allow tarball checksumming to be disabled
+	* INSTALL: Document --disable-nashorn-checksum.
+	* Makefile.am:
+	(NASHORN_SHA256SUM_BIN): Define to either
+	$(SHA256SUM) or true, depending on whether or
+	not checksumming should be performed.
+	(download-nashorn): Use NASHORN_SHA256SUM_BIN
+	instead of SHA256SUM directly.
+	* acinclude.m4:
+	(IT_WITH_NASHORN_SRC_ZIP): Define only once.
+	(IT_ENABLE_HOTSPOT_CHECKSUM): Provide
+	--disable-nashorn-checksum option.
+	* configure.ac: Replace call to
+	IT_WITH_NASHORN_SRC_ZIP macros with call
+	to IT_ENABLE_NASHORN_CHECKSUM macro, which
+	in turn requires the IT_WITH_NASHORN_SRC_ZIP
+	macro.
+
+2015-07-15  Andrew John Hughes  <gnu_andrew@member.fsf.org>
+
+	PR1889: Allow tarball checksumming to be disabled
+	* INSTALL: Document new options.
+	* Makefile.am:
+	(OPENJDK_SHA256SUM_BIN): Define to either
+	$(SHA256SUM) or true, depending on whether or
+	not checksumming should be performed.
+	(CORBA_SHA256SUM_BIN): Likewise.
+	(JAXP_SHA256SUM_BIN): Likewise.
+	(JAXWS_SHA256SUM_BIN): Likewise.
+	(JDK_SHA256SUM_BIN): Likewise.
+	(LANGTOOLS_SHA256SUM_BIN): Likewise.
+	(CACAO_SHA256SUM_BIN): Likewise.
+	(JAMVM_SHA256SUM_BIN): Likewise.
+	(HOTSPOT_SHA256SUM_BIN): Likewise.
+	(download-openjdk): Use OPENJDK_SHA256SUM_BIN
+	instead of SHA256SUM directly.
+	(download-corba): Use CORBA_SHA256SUM_BIN
+	instead of SHA256SUM directly.
+	(download-jaxp): Use JAXP_SHA256SUM_BIN
+	instead of SHA256SUM directly.
+	(download-jaxws): Use JAXWS_SHA256SUM_BIN
+	instead of SHA256SUM directly.
+	(download-jdk): Use JDK_SHA256SUM_BIN
+	instead of SHA256SUM directly.
+	(download-langtools): Use LANGTOOLS_SHA256SUM_BIN
+	instead of SHA256SUM directly.
+	(download-cacao): Use CACAO_SHA256SUM_BIN
+	instead of SHA256SUM directly.
+	(download-jamvm): Use JAMVM_SHA256SUM_BIN
+	instead of SHA256SUM directly.
+	(download-hotspot): Use HOTSPOT_SHA256SUM_BIN
+	instead of SHA256SUM directly.
+	* NEWS: Updated.
+	* acinclude.m4:
+	(IT_WITH_OPENJDK_SRC_ZIP): Define only once.
+	(IT_WITH_CACAO_SRC_ZIP): Likewise.
+	(IT_WITH_HOTSPOT_SRC_ZIP): Likewise.
+	(IT_WITH_CORBA_SRC_ZIP): Likewise.
+	(IT_WITH_JAXP_SRC_ZIP): Likewise.
+	(IT_WITH_JAXWS_SRC_ZIP): Likewise.
+	(IT_WITH_JDK_SRC_ZIP): Likewise.
+	(IT_WITH_LANGTOOLS_SRC_ZIP): Likewise.
+	(IT_WITH_JAMVM_SRC_ZIP): Likewise.
+	(IT_ENABLE_OPENJDK_CHECKSUM): Provide
+	--disable-openjdk-checksum option.
+	(IT_ENABLE_CORBA_CHECKSUM): Provide
+	--disable-corba-checksum option.
+	(IT_ENABLE_JAXP_CHECKSUM): Provide
+	--disable-jaxp-checksum option.
+	(IT_ENABLE_JAXWS_CHECKSUM): Provide
+	--disable-jaxws-checksum option.
+	(IT_ENABLE_JDK_CHECKSUM): Provide
+	--disable-jdk-checksum option.
+	(IT_ENABLE_LANGTOOLS_CHECKSUM): Provide
+	--disable-langtools-checksum option.
+	(IT_ENABLE_CACAO_CHECKSUM): Provide
+	--disable-cacao-checksum option.
+	(IT_ENABLE_JAMVM_CHECKSUM): Provide
+	--disable-jamvm-checksum option.
+	(IT_ENABLE_HOTSPOT_CHECKSUM): Provide
+	--disable-hotspot-checksum option.
+	* configure.ac: Replace calls to
+	IT_WITH_X_SRC_ZIP macros with calls
+	to IT_ENABLE_X_CHECKSUM macros, which
+	in turn require the IT_WITH_X_SRC_ZIP
+	macro.
+
 2016-03-20  Andrew John Hughes  <gnu.andrew@member.fsf.org>
 
 	PR1815: Split download/extraction rules for OpenJDK
--- a/INSTALL	Mon Mar 21 05:50:11 2016 +0000
+++ b/INSTALL	Mon Mar 21 18:43:10 2016 +0000
@@ -122,19 +122,49 @@
     - /usr/share/java/ecj.jar
     - /usr/share/eclipse-ecj-3.{2,3,4,5}/lib/ecj.jar
 * --with-openjdk-src-zip: Specify the location of the OpenJDK tarball to avoid downloading.
+* --disable-openjdk-checksum: Don't check that the tarball specified by --with-openjdk-src-zip
+  has the same checksum as the expected OpenJDK source zip, so a locally modified version can
+  be used instead.
 * --with-hotspot-src-zip: Specify the location of the HotSpot tarball to avoid downloading.
+* --disable-hotspot-checksum: Don't check that the tarball specified by --with-hotspot-src-zip
+  has the same checksum as the expected HotSpot source zip, so a locally modified version can
+  be used instead.
 * --with-corba-src-zip: Specify the location of the CORBA tarball to avoid downloading.
+* --disable-corba-checksum: Don't check that the tarball specified by --with-corba-src-zip
+  has the same checksum as the expected CORBA source zip, so a locally modified version can
+  be used instead.
 * --with-jaxp-src-zip: Specify the location of the JAXP tarball to avoid downloading.
+* --disable-jaxp-checksum: Don't check that the tarball specified by --with-jaxp-src-zip
+  has the same checksum as the expected JAXP source zip, so a locally modified version can
+  be used instead.
 * --with-jaxws-src-zip: Specify the location of the JAXWS tarball to avoid downloading.
+* --disable-jaxws-checksum: Don't check that the tarball specified by --with-jaxws-src-zip
+  has the same checksum as the expected JAXWS source zip, so a locally modified version can
+  be used instead.
 * --with-jdk-src-zip: Specify the location of the JDK tarball to avoid downloading.
+* --disable-jdk-checksum: Don't check that the tarball specified by --with-jdk-src-zip
+  has the same checksum as the expected JDK source zip, so a locally modified version can
+  be used instead.
 * --with-langtools-src-zip: Specify the location of the langtools tarball to avoid downloading.
+* --disable-langtools-checksum: Don't check that the tarball specified by --with-langtools-src-zip
+  has the same checksum as the expected langtools source zip, so a locally modified version can
+  be used instead.
 * --with-nashorn-src-zip: Specify the location of the Nashorn tarball to avoid downloading.
+* --disable-nashorn-checksum: Don't check that the tarball specified by --with-nashorn-src-zip
+  has the same checksum as the expected Nashorn source zip, so a locally modified version can
+  be used instead.
 * --with-alt-jar: Use the specified jar binary in the second stage rather than the one just built.
 * --with-cacao-home: Specify the location of an installed CACAO to use rather than downloading
   and building one.
 * --with-cacao-src-zip: Specify the location of a CACAO tarball to avoid downloading.
+* --disable-cacao-checksum: Don't check that the tarball specified by --with-cacao-src-zip
+  has the same checksum as the expected CACAO source zip, so a locally modified version can
+  be used instead.
 * --with-cacao-src-dir: Specify the location of a CACAO source tree to avoid downloading.
 * --with-jamvm-src-zip: Specify the location of a JamVM tarball to avoid downloading.
+* --disable-jamvm-checksum: Don't check that the tarball specified by --with-jamvm-src-zip
+  has the same checksum as the expected JamVM source zip, so a locally modified version can
+  be used instead.
 * --with-hg-revision: Specify a hg revision to use (as opposed to tip) with the --enable-hg option.
 * --with-abs-install-dir: The final install location of the j2sdk-image, for use in the SystemTap tapset.
 * --with-llvm-config: Specify the location of the llvm-config binary.
--- a/Makefile.am	Mon Mar 21 05:50:11 2016 +0000
+++ b/Makefile.am	Mon Mar 21 18:43:10 2016 +0000
@@ -133,6 +133,66 @@
   NASHORN_SRC_ZIP = nashorn.tar.xz
 endif
 
+if DISABLE_OPENJDK_CHECKSUM
+OPENJDK_SHA256SUM_BIN = true
+else
+OPENJDK_SHA256SUM_BIN = $(SHA256SUM)
+endif
+
+if DISABLE_CORBA_CHECKSUM
+CORBA_SHA256SUM_BIN = true
+else
+CORBA_SHA256SUM_BIN = $(SHA256SUM)
+endif
+
+if DISABLE_JAXP_CHECKSUM
+JAXP_SHA256SUM_BIN = true
+else
+JAXP_SHA256SUM_BIN = $(SHA256SUM)
+endif
+
+if DISABLE_JAXWS_CHECKSUM
+JAXWS_SHA256SUM_BIN = true
+else
+JAXWS_SHA256SUM_BIN = $(SHA256SUM)
+endif
+
+if DISABLE_JDK_CHECKSUM
+JDK_SHA256SUM_BIN = true
+else
+JDK_SHA256SUM_BIN = $(SHA256SUM)
+endif
+
+if DISABLE_LANGTOOLS_CHECKSUM
+LANGTOOLS_SHA256SUM_BIN = true
+else
+LANGTOOLS_SHA256SUM_BIN = $(SHA256SUM)
+endif
+
+if DISABLE_CACAO_CHECKSUM
+CACAO_SHA256SUM_BIN = true
+else
+CACAO_SHA256SUM_BIN = $(SHA256SUM)
+endif
+
+if DISABLE_JAMVM_CHECKSUM
+JAMVM_SHA256SUM_BIN = true
+else
+JAMVM_SHA256SUM_BIN = $(SHA256SUM)
+endif
+
+if DISABLE_HOTSPOT_CHECKSUM
+HOTSPOT_SHA256SUM_BIN = true
+else
+HOTSPOT_SHA256SUM_BIN = $(SHA256SUM)
+endif
+
+if DISABLE_NASHORN_CHECKSUM
+NASHORN_SHA256SUM_BIN = true
+else
+NASHORN_SHA256SUM_BIN = $(SHA256SUM)
+endif
+
 if WITH_HGREV
 REV_ARG = -r $(HGREV)
 endif
@@ -699,7 +759,7 @@
 	ln -sf $(ALT_OPENJDK_SRC_ZIP) $(OPENJDK_SRC_ZIP)
 endif
 	if ! echo "$(OPENJDK_SHA256SUM)  $(OPENJDK_SRC_ZIP)" \
-	  | $(SHA256SUM) --check ; \
+	  | $(OPENJDK_SHA256SUM_BIN) --check ; \
 	then \
 	  if test "x$(enable_downloading)" = "xyes"; then \
 	    if [ -e $(OPENJDK_SRC_ZIP) ] ; then \
@@ -728,7 +788,7 @@
 	ln -sf $(ALT_CORBA_SRC_ZIP) $(CORBA_SRC_ZIP)
 endif
 	if ! echo "$(CORBA_SHA256SUM)  $(CORBA_SRC_ZIP)" \
-	  | $(SHA256SUM) --check ; \
+	  | $(CORBA_SHA256SUM_BIN) --check ; \
 	then \
 	  if test "x$(enable_downloading)" = "xyes"; then \
 	    if [ $(CORBA_SRC_ZIP) ] ; then \
@@ -757,7 +817,7 @@
 	ln -sf $(ALT_JAXP_SRC_ZIP) $(JAXP_SRC_ZIP)
 endif
 	if ! echo "$(JAXP_SHA256SUM)  $(JAXP_SRC_ZIP)" \
-	  | $(SHA256SUM) --check ; \
+	  | $(JAXP_SHA256SUM_BIN) --check ; \
 	then \
 	  if test "x$(enable_downloading)" = "xyes"; then \
 	    if [ $(JAXP_SRC_ZIP) ] ; then \
@@ -786,7 +846,7 @@
 	ln -sf $(ALT_JAXWS_SRC_ZIP) $(JAXWS_SRC_ZIP)
 endif
 	if ! echo "$(JAXWS_SHA256SUM)  $(JAXWS_SRC_ZIP)" \
-	  | $(SHA256SUM) --check ; \
+	  | $(JAXWS_SHA256SUM_BIN) --check ; \
 	then \
 	  if test "x$(enable_downloading)" = "xyes"; then \
 	    if [ $(JAXWS_SRC_ZIP) ] ; then \
@@ -815,7 +875,7 @@
 	ln -sf $(ALT_JDK_SRC_ZIP) $(JDK_SRC_ZIP)
 endif
 	if ! echo "$(JDK_SHA256SUM)  $(JDK_SRC_ZIP)" \
-	  | $(SHA256SUM) --check ; \
+	  | $(JDK_SHA256SUM_BIN) --check ; \
 	then \
 	  if test "x$(enable_downloading)" = "xyes"; then \
 	    if [ $(JDK_SRC_ZIP) ] ; then \
@@ -844,7 +904,7 @@
 	ln -sf $(ALT_LANGTOOLS_SRC_ZIP) $(LANGTOOLS_SRC_ZIP)
 endif
 	if ! echo "$(LANGTOOLS_SHA256SUM)  $(LANGTOOLS_SRC_ZIP)" \
-	  | $(SHA256SUM) --check ; \
+	  | $(LANGTOOLS_SHA256SUM_BIN) --check ; \
 	then \
 	  if test "x$(enable_downloading)" = "xyes"; then \
 	    if [ $(LANGTOOLS_SRC_ZIP) ] ; then \
@@ -909,7 +969,7 @@
 	ln -sf $(ALT_CACAO_SRC_ZIP) $(CACAO_SRC_ZIP)
 endif
 	if ! echo "$(CACAO_SHA256SUM)  $(CACAO_SRC_ZIP)" \
-	 | $(SHA256SUM) --check ; \
+	 | $(CACAO_SHA256SUM_BIN) --check ; \
 	then \
 	 if test "x$(enable_downloading)" = "xyes"; then \
 	   if [ -e $(CACAO_SRC_ZIP) ] ; then \
@@ -940,7 +1000,7 @@
 	ln -sf $(ALT_JAMVM_SRC_ZIP) $(JAMVM_SRC_ZIP)
 endif
 	if ! echo "$(JAMVM_SHA256SUM)  $(JAMVM_SRC_ZIP)" \
-	 | $(SHA256SUM) --check ; \
+	 | $(JAMVM_SHA256SUM_BIN) --check ; \
 	then \
 	  if test "x$(enable_downloading)" = "xyes"; then \
 	    if [ -e $(JAMVM_SRC_ZIP) ] ; then \
@@ -973,7 +1033,7 @@
 	ln -sf $(ALT_NASHORN_SRC_ZIP) $(NASHORN_SRC_ZIP)
 endif
 	if ! echo "$(NASHORN_SHA256SUM)  $(NASHORN_SRC_ZIP)" \
-	  | $(SHA256SUM) --check ; \
+	  | $(NASHORN_SHA256SUM_BIN) --check ; \
 	then \
 	  if test "x$(enable_downloading)" = "xyes"; then \
 	    if [ -e $(NASHORN_SRC_ZIP) ] ; then \
@@ -1009,7 +1069,7 @@
 endif
 	echo "Using HotSpot build: ${HSBUILD}"
 	if ! echo "$(HS_SHA256SUM)  $(HOTSPOT_SRC_ZIP)" \
-	  | $(SHA256SUM) --check ; \
+	  | $(HOTSPOT_SHA256SUM_BIN) --check ; \
 	then \
 	  if test "x$(enable_downloading)" = "xyes"; then \
 	    if [ -e $(HOTSPOT_SRC_ZIP) ] ; then \
--- a/NEWS	Mon Mar 21 05:50:11 2016 +0000
+++ b/NEWS	Mon Mar 21 18:43:10 2016 +0000
@@ -65,6 +65,7 @@
   - PR1834, RH1022017: Report elliptic curves supported by NSS, not the SunEC library
   - PR1845: jstack.stp in OpenJDK8 is broken
   - PR1869: Avoid x86 workaround when running Zero rather than a JIT
+  - PR1889: Allow tarball checksumming to be disabled
   - PR1935: HotSpot extraction needs to depend on the tarball being downloaded
   - PR1937: Add configure option for -Werror
   - PR1938: Zero broken by enforced use of -Werror
--- a/acinclude.m4	Mon Mar 21 05:50:11 2016 +0000
+++ b/acinclude.m4	Mon Mar 21 18:43:10 2016 +0000
@@ -547,7 +547,7 @@
   AC_SUBST([NATIVE2ASCII])
 ])
 
-AC_DEFUN([IT_WITH_OPENJDK_SRC_ZIP],
+AC_DEFUN_ONCE([IT_WITH_OPENJDK_SRC_ZIP],
 [
   AC_MSG_CHECKING([for an OpenJDK source zip])
   AC_ARG_WITH([openjdk-src-zip],
@@ -753,7 +753,7 @@
   AC_SUBST(CACAO_IMPORT_PATH)
 ])
 
-AC_DEFUN([IT_WITH_CACAO_SRC_ZIP],
+AC_DEFUN_ONCE([IT_WITH_CACAO_SRC_ZIP],
 [
   AC_MSG_CHECKING([for a CACAO source zip])
   AC_ARG_WITH([cacao-src-zip],
@@ -882,7 +882,7 @@
   AM_CONDITIONAL(WITH_ALT_HSBUILD, test "x${HSBUILD}" != "xdefault")
 ])
 
-AC_DEFUN([IT_WITH_HOTSPOT_SRC_ZIP],
+AC_DEFUN_ONCE([IT_WITH_HOTSPOT_SRC_ZIP],
 [
   AC_MSG_CHECKING([for a HotSpot source zip])
   AC_ARG_WITH([hotspot-src-zip],
@@ -903,7 +903,7 @@
   AC_SUBST(ALT_HOTSPOT_SRC_ZIP)
 ])
 
-AC_DEFUN([IT_WITH_CORBA_SRC_ZIP],
+AC_DEFUN_ONCE([IT_WITH_CORBA_SRC_ZIP],
 [
   AC_MSG_CHECKING([for a CORBA source zip])
   AC_ARG_WITH([corba-src-zip],
@@ -924,7 +924,7 @@
   AC_SUBST(ALT_CORBA_SRC_ZIP)
 ])
 
-AC_DEFUN([IT_WITH_JAXP_SRC_ZIP],
+AC_DEFUN_ONCE([IT_WITH_JAXP_SRC_ZIP],
 [
   AC_MSG_CHECKING([for a JAXP source zip])
   AC_ARG_WITH([jaxp-src-zip],
@@ -945,7 +945,7 @@
   AC_SUBST(ALT_JAXP_SRC_ZIP)
 ])
 
-AC_DEFUN([IT_WITH_JAXWS_SRC_ZIP],
+AC_DEFUN_ONCE([IT_WITH_JAXWS_SRC_ZIP],
 [
   AC_MSG_CHECKING([for a JAXWS source zip])
   AC_ARG_WITH([jaxws-src-zip],
@@ -966,7 +966,7 @@
   AC_SUBST(ALT_JAXWS_SRC_ZIP)
 ])
 
-AC_DEFUN([IT_WITH_JDK_SRC_ZIP],
+AC_DEFUN_ONCE([IT_WITH_JDK_SRC_ZIP],
 [
   AC_MSG_CHECKING([for a JDK source zip])
   AC_ARG_WITH([jdk-src-zip],
@@ -987,7 +987,7 @@
   AC_SUBST(ALT_JDK_SRC_ZIP)
 ])
 
-AC_DEFUN([IT_WITH_LANGTOOLS_SRC_ZIP],
+AC_DEFUN_ONCE([IT_WITH_LANGTOOLS_SRC_ZIP],
 [
   AC_MSG_CHECKING([for a langtools source zip])
   AC_ARG_WITH([langtools-src-zip],
@@ -1763,7 +1763,7 @@
   AC_SUBST(ENABLE_JAMVM)
 ])
 
-AC_DEFUN([IT_WITH_JAMVM_SRC_ZIP],
+AC_DEFUN_ONCE([IT_WITH_JAMVM_SRC_ZIP],
 [
   AC_MSG_CHECKING([for a JamVM source zip])
   AC_ARG_WITH([jamvm-src-zip],
@@ -1784,7 +1784,7 @@
   AC_SUBST(ALT_JAMVM_SRC_ZIP)
 ])
 
-AC_DEFUN([IT_WITH_NASHORN_SRC_ZIP],
+AC_DEFUN_ONCE([IT_WITH_NASHORN_SRC_ZIP],
 [
   AC_MSG_CHECKING([for a NASHORN source zip])
   AC_ARG_WITH([nashorn-src-zip],
@@ -2019,3 +2019,273 @@
   AC_MSG_RESULT([$disable_systemtap_tests])
   AM_CONDITIONAL([DISABLE_SYSTEMTAP_TESTS], test x"${disable_systemtap_tests}" = "xyes")
 ])
+
+AC_DEFUN_ONCE([IT_ENABLE_OPENJDK_CHECKSUM],
+[
+  AC_REQUIRE([IT_WITH_OPENJDK_SRC_ZIP])
+  AC_MSG_CHECKING([whether to enable checksumming of the specified OpenJDK tarball])
+  AC_ARG_ENABLE([openjdk-checksum],
+	      [AS_HELP_STRING(--disable-openjdk-checksum,checksum the specified OpenJDK tarball [[default=yes]])],
+  [
+    case "${enableval}" in
+      no)
+	ENABLE_OPENJDK_CHECKSUM=no
+        ;;
+      *)
+        ENABLE_OPENJDK_CHECKSUM=yes
+        ;;
+    esac
+  ],
+  [
+    ENABLE_OPENJDK_CHECKSUM="yes"
+  ])
+  AC_MSG_RESULT(${ENABLE_OPENJDK_CHECKSUM})
+  if test "x${ENABLE_OPENJDK_CHECKSUM}" = "xno" -a "x${ALT_OPENJDK_SRC_ZIP}" = "xnot specified"; then
+    AC_MSG_WARN([No OpenJDK source tarball specified; downloaded tarballs are always checksummed.])
+  fi
+  AM_CONDITIONAL(DISABLE_OPENJDK_CHECKSUM, test x"${ENABLE_OPENJDK_CHECKSUM}" = "xno")
+  AC_SUBST(ENABLE_OPENJDK_CHECKSUM)
+])
+
+AC_DEFUN_ONCE([IT_ENABLE_CORBA_CHECKSUM],
+[
+  AC_REQUIRE([IT_WITH_CORBA_SRC_ZIP])
+  AC_MSG_CHECKING([whether to enable checksumming of the specified CORBA tarball])
+  AC_ARG_ENABLE([corba-checksum],
+	      [AS_HELP_STRING(--disable-corba-checksum,checksum the specified CORBA tarball [[default=yes]])],
+  [
+    case "${enableval}" in
+      no)
+	ENABLE_CORBA_CHECKSUM=no
+        ;;
+      *)
+        ENABLE_CORBA_CHECKSUM=yes
+        ;;
+    esac
+  ],
+  [
+    ENABLE_CORBA_CHECKSUM="yes"
+  ])
+  AC_MSG_RESULT(${ENABLE_CORBA_CHECKSUM})
+  if test "x${ENABLE_CORBA_CHECKSUM}" = "xno" -a "x${ALT_CORBA_SRC_ZIP}" = "xnot specified"; then
+    AC_MSG_WARN([No CORBA source tarball specified; downloaded tarballs are always checksummed.])
+  fi
+  AM_CONDITIONAL(DISABLE_CORBA_CHECKSUM, test x"${ENABLE_CORBA_CHECKSUM}" = "xno")
+  AC_SUBST(ENABLE_CORBA_CHECKSUM)
+])
+
+AC_DEFUN_ONCE([IT_ENABLE_JAXP_CHECKSUM],
+[
+  AC_REQUIRE([IT_WITH_JAXP_SRC_ZIP])
+  AC_MSG_CHECKING([whether to enable checksumming of the specified JAXP tarball])
+  AC_ARG_ENABLE([jaxp-checksum],
+	      [AS_HELP_STRING(--disable-jaxp-checksum,checksum the specified JAXP tarball [[default=yes]])],
+  [
+    case "${enableval}" in
+      no)
+	ENABLE_JAXP_CHECKSUM=no
+        ;;
+      *)
+        ENABLE_JAXP_CHECKSUM=yes
+        ;;
+    esac
+  ],
+  [
+    ENABLE_JAXP_CHECKSUM="yes"
+  ])
+  AC_MSG_RESULT(${ENABLE_JAXP_CHECKSUM})
+  if test "x${ENABLE_JAXP_CHECKSUM}" = "xno" -a "x${ALT_JAXP_SRC_ZIP}" = "xnot specified"; then
+    AC_MSG_WARN([No JAXP source tarball specified; downloaded tarballs are always checksummed.])
+  fi
+  AM_CONDITIONAL(DISABLE_JAXP_CHECKSUM, test x"${ENABLE_JAXP_CHECKSUM}" = "xno")
+  AC_SUBST(ENABLE_JAXP_CHECKSUM)
+])
+
+AC_DEFUN_ONCE([IT_ENABLE_JAXWS_CHECKSUM],
+[
+  AC_REQUIRE([IT_WITH_JAXWS_SRC_ZIP])
+  AC_MSG_CHECKING([whether to enable checksumming of the specified JAXWS tarball])
+  AC_ARG_ENABLE([jaxws-checksum],
+	      [AS_HELP_STRING(--disable-jaxws-checksum,checksum the specified JAXWS tarball [[default=yes]])],
+  [
+    case "${enableval}" in
+      no)
+	ENABLE_JAXWS_CHECKSUM=no
+        ;;
+      *)
+        ENABLE_JAXWS_CHECKSUM=yes
+        ;;
+    esac
+  ],
+  [
+    ENABLE_JAXWS_CHECKSUM="yes"
+  ])
+  AC_MSG_RESULT(${ENABLE_JAXWS_CHECKSUM})
+  if test "x${ENABLE_JAXWS_CHECKSUM}" = "xno" -a "x${ALT_JAXWS_SRC_ZIP}" = "xnot specified"; then
+    AC_MSG_WARN([No JAXWS source tarball specified; downloaded tarballs are always checksummed.])
+  fi
+  AM_CONDITIONAL(DISABLE_JAXWS_CHECKSUM, test x"${ENABLE_JAXWS_CHECKSUM}" = "xno")
+  AC_SUBST(ENABLE_JAXWS_CHECKSUM)
+])
+
+AC_DEFUN_ONCE([IT_ENABLE_JDK_CHECKSUM],
+[
+  AC_REQUIRE([IT_WITH_JDK_SRC_ZIP])
+  AC_MSG_CHECKING([whether to enable checksumming of the specified JDK tarball])
+  AC_ARG_ENABLE([jdk-checksum],
+	      [AS_HELP_STRING(--disable-jdk-checksum,checksum the specified JDK tarball [[default=yes]])],
+  [
+    case "${enableval}" in
+      no)
+	ENABLE_JDK_CHECKSUM=no
+        ;;
+      *)
+        ENABLE_JDK_CHECKSUM=yes
+        ;;
+    esac
+  ],
+  [
+    ENABLE_JDK_CHECKSUM="yes"
+  ])
+  AC_MSG_RESULT(${ENABLE_JDK_CHECKSUM})
+  if test "x${ENABLE_JDK_CHECKSUM}" = "xno" -a "x${ALT_JDK_SRC_ZIP}" = "xnot specified"; then
+    AC_MSG_WARN([No JDK source tarball specified; downloaded tarballs are always checksummed.])
+  fi
+  AM_CONDITIONAL(DISABLE_JDK_CHECKSUM, test x"${ENABLE_JDK_CHECKSUM}" = "xno")
+  AC_SUBST(ENABLE_JDK_CHECKSUM)
+])
+
+AC_DEFUN_ONCE([IT_ENABLE_LANGTOOLS_CHECKSUM],
+[
+  AC_REQUIRE([IT_WITH_LANGTOOLS_SRC_ZIP])
+  AC_MSG_CHECKING([whether to enable checksumming of the specified langtools tarball])
+  AC_ARG_ENABLE([langtools-checksum],
+	      [AS_HELP_STRING(--disable-langtools-checksum,checksum the specified langtools tarball [[default=yes]])],
+  [
+    case "${enableval}" in
+      no)
+	ENABLE_LANGTOOLS_CHECKSUM=no
+        ;;
+      *)
+        ENABLE_LANGTOOLS_CHECKSUM=yes
+        ;;
+    esac
+  ],
+  [
+    ENABLE_LANGTOOLS_CHECKSUM="yes"
+  ])
+  AC_MSG_RESULT(${ENABLE_LANGTOOLS_CHECKSUM})
+  if test "x${ENABLE_LANGTOOLS_CHECKSUM}" = "xno" -a "x${ALT_LANGTOOLS_SRC_ZIP}" = "xnot specified"; then
+    AC_MSG_WARN([No langtools source tarball specified; downloaded tarballs are always checksummed.])
+  fi
+  AM_CONDITIONAL(DISABLE_LANGTOOLS_CHECKSUM, test x"${ENABLE_LANGTOOLS_CHECKSUM}" = "xno")
+  AC_SUBST(ENABLE_LANGTOOLS_CHECKSUM)
+])
+
+AC_DEFUN_ONCE([IT_ENABLE_CACAO_CHECKSUM],
+[
+  AC_REQUIRE([IT_WITH_CACAO_SRC_ZIP])
+  AC_MSG_CHECKING([whether to enable checksumming of the specified CACAO tarball])
+  AC_ARG_ENABLE([cacao-checksum],
+	      [AS_HELP_STRING(--disable-cacao-checksum,checksum the specified CACAO tarball [[default=yes]])],
+  [
+    case "${enableval}" in
+      no)
+	ENABLE_CACAO_CHECKSUM=no
+        ;;
+      *)
+        ENABLE_CACAO_CHECKSUM=yes
+        ;;
+    esac
+  ],
+  [
+    ENABLE_CACAO_CHECKSUM="yes"
+  ])
+  AC_MSG_RESULT(${ENABLE_CACAO_CHECKSUM})
+  if test "x${ENABLE_CACAO_CHECKSUM}" = "xno" -a "x${ALT_CACAO_SRC_ZIP}" = "xnot specified"; then
+    AC_MSG_WARN([No CACAO source tarball specified; downloaded tarballs are always checksummed.])
+  fi
+  AM_CONDITIONAL(DISABLE_CACAO_CHECKSUM, test x"${ENABLE_CACAO_CHECKSUM}" = "xno")
+  AC_SUBST(ENABLE_CACAO_CHECKSUM)
+])
+
+AC_DEFUN_ONCE([IT_ENABLE_JAMVM_CHECKSUM],
+[
+  AC_REQUIRE([IT_WITH_JAMVM_SRC_ZIP])
+  AC_MSG_CHECKING([whether to enable checksumming of the specified JamVM tarball])
+  AC_ARG_ENABLE([jamvm-checksum],
+	      [AS_HELP_STRING(--disable-jamvm-checksum,checksum the specified JamVM tarball [[default=yes]])],
+  [
+    case "${enableval}" in
+      no)
+	ENABLE_JAMVM_CHECKSUM=no
+        ;;
+      *)
+        ENABLE_JAMVM_CHECKSUM=yes
+        ;;
+    esac
+  ],
+  [
+    ENABLE_JAMVM_CHECKSUM="yes"
+  ])
+  AC_MSG_RESULT(${ENABLE_JAMVM_CHECKSUM})
+  if test "x${ENABLE_JAMVM_CHECKSUM}" = "xno" -a "x${ALT_JAMVM_SRC_ZIP}" = "xnot specified"; then
+    AC_MSG_WARN([No JamVM source tarball specified; downloaded tarballs are always checksummed.])
+  fi
+  AM_CONDITIONAL(DISABLE_JAMVM_CHECKSUM, test x"${ENABLE_JAMVM_CHECKSUM}" = "xno")
+  AC_SUBST(ENABLE_JAMVM_CHECKSUM)
+])
+
+AC_DEFUN_ONCE([IT_ENABLE_HOTSPOT_CHECKSUM],
+[
+  AC_REQUIRE([IT_WITH_HOTSPOT_SRC_ZIP])
+  AC_MSG_CHECKING([whether to enable checksumming of the specified HotSpot tarball])
+  AC_ARG_ENABLE([hotspot-checksum],
+	      [AS_HELP_STRING(--disable-hotspot-checksum,checksum the specified HotSpot tarball [[default=yes]])],
+  [
+    case "${enableval}" in
+      no)
+	ENABLE_HOTSPOT_CHECKSUM=no
+        ;;
+      *)
+        ENABLE_HOTSPOT_CHECKSUM=yes
+        ;;
+    esac
+  ],
+  [
+    ENABLE_HOTSPOT_CHECKSUM="yes"
+  ])
+  AC_MSG_RESULT(${ENABLE_HOTSPOT_CHECKSUM})
+  if test "x${ENABLE_HOTSPOT_CHECKSUM}" = "xno" -a "x${ALT_HOTSPOT_SRC_ZIP}" = "xnot specified"; then
+    AC_MSG_WARN([No HotSpot source tarball specified; downloaded tarballs are always checksummed.])
+  fi
+  AM_CONDITIONAL(DISABLE_HOTSPOT_CHECKSUM, test x"${ENABLE_HOTSPOT_CHECKSUM}" = "xno")
+  AC_SUBST(ENABLE_HOTSPOT_CHECKSUM)
+])
+
+AC_DEFUN_ONCE([IT_ENABLE_NASHORN_CHECKSUM],
+[
+  AC_REQUIRE([IT_WITH_NASHORN_SRC_ZIP])
+  AC_MSG_CHECKING([whether to enable checksumming of the specified Nashorn tarball])
+  AC_ARG_ENABLE([nashorn-checksum],
+	      [AS_HELP_STRING(--disable-nashorn-checksum,checksum the specified Nashorn tarball [[default=yes]])],
+  [
+    case "${enableval}" in
+      no)
+	ENABLE_NASHORN_CHECKSUM=no
+        ;;
+      *)
+        ENABLE_NASHORN_CHECKSUM=yes
+        ;;
+    esac
+  ],
+  [
+    ENABLE_NASHORN_CHECKSUM="yes"
+  ])
+  AC_MSG_RESULT(${ENABLE_NASHORN_CHECKSUM})
+  if test "x${ENABLE_NASHORN_CHECKSUM}" = "xno" -a "x${ALT_NASHORN_SRC_ZIP}" = "xnot specified"; then
+    AC_MSG_WARN([No Nashorn source tarball specified; downloaded tarballs are always checksummed.])
+  fi
+  AM_CONDITIONAL(DISABLE_NASHORN_CHECKSUM, test x"${ENABLE_NASHORN_CHECKSUM}" = "xno")
+  AC_SUBST(ENABLE_NASHORN_CHECKSUM)
+])
--- a/configure.ac	Mon Mar 21 05:50:11 2016 +0000
+++ b/configure.ac	Mon Mar 21 18:43:10 2016 +0000
@@ -103,22 +103,22 @@
 IT_CHECK_ENABLE_WARNINGS
 IT_DIAMOND_CHECK
 
-IT_WITH_OPENJDK_SRC_ZIP
-IT_WITH_HOTSPOT_SRC_ZIP
-IT_WITH_CORBA_SRC_ZIP
-IT_WITH_JAXP_SRC_ZIP
-IT_WITH_JAXWS_SRC_ZIP
-IT_WITH_JDK_SRC_ZIP
-IT_WITH_LANGTOOLS_SRC_ZIP
-IT_WITH_NASHORN_SRC_ZIP
+IT_ENABLE_OPENJDK_CHECKSUM
+IT_ENABLE_HOTSPOT_CHECKSUM
+IT_ENABLE_CORBA_CHECKSUM
+IT_ENABLE_JAXP_CHECKSUM
+IT_ENABLE_JAXWS_CHECKSUM
+IT_ENABLE_JDK_CHECKSUM
+IT_ENABLE_LANGTOOLS_CHECKSUM
+IT_ENABLE_NASHORN_CHECKSUM
 IT_WITH_ALT_JAR_BINARY
 
 IT_ENABLE_CACAO
 IT_WITH_CACAO_HOME
-IT_WITH_CACAO_SRC_ZIP
 IT_WITH_CACAO_SRC_DIR
+IT_ENABLE_CACAO_CHECKSUM
 IT_ENABLE_JAMVM
-IT_WITH_JAMVM_SRC_ZIP
+IT_ENABLE_JAMVM_CHECKSUM
 
 IT_DISABLE_OPTIMIZATIONS
 IT_ENABLE_WERROR