4219 # definitions. It is replaced with custom functionality when building |
4219 # definitions. It is replaced with custom functionality when building |
4220 # custom sources. |
4220 # custom sources. |
4221 #CUSTOM_AUTOCONF_INCLUDE |
4221 #CUSTOM_AUTOCONF_INCLUDE |
4222 |
4222 |
4223 # Do not change or remove the following line, it is needed for consistency checks: |
4223 # Do not change or remove the following line, it is needed for consistency checks: |
4224 DATE_WHEN_GENERATED=1394011255 |
4224 DATE_WHEN_GENERATED=1394150589 |
4225 |
4225 |
4226 ############################################################################### |
4226 ############################################################################### |
4227 # |
4227 # |
4228 # Initialization / Boot-strapping |
4228 # Initialization / Boot-strapping |
4229 # |
4229 # |
26295 |
26295 |
26296 |
26296 |
26297 # Use indirect variable referencing |
26297 # Use indirect variable referencing |
26298 toolchain_var_name=VALID_TOOLCHAINS_$OPENJDK_BUILD_OS |
26298 toolchain_var_name=VALID_TOOLCHAINS_$OPENJDK_BUILD_OS |
26299 VALID_TOOLCHAINS=${!toolchain_var_name} |
26299 VALID_TOOLCHAINS=${!toolchain_var_name} |
26300 # First toolchain type in the list is the default |
26300 |
26301 DEFAULT_TOOLCHAIN=${VALID_TOOLCHAINS%% *} |
26301 if test "x$OPENJDK_TARGET_OS" = xmacosx; then |
|
26302 # On Mac OS X, default toolchain to clang after Xcode 5 |
|
26303 XCODE_VERSION_OUTPUT=`xcodebuild -version 2>&1 | $HEAD -n 1` |
|
26304 $ECHO "$XCODE_VERSION_OUTPUT" | $GREP "Xcode " > /dev/null |
|
26305 if test $? -ne 0; then |
|
26306 as_fn_error $? "Failed to determine Xcode version." "$LINENO" 5 |
|
26307 fi |
|
26308 XCODE_MAJOR_VERSION=`$ECHO $XCODE_VERSION_OUTPUT | \ |
|
26309 $SED -e 's/^Xcode \([1-9][0-9.]*\)/\1/' | \ |
|
26310 $CUT -f 1 -d .` |
|
26311 { $as_echo "$as_me:${as_lineno-$LINENO}: Xcode major version: $XCODE_MAJOR_VERSION" >&5 |
|
26312 $as_echo "$as_me: Xcode major version: $XCODE_MAJOR_VERSION" >&6;} |
|
26313 if test $XCODE_MAJOR_VERSION -ge 5; then |
|
26314 DEFAULT_TOOLCHAIN="clang" |
|
26315 else |
|
26316 DEFAULT_TOOLCHAIN="gcc" |
|
26317 fi |
|
26318 else |
|
26319 # First toolchain type in the list is the default |
|
26320 DEFAULT_TOOLCHAIN=${VALID_TOOLCHAINS%% *} |
|
26321 fi |
26302 |
26322 |
26303 if test "x$with_toolchain_type" = xlist; then |
26323 if test "x$with_toolchain_type" = xlist; then |
26304 # List all toolchains |
26324 # List all toolchains |
26305 { $as_echo "$as_me:${as_lineno-$LINENO}: The following toolchains are valid on this platform:" >&5 |
26325 { $as_echo "$as_me:${as_lineno-$LINENO}: The following toolchains are valid on this platform:" >&5 |
26306 $as_echo "$as_me: The following toolchains are valid on this platform:" >&6;} |
26326 $as_echo "$as_me: The following toolchains are valid on this platform:" >&6;} |
41234 SET_EXECUTABLE_ORIGIN='-Xlinker -rpath -Xlinker \$$$$ORIGIN$1' |
41254 SET_EXECUTABLE_ORIGIN='-Xlinker -rpath -Xlinker \$$$$ORIGIN$1' |
41235 SET_SHARED_LIBRARY_ORIGIN="-Xlinker -z -Xlinker origin $SET_EXECUTABLE_ORIGIN" |
41255 SET_SHARED_LIBRARY_ORIGIN="-Xlinker -z -Xlinker origin $SET_EXECUTABLE_ORIGIN" |
41236 SET_SHARED_LIBRARY_NAME='-Xlinker -soname=$1' |
41256 SET_SHARED_LIBRARY_NAME='-Xlinker -soname=$1' |
41237 SET_SHARED_LIBRARY_MAPFILE='-Xlinker -version-script=$1' |
41257 SET_SHARED_LIBRARY_MAPFILE='-Xlinker -version-script=$1' |
41238 fi |
41258 fi |
|
41259 elif test "x$TOOLCHAIN_TYPE" = xclang; then |
|
41260 PICFLAG='' |
|
41261 C_FLAG_REORDER='' |
|
41262 CXX_FLAG_REORDER='' |
|
41263 |
|
41264 if test "x$OPENJDK_TARGET_OS" = xmacosx; then |
|
41265 # Linking is different on MacOSX |
|
41266 SHARED_LIBRARY_FLAGS="-dynamiclib -compatibility_version 1.0.0 -current_version 1.0.0 $PICFLAG" |
|
41267 SET_EXECUTABLE_ORIGIN='-Xlinker -rpath -Xlinker @loader_path/.' |
|
41268 SET_SHARED_LIBRARY_ORIGIN="$SET_EXECUTABLE_ORIGIN" |
|
41269 SET_SHARED_LIBRARY_NAME='-Xlinker -install_name -Xlinker @rpath/$1' |
|
41270 SET_SHARED_LIBRARY_MAPFILE='' |
|
41271 else |
|
41272 # Default works for linux, might work on other platforms as well. |
|
41273 SHARED_LIBRARY_FLAGS='-shared' |
|
41274 SET_EXECUTABLE_ORIGIN='-Xlinker -rpath -Xlinker \$$$$ORIGIN$1' |
|
41275 SET_SHARED_LIBRARY_ORIGIN="-Xlinker -z -Xlinker origin $SET_EXECUTABLE_ORIGIN" |
|
41276 SET_SHARED_LIBRARY_NAME='-Xlinker -soname=$1' |
|
41277 SET_SHARED_LIBRARY_MAPFILE='-Xlinker -version-script=$1' |
|
41278 fi |
41239 elif test "x$TOOLCHAIN_TYPE" = xsolstudio; then |
41279 elif test "x$TOOLCHAIN_TYPE" = xsolstudio; then |
41240 PICFLAG="-KPIC" |
41280 PICFLAG="-KPIC" |
41241 C_FLAG_REORDER='-xF' |
41281 C_FLAG_REORDER='-xF' |
41242 CXX_FLAG_REORDER='-xF' |
41282 CXX_FLAG_REORDER='-xF' |
41243 SHARED_LIBRARY_FLAGS="-G" |
41283 SHARED_LIBRARY_FLAGS="-G" |
41295 # fi |
41335 # fi |
41296 |
41336 |
41297 # Generate make dependency files |
41337 # Generate make dependency files |
41298 if test "x$TOOLCHAIN_TYPE" = xgcc; then |
41338 if test "x$TOOLCHAIN_TYPE" = xgcc; then |
41299 C_FLAG_DEPS="-MMD -MF" |
41339 C_FLAG_DEPS="-MMD -MF" |
|
41340 elif test "x$TOOLCHAIN_TYPE" = xclang; then |
|
41341 C_FLAG_DEPS="-MMD -MF" |
41300 elif test "x$TOOLCHAIN_TYPE" = xsolstudio; then |
41342 elif test "x$TOOLCHAIN_TYPE" = xsolstudio; then |
41301 C_FLAG_DEPS="-xMMD -xMF" |
41343 C_FLAG_DEPS="-xMMD -xMF" |
41302 elif test "x$TOOLCHAIN_TYPE" = xxlc; then |
41344 elif test "x$TOOLCHAIN_TYPE" = xxlc; then |
41303 C_FLAG_DEPS="-qmakedep=gcc -MF" |
41345 C_FLAG_DEPS="-qmakedep=gcc -MF" |
41304 fi |
41346 fi |
41313 CXXFLAGS_DEBUG_SYMBOLS="-g1" |
41355 CXXFLAGS_DEBUG_SYMBOLS="-g1" |
41314 else |
41356 else |
41315 CFLAGS_DEBUG_SYMBOLS="-g" |
41357 CFLAGS_DEBUG_SYMBOLS="-g" |
41316 CXXFLAGS_DEBUG_SYMBOLS="-g" |
41358 CXXFLAGS_DEBUG_SYMBOLS="-g" |
41317 fi |
41359 fi |
|
41360 elif test "x$TOOLCHAIN_TYPE" = xclang; then |
|
41361 CFLAGS_DEBUG_SYMBOLS="-g" |
|
41362 CXXFLAGS_DEBUG_SYMBOLS="-g" |
41318 elif test "x$TOOLCHAIN_TYPE" = xsolstudio; then |
41363 elif test "x$TOOLCHAIN_TYPE" = xsolstudio; then |
41319 CFLAGS_DEBUG_SYMBOLS="-g -xs" |
41364 CFLAGS_DEBUG_SYMBOLS="-g -xs" |
41320 CXXFLAGS_DEBUG_SYMBOLS="-g0 -xs" |
41365 CXXFLAGS_DEBUG_SYMBOLS="-g0 -xs" |
41321 elif test "x$TOOLCHAIN_TYPE" = xxlc; then |
41366 elif test "x$TOOLCHAIN_TYPE" = xxlc; then |
41322 CFLAGS_DEBUG_SYMBOLS="-g" |
41367 CFLAGS_DEBUG_SYMBOLS="-g" |
41355 fi |
41400 fi |
41356 else |
41401 else |
41357 # The remaining toolchains share opt flags between CC and CXX; |
41402 # The remaining toolchains share opt flags between CC and CXX; |
41358 # setup for C and duplicate afterwards. |
41403 # setup for C and duplicate afterwards. |
41359 if test "x$TOOLCHAIN_TYPE" = xgcc; then |
41404 if test "x$TOOLCHAIN_TYPE" = xgcc; then |
|
41405 if test "x$OPENJDK_TARGET_OS" = xmacosx; then |
|
41406 # On MacOSX we optimize for size, something |
|
41407 # we should do for all platforms? |
|
41408 C_O_FLAG_HIGHEST="-Os" |
|
41409 C_O_FLAG_HI="-Os" |
|
41410 C_O_FLAG_NORM="-Os" |
|
41411 C_O_FLAG_NONE="" |
|
41412 else |
|
41413 C_O_FLAG_HIGHEST="-O3" |
|
41414 C_O_FLAG_HI="-O3" |
|
41415 C_O_FLAG_NORM="-O2" |
|
41416 C_O_FLAG_NONE="-O0" |
|
41417 fi |
|
41418 elif test "x$TOOLCHAIN_TYPE" = xclang; then |
41360 if test "x$OPENJDK_TARGET_OS" = xmacosx; then |
41419 if test "x$OPENJDK_TARGET_OS" = xmacosx; then |
41361 # On MacOSX we optimize for size, something |
41420 # On MacOSX we optimize for size, something |
41362 # we should do for all platforms? |
41421 # we should do for all platforms? |
41363 C_O_FLAG_HIGHEST="-Os" |
41422 C_O_FLAG_HIGHEST="-Os" |
41364 C_O_FLAG_HI="-Os" |
41423 C_O_FLAG_HI="-Os" |