/hg/icedtea6: JamVM: Taste the New --enable-jamvm Flavour!

xranby at icedtea.classpath.org xranby at icedtea.classpath.org
Tue Feb 22 03:38:24 PST 2011


changeset 7d23f65c73a8 in /hg/icedtea6
details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=7d23f65c73a8
author: Xerxes R?nby <xerxes at zafena.se>
date: Tue Feb 22 12:21:34 2011 +0100

	JamVM: Taste the New --enable-jamvm Flavour!

	2011-02-22 Xerxes Ranby <xerxes at zafena.se>

	 JamVM: Taste the New --enable-jamvm Flavour!
	        * NEWS: Updated.
	        * Makefile.am (JAMVM_VERSION): New variable.
	(JAMVM_SHA256SUM): Likewise. (JAMVM_BASE_URL): Likewise.
	(JAMVM_URL): Likewise. (JAMVM_SRC_ZIP): Likewise.
	(JAMVM_IMPORT_PATH): Likewise. (ICEDTEA_BUILD_TARGET):
	Build only jdk if jamvm are enabled.
	(ICEDTEA_DEBUG_BUILD_TARGET): Likewise. (ICEDTEA_ENV): Set
	ALT_HOTSPOT_IMPORT_PATH to JAMVM_IMPORT_PATH if jamvm are
	enabled. (PRODUCT_NAME): Make -version report IcedTea6
	Runtime Environment if jamvm are enabled.
	(JDK_DERIVATIVE_NAME): Only show IcedTea version if jamvm
	are enabled. (stamps/download-jamvm.stamp): New make target.
	(clean-download-jamvm): Likewise. (stamps/extract-
	jamvm.stamp): Likewise. (stamps/jamvm.stamp): Likewise.
	(clean-jamvm): Likewise. (.PHONY): Add clean-jamvm.
	(stamps/download.stamp): Add stamps/download-jamvm.stamp.
	(clean-download): Add clean-download-jamvm.
	(stamps/extract.stamp): Add stamps/extract-jamvm.stamp.
	(clean-extract): Add clean-jamvm. (stamps/icedtea.stamp):
	Add stamps/jamvm.stamp. (download-jamvm): Alias to stamps
	/download-jamvm.stamp. (jamvm): Alias to stamps/jamvm.stamp.
	        * configure.ac (IT_CHECK_ENABLE_JAMVM): Use new macro.
	        * acinclude.m4: (ENABLE_ZERO_BUILD): Do not use zero if jamvm
	are enabled. (IT_CHECK_ENABLE_JAMVM): New macro.
	(BUILD_JAMVM): New conditional. (ENABLE_JAMVM): New
	conditional.


diffstat:

5 files changed, 170 insertions(+), 10 deletions(-)
ChangeLog    |   39 +++++++++++++++++++
Makefile.am  |  116 +++++++++++++++++++++++++++++++++++++++++++++++++++++-----
NEWS         |    1 
acinclude.m4 |   21 ++++++++++
configure.ac |    3 +

diffs (355 lines):

