382 CFLAGS_JDKLIB="$CFLAGS_JDKLIB $GCOV_CFLAGS" 383 CFLAGS_JDKEXE="$CFLAGS_JDKEXE $GCOV_CFLAGS" 384 CXXFLAGS_JDKLIB="$CXXFLAGS_JDKLIB $GCOV_CFLAGS" 385 CXXFLAGS_JDKEXE="$CXXFLAGS_JDKEXE $GCOV_CFLAGS" 386 LDFLAGS_JDKLIB="$LDFLAGS_JDKLIB $GCOV_LDFLAGS" 387 LDFLAGS_JDKEXE="$LDFLAGS_JDKEXE $GCOV_LDFLAGS" 388 GCOV_ENABLED="true" 389 else 390 AC_MSG_ERROR([--enable-native-coverage only works with toolchain type gcc]) 391 fi 392 elif test "x$enable_native_coverage" = "xno"; then 393 AC_MSG_CHECKING([if native coverage is enabled]) 394 AC_MSG_RESULT([no]) 395 elif test "x$enable_native_coverage" != "x"; then 396 AC_MSG_ERROR([--enable-native-coverage can only be assigned "yes" or "no"]) 397 fi 398 399 AC_SUBST(GCOV_ENABLED) 400 ]) 401 402 ################################################################################ 403 # 404 # Static build support. When enabled will generate static 405 # libraries instead of shared libraries for all JDK libs. 406 # 407 AC_DEFUN_ONCE([JDKOPT_SETUP_STATIC_BUILD], 408 [ 409 AC_ARG_ENABLE([static-build], [AS_HELP_STRING([--enable-static-build], 410 [enable static library build @<:@disabled@:>@])]) 411 STATIC_BUILD=false 412 if test "x$enable_static_build" = "xyes"; then 413 AC_MSG_CHECKING([if static build is enabled]) 414 AC_MSG_RESULT([yes]) 415 if test "x$OPENJDK_TARGET_OS" != "xmacosx"; then 416 AC_MSG_ERROR([--enable-static-build is only supported for macosx builds]) 417 fi 418 STATIC_BUILD_CFLAGS="-DSTATIC_BUILD=1" 419 CFLAGS_JDKLIB_EXTRA="$CFLAGS_JDKLIB_EXTRA $STATIC_BUILD_CFLAGS" 420 CXXFLAGS_JDKLIB_EXTRA="$CXXFLAGS_JDKLIB_EXTRA $STATIC_BUILD_CFLAGS" 421 STATIC_BUILD=true | 382 CFLAGS_JDKLIB="$CFLAGS_JDKLIB $GCOV_CFLAGS" 383 CFLAGS_JDKEXE="$CFLAGS_JDKEXE $GCOV_CFLAGS" 384 CXXFLAGS_JDKLIB="$CXXFLAGS_JDKLIB $GCOV_CFLAGS" 385 CXXFLAGS_JDKEXE="$CXXFLAGS_JDKEXE $GCOV_CFLAGS" 386 LDFLAGS_JDKLIB="$LDFLAGS_JDKLIB $GCOV_LDFLAGS" 387 LDFLAGS_JDKEXE="$LDFLAGS_JDKEXE $GCOV_LDFLAGS" 388 GCOV_ENABLED="true" 389 else 390 AC_MSG_ERROR([--enable-native-coverage only works with toolchain type gcc]) 391 fi 392 elif test "x$enable_native_coverage" = "xno"; then 393 AC_MSG_CHECKING([if native coverage is enabled]) 394 AC_MSG_RESULT([no]) 395 elif test "x$enable_native_coverage" != "x"; then 396 AC_MSG_ERROR([--enable-native-coverage can only be assigned "yes" or "no"]) 397 fi 398 399 AC_SUBST(GCOV_ENABLED) 400 ]) 401 402 ############################################################################### 403 # 404 # AddressSanitizer 405 # 406 AC_DEFUN_ONCE([JDKOPT_SETUP_ADDRESS_SANITIZER], 407 [ 408 AC_ARG_ENABLE(asan, [AS_HELP_STRING([--enable-asan], 409 [enable AddressSanitizer if possible @<:@disabled@:>@])]) 410 ASAN_ENABLED="no" 411 if test "x$enable_asan" = "xyes"; then 412 case $TOOLCHAIN_TYPE in 413 gcc | clang) 414 AC_MSG_CHECKING([if asan is enabled]) 415 AC_MSG_RESULT([yes]) 416 ASAN_CFLAGS="-fsanitize=address -fno-omit-frame-pointer" 417 ASAN_LDFLAGS="-fsanitize=address" 418 JVM_CFLAGS="$JVM_CFLAGS $ASAN_CFLAGS" 419 JVM_LDFLAGS="$JVM_LDFLAGS $ASAN_LDFLAGS" 420 CFLAGS_JDKLIB="$CFLAGS_JDKLIB $ASAN_CFLAGS" 421 CFLAGS_JDKEXE="$CFLAGS_JDKEXE $ASAN_CFLAGS" 422 CXXFLAGS_JDKLIB="$CXXFLAGS_JDKLIB $ASAN_CFLAGS" 423 CXXFLAGS_JDKEXE="$CXXFLAGS_JDKEXE $ASAN_CFLAGS" 424 LDFLAGS_JDKLIB="$LDFLAGS_JDKLIB $ASAN_LDFLAGS" 425 LDFLAGS_JDKEXE="$LDFLAGS_JDKEXE $ASAN_LDFLAGS" 426 ASAN_ENABLED="yes" 427 ;; 428 *) 429 AC_MSG_ERROR([--enable-asan only works with toolchain type gcc or clang]) 430 ;; 431 esac 432 elif test "x$enable_asan" = "xno"; then 433 AC_MSG_CHECKING([if asan is enabled]) 434 AC_MSG_RESULT([no]) 435 elif test "x$enable_asan" != "x"; then 436 AC_MSG_ERROR([--enable-asan can only be assigned "yes" or "no"]) 437 fi 438 439 AC_SUBST(ASAN_ENABLED) 440 ]) 441 442 ################################################################################ 443 # 444 # Static build support. When enabled will generate static 445 # libraries instead of shared libraries for all JDK libs. 446 # 447 AC_DEFUN_ONCE([JDKOPT_SETUP_STATIC_BUILD], 448 [ 449 AC_ARG_ENABLE([static-build], [AS_HELP_STRING([--enable-static-build], 450 [enable static library build @<:@disabled@:>@])]) 451 STATIC_BUILD=false 452 if test "x$enable_static_build" = "xyes"; then 453 AC_MSG_CHECKING([if static build is enabled]) 454 AC_MSG_RESULT([yes]) 455 if test "x$OPENJDK_TARGET_OS" != "xmacosx"; then 456 AC_MSG_ERROR([--enable-static-build is only supported for macosx builds]) 457 fi 458 STATIC_BUILD_CFLAGS="-DSTATIC_BUILD=1" 459 CFLAGS_JDKLIB_EXTRA="$CFLAGS_JDKLIB_EXTRA $STATIC_BUILD_CFLAGS" 460 CXXFLAGS_JDKLIB_EXTRA="$CXXFLAGS_JDKLIB_EXTRA $STATIC_BUILD_CFLAGS" 461 STATIC_BUILD=true |