/hg/icedtea: JamVM: Taste the New --enable-jamvm Flavour!
andrew at icedtea.classpath.org
andrew at icedtea.classpath.org
Wed May 18 17:25:12 PDT 2011
changeset 0f78ff523f7f in /hg/icedtea
details: http://icedtea.classpath.org/hg/icedtea?cmd=changeset;node=0f78ff523f7f
author: Andrew John Hughes <ahughes at redhat.com>
date: Thu May 19 01:25:06 2011 +0100
JamVM: Taste the New --enable-jamvm Flavour!
2011-05-18 Andrew John Hughes <ahughes at redhat.com>
* Makefile.am: (clean-jamvm): Don't remove clean-
extract-jamvm.stamp here; use its own target.
(clean-extract-jamvm): Added.
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:
ChangeLog | 46 ++++++++++++++++++++++
Makefile.am | 119 ++++++++++++++++++++++++++++++++++++++++++++++++++++++----
NEWS | 1 +
acinclude.m4 | 23 ++++++++++-
configure.ac | 2 +
5 files changed, 179 insertions(+), 12 deletions(-)
diffs (362 lines):
diff -r eda93e00ce53 -r 0f78ff523f7f ChangeLog
--- a/ChangeLog Wed May 18 23:57:28 2011 +0200
+++ b/ChangeLog Thu May 19 01:25:06 2011 +0100
@@ -1,3 +1,49 @@
+2011-05-18 Andrew John Hughes <ahughes at redhat.com>
+
+ * Makefile.am:
+ (clean-jamvm): Don't remove clean-extract-jamvm.stamp
+ here; use its own target.
+ (clean-extract-jamvm): Added.
+
+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-05-18 Pavel Tisnovsky <ptisnovs at redhat.com>
* Makefile.am:
diff -r eda93e00ce53 -r 0f78ff523f7f Makefile.am
--- a/Makefile.am Wed May 18 23:57:28 2011 +0200
+++ b/Makefile.am Thu May 19 01:25:06 2011 +0100
@@ -24,6 +24,17 @@
CACAO_URL = $(CACAO_BASE_URL)/$(CACAO_VERSION).tar.bz2
CACAO_SRC_ZIP = cacao-$(CACAO_VERSION).tar.bz2
+# 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 = jdk7-jaxws2_2_2-2010_12_14.zip
JAXWS_DROP_SHA256SUM = ef3115dde8ed9a7129e65aab8b1499e11621e343559e6e5a8df9c4542848fb9b
@@ -67,6 +78,7 @@
REWRITER_BUILD_DIR = $(abs_top_builddir)/rewriter.build
STAGE1_BOOT_DIR = $(abs_top_builddir)/bootstrap/boot
STAGE2_BOOT_DIR = $(abs_top_builddir)/bootstrap/icedtea
+JAMVM_IMPORT_PATH = $(abs_top_builddir)/jamvm/install/hotspot
# Source directories
@@ -173,8 +185,13 @@
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
BOOTSTRAP_DIRECTORY_STAMP = stamps/bootstrap-directory-stage2.stamp
@@ -469,6 +486,11 @@
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" \
@@ -732,7 +754,8 @@
clean-bootstrap-directory-symlink-stage1 icedtea icedtea-debug \
clean-icedtea icedtea-stage2 clean-icedtea-boot \
clean-rt hotspot hotspot-helper clean-jtreg clean-jtreg-reports \
- clean-drops jtregcheck clean-remove-intree-libraries
+ clean-drops jtregcheck clean-remove-intree-libraries \
+ clean-jamvm clean-extract-jamvm
env:
@echo 'unset JAVA_HOME'
@@ -778,11 +801,11 @@
# Download OpenJDK sources.
stamps/download.stamp: stamps/download-drops.stamp stamps/download-openjdk.stamp \
- stamps/download-cacao.stamp
+ stamps/download-cacao.stamp stamps/download-jamvm.stamp
mkdir -p stamps
touch $@
-clean-download: clean-drops clean-download-openjdk clean-download-cacao
+clean-download: clean-drops clean-download-openjdk clean-download-cacao clean-download-jamvm
rm -f stamps/download.stamp
stamps/download-jaxp-drop.stamp:
@@ -1074,13 +1097,37 @@
rm -f $(CACAO_SRC_ZIP)
rm -f stamps/download-cacao.stamp
-stamps/extract.stamp: stamps/extract-openjdk.stamp \
- stamps/extract-cacao.stamp stamps/extract-jaxws.stamp \
- stamps/remove-intree-libraries.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-extract: clean-extract-openjdk clean-extract-cacao clean-extract-jaxws
+clean-download-jamvm:
+ rm -f $(JAMVM_SRC_ZIP)
+ rm -f stamps/download-jamvm.stamp
+
+stamps/extract.stamp: stamps/extract-openjdk.stamp \
+ stamps/extract-cacao.stamp stamps/extract-jaxws.stamp \
+ stamps/remove-intree-libraries.stamp stamps/extract-jamvm.stamp
+ mkdir -p stamps
+ touch $@
+
+clean-extract: clean-extract-openjdk clean-extract-cacao clean-extract-jaxws \
+ clean-extract-jamvm
rm -f stamps/extract.stamp
stamps/extract-openjdk.stamp: stamps/download-openjdk.stamp
@@ -1219,6 +1266,23 @@
clean-extract-cacao: clean-cacao
rm -f 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
+
+clean-extract-jamvm: clean-jamvm
+ rm -f stamps/extract-jamvm.stamp
+
stamps/extract-jaxws.stamp: stamps/download-jaxws-drop.stamp \
stamps/download-jaf-drop.stamp stamps/extract-openjdk.stamp
set -e ; \
@@ -1393,7 +1457,8 @@
mv openjdk/jdk/make/common/shared/Defs.gmk Defs.gmk.bak
cat Defs.gmk.bak > openjdk/jdk/make/common/shared/Defs.gmk
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)" \
@@ -1679,7 +1744,8 @@
# you change it in the icedtea-debug target as well.
stamps/icedtea.stamp: stamps/bootstrap-directory-symlink-stage2.stamp \
stamps/download.stamp stamps/extract.stamp $(OPENJDK_TREE) \
- stamps/cacao.stamp $(PULSE_JAVA_TARGET) stamps/rewrite-rhino.stamp
+ stamps/cacao.stamp $(PULSE_JAVA_TARGET) stamps/rewrite-rhino.stamp \
+ stamps/jamvm.stamp
$(ARCH_PREFIX) $(MAKE) \
$(ICEDTEA_ENV) \
-C openjdk/ \
@@ -1734,13 +1800,17 @@
cp $(abs_top_builddir)/tz.properties \
$(BUILD_OUTPUT_DIR)/j2sdk-image/jre/lib;
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-debug.stamp: stamps/bootstrap-directory-symlink-stage2.stamp \
stamps/download.stamp stamps/extract.stamp $(OPENJDK_TREE) \
- stamps/cacao.stamp $(PULSE_JAVA_TARGET) stamps/rewrite-rhino.stamp
+ stamps/cacao.stamp $(PULSE_JAVA_TARGET) stamps/rewrite-rhino.stamp \
+ stamps/jamvm.stamp
$(ARCH_PREFIX) $(MAKE) \
$(ICEDTEA_ENV) \
-C openjdk/ \
@@ -1795,6 +1865,9 @@
cp $(abs_top_builddir)/tz.properties \
$(DEBUG_BUILD_OUTPUT_DIR)/j2sdk-image/jre/lib;
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)
mkdir -p stamps
@@ -1988,6 +2061,28 @@
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 stamps/jamvm.stamp
+
+clean-jamvm:
+ rm -rf jamvm
+ rm -f stamps/jamvm.stamp
+
# CACAO
stamps/cacao.stamp: stamps/rt.stamp
@@ -2343,6 +2438,8 @@
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
@@ -2371,6 +2468,8 @@
icedtea-stage2: stamps/icedtea-stage2.stamp
+jamvm: stamps/jamvm.stamp
+
jtreg: stamps/jtreg.stamp
native-ecj: stamps/native-ecj.stamp
diff -r eda93e00ce53 -r 0f78ff523f7f NEWS
--- a/NEWS Wed May 18 23:57:28 2011 +0200
+++ b/NEWS Thu May 19 01:25:06 2011 +0100
@@ -2,6 +2,7 @@
* NetX and the plugin moved to the IcedTea-Web project with a separate
release cycle.
+* Added out-of-the-box JamVM support using --enable-jamvm
* Bug fixes
- PR616, PR99: Don't statically link libstdc++
* Zero/Shark
diff -r eda93e00ce53 -r 0f78ff523f7f acinclude.m4
--- a/acinclude.m4 Wed May 18 23:57:28 2011 +0200
+++ b/acinclude.m4 Thu May 19 01:25:06 2011 +0100
@@ -714,7 +714,8 @@
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
@@ -1293,6 +1294,7 @@
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
@@ -1880,4 +1882,21 @@
fi
AM_CONDITIONAL(USE_SYSTEM_LCMS, test x"${ENABLE_SYSTEM_LCMS}" = "xyes")
AC_SUBST(ENABLE_SYSTEM_LCMS)
-])
\ No newline at end of file
+])
+
+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)
+])
diff -r eda93e00ce53 -r 0f78ff523f7f configure.ac
--- a/configure.ac Wed May 18 23:57:28 2011 +0200
+++ b/configure.ac Thu May 19 01:25:06 2011 +0100
@@ -149,6 +149,8 @@
AC_CHECK_ENABLE_CACAO
AC_CHECK_WITH_CACAO_HOME
AC_CHECK_WITH_CACAO_SRC_ZIP
+IT_CHECK_ENABLE_JAMVM
+
DISABLE_OPTIMIZATIONS
SET_SHARK_BUILD
ENABLE_ZERO_BUILD
More information about the distro-pkg-dev
mailing list