#4241 win/tcl/Makefile.in not compatible with msys 0.8

obsolete: 8.6b3
closed-fixed
Jan Nijtmans
5
2012-10-06
2008-12-22
Venks I
No

1.146 of the win/tcl/Makefile.in has:

TOP_DIR = $(shell cd @srcdir@/..; pwd)

In msys 0.8, this makes TOP_DIR become something like this:

c:/users/venks/prg/tcl/head

The : in that breaks VPATH searches. So HEAD doesn't build with msys0.8.
Changing it to this fixes it:

TOP_DIR = $(shell cd @srcdir@/..; pwd -P)

pwd -P causes the path to be returned as :

/c/users/venks/prg/tcl/head

which makes VPATH happy.

From the chatroom (with kbk). It seems that the default is different msys1.0
msys1.0 returns /c/ style paths without the -P flag. It returns /c/ style
paths even with the -P flag.

Adding the -P flag would make it compatible with both msys 0.8 and msys 1.0

Discussion

  • Stuart Cassoff
    Stuart Cassoff
    2012-09-29

    • assigned_to: stwo --> nijtmans
     
  • Jan Nijtmans
    Jan Nijtmans
    2012-10-05

    I agree with adding -P here.
    pwd has two options in any shell I know: -L or -P.
    Older posix manuals indicate that -L is the
    default, in newer manuals -P is the default.
    The difference between -L and -P is that the
    latter does not require the PWD env var,
    and it resolves symlinks.
    So, on modern systems, pwd -P is the same
    as pwd. On older systems it is not. Explicitly
    putting -P increases the consistancy between
    platforms, not only between msys 0.8
    and 1.0.

     
  • Jan Nijtmans
    Jan Nijtmans
    2012-10-06

    Fixed on trunk

     
  • Jan Nijtmans
    Jan Nijtmans
    2012-10-06

    • milestone: 889167 --> obsolete: 8.6b3
    • status: open --> closed-fixed