jdk-options.m4 revision 927:5d71dcd42e73
1# 2# Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved. 3# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4# 5# This code is free software; you can redistribute it and/or modify it 6# under the terms of the GNU General Public License version 2 only, as 7# published by the Free Software Foundation. Oracle designates this 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 26AC_DEFUN_ONCE([JDKOPT_SETUP_JDK_VARIANT], 27[ 28 ############################################################################### 29 # 30 # Check which variant of the JDK that we want to build. 31 # Currently we have: 32 # normal: standard edition 33 # but the custom make system may add other variants 34 # 35 # Effectively the JDK variant gives a name to a specific set of 36 # modules to compile into the JDK. In the future, these modules 37 # might even be Jigsaw modules. 38 # 39 AC_MSG_CHECKING([which variant of the JDK to build]) 40 AC_ARG_WITH([jdk-variant], [AS_HELP_STRING([--with-jdk-variant], 41 [JDK variant to build (normal) @<:@normal@:>@])]) 42 43 if test "x$with_jdk_variant" = xnormal || test "x$with_jdk_variant" = x; then 44 JDK_VARIANT="normal" 45 else 46 AC_MSG_ERROR([The available JDK variants are: normal]) 47 fi 48 49 AC_SUBST(JDK_VARIANT) 50 51 AC_MSG_RESULT([$JDK_VARIANT]) 52]) 53 54AC_DEFUN_ONCE([JDKOPT_SETUP_JVM_VARIANTS], 55[ 56 57 ############################################################################### 58 # 59 # Check which variants of the JVM that we want to build. 60 # Currently we have: 61 # server: normal interpreter and a tiered C1/C2 compiler 62 # client: normal interpreter and C1 (no C2 compiler) (only 32-bit platforms) 63 # minimal1: reduced form of client with optional VM services and features stripped out 64 # kernel: kernel footprint JVM that passes the TCK without major performance problems, 65 # ie normal interpreter and C1, only the serial GC, kernel jvmti etc 66 # zero: no machine code interpreter, no compiler 67 # zeroshark: zero interpreter and shark/llvm compiler backend 68 AC_MSG_CHECKING([which variants of the JVM to build]) 69 AC_ARG_WITH([jvm-variants], [AS_HELP_STRING([--with-jvm-variants], 70 [JVM variants (separated by commas) to build (server, client, minimal1, kernel, zero, zeroshark) @<:@server@:>@])]) 71 72 if test "x$with_jvm_variants" = x; then 73 with_jvm_variants="server" 74 fi 75 76 JVM_VARIANTS=",$with_jvm_variants," 77 TEST_VARIANTS=`$ECHO "$JVM_VARIANTS" | $SED -e 's/server,//' -e 's/client,//' -e 's/minimal1,//' -e 's/kernel,//' -e 's/zero,//' -e 's/zeroshark,//'` 78 79 if test "x$TEST_VARIANTS" != "x,"; then 80 AC_MSG_ERROR([The available JVM variants are: server, client, minimal1, kernel, zero, zeroshark]) 81 fi 82 AC_MSG_RESULT([$with_jvm_variants]) 83 84 JVM_VARIANT_SERVER=`$ECHO "$JVM_VARIANTS" | $SED -e '/,server,/!s/.*/false/g' -e '/,server,/s/.*/true/g'` 85 JVM_VARIANT_CLIENT=`$ECHO "$JVM_VARIANTS" | $SED -e '/,client,/!s/.*/false/g' -e '/,client,/s/.*/true/g'` 86 JVM_VARIANT_MINIMAL1=`$ECHO "$JVM_VARIANTS" | $SED -e '/,minimal1,/!s/.*/false/g' -e '/,minimal1,/s/.*/true/g'` 87 JVM_VARIANT_KERNEL=`$ECHO "$JVM_VARIANTS" | $SED -e '/,kernel,/!s/.*/false/g' -e '/,kernel,/s/.*/true/g'` 88 JVM_VARIANT_ZERO=`$ECHO "$JVM_VARIANTS" | $SED -e '/,zero,/!s/.*/false/g' -e '/,zero,/s/.*/true/g'` 89 JVM_VARIANT_ZEROSHARK=`$ECHO "$JVM_VARIANTS" | $SED -e '/,zeroshark,/!s/.*/false/g' -e '/,zeroshark,/s/.*/true/g'` 90 91 if test "x$JVM_VARIANT_CLIENT" = xtrue; then 92 if test "x$OPENJDK_TARGET_CPU_BITS" = x64; then 93 AC_MSG_ERROR([You cannot build a client JVM for a 64-bit machine.]) 94 fi 95 fi 96 if test "x$JVM_VARIANT_KERNEL" = xtrue; then 97 if test "x$OPENJDK_TARGET_CPU_BITS" = x64; then 98 AC_MSG_ERROR([You cannot build a kernel JVM for a 64-bit machine.]) 99 fi 100 fi 101 if test "x$JVM_VARIANT_MINIMAL1" = xtrue; then 102 if test "x$OPENJDK_TARGET_CPU_BITS" = x64; then 103 AC_MSG_ERROR([You cannot build a minimal JVM for a 64-bit machine.]) 104 fi 105 fi 106 107 # Replace the commas with AND for use in the build directory name. 108 ANDED_JVM_VARIANTS=`$ECHO "$JVM_VARIANTS" | $SED -e 's/^,//' -e 's/,$//' -e 's/,/AND/'` 109 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/'` 110 if test "x$COUNT_VARIANTS" != "x,1"; then 111 BUILDING_MULTIPLE_JVM_VARIANTS=yes 112 else 113 BUILDING_MULTIPLE_JVM_VARIANTS=no 114 fi 115 116 AC_SUBST(JVM_VARIANTS) 117 AC_SUBST(JVM_VARIANT_SERVER) 118 AC_SUBST(JVM_VARIANT_CLIENT) 119 AC_SUBST(JVM_VARIANT_MINIMAL1) 120 AC_SUBST(JVM_VARIANT_KERNEL) 121 AC_SUBST(JVM_VARIANT_ZERO) 122 AC_SUBST(JVM_VARIANT_ZEROSHARK) 123 124 INCLUDE_SA=true 125 if test "x$JVM_VARIANT_ZERO" = xtrue ; then 126 INCLUDE_SA=false 127 fi 128 if test "x$JVM_VARIANT_ZEROSHARK" = xtrue ; then 129 INCLUDE_SA=false 130 fi 131 AC_SUBST(INCLUDE_SA) 132 133 if test "x$OPENJDK_TARGET_OS" = "xmacosx"; then 134 MACOSX_UNIVERSAL="true" 135 fi 136 137 AC_SUBST(MACOSX_UNIVERSAL) 138]) 139 140AC_DEFUN_ONCE([JDKOPT_SETUP_DEBUG_LEVEL], 141[ 142 ############################################################################### 143 # 144 # Set the debug level 145 # release: no debug information, all optimizations, no asserts. 146 # fastdebug: debug information (-g), all optimizations, all asserts 147 # slowdebug: debug information (-g), no optimizations, all asserts 148 # 149 DEBUG_LEVEL="release" 150 AC_MSG_CHECKING([which debug level to use]) 151 AC_ARG_ENABLE([debug], [AS_HELP_STRING([--enable-debug], 152 [set the debug level to fastdebug (shorthand for --with-debug-level=fastdebug) @<:@disabled@:>@])], 153 [ 154 ENABLE_DEBUG="${enableval}" 155 DEBUG_LEVEL="fastdebug" 156 ], [ENABLE_DEBUG="no"]) 157 158 AC_ARG_WITH([debug-level], [AS_HELP_STRING([--with-debug-level], 159 [set the debug level (release, fastdebug, slowdebug) @<:@release@:>@])], 160 [ 161 DEBUG_LEVEL="${withval}" 162 if test "x$ENABLE_DEBUG" = xyes; then 163 AC_MSG_ERROR([You cannot use both --enable-debug and --with-debug-level at the same time.]) 164 fi 165 ]) 166 AC_MSG_RESULT([$DEBUG_LEVEL]) 167 168 if test "x$DEBUG_LEVEL" != xrelease && \ 169 test "x$DEBUG_LEVEL" != xfastdebug && \ 170 test "x$DEBUG_LEVEL" != xslowdebug; then 171 AC_MSG_ERROR([Allowed debug levels are: release, fastdebug and slowdebug]) 172 fi 173 174 175 ############################################################################### 176 # 177 # Setup legacy vars/targets and new vars to deal with different debug levels. 178 # 179 180 case $DEBUG_LEVEL in 181 release ) 182 VARIANT="OPT" 183 FASTDEBUG="false" 184 DEBUG_CLASSFILES="false" 185 BUILD_VARIANT_RELEASE="" 186 HOTSPOT_DEBUG_LEVEL="product" 187 HOTSPOT_EXPORT="product" 188 ;; 189 fastdebug ) 190 VARIANT="DBG" 191 FASTDEBUG="true" 192 DEBUG_CLASSFILES="true" 193 BUILD_VARIANT_RELEASE="-fastdebug" 194 HOTSPOT_DEBUG_LEVEL="fastdebug" 195 HOTSPOT_EXPORT="fastdebug" 196 ;; 197 slowdebug ) 198 VARIANT="DBG" 199 FASTDEBUG="false" 200 DEBUG_CLASSFILES="true" 201 BUILD_VARIANT_RELEASE="-debug" 202 HOTSPOT_DEBUG_LEVEL="jvmg" 203 HOTSPOT_EXPORT="debug" 204 ;; 205 esac 206 207 ##### 208 # Generate the legacy makefile targets for hotspot. 209 # The hotspot api for selecting the build artifacts, really, needs to be improved. 210 # JDK-7195896 will fix this on the hotspot side by using the JVM_VARIANT_* variables to 211 # determine what needs to be built. All we will need to set here is all_product, all_fastdebug etc 212 # But until then ... 213 HOTSPOT_TARGET="" 214 215 if test "x$JVM_VARIANT_SERVER" = xtrue; then 216 HOTSPOT_TARGET="$HOTSPOT_TARGET${HOTSPOT_DEBUG_LEVEL} " 217 fi 218 219 if test "x$JVM_VARIANT_CLIENT" = xtrue; then 220 HOTSPOT_TARGET="$HOTSPOT_TARGET${HOTSPOT_DEBUG_LEVEL}1 " 221 fi 222 223 if test "x$JVM_VARIANT_MINIMAL1" = xtrue; then 224 HOTSPOT_TARGET="$HOTSPOT_TARGET${HOTSPOT_DEBUG_LEVEL}minimal1 " 225 fi 226 227 if test "x$JVM_VARIANT_KERNEL" = xtrue; then 228 HOTSPOT_TARGET="$HOTSPOT_TARGET${HOTSPOT_DEBUG_LEVEL}kernel " 229 fi 230 231 if test "x$JVM_VARIANT_ZERO" = xtrue; then 232 HOTSPOT_TARGET="$HOTSPOT_TARGET${HOTSPOT_DEBUG_LEVEL}zero " 233 fi 234 235 if test "x$JVM_VARIANT_ZEROSHARK" = xtrue; then 236 HOTSPOT_TARGET="$HOTSPOT_TARGET${HOTSPOT_DEBUG_LEVEL}shark " 237 fi 238 239 HOTSPOT_TARGET="$HOTSPOT_TARGET docs export_$HOTSPOT_EXPORT" 240 241 # On Macosx universal binaries are produced, but they only contain 242 # 64 bit intel. This invalidates control of which jvms are built 243 # from configure, but only server is valid anyway. Fix this 244 # when hotspot makefiles are rewritten. 245 if test "x$MACOSX_UNIVERSAL" = xtrue; then 246 HOTSPOT_TARGET=universal_${HOTSPOT_EXPORT} 247 fi 248 249 ##### 250 251 AC_SUBST(DEBUG_LEVEL) 252 AC_SUBST(VARIANT) 253 AC_SUBST(FASTDEBUG) 254 AC_SUBST(DEBUG_CLASSFILES) 255 AC_SUBST(BUILD_VARIANT_RELEASE) 256]) 257 258 259############################################################################### 260# 261# Should we build only OpenJDK even if closed sources are present? 262# 263AC_DEFUN_ONCE([JDKOPT_SETUP_OPEN_OR_CUSTOM], 264[ 265 AC_ARG_ENABLE([openjdk-only], [AS_HELP_STRING([--enable-openjdk-only], 266 [suppress building custom source even if present @<:@disabled@:>@])],,[enable_openjdk_only="no"]) 267 268 AC_MSG_CHECKING([for presence of closed sources]) 269 if test -d "$SRC_ROOT/jdk/src/closed"; then 270 CLOSED_SOURCE_PRESENT=yes 271 else 272 CLOSED_SOURCE_PRESENT=no 273 fi 274 AC_MSG_RESULT([$CLOSED_SOURCE_PRESENT]) 275 276 AC_MSG_CHECKING([if closed source is suppressed (openjdk-only)]) 277 SUPPRESS_CLOSED_SOURCE="$enable_openjdk_only" 278 AC_MSG_RESULT([$SUPPRESS_CLOSED_SOURCE]) 279 280 if test "x$CLOSED_SOURCE_PRESENT" = xno; then 281 OPENJDK=true 282 if test "x$SUPPRESS_CLOSED_SOURCE" = "xyes"; then 283 AC_MSG_WARN([No closed source present, --enable-openjdk-only makes no sense]) 284 fi 285 else 286 if test "x$SUPPRESS_CLOSED_SOURCE" = "xyes"; then 287 OPENJDK=true 288 else 289 OPENJDK=false 290 fi 291 fi 292 293 if test "x$OPENJDK" = "xtrue"; then 294 SET_OPENJDK="OPENJDK=true" 295 fi 296 297 AC_SUBST(SET_OPENJDK) 298]) 299 300AC_DEFUN_ONCE([JDKOPT_SETUP_JDK_OPTIONS], 301[ 302 303 ############################################################################### 304 # 305 # Should we build a JDK/JVM with headful support (ie a graphical ui)? 306 # We always build headless support. 307 # 308 AC_MSG_CHECKING([headful support]) 309 AC_ARG_ENABLE([headful], [AS_HELP_STRING([--disable-headful], 310 [disable building headful support (graphical UI support) @<:@enabled@:>@])], 311 [SUPPORT_HEADFUL=${enable_headful}], [SUPPORT_HEADFUL=yes]) 312 313 SUPPORT_HEADLESS=yes 314 BUILD_HEADLESS="BUILD_HEADLESS:=true" 315 316 if test "x$SUPPORT_HEADFUL" = xyes; then 317 # We are building both headful and headless. 318 headful_msg="include support for both headful and headless" 319 fi 320 321 if test "x$SUPPORT_HEADFUL" = xno; then 322 # Thus we are building headless only. 323 BUILD_HEADLESS="BUILD_HEADLESS:=true" 324 headful_msg="headless only" 325 fi 326 327 AC_MSG_RESULT([$headful_msg]) 328 329 AC_SUBST(SUPPORT_HEADLESS) 330 AC_SUBST(SUPPORT_HEADFUL) 331 AC_SUBST(BUILD_HEADLESS) 332 333 # Control wether Hotspot runs Queens test after build. 334 AC_ARG_ENABLE([hotspot-test-in-build], [AS_HELP_STRING([--enable-hotspot-test-in-build], 335 [run the Queens test after Hotspot build @<:@disabled@:>@])],, 336 [enable_hotspot_test_in_build=no]) 337 if test "x$enable_hotspot_test_in_build" = "xyes"; then 338 TEST_IN_BUILD=true 339 else 340 TEST_IN_BUILD=false 341 fi 342 AC_SUBST(TEST_IN_BUILD) 343 344 ############################################################################### 345 # 346 # Choose cacerts source file 347 # 348 AC_ARG_WITH(cacerts-file, [AS_HELP_STRING([--with-cacerts-file], 349 [specify alternative cacerts file])]) 350 if test "x$with_cacerts_file" != x; then 351 CACERTS_FILE=$with_cacerts_file 352 else 353 CACERTS_FILE=${SRC_ROOT}/jdk/src/share/lib/security/cacerts 354 fi 355 AC_SUBST(CACERTS_FILE) 356 357 ############################################################################### 358 # 359 # Enable or disable unlimited crypto 360 # 361 AC_ARG_ENABLE(unlimited-crypto, [AS_HELP_STRING([--enable-unlimited-crypto], 362 [Enable unlimited crypto policy @<:@disabled@:>@])],, 363 [enable_unlimited_crypto=no]) 364 if test "x$enable_unlimited_crypto" = "xyes"; then 365 UNLIMITED_CRYPTO=true 366 else 367 UNLIMITED_CRYPTO=false 368 fi 369 AC_SUBST(UNLIMITED_CRYPTO) 370 371 ############################################################################### 372 # 373 # Enable or disable the elliptic curve crypto implementation 374 # 375 AC_DEFUN_ONCE([JDKOPT_DETECT_INTREE_EC], 376 [ 377 AC_MSG_CHECKING([if elliptic curve crypto implementation is present]) 378 379 if test -d "${SRC_ROOT}/jdk/src/share/native/sun/security/ec/impl"; then 380 ENABLE_INTREE_EC=yes 381 AC_MSG_RESULT([yes]) 382 else 383 ENABLE_INTREE_EC=no 384 AC_MSG_RESULT([no]) 385 fi 386 387 AC_SUBST(ENABLE_INTREE_EC) 388 ]) 389 390 ############################################################################### 391 # 392 # Compress jars 393 # 394 COMPRESS_JARS=false 395 396 AC_SUBST(COMPRESS_JARS) 397]) 398 399############################################################################### 400# 401# Setup version numbers 402# 403AC_DEFUN_ONCE([JDKOPT_SETUP_JDK_VERSION_NUMBERS], 404[ 405 # Source the version numbers 406 . $AUTOCONF_DIR/version-numbers 407 408 # Get the settings from parameters 409 AC_ARG_WITH(milestone, [AS_HELP_STRING([--with-milestone], 410 [Set milestone value for build @<:@internal@:>@])]) 411 if test "x$with_milestone" = xyes; then 412 AC_MSG_ERROR([Milestone must have a value]) 413 elif test "x$with_milestone" != x; then 414 MILESTONE="$with_milestone" 415 fi 416 if test "x$MILESTONE" = x; then 417 MILESTONE=internal 418 fi 419 420 AC_ARG_WITH(update-version, [AS_HELP_STRING([--with-update-version], 421 [Set update version value for build @<:@b00@:>@])]) 422 if test "x$with_update_version" = xyes; then 423 AC_MSG_ERROR([Update version must have a value]) 424 elif test "x$with_update_version" != x; then 425 JDK_UPDATE_VERSION="$with_update_version" 426 # On macosx 10.7, it's not possible to set --with-update-version=0X due 427 # to a bug in expr (which reduces it to just X). To work around this, we 428 # always add a 0 to one digit update versions. 429 if test "${#JDK_UPDATE_VERSION}" = "1"; then 430 JDK_UPDATE_VERSION="0${JDK_UPDATE_VERSION}" 431 fi 432 fi 433 434 AC_ARG_WITH(user-release-suffix, [AS_HELP_STRING([--with-user-release-suffix], 435 [Add a custom string to the version string if build number isn't set.@<:@username_builddateb00@:>@])]) 436 if test "x$with_user_release_suffix" = xyes; then 437 AC_MSG_ERROR([Release suffix must have a value]) 438 elif test "x$with_user_release_suffix" != x; then 439 USER_RELEASE_SUFFIX="$with_user_release_suffix" 440 fi 441 442 AC_ARG_WITH(build-number, [AS_HELP_STRING([--with-build-number], 443 [Set build number value for build @<:@b00@:>@])]) 444 if test "x$with_build_number" = xyes; then 445 AC_MSG_ERROR([Build number must have a value]) 446 elif test "x$with_build_number" != x; then 447 JDK_BUILD_NUMBER="$with_build_number" 448 fi 449 # Define default USER_RELEASE_SUFFIX if BUILD_NUMBER and USER_RELEASE_SUFFIX are not set 450 if test "x$JDK_BUILD_NUMBER" = x; then 451 JDK_BUILD_NUMBER=b00 452 if test "x$USER_RELEASE_SUFFIX" = x; then 453 BUILD_DATE=`date '+%Y_%m_%d_%H_%M'` 454 # Avoid [:alnum:] since it depends on the locale. 455 CLEAN_USERNAME=`echo "$USER" | $TR -d -c 'abcdefghijklmnopqrstuvqxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789'` 456 USER_RELEASE_SUFFIX=`echo "${CLEAN_USERNAME}_${BUILD_DATE}" | $TR 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` 457 fi 458 fi 459 460 # Now set the JDK version, milestone, build number etc. 461 AC_SUBST(USER_RELEASE_SUFFIX) 462 AC_SUBST(JDK_MAJOR_VERSION) 463 AC_SUBST(JDK_MINOR_VERSION) 464 AC_SUBST(JDK_MICRO_VERSION) 465 AC_SUBST(JDK_UPDATE_VERSION) 466 AC_SUBST(JDK_BUILD_NUMBER) 467 AC_SUBST(MILESTONE) 468 AC_SUBST(LAUNCHER_NAME) 469 AC_SUBST(PRODUCT_NAME) 470 AC_SUBST(PRODUCT_SUFFIX) 471 AC_SUBST(JDK_RC_PLATFORM_NAME) 472 AC_SUBST(COMPANY_NAME) 473 AC_SUBST(MACOSX_BUNDLE_NAME_BASE) 474 AC_SUBST(MACOSX_BUNDLE_ID_BASE) 475 476 COPYRIGHT_YEAR=`date +'%Y'` 477 AC_SUBST(COPYRIGHT_YEAR) 478 479 if test "x$JDK_UPDATE_VERSION" != x; then 480 JDK_VERSION="${JDK_MAJOR_VERSION}.${JDK_MINOR_VERSION}.${JDK_MICRO_VERSION}_${JDK_UPDATE_VERSION}" 481 else 482 JDK_VERSION="${JDK_MAJOR_VERSION}.${JDK_MINOR_VERSION}.${JDK_MICRO_VERSION}" 483 fi 484 AC_SUBST(JDK_VERSION) 485 486 COOKED_BUILD_NUMBER=`$ECHO $JDK_BUILD_NUMBER | $SED -e 's/^b//' -e 's/^0//'` 487 AC_SUBST(COOKED_BUILD_NUMBER) 488]) 489 490AC_DEFUN_ONCE([JDKOPT_SETUP_BUILD_TWEAKS], 491[ 492 HOTSPOT_MAKE_ARGS="$HOTSPOT_TARGET" 493 AC_SUBST(HOTSPOT_MAKE_ARGS) 494 495 # The name of the Service Agent jar. 496 SALIB_NAME="${LIBRARY_PREFIX}saproc${SHARED_LIBRARY_SUFFIX}" 497 if test "x$OPENJDK_TARGET_OS" = "xwindows"; then 498 SALIB_NAME="${LIBRARY_PREFIX}sawindbg${SHARED_LIBRARY_SUFFIX}" 499 fi 500 AC_SUBST(SALIB_NAME) 501]) 502 503AC_DEFUN_ONCE([JDKOPT_SETUP_DEBUG_SYMBOLS], 504[ 505 # 506 # ENABLE_DEBUG_SYMBOLS 507 # This must be done after the toolchain is setup, since we're looking at objcopy. 508 # 509 AC_ARG_ENABLE([debug-symbols], 510 [AS_HELP_STRING([--disable-debug-symbols],[disable generation of debug symbols @<:@enabled@:>@])]) 511 512 AC_MSG_CHECKING([if we should generate debug symbols]) 513 514 if test "x$enable_debug_symbols" = "xyes" && test "x$OBJCOPY" = x; then 515 # explicit enabling of enable-debug-symbols and can't find objcopy 516 # this is an error 517 AC_MSG_ERROR([Unable to find objcopy, cannot enable debug-symbols]) 518 fi 519 520 if test "x$enable_debug_symbols" = "xyes"; then 521 ENABLE_DEBUG_SYMBOLS=true 522 elif test "x$enable_debug_symbols" = "xno"; then 523 ENABLE_DEBUG_SYMBOLS=false 524 else 525 # Default is on if objcopy is found 526 if test "x$OBJCOPY" != x; then 527 ENABLE_DEBUG_SYMBOLS=true 528 # MacOS X and Windows don't use objcopy but default is on for those OSes 529 elif test "x$OPENJDK_TARGET_OS" = xmacosx || test "x$OPENJDK_TARGET_OS" = xwindows; then 530 ENABLE_DEBUG_SYMBOLS=true 531 else 532 ENABLE_DEBUG_SYMBOLS=false 533 fi 534 fi 535 536 AC_MSG_RESULT([$ENABLE_DEBUG_SYMBOLS]) 537 538 # 539 # ZIP_DEBUGINFO_FILES 540 # 541 AC_MSG_CHECKING([if we should zip debug-info files]) 542 AC_ARG_ENABLE([zip-debug-info], 543 [AS_HELP_STRING([--disable-zip-debug-info],[disable zipping of debug-info files @<:@enabled@:>@])], 544 [enable_zip_debug_info="${enableval}"], [enable_zip_debug_info="yes"]) 545 AC_MSG_RESULT([${enable_zip_debug_info}]) 546 547 if test "x${enable_zip_debug_info}" = "xno"; then 548 ZIP_DEBUGINFO_FILES=false 549 else 550 ZIP_DEBUGINFO_FILES=true 551 fi 552 553 AC_SUBST(ENABLE_DEBUG_SYMBOLS) 554 AC_SUBST(ZIP_DEBUGINFO_FILES) 555 AC_SUBST(CFLAGS_DEBUG_SYMBOLS) 556 AC_SUBST(CXXFLAGS_DEBUG_SYMBOLS) 557]) 558 559# Support for customization of the build process. Some build files 560# will include counterparts from this location, if they exist. This allows 561# for a degree of customization of the build targets and the rules/recipes 562# to create them 563AC_ARG_WITH([custom-make-dir], [AS_HELP_STRING([--with-custom-make-dir], 564[use this directory for custom build/make files])], [CUSTOM_MAKE_DIR=$with_custom_make_dir]) 565AC_SUBST(CUSTOM_MAKE_DIR) 566