RFC: JamVM - Taste the New Flavour!

Dr Andrew John Hughes ahughes at redhat.com
Mon Feb 21 13:22:51 PST 2011


On 21:20 Sat 19 Feb     , Xerxes Ranby wrote:
> Greetings!
> 
> "JamVM's got a shiny new Git repository, which contains the port to the 
> OpenJDK class-library."
> http://draenog.blogspot.com/2011/02/openjdkjamvm-git-repository.html
> 
> The attached patch adds Robert Lougher's new JamVM flavour to Icedtea6!
> 
> I have tested the patch using the following three configurations on x86_64:
> 
> # Built JamVM as the default vm implicit using HS19 makefiles.
> ./configure --enable-jamvm --disable-bootstrap --disable-docs
> make
> ./openjdk.build/j2sdk-image/bin/java -version
> java version "1.6.0_21"
> OpenJDK Runtime Environment (IcedTea6 1.10pre+r70ea35e42b14) (Ubuntu 
> build 1.6.0_21-b21)
> JamVM (build 1.6.0-devel, inline-threaded interpreter)
> 
> # Built JamVM as the default vm explicit using HS20 makefiles.
> ./configure --enable-jamvm --disable-bootstrap --disable-docs 
> --with-hotspot-build=hs20
> make
> ./openjdk.build/j2sdk-image/bin/java -version
> java version "1.6.0_21"
> OpenJDK Runtime Environment (IcedTea6 1.10pre+r70ea35e42b14) (Ubuntu 
> build 1.6.0_21-b21)
> JamVM (build 1.6.0-devel, inline-threaded interpreter)
> 
> # Built JamVM as an additional vm.
> ./configure --with-additional-vms=jamvm --disable-bootstrap --disable-docs
> make
> ./openjdk.build/j2sdk-image/bin/java -jamvm -version
> java version "1.6.0_21"
> OpenJDK Runtime Environment (IcedTea6 1.10pre+r70ea35e42b14) (Ubuntu 
> build 1.6.0_21-b21)
> JamVM (build 1.6.0-devel, inline-threaded interpreter)
> 
> Ok to push?
> 

See comments below on the --enable-jamvm option.
I'll leave comments on addvm to doko.

I think this should be ok to go in before the 1.10 branch as the changes
to the build are mainly ancillary and don't affect the main options.

> Cheers, and have a great day!
> Xerxes
> 

> Index: icedtea6/Makefile.am
> ===================================================================
> --- icedtea6.orig/Makefile.am	2011-02-19 02:26:05.000000000 +0100
> +++ icedtea6/Makefile.am	2011-02-19 20:58:34.000000000 +0100
> @@ -11,6 +11,18 @@
>  CACAO_URL = $(CACAO_BASE_URL)/$(CACAO_VERSION).tar.gz
>  CACAO_SRC_ZIP = cacao-$(CACAO_VERSION).tar.gz
>  
> +# The jamvm-e9b0f82b9c9cfe5e5550f5e77de53ec2fba603a3.tar.gz got fetched from
> +# http://git.berlios.de/cgi-bin/cgit.cgi/jamvm/snapshot/jamvm-e9b0f82b9c9cfe5e5550f5e77de53ec2fba603a3.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 = e9b0f82b9c9cfe5e5550f5e77de53ec2fba603a3
> +JAMVM_SHA256SUM = 24cf67795970d7e63d297a13b370ae8c3b141c35a22c3fd96137b5e62815a607
> +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
> +JAMVM_IMPORT_PATH = \$(abs_top_builddir)/jamvm/install/hotspot
> +

I'd prefer JAMVM_IMPORT_PATH was with the other paths in the Makefile.am rather than here.
Is there a reason for the leading backslash?

>  JAXWS_DROP_URL = http://icedtea.classpath.org/download/drops
>  JAXWS_DROP_ZIP = jdk6-jaxws-b20.zip
>  JAXWS_DROP_SHA256SUM = 0c460583898b968a58bf88eb53f90a0e34369e2562d65fb3a143512dfcaeb3eb
> @@ -126,8 +138,13 @@
>    ICEDTEA_BUILD_TARGET=jdk_only
>    ICEDTEA_DEBUG_BUILD_TARGET = jdk_fastdebug_only
>  else
> +if WITH_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.stamp
> @@ -469,6 +486,11 @@
>  	ALT_HOTSPOT_IMPORT_PATH="$(CACAO_IMPORT_PATH)"
>  endif
>  
> +if WITH_JAMVM
> +ICEDTEA_ENV += \
> +	ALT_HOTSPOT_IMPORT_PATH="$(JAMVM_IMPORT_PATH)"
> +endif
> +
>  if DISABLE_OPTIMIZATIONS
>  ICEDTEA_ENV += \
>  	NO_OPTIMIZATIONS="true" \
> @@ -582,8 +604,10 @@
>  	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-add-jamvm clean-add-jamvm-debug \
> +	clean-cacao clean-add-cacao clean-add-cacao-debug \

