Re: mingw configure failure detection - Mailing list pgsql-patches

From Bruce Momjian
Subject Re: mingw configure failure detection
Date
Msg-id 200405130129.i4D1TPQ17733@candle.pha.pa.us
Whole thread Raw
In response to Re: mingw configure failure detection  (Peter Eisentraut <peter_e@gmx.net>)
Responses Re: mingw configure failure detection  (Andrew Dunstan <andrew@dunslane.net>)
List pgsql-patches
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 I
> > and others have seen and warns the user they have to fix it up.
>
> I 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?
>
> 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 majordomo@postgresql.org
>

--
  Bruce Momjian                        |  http://candle.pha.pa.us
  pgman@candle.pha.pa.us               |  (610) 359-1001
  +  If your life is a hard drive,     |  13 Roberts Road
  +  Christ can be your backup.        |  Newtown Square, Pennsylvania 19073
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}.hsrc/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)

pgsql-patches by date:

Previous
From: Neil Conway
Date:
Subject: Re: SQLState
Next
From: Bruce Momjian
Date:
Subject: Re: mingw configure failure detection