diff -r 3dc52504cbdd -r 7d23f65c73a8 ChangeLog
--- a/ChangeLog	Tue Feb 22 10:58:37 2011 +0000
+++ b/ChangeLog	Tue Feb 22 12:21:34 2011 +0100
@@ -1,3 +1,42 @@ 2011-02-22  Andrew John Hughes  <ahughes
+2011-02-22  Xerxes Ranby  <xerxes at zafena.se>
+
+	JamVM: Taste the New --enable-jamvm Flavour!
+	* NEWS: Updated.
+	* Makefile.am (JAMVM_VERSION): New variable.
+	(JAMVM_SHA256SUM): Likewise.
+	(JAMVM_BASE_URL): Likewise.
+	(JAMVM_URL): Likewise.
+	(JAMVM_SRC_ZIP): Likewise.
+	(JAMVM_IMPORT_PATH): Likewise.
+	(ICEDTEA_BUILD_TARGET):
+	Build only jdk if jamvm are enabled.
+	(ICEDTEA_DEBUG_BUILD_TARGET): Likewise.
+	(ICEDTEA_ENV): Set ALT_HOTSPOT_IMPORT_PATH to JAMVM_IMPORT_PATH
+	if jamvm are enabled.
+	(PRODUCT_NAME): Make -version report IcedTea6 Runtime Environment
+	if jamvm are enabled.
+	(JDK_DERIVATIVE_NAME): Only show IcedTea version
+	if jamvm are enabled.
+	(stamps/download-jamvm.stamp): New make target.
+	(clean-download-jamvm): Likewise.
+	(stamps/extract-jamvm.stamp): Likewise.
+	(stamps/jamvm.stamp): Likewise.
+	(clean-jamvm): Likewise.
+	(.PHONY): Add clean-jamvm.
+	(stamps/download.stamp): Add stamps/download-jamvm.stamp.
+	(clean-download): Add clean-download-jamvm.
+	(stamps/extract.stamp): Add stamps/extract-jamvm.stamp.
+	(clean-extract): Add clean-jamvm.
+	(stamps/icedtea.stamp): Add stamps/jamvm.stamp.
+	(download-jamvm): Alias to stamps/download-jamvm.stamp.
+	(jamvm): Alias to stamps/jamvm.stamp.
+	* configure.ac (IT_CHECK_ENABLE_JAMVM): Use new macro.
+	* acinclude.m4:
+	(ENABLE_ZERO_BUILD): Do not use zero if jamvm are enabled.
+	(IT_CHECK_ENABLE_JAMVM): New macro.
+	(BUILD_JAMVM): New conditional.
+	(ENABLE_JAMVM): New conditional.
+
 2011-02-22  Andrew John Hughes  <ahughes at redhat.com>
 
 	PR633: IcedTea installs javaws manpages on x86
diff -r 3dc52504cbdd -r 7d23f65c73a8 Makefile.am
--- a/Makefile.am	Tue Feb 22 10:58:37 2011 +0000
+++ b/Makefile.am	Tue Feb 22 12:21:34 2011 +0100
@@ -10,6 +10,17 @@ CACAO_BASE_URL = http://icedtea.classpat
 CACAO_BASE_URL = http://icedtea.classpath.org/download/drops/cacao
 CACAO_URL = $(CACAO_BASE_URL)/$(CACAO_VERSION).tar.gz
 CACAO_SRC_ZIP = cacao-$(CACAO_VERSION).tar.gz
+
+# The jamvm-3f02679901ac46985c9c3ac3f1b99e8eaf6a7e27.tar.gz got fetched from
+# http://git.berlios.de/cgi-bin/cgit.cgi/jamvm/snapshot/jamvm-3f02679901ac46985c9c3ac3f1b99e8eaf6a7e27.tar.gz
+# Unfortunally the generated .tar.gz by the berlios cgit snapshot function
+# keeps changing sha256sum. I have hosted a snapshot on labb.zafena.se
+# while we wait for the final JamVM 1.6.0 release.
+JAMVM_VERSION = 3f02679901ac46985c9c3ac3f1b99e8eaf6a7e27
+JAMVM_SHA256SUM = 396daf08896a71cfcddfabfbaf2d8b3f07557d8143eaaa93be25e2d80f30e165
+JAMVM_BASE_URL = http://labb.zafena.se/jamvm
+JAMVM_URL = $(JAMVM_BASE_URL)/jamvm-$(JAMVM_VERSION).tar.gz
+JAMVM_SRC_ZIP = jamvm-$(JAMVM_VERSION).tar.gz
 
 JAXWS_DROP_URL = http://icedtea.classpath.org/download/drops
 JAXWS_DROP_ZIP = jdk6-jaxws-b20.zip
