common/autoconf/toolchain.m4
changeset 16987 19305cbf4362
parent 16582 61f0b8f48036
child 16988 53de314b1c30
equal deleted inserted replaced
16986:76794e57b8f9 16987:19305cbf4362
  1028 AC_SUBST(LDFLAGS_JDKEXE)
  1028 AC_SUBST(LDFLAGS_JDKEXE)
  1029 AC_SUBST(LDFLAGS_JDKLIB_SUFFIX)
  1029 AC_SUBST(LDFLAGS_JDKLIB_SUFFIX)
  1030 AC_SUBST(LDFLAGS_JDKEXE_SUFFIX)
  1030 AC_SUBST(LDFLAGS_JDKEXE_SUFFIX)
  1031 AC_SUBST(LDFLAGS_CXX_JDK)
  1031 AC_SUBST(LDFLAGS_CXX_JDK)
  1032 ])
  1032 ])
       
  1033 
       
  1034 
       
  1035 # TOOLCHAIN_COMPILER_CHECK_ARGUMENTS([ARGUMENT], [RUN-IF-TRUE],
       
  1036 #                                   [RUN-IF-FALSE])
       
  1037 # ------------------------------------------------------------
       
  1038 # Check that the c and c++ compilers support an argument
       
  1039 AC_DEFUN([TOOLCHAIN_COMPILER_CHECK_ARGUMENTS],
       
  1040 [
       
  1041   AC_MSG_CHECKING([if compiler supports "$1"])
       
  1042   supports=yes
       
  1043 
       
  1044   saved_cflags="$CFLAGS"
       
  1045   CFLAGS="$CFLAGS $1"
       
  1046   AC_LANG_PUSH([C])
       
  1047   AC_COMPILE_IFELSE([
       
  1048     AC_LANG_SOURCE([[int i;]])
       
  1049   ], [], [supports=no])
       
  1050   AC_LANG_POP([C])
       
  1051   CFLAGS="$saved_cflags"
       
  1052 
       
  1053   saved_cxxflags="$CXXFLAGS"
       
  1054   CXXFLAGS="$CXXFLAG $1"
       
  1055   AC_LANG_PUSH([C++])
       
  1056   AC_COMPILE_IFELSE([
       
  1057     AC_LANG_SOURCE([[int i;]])
       
  1058   ], [], [supports=no])
       
  1059   AC_LANG_POP([C++])
       
  1060   CXXFLAGS="$saved_cxxflags"
       
  1061 
       
  1062   AC_MSG_RESULT([$supports])
       
  1063   if test "x$supports" = "xyes" ; then
       
  1064     m4_ifval([$2], [$2], [:])
       
  1065   else
       
  1066     m4_ifval([$3], [$3], [:])
       
  1067   fi
       
  1068 ])
       
  1069 
       
  1070 AC_DEFUN_ONCE([TOOLCHAIN_SETUP_COMPILER_FLAGS_MISC],
       
  1071 [
       
  1072   # Some Zero and Shark settings.
       
  1073   # ZERO_ARCHFLAG tells the compiler which mode to build for
       
  1074   case "${OPENJDK_TARGET_CPU}" in
       
  1075     s390)
       
  1076       ZERO_ARCHFLAG="-m31"
       
  1077       ;;
       
  1078     *)
       
  1079       ZERO_ARCHFLAG="-m${OPENJDK_TARGET_CPU_BITS}"
       
  1080   esac
       
  1081   TOOLCHAIN_COMPILER_CHECK_ARGUMENTS([$ZERO_ARCHFLAG], [], [ZERO_ARCHFLAG=""])
       
  1082   AC_SUBST(ZERO_ARCHFLAG)
       
  1083 
       
  1084   # Check that the compiler supports -mX flags
       
  1085   # Set COMPILER_SUPPORTS_TARGET_BITS_FLAG to 'true' if it does
       
  1086   TOOLCHAIN_COMPILER_CHECK_ARGUMENTS([-m${OPENJDK_TARGET_CPU_BITS}],
       
  1087     [COMPILER_SUPPORTS_TARGET_BITS_FLAG=true],
       
  1088     [COMPILER_SUPPORTS_TARGET_BITS_FLAG=false])
       
  1089   AC_SUBST(COMPILER_SUPPORTS_TARGET_BITS_FLAG)
       
  1090 ])