RFR: 7151898: Check for LANG in Mac OS X jdk build sanity check [macosx]
kelly.ohair at oracle.com
Thu Mar 15 13:56:10 PDT 2012
On Mar 15, 2012, at 12:57 PM, Fredrik Öhrström wrote:
> ----- stuart.marks at oracle.com skrev:
>> I don't know, and I don't have the expertise in the build system to
>> know how other LANG settings would affect the build. Perhaps somebody else on
>> build-dev knows. Meanwhile, we're patching things up this way, even though it
>> makes things a bit messier.
> If you had built the new build-infra/jdk8 tree, you would have noticed
> that it does not require you to set LANG=C
> It should work with any locale, I use my default setting LANG=sv_SE.UTF-8
> The reason LANG=C is necessary for the old makefiles is because
> in very few places in the makefiles, tr,date,sort and some other cli tools,
> are used in such a way that is dependent on the locale. Also
> these commands generate Java source or other settings which cause the
> actual error message to appear much later, and it takes a bit of time
> to track it back to the original cause, which is in fact trivial to fix.
With Windows, it's not quite the same as Linux and Solaris.
Using LANG=C was originally just a suggestion, mainly because that was the only setting we guaranteed
would work. A long time ago, the javac compilations were not supplied the -encoding option,
and the default was to assume the current locale defined the source file character encoding.
I'm pretty sure we always supply the -encoding option now, or should.
I was trying to be lang neutral, and at the time UTF8 was not an option, it was just that encoding
the crazy Java guys used. ;^)
It is very hard to know the complete impact of building the product in different locales when
native code is involved. So as much as I would like to guarantee all selections will work, I would
rather we narrow down the options here to avoid having to deal with all the possible combinations.
More information about the macosx-port-dev