Good catch on the missing \.

>  	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 \
> @@ -740,6 +764,29 @@
>  	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 $@

We need an option equivalent to --with-cacao-src-zip.  I'd suggest
adding this in a follow up patch.  As with the drop tarballs, we
should verify the checksum for pre-provided tarballs as well as
download ones.  It should be just a matter of symlinking the tarball
here if an alternate one is specified.

> +
> +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 \
> @@ -802,18 +849,19 @@
>  	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
> @@ -871,6 +919,20 @@
>  	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
>  	if test "x${HSBUILD}" != "xoriginal"; then \
> @@ -1018,6 +1080,7 @@
>  	fi
>  
>  	icedtea_version="$(PACKAGE_VERSION)$(ICEDTEA_REV)" ; \
> +        if ! test "x$(WITH_JAMVM)" = "xno"; then \

I don't think this will work, but it's hard to tell in patch form.
It looks like WITH_CACAO is getting nested inside WITH_JAMVM which
means WITH_CACAO will only be checked if WITH_JAMVM is set.

Can you include the whole rule in a reply?

>  	if ! test "x$(WITH_CACAO)" = "xno"; then \
>  	  echo "JDK_DERIVATIVE_NAME=$${icedtea_version}" \
>  	    >>openjdk/jdk/make/common/shared/Defs.gmk ; \
> @@ -1026,6 +1089,10 @@
>  	else \
>  	  echo "JDK_DERIVATIVE_NAME=$(ICEDTEA_NAME) $${icedtea_version}" \
>  	    >>openjdk/jdk/make/common/shared/Defs.gmk ; \
> +	fi ; \
> +	else \
> +	  echo "JDK_DERIVATIVE_NAME=$(ICEDTEA_NAME) $${icedtea_version}" \
> +	   >>openjdk/jdk/make/common/shared/Defs.gmk ; \
>  	fi ; 
>  
>  if HAS_JDK_REVISION
> @@ -1244,7 +1311,8 @@
>  # 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 \
> @@ -1262,6 +1330,9 @@
>  if WITH_CACAO
>  	printf -- '-cacao ALIASED_TO -server\n' >> $(BUILD_JRE_ARCH_DIR)/jvm.cfg
>  endif
> +if WITH_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
> @@ -1271,7 +1342,8 @@
>  	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 \
> + jamvm.stamp
>  	$(ARCH_PREFIX) $(MAKE) \
>  	  $(ICEDTEA_ENV) \
>  	  -C openjdk \
> @@ -1289,6 +1361,9 @@
>  if WITH_CACAO
>  	printf -- '-cacao ALIASED_TO -server\n' >> $(BUILD_DEBUG_JRE_ARCH_DIR)/jvm.cfg
>  endif
> +if WITH_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
> @@ -1298,22 +1373,24 @@
>  	rm -rf $(DEBUG_BUILD_OUTPUT_DIR)
>  	rm -f stamps/icedtea-debug.stamp
>  
> -stamps/icedtea-against-icedtea.stamp: stamps/icedtea.stamp stamps/add-cacao.stamp stamps/add-zero.stamp \
> +stamps/icedtea-against-icedtea.stamp: stamps/icedtea.stamp \
> + stamps/add-jamvm.stamp stamps/add-cacao.stamp stamps/add-zero.stamp \
>   stamps/add-systemtap.stamp stamps/add-pulseaudio.stamp stamps/add-nss.stamp stamps/add-tzdata-support.stamp
>  	mkdir -p stamps
>  	touch stamps/icedtea-against-icedtea.stamp
>  
> -clean-icedtea-against-icedtea: clean-add-zero clean-add-cacao clean-add-systemtap clean-add-pulseaudio \
> +clean-icedtea-against-icedtea: clean-add-jamvm clean-add-zero clean-add-cacao clean-add-systemtap clean-add-pulseaudio \
>   clean-add-nss clean-add-tzdata-support
>  	rm -f stamps/icedtea-against-icedtea.stamp
>  
> -stamps/icedtea-debug-against-icedtea.stamp: stamps/icedtea-debug.stamp stamps/add-cacao-debug.stamp \
> +stamps/icedtea-debug-against-icedtea.stamp: stamps/icedtea-debug.stamp \
> + stamps/add-jamvm-debug.stamp stamps/add-cacao-debug.stamp \
>   stamps/add-zero-debug.stamp stamps/add-systemtap-debug.stamp stamps/add-pulseaudio-debug.stamp \
>   stamps/add-nss-debug.stamp stamps/add/tzdata-support-debug.stamp
>  	mkdir -p stamps
>  	touch stamps/icedtea-debug-against-icedtea.stamp
>  
> -clean-icedtea-debug-against-icedtea: clean-add-zero-debug clean-add-cacao-debug clean-add-systemtap-debug \
> +clean-icedtea-debug-against-icedtea: clean-add-jamvm-debug clean-add-zero-debug clean-add-cacao-debug clean-add-systemtap-debug \
>   clean-add-pulseaudio-debug clean-add-nss-debug clean-add-tzdata-support-debug
>  	rm -f stamps/icedtea-debug-against-icedtea.stamp
>  
> @@ -1694,6 +1771,61 @@
>  	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
> +
> +clean-jamvm:
> +	rm -rf jamvm
> +	rm -f stamps/jamvm.stamp
> +	rm -f stamps/extract-jamvm.stamp
> +
> +# Targets for additional VMs
> +
> +stamps/add-jamvm.stamp: stamps/icedtea.stamp stamps/jamvm.stamp
> +if ADD_JAMVM_BUILD
> +	mkdir -p $(BUILD_JRE_ARCH_DIR)/jamvm
> +	install -m 644 jamvm/install/lib/libjvm.so \
> +		$(BUILD_JRE_ARCH_DIR)/jamvm/
> +	printf -- '-jamvm KNOWN\n' >> $(BUILD_JRE_ARCH_DIR)/jvm.cfg
> +else
> +	printf -- '-jamvm ERROR\n' >> $(BUILD_JRE_ARCH_DIR)/jvm.cfg
> +endif
> +	touch $@
> +
> +clean-add-jamvm:
> +	rm -rf $(BUILD_JRE_ARCH_DIR)/jamvm
> +	sed -i 's#-jamvm KNOWN#-jamvm ERROR#' jvm.cfg
> +	rm -f stamps/add-jamvm.stamp
> +
> +stamps/add-jamvm-debug.stamp: stamps/icedtea-debug.stamp stamps/jamvm.stamp
> +if ADD_JAMVM_BUILD
> +	mkdir -p $(BUILD_DEBUG_JRE_ARCH_DIR)/jamvm
> +	install -m 644 jamvm/install/lib/libjvm.so \
> +		$(BUILD_DEBUG_JRE_ARCH_DIR)/jamvm/
> +	printf -- '-jamvm KNOWN\n' >> $(BUILD_DEBUG_JRE_ARCH_DIR)/jvm.cfg
> +else
> +	printf -- '-jamvm ERROR\n' >> $(BUILD_DEBUG_JRE_ARCH_DIR)/jvm.cfg
> +endif
> +	touch $@
> +
> +clean-add-jamvm-debug:
> +	rm -rf $(BUILD_DEBUG_JRE_ARCH_DIR)/jamvm
> +	sed -i 's#-jamvm KNOWN#-jamvm ERROR#' jvm.cfg
> +	rm -f stamps/add-jamvm-debug.stamp
> +
>  # CACAO
>  
>  stamps/cacao.stamp: $(OPENJDK_TREE) stamps/rt.stamp
> @@ -2058,6 +2190,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
> @@ -2082,6 +2216,8 @@
>  
>  icedtea-ecj: stamps/icedtea-ecj.stamp
>  
> +jamvm: stamps/jamvm.stamp
> +
>  jtreg: stamps/jtreg.stamp
>  
>  liveconnect: stamps/liveconnect.stamp
> Index: icedtea6/configure.ac
> ===================================================================
> --- icedtea6.orig/configure.ac	2011-02-19 02:26:05.000000000 +0100
> +++ icedtea6/configure.ac	2011-02-19 02:26:38.000000000 +0100
> @@ -175,6 +175,9 @@
>  AC_CHECK_WITH_CACAO_HOME
>  AC_CHECK_WITH_CACAO_SRC_ZIP
>  AC_CHECK_WITH_CACAO_SRC_DIR
> +
> +AC_CHECK_ENABLE_JAMVM
> +

