New CPU & OS Platform System Properties Updated

mark.reinhold at mark.reinhold at
Wed Jan 23 08:38:25 PST 2013

2013/1/10 10:59 -0800, bob.vandette at
> Thanks for all the input.  Here's an update to the proposal based on the
> feedback I've received so far.
> -----------------------------
> ...
> The only remaining problem is that of ABI.  For this I propose the
> addition of a single new property.
> os.arch.abi 

This makes sense, but since you're not proposing to add this new property
to the Platform Specification [1] its name should start with "jdk." or
"sun.".  Current convention would be to use "jdk.", but given that the
names of existing closely-related properties already start with "sun."
(, etc.), this new property should be named

> This will be set to the industry standard abi name that toolchain
> vendors use.
> For Linux and Android these would be:
> gnueabi
> gnueabihf    (signifying the EABI hard float ABI)
> androideabi

Will this property be defined for regular Linux, Mac OS, or Windows

> -----------------------------
> My proposal below for stands with the exception of Apple
> platforms.  For iPhone and iPad Java implementations, we will be
> setting to "iOS" since Apple informed me that there is really
> no concrete specified relationship between OSX and iOS.  They are two
> very distinct OS platforms and should be treated as such.
> I would still like to propose os.variant and os.variant.version for
> Android.

I don't think it makes sense to describe Android as a variant of Linux.
Sure, it's built on top of a Linux kernel, but the rest of the
environment is vastly different from the typical Linux distro where
"" currently has the value "Linux".

In short form, Linux : Android :: Mac OS : iOS.

The "" property should have the value "Android" on Android
devices, and "os.version" should be the Android version number.

Given that, I don't see a compelling need to introduce "os.variant"
properties at this time.

- Mark


More information about the porters-dev mailing list