Re: [pgsql-hackers-win32] Static build of libpq fails - Mailing list pgsql-patches
From | Bruce Momjian |
---|---|
Subject | Re: [pgsql-hackers-win32] Static build of libpq fails |
Date | |
Msg-id | 200410120108.i9C18L318394@candle.pha.pa.us Whole thread Raw |
List | pgsql-patches |
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)
pgsql-patches by date: