Need Reviewers - OpenJDK README-builds.html

Kelly O'Hair Kelly.Ohair at Sun.COM
Thu Jul 10 18:10:46 UTC 2008


Thanks Martin.

The GNU Make people claim it's fixed, but CYGWIN in general will
probably continue to have issues with MS-DOS style paths.

The basic OpenJDK Makefile rules I'm trying to follow will be:

   * Avoid full paths if at all possible, use relative paths or
     limit the commands/utilities that get full paths.

   * Where full paths are needed, be explicit in the comments or
     otherwise as to what kind of full path is needed and why.

Converting to the MSYS make is a possibility.

On Windows, it's not just the drive letter paths, but the backslashes
and spaces, and the bizarre shortpath rules. All things that Unix like
shells and utilities will have problems with. :^(

-kto

Martin Buchholz wrote:
> The maintainer of GNU make makes a commitment here:
> 
> http://article.gmane.org/gmane.comp.gnu.make.windows/2937
> 
> to fix the problem in 3.82
> 
> ----
> On Mon, 2008-06-30 at 18:08 -0700, Kelly O'Hair wrote:
>> I assume cygwin will not be fixing this, in 3.82 or ever, is that
>> the conclusion I am seeing?
> 
> No; I'm pretty sure it's already been fixed in CVS actually.
> 
> I just think that, in general, it's not guaranteed by make (or any other
> cygwin tool) that you'll be able to use full DOS-style pathnames.
> However, at least for make, unless there's some serious incompatibility
> that makes it very difficult (or unless whomever maintains the Cygwin
> port declines to make the change, which is not the case here) we'll make
> an effort to be compatible.
> ----
> 
> Martin
> 
> On Wed, Jul 9, 2008 at 11:11 PM, Dan Fabulich <dan at fabulich.com> wrote:
>> IMO, this document should not make any predictions about make 3.82, which is
>> not yet released.
>>
>> Last time I researched the "C:/" problem, the developers had said that "C:/"
>> paths were defective and that they deliberately pulled support for them
>> because they were too much hassle to support in cygwin.  They recommended
>> using MSYS make instead.
>>
>> Here's where they explain their position:
>> http://cygwin.com/ml/cygwin/2006-07/msg00671.html
>>>> Was this a deliberate break with backwards compatibility?
>>> Yes. See <http://cygwin.com/ml/cygwin-announce/2006-07/msg00008.html>. If
>>> you are using a POSIX-like "OS" (i.e. Cygwin), you should be using POSIX
>>> paths. That's not an inconvenience, that's called writing a bad makefile. If
>>> you aren't using Cygwin for the POSIX environment, you should be using
>>> MinGW.
>> [aka MSYS make]
>>
>> Kelly O'Hair wrote:
>>
>>> Attached is a diff and an updated OpenJDK README-builds.html file.
>>>
>>> If anyone has the time to review the changes I would appreciate it.
>>>
>>> The bugs fixed are:
>>>
>>> 6704966: OpenJDK README needs additional info on  how to build freetype
>>> 6704968: OpenJDK Build README is missing ant requirement
>>> 6704973: OpenJDK Build readme needs cygwin package list improvements
>>> 6462815: cygwin's gnumake 3.81-1 does not support MS-DOS path names
>>>
>>> And the environment variable list is sorted.
>>>
>>> -kto
>>>
>>



More information about the build-dev mailing list