1 #! /bin/sh /usr/share/dpatch/dpatch-run
2 ## 81_sonames.dpatch by Mike Hommey <glandium@debian.org>
4 ## All lines beginning with `## DP:' are a description of the patch.
5 ## DP: Add soname support
9 --- nss
/mozilla
/security
/coreconf
/BSD_OS.mk
10 +++ nss
/mozilla
/security
/coreconf
/BSD_OS.mk
12 DSO_CFLAGS
= -fPIC -DPIC
15 -DSO_LDOPTS += -Wl,-soname,lib$
(LIBRARY_NAME
)$
(LIBRARY_VERSION
).$
(DLL_SUFFIX
)
16 +DSO_LDOPTS
+= -Wl,-soname,$
(SONAME
)
19 DSO_LDOPTS
+= -Wl,-R$
(LIBRUNPATH
)
20 --- nss
/mozilla
/security
/coreconf
/BeOS.mk
21 +++ nss
/mozilla
/security
/coreconf
/BeOS.mk
26 -MKSHLIB = $
(CC
) -nostart -Wl,-soname -Wl,$
(@
:$
(OBJDIR
)/%.so
=%.so
)
27 +MKSHLIB
= $
(CC
) -nostart -Wl,-soname -Wl,$
(SONAME
)
31 --- nss
/mozilla
/security
/coreconf
/FreeBSD.mk
32 +++ nss
/mozilla
/security
/coreconf
/FreeBSD.mk
34 OS_CFLAGS
= $
(DSO_CFLAGS
) -ansi -Wall -DFREEBSD -DHAVE_STRERROR -DHAVE_BSD_FLOCK
37 -DSO_LDOPTS = -shared -Wl,-soname -Wl,$
(notdir $@
)
38 +DSO_LDOPTS
= -shared -Wl,-soname -Wl,$
(SONAME
)
41 # The default implementation strategy for FreeBSD is pthreads.
42 --- nss
/mozilla
/security
/coreconf
/HP-UX.mk
43 +++ nss
/mozilla
/security
/coreconf
/HP-UX.mk
45 PROCESS_MAP_FILE
= grep -v ';+' $
< |
grep -v ';-' | \
46 sed -e 's; DATA ;;' -e 's,;;,,' -e 's,;.*,,' -e 's,^,+e ,' > $@
48 -DSO_LDOPTS = -b +h $
(notdir $@
)
49 +DSO_LDOPTS
= -b +h $
(SONAME
)
50 ifeq
($
(OS_TEST
),ia64
)
51 DSO_LDOPTS
+= +b
'$$ORIGIN'
53 --- nss
/mozilla
/security
/coreconf
/IRIX.mk
54 +++ nss
/mozilla
/security
/coreconf
/IRIX.mk
56 SHLIB_LD_OPTS
+= -n32 -mips3
59 -MKSHLIB += $
(LD
) $
(SHLIB_LD_OPTS
) -shared -soname $
(@
:$
(OBJDIR
)/%.so
=%.so
)
60 +MKSHLIB
+= $
(LD
) $
(SHLIB_LD_OPTS
) -shared -soname $
(SONAME
)
62 # Add LD options to restrict exported symbols to those in the map file
64 --- nss
/mozilla
/security
/coreconf
/Linux.mk
65 +++ nss
/mozilla
/security
/coreconf
/Linux.mk
68 ifeq
($
(KERNEL
)-$
(OS_RELEASE
),linux-2.0
)
69 OS_REL_CFLAGS
+= -DLINUX2_0
70 - MKSHLIB
= $
(CC
) -shared -Wl,-soname -Wl,$
(@
:$
(OBJDIR
)/%.so
=%.so
)
71 + MKSHLIB
= $
(CC
) -shared -Wl,-soname -Wl,$
(SONAME
)
73 MKSHLIB
+= -Wl,--version-script,$
(MAPFILE
)
75 --- nss
/mozilla
/security
/coreconf
/Linux2.1.mk
76 +++ nss
/mozilla
/security
/coreconf
/Linux2.1.mk
78 include $
(CORE_DEPTH
)/coreconf
/Linux.mk
79 ifeq
($
(OS_RELEASE
),2.1)
80 OS_REL_CFLAGS
+= -DLINUX2_1
81 - MKSHLIB
= $
(CC
) $
(DSO_LDOPTS
) -Wl,-soname -Wl,$
(@
:$
(OBJDIR
)/%.so
=%.so
)
82 + MKSHLIB
= $
(CC
) $
(DSO_LDOPTS
) -Wl,-soname -Wl,$
(SONAME
)
84 MKSHLIB
+= -Wl,--version-script,$
(MAPFILE
)
86 --- nss
/mozilla
/security
/coreconf
/Linux2.2.mk
87 +++ nss
/mozilla
/security
/coreconf
/Linux2.2.mk
89 include $
(CORE_DEPTH
)/coreconf
/Linux.mk
91 OS_REL_CFLAGS
+= -DLINUX2_1
92 -MKSHLIB = $
(CC
) $
(DSO_LDOPTS
) -Wl,-soname -Wl,$
(@
:$
(OBJDIR
)/%.so
=%.so
)
93 +MKSHLIB
= $
(CC
) $
(DSO_LDOPTS
) -Wl,-soname -Wl,$
(SONAME
)
96 MKSHLIB
+= -Wl,--version-script,$
(MAPFILE
)
97 --- nss
/mozilla
/security
/coreconf
/Linux2.4.mk
98 +++ nss
/mozilla
/security
/coreconf
/Linux2.4.mk
100 include $
(CORE_DEPTH
)/coreconf
/Linux.mk
102 OS_REL_CFLAGS
+= -DLINUX2_1
103 -MKSHLIB = $
(CC
) $
(DSO_LDOPTS
) -Wl,-soname -Wl,$
(@
:$
(OBJDIR
)/%.so
=%.so
)
104 +MKSHLIB
= $
(CC
) $
(DSO_LDOPTS
) -Wl,-soname -Wl,$
(SONAME
)
107 MKSHLIB
+= -Wl,--version-script,$
(MAPFILE
)
108 --- nss
/mozilla
/security
/coreconf
/Linux2.5.mk
109 +++ nss
/mozilla
/security
/coreconf
/Linux2.5.mk
111 include $
(CORE_DEPTH
)/coreconf
/Linux.mk
113 OS_REL_CFLAGS
+= -DLINUX2_1
114 -MKSHLIB = $
(CC
) $
(DSO_LDOPTS
) -Wl,-soname -Wl,$
(@
:$
(OBJDIR
)/%.so
=%.so
)
115 +MKSHLIB
= $
(CC
) $
(DSO_LDOPTS
) -Wl,-soname -Wl,$
(SONAME
)
118 MKSHLIB
+= -Wl,--version-script,$
(MAPFILE
)
119 --- nss
/mozilla
/security
/coreconf
/Linux2.6.mk
120 +++ nss
/mozilla
/security
/coreconf
/Linux2.6.mk
122 include $
(CORE_DEPTH
)/coreconf
/Linux.mk
124 OS_REL_CFLAGS
+= -DLINUX2_1
125 -MKSHLIB = $
(CC
) $
(DSO_LDOPTS
) -Wl,-soname -Wl,$
(@
:$
(OBJDIR
)/%.so
=%.so
)
126 +MKSHLIB
= $
(CC
) $
(DSO_LDOPTS
) -Wl,-soname -Wl,$
(SONAME
)
129 MKSHLIB
+= -Wl,--version-script,$
(MAPFILE
)
130 --- nss
/mozilla
/security
/coreconf
/NetBSD.mk
131 +++ nss
/mozilla
/security
/coreconf
/NetBSD.mk
135 ifeq
($
(OBJECT_FMT
),ELF
)
136 -DSO_LDOPTS += -Wl,-soname,lib$
(LIBRARY_NAME
)$
(LIBRARY_VERSION
).$
(DLL_SUFFIX
)
137 +DSO_LDOPTS
+= -Wl,-soname,$
(SONAME
)
141 --- nss
/mozilla
/security
/coreconf
/OSF1.mk
142 +++ nss
/mozilla
/security
/coreconf
/OSF1.mk
146 # The command to build a shared library on OSF1.
147 -MKSHLIB += ld
-shared -expect_unresolved "*" -soname $
(notdir $@
)
148 +MKSHLIB
+= ld
-shared -expect_unresolved "*" -soname $
(SONAME
)
150 MKSHLIB
+= -hidden -input $
(MAPFILE
)
152 --- nss
/mozilla
/security
/coreconf
/OpenBSD.mk
153 +++ nss
/mozilla
/security
/coreconf
/OpenBSD.mk
157 DSO_CFLAGS
= -fPIC -DPIC
158 -DSO_LDOPTS = -shared -fPIC -Wl,-soname,lib$
(LIBRARY_NAME
)$
(LIBRARY_VERSION
).$
(DLL_SUFFIX
)
159 +DSO_LDOPTS
= -shared -fPIC -Wl,-soname,$
(SONAME
)
162 MKSHLIB
= $
(CC
) $
(DSO_LDOPTS
)
163 --- nss
/mozilla
/security
/coreconf
/QNX.mk
164 +++ nss
/mozilla
/security
/coreconf
/QNX.mk
169 -MKSHLIB = $
(CC
) -shared -Wl,-soname -Wl,$
(@
:$
(OBJDIR
)/%.so
=%.so
)
170 +MKSHLIB
= $
(CC
) -shared -Wl,-soname -Wl,$
(SONAME
)
174 --- nss
/mozilla
/security
/coreconf
/ReliantUNIX.mk
175 +++ nss
/mozilla
/security
/coreconf
/ReliantUNIX.mk
180 - MKSHLIB
+= -G -h $
(@
:$
(OBJDIR
)/%.so
=%.so
)
181 + MKSHLIB
+= -G -h $
(SONAME
)
182 DSO_LDOPTS
+= -G -Xlinker -Blargedynsym
184 ## native compiler (CDS++ 1.0)
185 --- nss
/mozilla
/security
/coreconf
/SunOS5.mk
186 +++ nss
/mozilla
/security
/coreconf
/SunOS5.mk
191 - DSO_LDOPTS
+= -shared -h $
(notdir $@
)
192 + DSO_LDOPTS
+= -shared -h $
(SONAME
)
195 ifeq
($
(OS_TEST
),i86pc
)
197 DSO_LDOPTS
+=-xarch=v9
200 - DSO_LDOPTS
+= -G -h $
(notdir $@
)
201 + DSO_LDOPTS
+= -G -h $
(SONAME
)
203 DSO_LDOPTS
+= -z combreloc
-z defs
-z ignore
205 --- nss
/mozilla
/security
/coreconf
/rules.mk
206 +++ nss
/mozilla
/security
/coreconf
/rules.mk
208 $
(INSTALL
) -m 644 $
(SHARED_LIBRARY
:$
(DLL_SUFFIX
)=pdb
) $
(SOURCE_LIB_DIR
)
211 + $
(call MKSHLINKS
,$
(SOURCE_LIB_DIR
))
214 $
(INSTALL
) -m 775 $
(IMPORT_LIBRARY
) $
(SOURCE_LIB_DIR
)
217 ifneq
($
(MD_LIB_RELEASE_FILES
),)
218 $
(INSTALL
) -m 444 $
(MD_LIB_RELEASE_FILES
) $
(SOURCE_RELEASE_PREFIX
)/$
(SOURCE_RELEASE_LIB_DIR
)
219 + $
(call MKSHLINKS
,$
(SOURCE_RELEASE_PREFIX
)/$
(SOURCE_RELEASE_LIB_DIR
))
221 ifneq
($
(MD_BIN_RELEASE_FILES
),)
222 $
(INSTALL
) -m 555 $
(MD_BIN_RELEASE_FILES
) $
(SOURCE_RELEASE_PREFIX
)/$
(SOURCE_RELEASE_BIN_DIR
)
227 +$
(SHARED_LIBRARY_LINKS
): %: $
(SHARED_LIBRARY
)
229 $
(SHARED_LIBRARY
): $
(OBJS
) $
(RES
) $
(MAPFILE
) $
(SUB_SHLOBJS
)
232 --- nss
/mozilla
/security
/coreconf
/ruleset.mk
233 +++ nss
/mozilla
/security
/coreconf
/ruleset.mk
235 ifndef SHARED_LIBRARY
236 SHARED_LIBRARY
= $
(OBJDIR
)/$
(DLL_PREFIX
)$
(LIBRARY_NAME
)$
(LIBRARY_VERSION
)$
(JDK_DEBUG_SUFFIX
).$
(DLL_SUFFIX
)
238 + SONAME
= $
(notdir $
(SHARED_LIBRARY
))
240 + ifneq
(,$
(findstring $
(SONAME
),$
(MKSHLIB
)))
241 + SO_VERSION_MAJOR
:= $
(shell
echo $
(SO_VERSION
) |
sed 's/^\([^.]*\)\(\.[^.]*\)\?\(\.[^.]*\)\?/\1/')
242 + SO_VERSION_MINOR
:= $
(shell
echo $
(SO_VERSION
) |
sed 's/^\([^.]*\)\(\.[^.]*\)\?\(\.[^.]*\)\?/\2/')
243 + SO_VERSION_MICRO
:= $
(shell
echo $
(SO_VERSION
) |
sed 's/^\([^.]*\)\(\.[^.]*\)\?\(\.[^.]*\)\?/\3/')
245 + SHARED_LIBRARY_LINKS
:= $
(SONAME
)
246 + ifdef SO_VERSION_MINOR
247 + SHARED_LIBRARY_LINKS
+= $
(SONAME
).$
(SO_VERSION_MAJOR
)
250 + SONAME
:= $
(SONAME
).$
(SO_VERSION_MAJOR
)
251 + SHARED_LIBRARY
:= $
(SHARED_LIBRARY
).$
(SO_VERSION
)
253 + MKSHLINKS
= (cd $
(1) && for link
in $
(SHARED_LIBRARY_LINKS
); do rm -f $
$link; ln -s $
(notdir $
(SHARED_LIBRARY
)) $
$link; done)
257 ifndef MAPFILE_SOURCE
258 MAPFILE_SOURCE
= $
(LIBRARY_NAME
).def
263 ALL_TRASH
= $
(TARGETS
) $
(OBJS
) $
(OBJDIR
) LOGS TAGS $
(GARBAGE
) \
264 - so_locations $
(BUILT_SRCS
) $
(NOSUCHFILE
)
265 + so_locations $
(BUILT_SRCS
) $
(NOSUCHFILE
) $
(SHARED_LIBRARY_LINKS
)
268 ALL_TRASH
+= $
(JDK_HEADER_CFILES
) $
(JDK_STUB_CFILES
) \
269 --- nss
/mozilla
/security
/nss
/lib
/nss
/manifest.mn
270 +++ nss
/mozilla
/security
/nss
/lib
/nss
/manifest.mn
277 # This part of the code, including all sub-dirs, can be optimized for size
278 export ALLOW_OPT_CODE_SIZE
= 1
279 --- nss
/mozilla
/security
/nss
/lib
/smime
/manifest.mn
280 +++ nss
/mozilla
/security
/nss
/lib
/smime
/manifest.mn
287 # This part of the code, including all sub-dirs, can be optimized for size
288 export ALLOW_OPT_CODE_SIZE
= 1
289 --- nss
/mozilla
/security
/nss
/lib
/ssl
/manifest.mn
290 +++ nss
/mozilla
/security
/nss
/lib
/ssl
/manifest.mn
297 # This part of the code, including all sub-dirs, can be optimized for size
298 export ALLOW_OPT_CODE_SIZE
= 1
299 --- nss
/mozilla
/security
/nss
/lib
/util
/manifest.mn
300 +++ nss
/mozilla
/security
/nss
/lib
/util
/manifest.mn
303 LIBRARY_NAME
= nssutil
307 # This part of the code, including all sub-dirs, can be optimized for size
308 export ALLOW_OPT_CODE_SIZE
= 1