Mercurial > hg > icedtea11
changeset 2391:0f78ff523f7f
JamVM: Taste the New --enable-jamvm Flavour!
2011-05-18 Andrew John Hughes <ahughes@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@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.
author | Andrew John Hughes <ahughes@redhat.com> |
---|---|
date | Thu, 19 May 2011 01:25:06 +0100 |
parents | eda93e00ce53 |
children | 2713916e1aac c718b8720581 |
files | ChangeLog Makefile.am NEWS acinclude.m4 configure.ac |
diffstat | 5 files changed, 179 insertions(+), 12 deletions(-) [+] |
line wrap: on
line diff
--- 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@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@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@redhat.com> * 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
--- 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
--- 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) +])