< prev index next >

make/autoconf/hotspot.m4

Print this page




   8 # particular file as subject to the "Classpath" exception as provided
   9 # by Oracle in the LICENSE file that accompanied this code.
  10 #
  11 # This code is distributed in the hope that it will be useful, but WITHOUT
  12 # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
  13 # FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
  14 # version 2 for more details (a copy is included in the LICENSE file that
  15 # accompanied this code).
  16 #
  17 # You should have received a copy of the GNU General Public License version
  18 # 2 along with this work; if not, write to the Free Software Foundation,
  19 # Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  20 #
  21 # Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
  22 # or visit www.oracle.com if you need additional information or have any
  23 # questions.
  24 #
  25 
  26 # All valid JVM features, regardless of platform
  27 VALID_JVM_FEATURES="compiler1 compiler2 zero minimal dtrace jvmti jvmci \
  28     graal vm-structs jni-check services management cmsgc epsilongc g1gc parallelgc serialgc zgc nmt cds \
  29     static-build link-time-opt aot jfr"
  30 
  31 # Deprecated JVM features (these are ignored, but with a warning)
  32 DEPRECATED_JVM_FEATURES="trace"
  33 
  34 # All valid JVM variants
  35 VALID_JVM_VARIANTS="server client minimal core zero custom"
  36 
  37 ###############################################################################
  38 # Check if the specified JVM variant should be built. To be used in shell if
  39 # constructs, like this:
  40 # if HOTSPOT_CHECK_JVM_VARIANT(server); then
  41 #
  42 # Only valid to use after HOTSPOT_SETUP_JVM_VARIANTS has setup variants.
  43 
  44 # Definition kept in one line to allow inlining in if statements.
  45 # Additional [] needed to keep m4 from mangling shell constructs.
  46 AC_DEFUN([HOTSPOT_CHECK_JVM_VARIANT],
  47 [ [ [[ " $JVM_VARIANTS " =~ " $1 " ]] ] ])
  48 


 308     AC_MSG_ERROR([Specified JVM feature 'management' requires feature 'nmt'])
 309   fi
 310 
 311   if HOTSPOT_CHECK_JVM_FEATURE(jvmci) && ! (HOTSPOT_CHECK_JVM_FEATURE(compiler1) || HOTSPOT_CHECK_JVM_FEATURE(compiler2)); then
 312     AC_MSG_ERROR([Specified JVM feature 'jvmci' requires feature 'compiler2' or 'compiler1'])
 313   fi
 314 
 315   if HOTSPOT_CHECK_JVM_FEATURE(cmsgc) && ! HOTSPOT_CHECK_JVM_FEATURE(serialgc); then
 316     AC_MSG_ERROR([Specified JVM feature 'cmsgc' requires feature 'serialgc'])
 317   fi
 318 
 319   # Enable JFR by default, except for Zero, linux-sparcv9 and on minimal.
 320   if ! HOTSPOT_CHECK_JVM_VARIANT(zero); then
 321     if test "x$OPENJDK_TARGET_OS" != xaix; then
 322       if test "x$OPENJDK_TARGET_OS" != xlinux || test "x$OPENJDK_TARGET_CPU" != xsparcv9; then
 323         NON_MINIMAL_FEATURES="$NON_MINIMAL_FEATURES jfr"
 324       fi
 325     fi
 326   fi
 327 














 328   # Only enable ZGC on Linux x86_64
 329   AC_MSG_CHECKING([if zgc should be built])
 330   if HOTSPOT_CHECK_JVM_FEATURE(zgc); then
 331     if test "x$OPENJDK_TARGET_OS" = "xlinux" && test "x$OPENJDK_TARGET_CPU" = "xx86_64"; then
 332       AC_MSG_RESULT([yes])
 333     else
 334       DISABLED_JVM_FEATURES="$DISABLED_JVM_FEATURES zgc"
 335       AC_MSG_RESULT([no, platform not supported])
 336     fi
 337   else
 338     AC_MSG_RESULT([no])
 339   fi
 340 
 341   # Disable unsupported GCs for Zero
 342   if HOTSPOT_CHECK_JVM_VARIANT(zero); then
 343     DISABLED_JVM_FEATURES="$DISABLED_JVM_FEATURES epsilongc g1gc zgc"
 344   fi
 345 
 346   # Turn on additional features based on other parts of configure
 347   if test "x$INCLUDE_DTRACE" = "xtrue"; then


 457       AC_MSG_RESULT([no, forced])
 458     else
 459       AC_MSG_RESULT([no])
 460     fi
 461     JVM_FEATURES_aot=""
 462     if HOTSPOT_CHECK_JVM_FEATURE(aot); then
 463       AC_MSG_ERROR([To enable aot, you must use --enable-aot])
 464     fi
 465   fi
 466 
 467   AC_SUBST(ENABLE_AOT)
 468 
 469   if test "x$OPENJDK_TARGET_CPU" = xarm ; then
 470     # Default to use link time optimizations on minimal on arm
 471     JVM_FEATURES_link_time_opt="link-time-opt"
 472   else
 473     JVM_FEATURES_link_time_opt=""
 474   fi
 475 
 476   # All variants but minimal (and custom) get these features
 477   NON_MINIMAL_FEATURES="$NON_MINIMAL_FEATURES cmsgc g1gc parallelgc serialgc epsilongc jni-check jvmti management nmt services vm-structs"
 478 
 479   # Disable CDS on AIX.
 480   if test "x$OPENJDK_TARGET_OS" = "xaix"; then
 481     ENABLE_CDS="false"
 482     if test "x$enable_cds" = "xyes"; then
 483       AC_MSG_ERROR([CDS is currently not supported on AIX. Remove --enable-cds.])
 484     fi
 485   fi
 486 
 487   # Disable CDS if user requested it with --with-jvm-features=-cds.
 488   DISABLE_CDS=`$ECHO $DISABLED_JVM_FEATURES | $GREP cds`
 489   if test "x$DISABLE_CDS" = "xcds"; then
 490     ENABLE_CDS="false"
 491     if test "x$enable_cds" = "xyes"; then
 492       AC_MSG_ERROR([CDS was disabled by --with-jvm-features=-cds. Remove --enable-cds.])
 493     fi
 494   fi
 495 
 496   # Disable CDS for zero, minimal, core..
 497   if HOTSPOT_CHECK_JVM_VARIANT(zero) || HOTSPOT_CHECK_JVM_VARIANT(minimal) || HOTSPOT_CHECK_JVM_VARIANT(core); then




   8 # particular file as subject to the "Classpath" exception as provided
   9 # by Oracle in the LICENSE file that accompanied this code.
  10 #
  11 # This code is distributed in the hope that it will be useful, but WITHOUT
  12 # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
  13 # FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
  14 # version 2 for more details (a copy is included in the LICENSE file that
  15 # accompanied this code).
  16 #
  17 # You should have received a copy of the GNU General Public License version
  18 # 2 along with this work; if not, write to the Free Software Foundation,
  19 # Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  20 #
  21 # Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
  22 # or visit www.oracle.com if you need additional information or have any
  23 # questions.
  24 #
  25 
  26 # All valid JVM features, regardless of platform
  27 VALID_JVM_FEATURES="compiler1 compiler2 zero minimal dtrace jvmti jvmci \
  28     graal vm-structs jni-check services management cmsgc epsilongc g1gc parallelgc serialgc shenandoahgc zgc nmt cds \
  29     static-build link-time-opt aot jfr"
  30 
  31 # Deprecated JVM features (these are ignored, but with a warning)
  32 DEPRECATED_JVM_FEATURES="trace"
  33 
  34 # All valid JVM variants
  35 VALID_JVM_VARIANTS="server client minimal core zero custom"
  36 
  37 ###############################################################################
  38 # Check if the specified JVM variant should be built. To be used in shell if
  39 # constructs, like this:
  40 # if HOTSPOT_CHECK_JVM_VARIANT(server); then
  41 #
  42 # Only valid to use after HOTSPOT_SETUP_JVM_VARIANTS has setup variants.
  43 
  44 # Definition kept in one line to allow inlining in if statements.
  45 # Additional [] needed to keep m4 from mangling shell constructs.
  46 AC_DEFUN([HOTSPOT_CHECK_JVM_VARIANT],
  47 [ [ [[ " $JVM_VARIANTS " =~ " $1 " ]] ] ])
  48 


 308     AC_MSG_ERROR([Specified JVM feature 'management' requires feature 'nmt'])
 309   fi
 310 
 311   if HOTSPOT_CHECK_JVM_FEATURE(jvmci) && ! (HOTSPOT_CHECK_JVM_FEATURE(compiler1) || HOTSPOT_CHECK_JVM_FEATURE(compiler2)); then
 312     AC_MSG_ERROR([Specified JVM feature 'jvmci' requires feature 'compiler2' or 'compiler1'])
 313   fi
 314 
 315   if HOTSPOT_CHECK_JVM_FEATURE(cmsgc) && ! HOTSPOT_CHECK_JVM_FEATURE(serialgc); then
 316     AC_MSG_ERROR([Specified JVM feature 'cmsgc' requires feature 'serialgc'])
 317   fi
 318 
 319   # Enable JFR by default, except for Zero, linux-sparcv9 and on minimal.
 320   if ! HOTSPOT_CHECK_JVM_VARIANT(zero); then
 321     if test "x$OPENJDK_TARGET_OS" != xaix; then
 322       if test "x$OPENJDK_TARGET_OS" != xlinux || test "x$OPENJDK_TARGET_CPU" != xsparcv9; then
 323         NON_MINIMAL_FEATURES="$NON_MINIMAL_FEATURES jfr"
 324       fi
 325     fi
 326   fi
 327 
 328   # Only enable Shenandoah on supported arches
 329   AC_MSG_CHECKING([if shenandoah can be built])
 330   if HOTSPOT_CHECK_JVM_VARIANT(zero); then
 331     DISABLED_JVM_FEATURES="$DISABLED_JVM_FEATURES shenandoahgc"
 332     AC_MSG_RESULT([no, this JVM variant not supported])
 333   else
 334     if test "x$OPENJDK_TARGET_CPU" = "xx86_64" || test "x$OPENJDK_TARGET_CPU" = "xaarch64" || test "x$OPENJDK_TARGET_CPU" == "xx86"; then
 335       AC_MSG_RESULT([yes])
 336     else
 337       DISABLED_JVM_FEATURES="$DISABLED_JVM_FEATURES shenandoahgc"
 338       AC_MSG_RESULT([no, platform not supported])
 339     fi
 340   fi
 341 
 342   # Only enable ZGC on Linux x86_64
 343   AC_MSG_CHECKING([if zgc should be built])
 344   if HOTSPOT_CHECK_JVM_FEATURE(zgc); then
 345     if test "x$OPENJDK_TARGET_OS" = "xlinux" && test "x$OPENJDK_TARGET_CPU" = "xx86_64"; then
 346       AC_MSG_RESULT([yes])
 347     else
 348       DISABLED_JVM_FEATURES="$DISABLED_JVM_FEATURES zgc"
 349       AC_MSG_RESULT([no, platform not supported])
 350     fi
 351   else
 352     AC_MSG_RESULT([no])
 353   fi
 354 
 355   # Disable unsupported GCs for Zero
 356   if HOTSPOT_CHECK_JVM_VARIANT(zero); then
 357     DISABLED_JVM_FEATURES="$DISABLED_JVM_FEATURES epsilongc g1gc zgc"
 358   fi
 359 
 360   # Turn on additional features based on other parts of configure
 361   if test "x$INCLUDE_DTRACE" = "xtrue"; then


 471       AC_MSG_RESULT([no, forced])
 472     else
 473       AC_MSG_RESULT([no])
 474     fi
 475     JVM_FEATURES_aot=""
 476     if HOTSPOT_CHECK_JVM_FEATURE(aot); then
 477       AC_MSG_ERROR([To enable aot, you must use --enable-aot])
 478     fi
 479   fi
 480 
 481   AC_SUBST(ENABLE_AOT)
 482 
 483   if test "x$OPENJDK_TARGET_CPU" = xarm ; then
 484     # Default to use link time optimizations on minimal on arm
 485     JVM_FEATURES_link_time_opt="link-time-opt"
 486   else
 487     JVM_FEATURES_link_time_opt=""
 488   fi
 489 
 490   # All variants but minimal (and custom) get these features
 491   NON_MINIMAL_FEATURES="$NON_MINIMAL_FEATURES cmsgc g1gc parallelgc serialgc epsilongc shenandoahgc jni-check jvmti management nmt services vm-structs"
 492 
 493   # Disable CDS on AIX.
 494   if test "x$OPENJDK_TARGET_OS" = "xaix"; then
 495     ENABLE_CDS="false"
 496     if test "x$enable_cds" = "xyes"; then
 497       AC_MSG_ERROR([CDS is currently not supported on AIX. Remove --enable-cds.])
 498     fi
 499   fi
 500 
 501   # Disable CDS if user requested it with --with-jvm-features=-cds.
 502   DISABLE_CDS=`$ECHO $DISABLED_JVM_FEATURES | $GREP cds`
 503   if test "x$DISABLE_CDS" = "xcds"; then
 504     ENABLE_CDS="false"
 505     if test "x$enable_cds" = "xyes"; then
 506       AC_MSG_ERROR([CDS was disabled by --with-jvm-features=-cds. Remove --enable-cds.])
 507     fi
 508   fi
 509 
 510   # Disable CDS for zero, minimal, core..
 511   if HOTSPOT_CHECK_JVM_VARIANT(zero) || HOTSPOT_CHECK_JVM_VARIANT(minimal) || HOTSPOT_CHECK_JVM_VARIANT(core); then


< prev index next >