jdk/src/solaris - time to re-visit it?

Alan Bateman Alan.Bateman at oracle.com
Tue Nov 29 22:00:46 UTC 2011

On 29/11/2011 19:34, Phil Race wrote:
> :
> * 95%+ of the code will be the same across solaris/linux/etc
>   And remember this includes all the X11 code.
> * Of the remaining 5%, most of it is best dealt with via ifdef
>   because its a few line delta in a large file.
>   I'd guess 2% of the code might merit a separate source file.
> So whilst these may exist in ports that doesn't mean they should all 
> exist
> in mainline. I suggest to keep src/solaris (for historical reasons) as
> meaing "src shared across the unix/X11 family" and others in mainline
> only for the core supported platforms, which will add macosx in JDK 8,
> largely because of client code differences
> Ports would add their own platform dir if they need to, or add ifdefs 
> in src/solaris
> if that's easier.
I'm not so sure about keeping src/solaris as "src shared across the 
unix/X11 family", I'd prefer it be renamed to something that doesn't 
have "solaris" or "sunos" in the name. The reason is that keeping 
solaris in the name means there isn't an obvious location for Solaris 
specific files. If they stay in src/solaris then it means this tree 
requires pre-processing or filtering in the build. We do this today in 
several places with no consistency and it would be nice to get rid of this.

In any case, keeping the directory structure flat as Fredrick suggested 
make sense to me. Whether we will actually or refactor to the point 
where we need sysv, gnu, etc. directories isn't clear to me. I think we 
would be doing well to replace most of the ifdef __solaris__ and ifdef 
__linux__ usages with ifdef <capability>.


More information about the build-dev mailing list