[RFC] Fix Zero and Shark builds
Erik Joelsson
erik.joelsson at oracle.com
Thu Feb 21 02:36:11 PST 2013
On 2013-02-20 22:32, Roman Kennke wrote:
>
> Thanks for the review! I made the following changes:
>
> - I moved all platform-foo to platform.m4, in
> PLATFORM_SETUP_LEGACY_VARS. Little problem: in this section I don't know
> about JVM_VARIANTS_ZERO yet, therefore I set those vars unconditionally.
> (But I propagate them to Make conditionally, see below). *However* those
> variables might actually be useful for non-Zero builds, if you look at
> the places where they're used, in non-Zero builds we find hardcoded
> values/strings for the various platforms, where the Zero way seems more
> elegant here.
> - I replaced ZERO_ENDIANNESS with the equivalent
> OPENJDK_TARGET_CPU_ENDIAN.
> - I replaced ARCH_DATA_MODEL with OPENJDK_TARGET_CPU_BITS.
> - I replaced ZERO_LIBARCH with OPENJDK_TARGET_CPU_LEGACY_LIB.
> - ZERO_ARCHFLAG is still needed for build on s390, to enable the correct
> ABI (by setting -m31).
> - ZERO_ARCHDEF is needed to get in the correct -DAMD64 or whatever
> setting (which are otherwise hardcoded in the various platform_XXX.in
> files in non-zero builds -- you/we might want to re-think this).
>
> Those changes also require some changes in the hotspot tree. See webrevs
> below.
>
> Re: Mike's suggestion: I set the variables in spec.gmk conditionally
> now. However, the resulting spec.gmk does have the conditions and
> var-setting code still in it, i.e. the zero-related code does not
> disappear.
>
>> Where is INCLUDE_SA supposed to be set? I know it was handled in
>> Defs-[os].gmk files in the old build, but in the new I would assume
>> configure should be setting it.
> it is set in jdk/common/Defs-$PLATFORM.gmk. As per David's suggestion, I
> will not touch this for now. It is only required for images-builds... so
> not super-critical - for the time being.
>
> Webrevs:
> http://cr.openjdk.java.net/~rkennke/zero-build-infra/webrev.03/
> http://cr.openjdk.java.net/~rkennke/zero_build_infra_hotspot/webrev.01/
>
> How's this now?
>
That looks much cleaner, thank you. If the hotspot team is ok with
renaming the variables in the hotspot makefiles, I'm fine with that too,
but it's not my decision. If they aren't, you can still set the hotspot
specific variables based on the ones from configure in
hotspot-spec.gmk.in. From the build group this is ok. You will still
need an official jdk8 reviewer to look at it, and the hotspot changes
need someone from hotspot.
/Erik
More information about the build-infra-dev
mailing list