RFC: JamVM - Taste the New Flavour!

Robert Lougher rob.lougher at gmail.com
Mon Feb 21 13:40:00 PST 2011


Hi,

On 21 February 2011 21:22, Dr Andrew John Hughes <ahughes at redhat.com> wrote:
> 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.
>

Xerxes, can you take a new snapshot from the berlios git tree?  A
couple of people have already tested the port.  One of them (Ludovic
Orban) reported a crash with an application which stressed the GC
(failure after compaction).  I tracked this down over the weekend, and
the port is now running stably.

Rob.

P.S.  Thanks for doing the integration!

>> 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