331 else |
331 else |
332 DEFINE_CROSS_COMPILE_ARCH="" |
332 DEFINE_CROSS_COMPILE_ARCH="" |
333 fi |
333 fi |
334 AC_SUBST(DEFINE_CROSS_COMPILE_ARCH) |
334 AC_SUBST(DEFINE_CROSS_COMPILE_ARCH) |
335 |
335 |
336 # Some Zero and Shark settings. |
|
337 # ZERO_ARCHFLAG tells the compiler which mode to build for |
|
338 case "${OPENJDK_TARGET_CPU}" in |
|
339 s390) |
|
340 ZERO_ARCHFLAG="-m31" |
|
341 ;; |
|
342 *) |
|
343 ZERO_ARCHFLAG="-m${OPENJDK_TARGET_CPU_BITS}" |
|
344 esac |
|
345 PLATFORM_COMPILER_CHECK_ARGUMENTS([$ZERO_ARCHFLAG], [], [ZERO_ARCHFLAG=""]) |
|
346 AC_SUBST(ZERO_ARCHFLAG) |
|
347 |
|
348 # ZERO_ARCHDEF is used to enable architecture-specific code |
336 # ZERO_ARCHDEF is used to enable architecture-specific code |
349 case "${OPENJDK_TARGET_CPU}" in |
337 case "${OPENJDK_TARGET_CPU}" in |
350 ppc*) ZERO_ARCHDEF=PPC ;; |
338 ppc*) ZERO_ARCHDEF=PPC ;; |
351 s390*) ZERO_ARCHDEF=S390 ;; |
339 s390*) ZERO_ARCHDEF=S390 ;; |
352 sparc*) ZERO_ARCHDEF=SPARC ;; |
340 sparc*) ZERO_ARCHDEF=SPARC ;; |
416 AC_SUBST(OS_VERSION_MAJOR) |
404 AC_SUBST(OS_VERSION_MAJOR) |
417 AC_SUBST(OS_VERSION_MINOR) |
405 AC_SUBST(OS_VERSION_MINOR) |
418 AC_SUBST(OS_VERSION_MICRO) |
406 AC_SUBST(OS_VERSION_MICRO) |
419 ]) |
407 ]) |
420 |
408 |
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 |
|
466 # Support macro for PLATFORM_SETUP_OPENJDK_TARGET_BITS. |
409 # Support macro for PLATFORM_SETUP_OPENJDK_TARGET_BITS. |
467 # Add -mX to various FLAGS variables. |
410 # Add -mX to various FLAGS variables. |
468 AC_DEFUN([PLATFORM_SET_COMPILER_TARGET_BITS_FLAGS], |
411 AC_DEFUN([PLATFORM_SET_COMPILER_TARGET_BITS_FLAGS], |
469 [ |
412 [ |
470 # keep track of c/cxx flags that we added outselves... |
413 # keep track of c/cxx flags that we added outselves... |
488 # |
431 # |
489 # Now we check if libjvm.so will use 32 or 64 bit pointers for the C/C++ code. |
432 # Now we check if libjvm.so will use 32 or 64 bit pointers for the C/C++ code. |
490 # (The JVM can use 32 or 64 bit Java pointers but that decision |
433 # (The JVM can use 32 or 64 bit Java pointers but that decision |
491 # is made at runtime.) |
434 # is made at runtime.) |
492 # |
435 # |
493 |
|
494 PLATFORM_CHECK_COMPILER_TARGET_BITS_FLAGS |
|
495 |
436 |
496 if test "x$OPENJDK_TARGET_OS" = xsolaris; then |
437 if test "x$OPENJDK_TARGET_OS" = xsolaris; then |
497 # Always specify -m flags on Solaris |
438 # Always specify -m flags on Solaris |
498 PLATFORM_SET_COMPILER_TARGET_BITS_FLAGS |
439 PLATFORM_SET_COMPILER_TARGET_BITS_FLAGS |
499 elif test "x$COMPILE_TYPE" = xreduced; then |
440 elif test "x$COMPILE_TYPE" = xreduced; then |