325 fi
326 AC_SUBST(LP64,$A_LP64)
327
328 if test "x$COMPILE_TYPE" = "xcross"; then
329 # FIXME: ... or should this include reduced builds..?
330 DEFINE_CROSS_COMPILE_ARCH="CROSS_COMPILE_ARCH:=$OPENJDK_TARGET_CPU_LEGACY"
331 else
332 DEFINE_CROSS_COMPILE_ARCH=""
333 fi
334 AC_SUBST(DEFINE_CROSS_COMPILE_ARCH)
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 AC_SUBST(ZERO_ARCHFLAG)
346
347 # ZERO_ARCHDEF is used to enable architecture-specific code
348 case "${OPENJDK_TARGET_CPU}" in
349 ppc*) ZERO_ARCHDEF=PPC ;;
350 s390*) ZERO_ARCHDEF=S390 ;;
351 sparc*) ZERO_ARCHDEF=SPARC ;;
352 x86_64*) ZERO_ARCHDEF=AMD64 ;;
353 x86) ZERO_ARCHDEF=IA32 ;;
354 *) ZERO_ARCHDEF=$(echo "${OPENJDK_TARGET_CPU_LEGACY_LIB}" | tr a-z A-Z)
355 esac
356 AC_SUBST(ZERO_ARCHDEF)
357
358 ])
359
360 AC_DEFUN([PLATFORM_SET_RELEASE_FILE_OS_VALUES],
361 [
362 if test "x$OPENJDK_TARGET_OS" = "xsolaris"; then
363 REQUIRED_OS_NAME=SunOS
364 REQUIRED_OS_VERSION=5.10
400 PLATFORM_SETUP_TARGET_CPU_BITS
401 PLATFORM_SET_RELEASE_FILE_OS_VALUES
402 PLATFORM_SETUP_LEGACY_VARS
403 ])
404
405 AC_DEFUN_ONCE([PLATFORM_SETUP_OPENJDK_BUILD_OS_VERSION],
406 [
407 ###############################################################################
408
409 # Note that this is the build platform OS version!
410
411 OS_VERSION="`uname -r | ${SED} 's!\.! !g' | ${SED} 's!-! !g'`"
412 OS_VERSION_MAJOR="`${ECHO} ${OS_VERSION} | ${CUT} -f 1 -d ' '`"
413 OS_VERSION_MINOR="`${ECHO} ${OS_VERSION} | ${CUT} -f 2 -d ' '`"
414 OS_VERSION_MICRO="`${ECHO} ${OS_VERSION} | ${CUT} -f 3 -d ' '`"
415 AC_SUBST(OS_VERSION_MAJOR)
416 AC_SUBST(OS_VERSION_MINOR)
417 AC_SUBST(OS_VERSION_MICRO)
418 ])
419
420 # Support macro for PLATFORM_SETUP_OPENJDK_TARGET_BITS.
421 # Add -mX to various FLAGS variables.
422 AC_DEFUN([PLATFORM_SET_COMPILER_TARGET_BITS_FLAGS],
423 [
424 # keep track of c/cxx flags that we added outselves...
425 # to prevent emitting warning...
426 ADDED_CFLAGS=" -m${OPENJDK_TARGET_CPU_BITS}"
427 ADDED_CXXFLAGS=" -m${OPENJDK_TARGET_CPU_BITS}"
428 ADDED_LDFLAGS=" -m${OPENJDK_TARGET_CPU_BITS}"
429
430 CFLAGS="${CFLAGS}${ADDED_CFLAGS}"
431 CXXFLAGS="${CXXFLAGS}${ADDED_CXXFLAGS}"
432 LDFLAGS="${LDFLAGS}${ADDED_LDFLAGS}"
433
434 CFLAGS_JDK="${CFLAGS_JDK}${ADDED_CFLAGS}"
435 CXXFLAGS_JDK="${CXXFLAGS_JDK}${ADDED_CXXFLAGS}"
436 LDFLAGS_JDK="${LDFLAGS_JDK}${ADDED_LDFLAGS}"
437 ])
438
439 AC_DEFUN_ONCE([PLATFORM_SETUP_OPENJDK_TARGET_BITS],
440 [
441 ###############################################################################
442 #
443 # 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
445 # is made at runtime.)
446 #
447 if test "x$OPENJDK_TARGET_OS" = xsolaris; then
448 # Always specify -m flags on Solaris
449 PLATFORM_SET_COMPILER_TARGET_BITS_FLAGS
450 elif test "x$COMPILE_TYPE" = xreduced; then
451 if test "x$OPENJDK_TARGET_OS" != xwindows; then
452 # Specify -m if running reduced on other Posix platforms
453 PLATFORM_SET_COMPILER_TARGET_BITS_FLAGS
454 fi
455 fi
456
457 # Make compilation sanity check
458 AC_CHECK_HEADERS([stdio.h], , [
459 AC_MSG_NOTICE([Failed to compile stdio.h. This likely implies missing compile dependencies.])
460 if test "x$COMPILE_TYPE" = xreduced; then
461 AC_MSG_NOTICE([You are doing a reduced build. Check that you have 32-bit libraries installed.])
462 elif test "x$COMPILE_TYPE" = xcross; then
463 AC_MSG_NOTICE([You are doing a cross-compilation. Check that you have all target platform libraries installed.])
464 fi
465 AC_MSG_ERROR([Cannot continue.])
466 ])
|
325 fi
326 AC_SUBST(LP64,$A_LP64)
327
328 if test "x$COMPILE_TYPE" = "xcross"; then
329 # FIXME: ... or should this include reduced builds..?
330 DEFINE_CROSS_COMPILE_ARCH="CROSS_COMPILE_ARCH:=$OPENJDK_TARGET_CPU_LEGACY"
331 else
332 DEFINE_CROSS_COMPILE_ARCH=""
333 fi
334 AC_SUBST(DEFINE_CROSS_COMPILE_ARCH)
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
349 case "${OPENJDK_TARGET_CPU}" in
350 ppc*) ZERO_ARCHDEF=PPC ;;
351 s390*) ZERO_ARCHDEF=S390 ;;
352 sparc*) ZERO_ARCHDEF=SPARC ;;
353 x86_64*) ZERO_ARCHDEF=AMD64 ;;
354 x86) ZERO_ARCHDEF=IA32 ;;
355 *) ZERO_ARCHDEF=$(echo "${OPENJDK_TARGET_CPU_LEGACY_LIB}" | tr a-z A-Z)
356 esac
357 AC_SUBST(ZERO_ARCHDEF)
358
359 ])
360
361 AC_DEFUN([PLATFORM_SET_RELEASE_FILE_OS_VALUES],
362 [
363 if test "x$OPENJDK_TARGET_OS" = "xsolaris"; then
364 REQUIRED_OS_NAME=SunOS
365 REQUIRED_OS_VERSION=5.10
401 PLATFORM_SETUP_TARGET_CPU_BITS
402 PLATFORM_SET_RELEASE_FILE_OS_VALUES
403 PLATFORM_SETUP_LEGACY_VARS
404 ])
405
406 AC_DEFUN_ONCE([PLATFORM_SETUP_OPENJDK_BUILD_OS_VERSION],
407 [
408 ###############################################################################
409
410 # Note that this is the build platform OS version!
411
412 OS_VERSION="`uname -r | ${SED} 's!\.! !g' | ${SED} 's!-! !g'`"
413 OS_VERSION_MAJOR="`${ECHO} ${OS_VERSION} | ${CUT} -f 1 -d ' '`"
414 OS_VERSION_MINOR="`${ECHO} ${OS_VERSION} | ${CUT} -f 2 -d ' '`"
415 OS_VERSION_MICRO="`${ECHO} ${OS_VERSION} | ${CUT} -f 3 -d ' '`"
416 AC_SUBST(OS_VERSION_MAJOR)
417 AC_SUBST(OS_VERSION_MINOR)
418 AC_SUBST(OS_VERSION_MICRO)
419 ])
420
421 # Check that the compiler supports an argument
422 # $1: the compiler argumen to check
423 # $2: action-if-true
424 # $3: action-if-false
425 AC_DEFUN([PLATFORM_COMPILER_CHECK_ARGUMENTS],
426 [
427 AC_MSG_CHECKING([if compiler supports "$1"])
428 saved_cflags="$CFLAGS"
429 CFLAGS="$1"
430 AC_COMPILE_IFELSE([
431 AC_LANG_SOURCE([
432 [int main() { return 0; }]
433 ])
434 ], [supports=yes], [supports=no])
435 CFLAGS="$saved_cflags"
436 if "x$supports" = "xyes" ; then
437 AC_MSG_RESULT([$supports])
438 $2
439 else
440 AC_MSG_RESULT([$supports])
441 $3
442 fi
443 ])
444
445 # Check that the compiler supports -mX flags
446 # Set COMPILER_SUPPORTS_TARGET_BITS_FLAG to 'true' if it does
447 AC_DEFUN([PLATFORM_CHECK_COMPILER_TARGET_BITS_FLAGS],
448 [
449 PLATFORM_COMPILER_CHECK_ARGUMENTS(["-m${OPENJDK_TARGET_CPU_BITS}"],
450 [COMPILER_SUPPORTS_TARGET_BITS_FLAG=true],
451 [COMPILER_SUPPORTS_TARGET_BITS_FLAG=false])
452 AC_SUBST(COMPILER_SUPPORTS_TARGET_BITS_FLAG)
453 ])
454
455 # Support macro for PLATFORM_SETUP_OPENJDK_TARGET_BITS.
456 # Add -mX to various FLAGS variables.
457 AC_DEFUN([PLATFORM_SET_COMPILER_TARGET_BITS_FLAGS],
458 [
459
460 # keep track of c/cxx flags that we added outselves...
461 # to prevent emitting warning...
462 ADDED_CFLAGS=" -m${OPENJDK_TARGET_CPU_BITS}"
463 ADDED_CXXFLAGS=" -m${OPENJDK_TARGET_CPU_BITS}"
464 ADDED_LDFLAGS=" -m${OPENJDK_TARGET_CPU_BITS}"
465
466 CFLAGS="${CFLAGS}${ADDED_CFLAGS}"
467 CXXFLAGS="${CXXFLAGS}${ADDED_CXXFLAGS}"
468 LDFLAGS="${LDFLAGS}${ADDED_LDFLAGS}"
469
470 CFLAGS_JDK="${CFLAGS_JDK}${ADDED_CFLAGS}"
471 CXXFLAGS_JDK="${CXXFLAGS_JDK}${ADDED_CXXFLAGS}"
472 LDFLAGS_JDK="${LDFLAGS_JDK}${ADDED_LDFLAGS}"
473 ])
474
475 AC_DEFUN_ONCE([PLATFORM_SETUP_OPENJDK_TARGET_BITS],
476 [
477 ###############################################################################
478 #
479 # Now we check if libjvm.so will use 32 or 64 bit pointers for the C/C++ code.
480 # (The JVM can use 32 or 64 bit Java pointers but that decision
481 # is made at runtime.)
482 #
483
484 PLATFORM_CHECK_COMPILER_TARGET_BITS_FLAGS
485
486 if test "x$OPENJDK_TARGET_OS" = xsolaris; then
487 # Always specify -m flags on Solaris
488 PLATFORM_SET_COMPILER_TARGET_BITS_FLAGS
489 elif test "x$COMPILE_TYPE" = xreduced; then
490 if test "x$OPENJDK_TARGET_OS" != xwindows; then
491 # Specify -m if running reduced on other Posix platforms
492 PLATFORM_SET_COMPILER_TARGET_BITS_FLAGS
493 fi
494 fi
495
496 # Make compilation sanity check
497 AC_CHECK_HEADERS([stdio.h], , [
498 AC_MSG_NOTICE([Failed to compile stdio.h. This likely implies missing compile dependencies.])
499 if test "x$COMPILE_TYPE" = xreduced; then
500 AC_MSG_NOTICE([You are doing a reduced build. Check that you have 32-bit libraries installed.])
501 elif test "x$COMPILE_TYPE" = xcross; then
502 AC_MSG_NOTICE([You are doing a cross-compilation. Check that you have all target platform libraries installed.])
503 fi
504 AC_MSG_ERROR([Cannot continue.])
505 ])
|