New CPU & OS Platform System Properties Updated

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


2013/1/10 10:59 -0800, bob.vandette at oracle.com:
> Thanks for all the input.  Here's an update to the proposal based on the
> feedback I've received so far.
> 
> OS.ARCH ADDITIONS
> -----------------------------
> 
> ...
> 
> 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."
(sun.arch.data.model, etc.), this new property should be named
"sun.arch.abi".

> 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
builds?

> OS.NAME ADDITIONS
> -----------------------------
> 
> My proposal below for os.name stands with the exception of Apple
> platforms.  For iPhone and iPad Java implementations, we will be
> setting os.name 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
"os.name" currently has the value "Linux".

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

The "os.name" 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


[1] http://download.java.net/jdk8/docs/api/java/lang/System.html#getProperties%28%29


More information about the jdk8-dev mailing list