@@ -37,6 +48,7 @@ ENDORSED_DIR = $(BOOT_DIR)/lib/endorsed
 ENDORSED_DIR = $(BOOT_DIR)/lib/endorsed
 ECJ_BOOT_DIR = $(abs_top_builddir)/bootstrap/ecj
 ICEDTEA_BOOT_DIR = $(abs_top_builddir)/bootstrap/icedtea
+JAMVM_IMPORT_PATH = $(abs_top_builddir)/jamvm/install/hotspot
 SERVER_DIR = hotspot/import/jre/lib/$(INSTALL_ARCH_DIR)/server
 BUILD_JRE_ARCH_DIR = $(BUILD_OUTPUT_DIR)/j2sdk-image/jre/lib/$(INSTALL_ARCH_DIR)
 BUILD_DEBUG_JRE_ARCH_DIR = $(DEBUG_BUILD_OUTPUT_DIR)/j2sdk-image/jre/lib/$(INSTALL_ARCH_DIR)
@@ -126,7 +138,12 @@ if WITH_CACAO
   ICEDTEA_BUILD_TARGET=jdk_only
   ICEDTEA_DEBUG_BUILD_TARGET = jdk_fastdebug_only
 else
+if ENABLE_JAMVM
+  ICEDTEA_BUILD_TARGET=jdk_only
+  ICEDTEA_DEBUG_BUILD_TARGET = jdk_fastdebug_only
+else
   ICEDTEA_DEBUG_BUILD_TARGET = debug_build
+endif
 endif
 
 if BOOTSTRAPPING
@@ -471,6 +488,11 @@ ICEDTEA_ENV += \
 	ALT_HOTSPOT_IMPORT_PATH="$(CACAO_IMPORT_PATH)"
 endif
 
+if ENABLE_JAMVM
+ICEDTEA_ENV += \
+	ALT_HOTSPOT_IMPORT_PATH="$(JAMVM_IMPORT_PATH)"
+endif
+
 if DISABLE_OPTIMIZATIONS
 ICEDTEA_ENV += \
 	NO_OPTIMIZATIONS="true" \
@@ -584,8 +606,10 @@ install:
 	clean-icedtea icedtea-against-icedtea clean-icedtea-ecj \
 	clean-tools-jar clean-copy clean-rt hotspot \
 	hotspot-helper clean-extra clean-jtreg clean-jtreg-reports \
-	clean-add-zero clean-add-zero-debug clean-icedtea clean-icedtea-debug
-	clean-icedtea-against-ecj clean-cacao clean-add-cacao clean-add-cacao-debug \
+	clean-add-zero clean-add-zero-debug clean-icedtea clean-icedtea-debug \
+	clean-icedtea-against-ecj \
+	clean-jamvm \
+	clean-cacao clean-add-cacao clean-add-cacao-debug \
 	clean-ports clean-overlay clean-extract-ecj clean-extract clean-extract-openjdk \
 	clean-replace-hotspot clean-generated clean-download clean-hgforest clean-download-openjdk \
 	clean-rewriter clean-rewrite-rhino clean-add-systemtap clean-add-systemtap-debug \
@@ -742,6 +766,29 @@ clean-download-cacao:
 	rm -f $(CACAO_SRC_ZIP)
 	rm -f stamps/download-cacao.stamp
 
+stamps/download-jamvm.stamp:
+if BUILD_JAMVM
+	if ! echo "$(JAMVM_SHA256SUM)  $(JAMVM_SRC_ZIP)" \
+	 | $(SHA256SUM) --check ; \
+	then \
+	 if [ $(JAMVM_SRC_ZIP) ] ; \
+	 then \
+	   mv $(JAMVM_SRC_ZIP) $(JAMVM_SRC_ZIP).old ; \
+	 fi ; \
+	 $(WGET) $(JAMVM_URL) -O $(JAMVM_SRC_ZIP); \
+	 if ! echo "$(JAMVM_SHA256SUM)  $(JAMVM_SRC_ZIP)" \
+	  | $(SHA256SUM) --check ; \
+	 then echo "ERROR: Bad download of JamVM zip"; false; \
+	 fi; \
+	fi
+endif
+	mkdir -p stamps
+	touch $@
+
+clean-download-jamvm:
+	rm -f $(JAMVM_SRC_ZIP)
+	rm -f stamps/download-jamvm.stamp
+
 clean-drops: clean-download-jaxp-drop clean-download-jaf-drop \
  clean-download-jaxws-drop
 	if [ -e drops ] ; then \
