< 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
 348     JVM_FEATURES="$JVM_FEATURES dtrace"
 349   else
 350     if HOTSPOT_CHECK_JVM_FEATURE(dtrace); then
 351       AC_MSG_ERROR([To enable dtrace, you must use --enable-dtrace])
 352     fi
 353   fi
 354 
 355   if test "x$STATIC_BUILD" = "xtrue"; then
 356     JVM_FEATURES="$JVM_FEATURES static-build"
 357   else
 358     if HOTSPOT_CHECK_JVM_FEATURE(static-build); then
 359       AC_MSG_ERROR([To enable static-build, you must use --enable-static-build])
 360     fi
 361   fi
 362 
 363   if ! HOTSPOT_CHECK_JVM_VARIANT(zero); 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 test "x$OPENJDK_TARGET_CPU_ARCH" = "xx86" || test "x$OPENJDK_TARGET_CPU" = "xaarch64" ; then
 331     AC_MSG_RESULT([yes])
 332   else
 333     DISABLED_JVM_FEATURES="$DISABLED_JVM_FEATURES shenandoahgc"
 334     AC_MSG_RESULT([no, platform not supported])
 335   fi
 336 
 337   # Only enable ZGC on Linux x86_64
 338   AC_MSG_CHECKING([if zgc should be built])
 339   if HOTSPOT_CHECK_JVM_FEATURE(zgc); then
 340     if test "x$OPENJDK_TARGET_OS" = "xlinux" && test "x$OPENJDK_TARGET_CPU" = "xx86_64"; then
 341       AC_MSG_RESULT([yes])
 342     else
 343       DISABLED_JVM_FEATURES="$DISABLED_JVM_FEATURES zgc"
 344       AC_MSG_RESULT([no, platform not supported])
 345     fi
 346   else
 347     AC_MSG_RESULT([no])
 348   fi
 349 
 350   # Disable unsupported GCs for Zero
 351   if HOTSPOT_CHECK_JVM_VARIANT(zero); then
 352     DISABLED_JVM_FEATURES="$DISABLED_JVM_FEATURES epsilongc g1gc zgc shenandoahgc"
 353   fi
 354 
 355   # Turn on additional features based on other parts of configure
 356   if test "x$INCLUDE_DTRACE" = "xtrue"; then
 357     JVM_FEATURES="$JVM_FEATURES dtrace"
 358   else
 359     if HOTSPOT_CHECK_JVM_FEATURE(dtrace); then
 360       AC_MSG_ERROR([To enable dtrace, you must use --enable-dtrace])
 361     fi
 362   fi
 363 
 364   if test "x$STATIC_BUILD" = "xtrue"; then
 365     JVM_FEATURES="$JVM_FEATURES static-build"
 366   else
 367     if HOTSPOT_CHECK_JVM_FEATURE(static-build); then
 368       AC_MSG_ERROR([To enable static-build, you must use --enable-static-build])
 369     fi
 370   fi
 371 
 372   if ! HOTSPOT_CHECK_JVM_VARIANT(zero); then


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


< prev index next >