< prev index next >

make/autoconf/toolchain.m4

Print this page
rev 53731 : 8218965: aix: support xlclang++ in the compiler detection


 259       toolchain_var_name=TOOLCHAIN_DESCRIPTION_$toolchain
 260       TOOLCHAIN_DESCRIPTION=${!toolchain_var_name}
 261       $PRINTF "  %-10s  %s\n" $toolchain "$TOOLCHAIN_DESCRIPTION"
 262     done
 263 
 264     exit 0
 265   elif test "x$with_toolchain_type" != x; then
 266     # User override; check that it is valid
 267     if test "x${VALID_TOOLCHAINS/$with_toolchain_type/}" = "x${VALID_TOOLCHAINS}"; then
 268       AC_MSG_NOTICE([Toolchain type $with_toolchain_type is not valid on this platform.])
 269       AC_MSG_NOTICE([Valid toolchains: $VALID_TOOLCHAINS.])
 270       AC_MSG_ERROR([Cannot continue.])
 271     fi
 272     TOOLCHAIN_TYPE=$with_toolchain_type
 273   else
 274     # No flag given, use default
 275     TOOLCHAIN_TYPE=$DEFAULT_TOOLCHAIN
 276   fi
 277   AC_SUBST(TOOLCHAIN_TYPE)
 278 










 279   TOOLCHAIN_CC_BINARY_clang="clang"
 280   TOOLCHAIN_CC_BINARY_gcc="gcc"
 281   TOOLCHAIN_CC_BINARY_microsoft="cl$EXE_SUFFIX"
 282   TOOLCHAIN_CC_BINARY_solstudio="cc"
 283   TOOLCHAIN_CC_BINARY_xlc="xlc_r"
 284 
 285   TOOLCHAIN_CXX_BINARY_clang="clang++"
 286   TOOLCHAIN_CXX_BINARY_gcc="g++"
 287   TOOLCHAIN_CXX_BINARY_microsoft="cl$EXE_SUFFIX"
 288   TOOLCHAIN_CXX_BINARY_solstudio="CC"
 289   TOOLCHAIN_CXX_BINARY_xlc="xlC_r"








 290 
 291   # Use indirect variable referencing
 292   toolchain_var_name=TOOLCHAIN_DESCRIPTION_$TOOLCHAIN_TYPE
 293   TOOLCHAIN_DESCRIPTION=${!toolchain_var_name}
 294   toolchain_var_name=TOOLCHAIN_MINIMUM_VERSION_$TOOLCHAIN_TYPE
 295   TOOLCHAIN_MINIMUM_VERSION=${!toolchain_var_name}
 296   toolchain_var_name=TOOLCHAIN_MINIMUM_LD_VERSION_$TOOLCHAIN_TYPE
 297   TOOLCHAIN_MINIMUM_LD_VERSION=${!toolchain_var_name}
 298   toolchain_var_name=TOOLCHAIN_CC_BINARY_$TOOLCHAIN_TYPE
 299   TOOLCHAIN_CC_BINARY=${!toolchain_var_name}
 300   toolchain_var_name=TOOLCHAIN_CXX_BINARY_$TOOLCHAIN_TYPE
 301   TOOLCHAIN_CXX_BINARY=${!toolchain_var_name}
 302 
 303   TOOLCHAIN_SETUP_FILENAME_PATTERNS
 304 
 305   if test "x$TOOLCHAIN_TYPE" = "x$DEFAULT_TOOLCHAIN"; then
 306     AC_MSG_NOTICE([Using default toolchain $TOOLCHAIN_TYPE ($TOOLCHAIN_DESCRIPTION)])
 307   else
 308     AC_MSG_NOTICE([Using user selected toolchain $TOOLCHAIN_TYPE ($TOOLCHAIN_DESCRIPTION). Default toolchain is $DEFAULT_TOOLCHAIN.])
 309   fi




 259       toolchain_var_name=TOOLCHAIN_DESCRIPTION_$toolchain
 260       TOOLCHAIN_DESCRIPTION=${!toolchain_var_name}
 261       $PRINTF "  %-10s  %s\n" $toolchain "$TOOLCHAIN_DESCRIPTION"
 262     done
 263 
 264     exit 0
 265   elif test "x$with_toolchain_type" != x; then
 266     # User override; check that it is valid
 267     if test "x${VALID_TOOLCHAINS/$with_toolchain_type/}" = "x${VALID_TOOLCHAINS}"; then
 268       AC_MSG_NOTICE([Toolchain type $with_toolchain_type is not valid on this platform.])
 269       AC_MSG_NOTICE([Valid toolchains: $VALID_TOOLCHAINS.])
 270       AC_MSG_ERROR([Cannot continue.])
 271     fi
 272     TOOLCHAIN_TYPE=$with_toolchain_type
 273   else
 274     # No flag given, use default
 275     TOOLCHAIN_TYPE=$DEFAULT_TOOLCHAIN
 276   fi
 277   AC_SUBST(TOOLCHAIN_TYPE)
 278 
 279   # on AIX, check for xlclang++ on the PATH and use it if it is available
 280   if test "x$OPENJDK_TARGET_OS" = xaix; then
 281     XLCLANG_VERSION_OUTPUT=`xlclang++ -qversion 2>&1 | $HEAD -n 1`
 282     $ECHO "$XLCLANG_VERSION_OUTPUT" | $GREP "IBM XL C/C++ for AIX" > /dev/null
 283     if test $? -eq 0; then
 284       AC_MSG_NOTICE([xlclang++ output: $XLCLANG_VERSION_OUTPUT])
 285       AIX_USE_CLANG=1
 286     fi
 287   fi
 288 
 289   TOOLCHAIN_CC_BINARY_clang="clang"
 290   TOOLCHAIN_CC_BINARY_gcc="gcc"
 291   TOOLCHAIN_CC_BINARY_microsoft="cl$EXE_SUFFIX"
 292   TOOLCHAIN_CC_BINARY_solstudio="cc"
 293   TOOLCHAIN_CC_BINARY_xlc="xlc_r"
 294 
 295   TOOLCHAIN_CXX_BINARY_clang="clang++"
 296   TOOLCHAIN_CXX_BINARY_gcc="g++"
 297   TOOLCHAIN_CXX_BINARY_microsoft="cl$EXE_SUFFIX"
 298   TOOLCHAIN_CXX_BINARY_solstudio="CC"
 299   TOOLCHAIN_CXX_BINARY_xlc="xlC_r"
 300 
 301   if test "x$OPENJDK_TARGET_OS" = xaix; then
 302     if test "x$AIX_USE_CLANG" = x1; then
 303       AC_MSG_NOTICE([xlclang++ detected, using it])
 304       TOOLCHAIN_CC_BINARY_xlc="xlclang"
 305       TOOLCHAIN_CXX_BINARY_xlc="xlclang++"
 306     fi
 307   fi
 308 
 309   # Use indirect variable referencing
 310   toolchain_var_name=TOOLCHAIN_DESCRIPTION_$TOOLCHAIN_TYPE
 311   TOOLCHAIN_DESCRIPTION=${!toolchain_var_name}
 312   toolchain_var_name=TOOLCHAIN_MINIMUM_VERSION_$TOOLCHAIN_TYPE
 313   TOOLCHAIN_MINIMUM_VERSION=${!toolchain_var_name}
 314   toolchain_var_name=TOOLCHAIN_MINIMUM_LD_VERSION_$TOOLCHAIN_TYPE
 315   TOOLCHAIN_MINIMUM_LD_VERSION=${!toolchain_var_name}
 316   toolchain_var_name=TOOLCHAIN_CC_BINARY_$TOOLCHAIN_TYPE
 317   TOOLCHAIN_CC_BINARY=${!toolchain_var_name}
 318   toolchain_var_name=TOOLCHAIN_CXX_BINARY_$TOOLCHAIN_TYPE
 319   TOOLCHAIN_CXX_BINARY=${!toolchain_var_name}
 320 
 321   TOOLCHAIN_SETUP_FILENAME_PATTERNS
 322 
 323   if test "x$TOOLCHAIN_TYPE" = "x$DEFAULT_TOOLCHAIN"; then
 324     AC_MSG_NOTICE([Using default toolchain $TOOLCHAIN_TYPE ($TOOLCHAIN_DESCRIPTION)])
 325   else
 326     AC_MSG_NOTICE([Using user selected toolchain $TOOLCHAIN_TYPE ($TOOLCHAIN_DESCRIPTION). Default toolchain is $DEFAULT_TOOLCHAIN.])
 327   fi


< prev index next >