On Thu, Oct 05, 2023 at 05:46:46PM +0200, Peter Eisentraut wrote:
> --- a/src/backend/Makefile
> +++ b/src/backend/Makefile
> $(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 $<)" .
> + rm -f '$@'
> + $(LN_S) ../../backend/$< '$@'
>
> $(top_builddir)/src/include/utils/wait_event_types.h: utils/activity/wait_event_types.h
> - prereqdir=`cd '$(dir $<)' >/dev/null && pwd` && \
> - cd '$(dir $@)' && rm -f $(notdir $@) && \
> - $(LN_S) "$$prereqdir/$(notdir $<)" .
> + rm -f '$@'
> + $(LN_S) ../../backend/$< '$@'
These broke the
https://www.postgresql.org/docs/17/installation-platform-notes.html#INSTALLATION-NOTES-MINGW
build, where LN_S='cp -pR'. On other platforms, "make LN_S='cp -pR'"
reproduces this. Reverting the above lines fixes things. The buildfarm has
no coverage for that build scenario (fairywren uses Meson).