From 3031ec7c720b7493c3e18c01a20dad68950df17b Mon Sep 17 00:00:00 2001
From: "Marc G. Fournier" <scrappy@hub.org>
Date: Sat, 15 Mar 1997 19:17:03 +0000
Subject: [PATCH] NetBSD Shared Library Patch from Martin J. Laubach

---
 src/interfaces/libpq/Makefile | 28 +++++++++++++++++-----------
 1 file changed, 17 insertions(+), 11 deletions(-)

diff --git a/src/interfaces/libpq/Makefile b/src/interfaces/libpq/Makefile
index a16005dee3..49afd4fcc9 100644
--- a/src/interfaces/libpq/Makefile
+++ b/src/interfaces/libpq/Makefile
@@ -7,7 +7,7 @@
 #
 #
 # IDENTIFICATION
-#    $Header: /cvsroot/pgsql/src/interfaces/libpq/Makefile,v 1.28 1997/03/14 23:34:03 scrappy Exp $
+#    $Header: /cvsroot/pgsql/src/interfaces/libpq/Makefile,v 1.29 1997/03/15 19:17:03 scrappy Exp $
 #
 #-------------------------------------------------------------------------
 
@@ -23,21 +23,25 @@ ifdef KRBVERS
 CFLAGS+= $(KRBFLAGS)
 endif
 
-# dllist.c is found in backend/lib
-VPATH:= $(VPATH):../backend/lib
- 
 OBJS= fe-auth.o fe-connect.o fe-exec.o fe-misc.o fe-lobj.o \
-         ../backend/lib/dllist.o pqsignal.o 
-
+         dllist.o pqsignal.o 
 
+# Shared library stuff
 shlib := 
 install-shlib-dep :=
 ifeq ($(PORTNAME), linux)
   ifdef LINUX_ELF
     install-shlib-dep := install-shlib
     shlib := libpq.so.1
+    LDFLAGS_SL = -shared
   endif
 endif
+ifeq ($(PORTNAME), BSD44_derived)
+  install-shlib-dep := install-shlib
+  shlib := libpq.so.1.0
+  LDFLAGS_SL = -x -Bshareable -Bforcearchive
+  CFLAGS += -fpic -DPIC
+endif
 
 all: libpq.a $(shlib) c.h
 
@@ -51,17 +55,19 @@ endif
 
 fe-lobj.o: ../backend/fmgr.h
 
+# We need to compile this with special options for shared libs,
+# so we can't use the object in ../backend
+dllist.c:	../backend/lib/dllist.c
+	-ln ../backend/lib/dllist.c
+
 # The following rules cause dependencies in the backend directory to 
 # get made if they don't exist, but don't cause them to get remade if they
 # are out of date.
 ../backend/fmgr.h:
 	$(MAKE) -C ../backend fmgr.h
 
-../backend/lib/dllist.o:
-	$(MAKE) -C ../backend/lib dllist.o
-
-libpq.so.1: $(OBJS)
-	gcc $(LDFLAGS) -shared -o $@ $(OBJS)
+$(shlib): $(OBJS)
+	$(LD) $(LDFLAGS) $(LDFLAGS_SL) -o $@ $(OBJS)
 
 c.h: ../include/c.h
 	rm -f c.h
-- 
2.24.1