66# Copyright (c) 1998, Regents of the University of California
77#
88# IDENTIFICATION
9- # $Header: /cvsroot/pgsql/src/Makefile.shlib,v 1.32 2000/11/04 16:35:54 petere Exp $
9+ # $Header: /cvsroot/pgsql/src/Makefile.shlib,v 1.33 2000/11/08 20:18:49 petere Exp $
1010#
1111#-------------------------------------------------------------------------
1212
9797 override CXXFLAGS+= $(CXXFLAGS_SL)
9898endif
9999
100+ soname = lib$(NAME)$(DLSUFFIX).$(SO_MAJOR_VERSION)
100101
101102ifeq ($(PORTNAME), aix)
102103 shlib:= lib$(NAME)$(DLSUFFIX)
@@ -111,7 +112,7 @@ endif
111112ifeq ($(PORTNAME), openbsd)
112113 shlib:= lib$(NAME)$(DLSUFFIX).$(SO_MAJOR_VERSION).$(SO_MINOR_VERSION)
113114 ifdef ELF_SYSTEM
114- LINK.shared= $(LD) -x -Bshareable -soname $(shlib )
115+ LINK.shared= $(LD) -x -Bshareable -soname $(soname )
115116 else
116117 LINK.shared= $(LD) -x -Bshareable -Bforcearchive
117118 endif
@@ -120,7 +121,7 @@ endif
120121ifeq ($(PORTNAME), bsdi)
121122 shlib:= lib$(NAME)$(DLSUFFIX).$(SO_MAJOR_VERSION).$(SO_MINOR_VERSION)
122123 ifeq ($(DLSUFFIX), .so)
123- LINK.shared= $(LD) -shared -soname $(shlib )
124+ LINK.shared= $(LD) -shared -soname $(soname )
124125 endif
125126 ifeq ($(DLSUFFIX), .o)
126127 LINK.shared= shlicc -O $(LDREL)
@@ -130,18 +131,17 @@ endif
130131ifeq ($(PORTNAME), freebsd)
131132 ifdef ELF_SYSTEM
132133 shlib:= lib$(NAME)$(DLSUFFIX).$(SO_MAJOR_VERSION)
133- LINK.shared= $(LD) -x -shared -soname $(shlib )
134+ LINK.shared= $(LD) -x -shared -soname $(soname )
134135 else
135136 shlib:= lib$(NAME)$(DLSUFFIX).$(SO_MAJOR_VERSION).$(SO_MINOR_VERSION)
136137 LINK.shared= $(LD) -x -Bshareable -Bforcearchive
137138 endif
138139endif
139140
140141ifeq ($(PORTNAME), netbsd)
141- soname:= lib$(NAME)$(DLSUFFIX).$(SO_MAJOR_VERSION)
142142 shlib:= lib$(NAME)$(DLSUFFIX).$(SO_MAJOR_VERSION).$(SO_MINOR_VERSION)
143143 ifdef ELF_SYSTEM
144- LINK.shared= $(COMPILER) -shared -Wl,-soname -Wl ,$(soname)
144+ LINK.shared= $(COMPILER) -shared -Wl,-soname,$(soname)
145145 else
146146 LINK.shared= $(LD) -x -Bshareable -Bforcearchive
147147 endif
@@ -160,12 +160,17 @@ endif
160160
161161ifeq ($(PORTNAME), linux)
162162 shlib:= lib$(NAME)$(DLSUFFIX).$(SO_MAJOR_VERSION).$(SO_MINOR_VERSION)
163- LINK.shared= $(COMPILER) -shared -Wl,-soname,$(shlib )
163+ LINK.shared= $(COMPILER) -shared -Wl,-soname,$(soname )
164164endif
165165
166166ifeq ($(PORTNAME), solaris)
167167 shlib:= lib$(NAME)$(DLSUFFIX).$(SO_MAJOR_VERSION).$(SO_MINOR_VERSION)
168168 LINK.shared= $(COMPILER) -G
169+ ifeq ($(with_gnu_ld), yes)
170+ LINK.shared+= -Wl,-soname,$(soname)
171+ else
172+ LINK.shared+= -Wl,-h,$(soname)
173+ endif
169174 SHLIB_LINK+= -ldl -lsocket -lresolv -lnsl -lm -lc
170175endif
171176
@@ -199,7 +204,7 @@ ifeq ($(PORTNAME), unixware)
199204 LINK.shared= $(CXX) -G
200205 endif
201206 endif
202- LINK.shared+= -Wl,-z,text
207+ LINK.shared+= -Wl,-z,text -Wl,-h,$(soname)
203208endif
204209
205210ifeq ($(PORTNAME), win)