1.1 --- a/common/autoconf/generated-configure.sh Wed Apr 02 10:01:38 2014 -0700 1.2 +++ b/common/autoconf/generated-configure.sh Wed Apr 02 10:33:23 2014 -0700 1.3 @@ -665,6 +665,7 @@ 1.4 CFLAGS_DEBUG_SYMBOLS 1.5 ZIP_DEBUGINFO_FILES 1.6 ENABLE_DEBUG_SYMBOLS 1.7 +USING_BROKEN_SUSE_LD 1.8 COMPILER_SUPPORTS_TARGET_BITS_FLAG 1.9 ZERO_ARCHFLAG 1.10 LDFLAGS_CXX_JDK 1.11 @@ -749,6 +750,7 @@ 1.12 PROPER_COMPILER_CXX 1.13 POTENTIAL_CXX 1.14 TOOLS_DIR_CXX 1.15 +COMPILER_TARGET_BITS_FLAG 1.16 OBJEXT 1.17 EXEEXT 1.18 ac_ct_CC 1.19 @@ -851,6 +853,7 @@ 1.20 DEBUG_LEVEL 1.21 MACOSX_UNIVERSAL 1.22 INCLUDE_SA 1.23 +JVM_VARIANT_CORE 1.24 JVM_VARIANT_ZEROSHARK 1.25 JVM_VARIANT_ZERO 1.26 JVM_VARIANT_KERNEL 1.27 @@ -858,6 +861,7 @@ 1.28 JVM_VARIANT_CLIENT 1.29 JVM_VARIANT_SERVER 1.30 JVM_VARIANTS 1.31 +JVM_INTERPRETER 1.32 JDK_VARIANT 1.33 SET_OPENJDK 1.34 BUILD_LOG_WRAPPER 1.35 @@ -1003,6 +1007,7 @@ 1.36 with_devkit 1.37 enable_openjdk_only 1.38 with_jdk_variant 1.39 +with_jvm_interpreter 1.40 with_jvm_variants 1.41 enable_debug 1.42 with_debug_level 1.43 @@ -1747,8 +1752,10 @@ 1.44 --with-devkit use this directory as base for tools-dir and 1.45 sys-root (for cross-compiling) 1.46 --with-jdk-variant JDK variant to build (normal) [normal] 1.47 + --with-jvm-interpreter JVM interpreter to build (template, cpp) [template] 1.48 --with-jvm-variants JVM variants (separated by commas) to build (server, 1.49 - client, minimal1, kernel, zero, zeroshark) [server] 1.50 + client, minimal1, kernel, zero, zeroshark, core) 1.51 + [server] 1.52 --with-debug-level set the debug level (release, fastdebug, slowdebug) 1.53 [release] 1.54 --with-conf-name use this as the name of the configuration [generated 1.55 @@ -3485,8 +3492,6 @@ 1.56 If you put the resulting build in \"C:\Program Files\GnuWin32\", it will be found automatically." 1.57 fi 1.58 ;; 1.59 - * ) 1.60 - break ;; 1.61 esac 1.62 } 1.63 1.64 @@ -3512,8 +3517,6 @@ 1.65 PKGHANDLER_COMMAND="sudo apt-get install libX11-dev libxext-dev libxrender-dev libxtst-dev libxt-dev" ;; 1.66 ccache) 1.67 PKGHANDLER_COMMAND="sudo apt-get install ccache" ;; 1.68 - * ) 1.69 - break ;; 1.70 esac 1.71 } 1.72 1.73 @@ -3535,8 +3538,6 @@ 1.74 PKGHANDLER_COMMAND="sudo yum install libXtst-devel libXt-devel libXrender-devel" ;; 1.75 ccache) 1.76 PKGHANDLER_COMMAND="sudo yum install ccache" ;; 1.77 - * ) 1.78 - break ;; 1.79 esac 1.80 } 1.81 1.82 @@ -3586,6 +3587,8 @@ 1.83 1.84 1.85 1.86 + 1.87 + 1.88 ############################################################################### 1.89 # 1.90 # Should we build only OpenJDK even if closed sources are present? 1.91 @@ -3865,7 +3868,7 @@ 1.92 #CUSTOM_AUTOCONF_INCLUDE 1.93 1.94 # Do not change or remove the following line, it is needed for consistency checks: 1.95 -DATE_WHEN_GENERATED=1396039024 1.96 +DATE_WHEN_GENERATED=1396458209 1.97 1.98 ############################################################################### 1.99 # 1.100 @@ -6784,6 +6787,11 @@ 1.101 VAR_OS_API=winapi 1.102 VAR_OS_ENV=windows.msys 1.103 ;; 1.104 + *aix*) 1.105 + VAR_OS=aix 1.106 + VAR_OS_API=posix 1.107 + VAR_OS_ENV=aix 1.108 + ;; 1.109 *) 1.110 as_fn_error $? "unsupported operating system $build_os" "$LINENO" 5 1.111 ;; 1.112 @@ -6904,6 +6912,11 @@ 1.113 VAR_OS_API=winapi 1.114 VAR_OS_ENV=windows.msys 1.115 ;; 1.116 + *aix*) 1.117 + VAR_OS=aix 1.118 + VAR_OS_API=posix 1.119 + VAR_OS_ENV=aix 1.120 + ;; 1.121 *) 1.122 as_fn_error $? "unsupported operating system $host_os" "$LINENO" 5 1.123 ;; 1.124 @@ -7810,6 +7823,37 @@ 1.125 $as_echo "$JDK_VARIANT" >&6; } 1.126 1.127 1.128 +############################################################################### 1.129 +# 1.130 +# Check which interpreter of the JVM we want to build. 1.131 +# Currently we have: 1.132 +# template: Template interpreter (the default) 1.133 +# cpp : C++ interpreter 1.134 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking which interpreter of the JVM to build" >&5 1.135 +$as_echo_n "checking which interpreter of the JVM to build... " >&6; } 1.136 + 1.137 +# Check whether --with-jvm-interpreter was given. 1.138 +if test "${with_jvm_interpreter+set}" = set; then : 1.139 + withval=$with_jvm_interpreter; 1.140 +fi 1.141 + 1.142 + 1.143 +if test "x$with_jvm_interpreter" = x; then 1.144 + with_jvm_interpreter="template" 1.145 +fi 1.146 + 1.147 +JVM_INTERPRETER="$with_jvm_interpreter" 1.148 + 1.149 +if test "x$JVM_INTERPRETER" != xtemplate && test "x$JVM_INTERPRETER" != xcpp; then 1.150 + as_fn_error $? "The available JVM interpreters are: template, cpp" "$LINENO" 5 1.151 +fi 1.152 + 1.153 + 1.154 + 1.155 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $with_jvm_interpreter" >&5 1.156 +$as_echo "$with_jvm_interpreter" >&6; } 1.157 + 1.158 + 1.159 1.160 ############################################################################### 1.161 # 1.162 @@ -7822,6 +7866,7 @@ 1.163 # ie normal interpreter and C1, only the serial GC, kernel jvmti etc 1.164 # zero: no machine code interpreter, no compiler 1.165 # zeroshark: zero interpreter and shark/llvm compiler backend 1.166 +# core: interpreter only, no compiler (only works on some platforms) 1.167 { $as_echo "$as_me:${as_lineno-$LINENO}: checking which variants of the JVM to build" >&5 1.168 $as_echo_n "checking which variants of the JVM to build... " >&6; } 1.169 1.170 @@ -7836,10 +7881,10 @@ 1.171 fi 1.172 1.173 JVM_VARIANTS=",$with_jvm_variants," 1.174 - TEST_VARIANTS=`$ECHO "$JVM_VARIANTS" | $SED -e 's/server,//' -e 's/client,//' -e 's/minimal1,//' -e 's/kernel,//' -e 's/zero,//' -e 's/zeroshark,//'` 1.175 + TEST_VARIANTS=`$ECHO "$JVM_VARIANTS" | $SED -e 's/server,//' -e 's/client,//' -e 's/minimal1,//' -e 's/kernel,//' -e 's/zero,//' -e 's/zeroshark,//' -e 's/core,//'` 1.176 1.177 if test "x$TEST_VARIANTS" != "x,"; then 1.178 - as_fn_error $? "The available JVM variants are: server, client, minimal1, kernel, zero, zeroshark" "$LINENO" 5 1.179 + as_fn_error $? "The available JVM variants are: server, client, minimal1, kernel, zero, zeroshark, core" "$LINENO" 5 1.180 fi 1.181 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $with_jvm_variants" >&5 1.182 $as_echo "$with_jvm_variants" >&6; } 1.183 @@ -7850,6 +7895,7 @@ 1.184 JVM_VARIANT_KERNEL=`$ECHO "$JVM_VARIANTS" | $SED -e '/,kernel,/!s/.*/false/g' -e '/,kernel,/s/.*/true/g'` 1.185 JVM_VARIANT_ZERO=`$ECHO "$JVM_VARIANTS" | $SED -e '/,zero,/!s/.*/false/g' -e '/,zero,/s/.*/true/g'` 1.186 JVM_VARIANT_ZEROSHARK=`$ECHO "$JVM_VARIANTS" | $SED -e '/,zeroshark,/!s/.*/false/g' -e '/,zeroshark,/s/.*/true/g'` 1.187 + JVM_VARIANT_CORE=`$ECHO "$JVM_VARIANTS" | $SED -e '/,core,/!s/.*/false/g' -e '/,core,/s/.*/true/g'` 1.188 1.189 if test "x$JVM_VARIANT_CLIENT" = xtrue; then 1.190 if test "x$OPENJDK_TARGET_CPU_BITS" = x64; then 1.191 @@ -7869,7 +7915,7 @@ 1.192 1.193 # Replace the commas with AND for use in the build directory name. 1.194 ANDED_JVM_VARIANTS=`$ECHO "$JVM_VARIANTS" | $SED -e 's/^,//' -e 's/,$//' -e 's/,/AND/'` 1.195 - COUNT_VARIANTS=`$ECHO "$JVM_VARIANTS" | $SED -e 's/server,/1/' -e 's/client,/1/' -e 's/minimal1,/1/' -e 's/kernel,/1/' -e 's/zero,/1/' -e 's/zeroshark,/1/'` 1.196 + COUNT_VARIANTS=`$ECHO "$JVM_VARIANTS" | $SED -e 's/server,/1/' -e 's/client,/1/' -e 's/minimal1,/1/' -e 's/kernel,/1/' -e 's/zero,/1/' -e 's/zeroshark,/1/' -e 's/core,/1/'` 1.197 if test "x$COUNT_VARIANTS" != "x,1"; then 1.198 BUILDING_MULTIPLE_JVM_VARIANTS=yes 1.199 else 1.200 @@ -7884,6 +7930,7 @@ 1.201 1.202 1.203 1.204 + 1.205 INCLUDE_SA=true 1.206 if test "x$JVM_VARIANT_ZERO" = xtrue ; then 1.207 INCLUDE_SA=false 1.208 @@ -7891,6 +7938,9 @@ 1.209 if test "x$JVM_VARIANT_ZEROSHARK" = xtrue ; then 1.210 INCLUDE_SA=false 1.211 fi 1.212 + if test "x$VAR_CPU" = xppc64 ; then 1.213 + INCLUDE_SA=false 1.214 + fi 1.215 1.216 1.217 if test "x$OPENJDK_TARGET_OS" = "xmacosx"; then 1.218 @@ -8006,6 +8056,10 @@ 1.219 HOTSPOT_TARGET="$HOTSPOT_TARGET${HOTSPOT_DEBUG_LEVEL}shark " 1.220 fi 1.221 1.222 + if test "x$JVM_VARIANT_CORE" = xtrue; then 1.223 + HOTSPOT_TARGET="$HOTSPOT_TARGET${HOTSPOT_DEBUG_LEVEL}core " 1.224 + fi 1.225 + 1.226 HOTSPOT_TARGET="$HOTSPOT_TARGET docs export_$HOTSPOT_EXPORT" 1.227 1.228 # On Macosx universal binaries are produced, but they only contain 1.229 @@ -15857,8 +15911,6 @@ 1.230 pkgutil_help $MISSING_DEPENDENCY ;; 1.231 pkgadd) 1.232 pkgadd_help $MISSING_DEPENDENCY ;; 1.233 - * ) 1.234 - break ;; 1.235 esac 1.236 1.237 if test "x$PKGHANDLER_COMMAND" != x; then 1.238 @@ -16037,7 +16089,7 @@ 1.239 JVM_ARG_OK=false 1.240 fi 1.241 1.242 - if test "x$OPENJDK_TARGET_OS" = "xmacosx"; then 1.243 + if test "x$OPENJDK_TARGET_OS" = "xmacosx" || test "x$OPENJDK_TARGET_CPU" = "xppc64" ; then 1.244 # Why does macosx need more heap? Its the huge JDK batch. 1.245 1.246 $ECHO "Check if jvm arg is ok: -Xmx1600M" >&5 1.247 @@ -19109,6 +19161,9 @@ 1.248 COMPILER_CHECK_LIST="cl" 1.249 elif test "x$OPENJDK_TARGET_OS" = "xsolaris"; then 1.250 COMPILER_CHECK_LIST="cc gcc" 1.251 + elif test "x$OPENJDK_TARGET_OS" = "xaix"; then 1.252 + # Do not probe for cc on AIX. 1.253 + COMPILER_CHECK_LIST="xlc_r" 1.254 else 1.255 COMPILER_CHECK_LIST="gcc cc" 1.256 fi 1.257 @@ -19246,8 +19301,6 @@ 1.258 pkgutil_help $MISSING_DEPENDENCY ;; 1.259 pkgadd) 1.260 pkgadd_help $MISSING_DEPENDENCY ;; 1.261 - * ) 1.262 - break ;; 1.263 esac 1.264 1.265 if test "x$PKGHANDLER_COMMAND" != x; then 1.266 @@ -19523,9 +19576,12 @@ 1.267 $as_echo "$as_me: Rewriting CC to \"$new_complete\"" >&6;} 1.268 fi 1.269 1.270 - { $as_echo "$as_me:${as_lineno-$LINENO}: checking resolved symbolic links for CC" >&5 1.271 + TEST_COMPILER="$CC" 1.272 + # Don't remove symbolic links on AIX because 'xlc_r' and 'xlC_r' may all be links 1.273 + # to 'xlc' but it is crucial that we invoke the compiler with the right name! 1.274 + if test "x$OPENJDK_BUILD_OS" != xaix; then 1.275 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking resolved symbolic links for CC" >&5 1.276 $as_echo_n "checking resolved symbolic links for CC... " >&6; } 1.277 - TEST_COMPILER="$CC" 1.278 1.279 if test "x$OPENJDK_BUILD_OS" != xwindows; then 1.280 # Follow a chain of symbolic links. Use readlink 1.281 @@ -19574,8 +19630,9 @@ 1.282 fi 1.283 fi 1.284 1.285 - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $TEST_COMPILER" >&5 1.286 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $TEST_COMPILER" >&5 1.287 $as_echo "$TEST_COMPILER" >&6; } 1.288 + fi 1.289 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if CC is disguised ccache" >&5 1.290 $as_echo_n "checking if CC is disguised ccache... " >&6; } 1.291 1.292 @@ -20039,6 +20096,15 @@ 1.293 COMPILER_VERSION=`$ECHO $COMPILER_VERSION_TEST | $SED -n "s/^.*[ ,\t]$COMPILER_NAME[ ,\t]\([1-9]\.[0-9][0-9]*\).*/\1/p"` 1.294 COMPILER_VENDOR="Sun Studio" 1.295 fi 1.296 + elif test "x$OPENJDK_TARGET_OS" = xaix; then 1.297 + COMPILER_VERSION_TEST=`$COMPILER -qversion 2>&1 | $TAIL -n 1` 1.298 + $ECHO $COMPILER_VERSION_TEST | $GREP "^Version: " > /dev/null 1.299 + if test $? -ne 0; then 1.300 + as_fn_error $? "Failed to detect the compiler version of $COMPILER ...." "$LINENO" 5 1.301 + else 1.302 + COMPILER_VERSION=`$ECHO $COMPILER_VERSION_TEST | $SED -n 's/Version: \(0-90-9\.0-90-9*\).*/\1/p'` 1.303 + COMPILER_VENDOR='IBM' 1.304 + fi 1.305 elif test "x$OPENJDK_TARGET_OS" = xwindows; then 1.306 # First line typically looks something like: 1.307 # Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 16.00.40219.01 for 80x86 1.308 @@ -20680,6 +20746,14 @@ 1.309 ac_compiler_gnu=$ac_cv_cxx_compiler_gnu 1.310 1.311 1.312 + # Option used to tell the compiler whether to create 32- or 64-bit executables 1.313 + # Notice that CC contains the full compiler path at this point. 1.314 + case $CC in 1.315 + *xlc_r) COMPILER_TARGET_BITS_FLAG="-q";; 1.316 + *) COMPILER_TARGET_BITS_FLAG="-m";; 1.317 + esac 1.318 + 1.319 + 1.320 ### Locate C++ compiler (CXX) 1.321 1.322 if test "x$CXX" != x; then 1.323 @@ -20688,6 +20762,9 @@ 1.324 COMPILER_CHECK_LIST="cl" 1.325 elif test "x$OPENJDK_TARGET_OS" = "xsolaris"; then 1.326 COMPILER_CHECK_LIST="CC g++" 1.327 + elif test "x$OPENJDK_TARGET_OS" = "xaix"; then 1.328 + # Do not probe for CC on AIX . 1.329 + COMPILER_CHECK_LIST="xlC_r" 1.330 else 1.331 COMPILER_CHECK_LIST="g++ CC" 1.332 fi 1.333 @@ -20825,8 +20902,6 @@ 1.334 pkgutil_help $MISSING_DEPENDENCY ;; 1.335 pkgadd) 1.336 pkgadd_help $MISSING_DEPENDENCY ;; 1.337 - * ) 1.338 - break ;; 1.339 esac 1.340 1.341 if test "x$PKGHANDLER_COMMAND" != x; then 1.342 @@ -21102,9 +21177,12 @@ 1.343 $as_echo "$as_me: Rewriting CXX to \"$new_complete\"" >&6;} 1.344 fi 1.345 1.346 - { $as_echo "$as_me:${as_lineno-$LINENO}: checking resolved symbolic links for CXX" >&5 1.347 + TEST_COMPILER="$CXX" 1.348 + # Don't remove symbolic links on AIX because 'xlc_r' and 'xlC_r' may all be links 1.349 + # to 'xlc' but it is crucial that we invoke the compiler with the right name! 1.350 + if test "x$OPENJDK_BUILD_OS" != xaix; then 1.351 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking resolved symbolic links for CXX" >&5 1.352 $as_echo_n "checking resolved symbolic links for CXX... " >&6; } 1.353 - TEST_COMPILER="$CXX" 1.354 1.355 if test "x$OPENJDK_BUILD_OS" != xwindows; then 1.356 # Follow a chain of symbolic links. Use readlink 1.357 @@ -21153,8 +21231,9 @@ 1.358 fi 1.359 fi 1.360 1.361 - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $TEST_COMPILER" >&5 1.362 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $TEST_COMPILER" >&5 1.363 $as_echo "$TEST_COMPILER" >&6; } 1.364 + fi 1.365 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if CXX is disguised ccache" >&5 1.366 $as_echo_n "checking if CXX is disguised ccache... " >&6; } 1.367 1.368 @@ -21618,6 +21697,15 @@ 1.369 COMPILER_VERSION=`$ECHO $COMPILER_VERSION_TEST | $SED -n "s/^.*[ ,\t]$COMPILER_NAME[ ,\t]\([1-9]\.[0-9][0-9]*\).*/\1/p"` 1.370 COMPILER_VENDOR="Sun Studio" 1.371 fi 1.372 + elif test "x$OPENJDK_TARGET_OS" = xaix; then 1.373 + COMPILER_VERSION_TEST=`$COMPILER -qversion 2>&1 | $TAIL -n 1` 1.374 + $ECHO $COMPILER_VERSION_TEST | $GREP "^Version: " > /dev/null 1.375 + if test $? -ne 0; then 1.376 + as_fn_error $? "Failed to detect the compiler version of $COMPILER ...." "$LINENO" 5 1.377 + else 1.378 + COMPILER_VERSION=`$ECHO $COMPILER_VERSION_TEST | $SED -n 's/Version: \(0-90-9\.0-90-9*\).*/\1/p'` 1.379 + COMPILER_VENDOR='IBM' 1.380 + fi 1.381 elif test "x$OPENJDK_TARGET_OS" = xwindows; then 1.382 # First line typically looks something like: 1.383 # Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 16.00.40219.01 for 80x86 1.384 @@ -22823,6 +22911,8 @@ 1.385 fi 1.386 if test "x$OPENJDK_TARGET_OS" = xmacosx; then 1.387 ARFLAGS="-r" 1.388 + elif test "x$OPENJDK_TARGET_OS" = xaix; then 1.389 + ARFLAGS="-X64" 1.390 else 1.391 ARFLAGS="" 1.392 fi 1.393 @@ -28798,16 +28888,17 @@ 1.394 # is made at runtime.) 1.395 # 1.396 1.397 - if test "x$OPENJDK_TARGET_OS" = xsolaris; then 1.398 - # Always specify -m flags on Solaris 1.399 + if test "x$OPENJDK_TARGET_OS" = xsolaris || test "x$OPENJDK_TARGET_OS" = xaix; then 1.400 + # Always specify -m flag on Solaris 1.401 + # And -q on AIX because otherwise the compiler produces 32-bit objects by default 1.402 1.403 # When we add flags to the "official" CFLAGS etc, we need to 1.404 # keep track of these additions in ADDED_CFLAGS etc. These 1.405 # will later be checked to make sure only controlled additions 1.406 # have been made to CFLAGS etc. 1.407 - ADDED_CFLAGS=" -m${OPENJDK_TARGET_CPU_BITS}" 1.408 - ADDED_CXXFLAGS=" -m${OPENJDK_TARGET_CPU_BITS}" 1.409 - ADDED_LDFLAGS=" -m${OPENJDK_TARGET_CPU_BITS}" 1.410 + ADDED_CFLAGS=" ${COMPILER_TARGET_BITS_FLAG}${OPENJDK_TARGET_CPU_BITS}" 1.411 + ADDED_CXXFLAGS=" ${COMPILER_TARGET_BITS_FLAG}${OPENJDK_TARGET_CPU_BITS}" 1.412 + ADDED_LDFLAGS=" ${COMPILER_TARGET_BITS_FLAG}${OPENJDK_TARGET_CPU_BITS}" 1.413 1.414 CFLAGS="${CFLAGS}${ADDED_CFLAGS}" 1.415 CXXFLAGS="${CXXFLAGS}${ADDED_CXXFLAGS}" 1.416 @@ -28825,9 +28916,9 @@ 1.417 # keep track of these additions in ADDED_CFLAGS etc. These 1.418 # will later be checked to make sure only controlled additions 1.419 # have been made to CFLAGS etc. 1.420 - ADDED_CFLAGS=" -m${OPENJDK_TARGET_CPU_BITS}" 1.421 - ADDED_CXXFLAGS=" -m${OPENJDK_TARGET_CPU_BITS}" 1.422 - ADDED_LDFLAGS=" -m${OPENJDK_TARGET_CPU_BITS}" 1.423 + ADDED_CFLAGS=" ${COMPILER_TARGET_BITS_FLAG}${OPENJDK_TARGET_CPU_BITS}" 1.424 + ADDED_CXXFLAGS=" ${COMPILER_TARGET_BITS_FLAG}${OPENJDK_TARGET_CPU_BITS}" 1.425 + ADDED_LDFLAGS=" ${COMPILER_TARGET_BITS_FLAG}${OPENJDK_TARGET_CPU_BITS}" 1.426 1.427 CFLAGS="${CFLAGS}${ADDED_CFLAGS}" 1.428 CXXFLAGS="${CXXFLAGS}${ADDED_CXXFLAGS}" 1.429 @@ -28901,20 +28992,85 @@ 1.430 1.431 1.432 1.433 - if test "x$SIZEOF_INT_P" != "x$ac_cv_sizeof_int_p"; then 1.434 - # Workaround autoconf bug, see http://lists.gnu.org/archive/html/autoconf/2010-07/msg00004.html 1.435 - SIZEOF_INT_P="$ac_cv_sizeof_int_p" 1.436 - fi 1.437 - 1.438 - if test "x$SIZEOF_INT_P" = x; then 1.439 + # AC_CHECK_SIZEOF defines 'ac_cv_sizeof_int_p' to hold the number of bytes used by an 'int*' 1.440 + if test "x$ac_cv_sizeof_int_p" = x; then 1.441 # The test failed, lets stick to the assumed value. 1.442 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: The number of bits in the target could not be determined, using $OPENJDK_TARGET_CPU_BITS." >&5 1.443 $as_echo "$as_me: WARNING: The number of bits in the target could not be determined, using $OPENJDK_TARGET_CPU_BITS." >&2;} 1.444 else 1.445 - TESTED_TARGET_CPU_BITS=`expr 8 \* $SIZEOF_INT_P` 1.446 + TESTED_TARGET_CPU_BITS=`expr 8 \* $ac_cv_sizeof_int_p` 1.447 1.448 if test "x$TESTED_TARGET_CPU_BITS" != "x$OPENJDK_TARGET_CPU_BITS"; then 1.449 - as_fn_error $? "The tested number of bits in the target ($TESTED_TARGET_CPU_BITS) differs from the number of bits expected to be found in the target ($OPENJDK_TARGET_CPU_BITS)" "$LINENO" 5 1.450 + # This situation may happen on 64-bit platforms where the compiler by default only generates 32-bit objects 1.451 + # Let's try to implicitely set the compilers target architecture and retry the test 1.452 + { $as_echo "$as_me:${as_lineno-$LINENO}: The tested number of bits in the target ($TESTED_TARGET_CPU_BITS) differs from the number of bits expected to be found in the target ($OPENJDK_TARGET_CPU_BITS)." >&5 1.453 +$as_echo "$as_me: The tested number of bits in the target ($TESTED_TARGET_CPU_BITS) differs from the number of bits expected to be found in the target ($OPENJDK_TARGET_CPU_BITS)." >&6;} 1.454 + { $as_echo "$as_me:${as_lineno-$LINENO}: I'll retry after setting the platforms compiler target bits flag to ${COMPILER_TARGET_BITS_FLAG}${OPENJDK_TARGET_CPU_BITS}" >&5 1.455 +$as_echo "$as_me: I'll retry after setting the platforms compiler target bits flag to ${COMPILER_TARGET_BITS_FLAG}${OPENJDK_TARGET_CPU_BITS}" >&6;} 1.456 + 1.457 + # When we add flags to the "official" CFLAGS etc, we need to 1.458 + # keep track of these additions in ADDED_CFLAGS etc. These 1.459 + # will later be checked to make sure only controlled additions 1.460 + # have been made to CFLAGS etc. 1.461 + ADDED_CFLAGS=" ${COMPILER_TARGET_BITS_FLAG}${OPENJDK_TARGET_CPU_BITS}" 1.462 + ADDED_CXXFLAGS=" ${COMPILER_TARGET_BITS_FLAG}${OPENJDK_TARGET_CPU_BITS}" 1.463 + ADDED_LDFLAGS=" ${COMPILER_TARGET_BITS_FLAG}${OPENJDK_TARGET_CPU_BITS}" 1.464 + 1.465 + CFLAGS="${CFLAGS}${ADDED_CFLAGS}" 1.466 + CXXFLAGS="${CXXFLAGS}${ADDED_CXXFLAGS}" 1.467 + LDFLAGS="${LDFLAGS}${ADDED_LDFLAGS}" 1.468 + 1.469 + CFLAGS_JDK="${CFLAGS_JDK}${ADDED_CFLAGS}" 1.470 + CXXFLAGS_JDK="${CXXFLAGS_JDK}${ADDED_CXXFLAGS}" 1.471 + LDFLAGS_JDK="${LDFLAGS_JDK}${ADDED_LDFLAGS}" 1.472 + 1.473 + 1.474 + # We have to unset 'ac_cv_sizeof_int_p' first, otherwise AC_CHECK_SIZEOF will use the previously cached value! 1.475 + unset ac_cv_sizeof_int_p 1.476 + # And we have to undef the definition of SIZEOF_INT_P in confdefs.h by the previous invocation of AC_CHECK_SIZEOF 1.477 + cat >>confdefs.h <<_ACEOF 1.478 +#undef SIZEOF_INT_P 1.479 +_ACEOF 1.480 + 1.481 + # The cast to long int works around a bug in the HP C Compiler 1.482 +# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects 1.483 +# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'. 1.484 +# This bug is HP SR number 8606223364. 1.485 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of int *" >&5 1.486 +$as_echo_n "checking size of int *... " >&6; } 1.487 +if ${ac_cv_sizeof_int_p+:} false; then : 1.488 + $as_echo_n "(cached) " >&6 1.489 +else 1.490 + if ac_fn_cxx_compute_int "$LINENO" "(long int) (sizeof (int *))" "ac_cv_sizeof_int_p" "$ac_includes_default"; then : 1.491 + 1.492 +else 1.493 + if test "$ac_cv_type_int_p" = yes; then 1.494 + { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 1.495 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} 1.496 +as_fn_error 77 "cannot compute sizeof (int *) 1.497 +See \`config.log' for more details" "$LINENO" 5; } 1.498 + else 1.499 + ac_cv_sizeof_int_p=0 1.500 + fi 1.501 +fi 1.502 + 1.503 +fi 1.504 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_int_p" >&5 1.505 +$as_echo "$ac_cv_sizeof_int_p" >&6; } 1.506 + 1.507 + 1.508 + 1.509 +cat >>confdefs.h <<_ACEOF 1.510 +#define SIZEOF_INT_P $ac_cv_sizeof_int_p 1.511 +_ACEOF 1.512 + 1.513 + 1.514 + 1.515 + TESTED_TARGET_CPU_BITS=`expr 8 \* $ac_cv_sizeof_int_p` 1.516 + 1.517 + if test "x$TESTED_TARGET_CPU_BITS" != "x$OPENJDK_TARGET_CPU_BITS"; then 1.518 + as_fn_error $? "The tested number of bits in the target ($TESTED_TARGET_CPU_BITS) differs from the number of bits expected to be found in the target ($OPENJDK_TARGET_CPU_BITS)" "$LINENO" 5 1.519 + fi 1.520 fi 1.521 fi 1.522 1.523 @@ -29227,6 +29383,29 @@ 1.524 POST_STRIP_CMD="$STRIP -x" 1.525 POST_MCS_CMD="$MCS -d -a \"JDK $FULL_VERSION\"" 1.526 fi 1.527 + if test "x$OPENJDK_TARGET_OS" = xaix; then 1.528 + COMPILER_NAME=xlc 1.529 + PICFLAG="-qpic=large" 1.530 + LIBRARY_PREFIX=lib 1.531 + SHARED_LIBRARY='lib$1.so' 1.532 + STATIC_LIBRARY='lib$1.a' 1.533 + SHARED_LIBRARY_FLAGS="-qmkshrobj" 1.534 + SHARED_LIBRARY_SUFFIX='.so' 1.535 + STATIC_LIBRARY_SUFFIX='.a' 1.536 + OBJ_SUFFIX='.o' 1.537 + EXE_SUFFIX='' 1.538 + SET_SHARED_LIBRARY_NAME='' 1.539 + SET_SHARED_LIBRARY_MAPFILE='' 1.540 + C_FLAG_REORDER='' 1.541 + CXX_FLAG_REORDER='' 1.542 + SET_SHARED_LIBRARY_ORIGIN='' 1.543 + SET_EXECUTABLE_ORIGIN="" 1.544 + CFLAGS_JDK="" 1.545 + CXXFLAGS_JDK="" 1.546 + CFLAGS_JDKLIB_EXTRA='' 1.547 + POST_STRIP_CMD="$STRIP -X32_64" 1.548 + POST_MCS_CMD="" 1.549 + fi 1.550 if test "x$OPENJDK_TARGET_OS" = xwindows; then 1.551 # If it is not gcc, then assume it is the MS Visual Studio compiler 1.552 COMPILER_NAME=cl 1.553 @@ -29412,6 +29591,24 @@ 1.554 1.555 CFLAGS_DEBUG_SYMBOLS="-g -xs" 1.556 CXXFLAGS_DEBUG_SYMBOLS="-g0 -xs" 1.557 + ;; 1.558 + xlc ) 1.559 + C_FLAG_DEPS="-qmakedep=gcc -MF" 1.560 + CXX_FLAG_DEPS="-qmakedep=gcc -MF" 1.561 + C_O_FLAG_HIGHEST="-O3" 1.562 + C_O_FLAG_HI="-O3 -qstrict" 1.563 + C_O_FLAG_NORM="-O2" 1.564 + C_O_FLAG_NONE="" 1.565 + CXX_O_FLAG_HIGHEST="-O3" 1.566 + CXX_O_FLAG_HI="-O3 -qstrict" 1.567 + CXX_O_FLAG_NORM="-O2" 1.568 + CXX_O_FLAG_NONE="" 1.569 + CFLAGS_DEBUG_SYMBOLS="-g" 1.570 + CXXFLAGS_DEBUG_SYMBOLS="-g" 1.571 + LDFLAGS_JDK="${LDFLAGS_JDK} -q64 -brtl -bnolibpath -liconv -bexpall" 1.572 + CFLAGS_JDK="${CFLAGS_JDK} -qchars=signed -q64 -qfullpath -qsaveopt" 1.573 + CXXFLAGS_JDK="${CXXFLAGS_JDK} -qchars=signed -q64 -qfullpath -qsaveopt" 1.574 + ;; 1.575 esac 1.576 ;; 1.577 CL ) 1.578 @@ -29535,6 +29732,13 @@ 1.579 LDFLAGS_JDK="$LDFLAGS_JDK -z defs -xildoff -ztext" 1.580 LDFLAGS_CXX_JDK="$LDFLAGS_CXX_JDK -norunpath -xnolib" 1.581 ;; 1.582 + xlc ) 1.583 + CFLAGS_JDK="$CFLAGS_JDK -D_GNU_SOURCE -D_REENTRANT -D_LARGEFILE64_SOURCE -DSTDC" 1.584 + CXXFLAGS_JDK="$CXXFLAGS_JDK -D_GNU_SOURCE -D_REENTRANT -D_LARGEFILE64_SOURCE -DSTDC" 1.585 + 1.586 + LDFLAGS_JDK="$LDFLAGS_JDK" 1.587 + LDFLAGS_CXX_JDK="$LDFLAGS_CXX_JDK" 1.588 + ;; 1.589 cl ) 1.590 CCXXFLAGS_JDK="$CCXXFLAGS $CCXXFLAGS_JDK -Zi -MD -Zc:wchar_t- -W3 -wd4800 \ 1.591 -D_STATIC_CPPLIB -D_DISABLE_DEPRECATE_STATIC_CPPLIB -DWIN32_LEAN_AND_MEAN \ 1.592 @@ -29604,6 +29808,9 @@ 1.593 if test "x$OPENJDK_TARGET_OS" = xsolaris; then 1.594 CCXXFLAGS_JDK="$CCXXFLAGS_JDK -DSOLARIS" 1.595 fi 1.596 + if test "x$OPENJDK_TARGET_OS" = xaix; then 1.597 + CCXXFLAGS_JDK="$CCXXFLAGS_JDK -DAIX -DPPC64" 1.598 + fi 1.599 if test "x$OPENJDK_TARGET_OS" = xmacosx; then 1.600 CCXXFLAGS_JDK="$CCXXFLAGS_JDK -DMACOSX -D_ALLBSD_SOURCE -D_DARWIN_UNLIMITED_SELECT" 1.601 # Setting these parameters makes it an error to link to macosx APIs that are 1.602 @@ -29736,10 +29943,10 @@ 1.603 # ZERO_ARCHFLAG tells the compiler which mode to build for 1.604 case "${OPENJDK_TARGET_CPU}" in 1.605 s390) 1.606 - ZERO_ARCHFLAG="-m31" 1.607 + ZERO_ARCHFLAG="${COMPILER_TARGET_BITS_FLAG}31" 1.608 ;; 1.609 *) 1.610 - ZERO_ARCHFLAG="-m${OPENJDK_TARGET_CPU_BITS}" 1.611 + ZERO_ARCHFLAG="${COMPILER_TARGET_BITS_FLAG}${OPENJDK_TARGET_CPU_BITS}" 1.612 esac 1.613 1.614 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if compiler supports \"$ZERO_ARCHFLAG\"" >&5 1.615 @@ -29808,15 +30015,15 @@ 1.616 1.617 1.618 1.619 - # Check that the compiler supports -mX flags 1.620 + # Check that the compiler supports -mX (or -qX on AIX) flags 1.621 # Set COMPILER_SUPPORTS_TARGET_BITS_FLAG to 'true' if it does 1.622 1.623 - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if compiler supports \"-m${OPENJDK_TARGET_CPU_BITS}\"" >&5 1.624 -$as_echo_n "checking if compiler supports \"-m${OPENJDK_TARGET_CPU_BITS}\"... " >&6; } 1.625 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if compiler supports \"${COMPILER_TARGET_BITS_FLAG}${OPENJDK_TARGET_CPU_BITS}\"" >&5 1.626 +$as_echo_n "checking if compiler supports \"${COMPILER_TARGET_BITS_FLAG}${OPENJDK_TARGET_CPU_BITS}\"... " >&6; } 1.627 supports=yes 1.628 1.629 saved_cflags="$CFLAGS" 1.630 - CFLAGS="$CFLAGS -m${OPENJDK_TARGET_CPU_BITS}" 1.631 + CFLAGS="$CFLAGS ${COMPILER_TARGET_BITS_FLAG}${OPENJDK_TARGET_CPU_BITS}" 1.632 ac_ext=c 1.633 ac_cpp='$CPP $CPPFLAGS' 1.634 ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' 1.635 @@ -29842,7 +30049,7 @@ 1.636 CFLAGS="$saved_cflags" 1.637 1.638 saved_cxxflags="$CXXFLAGS" 1.639 - CXXFLAGS="$CXXFLAG -m${OPENJDK_TARGET_CPU_BITS}" 1.640 + CXXFLAGS="$CXXFLAG ${COMPILER_TARGET_BITS_FLAG}${OPENJDK_TARGET_CPU_BITS}" 1.641 ac_ext=cpp 1.642 ac_cpp='$CXXCPP $CPPFLAGS' 1.643 ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' 1.644 @@ -29878,6 +30085,27 @@ 1.645 1.646 1.647 1.648 + # Check for broken SuSE 'ld' for which 'Only anonymous version tag is allowed in executable.' 1.649 + USING_BROKEN_SUSE_LD=no 1.650 + if test "x$OPENJDK_TARGET_OS" = xlinux && test "x$GCC" = xyes; then 1.651 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for broken SuSE 'ld' which only understands anonymous version tags in executables" >&5 1.652 +$as_echo_n "checking for broken SuSE 'ld' which only understands anonymous version tags in executables... " >&6; } 1.653 + echo "SUNWprivate_1.1 { local: *; };" > version-script.map 1.654 + echo "int main() { }" > main.c 1.655 + if $CXX -Xlinker -version-script=version-script.map main.c 2>&5 >&5; then 1.656 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 1.657 +$as_echo "no" >&6; } 1.658 + USING_BROKEN_SUSE_LD=no 1.659 + else 1.660 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 1.661 +$as_echo "yes" >&6; } 1.662 + USING_BROKEN_SUSE_LD=yes 1.663 + fi 1.664 + rm -rf version-script.map main.c 1.665 + fi 1.666 + 1.667 + 1.668 + 1.669 # Setup debug symbols (need objcopy from the toolchain for that) 1.670 1.671 # 1.672 @@ -30034,6 +30262,16 @@ 1.673 $as_echo "alsa pulse" >&6; } 1.674 fi 1.675 1.676 + if test "x$OPENJDK_TARGET_OS" = xaix; then 1.677 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking what is not needed on AIX?" >&5 1.678 +$as_echo_n "checking what is not needed on AIX?... " >&6; } 1.679 + ALSA_NOT_NEEDED=yes 1.680 + PULSE_NOT_NEEDED=yes 1.681 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: alsa pulse" >&5 1.682 +$as_echo "alsa pulse" >&6; } 1.683 + fi 1.684 + 1.685 + 1.686 if test "x$OPENJDK_TARGET_OS" = xwindows; then 1.687 { $as_echo "$as_me:${as_lineno-$LINENO}: checking what is not needed on Windows?" >&5 1.688 $as_echo_n "checking what is not needed on Windows?... " >&6; } 1.689 @@ -30844,8 +31082,6 @@ 1.690 pkgutil_help $MISSING_DEPENDENCY ;; 1.691 pkgadd) 1.692 pkgadd_help $MISSING_DEPENDENCY ;; 1.693 - * ) 1.694 - break ;; 1.695 esac 1.696 1.697 if test "x$PKGHANDLER_COMMAND" != x; then 1.698 @@ -30936,8 +31172,6 @@ 1.699 pkgutil_help $MISSING_DEPENDENCY ;; 1.700 pkgadd) 1.701 pkgadd_help $MISSING_DEPENDENCY ;; 1.702 - * ) 1.703 - break ;; 1.704 esac 1.705 1.706 if test "x$PKGHANDLER_COMMAND" != x; then 1.707 @@ -31198,8 +31432,6 @@ 1.708 pkgutil_help $MISSING_DEPENDENCY ;; 1.709 pkgadd) 1.710 pkgadd_help $MISSING_DEPENDENCY ;; 1.711 - * ) 1.712 - break ;; 1.713 esac 1.714 1.715 if test "x$PKGHANDLER_COMMAND" != x; then 1.716 @@ -33960,8 +34192,6 @@ 1.717 pkgutil_help $MISSING_DEPENDENCY ;; 1.718 pkgadd) 1.719 pkgadd_help $MISSING_DEPENDENCY ;; 1.720 - * ) 1.721 - break ;; 1.722 esac 1.723 1.724 if test "x$PKGHANDLER_COMMAND" != x; then 1.725 @@ -34297,8 +34527,6 @@ 1.726 pkgutil_help $MISSING_DEPENDENCY ;; 1.727 pkgadd) 1.728 pkgadd_help $MISSING_DEPENDENCY ;; 1.729 - * ) 1.730 - break ;; 1.731 esac 1.732 1.733 if test "x$PKGHANDLER_COMMAND" != x; then 1.734 @@ -34650,8 +34878,6 @@ 1.735 pkgutil_help $MISSING_DEPENDENCY ;; 1.736 pkgadd) 1.737 pkgadd_help $MISSING_DEPENDENCY ;; 1.738 - * ) 1.739 - break ;; 1.740 esac 1.741 1.742 if test "x$PKGHANDLER_COMMAND" != x; then 1.743 @@ -35454,6 +35680,9 @@ 1.744 # Looks like a MacOSX system 1.745 NUM_CORES=`/usr/sbin/system_profiler -detailLevel full SPHardwareDataType | grep 'Cores' | awk '{print $5}'` 1.746 FOUND_CORES=yes 1.747 + elif test "x$OPENJDK_BUILD_OS" = xaix ; then 1.748 + NUM_CORES=`/usr/sbin/prtconf | grep "^Number Of Processors" | awk '{ print $4 }'` 1.749 + FOUND_CORES=yes 1.750 elif test -n "$NUMBER_OF_PROCESSORS"; then 1.751 # On windows, look in the env 1.752 NUM_CORES=$NUMBER_OF_PROCESSORS 1.753 @@ -35498,8 +35727,8 @@ 1.754 MEMORY_SIZE=`expr $MEMORY_SIZE / 1024` 1.755 FOUND_MEM=yes 1.756 elif test -x /usr/sbin/prtconf; then 1.757 - # Looks like a Solaris system 1.758 - MEMORY_SIZE=`/usr/sbin/prtconf | grep "Memory size" | awk '{ print $3 }'` 1.759 + # Looks like a Solaris or AIX system 1.760 + MEMORY_SIZE=`/usr/sbin/prtconf | grep "^Memory [Ss]ize" | awk '{ print $3 }'` 1.761 FOUND_MEM=yes 1.762 elif test -x /usr/sbin/system_profiler; then 1.763 # Looks like a MacOSX system 1.764 @@ -37410,8 +37639,6 @@ 1.765 pkgutil_help $MISSING_DEPENDENCY ;; 1.766 pkgadd) 1.767 pkgadd_help $MISSING_DEPENDENCY ;; 1.768 - * ) 1.769 - break ;; 1.770 esac 1.771 1.772 if test "x$PKGHANDLER_COMMAND" != x; then