@@ -804,18 +851,19 @@ clean-download-openjdk:
 	rm -f stamps/download-openjdk.stamp
 
 stamps/download.stamp: stamps/download-drops.stamp stamps/download-cacao.stamp \
- stamps/download-openjdk.stamp
+ stamps/download-jamvm.stamp stamps/download-openjdk.stamp
 	touch stamps/download.stamp
 
-clean-download: clean-drops clean-download-cacao clean-download-openjdk
+clean-download: clean-drops clean-download-cacao clean-download-jamvm \
+ clean-download-openjdk
 	rm -f stamps/download.stamp
 
 stamps/extract.stamp: stamps/extract-openjdk.stamp \
- stamps/extract-cacao.stamp
+ stamps/extract-cacao.stamp stamps/extract-jamvm.stamp
 	mkdir -p stamps
 	touch $@
 
-clean-extract: clean-extract-openjdk clean-cacao 
+clean-extract: clean-extract-openjdk clean-cacao clean-jamvm
 	rm -f stamps/extract.stamp
 
 stamps/extract-openjdk.stamp: stamps/download.stamp
@@ -872,6 +920,20 @@ endif
 endif
 	mkdir -p stamps
 	touch stamps/extract-cacao.stamp
+
+stamps/extract-jamvm.stamp:
+if BUILD_JAMVM
+	set -e ; \
+	if ! test -d jamvm ; \
+	then \
+	  mkdir jamvm ; \
+	  $(TAR) xf $(JAMVM_SRC_ZIP) -C jamvm ; \
+	  dir=$$(basename jamvm/jamvm-*) ; \
+	  ln -s $$dir jamvm/jamvm ; \
+	fi
+endif
+	mkdir -p stamps
+	touch stamps/extract-jamvm.stamp
 
 stamps/replace-hotspot.stamp: stamps/extract.stamp
 if WITH_ALT_HSBUILD
@@ -1020,7 +1082,8 @@ stamps/patch.stamp: stamps/patch-fsg.sta
 	fi
 
 	icedtea_version="$(PACKAGE_VERSION)$(ICEDTEA_REV)" ; \
-	if ! test "x$(WITH_CACAO)" = "xno"; then \
+	if test "x$(WITH_CACAO)" = "xyes" || \
+	   test "x$(ENABLE_JAMVM)" = "xyes"; then \
 	  echo "JDK_DERIVATIVE_NAME=$${icedtea_version}" \
 	    >>openjdk/jdk/make/common/shared/Defs.gmk ; \
 	  echo "PRODUCT_NAME=$(ICEDTEA_NAME)" \
@@ -1247,7 +1310,8 @@ clean-bootstrap-directory-symlink:
 # 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.stamp \
- $(OPENJDK_TREE) stamps/cacao.stamp stamps/rewrite-rhino.stamp
+ $(OPENJDK_TREE) stamps/cacao.stamp stamps/rewrite-rhino.stamp \
+ stamps/jamvm.stamp
 	$(ARCH_PREFIX) $(MAKE) \
 	  $(ICEDTEA_ENV) \
 	  -C openjdk \
@@ -1265,6 +1329,9 @@ if WITH_CACAO
 if WITH_CACAO
 	printf -- '-cacao ALIASED_TO -server\n' >> $(BUILD_JRE_ARCH_DIR)/jvm.cfg
 endif
