The patch as applied is totally broken - the tests have to be run by config.status after it has actually tried to make the links, which is why I used AC_CONFIG_COMMANDS.
cheers
andrew
Bruce Momjian wrote:
Adjusted attached patch applied. Thanks.
I didn't change 'test -e' because 'test -h' doesn't work (is symlink test on my platform). test -f actually works on symlinks too in MinGW, strangely enough. Anyway, the code is only run on MinGW so we don't have to worry about other platforms. I added a comment explaining it works.
I got rid of the AC_CONFIG_COMMANDS and just do the for/test loop in the shell code directly. AC_CONFIG_COMMANDS wouldn't allow me to call AC_MSG_WARN.
---------------------------------------------------------------------------
Peter Eisentraut wrote:
Andrew Dunstan wrote:
This patch for configure.in detects the link failures in MINGW that II continue to object to these sort of patches if no one wants to bother to contact the mingw maintainers about this problem. Maybe they have a better fix available?
and others have seen and warns the user they have to fix it up.
Btw. test -e is not portable. And please use AC_MSG_WARN instead of "echo".
---------------------------(end of broadcast)--------------------------- TIP 1: subscribe and unsubscribe commands go to [EMAIL PROTECTED]
------------------------------------------------------------------------
Index: configure
===================================================================
RCS file: /cvsroot/pgsql-server/configure,v
retrieving revision 1.358
diff -c -c -r1.358 configure
*** configure 11 May 2004 21:57:13 -0000 1.358
--- configure 13 May 2004 01:26:20 -0000
***************
*** 17974,17979 ****
--- 17974,17998 ----
ac_config_links="$ac_config_links src/backend/port/dynloader.c:src/backend/port/dynloader/${template}.c src/backend/port/pg_sema.c:${SEMA_IMPLEMENTATION} src/backend/port/pg_shmem.c:${SHMEM_IMPLEMENTATION} src/include/dynloader.h:src/backend/port/dynloader/${template}.h src/include/pg_config_os.h:src/include/port/${template}.h src/Makefile.port:src/makefiles/Makefile.${template}"
+ # Links sometimes fail undetected on Mingw -
+ # so here we detect it and warn the user
+ case $host_os in mingw*)
+ for linktarget in \
+ src/backend/port/tas.s \
+ src/backend/port/dynloader.c \
+ src/backend/port/pg_sema.c \
+ src/backend/port/pg_shmem.c \
+ src/include/dynloader.h \
+ src/include/pg_config_os.h \
+ src/Makefile.port
+ do
+ # test -e works for symlinks in the MinGW console
+ test -e $linktarget || { echo "$as_me:$LINENO: WARNING: *** link for $linktarget failed - please fix by hand" >&5
+ echo "$as_me: WARNING: *** link for $linktarget failed - please fix by hand" >&2;}
+ done
+ ;;
+ esac
+ ac_config_headers="$ac_config_headers src/include/pg_config.h"
Index: configure.in
===================================================================
RCS file: /cvsroot/pgsql-server/configure.in,v
retrieving revision 1.346
diff -c -c -r1.346 configure.in
*** configure.in 11 May 2004 21:57:13 -0000 1.346
--- configure.in 13 May 2004 01:26:22 -0000
***************
*** 1236,1241 ****
--- 1236,1259 ----
src/Makefile.port:src/makefiles/Makefile.${template}
])
+ # Links sometimes fail undetected on Mingw - + # so here we detect it and warn the user
+ case $host_os in mingw*)
+ for linktarget in \
+ src/backend/port/tas.s \
+ src/backend/port/dynloader.c \
+ src/backend/port/pg_sema.c \
+ src/backend/port/pg_shmem.c \
+ src/include/dynloader.h \
+ src/include/pg_config_os.h \
+ src/Makefile.port
+ do
+ # test -e works for symlinks in the MinGW console
+ test -e $linktarget || AC_MSG_WARN([*** link for $linktarget failed - please fix by hand])
+ done
+ ;;
+ esac
+ AC_CONFIG_HEADERS([src/include/pg_config.h],
[
# Update timestamp for pg_config.h (see Makefile.global)
------------------------------------------------------------------------
---------------------------(end of broadcast)--------------------------- TIP 6: Have you searched our list archives?
http://archives.postgresql.org
---------------------------(end of broadcast)--------------------------- TIP 4: Don't 'kill -9' the postmaster