aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTom Lane <tgl@sss.pgh.pa.us>2004-05-21 21:56:02 +0000
committerTom Lane <tgl@sss.pgh.pa.us>2004-05-21 21:56:02 +0000
commitadd8b70dda0439c8b3a89440576cbfc19989ed39 (patch)
tree7d49eead791d77e6fe898ee1e303fe9d62dc270b
parentd584db60864f963691cd484b2438305dfaabae9e (diff)
downloadpostgresql-add8b70dda0439c8b3a89440576cbfc19989ed39.tar.gz
postgresql-add8b70dda0439c8b3a89440576cbfc19989ed39.zip
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.
-rw-r--r--src/interfaces/ecpg/ecpglib/Makefile23
1 files changed, 13 insertions, 10 deletions
diff --git a/src/interfaces/ecpg/ecpglib/Makefile b/src/interfaces/ecpg/ecpglib/Makefile
index 8755081e9ec..0b7291c42c1 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