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 |