From add8b70dda0439c8b3a89440576cbfc19989ed39 Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Fri, 21 May 2004 21:56:02 +0000 Subject: [PATCH] Handle inclusion of port modules 'correctly', viz the same way libpq does it. Fixes OS X, which needs path.c. It may be that Win32 needs some more port modules, but they are easily added. --- src/interfaces/ecpg/ecpglib/Makefile | 23 +++++++++++++---------- 1 file changed, 13 insertions(+), 10 deletions(-) diff --git a/src/interfaces/ecpg/ecpglib/Makefile b/src/interfaces/ecpg/ecpglib/Makefile index 8755081e9e..0b7291c42c 100644 --- a/src/interfaces/ecpg/ecpglib/Makefile +++ b/src/interfaces/ecpg/ecpglib/Makefile @@ -4,7 +4,7 @@ # # Copyright (c) 1994, Regents of the University of California # -# $PostgreSQL: pgsql/src/interfaces/ecpg/ecpglib/Makefile,v 1.21 2004/05/21 03:12:03 momjian Exp $ +# $PostgreSQL: pgsql/src/interfaces/ecpg/ecpglib/Makefile,v 1.22 2004/05/21 21:56:02 tgl Exp $ # #------------------------------------------------------------------------- @@ -17,18 +17,13 @@ SO_MAJOR_VERSION= 4 SO_MINOR_VERSION= 2 override CPPFLAGS := -I$(top_srcdir)/src/interfaces/ecpg/include \ - -I$(libpq_srcdir) $(CPPFLAGS) + -I$(libpq_srcdir) -I$(top_builddir)/src/port $(CPPFLAGS) override CFLAGS += $(PTHREAD_CFLAGS) OBJS= execute.o typename.o descriptor.o data.o error.o prepare.o memory.o \ - connect.o misc.o + connect.o misc.o path.o -# needed by dllwrap -ifeq ($(PORTNAME), win32) -PGPORT=-lpgport -endif - -SHLIB_LINK = -L../pgtypeslib -lpgtypes $(PGPORT) $(libpq) \ +SHLIB_LINK = -L../pgtypeslib -lpgtypes $(libpq) \ $(filter -lintl -lssl -lcrypto -lkrb5 -lcrypt -lm, $(LIBS)) $(PTHREAD_LIBS) all: all-lib @@ -36,6 +31,14 @@ all: all-lib # Shared library stuff include $(top_srcdir)/src/Makefile.shlib +# We use some port modules verbatim, but since we need to +# compile with appropriate options to build a shared lib, we can't +# necessarily use the same object files as the backend uses. Instead, +# symlink the source files in here and build our own object file. + +path.c: % : $(top_srcdir)/src/port/% + rm -f $@ && $(LN_S) $< . + install: all installdirs install-lib installdirs: @@ -44,7 +47,7 @@ installdirs: uninstall: uninstall-lib clean distclean maintainer-clean: clean-lib - rm -f $(OBJS) + rm -f $(OBJS) path.c depend dep: $(CC) -MM $(CFLAGS) *.c >depend -- 2.11.0