common/autoconf/platform.m4

changeset 695
1dfcc874461e
parent 671
653ff6bcf0b1
child 698
e404d321abc6
equal deleted inserted replaced
693:b9415faa7066 695:1dfcc874461e
340 ZERO_ARCHFLAG="-m31" 340 ZERO_ARCHFLAG="-m31"
341 ;; 341 ;;
342 *) 342 *)
343 ZERO_ARCHFLAG="-m${OPENJDK_TARGET_CPU_BITS}" 343 ZERO_ARCHFLAG="-m${OPENJDK_TARGET_CPU_BITS}"
344 esac 344 esac
345 PLATFORM_COMPILER_CHECK_ARGUMENTS([$ZERO_ARCHFLAG], [], [ZERO_ARCHFLAG=""])
345 AC_SUBST(ZERO_ARCHFLAG) 346 AC_SUBST(ZERO_ARCHFLAG)
346 347
347 # ZERO_ARCHDEF is used to enable architecture-specific code 348 # ZERO_ARCHDEF is used to enable architecture-specific code
348 case "${OPENJDK_TARGET_CPU}" in 349 case "${OPENJDK_TARGET_CPU}" in
349 ppc*) ZERO_ARCHDEF=PPC ;; 350 ppc*) ZERO_ARCHDEF=PPC ;;
415 AC_SUBST(OS_VERSION_MAJOR) 416 AC_SUBST(OS_VERSION_MAJOR)
416 AC_SUBST(OS_VERSION_MINOR) 417 AC_SUBST(OS_VERSION_MINOR)
417 AC_SUBST(OS_VERSION_MICRO) 418 AC_SUBST(OS_VERSION_MICRO)
418 ]) 419 ])
419 420
421 # PLATFORM_COMPILER_CHECK_ARGUMENTS([ARGUMENT], [RUN-IF-TRUE],
422 # [RUN-IF-FALSE])
423 # ------------------------------------------------------------
424 # Check that the c and c++ compilers support an argument
425 AC_DEFUN([PLATFORM_COMPILER_CHECK_ARGUMENTS],
426 [
427 AC_MSG_CHECKING([if compiler supports "$1"])
428 supports=yes
429
430 saved_cflags="$CFLAGS"
431 CFLAGS="$CFLAGS $1"
432 AC_LANG_PUSH([C])
433 AC_COMPILE_IFELSE([
434 AC_LANG_SOURCE([[int i;]])
435 ], [], [supports=no])
436 AC_LANG_POP([C])
437 CFLAGS="$saved_cflags"
438
439 saved_cxxflags="$CXXFLAGS"
440 CXXFLAGS="$CXXFLAG $1"
441 AC_LANG_PUSH([C++])
442 AC_COMPILE_IFELSE([
443 AC_LANG_SOURCE([[int i;]])
444 ], [], [supports=no])
445 AC_LANG_POP([C++])
446 CXXFLAGS="$saved_cxxflags"
447
448 AC_MSG_RESULT([$supports])
449 if test "x$supports" = "xyes" ; then
450 m4_ifval([$2], [$2], [:])
451 else
452 m4_ifval([$3], [$3], [:])
453 fi
454 ])
455
456 # Check that the compiler supports -mX flags
457 # Set COMPILER_SUPPORTS_TARGET_BITS_FLAG to 'true' if it does
458 AC_DEFUN([PLATFORM_CHECK_COMPILER_TARGET_BITS_FLAGS],
459 [
460 PLATFORM_COMPILER_CHECK_ARGUMENTS([-m${OPENJDK_TARGET_CPU_BITS}],
461 [COMPILER_SUPPORTS_TARGET_BITS_FLAG=true],
462 [COMPILER_SUPPORTS_TARGET_BITS_FLAG=false])
463 AC_SUBST(COMPILER_SUPPORTS_TARGET_BITS_FLAG)
464 ])
465
420 # Support macro for PLATFORM_SETUP_OPENJDK_TARGET_BITS. 466 # Support macro for PLATFORM_SETUP_OPENJDK_TARGET_BITS.
421 # Add -mX to various FLAGS variables. 467 # Add -mX to various FLAGS variables.
422 AC_DEFUN([PLATFORM_SET_COMPILER_TARGET_BITS_FLAGS], 468 AC_DEFUN([PLATFORM_SET_COMPILER_TARGET_BITS_FLAGS],
423 [ 469 [
424 # keep track of c/cxx flags that we added outselves... 470 # keep track of c/cxx flags that we added outselves...
442 # 488 #
443 # Now we check if libjvm.so will use 32 or 64 bit pointers for the C/C++ code. 489 # Now we check if libjvm.so will use 32 or 64 bit pointers for the C/C++ code.
444 # (The JVM can use 32 or 64 bit Java pointers but that decision 490 # (The JVM can use 32 or 64 bit Java pointers but that decision
445 # is made at runtime.) 491 # is made at runtime.)
446 # 492 #
493
494 PLATFORM_CHECK_COMPILER_TARGET_BITS_FLAGS
495
447 if test "x$OPENJDK_TARGET_OS" = xsolaris; then 496 if test "x$OPENJDK_TARGET_OS" = xsolaris; then
448 # Always specify -m flags on Solaris 497 # Always specify -m flags on Solaris
449 PLATFORM_SET_COMPILER_TARGET_BITS_FLAGS 498 PLATFORM_SET_COMPILER_TARGET_BITS_FLAGS
450 elif test "x$COMPILE_TYPE" = xreduced; then 499 elif test "x$COMPILE_TYPE" = xreduced; then
451 if test "x$OPENJDK_TARGET_OS" != xwindows; then 500 if test "x$OPENJDK_TARGET_OS" != xwindows; then

mercurial