Please use IT as the prefix rather than AC.  We are not the autoconf project :-)

>  DISABLE_OPTIMIZATIONS
>  SET_SHARK_BUILD
>  ENABLE_ZERO_BUILD
> Index: icedtea6/acinclude.m4
> ===================================================================
> --- icedtea6.orig/acinclude.m4	2011-02-19 02:26:05.000000000 +0100
> +++ icedtea6/acinclude.m4	2011-02-19 03:23:52.000000000 +0100
> @@ -746,11 +746,15 @@
>          sparc*-*-*) ;;
>          x86_64-*-*) ;;
>          *)
> -          if test "x${WITH_CACAO}" != xno; then
> +          if test "x${WITH_JAMVM}" != xno; then
>              use_zero=no
>            else
> -            use_zero=yes
> -          fi
> +            if test "x${WITH_CACAO}" != xno; then
> +              use_zero=no
> +            else
> +              use_zero=yes
> +            fi
> +	  fi

This would be clearer if you just added JAMVM as a new option
rather than changing the CACAO one.

>            ;;
>        esac
>      fi
> @@ -820,6 +824,23 @@
>    AM_CONDITIONAL(SHARK_BUILD, test "x${use_shark}" = xyes)
>  ])
>  
> +AC_DEFUN([AC_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]])],
> +  [
> +    WITH_JAMVM="${enableval}"
> +  ],
> +  [
> +    WITH_JAMVM=no
> +  ])
> +
> +  AC_MSG_RESULT(${WITH_JAMVM})
> +  AM_CONDITIONAL(WITH_JAMVM, test x"${WITH_JAMVM}" = "xyes")
> +  AC_SUBST(WITH_JAMVM)
> +])
> +