+if ENABLE_JAMVM
+	printf -- '-jamvm ALIASED_TO -server\n' >> $(BUILD_JRE_ARCH_DIR)/jvm.cfg
+endif
 	@echo "IcedTea is served:" $(BUILD_OUTPUT_DIR)
 	mkdir -p stamps
 	touch stamps/icedtea.stamp
@@ -1274,7 +1341,8 @@ clean-icedtea:
 	rm -f stamps/icedtea.stamp
 
 stamps/icedtea-debug.stamp: stamps/bootstrap-directory-symlink.stamp \
- $(OPENJDK_TREE) stamps/cacao.stamp stamps/rewrite-rhino.stamp
+ $(OPENJDK_TREE) stamps/cacao.stamp stamps/rewrite-rhino.stamp \
+ stamps/jamvm.stamp
 	$(ARCH_PREFIX) $(MAKE) \
 	  $(ICEDTEA_ENV) \
 	  -C openjdk \
@@ -1291,6 +1359,9 @@ endif
 endif
 if WITH_CACAO
 	printf -- '-cacao ALIASED_TO -server\n' >> $(BUILD_DEBUG_JRE_ARCH_DIR)/jvm.cfg
+endif
+if ENABLE_JAMVM
+	printf -- '-jamvm ALIASED_TO -server\n' >> $(BUILD_DEBUG_JRE_ARCH_DIR)/jvm.cfg
 endif
 	@echo "IcedTea (debug build) is served:" \
 	  $(DEBUG_BUILD_OUTPUT_DIR)
@@ -1697,6 +1768,29 @@ clean-rewrite-rhino:
 	fi
 	rm -f stamps/rewrite-rhino.stamp
 
+# JamVM
+
+stamps/jamvm.stamp: $(OPENJDK_TREE) stamps/rt.stamp
+if BUILD_JAMVM
+	cd jamvm/jamvm && \
+	./autogen.sh --with-java-runtime-library=openjdk \
+	  --prefix=$(abs_top_builddir)/jamvm/install ; \
+	$(MAKE) ; \
+	$(MAKE) install
+	mkdir -p $(abs_top_builddir)/jamvm/install/hotspot/jre/lib/$(INSTALL_ARCH_DIR)/server
+	cp $(abs_top_builddir)/jamvm/install/lib/libjvm.so $(abs_top_builddir)/jamvm/install/hotspot/jre/lib/$(INSTALL_ARCH_DIR)/server
+	ln -s server $(abs_top_builddir)/jamvm/install/hotspot/jre/lib/$(INSTALL_ARCH_DIR)/client
+	touch $(abs_top_builddir)/jamvm/install/hotspot/jre/lib/$(INSTALL_ARCH_DIR)/server/Xusage.txt
+	touch $(abs_top_builddir)/jamvm/install/hotspot/jre/lib/$(INSTALL_ARCH_DIR)/libjsig.so
+endif
+	mkdir -p stamps
+	touch $@
+
+clean-jamvm:
+	rm -rf jamvm
+	rm -f stamps/jamvm.stamp
+	rm -f stamps/extract-jamvm.stamp
+
 # CACAO
 
 stamps/cacao.stamp: $(OPENJDK_TREE) stamps/rt.stamp
@@ -2061,6 +2155,8 @@ download-cacao: stamps/download-cacao.st
 
 download-drops: stamps/download-drops.stamp
 
+download-jamvm: stamps/download-jamvm.stamp
+
 download-jaf-drop: stamps/download-jaf-drop.stamp
 
 download-jaxp-drop: stamps/download-jaxp-drop.stamp
@@ -2084,6 +2180,8 @@ icedtea-debug-against-icedtea: stamps/ic
 icedtea-debug-against-icedtea: stamps/icedtea-debug-against-icedtea.stamp
 
 icedtea-ecj: stamps/icedtea-ecj.stamp
+
+jamvm: stamps/jamvm.stamp
 
 jtreg: stamps/jtreg.stamp
 
