Dave Page wrote:
> Hi,
>
> I tried building a static libpq with Mingw, which it seems doesn't work
> any more:
>
> make[3]: *** No rule to make target `libpq.a', needed by
> `all-static-lib'. Stop.
> make[3]: Leaving directory `/cvs/pgsql/src/interfaces/libpq'
> make[2]: *** [all] Error 2
> make[2]: Leaving directory `/cvs/pgsql/src/interfaces'
> make[1]: *** [all] Error 2
> make[1]: Leaving directory `/cvs/pgsql/src'
> make: *** [all] Error 2
>
> I can work around this easily enough, however it should obviously get
> fixed at some point.
I got it working easily by doing 'gmake all-static-lib' from the
src/interfaces/libpq directory. Is it supposed to work somewhere else?
The attached patch adds some pg_config_paths.h dependencies that are
missing. I am now wondering if we should have that file generated by
configure, but that defeats the ability to modify Makefile.global to
change settings so I guess we are stuck with what we have currently.
--
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: src/Makefile.shlib
===================================================================
RCS file: /cvsroot/pgsql/src/Makefile.shlib,v
retrieving revision 1.79
diff -c -c -r1.79 Makefile.shlib
*** src/Makefile.shlib 8 Oct 2004 04:22:59 -0000 1.79
--- src/Makefile.shlib 12 Oct 2004 00:56:46 -0000
***************
*** 245,253 ****
all-lib: all-static-lib all-shared-lib
! all-static-lib: lib$(NAME).a
! all-shared-lib: $(shlib)
ifneq ($(PORTNAME), cygwin)
ifneq ($(PORTNAME), win32)
--- 245,253 ----
all-lib: all-static-lib all-shared-lib
! all-static-lib: $(PTHREAD_H_WIN32) $(top_srcdir)/src/port/pg_config_paths.h lib$(NAME).a
! all-shared-lib: $(PTHREAD_H_WIN32) $(top_srcdir)/src/port/pg_config_paths.h $(shlib)
ifneq ($(PORTNAME), cygwin)
ifneq ($(PORTNAME), win32)
Index: src/interfaces/ecpg/ecpglib/Makefile
===================================================================
RCS file: /cvsroot/pgsql/src/interfaces/ecpg/ecpglib/Makefile,v
retrieving revision 1.26
diff -c -c -r1.26 Makefile
*** src/interfaces/ecpg/ecpglib/Makefile 4 Oct 2004 20:36:11 -0000 1.26
--- src/interfaces/ecpg/ecpglib/Makefile 12 Oct 2004 00:56:54 -0000
***************
*** 30,36 ****
SHLIB_LINK = -L../pgtypeslib -lpgtypes $(libpq) \
$(filter -lintl -lssl -lcrypto -lkrb5 -lcrypt -lm, $(LIBS)) $(PTHREAD_LIBS)
! all: all-lib
# Shared library stuff
include $(top_srcdir)/src/Makefile.shlib
--- 30,36 ----
SHLIB_LINK = -L../pgtypeslib -lpgtypes $(libpq) \
$(filter -lintl -lssl -lcrypto -lkrb5 -lcrypt -lm, $(LIBS)) $(PTHREAD_LIBS)
! all: $(top_srcdir)/src/port/pg_config_paths.h all-lib
# Shared library stuff
include $(top_srcdir)/src/Makefile.shlib
***************
*** 46,51 ****
--- 46,54 ----
exec.c: % : $(top_srcdir)/src/port/%
rm -f $@ && $(LN_S) $< .
+ $(top_srcdir)/src/port/pg_config_paths.h:
+ $(MAKE) -C $(top_srcdir)/src/port pg_config_paths.h
+
install: all installdirs install-lib
installdirs:
Index: src/interfaces/libpq/Makefile
===================================================================
RCS file: /cvsroot/pgsql/src/interfaces/libpq/Makefile,v
retrieving revision 1.115
diff -c -c -r1.115 Makefile
*** src/interfaces/libpq/Makefile 6 Oct 2004 16:42:01 -0000 1.115
--- src/interfaces/libpq/Makefile 12 Oct 2004 00:56:54 -0000
***************
*** 31,43 ****
$(filter crypt.o getaddrinfo.o inet_aton.o open.o snprintf.o strerror.o, $(LIBOBJS))
ifeq ($(PORTNAME), win32)
! OBJS+=win32.o libpqrc.o
! libpqrc.o: libpq.rc
windres -i libpq.rc -o libpqrc.o
ifeq ($(enable_thread_safety), yes)
# This doesn't work yet because configure test fails. 2004-06-19
! OBJS+=pthread-win32.o
! PTHREAD_H_WIN32=yes
endif
endif
--- 31,43 ----
$(filter crypt.o getaddrinfo.o inet_aton.o open.o snprintf.o strerror.o, $(LIBOBJS))
ifeq ($(PORTNAME), win32)
! OBJS += win32.o libpqrc.o
! libpqrc.o : libpq.rc
windres -i libpq.rc -o libpqrc.o
ifeq ($(enable_thread_safety), yes)
# This doesn't work yet because configure test fails. 2004-06-19
! OBJS += pthread-win32.o
! PTHREAD_H_WIN32 = yes
endif
endif
***************
*** 51,57 ****
endif
! all: $(PTHREAD_H_WIN32) all-lib
# Shared library stuff
include $(top_srcdir)/src/Makefile.shlib
--- 51,57 ----
endif
! all: $(PTHREAD_H_WIN32) $(top_srcdir)/src/port/pg_config_paths.h all-lib
# Shared library stuff
include $(top_srcdir)/src/Makefile.shlib
***************
*** 83,88 ****
--- 83,91 ----
rm -f $@ && $(LN_S) $< .
endif
+ $(top_srcdir)/src/port/pg_config_paths.h:
+ $(MAKE) -C $(top_srcdir)/src/port pg_config_paths.h
+
install: all installdirs install-lib
$(INSTALL_DATA) $(srcdir)/libpq-fe.h $(DESTDIR)$(includedir)
$(INSTALL_DATA) $(srcdir)/libpq-int.h $(DESTDIR)$(includedir_internal)