> > I think it ends up doing a copy thus the copy error in my log failures
> > which don't exist anywhere in the Makefil
> >
> > cp -pR ../../backend/storage/lmgr/lwlocknames.h
> >
> > Sorry for not checking on a linux system.  I was thinking I should have done
> that first.
> 
> Ah yeah, that's per configure:
> 
>   if ln -s conf$$.file conf$$ 2>/dev/null; then
>     as_ln_s='ln -s'
>     # ... but there are two gotchas:
>     # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
>     # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
>     # In both cases, we have to default to `cp -pR'.
>     ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
>       as_ln_s='cp -pR'
> 
> I guess we need to patch the rule so that the LN_S is called so that it'd 
> resolve
> correctly in both cases.  I guess the easy option is to go back to the 
> original
> recipe and update the comment to indicate that we do it to placate Msys2.
> Here it is with the old comment:
> 
>   -# The point of the prereqdir incantation in some of the rules below is to
>   -# force the symlink to use an absolute path rather than a relative path.
>   -# For headers which are generated by make distprep, the actual header
> within
>   -# src/backend will be in the source tree, while the symlink in src/include
>   -# will be in the build tree, so a simple ../.. reference won't work.
>   -# For headers generated during regular builds, we prefer a relative 
> symlink.
> 
>    $(top_builddir)/src/include/storage/lwlocknames.h:
> storage/lmgr/lwlocknames.h
>   -  prereqdir=`cd '$(dir $<)' >/dev/null && pwd` && \
>   -    cd '$(dir $@)' && rm -f $(notdir $@) && \
>   -    $(LN_S) "$$prereqdir/$(notdir $<)" .
> 
> 
> Maybe it's possible to make this simpler, as it looks overly baroque, and we
> don't really need absolute paths anyway -- we just need the path resolved at
> the right time.
> 
> --
> Álvaro Herrera        Breisgau, Deutschland  —
> https://www.EnterpriseDB.com/

Yah I was thinking it was removed cause 
no one could figure out why it was so complicated and decided to make it more 
readable.




Reply via email to