diff -r 3dc52504cbdd -r 7d23f65c73a8 NEWS
--- a/NEWS	Tue Feb 22 10:58:37 2011 +0000
+++ b/NEWS	Tue Feb 22 12:21:34 2011 +0100
@@ -10,6 +10,7 @@ CVE-XXXX-YYYY: http://www.cve.mitre.org/
 
 New in release 1.10 (2011-XX-XX):
 
+* Added out-of-the-box JamVM support using --enable-jamvm
 * NetX and the plugin moved to the IcedTea-Web project with a separate
   release cycle.
 * Shark provided upstream rather than as part of IcedTea.
diff -r 3dc52504cbdd -r 7d23f65c73a8 acinclude.m4
--- a/acinclude.m4	Tue Feb 22 10:58:37 2011 +0000
+++ b/acinclude.m4	Tue Feb 22 12:21:34 2011 +0100
@@ -783,7 +783,8 @@ AC_DEFUN([IT_ENABLE_ZERO_BUILD],
         sparc*-*-*) ;;
         x86_64-*-*) ;;
         *)
-          if test "x${WITH_CACAO}" != xno; then
+          if test "x${WITH_CACAO}" != xno || \
+	     test "x${ENABLE_JAMVM}" = xyes; then
             use_zero=no
           else
             use_zero=yes
@@ -855,6 +856,23 @@ AC_DEFUN([IT_SET_SHARK_BUILD],
   AC_MSG_RESULT($use_shark)
 
   AM_CONDITIONAL(SHARK_BUILD, test "x${use_shark}" = xyes)
+])
+
+AC_DEFUN([IT_CHECK_ENABLE_JAMVM],
+[
+  AC_MSG_CHECKING(whether to use JamVM as VM)
+  AC_ARG_ENABLE([jamvm],
+	      [AS_HELP_STRING(--enable-jamvm,use JamVM as VM [[default=no]])],
+  [
+    ENABLE_JAMVM="${enableval}"
+  ],
+  [
+    ENABLE_JAMVM=no
+  ])
+
+  AC_MSG_RESULT(${ENABLE_JAMVM})
+  AM_CONDITIONAL(ENABLE_JAMVM, test x"${ENABLE_JAMVM}" = "xyes")
+  AC_SUBST(ENABLE_JAMVM)
 ])
 
 AC_DEFUN([IT_CHECK_ENABLE_CACAO],
@@ -1203,6 +1221,7 @@ AM_CONDITIONAL(ADD_CACAO_BUILD, test x$a
 AM_CONDITIONAL(ADD_CACAO_BUILD, test x$add_vm_cacao != x)
 AM_CONDITIONAL(ADD_ZERO_BUILD,  test x$add_vm_zero  != x || test x$add_vm_shark != x)
 AM_CONDITIONAL(ADD_SHARK_BUILD, test x$add_vm_shark != x)
+AM_CONDITIONAL(BUILD_JAMVM, test "x${ENABLE_JAMVM}" = xyes)
 AM_CONDITIONAL(BUILD_CACAO, test x$add_vm_cacao != x || test "x${WITH_CACAO}" = xyes)
 
 if test "x${WITH_CACAO}" = xyes && test "x${ADD_CACAO_BUILD_TRUE}" = x; then
diff -r 3dc52504cbdd -r 7d23f65c73a8 configure.ac
--- a/configure.ac	Tue Feb 22 10:58:37 2011 +0000
+++ b/configure.ac	Tue Feb 22 12:21:34 2011 +0100
@@ -175,6 +175,9 @@ IT_CHECK_WITH_CACAO_HOME
 IT_CHECK_WITH_CACAO_HOME
 IT_CHECK_WITH_CACAO_SRC_ZIP
 IT_CHECK_WITH_CACAO_SRC_DIR
+
+IT_CHECK_ENABLE_JAMVM
+
 IT_DISABLE_OPTIMIZATIONS
 IT_SET_SHARK_BUILD
 IT_ENABLE_ZERO_BUILD



More information about the distro-pkg-dev mailing list