Again, should be IT_CHECK_ENABLE_JAMVM.
Why are we using 'WITH_JAMVM' rather than 'ENABLE_JAMVM'?  'with' implies it's possible to
take some option but we aren't using AC_ARG_WITH but AC_ARG_ENABLE.
Also if it is only yes/no a lot of the above would be simpler if we just tested for 'yes'.
It seems to assume some other value is possible.

>  AC_DEFUN([AC_CHECK_ENABLE_CACAO],
>  [
>    AC_MSG_CHECKING(whether to use CACAO as VM)
> @@ -1144,13 +1165,14 @@
>  AC_MSG_CHECKING([for additional virtual machines to build])
>  AC_ARG_WITH(additional-vms,
>              AC_HELP_STRING([--with-additional-vms=vm-list],
> -	    [build additional virtual machines. Valid value is a comma separated string with the backend names `cacao', `zero' and `shark'.]),
> +	    [build additional virtual machines. Valid value is a comma separated string with the backend names `jamvm', `cacao', `zero' and `shark'.]),
>  [
>  if test "x${withval}" != x
>  then
>    with_additional_vms=${withval}
>    for vm in `echo $with_additional_vms | sed 's/,/ /g'`; do
>      case "x$vm" in
> +      xjamvm) add_vm_jamvm=yes;;
>        xcacao) add_vm_cacao=yes;;
>        xzero)  add_vm_zero=yes;;
>        xshark) add_vm_shark=yes;;
> @@ -1163,11 +1185,16 @@
>  fi
>  AC_MSG_RESULT($with_additional_vms)
>  
> +AM_CONDITIONAL(ADD_JAMVM_BUILD, test x$add_vm_jamvm != x)
>  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$add_vm_jamvm != x || test "x${WITH_JAMVM}" = xyes)
>  AM_CONDITIONAL(BUILD_CACAO, test x$add_vm_cacao != x || test "x${WITH_CACAO}" = xyes)
>  
> +if test "x${WITH_JAMVM}" = xyes && test "x${ADD_JAMVM_BUILD_TRUE}" = x; then
> +  AC_MSG_ERROR([additional vm is the default vm])
> +fi
>  if test "x${WITH_CACAO}" = xyes && test "x${ADD_CACAO_BUILD_TRUE}" = x; then
>    AC_MSG_ERROR([additional vm is the default vm])
>  fi


-- 
Andrew :)

Free Java Software Engineer
Red Hat, Inc. (http://www.redhat.com)

Support Free Java!
Contribute to GNU Classpath and IcedTea
http://www.gnu.org/software/classpath
http://icedtea.classpath.org
PGP Key: F5862A37 (https://keys.indymedia.org/)
Fingerprint = EA30 D855 D50F 90CD F54D  0698 0713 C3ED F586 2A37



More information about the distro-pkg-dev mailing list