common/autoconf/platform.m4
changeset 16984 ba1791eeb074
parent 16581 b2cddec593f4
child 16987 19305cbf4362
equal deleted inserted replaced
16981:5ebf6c63714d 16984:ba1791eeb074
   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