common/autoconf/toolchain.m4

changeset 698
e404d321abc6
parent 672
2f43964043c2
child 699
e1a929afcfc4
     1.1 --- a/common/autoconf/toolchain.m4	Tue Apr 30 14:39:49 2013 -0700
     1.2 +++ b/common/autoconf/toolchain.m4	Thu May 02 15:46:38 2013 +0200
     1.3 @@ -1030,3 +1030,61 @@
     1.4  AC_SUBST(LDFLAGS_JDKEXE_SUFFIX)
     1.5  AC_SUBST(LDFLAGS_CXX_JDK)
     1.6  ])
     1.7 +
     1.8 +
     1.9 +# TOOLCHAIN_COMPILER_CHECK_ARGUMENTS([ARGUMENT], [RUN-IF-TRUE],
    1.10 +#                                   [RUN-IF-FALSE])
    1.11 +# ------------------------------------------------------------
    1.12 +# Check that the c and c++ compilers support an argument
    1.13 +AC_DEFUN([TOOLCHAIN_COMPILER_CHECK_ARGUMENTS],
    1.14 +[
    1.15 +  AC_MSG_CHECKING([if compiler supports "$1"])
    1.16 +  supports=yes
    1.17 +
    1.18 +  saved_cflags="$CFLAGS"
    1.19 +  CFLAGS="$CFLAGS $1"
    1.20 +  AC_LANG_PUSH([C])
    1.21 +  AC_COMPILE_IFELSE([
    1.22 +    AC_LANG_SOURCE([[int i;]])
    1.23 +  ], [], [supports=no])
    1.24 +  AC_LANG_POP([C])
    1.25 +  CFLAGS="$saved_cflags"
    1.26 +
    1.27 +  saved_cxxflags="$CXXFLAGS"
    1.28 +  CXXFLAGS="$CXXFLAG $1"
    1.29 +  AC_LANG_PUSH([C++])
    1.30 +  AC_COMPILE_IFELSE([
    1.31 +    AC_LANG_SOURCE([[int i;]])
    1.32 +  ], [], [supports=no])
    1.33 +  AC_LANG_POP([C++])
    1.34 +  CXXFLAGS="$saved_cxxflags"
    1.35 +
    1.36 +  AC_MSG_RESULT([$supports])
    1.37 +  if test "x$supports" = "xyes" ; then
    1.38 +    m4_ifval([$2], [$2], [:])
    1.39 +  else
    1.40 +    m4_ifval([$3], [$3], [:])
    1.41 +  fi
    1.42 +])
    1.43 +
    1.44 +AC_DEFUN_ONCE([TOOLCHAIN_SETUP_COMPILER_FLAGS_MISC],
    1.45 +[
    1.46 +  # Some Zero and Shark settings.
    1.47 +  # ZERO_ARCHFLAG tells the compiler which mode to build for
    1.48 +  case "${OPENJDK_TARGET_CPU}" in
    1.49 +    s390)
    1.50 +      ZERO_ARCHFLAG="-m31"
    1.51 +      ;;
    1.52 +    *)
    1.53 +      ZERO_ARCHFLAG="-m${OPENJDK_TARGET_CPU_BITS}"
    1.54 +  esac
    1.55 +  TOOLCHAIN_COMPILER_CHECK_ARGUMENTS([$ZERO_ARCHFLAG], [], [ZERO_ARCHFLAG=""])
    1.56 +  AC_SUBST(ZERO_ARCHFLAG)
    1.57 +
    1.58 +  # Check that the compiler supports -mX flags
    1.59 +  # Set COMPILER_SUPPORTS_TARGET_BITS_FLAG to 'true' if it does
    1.60 +  TOOLCHAIN_COMPILER_CHECK_ARGUMENTS([-m${OPENJDK_TARGET_CPU_BITS}],
    1.61 +    [COMPILER_SUPPORTS_TARGET_BITS_FLAG=true],
    1.62 +    [COMPILER_SUPPORTS_TARGET_BITS_FLAG=false])
    1.63 +  AC_SUBST(COMPILER_SUPPORTS_TARGET_BITS_FLAG)
    1.64 +])

mercurial