diff -r 065b9ded4bf2 -r feeb67be5886 common/autoconf/jdk-options.m4 --- a/common/autoconf/jdk-options.m4 Mon Mar 31 14:06:57 2014 -0700 +++ b/common/autoconf/jdk-options.m4 Wed Apr 02 10:01:38 2014 -0700 @@ -51,6 +51,33 @@ AC_MSG_RESULT([$JDK_VARIANT]) ]) +AC_DEFUN_ONCE([JDKOPT_SETUP_JVM_INTERPRETER], +[ +############################################################################### +# +# Check which interpreter of the JVM we want to build. +# Currently we have: +# template: Template interpreter (the default) +# cpp : C++ interpreter +AC_MSG_CHECKING([which interpreter of the JVM to build]) +AC_ARG_WITH([jvm-interpreter], [AS_HELP_STRING([--with-jvm-interpreter], + [JVM interpreter to build (template, cpp) @<:@template@:>@])]) + +if test "x$with_jvm_interpreter" = x; then + with_jvm_interpreter="template" +fi + +JVM_INTERPRETER="$with_jvm_interpreter" + +if test "x$JVM_INTERPRETER" != xtemplate && test "x$JVM_INTERPRETER" != xcpp; then + AC_MSG_ERROR([The available JVM interpreters are: template, cpp]) +fi + +AC_SUBST(JVM_INTERPRETER) + +AC_MSG_RESULT([$with_jvm_interpreter]) +]) + AC_DEFUN_ONCE([JDKOPT_SETUP_JVM_VARIANTS], [ @@ -65,19 +92,20 @@ # ie normal interpreter and C1, only the serial GC, kernel jvmti etc # zero: no machine code interpreter, no compiler # zeroshark: zero interpreter and shark/llvm compiler backend +# core: interpreter only, no compiler (only works on some platforms) AC_MSG_CHECKING([which variants of the JVM to build]) AC_ARG_WITH([jvm-variants], [AS_HELP_STRING([--with-jvm-variants], - [JVM variants (separated by commas) to build (server, client, minimal1, kernel, zero, zeroshark) @<:@server@:>@])]) + [JVM variants (separated by commas) to build (server, client, minimal1, kernel, zero, zeroshark, core) @<:@server@:>@])]) if test "x$with_jvm_variants" = x; then with_jvm_variants="server" fi JVM_VARIANTS=",$with_jvm_variants," - TEST_VARIANTS=`$ECHO "$JVM_VARIANTS" | $SED -e 's/server,//' -e 's/client,//' -e 's/minimal1,//' -e 's/kernel,//' -e 's/zero,//' -e 's/zeroshark,//'` + TEST_VARIANTS=`$ECHO "$JVM_VARIANTS" | $SED -e 's/server,//' -e 's/client,//' -e 's/minimal1,//' -e 's/kernel,//' -e 's/zero,//' -e 's/zeroshark,//' -e 's/core,//'` if test "x$TEST_VARIANTS" != "x,"; then - AC_MSG_ERROR([The available JVM variants are: server, client, minimal1, kernel, zero, zeroshark]) + AC_MSG_ERROR([The available JVM variants are: server, client, minimal1, kernel, zero, zeroshark, core]) fi AC_MSG_RESULT([$with_jvm_variants]) @@ -87,6 +115,7 @@ JVM_VARIANT_KERNEL=`$ECHO "$JVM_VARIANTS" | $SED -e '/,kernel,/!s/.*/false/g' -e '/,kernel,/s/.*/true/g'` JVM_VARIANT_ZERO=`$ECHO "$JVM_VARIANTS" | $SED -e '/,zero,/!s/.*/false/g' -e '/,zero,/s/.*/true/g'` JVM_VARIANT_ZEROSHARK=`$ECHO "$JVM_VARIANTS" | $SED -e '/,zeroshark,/!s/.*/false/g' -e '/,zeroshark,/s/.*/true/g'` + JVM_VARIANT_CORE=`$ECHO "$JVM_VARIANTS" | $SED -e '/,core,/!s/.*/false/g' -e '/,core,/s/.*/true/g'` if test "x$JVM_VARIANT_CLIENT" = xtrue; then if test "x$OPENJDK_TARGET_CPU_BITS" = x64; then @@ -106,7 +135,7 @@ # Replace the commas with AND for use in the build directory name. ANDED_JVM_VARIANTS=`$ECHO "$JVM_VARIANTS" | $SED -e 's/^,//' -e 's/,$//' -e 's/,/AND/'` - COUNT_VARIANTS=`$ECHO "$JVM_VARIANTS" | $SED -e 's/server,/1/' -e 's/client,/1/' -e 's/minimal1,/1/' -e 's/kernel,/1/' -e 's/zero,/1/' -e 's/zeroshark,/1/'` + COUNT_VARIANTS=`$ECHO "$JVM_VARIANTS" | $SED -e 's/server,/1/' -e 's/client,/1/' -e 's/minimal1,/1/' -e 's/kernel,/1/' -e 's/zero,/1/' -e 's/zeroshark,/1/' -e 's/core,/1/'` if test "x$COUNT_VARIANTS" != "x,1"; then BUILDING_MULTIPLE_JVM_VARIANTS=yes else @@ -120,6 +149,7 @@ AC_SUBST(JVM_VARIANT_KERNEL) AC_SUBST(JVM_VARIANT_ZERO) AC_SUBST(JVM_VARIANT_ZEROSHARK) + AC_SUBST(JVM_VARIANT_CORE) INCLUDE_SA=true if test "x$JVM_VARIANT_ZERO" = xtrue ; then @@ -128,6 +158,9 @@ if test "x$JVM_VARIANT_ZEROSHARK" = xtrue ; then INCLUDE_SA=false fi + if test "x$VAR_CPU" = xppc64 ; then + INCLUDE_SA=false + fi AC_SUBST(INCLUDE_SA) if test "x$OPENJDK_TARGET_OS" = "xmacosx"; then @@ -236,6 +269,10 @@ HOTSPOT_TARGET="$HOTSPOT_TARGET${HOTSPOT_DEBUG_LEVEL}shark " fi + if test "x$JVM_VARIANT_CORE" = xtrue; then + HOTSPOT_TARGET="$HOTSPOT_TARGET${HOTSPOT_DEBUG_LEVEL}core " + fi + HOTSPOT_TARGET="$HOTSPOT_TARGET docs export_$HOTSPOT_EXPORT" # On Macosx universal binaries are produced, but they only contain