From 8753b23c8cabe2e35990bd9d5ab0815340641e15 Mon Sep 17 00:00:00 2001
From: Tom Lane <tgl@sss.pgh.pa.us>
Date: Fri, 16 Jul 1999 22:56:01 +0000
Subject: [PATCH] Fix 'SO__MINOR_VERSION' typo for irix5; add AIX shlib support
 from Andreas Z.; minor cosmetic cleanups.

---
 src/Makefile.shlib | 60 +++++++++++++++++++++++++++++++---------------
 1 file changed, 41 insertions(+), 19 deletions(-)

diff --git a/src/Makefile.shlib b/src/Makefile.shlib
index 1c942ac2c34..f9530456313 100644
--- a/src/Makefile.shlib
+++ b/src/Makefile.shlib
@@ -6,7 +6,7 @@
 # Copyright (c) 1998, Regents of the University of California
 #
 # IDENTIFICATION
-#    $Header: /cvsroot/pgsql/src/Makefile.shlib,v 1.13 1999/07/15 02:03:00 tgl Exp $
+#    $Header: /cvsroot/pgsql/src/Makefile.shlib,v 1.14 1999/07/16 22:56:01 tgl Exp $
 #
 #-------------------------------------------------------------------------
 
@@ -56,25 +56,12 @@ install-shlib-dep :=
 # Makefile.global (or really Makefile.port) to supply DLSUFFIX and other
 # symbols.
 
-ifeq ($(PORTNAME), irix5)
-  install-shlib-dep := install-shlib
-  shlib := lib$(NAME)$(DLSUFFIX).$(SO_MAJOR_VERSION).$(SO__MINOR_VERSION)
-  LDFLAGS_SL := -shared
-  CFLAGS += $(CFLAGS_SL)
-endif
+# Try to keep the sections in some kind of order, folks...
 
-ifeq ($(PORTNAME), freebsd)
-  ifdef BSD_SHLIB
-    install-shlib-dep	:= install-shlib
-    ifdef ELF_SYSTEM
-      shlib		:= lib$(NAME)$(DLSUFFIX).$(SO_MAJOR_VERSION)
-      LDFLAGS_SL	:= -x -shared -soname $(shlib)
-    else
-      shlib		:= lib$(NAME)$(DLSUFFIX).$(SO_MAJOR_VERSION).$(SO_MINOR_VERSION)
-      LDFLAGS_SL	:= -x -Bshareable -Bforcearchive
-    endif
-    CFLAGS		+= $(CFLAGS_SL)
-  endif
+ifeq ($(PORTNAME), aix)
+  install-shlib-dep	:= install-shlib
+  shlib				:= lib$(NAME)$(DLSUFFIX)
+  SHLIB_LINK		+= -lc
 endif
 
 ifeq ($(PORTNAME), bsd)
@@ -108,6 +95,20 @@ ifeq ($(PORTNAME), bsdi)
   endif
 endif
 
+ifeq ($(PORTNAME), freebsd)
+  ifdef BSD_SHLIB
+    install-shlib-dep	:= install-shlib
+    ifdef ELF_SYSTEM
+      shlib		:= lib$(NAME)$(DLSUFFIX).$(SO_MAJOR_VERSION)
+      LDFLAGS_SL	:= -x -shared -soname $(shlib)
+    else
+      shlib		:= lib$(NAME)$(DLSUFFIX).$(SO_MAJOR_VERSION).$(SO_MINOR_VERSION)
+      LDFLAGS_SL	:= -x -Bshareable -Bforcearchive
+    endif
+    CFLAGS		+= $(CFLAGS_SL)
+  endif
+endif
+
 ifeq ($(PORTNAME), hpux)
   install-shlib-dep	:= install-shlib
 # HPUX doesn't believe in version numbers for shlibs
@@ -116,6 +117,13 @@ ifeq ($(PORTNAME), hpux)
   CFLAGS			+= $(CFLAGS_SL)
 endif
 
+ifeq ($(PORTNAME), irix5)
+  install-shlib-dep := install-shlib
+  shlib := lib$(NAME)$(DLSUFFIX).$(SO_MAJOR_VERSION).$(SO_MINOR_VERSION)
+  LDFLAGS_SL := -shared
+  CFLAGS += $(CFLAGS_SL)
+endif
+
 ifeq ($(PORTNAME), linux)
   install-shlib-dep	:= install-shlib
   shlib				:= lib$(NAME)$(DLSUFFIX).$(SO_MAJOR_VERSION).$(SO_MINOR_VERSION)
@@ -188,6 +196,7 @@ all: lib$(NAME).a $(shlib)
 # Rules to build regular and shared libraries
 
 ifneq ($(PORTNAME), win)
+
 lib$(NAME).a: $(OBJS)
 ifdef MK_NO_LORDER
 	$(AR) $(AROPT) $@ $(OBJS) 
@@ -195,11 +204,14 @@ else
 	$(AR) $(AROPT) $@ `lorder $(OBJS) | tsort`
 endif
 	$(RANLIB) $@
+
 endif
 
 ifneq ($(shlib),)
 ifneq ($(PORTNAME), win)
+ifneq ($(PORTNAME), aix)
 
+# Normal case
 $(shlib): $(OBJS)
 	$(LD) $(LDFLAGS_SL) -o $@ $(OBJS) $(SHLIB_LINK)
 	if [ "$(shlib)" != "lib$(NAME)$(DLSUFFIX).$(SO_MAJOR_VERSION)" ]; then \
@@ -213,6 +225,16 @@ $(shlib): $(OBJS)
 
 else
 
+# AIX case
+$(shlib): lib$(NAME).a
+	$(MKLDEXPORT) lib$(NAME).a $(LIBDIR) > lib$(NAME)$(EXPSUFF)
+	$(LD) -H512 -bM:SRE -bI:$(SRCDIR)/backend/$(POSTGRES_IMP) -bE:lib$(NAME)$(EXPSUFF) -o $@ $< $(LDFLAGS) $(SHLIB_LINK)
+
+endif
+
+else
+
+# WIN case
 $(shlib) lib$(NAME).a: $(OBJS) $(SRCDIR)/utils/dllinit.o
 	$(DLLTOOL) --export-all --output-def $(NAME).def $(OBJS)
 	$(DLLWRAP) -o $(shlib) --dllname $(shlib) --def $(NAME).def $(OBJS) $(SRCDIR)/utils/dllinit.o $(DLLINIT) $(SHLIB_LINK)
-- 
GitLab