Merge

Thu, 29 May 2014 10:50:00 -0700

author
asaha
date
Thu, 29 May 2014 10:50:00 -0700
changeset 1095
34160d2c17a5
parent 1094
3fa597d6ba0d
parent 1069
e70a29694a9a
child 1096
7f0a1578e4a1

Merge

.hgtags file | annotate | diff | comparison | revisions
     1.1 --- a/.hgtags	Mon May 19 21:34:00 2014 -0700
     1.2 +++ b/.hgtags	Thu May 29 10:50:00 2014 -0700
     1.3 @@ -245,12 +245,18 @@
     1.4  1e1f86d5d4e22c15a9bf9f1581acddb8c59abae2 jdk8-b121
     1.5  347009c5881668b1e44f64d56d4a96cb20a183fa jdk8-b122
     1.6  ff1478785e43718146ffbce97e007f39c3bcaa32 jdk8-b123
     1.7 +c330fa67c4daffdc86527f1a24941aa5a3500098 jdk8u20-b00
     1.8  790bbd46b2015e69ce301dae194c2b4141011f2d jdk8-b124
     1.9 +78abb27c27d988a86e6c82b2cce03cdc04211127 jdk8u20-b01
    1.10  790bbd46b2015e69ce301dae194c2b4141011f2d jdk8-b125
    1.11  9ccce5bf1b0ea0d3f3fb871be069f305f9cea530 jdk8-b126
    1.12  2e2ffb9e4b690c63b32142861177390e0f2c40e9 jdk8-b127
    1.13  101e42de46869e6604fbf095e1666fbf07fcb93c jdk8-b128
    1.14  1e5fe865491300cd0c63261ecf8d34e621e1345c jdk8-b129
    1.15 +cc868070f1959b849c8c3b867771fbdb07b9ba05 jdk8u20-b02
    1.16 +6a3d3b7feab4d4a8252c63b4ce7d0fab106cf2f7 jdk8u20-b03
    1.17 +7e1b01df280fb065c5953c48f54ac9d619ecbf1c jdk8u20-b04
    1.18 +69e0af208dad70fdef65a89ab2c4c468ed9e24b8 jdk8u20-b05
    1.19  839546caab1285c7699a9c2aa1467f57c9ea7f30 jdk8-b130
    1.20  0c38dfecab2ad9f9b5b5edf54b991602147cd040 jdk8-b131
    1.21  2a8f4c022aa03e7916223f3291517dbcc38e07cd jdk8-b132
    1.22 @@ -277,4 +283,21 @@
    1.23  fe460afb120e2312769454f4630cccd406ded3f6 jdk8u11-b07
    1.24  81f3392f551c45578cabe29552c670b87170d325 jdk8u11-b08
    1.25  390084098df7bffecd0eb2318facc6f0f9a46b70 jdk8u11-b09
    1.26 +6d324f36e2448f486d0caa67f70e5a6cf5ac6c0d jdk8u11-b10
    1.27 +ae6a3aec6aa29509a0fd5f53709889b99b1e27da jdk8u20-b06
    1.28 +cc868070f1959b849c8c3b867771fbdb07b9ba05 jdk8u20-b02
    1.29 +6a3d3b7feab4d4a8252c63b4ce7d0fab106cf2f7 jdk8u20-b03
    1.30 +7e1b01df280fb065c5953c48f54ac9d619ecbf1c jdk8u20-b04
    1.31 +69e0af208dad70fdef65a89ab2c4c468ed9e24b8 jdk8u20-b05
    1.32 +ae6a3aec6aa29509a0fd5f53709889b99b1e27da jdk8u20-b06
    1.33 +6403ef94cb0db32d9221a5e8f09f3664cd7744dc jdk8u20-b07
    1.34 +b7750b6ee1578fd5b2b1f6758f905b332503d8ed jdk8u20-b08
    1.35 +d420eae635c42be98b166e1ce9c64fc0a8825529 jdk8u20-b09
    1.36 +cc4ca2ff0afcfb932da6fa4fffdd01f08e4ff71b jdk8u20-b10
    1.37 +61291eee163ab5bbe0b38b37b77673bac9bf5310 jdk8u20-b11
    1.38 +2feecdcd7b677f3baf9df6e8ea46f7e08c7e4411 jdk8u20-b12
    1.39 +26764db977ecb590cdee637d27996a87cdd9507e jdk8u20-b13
    1.40 +548afd2496385263874c0ce970158764166b1156 jdk8u20-b14
    1.41 +12a1fd80b05aa9c5daab22ca5fab8e2c9c3df61c jdk8u20-b15
    1.42 +4095a7a49a9ea95f4c59f936acf45ca1f87b8fff jdk8u20-b16
    1.43  97c6d6a8e5bb3dfc24b9a32711aa0906ea110e23 jdk8u25-b00
     2.1 --- a/common/autoconf/boot-jdk.m4	Mon May 19 21:34:00 2014 -0700
     2.2 +++ b/common/autoconf/boot-jdk.m4	Thu May 29 10:50:00 2014 -0700
     2.3 @@ -316,7 +316,7 @@
     2.4  
     2.5      # Minimum amount of heap memory.
     2.6      ADD_JVM_ARG_IF_OK([-Xms64M],boot_jdk_jvmargs,[$JAVA])
     2.7 -    if test "x$OPENJDK_TARGET_OS" = "xmacosx"; then
     2.8 +    if test "x$OPENJDK_TARGET_OS" = "xmacosx" || test "x$OPENJDK_TARGET_CPU" = "xppc64" ; then
     2.9        # Why does macosx need more heap? Its the huge JDK batch.
    2.10        ADD_JVM_ARG_IF_OK([-Xmx1600M],boot_jdk_jvmargs,[$JAVA])
    2.11      else
     3.1 --- a/common/autoconf/build-aux/config.guess	Mon May 19 21:34:00 2014 -0700
     3.2 +++ b/common/autoconf/build-aux/config.guess	Thu May 29 10:50:00 2014 -0700
     3.3 @@ -60,4 +60,30 @@
     3.4    esac
     3.5  fi
     3.6  
     3.7 +# Test and fix architecture string on AIX
     3.8 +# On AIX 'config.guess' returns 'powerpc' as architecture but 'powerpc' is
     3.9 +# implicitely handled as 32-bit architecture in 'platform.m4' so we check
    3.10 +# for the kernel mode rewrite it to 'powerpc64' if we'Re running in 64-bit mode.
    3.11 +# The check could also be done with `/usr/sbin/prtconf | grep "Kernel Type" | grep "64-bit"`
    3.12 +echo $OUT | grep powerpc-ibm-aix > /dev/null 2> /dev/null
    3.13 +if test $? = 0; then
    3.14 +  if [ -x /bin/getconf ] ; then
    3.15 +    KERNEL_BITMODE=`getconf KERNEL_BITMODE`
    3.16 +    if  [ "$KERNEL_BITMODE" = "32" ]; then
    3.17 +      KERNEL_BITMODE=""
    3.18 +    fi
    3.19 +  fi
    3.20 +  OUT=powerpc$KERNEL_BITMODE`echo $OUT | sed -e 's/[^-]*//'`
    3.21 +fi
    3.22 +
    3.23 +# Test and fix little endian PowerPC64.
    3.24 +# TODO: should be handled by autoconf-config.guess. 
    3.25 +if [ "x$OUT" = x ]; then
    3.26 +  if [ `uname -m` = ppc64le ]; then
    3.27 +    if [ `uname -s` = Linux ]; then
    3.28 +      OUT=powerpc64le-unknown-linux-gnu
    3.29 +    fi
    3.30 +  fi
    3.31 +fi
    3.32 +
    3.33  echo $OUT
     4.1 --- a/common/autoconf/build-performance.m4	Mon May 19 21:34:00 2014 -0700
     4.2 +++ b/common/autoconf/build-performance.m4	Thu May 29 10:50:00 2014 -0700
     4.3 @@ -41,6 +41,9 @@
     4.4      # Looks like a MacOSX system
     4.5      NUM_CORES=`/usr/sbin/system_profiler -detailLevel full SPHardwareDataType | grep 'Cores' | awk  '{print [$]5}'`
     4.6      FOUND_CORES=yes
     4.7 +  elif test "x$OPENJDK_BUILD_OS" = xaix ; then
     4.8 +    NUM_CORES=`/usr/sbin/prtconf | grep "^Number Of Processors" | awk '{ print [$]4 }'`
     4.9 +    FOUND_CORES=yes
    4.10    elif test -n "$NUMBER_OF_PROCESSORS"; then
    4.11      # On windows, look in the env
    4.12      NUM_CORES=$NUMBER_OF_PROCESSORS
    4.13 @@ -68,8 +71,8 @@
    4.14      MEMORY_SIZE=`expr $MEMORY_SIZE / 1024`
    4.15      FOUND_MEM=yes
    4.16    elif test -x /usr/sbin/prtconf; then
    4.17 -    # Looks like a Solaris system
    4.18 -    MEMORY_SIZE=`/usr/sbin/prtconf | grep "Memory size" | awk '{ print [$]3 }'`
    4.19 +    # Looks like a Solaris or AIX system
    4.20 +    MEMORY_SIZE=`/usr/sbin/prtconf | grep "^Memory [[Ss]]ize" | awk '{ print [$]3 }'`
    4.21      FOUND_MEM=yes
    4.22    elif test -x /usr/sbin/system_profiler; then
    4.23      # Looks like a MacOSX system
     5.1 --- a/common/autoconf/configure.ac	Mon May 19 21:34:00 2014 -0700
     5.2 +++ b/common/autoconf/configure.ac	Thu May 29 10:50:00 2014 -0700
     5.3 @@ -88,6 +88,7 @@
     5.4  
     5.5  # These are needed to be able to create a configuration name (and thus the output directory)
     5.6  JDKOPT_SETUP_JDK_VARIANT
     5.7 +JDKOPT_SETUP_JVM_INTERPRETER
     5.8  JDKOPT_SETUP_JVM_VARIANTS
     5.9  JDKOPT_SETUP_DEBUG_LEVEL
    5.10  
     6.1 --- a/common/autoconf/generated-configure.sh	Mon May 19 21:34:00 2014 -0700
     6.2 +++ b/common/autoconf/generated-configure.sh	Thu May 29 10:50:00 2014 -0700
     6.3 @@ -665,6 +665,7 @@
     6.4  CFLAGS_DEBUG_SYMBOLS
     6.5  ZIP_DEBUGINFO_FILES
     6.6  ENABLE_DEBUG_SYMBOLS
     6.7 +USING_BROKEN_SUSE_LD
     6.8  COMPILER_SUPPORTS_TARGET_BITS_FLAG
     6.9  ZERO_ARCHFLAG
    6.10  LDFLAGS_CXX_JDK
    6.11 @@ -749,6 +750,7 @@
    6.12  PROPER_COMPILER_CXX
    6.13  POTENTIAL_CXX
    6.14  TOOLS_DIR_CXX
    6.15 +COMPILER_TARGET_BITS_FLAG
    6.16  OBJEXT
    6.17  EXEEXT
    6.18  ac_ct_CC
    6.19 @@ -851,6 +853,7 @@
    6.20  DEBUG_LEVEL
    6.21  MACOSX_UNIVERSAL
    6.22  INCLUDE_SA
    6.23 +JVM_VARIANT_CORE
    6.24  JVM_VARIANT_ZEROSHARK
    6.25  JVM_VARIANT_ZERO
    6.26  JVM_VARIANT_KERNEL
    6.27 @@ -858,6 +861,7 @@
    6.28  JVM_VARIANT_CLIENT
    6.29  JVM_VARIANT_SERVER
    6.30  JVM_VARIANTS
    6.31 +JVM_INTERPRETER
    6.32  JDK_VARIANT
    6.33  SET_OPENJDK
    6.34  BUILD_LOG_WRAPPER
    6.35 @@ -1003,6 +1007,7 @@
    6.36  with_devkit
    6.37  enable_openjdk_only
    6.38  with_jdk_variant
    6.39 +with_jvm_interpreter
    6.40  with_jvm_variants
    6.41  enable_debug
    6.42  with_debug_level
    6.43 @@ -1747,8 +1752,10 @@
    6.44    --with-devkit           use this directory as base for tools-dir and
    6.45                            sys-root (for cross-compiling)
    6.46    --with-jdk-variant      JDK variant to build (normal) [normal]
    6.47 +  --with-jvm-interpreter  JVM interpreter to build (template, cpp) [template]
    6.48    --with-jvm-variants     JVM variants (separated by commas) to build (server,
    6.49 -                          client, minimal1, kernel, zero, zeroshark) [server]
    6.50 +                          client, minimal1, kernel, zero, zeroshark, core)
    6.51 +                          [server]
    6.52    --with-debug-level      set the debug level (release, fastdebug, slowdebug)
    6.53                            [release]
    6.54    --with-conf-name        use this as the name of the configuration [generated
    6.55 @@ -3485,8 +3492,6 @@
    6.56  If you put the resulting build in \"C:\Program Files\GnuWin32\", it will be found automatically."
    6.57        fi
    6.58        ;;
    6.59 -    * )
    6.60 -      break ;;
    6.61    esac
    6.62  }
    6.63  
    6.64 @@ -3512,8 +3517,6 @@
    6.65        PKGHANDLER_COMMAND="sudo apt-get install libX11-dev libxext-dev libxrender-dev libxtst-dev libxt-dev" ;;
    6.66      ccache)
    6.67        PKGHANDLER_COMMAND="sudo apt-get install ccache" ;;
    6.68 -    * )
    6.69 -      break ;;
    6.70    esac
    6.71  }
    6.72  
    6.73 @@ -3535,8 +3538,6 @@
    6.74        PKGHANDLER_COMMAND="sudo yum install libXtst-devel libXt-devel libXrender-devel" ;;
    6.75      ccache)
    6.76        PKGHANDLER_COMMAND="sudo yum install ccache" ;;
    6.77 -    * )
    6.78 -      break ;;
    6.79    esac
    6.80  }
    6.81  
    6.82 @@ -3586,6 +3587,8 @@
    6.83  
    6.84  
    6.85  
    6.86 +
    6.87 +
    6.88  ###############################################################################
    6.89  #
    6.90  # Should we build only OpenJDK even if closed sources are present?
    6.91 @@ -3865,7 +3868,7 @@
    6.92  #CUSTOM_AUTOCONF_INCLUDE
    6.93  
    6.94  # Do not change or remove the following line, it is needed for consistency checks:
    6.95 -DATE_WHEN_GENERATED=1390334534
    6.96 +DATE_WHEN_GENERATED=1397150809
    6.97  
    6.98  ###############################################################################
    6.99  #
   6.100 @@ -6784,6 +6787,11 @@
   6.101        VAR_OS_API=winapi
   6.102        VAR_OS_ENV=windows.msys
   6.103        ;;
   6.104 +    *aix*)
   6.105 +      VAR_OS=aix
   6.106 +      VAR_OS_API=posix
   6.107 +      VAR_OS_ENV=aix
   6.108 +      ;;
   6.109      *)
   6.110        as_fn_error $? "unsupported operating system $build_os" "$LINENO" 5
   6.111        ;;
   6.112 @@ -6822,6 +6830,12 @@
   6.113        VAR_CPU_BITS=64
   6.114        VAR_CPU_ENDIAN=big
   6.115        ;;
   6.116 +    powerpc64le)
   6.117 +      VAR_CPU=ppc64
   6.118 +      VAR_CPU_ARCH=ppc
   6.119 +      VAR_CPU_BITS=64
   6.120 +      VAR_CPU_ENDIAN=little
   6.121 +      ;;
   6.122      s390)
   6.123        VAR_CPU=s390
   6.124        VAR_CPU_ARCH=s390
   6.125 @@ -6904,6 +6918,11 @@
   6.126        VAR_OS_API=winapi
   6.127        VAR_OS_ENV=windows.msys
   6.128        ;;
   6.129 +    *aix*)
   6.130 +      VAR_OS=aix
   6.131 +      VAR_OS_API=posix
   6.132 +      VAR_OS_ENV=aix
   6.133 +      ;;
   6.134      *)
   6.135        as_fn_error $? "unsupported operating system $host_os" "$LINENO" 5
   6.136        ;;
   6.137 @@ -6942,6 +6961,12 @@
   6.138        VAR_CPU_BITS=64
   6.139        VAR_CPU_ENDIAN=big
   6.140        ;;
   6.141 +    powerpc64le)
   6.142 +      VAR_CPU=ppc64
   6.143 +      VAR_CPU_ARCH=ppc
   6.144 +      VAR_CPU_BITS=64
   6.145 +      VAR_CPU_ENDIAN=little
   6.146 +      ;;
   6.147      s390)
   6.148        VAR_CPU=s390
   6.149        VAR_CPU_ARCH=s390
   6.150 @@ -7810,6 +7835,37 @@
   6.151  $as_echo "$JDK_VARIANT" >&6; }
   6.152  
   6.153  
   6.154 +###############################################################################
   6.155 +#
   6.156 +# Check which interpreter of the JVM we want to build.
   6.157 +# Currently we have:
   6.158 +#    template: Template interpreter (the default)
   6.159 +#    cpp     : C++ interpreter
   6.160 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking which interpreter of the JVM to build" >&5
   6.161 +$as_echo_n "checking which interpreter of the JVM to build... " >&6; }
   6.162 +
   6.163 +# Check whether --with-jvm-interpreter was given.
   6.164 +if test "${with_jvm_interpreter+set}" = set; then :
   6.165 +  withval=$with_jvm_interpreter;
   6.166 +fi
   6.167 +
   6.168 +
   6.169 +if test "x$with_jvm_interpreter" = x; then
   6.170 +     with_jvm_interpreter="template"
   6.171 +fi
   6.172 +
   6.173 +JVM_INTERPRETER="$with_jvm_interpreter"
   6.174 +
   6.175 +if test "x$JVM_INTERPRETER" != xtemplate && test "x$JVM_INTERPRETER" != xcpp; then
   6.176 +   as_fn_error $? "The available JVM interpreters are: template, cpp" "$LINENO" 5
   6.177 +fi
   6.178 +
   6.179 +
   6.180 +
   6.181 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $with_jvm_interpreter" >&5
   6.182 +$as_echo "$with_jvm_interpreter" >&6; }
   6.183 +
   6.184 +
   6.185  
   6.186    ###############################################################################
   6.187    #
   6.188 @@ -7822,6 +7878,7 @@
   6.189    #             ie normal interpreter and C1, only the serial GC, kernel jvmti etc
   6.190    #    zero: no machine code interpreter, no compiler
   6.191    #    zeroshark: zero interpreter and shark/llvm compiler backend
   6.192 +#    core: interpreter only, no compiler (only works on some platforms)
   6.193    { $as_echo "$as_me:${as_lineno-$LINENO}: checking which variants of the JVM to build" >&5
   6.194  $as_echo_n "checking which variants of the JVM to build... " >&6; }
   6.195  
   6.196 @@ -7836,10 +7893,10 @@
   6.197    fi
   6.198  
   6.199    JVM_VARIANTS=",$with_jvm_variants,"
   6.200 -  TEST_VARIANTS=`$ECHO "$JVM_VARIANTS" | $SED -e 's/server,//' -e 's/client,//'  -e 's/minimal1,//' -e 's/kernel,//' -e 's/zero,//' -e 's/zeroshark,//'`
   6.201 +  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,//'`
   6.202  
   6.203    if test "x$TEST_VARIANTS" != "x,"; then
   6.204 -    as_fn_error $? "The available JVM variants are: server, client, minimal1, kernel, zero, zeroshark" "$LINENO" 5
   6.205 +     as_fn_error $? "The available JVM variants are: server, client, minimal1, kernel, zero, zeroshark, core" "$LINENO" 5
   6.206    fi
   6.207    { $as_echo "$as_me:${as_lineno-$LINENO}: result: $with_jvm_variants" >&5
   6.208  $as_echo "$with_jvm_variants" >&6; }
   6.209 @@ -7850,6 +7907,7 @@
   6.210    JVM_VARIANT_KERNEL=`$ECHO "$JVM_VARIANTS" | $SED -e '/,kernel,/!s/.*/false/g' -e '/,kernel,/s/.*/true/g'`
   6.211    JVM_VARIANT_ZERO=`$ECHO "$JVM_VARIANTS" | $SED -e '/,zero,/!s/.*/false/g' -e '/,zero,/s/.*/true/g'`
   6.212    JVM_VARIANT_ZEROSHARK=`$ECHO "$JVM_VARIANTS" | $SED -e '/,zeroshark,/!s/.*/false/g' -e '/,zeroshark,/s/.*/true/g'`
   6.213 +  JVM_VARIANT_CORE=`$ECHO "$JVM_VARIANTS" | $SED -e '/,core,/!s/.*/false/g' -e '/,core,/s/.*/true/g'`
   6.214  
   6.215    if test "x$JVM_VARIANT_CLIENT" = xtrue; then
   6.216      if test "x$OPENJDK_TARGET_CPU_BITS" = x64; then
   6.217 @@ -7869,7 +7927,7 @@
   6.218  
   6.219    # Replace the commas with AND for use in the build directory name.
   6.220    ANDED_JVM_VARIANTS=`$ECHO "$JVM_VARIANTS" | $SED -e 's/^,//' -e 's/,$//' -e 's/,/AND/'`
   6.221 -  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/'`
   6.222 +  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/'`
   6.223    if test "x$COUNT_VARIANTS" != "x,1"; then
   6.224      BUILDING_MULTIPLE_JVM_VARIANTS=yes
   6.225    else
   6.226 @@ -7884,6 +7942,7 @@
   6.227  
   6.228  
   6.229  
   6.230 +
   6.231    INCLUDE_SA=true
   6.232    if test "x$JVM_VARIANT_ZERO" = xtrue ; then
   6.233      INCLUDE_SA=false
   6.234 @@ -7891,6 +7950,9 @@
   6.235    if test "x$JVM_VARIANT_ZEROSHARK" = xtrue ; then
   6.236      INCLUDE_SA=false
   6.237    fi
   6.238 +  if test "x$VAR_CPU" = xppc64 ; then
   6.239 +    INCLUDE_SA=false
   6.240 +  fi
   6.241  
   6.242  
   6.243    if test "x$OPENJDK_TARGET_OS" = "xmacosx"; then
   6.244 @@ -8006,6 +8068,10 @@
   6.245      HOTSPOT_TARGET="$HOTSPOT_TARGET${HOTSPOT_DEBUG_LEVEL}shark "
   6.246    fi
   6.247  
   6.248 +  if test "x$JVM_VARIANT_CORE" = xtrue; then
   6.249 +    HOTSPOT_TARGET="$HOTSPOT_TARGET${HOTSPOT_DEBUG_LEVEL}core "
   6.250 +  fi
   6.251 +
   6.252    HOTSPOT_TARGET="$HOTSPOT_TARGET docs export_$HOTSPOT_EXPORT"
   6.253  
   6.254    # On Macosx universal binaries are produced, but they only contain
   6.255 @@ -15857,8 +15923,6 @@
   6.256          pkgutil_help $MISSING_DEPENDENCY ;;
   6.257        pkgadd)
   6.258          pkgadd_help  $MISSING_DEPENDENCY ;;
   6.259 -      * )
   6.260 -        break ;;
   6.261      esac
   6.262  
   6.263      if test "x$PKGHANDLER_COMMAND" != x; then
   6.264 @@ -16037,7 +16101,7 @@
   6.265      JVM_ARG_OK=false
   6.266    fi
   6.267  
   6.268 -    if test "x$OPENJDK_TARGET_OS" = "xmacosx"; then
   6.269 +    if test "x$OPENJDK_TARGET_OS" = "xmacosx" || test "x$OPENJDK_TARGET_CPU" = "xppc64" ; then
   6.270        # Why does macosx need more heap? Its the huge JDK batch.
   6.271  
   6.272    $ECHO "Check if jvm arg is ok: -Xmx1600M" >&5
   6.273 @@ -19109,6 +19173,9 @@
   6.274      COMPILER_CHECK_LIST="cl"
   6.275    elif test "x$OPENJDK_TARGET_OS" = "xsolaris"; then
   6.276      COMPILER_CHECK_LIST="cc gcc"
   6.277 +  elif test "x$OPENJDK_TARGET_OS" = "xaix"; then
   6.278 +    # Do not probe for cc on AIX.
   6.279 +    COMPILER_CHECK_LIST="xlc_r"
   6.280    else
   6.281      COMPILER_CHECK_LIST="gcc cc"
   6.282    fi
   6.283 @@ -19246,8 +19313,6 @@
   6.284          pkgutil_help $MISSING_DEPENDENCY ;;
   6.285        pkgadd)
   6.286          pkgadd_help  $MISSING_DEPENDENCY ;;
   6.287 -      * )
   6.288 -        break ;;
   6.289      esac
   6.290  
   6.291      if test "x$PKGHANDLER_COMMAND" != x; then
   6.292 @@ -19523,9 +19588,12 @@
   6.293  $as_echo "$as_me: Rewriting CC to \"$new_complete\"" >&6;}
   6.294    fi
   6.295  
   6.296 -  { $as_echo "$as_me:${as_lineno-$LINENO}: checking resolved symbolic links for CC" >&5
   6.297 +  TEST_COMPILER="$CC"
   6.298 +  # Don't remove symbolic links on AIX because 'xlc_r' and 'xlC_r' may all be links
   6.299 +  # to 'xlc' but it is crucial that we invoke the compiler with the right name!
   6.300 +  if test "x$OPENJDK_BUILD_OS" != xaix; then
   6.301 +    { $as_echo "$as_me:${as_lineno-$LINENO}: checking resolved symbolic links for CC" >&5
   6.302  $as_echo_n "checking resolved symbolic links for CC... " >&6; }
   6.303 -  TEST_COMPILER="$CC"
   6.304  
   6.305    if test "x$OPENJDK_BUILD_OS" != xwindows; then
   6.306      # Follow a chain of symbolic links. Use readlink
   6.307 @@ -19574,8 +19642,9 @@
   6.308      fi
   6.309    fi
   6.310  
   6.311 -  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $TEST_COMPILER" >&5
   6.312 +    { $as_echo "$as_me:${as_lineno-$LINENO}: result: $TEST_COMPILER" >&5
   6.313  $as_echo "$TEST_COMPILER" >&6; }
   6.314 +  fi
   6.315    { $as_echo "$as_me:${as_lineno-$LINENO}: checking if CC is disguised ccache" >&5
   6.316  $as_echo_n "checking if CC is disguised ccache... " >&6; }
   6.317  
   6.318 @@ -20039,6 +20108,15 @@
   6.319        COMPILER_VERSION=`$ECHO $COMPILER_VERSION_TEST | $SED -n "s/^.*[ ,\t]$COMPILER_NAME[ ,\t]\([1-9]\.[0-9][0-9]*\).*/\1/p"`
   6.320        COMPILER_VENDOR="Sun Studio"
   6.321      fi
   6.322 +  elif test  "x$OPENJDK_TARGET_OS" = xaix; then
   6.323 +      COMPILER_VERSION_TEST=`$COMPILER -qversion  2>&1 | $TAIL -n 1`
   6.324 +      $ECHO $COMPILER_VERSION_TEST | $GREP "^Version: " > /dev/null
   6.325 +      if test $? -ne 0; then
   6.326 +        as_fn_error $? "Failed to detect the compiler version of $COMPILER ...." "$LINENO" 5
   6.327 +      else
   6.328 +        COMPILER_VERSION=`$ECHO $COMPILER_VERSION_TEST | $SED -n 's/Version: \(0-90-9\.0-90-9*\).*/\1/p'`
   6.329 +        COMPILER_VENDOR='IBM'
   6.330 +      fi
   6.331    elif test  "x$OPENJDK_TARGET_OS" = xwindows; then
   6.332      # First line typically looks something like:
   6.333      # Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 16.00.40219.01 for 80x86
   6.334 @@ -20680,6 +20758,14 @@
   6.335  ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
   6.336  
   6.337  
   6.338 +  # Option used to tell the compiler whether to create 32- or 64-bit executables
   6.339 +  # Notice that CC contains the full compiler path at this point.
   6.340 +  case $CC in
   6.341 +    *xlc_r) COMPILER_TARGET_BITS_FLAG="-q";;
   6.342 +    *)      COMPILER_TARGET_BITS_FLAG="-m";;
   6.343 +  esac
   6.344 +
   6.345 +
   6.346    ### Locate C++ compiler (CXX)
   6.347  
   6.348    if test "x$CXX" != x; then
   6.349 @@ -20688,6 +20774,9 @@
   6.350      COMPILER_CHECK_LIST="cl"
   6.351    elif test "x$OPENJDK_TARGET_OS" = "xsolaris"; then
   6.352      COMPILER_CHECK_LIST="CC g++"
   6.353 +  elif test "x$OPENJDK_TARGET_OS" = "xaix"; then
   6.354 +    # Do not probe for CC on AIX .
   6.355 +    COMPILER_CHECK_LIST="xlC_r"
   6.356    else
   6.357      COMPILER_CHECK_LIST="g++ CC"
   6.358    fi
   6.359 @@ -20825,8 +20914,6 @@
   6.360          pkgutil_help $MISSING_DEPENDENCY ;;
   6.361        pkgadd)
   6.362          pkgadd_help  $MISSING_DEPENDENCY ;;
   6.363 -      * )
   6.364 -        break ;;
   6.365      esac
   6.366  
   6.367      if test "x$PKGHANDLER_COMMAND" != x; then
   6.368 @@ -21102,9 +21189,12 @@
   6.369  $as_echo "$as_me: Rewriting CXX to \"$new_complete\"" >&6;}
   6.370    fi
   6.371  
   6.372 -  { $as_echo "$as_me:${as_lineno-$LINENO}: checking resolved symbolic links for CXX" >&5
   6.373 +  TEST_COMPILER="$CXX"
   6.374 +  # Don't remove symbolic links on AIX because 'xlc_r' and 'xlC_r' may all be links
   6.375 +  # to 'xlc' but it is crucial that we invoke the compiler with the right name!
   6.376 +  if test "x$OPENJDK_BUILD_OS" != xaix; then
   6.377 +    { $as_echo "$as_me:${as_lineno-$LINENO}: checking resolved symbolic links for CXX" >&5
   6.378  $as_echo_n "checking resolved symbolic links for CXX... " >&6; }
   6.379 -  TEST_COMPILER="$CXX"
   6.380  
   6.381    if test "x$OPENJDK_BUILD_OS" != xwindows; then
   6.382      # Follow a chain of symbolic links. Use readlink
   6.383 @@ -21153,8 +21243,9 @@
   6.384      fi
   6.385    fi
   6.386  
   6.387 -  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $TEST_COMPILER" >&5
   6.388 +    { $as_echo "$as_me:${as_lineno-$LINENO}: result: $TEST_COMPILER" >&5
   6.389  $as_echo "$TEST_COMPILER" >&6; }
   6.390 +  fi
   6.391    { $as_echo "$as_me:${as_lineno-$LINENO}: checking if CXX is disguised ccache" >&5
   6.392  $as_echo_n "checking if CXX is disguised ccache... " >&6; }
   6.393  
   6.394 @@ -21618,6 +21709,15 @@
   6.395        COMPILER_VERSION=`$ECHO $COMPILER_VERSION_TEST | $SED -n "s/^.*[ ,\t]$COMPILER_NAME[ ,\t]\([1-9]\.[0-9][0-9]*\).*/\1/p"`
   6.396        COMPILER_VENDOR="Sun Studio"
   6.397      fi
   6.398 +  elif test  "x$OPENJDK_TARGET_OS" = xaix; then
   6.399 +      COMPILER_VERSION_TEST=`$COMPILER -qversion  2>&1 | $TAIL -n 1`
   6.400 +      $ECHO $COMPILER_VERSION_TEST | $GREP "^Version: " > /dev/null
   6.401 +      if test $? -ne 0; then
   6.402 +        as_fn_error $? "Failed to detect the compiler version of $COMPILER ...." "$LINENO" 5
   6.403 +      else
   6.404 +        COMPILER_VERSION=`$ECHO $COMPILER_VERSION_TEST | $SED -n 's/Version: \(0-90-9\.0-90-9*\).*/\1/p'`
   6.405 +        COMPILER_VENDOR='IBM'
   6.406 +      fi
   6.407    elif test  "x$OPENJDK_TARGET_OS" = xwindows; then
   6.408      # First line typically looks something like:
   6.409      # Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 16.00.40219.01 for 80x86
   6.410 @@ -22823,6 +22923,8 @@
   6.411    fi
   6.412    if test "x$OPENJDK_TARGET_OS" = xmacosx; then
   6.413      ARFLAGS="-r"
   6.414 +  elif test "x$OPENJDK_TARGET_OS" = xaix; then
   6.415 +    ARFLAGS="-X64"
   6.416    else
   6.417      ARFLAGS=""
   6.418    fi
   6.419 @@ -28798,16 +28900,17 @@
   6.420    # is made at runtime.)
   6.421    #
   6.422  
   6.423 -  if test "x$OPENJDK_TARGET_OS" = xsolaris; then
   6.424 -    # Always specify -m flags on Solaris
   6.425 +  if test "x$OPENJDK_TARGET_OS" = xsolaris || test "x$OPENJDK_TARGET_OS" = xaix; then
   6.426 +    # Always specify -m flag on Solaris
   6.427 +    # And -q on AIX because otherwise the compiler produces 32-bit objects by default
   6.428  
   6.429    # When we add flags to the "official" CFLAGS etc, we need to
   6.430    # keep track of these additions in ADDED_CFLAGS etc. These
   6.431    # will later be checked to make sure only controlled additions
   6.432    # have been made to CFLAGS etc.
   6.433 -  ADDED_CFLAGS=" -m${OPENJDK_TARGET_CPU_BITS}"
   6.434 -  ADDED_CXXFLAGS=" -m${OPENJDK_TARGET_CPU_BITS}"
   6.435 -  ADDED_LDFLAGS=" -m${OPENJDK_TARGET_CPU_BITS}"
   6.436 +  ADDED_CFLAGS=" ${COMPILER_TARGET_BITS_FLAG}${OPENJDK_TARGET_CPU_BITS}"
   6.437 +  ADDED_CXXFLAGS=" ${COMPILER_TARGET_BITS_FLAG}${OPENJDK_TARGET_CPU_BITS}"
   6.438 +  ADDED_LDFLAGS=" ${COMPILER_TARGET_BITS_FLAG}${OPENJDK_TARGET_CPU_BITS}"
   6.439  
   6.440    CFLAGS="${CFLAGS}${ADDED_CFLAGS}"
   6.441    CXXFLAGS="${CXXFLAGS}${ADDED_CXXFLAGS}"
   6.442 @@ -28825,9 +28928,9 @@
   6.443    # keep track of these additions in ADDED_CFLAGS etc. These
   6.444    # will later be checked to make sure only controlled additions
   6.445    # have been made to CFLAGS etc.
   6.446 -  ADDED_CFLAGS=" -m${OPENJDK_TARGET_CPU_BITS}"
   6.447 -  ADDED_CXXFLAGS=" -m${OPENJDK_TARGET_CPU_BITS}"
   6.448 -  ADDED_LDFLAGS=" -m${OPENJDK_TARGET_CPU_BITS}"
   6.449 +  ADDED_CFLAGS=" ${COMPILER_TARGET_BITS_FLAG}${OPENJDK_TARGET_CPU_BITS}"
   6.450 +  ADDED_CXXFLAGS=" ${COMPILER_TARGET_BITS_FLAG}${OPENJDK_TARGET_CPU_BITS}"
   6.451 +  ADDED_LDFLAGS=" ${COMPILER_TARGET_BITS_FLAG}${OPENJDK_TARGET_CPU_BITS}"
   6.452  
   6.453    CFLAGS="${CFLAGS}${ADDED_CFLAGS}"
   6.454    CXXFLAGS="${CXXFLAGS}${ADDED_CXXFLAGS}"
   6.455 @@ -28901,20 +29004,85 @@
   6.456  
   6.457  
   6.458  
   6.459 -  if test "x$SIZEOF_INT_P" != "x$ac_cv_sizeof_int_p"; then
   6.460 -    # Workaround autoconf bug, see http://lists.gnu.org/archive/html/autoconf/2010-07/msg00004.html
   6.461 -    SIZEOF_INT_P="$ac_cv_sizeof_int_p"
   6.462 -  fi
   6.463 -
   6.464 -  if test "x$SIZEOF_INT_P" = x; then
   6.465 +  # AC_CHECK_SIZEOF defines 'ac_cv_sizeof_int_p' to hold the number of bytes used by an 'int*'
   6.466 +  if test "x$ac_cv_sizeof_int_p" = x; then
   6.467      # The test failed, lets stick to the assumed value.
   6.468      { $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
   6.469  $as_echo "$as_me: WARNING: The number of bits in the target could not be determined, using $OPENJDK_TARGET_CPU_BITS." >&2;}
   6.470    else
   6.471 -    TESTED_TARGET_CPU_BITS=`expr 8 \* $SIZEOF_INT_P`
   6.472 +    TESTED_TARGET_CPU_BITS=`expr 8 \* $ac_cv_sizeof_int_p`
   6.473  
   6.474      if test "x$TESTED_TARGET_CPU_BITS" != "x$OPENJDK_TARGET_CPU_BITS"; then
   6.475 -      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
   6.476 +      # This situation may happen on 64-bit platforms where the compiler by default only generates 32-bit objects
   6.477 +      # Let's try to implicitely set the compilers target architecture and retry the test
   6.478 +      { $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
   6.479 +$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;}
   6.480 +      { $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
   6.481 +$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;}
   6.482 +
   6.483 +  # When we add flags to the "official" CFLAGS etc, we need to
   6.484 +  # keep track of these additions in ADDED_CFLAGS etc. These
   6.485 +  # will later be checked to make sure only controlled additions
   6.486 +  # have been made to CFLAGS etc.
   6.487 +  ADDED_CFLAGS=" ${COMPILER_TARGET_BITS_FLAG}${OPENJDK_TARGET_CPU_BITS}"
   6.488 +  ADDED_CXXFLAGS=" ${COMPILER_TARGET_BITS_FLAG}${OPENJDK_TARGET_CPU_BITS}"
   6.489 +  ADDED_LDFLAGS=" ${COMPILER_TARGET_BITS_FLAG}${OPENJDK_TARGET_CPU_BITS}"
   6.490 +
   6.491 +  CFLAGS="${CFLAGS}${ADDED_CFLAGS}"
   6.492 +  CXXFLAGS="${CXXFLAGS}${ADDED_CXXFLAGS}"
   6.493 +  LDFLAGS="${LDFLAGS}${ADDED_LDFLAGS}"
   6.494 +
   6.495 +  CFLAGS_JDK="${CFLAGS_JDK}${ADDED_CFLAGS}"
   6.496 +  CXXFLAGS_JDK="${CXXFLAGS_JDK}${ADDED_CXXFLAGS}"
   6.497 +  LDFLAGS_JDK="${LDFLAGS_JDK}${ADDED_LDFLAGS}"
   6.498 +
   6.499 +
   6.500 +      # We have to unset 'ac_cv_sizeof_int_p' first, otherwise AC_CHECK_SIZEOF will use the previously cached value!
   6.501 +      unset ac_cv_sizeof_int_p
   6.502 +      # And we have to undef the definition of SIZEOF_INT_P in confdefs.h by the previous invocation of AC_CHECK_SIZEOF
   6.503 +      cat >>confdefs.h <<_ACEOF
   6.504 +#undef SIZEOF_INT_P
   6.505 +_ACEOF
   6.506 +
   6.507 +      # The cast to long int works around a bug in the HP C Compiler
   6.508 +# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
   6.509 +# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
   6.510 +# This bug is HP SR number 8606223364.
   6.511 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of int *" >&5
   6.512 +$as_echo_n "checking size of int *... " >&6; }
   6.513 +if ${ac_cv_sizeof_int_p+:} false; then :
   6.514 +  $as_echo_n "(cached) " >&6
   6.515 +else
   6.516 +  if ac_fn_cxx_compute_int "$LINENO" "(long int) (sizeof (int *))" "ac_cv_sizeof_int_p"        "$ac_includes_default"; then :
   6.517 +
   6.518 +else
   6.519 +  if test "$ac_cv_type_int_p" = yes; then
   6.520 +     { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
   6.521 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
   6.522 +as_fn_error 77 "cannot compute sizeof (int *)
   6.523 +See \`config.log' for more details" "$LINENO" 5; }
   6.524 +   else
   6.525 +     ac_cv_sizeof_int_p=0
   6.526 +   fi
   6.527 +fi
   6.528 +
   6.529 +fi
   6.530 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_int_p" >&5
   6.531 +$as_echo "$ac_cv_sizeof_int_p" >&6; }
   6.532 +
   6.533 +
   6.534 +
   6.535 +cat >>confdefs.h <<_ACEOF
   6.536 +#define SIZEOF_INT_P $ac_cv_sizeof_int_p
   6.537 +_ACEOF
   6.538 +
   6.539 +
   6.540 +
   6.541 +      TESTED_TARGET_CPU_BITS=`expr 8 \* $ac_cv_sizeof_int_p`
   6.542 +
   6.543 +      if test "x$TESTED_TARGET_CPU_BITS" != "x$OPENJDK_TARGET_CPU_BITS"; then
   6.544 +        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
   6.545 +      fi
   6.546      fi
   6.547    fi
   6.548  
   6.549 @@ -29227,6 +29395,29 @@
   6.550        POST_STRIP_CMD="$STRIP -x"
   6.551        POST_MCS_CMD="$MCS -d -a \"JDK $FULL_VERSION\""
   6.552      fi
   6.553 +    if test "x$OPENJDK_TARGET_OS" = xaix; then
   6.554 +        COMPILER_NAME=xlc
   6.555 +        PICFLAG="-qpic=large"
   6.556 +        LIBRARY_PREFIX=lib
   6.557 +        SHARED_LIBRARY='lib$1.so'
   6.558 +        STATIC_LIBRARY='lib$1.a'
   6.559 +        SHARED_LIBRARY_FLAGS="-qmkshrobj"
   6.560 +        SHARED_LIBRARY_SUFFIX='.so'
   6.561 +        STATIC_LIBRARY_SUFFIX='.a'
   6.562 +        OBJ_SUFFIX='.o'
   6.563 +        EXE_SUFFIX=''
   6.564 +        SET_SHARED_LIBRARY_NAME=''
   6.565 +        SET_SHARED_LIBRARY_MAPFILE=''
   6.566 +        C_FLAG_REORDER=''
   6.567 +        CXX_FLAG_REORDER=''
   6.568 +        SET_SHARED_LIBRARY_ORIGIN=''
   6.569 +        SET_EXECUTABLE_ORIGIN=""
   6.570 +        CFLAGS_JDK=""
   6.571 +        CXXFLAGS_JDK=""
   6.572 +        CFLAGS_JDKLIB_EXTRA=''
   6.573 +        POST_STRIP_CMD="$STRIP -X32_64"
   6.574 +        POST_MCS_CMD=""
   6.575 +    fi
   6.576      if test "x$OPENJDK_TARGET_OS" = xwindows; then
   6.577        # If it is not gcc, then assume it is the MS Visual Studio compiler
   6.578        COMPILER_NAME=cl
   6.579 @@ -29412,6 +29603,24 @@
   6.580  
   6.581            CFLAGS_DEBUG_SYMBOLS="-g -xs"
   6.582            CXXFLAGS_DEBUG_SYMBOLS="-g0 -xs"
   6.583 +          ;;
   6.584 +        xlc )
   6.585 +          C_FLAG_DEPS="-qmakedep=gcc -MF"
   6.586 +          CXX_FLAG_DEPS="-qmakedep=gcc -MF"
   6.587 +          C_O_FLAG_HIGHEST="-O3"
   6.588 +          C_O_FLAG_HI="-O3 -qstrict"
   6.589 +          C_O_FLAG_NORM="-O2"
   6.590 +          C_O_FLAG_NONE=""
   6.591 +          CXX_O_FLAG_HIGHEST="-O3"
   6.592 +          CXX_O_FLAG_HI="-O3 -qstrict"
   6.593 +          CXX_O_FLAG_NORM="-O2"
   6.594 +          CXX_O_FLAG_NONE=""
   6.595 +          CFLAGS_DEBUG_SYMBOLS="-g"
   6.596 +          CXXFLAGS_DEBUG_SYMBOLS="-g"
   6.597 +          LDFLAGS_JDK="${LDFLAGS_JDK} -q64 -brtl -bnolibpath -liconv -bexpall"
   6.598 +          CFLAGS_JDK="${CFLAGS_JDK} -qchars=signed -q64 -qfullpath -qsaveopt"
   6.599 +          CXXFLAGS_JDK="${CXXFLAGS_JDK} -qchars=signed -q64 -qfullpath -qsaveopt"
   6.600 +          ;;
   6.601        esac
   6.602        ;;
   6.603      CL )
   6.604 @@ -29535,6 +29744,13 @@
   6.605        LDFLAGS_JDK="$LDFLAGS_JDK -z defs -xildoff -ztext"
   6.606        LDFLAGS_CXX_JDK="$LDFLAGS_CXX_JDK -norunpath -xnolib"
   6.607        ;;
   6.608 +    xlc )
   6.609 +      CFLAGS_JDK="$CFLAGS_JDK -D_GNU_SOURCE -D_REENTRANT -D_LARGEFILE64_SOURCE -DSTDC"
   6.610 +      CXXFLAGS_JDK="$CXXFLAGS_JDK -D_GNU_SOURCE -D_REENTRANT -D_LARGEFILE64_SOURCE -DSTDC"
   6.611 +
   6.612 +      LDFLAGS_JDK="$LDFLAGS_JDK"
   6.613 +      LDFLAGS_CXX_JDK="$LDFLAGS_CXX_JDK"
   6.614 +      ;;
   6.615      cl )
   6.616        CCXXFLAGS_JDK="$CCXXFLAGS $CCXXFLAGS_JDK -Zi -MD -Zc:wchar_t- -W3 -wd4800 \
   6.617        -D_STATIC_CPPLIB -D_DISABLE_DEPRECATE_STATIC_CPPLIB -DWIN32_LEAN_AND_MEAN \
   6.618 @@ -29604,6 +29820,9 @@
   6.619    if test "x$OPENJDK_TARGET_OS" = xsolaris; then
   6.620      CCXXFLAGS_JDK="$CCXXFLAGS_JDK -DSOLARIS"
   6.621    fi
   6.622 +  if test "x$OPENJDK_TARGET_OS" = xaix; then
   6.623 +    CCXXFLAGS_JDK="$CCXXFLAGS_JDK -DAIX -DPPC64"
   6.624 +  fi
   6.625    if test "x$OPENJDK_TARGET_OS" = xmacosx; then
   6.626      CCXXFLAGS_JDK="$CCXXFLAGS_JDK -DMACOSX -D_ALLBSD_SOURCE -D_DARWIN_UNLIMITED_SELECT"
   6.627      # Setting these parameters makes it an error to link to macosx APIs that are
   6.628 @@ -29736,10 +29955,10 @@
   6.629    # ZERO_ARCHFLAG tells the compiler which mode to build for
   6.630    case "${OPENJDK_TARGET_CPU}" in
   6.631      s390)
   6.632 -      ZERO_ARCHFLAG="-m31"
   6.633 +      ZERO_ARCHFLAG="${COMPILER_TARGET_BITS_FLAG}31"
   6.634        ;;
   6.635      *)
   6.636 -      ZERO_ARCHFLAG="-m${OPENJDK_TARGET_CPU_BITS}"
   6.637 +      ZERO_ARCHFLAG="${COMPILER_TARGET_BITS_FLAG}${OPENJDK_TARGET_CPU_BITS}"
   6.638    esac
   6.639  
   6.640    { $as_echo "$as_me:${as_lineno-$LINENO}: checking if compiler supports \"$ZERO_ARCHFLAG\"" >&5
   6.641 @@ -29808,15 +30027,15 @@
   6.642  
   6.643  
   6.644  
   6.645 -  # Check that the compiler supports -mX flags
   6.646 +  # Check that the compiler supports -mX (or -qX on AIX) flags
   6.647    # Set COMPILER_SUPPORTS_TARGET_BITS_FLAG to 'true' if it does
   6.648  
   6.649 -  { $as_echo "$as_me:${as_lineno-$LINENO}: checking if compiler supports \"-m${OPENJDK_TARGET_CPU_BITS}\"" >&5
   6.650 -$as_echo_n "checking if compiler supports \"-m${OPENJDK_TARGET_CPU_BITS}\"... " >&6; }
   6.651 +  { $as_echo "$as_me:${as_lineno-$LINENO}: checking if compiler supports \"${COMPILER_TARGET_BITS_FLAG}${OPENJDK_TARGET_CPU_BITS}\"" >&5
   6.652 +$as_echo_n "checking if compiler supports \"${COMPILER_TARGET_BITS_FLAG}${OPENJDK_TARGET_CPU_BITS}\"... " >&6; }
   6.653    supports=yes
   6.654  
   6.655    saved_cflags="$CFLAGS"
   6.656 -  CFLAGS="$CFLAGS -m${OPENJDK_TARGET_CPU_BITS}"
   6.657 +  CFLAGS="$CFLAGS ${COMPILER_TARGET_BITS_FLAG}${OPENJDK_TARGET_CPU_BITS}"
   6.658    ac_ext=c
   6.659  ac_cpp='$CPP $CPPFLAGS'
   6.660  ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
   6.661 @@ -29842,7 +30061,7 @@
   6.662    CFLAGS="$saved_cflags"
   6.663  
   6.664    saved_cxxflags="$CXXFLAGS"
   6.665 -  CXXFLAGS="$CXXFLAG -m${OPENJDK_TARGET_CPU_BITS}"
   6.666 +  CXXFLAGS="$CXXFLAG ${COMPILER_TARGET_BITS_FLAG}${OPENJDK_TARGET_CPU_BITS}"
   6.667    ac_ext=cpp
   6.668  ac_cpp='$CXXCPP $CPPFLAGS'
   6.669  ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
   6.670 @@ -29878,6 +30097,27 @@
   6.671  
   6.672  
   6.673  
   6.674 +  # Check for broken SuSE 'ld' for which 'Only anonymous version tag is allowed in executable.'
   6.675 +  USING_BROKEN_SUSE_LD=no
   6.676 +  if test "x$OPENJDK_TARGET_OS" = xlinux && test "x$GCC" = xyes; then
   6.677 +    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for broken SuSE 'ld' which only understands anonymous version tags in executables" >&5
   6.678 +$as_echo_n "checking for broken SuSE 'ld' which only understands anonymous version tags in executables... " >&6; }
   6.679 +    echo "SUNWprivate_1.1 { local: *; };" > version-script.map
   6.680 +    echo "int main() { }" > main.c
   6.681 +    if $CXX -Xlinker -version-script=version-script.map main.c 2>&5 >&5; then
   6.682 +      { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
   6.683 +$as_echo "no" >&6; }
   6.684 +      USING_BROKEN_SUSE_LD=no
   6.685 +    else
   6.686 +      { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
   6.687 +$as_echo "yes" >&6; }
   6.688 +      USING_BROKEN_SUSE_LD=yes
   6.689 +    fi
   6.690 +    rm -rf version-script.map main.c
   6.691 +  fi
   6.692 +
   6.693 +
   6.694 +
   6.695  # Setup debug symbols (need objcopy from the toolchain for that)
   6.696  
   6.697    #
   6.698 @@ -30034,6 +30274,16 @@
   6.699  $as_echo "alsa pulse" >&6; }
   6.700    fi
   6.701  
   6.702 +  if test "x$OPENJDK_TARGET_OS" = xaix; then
   6.703 +    { $as_echo "$as_me:${as_lineno-$LINENO}: checking what is not needed on AIX?" >&5
   6.704 +$as_echo_n "checking what is not needed on AIX?... " >&6; }
   6.705 +    ALSA_NOT_NEEDED=yes
   6.706 +    PULSE_NOT_NEEDED=yes
   6.707 +    { $as_echo "$as_me:${as_lineno-$LINENO}: result: alsa pulse" >&5
   6.708 +$as_echo "alsa pulse" >&6; }
   6.709 +  fi
   6.710 +
   6.711 +
   6.712    if test "x$OPENJDK_TARGET_OS" = xwindows; then
   6.713      { $as_echo "$as_me:${as_lineno-$LINENO}: checking what is not needed on Windows?" >&5
   6.714  $as_echo_n "checking what is not needed on Windows?... " >&6; }
   6.715 @@ -30844,8 +31094,6 @@
   6.716          pkgutil_help $MISSING_DEPENDENCY ;;
   6.717        pkgadd)
   6.718          pkgadd_help  $MISSING_DEPENDENCY ;;
   6.719 -      * )
   6.720 -        break ;;
   6.721      esac
   6.722  
   6.723      if test "x$PKGHANDLER_COMMAND" != x; then
   6.724 @@ -30936,8 +31184,6 @@
   6.725          pkgutil_help $MISSING_DEPENDENCY ;;
   6.726        pkgadd)
   6.727          pkgadd_help  $MISSING_DEPENDENCY ;;
   6.728 -      * )
   6.729 -        break ;;
   6.730      esac
   6.731  
   6.732      if test "x$PKGHANDLER_COMMAND" != x; then
   6.733 @@ -31198,8 +31444,6 @@
   6.734          pkgutil_help $MISSING_DEPENDENCY ;;
   6.735        pkgadd)
   6.736          pkgadd_help  $MISSING_DEPENDENCY ;;
   6.737 -      * )
   6.738 -        break ;;
   6.739      esac
   6.740  
   6.741      if test "x$PKGHANDLER_COMMAND" != x; then
   6.742 @@ -33960,8 +34204,6 @@
   6.743          pkgutil_help $MISSING_DEPENDENCY ;;
   6.744        pkgadd)
   6.745          pkgadd_help  $MISSING_DEPENDENCY ;;
   6.746 -      * )
   6.747 -        break ;;
   6.748      esac
   6.749  
   6.750      if test "x$PKGHANDLER_COMMAND" != x; then
   6.751 @@ -34297,8 +34539,6 @@
   6.752          pkgutil_help $MISSING_DEPENDENCY ;;
   6.753        pkgadd)
   6.754          pkgadd_help  $MISSING_DEPENDENCY ;;
   6.755 -      * )
   6.756 -        break ;;
   6.757      esac
   6.758  
   6.759      if test "x$PKGHANDLER_COMMAND" != x; then
   6.760 @@ -34377,7 +34617,7 @@
   6.761      fi
   6.762  
   6.763      if test "x${with_alsa}" != x; then
   6.764 -      ALSA_LIBS="-L${with_alsa}/lib -lalsa"
   6.765 +      ALSA_LIBS="-L${with_alsa}/lib -lasound"
   6.766        ALSA_CFLAGS="-I${with_alsa}/include"
   6.767        ALSA_FOUND=yes
   6.768      fi
   6.769 @@ -34386,7 +34626,7 @@
   6.770        ALSA_FOUND=yes
   6.771      fi
   6.772      if test "x${with_alsa_lib}" != x; then
   6.773 -      ALSA_LIBS="-L${with_alsa_lib} -lalsa"
   6.774 +      ALSA_LIBS="-L${with_alsa_lib} -lasound"
   6.775        ALSA_FOUND=yes
   6.776      fi
   6.777      if test "x$ALSA_FOUND" = xno; then
   6.778 @@ -34650,8 +34890,6 @@
   6.779          pkgutil_help $MISSING_DEPENDENCY ;;
   6.780        pkgadd)
   6.781          pkgadd_help  $MISSING_DEPENDENCY ;;
   6.782 -      * )
   6.783 -        break ;;
   6.784      esac
   6.785  
   6.786      if test "x$PKGHANDLER_COMMAND" != x; then
   6.787 @@ -35454,6 +35692,9 @@
   6.788      # Looks like a MacOSX system
   6.789      NUM_CORES=`/usr/sbin/system_profiler -detailLevel full SPHardwareDataType | grep 'Cores' | awk  '{print $5}'`
   6.790      FOUND_CORES=yes
   6.791 +  elif test "x$OPENJDK_BUILD_OS" = xaix ; then
   6.792 +    NUM_CORES=`/usr/sbin/prtconf | grep "^Number Of Processors" | awk '{ print $4 }'`
   6.793 +    FOUND_CORES=yes
   6.794    elif test -n "$NUMBER_OF_PROCESSORS"; then
   6.795      # On windows, look in the env
   6.796      NUM_CORES=$NUMBER_OF_PROCESSORS
   6.797 @@ -35498,8 +35739,8 @@
   6.798      MEMORY_SIZE=`expr $MEMORY_SIZE / 1024`
   6.799      FOUND_MEM=yes
   6.800    elif test -x /usr/sbin/prtconf; then
   6.801 -    # Looks like a Solaris system
   6.802 -    MEMORY_SIZE=`/usr/sbin/prtconf | grep "Memory size" | awk '{ print $3 }'`
   6.803 +    # Looks like a Solaris or AIX system
   6.804 +    MEMORY_SIZE=`/usr/sbin/prtconf | grep "^Memory [Ss]ize" | awk '{ print $3 }'`
   6.805      FOUND_MEM=yes
   6.806    elif test -x /usr/sbin/system_profiler; then
   6.807      # Looks like a MacOSX system
   6.808 @@ -37410,8 +37651,6 @@
   6.809          pkgutil_help $MISSING_DEPENDENCY ;;
   6.810        pkgadd)
   6.811          pkgadd_help  $MISSING_DEPENDENCY ;;
   6.812 -      * )
   6.813 -        break ;;
   6.814      esac
   6.815  
   6.816      if test "x$PKGHANDLER_COMMAND" != x; then
     7.1 --- a/common/autoconf/help.m4	Mon May 19 21:34:00 2014 -0700
     7.2 +++ b/common/autoconf/help.m4	Thu May 29 10:50:00 2014 -0700
     7.3 @@ -52,8 +52,6 @@
     7.4          pkgutil_help $MISSING_DEPENDENCY ;;
     7.5        pkgadd)
     7.6          pkgadd_help  $MISSING_DEPENDENCY ;;
     7.7 -      * )
     7.8 -        break ;;
     7.9      esac
    7.10  
    7.11      if test "x$PKGHANDLER_COMMAND" != x; then
    7.12 @@ -92,8 +90,6 @@
    7.13  If you put the resulting build in \"C:\Program Files\GnuWin32\", it will be found automatically."
    7.14        fi
    7.15        ;;
    7.16 -    * )
    7.17 -      break ;;
    7.18    esac
    7.19  }
    7.20  
    7.21 @@ -119,8 +115,6 @@
    7.22        PKGHANDLER_COMMAND="sudo apt-get install libX11-dev libxext-dev libxrender-dev libxtst-dev libxt-dev" ;;
    7.23      ccache)
    7.24        PKGHANDLER_COMMAND="sudo apt-get install ccache" ;;
    7.25 -    * )
    7.26 -      break ;;
    7.27    esac
    7.28  }
    7.29  
    7.30 @@ -142,8 +136,6 @@
    7.31        PKGHANDLER_COMMAND="sudo yum install libXtst-devel libXt-devel libXrender-devel" ;;
    7.32      ccache)
    7.33        PKGHANDLER_COMMAND="sudo yum install ccache" ;;
    7.34 -    * )
    7.35 -      break ;;
    7.36    esac
    7.37  }
    7.38  
     8.1 --- a/common/autoconf/hotspot-spec.gmk.in	Mon May 19 21:34:00 2014 -0700
     8.2 +++ b/common/autoconf/hotspot-spec.gmk.in	Thu May 29 10:50:00 2014 -0700
     8.3 @@ -91,6 +91,11 @@
     8.4  ALT_OUTPUTDIR=$(HOTSPOT_OUTPUTDIR)
     8.5  ALT_EXPORT_PATH=$(HOTSPOT_DIST)
     8.6  
     8.7 +JVM_INTERPRETER:=@JVM_INTERPRETER@
     8.8 +ifeq ($(JVM_INTERPRETER), cpp)
     8.9 +  CC_INTERP=true
    8.10 +endif
    8.11 +
    8.12  HOTSPOT_MAKE_ARGS:=@HOTSPOT_MAKE_ARGS@ @STATIC_CXX_SETTING@
    8.13  # This is used from the libjvm build for C/C++ code.
    8.14  HOTSPOT_BUILD_JOBS:=$(JOBS)
     9.1 --- a/common/autoconf/jdk-options.m4	Mon May 19 21:34:00 2014 -0700
     9.2 +++ b/common/autoconf/jdk-options.m4	Thu May 29 10:50:00 2014 -0700
     9.3 @@ -51,6 +51,33 @@
     9.4    AC_MSG_RESULT([$JDK_VARIANT])
     9.5  ])
     9.6  
     9.7 +AC_DEFUN_ONCE([JDKOPT_SETUP_JVM_INTERPRETER],
     9.8 +[
     9.9 +###############################################################################
    9.10 +#
    9.11 +# Check which interpreter of the JVM we want to build.
    9.12 +# Currently we have:
    9.13 +#    template: Template interpreter (the default)
    9.14 +#    cpp     : C++ interpreter
    9.15 +AC_MSG_CHECKING([which interpreter of the JVM to build])
    9.16 +AC_ARG_WITH([jvm-interpreter], [AS_HELP_STRING([--with-jvm-interpreter],
    9.17 +	[JVM interpreter to build (template, cpp) @<:@template@:>@])])
    9.18 +
    9.19 +if test "x$with_jvm_interpreter" = x; then
    9.20 +     with_jvm_interpreter="template"
    9.21 +fi
    9.22 +
    9.23 +JVM_INTERPRETER="$with_jvm_interpreter"
    9.24 +
    9.25 +if test "x$JVM_INTERPRETER" != xtemplate && test "x$JVM_INTERPRETER" != xcpp; then
    9.26 +   AC_MSG_ERROR([The available JVM interpreters are: template, cpp])
    9.27 +fi
    9.28 +
    9.29 +AC_SUBST(JVM_INTERPRETER)
    9.30 +
    9.31 +AC_MSG_RESULT([$with_jvm_interpreter])
    9.32 +])
    9.33 +
    9.34  AC_DEFUN_ONCE([JDKOPT_SETUP_JVM_VARIANTS],
    9.35  [
    9.36  
    9.37 @@ -65,19 +92,20 @@
    9.38    #             ie normal interpreter and C1, only the serial GC, kernel jvmti etc
    9.39    #    zero: no machine code interpreter, no compiler
    9.40    #    zeroshark: zero interpreter and shark/llvm compiler backend
    9.41 +#    core: interpreter only, no compiler (only works on some platforms)
    9.42    AC_MSG_CHECKING([which variants of the JVM to build])
    9.43    AC_ARG_WITH([jvm-variants], [AS_HELP_STRING([--with-jvm-variants],
    9.44 -      [JVM variants (separated by commas) to build (server, client, minimal1, kernel, zero, zeroshark) @<:@server@:>@])])
    9.45 +	[JVM variants (separated by commas) to build (server, client, minimal1, kernel, zero, zeroshark, core) @<:@server@:>@])])
    9.46  
    9.47    if test "x$with_jvm_variants" = x; then
    9.48      with_jvm_variants="server"
    9.49    fi
    9.50  
    9.51    JVM_VARIANTS=",$with_jvm_variants,"
    9.52 -  TEST_VARIANTS=`$ECHO "$JVM_VARIANTS" | $SED -e 's/server,//' -e 's/client,//'  -e 's/minimal1,//' -e 's/kernel,//' -e 's/zero,//' -e 's/zeroshark,//'`
    9.53 +  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,//'`
    9.54  
    9.55    if test "x$TEST_VARIANTS" != "x,"; then
    9.56 -    AC_MSG_ERROR([The available JVM variants are: server, client, minimal1, kernel, zero, zeroshark])
    9.57 +     AC_MSG_ERROR([The available JVM variants are: server, client, minimal1, kernel, zero, zeroshark, core])
    9.58    fi
    9.59    AC_MSG_RESULT([$with_jvm_variants])
    9.60  
    9.61 @@ -87,6 +115,7 @@
    9.62    JVM_VARIANT_KERNEL=`$ECHO "$JVM_VARIANTS" | $SED -e '/,kernel,/!s/.*/false/g' -e '/,kernel,/s/.*/true/g'`
    9.63    JVM_VARIANT_ZERO=`$ECHO "$JVM_VARIANTS" | $SED -e '/,zero,/!s/.*/false/g' -e '/,zero,/s/.*/true/g'`
    9.64    JVM_VARIANT_ZEROSHARK=`$ECHO "$JVM_VARIANTS" | $SED -e '/,zeroshark,/!s/.*/false/g' -e '/,zeroshark,/s/.*/true/g'`
    9.65 +  JVM_VARIANT_CORE=`$ECHO "$JVM_VARIANTS" | $SED -e '/,core,/!s/.*/false/g' -e '/,core,/s/.*/true/g'`
    9.66  
    9.67    if test "x$JVM_VARIANT_CLIENT" = xtrue; then
    9.68      if test "x$OPENJDK_TARGET_CPU_BITS" = x64; then
    9.69 @@ -106,7 +135,7 @@
    9.70  
    9.71    # Replace the commas with AND for use in the build directory name.
    9.72    ANDED_JVM_VARIANTS=`$ECHO "$JVM_VARIANTS" | $SED -e 's/^,//' -e 's/,$//' -e 's/,/AND/'`
    9.73 -  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/'`
    9.74 +  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/'`
    9.75    if test "x$COUNT_VARIANTS" != "x,1"; then
    9.76      BUILDING_MULTIPLE_JVM_VARIANTS=yes
    9.77    else
    9.78 @@ -120,6 +149,7 @@
    9.79    AC_SUBST(JVM_VARIANT_KERNEL)
    9.80    AC_SUBST(JVM_VARIANT_ZERO)
    9.81    AC_SUBST(JVM_VARIANT_ZEROSHARK)
    9.82 +  AC_SUBST(JVM_VARIANT_CORE)
    9.83  
    9.84    INCLUDE_SA=true
    9.85    if test "x$JVM_VARIANT_ZERO" = xtrue ; then
    9.86 @@ -128,6 +158,9 @@
    9.87    if test "x$JVM_VARIANT_ZEROSHARK" = xtrue ; then
    9.88      INCLUDE_SA=false
    9.89    fi
    9.90 +  if test "x$VAR_CPU" = xppc64 ; then
    9.91 +    INCLUDE_SA=false
    9.92 +  fi
    9.93    AC_SUBST(INCLUDE_SA)
    9.94  
    9.95    if test "x$OPENJDK_TARGET_OS" = "xmacosx"; then
    9.96 @@ -236,6 +269,10 @@
    9.97      HOTSPOT_TARGET="$HOTSPOT_TARGET${HOTSPOT_DEBUG_LEVEL}shark "
    9.98    fi
    9.99  
   9.100 +  if test "x$JVM_VARIANT_CORE" = xtrue; then
   9.101 +    HOTSPOT_TARGET="$HOTSPOT_TARGET${HOTSPOT_DEBUG_LEVEL}core "
   9.102 +  fi
   9.103 +
   9.104    HOTSPOT_TARGET="$HOTSPOT_TARGET docs export_$HOTSPOT_EXPORT"
   9.105  
   9.106    # On Macosx universal binaries are produced, but they only contain
    10.1 --- a/common/autoconf/libraries.m4	Mon May 19 21:34:00 2014 -0700
    10.2 +++ b/common/autoconf/libraries.m4	Thu May 29 10:50:00 2014 -0700
    10.3 @@ -43,6 +43,14 @@
    10.4      AC_MSG_RESULT([alsa pulse])
    10.5    fi
    10.6  
    10.7 +  if test "x$OPENJDK_TARGET_OS" = xaix; then
    10.8 +    AC_MSG_CHECKING([what is not needed on AIX?])
    10.9 +    ALSA_NOT_NEEDED=yes
   10.10 +    PULSE_NOT_NEEDED=yes
   10.11 +    AC_MSG_RESULT([alsa pulse])
   10.12 +  fi
   10.13 +
   10.14 +
   10.15    if test "x$OPENJDK_TARGET_OS" = xwindows; then
   10.16      AC_MSG_CHECKING([what is not needed on Windows?])
   10.17      CUPS_NOT_NEEDED=yes
   10.18 @@ -554,7 +562,7 @@
   10.19      fi
   10.20  
   10.21      if test "x${with_alsa}" != x; then
   10.22 -      ALSA_LIBS="-L${with_alsa}/lib -lalsa"
   10.23 +      ALSA_LIBS="-L${with_alsa}/lib -lasound"
   10.24        ALSA_CFLAGS="-I${with_alsa}/include"
   10.25        ALSA_FOUND=yes
   10.26      fi
   10.27 @@ -563,7 +571,7 @@
   10.28        ALSA_FOUND=yes
   10.29      fi
   10.30      if test "x${with_alsa_lib}" != x; then
   10.31 -      ALSA_LIBS="-L${with_alsa_lib} -lalsa"
   10.32 +      ALSA_LIBS="-L${with_alsa_lib} -lasound"
   10.33        ALSA_FOUND=yes
   10.34      fi
   10.35      if test "x$ALSA_FOUND" = xno; then
    11.1 --- a/common/autoconf/platform.m4	Mon May 19 21:34:00 2014 -0700
    11.2 +++ b/common/autoconf/platform.m4	Thu May 29 10:50:00 2014 -0700
    11.3 @@ -60,6 +60,12 @@
    11.4        VAR_CPU_BITS=64
    11.5        VAR_CPU_ENDIAN=big
    11.6        ;;
    11.7 +    powerpc64le)
    11.8 +      VAR_CPU=ppc64
    11.9 +      VAR_CPU_ARCH=ppc
   11.10 +      VAR_CPU_BITS=64
   11.11 +      VAR_CPU_ENDIAN=little
   11.12 +      ;;
   11.13      s390)
   11.14        VAR_CPU=s390
   11.15        VAR_CPU_ARCH=s390
   11.16 @@ -126,6 +132,11 @@
   11.17        VAR_OS_API=winapi
   11.18        VAR_OS_ENV=windows.msys
   11.19        ;;
   11.20 +    *aix*)
   11.21 +      VAR_OS=aix
   11.22 +      VAR_OS_API=posix
   11.23 +      VAR_OS_ENV=aix
   11.24 +      ;;
   11.25      *)
   11.26        AC_MSG_ERROR([unsupported operating system $1])
   11.27        ;;
   11.28 @@ -432,9 +443,9 @@
   11.29    # keep track of these additions in ADDED_CFLAGS etc. These
   11.30    # will later be checked to make sure only controlled additions
   11.31    # have been made to CFLAGS etc.
   11.32 -  ADDED_CFLAGS=" -m${OPENJDK_TARGET_CPU_BITS}"
   11.33 -  ADDED_CXXFLAGS=" -m${OPENJDK_TARGET_CPU_BITS}"
   11.34 -  ADDED_LDFLAGS=" -m${OPENJDK_TARGET_CPU_BITS}"
   11.35 +  ADDED_CFLAGS=" ${COMPILER_TARGET_BITS_FLAG}${OPENJDK_TARGET_CPU_BITS}"
   11.36 +  ADDED_CXXFLAGS=" ${COMPILER_TARGET_BITS_FLAG}${OPENJDK_TARGET_CPU_BITS}"
   11.37 +  ADDED_LDFLAGS=" ${COMPILER_TARGET_BITS_FLAG}${OPENJDK_TARGET_CPU_BITS}"
   11.38  
   11.39    CFLAGS="${CFLAGS}${ADDED_CFLAGS}"
   11.40    CXXFLAGS="${CXXFLAGS}${ADDED_CXXFLAGS}"
   11.41 @@ -454,8 +465,9 @@
   11.42    # is made at runtime.)
   11.43    #
   11.44  
   11.45 -  if test "x$OPENJDK_TARGET_OS" = xsolaris; then
   11.46 -    # Always specify -m flags on Solaris
   11.47 +  if test "x$OPENJDK_TARGET_OS" = xsolaris || test "x$OPENJDK_TARGET_OS" = xaix; then
   11.48 +    # Always specify -m flag on Solaris
   11.49 +    # And -q on AIX because otherwise the compiler produces 32-bit objects by default
   11.50      PLATFORM_SET_COMPILER_TARGET_BITS_FLAGS
   11.51    elif test "x$COMPILE_TYPE" = xreduced; then
   11.52      if test "x$OPENJDK_TARGET_OS" != xwindows; then
   11.53 @@ -477,19 +489,34 @@
   11.54  
   11.55    AC_CHECK_SIZEOF([int *], [1111])
   11.56  
   11.57 -  if test "x$SIZEOF_INT_P" != "x$ac_cv_sizeof_int_p"; then
   11.58 -    # Workaround autoconf bug, see http://lists.gnu.org/archive/html/autoconf/2010-07/msg00004.html
   11.59 -    SIZEOF_INT_P="$ac_cv_sizeof_int_p"
   11.60 -  fi
   11.61 -
   11.62 -  if test "x$SIZEOF_INT_P" = x; then
   11.63 +  # AC_CHECK_SIZEOF defines 'ac_cv_sizeof_int_p' to hold the number of bytes used by an 'int*'
   11.64 +  if test "x$ac_cv_sizeof_int_p" = x; then
   11.65      # The test failed, lets stick to the assumed value.
   11.66      AC_MSG_WARN([The number of bits in the target could not be determined, using $OPENJDK_TARGET_CPU_BITS.])
   11.67    else
   11.68 -    TESTED_TARGET_CPU_BITS=`expr 8 \* $SIZEOF_INT_P`
   11.69 +    TESTED_TARGET_CPU_BITS=`expr 8 \* $ac_cv_sizeof_int_p`
   11.70  
   11.71      if test "x$TESTED_TARGET_CPU_BITS" != "x$OPENJDK_TARGET_CPU_BITS"; then
   11.72 -      AC_MSG_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)])
   11.73 +      # This situation may happen on 64-bit platforms where the compiler by default only generates 32-bit objects
   11.74 +      # Let's try to implicitely set the compilers target architecture and retry the test
   11.75 +      AC_MSG_NOTICE([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).])
   11.76 +      AC_MSG_NOTICE([I'll retry after setting the platforms compiler target bits flag to ${COMPILER_TARGET_BITS_FLAG}${OPENJDK_TARGET_CPU_BITS}])
   11.77 +      PLATFORM_SET_COMPILER_TARGET_BITS_FLAGS
   11.78 +
   11.79 +      # We have to unset 'ac_cv_sizeof_int_p' first, otherwise AC_CHECK_SIZEOF will use the previously cached value!
   11.80 +      unset ac_cv_sizeof_int_p
   11.81 +      # And we have to undef the definition of SIZEOF_INT_P in confdefs.h by the previous invocation of AC_CHECK_SIZEOF
   11.82 +      cat >>confdefs.h <<_ACEOF
   11.83 +#undef SIZEOF_INT_P
   11.84 +_ACEOF
   11.85 +
   11.86 +      AC_CHECK_SIZEOF([int *], [1111])
   11.87 +
   11.88 +      TESTED_TARGET_CPU_BITS=`expr 8 \* $ac_cv_sizeof_int_p`
   11.89 +
   11.90 +      if test "x$TESTED_TARGET_CPU_BITS" != "x$OPENJDK_TARGET_CPU_BITS"; then
   11.91 +        AC_MSG_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)])
   11.92 +      fi
   11.93      fi
   11.94    fi
   11.95  
    12.1 --- a/common/autoconf/spec.gmk.in	Mon May 19 21:34:00 2014 -0700
    12.2 +++ b/common/autoconf/spec.gmk.in	Thu May 29 10:50:00 2014 -0700
    12.3 @@ -208,6 +208,7 @@
    12.4  JVM_VARIANT_KERNEL:=@JVM_VARIANT_KERNEL@
    12.5  JVM_VARIANT_ZERO:=@JVM_VARIANT_ZERO@
    12.6  JVM_VARIANT_ZEROSHARK:=@JVM_VARIANT_ZEROSHARK@
    12.7 +JVM_VARIANT_CORE:=@JVM_VARIANT_CORE@
    12.8  
    12.9  # Universal binaries on macosx
   12.10  MACOSX_UNIVERSAL=@MACOSX_UNIVERSAL@
   12.11 @@ -297,6 +298,8 @@
   12.12  COMPILER_TYPE:=@COMPILER_TYPE@
   12.13  COMPILER_NAME:=@COMPILER_NAME@
   12.14  
   12.15 +# Option used to tell the compiler whether to create 32- or 64-bit executables
   12.16 +COMPILER_TARGET_BITS_FLAG:=@COMPILER_TARGET_BITS_FLAG@
   12.17  COMPILER_SUPPORTS_TARGET_BITS_FLAG=@COMPILER_SUPPORTS_TARGET_BITS_FLAG@
   12.18  
   12.19  CC_OUT_OPTION:=@CC_OUT_OPTION@
   12.20 @@ -340,6 +343,11 @@
   12.21  # The linker can be gcc or ld on posix systems, or link.exe on windows systems.
   12.22  LD:=@FIXPATH@ @LD@
   12.23  
   12.24 +# The linker on older SuSE distros (e.g. on SLES 10) complains with:
   12.25 +# "Invalid version tag `SUNWprivate_1.1'. Only anonymous version tag is allowed in executable."
   12.26 +# if feeded with a version script which contains named tags.
   12.27 +USING_BROKEN_SUSE_LD:=@USING_BROKEN_SUSE_LD@
   12.28 +
   12.29  # LDFLAGS used to link the jdk native libraries (C-code)
   12.30  LDFLAGS_JDKLIB:=@LDFLAGS_JDKLIB@
   12.31  LDFLAGS_JDKLIB_SUFFIX:=@LDFLAGS_JDKLIB_SUFFIX@
    13.1 --- a/common/autoconf/toolchain.m4	Mon May 19 21:34:00 2014 -0700
    13.2 +++ b/common/autoconf/toolchain.m4	Thu May 29 10:50:00 2014 -0700
    13.3 @@ -44,6 +44,15 @@
    13.4        COMPILER_VERSION=`$ECHO $COMPILER_VERSION_TEST | $SED -n "s/^.*@<:@ ,\t@:>@$COMPILER_NAME@<:@ ,\t@:>@\(@<:@1-9@:>@\.@<:@0-9@:>@@<:@0-9@:>@*\).*/\1/p"`
    13.5        COMPILER_VENDOR="Sun Studio"
    13.6      fi
    13.7 +  elif test  "x$OPENJDK_TARGET_OS" = xaix; then
    13.8 +      COMPILER_VERSION_TEST=`$COMPILER -qversion  2>&1 | $TAIL -n 1`
    13.9 +      $ECHO $COMPILER_VERSION_TEST | $GREP "^Version: " > /dev/null
   13.10 +      if test $? -ne 0; then
   13.11 +        AC_MSG_ERROR([Failed to detect the compiler version of $COMPILER ....])
   13.12 +      else
   13.13 +        COMPILER_VERSION=`$ECHO $COMPILER_VERSION_TEST | $SED -n 's/Version: \([0-9][0-9]\.[0-9][0-9]*\).*/\1/p'`
   13.14 +        COMPILER_VENDOR='IBM'
   13.15 +      fi
   13.16    elif test  "x$OPENJDK_TARGET_OS" = xwindows; then
   13.17      # First line typically looks something like:
   13.18      # Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 16.00.40219.01 for 80x86
   13.19 @@ -137,10 +146,14 @@
   13.20      AC_MSG_ERROR([Could not find a $COMPILER_NAME compiler. $HELP_MSG])
   13.21    fi
   13.22    BASIC_FIXUP_EXECUTABLE($1)
   13.23 -  AC_MSG_CHECKING([resolved symbolic links for $1])
   13.24    TEST_COMPILER="[$]$1"
   13.25 -  BASIC_REMOVE_SYMBOLIC_LINKS(TEST_COMPILER)
   13.26 -  AC_MSG_RESULT([$TEST_COMPILER])
   13.27 +  # Don't remove symbolic links on AIX because 'xlc_r' and 'xlC_r' may all be links
   13.28 +  # to 'xlc' but it is crucial that we invoke the compiler with the right name!
   13.29 +  if test "x$OPENJDK_BUILD_OS" != xaix; then
   13.30 +    AC_MSG_CHECKING([resolved symbolic links for $1])
   13.31 +    BASIC_REMOVE_SYMBOLIC_LINKS(TEST_COMPILER)
   13.32 +    AC_MSG_RESULT([$TEST_COMPILER])
   13.33 +  fi
   13.34    AC_MSG_CHECKING([if $1 is disguised ccache])
   13.35  
   13.36    COMPILER_BASENAME=`$BASENAME "$TEST_COMPILER"`
   13.37 @@ -254,6 +267,9 @@
   13.38      COMPILER_CHECK_LIST="cl"
   13.39    elif test "x$OPENJDK_TARGET_OS" = "xsolaris"; then
   13.40      COMPILER_CHECK_LIST="cc gcc"
   13.41 +  elif test "x$OPENJDK_TARGET_OS" = "xaix"; then
   13.42 +    # Do not probe for cc on AIX.
   13.43 +    COMPILER_CHECK_LIST="xlc_r"
   13.44    else
   13.45      COMPILER_CHECK_LIST="gcc cc"
   13.46    fi
   13.47 @@ -262,6 +278,14 @@
   13.48    # Now that we have resolved CC ourself, let autoconf have its go at it
   13.49    AC_PROG_CC([$CC])
   13.50  
   13.51 +  # Option used to tell the compiler whether to create 32- or 64-bit executables
   13.52 +  # Notice that CC contains the full compiler path at this point.
   13.53 +  case $CC in
   13.54 +    *xlc_r) COMPILER_TARGET_BITS_FLAG="-q";;
   13.55 +    *)      COMPILER_TARGET_BITS_FLAG="-m";;
   13.56 +  esac
   13.57 +  AC_SUBST(COMPILER_TARGET_BITS_FLAG)
   13.58 +
   13.59    ### Locate C++ compiler (CXX)
   13.60  
   13.61    if test "x$CXX" != x; then
   13.62 @@ -270,6 +294,9 @@
   13.63      COMPILER_CHECK_LIST="cl"
   13.64    elif test "x$OPENJDK_TARGET_OS" = "xsolaris"; then
   13.65      COMPILER_CHECK_LIST="CC g++"
   13.66 +  elif test "x$OPENJDK_TARGET_OS" = "xaix"; then
   13.67 +    # Do not probe for CC on AIX .
   13.68 +    COMPILER_CHECK_LIST="xlC_r"
   13.69    else
   13.70      COMPILER_CHECK_LIST="g++ CC"
   13.71    fi
   13.72 @@ -311,6 +338,8 @@
   13.73    fi
   13.74    if test "x$OPENJDK_TARGET_OS" = xmacosx; then
   13.75      ARFLAGS="-r"
   13.76 +  elif test "x$OPENJDK_TARGET_OS" = xaix; then
   13.77 +    ARFLAGS="-X64"
   13.78    else
   13.79      ARFLAGS=""
   13.80    fi
   13.81 @@ -554,6 +583,29 @@
   13.82        POST_STRIP_CMD="$STRIP -x"
   13.83        POST_MCS_CMD="$MCS -d -a \"JDK $FULL_VERSION\""
   13.84      fi
   13.85 +    if test "x$OPENJDK_TARGET_OS" = xaix; then
   13.86 +        COMPILER_NAME=xlc
   13.87 +        PICFLAG="-qpic=large"
   13.88 +        LIBRARY_PREFIX=lib
   13.89 +        SHARED_LIBRARY='lib[$]1.so'
   13.90 +        STATIC_LIBRARY='lib[$]1.a'
   13.91 +        SHARED_LIBRARY_FLAGS="-qmkshrobj"
   13.92 +        SHARED_LIBRARY_SUFFIX='.so'
   13.93 +        STATIC_LIBRARY_SUFFIX='.a'
   13.94 +        OBJ_SUFFIX='.o'
   13.95 +        EXE_SUFFIX=''
   13.96 +        SET_SHARED_LIBRARY_NAME=''
   13.97 +        SET_SHARED_LIBRARY_MAPFILE=''
   13.98 +        C_FLAG_REORDER=''
   13.99 +        CXX_FLAG_REORDER=''
  13.100 +        SET_SHARED_LIBRARY_ORIGIN=''
  13.101 +        SET_EXECUTABLE_ORIGIN=""
  13.102 +        CFLAGS_JDK=""
  13.103 +        CXXFLAGS_JDK=""
  13.104 +        CFLAGS_JDKLIB_EXTRA=''
  13.105 +        POST_STRIP_CMD="$STRIP -X32_64"
  13.106 +        POST_MCS_CMD=""
  13.107 +    fi
  13.108      if test "x$OPENJDK_TARGET_OS" = xwindows; then
  13.109        # If it is not gcc, then assume it is the MS Visual Studio compiler
  13.110        COMPILER_NAME=cl
  13.111 @@ -730,6 +782,24 @@
  13.112  
  13.113            CFLAGS_DEBUG_SYMBOLS="-g -xs"
  13.114            CXXFLAGS_DEBUG_SYMBOLS="-g0 -xs"
  13.115 +          ;;
  13.116 +        xlc )
  13.117 +          C_FLAG_DEPS="-qmakedep=gcc -MF"
  13.118 +          CXX_FLAG_DEPS="-qmakedep=gcc -MF"
  13.119 +          C_O_FLAG_HIGHEST="-O3"
  13.120 +          C_O_FLAG_HI="-O3 -qstrict"
  13.121 +          C_O_FLAG_NORM="-O2"
  13.122 +          C_O_FLAG_NONE=""
  13.123 +          CXX_O_FLAG_HIGHEST="-O3"
  13.124 +          CXX_O_FLAG_HI="-O3 -qstrict"
  13.125 +          CXX_O_FLAG_NORM="-O2"
  13.126 +          CXX_O_FLAG_NONE=""
  13.127 +          CFLAGS_DEBUG_SYMBOLS="-g"
  13.128 +          CXXFLAGS_DEBUG_SYMBOLS="-g"
  13.129 +          LDFLAGS_JDK="${LDFLAGS_JDK} -q64 -brtl -bnolibpath -liconv -bexpall"
  13.130 +          CFLAGS_JDK="${CFLAGS_JDK} -qchars=signed -q64 -qfullpath -qsaveopt"
  13.131 +          CXXFLAGS_JDK="${CXXFLAGS_JDK} -qchars=signed -q64 -qfullpath -qsaveopt"
  13.132 +          ;;
  13.133        esac
  13.134        ;;
  13.135      CL )
  13.136 @@ -840,6 +910,13 @@
  13.137        LDFLAGS_JDK="$LDFLAGS_JDK -z defs -xildoff -ztext"
  13.138        LDFLAGS_CXX_JDK="$LDFLAGS_CXX_JDK -norunpath -xnolib"
  13.139        ;;
  13.140 +    xlc )
  13.141 +      CFLAGS_JDK="$CFLAGS_JDK -D_GNU_SOURCE -D_REENTRANT -D_LARGEFILE64_SOURCE -DSTDC"
  13.142 +      CXXFLAGS_JDK="$CXXFLAGS_JDK -D_GNU_SOURCE -D_REENTRANT -D_LARGEFILE64_SOURCE -DSTDC"
  13.143 +
  13.144 +      LDFLAGS_JDK="$LDFLAGS_JDK"
  13.145 +      LDFLAGS_CXX_JDK="$LDFLAGS_CXX_JDK"
  13.146 +      ;;
  13.147      cl )
  13.148        CCXXFLAGS_JDK="$CCXXFLAGS $CCXXFLAGS_JDK -Zi -MD -Zc:wchar_t- -W3 -wd4800 \
  13.149        -D_STATIC_CPPLIB -D_DISABLE_DEPRECATE_STATIC_CPPLIB -DWIN32_LEAN_AND_MEAN \
  13.150 @@ -909,6 +986,9 @@
  13.151    if test "x$OPENJDK_TARGET_OS" = xsolaris; then
  13.152      CCXXFLAGS_JDK="$CCXXFLAGS_JDK -DSOLARIS"
  13.153    fi
  13.154 +  if test "x$OPENJDK_TARGET_OS" = xaix; then
  13.155 +    CCXXFLAGS_JDK="$CCXXFLAGS_JDK -DAIX -DPPC64"
  13.156 +  fi
  13.157    if test "x$OPENJDK_TARGET_OS" = xmacosx; then
  13.158      CCXXFLAGS_JDK="$CCXXFLAGS_JDK -DMACOSX -D_ALLBSD_SOURCE -D_DARWIN_UNLIMITED_SELECT"
  13.159      # Setting these parameters makes it an error to link to macosx APIs that are
  13.160 @@ -1076,20 +1156,38 @@
  13.161    # ZERO_ARCHFLAG tells the compiler which mode to build for
  13.162    case "${OPENJDK_TARGET_CPU}" in
  13.163      s390)
  13.164 -      ZERO_ARCHFLAG="-m31"
  13.165 +      ZERO_ARCHFLAG="${COMPILER_TARGET_BITS_FLAG}31"
  13.166        ;;
  13.167      *)
  13.168 -      ZERO_ARCHFLAG="-m${OPENJDK_TARGET_CPU_BITS}"
  13.169 +      ZERO_ARCHFLAG="${COMPILER_TARGET_BITS_FLAG}${OPENJDK_TARGET_CPU_BITS}"
  13.170    esac
  13.171    TOOLCHAIN_COMPILER_CHECK_ARGUMENTS([$ZERO_ARCHFLAG], [], [ZERO_ARCHFLAG=""])
  13.172    AC_SUBST(ZERO_ARCHFLAG)
  13.173  
  13.174 -  # Check that the compiler supports -mX flags
  13.175 +  # Check that the compiler supports -mX (or -qX on AIX) flags
  13.176    # Set COMPILER_SUPPORTS_TARGET_BITS_FLAG to 'true' if it does
  13.177 -  TOOLCHAIN_COMPILER_CHECK_ARGUMENTS([-m${OPENJDK_TARGET_CPU_BITS}],
  13.178 +  TOOLCHAIN_COMPILER_CHECK_ARGUMENTS([${COMPILER_TARGET_BITS_FLAG}${OPENJDK_TARGET_CPU_BITS}],
  13.179        [COMPILER_SUPPORTS_TARGET_BITS_FLAG=true],
  13.180        [COMPILER_SUPPORTS_TARGET_BITS_FLAG=false])
  13.181    AC_SUBST(COMPILER_SUPPORTS_TARGET_BITS_FLAG)
  13.182 +
  13.183 +
  13.184 +  # Check for broken SuSE 'ld' for which 'Only anonymous version tag is allowed in executable.'
  13.185 +  USING_BROKEN_SUSE_LD=no
  13.186 +  if test "x$OPENJDK_TARGET_OS" = xlinux && test "x$GCC" = xyes; then
  13.187 +    AC_MSG_CHECKING([for broken SuSE 'ld' which only understands anonymous version tags in executables])
  13.188 +    echo "SUNWprivate_1.1 { local: *; };" > version-script.map
  13.189 +    echo "int main() { }" > main.c
  13.190 +    if $CXX -Xlinker -version-script=version-script.map main.c 2>&AS_MESSAGE_LOG_FD >&AS_MESSAGE_LOG_FD; then
  13.191 +      AC_MSG_RESULT(no)
  13.192 +      USING_BROKEN_SUSE_LD=no
  13.193 +    else
  13.194 +      AC_MSG_RESULT(yes)
  13.195 +      USING_BROKEN_SUSE_LD=yes
  13.196 +    fi
  13.197 +    rm -rf version-script.map main.c
  13.198 +  fi
  13.199 +  AC_SUBST(USING_BROKEN_SUSE_LD)
  13.200  ])
  13.201  
  13.202  # Setup the JTREG paths
    14.1 --- a/make/Javadoc.gmk	Mon May 19 21:34:00 2014 -0700
    14.2 +++ b/make/Javadoc.gmk	Thu May 29 10:50:00 2014 -0700
    14.3 @@ -72,6 +72,7 @@
    14.4  TREEAPI_FIRST_COPYRIGHT_YEAR = 2005
    14.5  JNLP_FIRST_COPYRIGHT_YEAR = 1998
    14.6  PLUGIN2_FIRST_COPYRIGHT_YEAR = 2007
    14.7 +JDKNET_FIRST_COPYRIGHT_YEAR = 2014
    14.8  
    14.9  # Oracle name
   14.10  FULL_COMPANY_NAME = Oracle and/or its affiliates
   14.11 @@ -102,10 +103,7 @@
   14.12  DOCSDIR_URL = {@docroot}/$(GET2DOCSDIR)
   14.13  
   14.14  # Url to copyright html file
   14.15 -COPYRIGHT_URL-7 = $(DOCSDIR_URL)/legal/cpyr.html
   14.16 -# This isn't added in old build yet.
   14.17 -#COPYRIGHT_URL-8 = $(DOCSDIR_URL)/legal/cpyr.html
   14.18 -COPYRIGHT_URL = $(COPYRIGHT_URL-$(JDK_MINOR_VERSION))
   14.19 +COPYRIGHT_URL = $(DOCSDIR_URL)/legal/cpyr.html
   14.20  
   14.21  # Url to bug filing site
   14.22  BUG_SUBMIT_URL = http://bugreport.sun.com/bugreport/
   14.23 @@ -1147,6 +1145,57 @@
   14.24  
   14.25  #############################################################
   14.26  #
   14.27 +# jdk.net docs
   14.28 +#
   14.29 +
   14.30 +ALL_OTHER_TARGETS += jdknetdocs
   14.31 +
   14.32 +JDKNET_DOCDIR := $(JRE_API_DOCSDIR)/net/socketoptions/spec
   14.33 +JDKNET2COREAPI := ../../../$(JDKJRE2COREAPI)
   14.34 +JDKNET_DOCTITLE := jdk.net API
   14.35 +JDKNET_WINDOWTITLE := jdk.net API
   14.36 +JDKNET_HEADER := <strong>jdk.net API</strong>
   14.37 +JDKNET_BOTTOM := $(call CommonBottom,$(JDKNET_FIRST_COPYRIGHT_YEAR))
   14.38 +JDKNET_PKGS := jdk.net
   14.39 +
   14.40 +JDKNET_INDEX_HTML = $(JDKNET_DOCDIR)/index.html
   14.41 +JDKNET_OPTIONS_FILE = $(DOCSTMPDIR)/jdknet.options
   14.42 +JDKNET_PACKAGES_FILE = $(DOCSTMPDIR)/jdknet.packages
   14.43 +
   14.44 +jdknetdocs: $(JDKNET_INDEX_HTML)
   14.45 +
   14.46 +# Set relative location to core api document root
   14.47 +$(JDKNET_INDEX_HTML): GET2DOCSDIR=$(JDKNET2COREAPI)/..
   14.48 +
   14.49 +# Run javadoc if the index file is out of date or missing
   14.50 +$(JDKNET_INDEX_HTML): $(JDKNET_OPTIONS_FILE) $(JDKNET_PACKAGES_FILE) coredocs
   14.51 +	$(prep-javadoc)
   14.52 +	$(call JavadocSummary,$(JDKNET_OPTIONS_FILE),$(JDKNET_PACKAGES_FILE))
   14.53 +	$(JAVADOC_CMD) -d $(@D) \
   14.54 +	    @$(JDKNET_OPTIONS_FILE) @$(JDKNET_PACKAGES_FILE)
   14.55 +
   14.56 +# Create file with javadoc options in it
   14.57 +$(JDKNET_OPTIONS_FILE):
   14.58 +	$(prep-target)
   14.59 +	@($(call OptionOnly,$(COMMON_JAVADOCFLAGS)) ; \
   14.60 +	  $(call OptionOnly,-Xdoclint:none) ; \
   14.61 +	  $(call OptionPair,-sourcepath,$(RELEASEDOCS_SOURCEPATH)) ; \
   14.62 +	  $(call OptionPair,-encoding,ascii) ; \
   14.63 +	  $(call OptionOnly,-nodeprecatedlist) ; \
   14.64 +	  $(call OptionPair,-doctitle,$(JDKNET_DOCTITLE)) ; \
   14.65 +	  $(call OptionPair,-windowtitle,$(JDKNET_WINDOWTITLE) $(DRAFT_WINTITLE)); \
   14.66 +	  $(call OptionPair,-header,$(JDKNET_HEADER)$(DRAFT_HEADER)); \
   14.67 +	  $(call OptionPair,-bottom,$(JDKNET_BOTTOM)$(DRAFT_BOTTOM)); \
   14.68 +	  $(call OptionTrip,-linkoffline,$(JDKNET2COREAPI),$(COREAPI_DOCSDIR)/); \
   14.69 +	) >> $@
   14.70 +
   14.71 +# Create a file with the package names in it
   14.72 +$(JDKNET_PACKAGES_FILE): $(DIRECTORY_CACHE) $(call PackageDependencies,$(JDKNET_PKGS))
   14.73 +	$(prep-target)
   14.74 +	$(call PackageFilter,$(JDKNET_PKGS))
   14.75 +
   14.76 +#############################################################
   14.77 +#
   14.78  # Get a cache of all the directories
   14.79  
   14.80  $(DIRECTORY_CACHE): $(ALL_EXISTING_SOURCE_DIRS)
    15.1 --- a/make/common/JavaCompilation.gmk	Mon May 19 21:34:00 2014 -0700
    15.2 +++ b/make/common/JavaCompilation.gmk	Thu May 29 10:50:00 2014 -0700
    15.3 @@ -163,11 +163,12 @@
    15.4  
    15.5    # The capture contents macro finds all files (matching the patterns, typically
    15.6    # .class and .prp) that are newer than the jar-file, ie the new content to be put into the jar.
    15.7 +  # NOTICE: please leave the parentheses space separated otherwise the AIX build will break!
    15.8    $1_CAPTURE_CONTENTS=$$(foreach src,$$($1_SRCS), \
    15.9 -      (($(FIND) $$(src) -type f -a \( $$($1_FIND_PATTERNS) \) -a -newer $$@ $$($1_GREP_INCLUDES) \
   15.10 +      ( ( $(FIND) $$(src) -type f -a \( $$($1_FIND_PATTERNS) \) -a -newer $$@ $$($1_GREP_INCLUDES) \
   15.11            $$($1_GREP_EXCLUDES) | $(SED) 's|$$(src)/||g' && \
   15.12 -      $(ECHO) $$(subst $$(src)/,,$$($1_EXTRA_FILES))) > \
   15.13 -      $$(src)/_the.$$($1_JARNAME)_contents) $$(NEWLINE))
   15.14 +      $(ECHO) $$(subst $$(src)/,,$$($1_EXTRA_FILES) ) ) > \
   15.15 +      $$(src)/_the.$$($1_JARNAME)_contents) $$(NEWLINE) )
   15.16    # The capture metainf macro finds all files below the META-INF directory that are newer than the jar-file.
   15.17    ifeq (,$$($1_SKIP_METAINF))
   15.18      $1_CAPTURE_METAINF =$$(foreach src,$$($1_SRCS),($(FIND) $$(src)/META-INF -type f -a -newer $$@ 2> /dev/null | $(SED) 's|$$(src)/||g' >> $$(src)/_the.$$($1_JARNAME)_contents ) $$(NEWLINE))
   15.19 @@ -176,19 +177,20 @@
   15.20    # tells us what to remove from the jar-file.
   15.21    $1_CAPTURE_DELETES=$$(foreach src,$$($1_SRCS),($(FIND) $$(src) -name _the.package.deleted -newer $$@ -exec $(SED) 's|$$(src)||g' \{\} >> $$($1_DELETES_FILE) \;) $$(NEWLINE))
   15.22    # The update contents macro updates the jar file with the previously capture contents.
   15.23 -  # xargs is used to trim the whitespace from the contents file, to see if it is empty.
   15.24 +  # Use 'wc -w' to see if the contents file is empty.
   15.25    $1_UPDATE_CONTENTS=$$(foreach src,$$($1_SRCS), \
   15.26        (cd $$(src) && \
   15.27 -       if [ -n "`$(CAT) _the.$$($1_JARNAME)_contents | $(XARGS)`" ]; then \
   15.28 +       if [ "`$(WC) -w _the.$$($1_JARNAME)_contents | $(AWK) '{ print $$$$1 }'`" -gt "0" ]; then \
   15.29           $(ECHO) "  updating" `$(WC) -l _the.$$($1_JARNAME)_contents | $(AWK) '{ print $$$$1 }'` files && \
   15.30           $(JAR) $$($1_JAR_UPDATE_OPTIONS) $$@ @_the.$$($1_JARNAME)_contents; \
   15.31         fi) $$(NEWLINE))
   15.32    # The s-variants of the above macros are used when the jar is created from scratch.
   15.33 +  # NOTICE: please leave the parentheses space separated otherwise the AIX build will break!
   15.34    $1_SCAPTURE_CONTENTS=$$(foreach src,$$($1_SRCS), \
   15.35 -      (($(FIND) $$(src) -type f -a \( $$($1_FIND_PATTERNS) \) $$($1_GREP_INCLUDES) \
   15.36 +      ( ( $(FIND) $$(src) -type f -a \( $$($1_FIND_PATTERNS) \) $$($1_GREP_INCLUDES) \
   15.37            $$($1_GREP_EXCLUDES) | $(SED) 's|$$(src)/||g' && \
   15.38 -      $$(subst $$(src)/,,$(ECHO) $$($1_EXTRA_FILES))) > \
   15.39 -      $$(src)/_the.$$($1_JARNAME)_contents) $$(NEWLINE))
   15.40 +      $$(subst $$(src)/,,$(ECHO) $$($1_EXTRA_FILES) ) ) > \
   15.41 +      $$(src)/_the.$$($1_JARNAME)_contents) $$(NEWLINE) )
   15.42  
   15.43    ifeq (,$$($1_SKIP_METAINF))
   15.44      $1_SCAPTURE_METAINF=$$(foreach src,$$($1_SRCS), \
   15.45 @@ -527,16 +529,16 @@
   15.46      # When building in batch, put headers in a temp dir to filter out those that actually
   15.47      # changed before copying them to the real header dir.
   15.48      ifneq (,$$($1_HEADERS))
   15.49 -      $1_HEADERS_ARG := -h $$($1_HEADERS).tmp
   15.50 +      $1_HEADERS_ARG := -h $$($1_HEADERS).$1.tmp
   15.51  
   15.52        $$($1_HEADERS)/_the.$1_headers: $$($1_BIN)/_the.$1_batch
   15.53  		$(MKDIR) -p $$(@D)
   15.54 -		for f in `ls $$($1_HEADERS).tmp`; do \
   15.55 -		  if [ ! -f "$$($1_HEADERS)/$$$$f" ] || [ "`$(DIFF) $$($1_HEADERS)/$$$$f $$($1_HEADERS).tmp/$$$$f`" != "" ]; then \
   15.56 -		    $(CP) -f $$($1_HEADERS).tmp/$$$$f $$($1_HEADERS)/$$$$f; \
   15.57 +		for f in `ls $$($1_HEADERS).$1.tmp`; do \
   15.58 +		  if [ ! -f "$$($1_HEADERS)/$$$$f" ] || [ "`$(DIFF) $$($1_HEADERS)/$$$$f $$($1_HEADERS).$1.tmp/$$$$f`" != "" ]; then \
   15.59 +		    $(CP) -f $$($1_HEADERS).$1.tmp/$$$$f $$($1_HEADERS)/$$$$f; \
   15.60  		  fi; \
   15.61  		done
   15.62 -		$(RM) -r $$($1_HEADERS).tmp
   15.63 +		$(RM) -r $$($1_HEADERS).$1.tmp
   15.64  		$(TOUCH) $$@
   15.65  
   15.66        $1 += $$($1_HEADERS)/_the.$1_headers
    16.1 --- a/make/common/NON_CORE_PKGS.gmk	Mon May 19 21:34:00 2014 -0700
    16.2 +++ b/make/common/NON_CORE_PKGS.gmk	Thu May 29 10:50:00 2014 -0700
    16.3 @@ -94,7 +94,8 @@
    16.4        com.apple.eio
    16.5  endif
    16.6  
    16.7 -JDK_PKGS = jdk
    16.8 +JDK_PKGS = jdk \
    16.9 +     jdk.net
   16.10  
   16.11  # non-core packages in rt.jar
   16.12  NON_CORE_PKGS = $(DOMAPI_PKGS) \
    17.1 --- a/make/common/NativeCompilation.gmk	Mon May 19 21:34:00 2014 -0700
    17.2 +++ b/make/common/NativeCompilation.gmk	Thu May 29 10:50:00 2014 -0700
    17.3 @@ -501,7 +501,7 @@
    17.4      # Generating a static library, ie object file archive.
    17.5      $$($1_TARGET) : $$($1_EXPECTED_OBJS) $$($1_RES)
    17.6  	$$(call ARCHIVING_MSG,$$($1_LIBRARY))
    17.7 -	$(AR) $$($1_AR_FLAGS) $(AR_OUT_OPTION)$$($1_TARGET) $$($1_EXPECTED_OBJS) \
    17.8 +	$(AR) $$($1_ARFLAGS) $(AR_OUT_OPTION)$$($1_TARGET) $$($1_EXPECTED_OBJS) \
    17.9  	    $$($1_RES) $$($1_LDFLAGS_SUFFIX) $$($1_EXTRA_LDFLAGS_SUFFIX)
   17.10    endif
   17.11  

mercurial