On Mar 15, 2012, at 12:57 PM, Fredrik Öhrström wrote: > > ----- stuart.ma...@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. -kto > //Fredrik