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 --- nspr
/mozilla
/nsprpub
/config
/rules.mk
10 +++ nspr
/mozilla
/nsprpub
/config
/rules.mk
14 SHARED_LIBRARY
= $
(OBJDIR
)/lib$
(LIBRARY_NAME
)$
(LIBRARY_VERSION
).$
(DLL_SUFFIX
)
15 +SONAME
= $
(notdir $
(SHARED_LIBRARY
))
18 +ifneq
(,$
(findstring $
(SONAME
),$
(MKSHLIB
)))
19 +SO_VERSION_MAJOR
:= $
(shell
echo $
(SO_VERSION
) |
sed 's/^\([^.]*\)\(\.[^.]*\)\?\(\.[^.]*\)\?/\1/')
20 +SO_VERSION_MINOR
:= $
(shell
echo $
(SO_VERSION
) |
sed 's/^\([^.]*\)\(\.[^.]*\)\?\(\.[^.]*\)\?/\2/')
21 +SO_VERSION_MICRO
:= $
(shell
echo $
(SO_VERSION
) |
sed 's/^\([^.]*\)\(\.[^.]*\)\?\(\.[^.]*\)\?/\3/')
23 +SHARED_LIBRARY_LINKS
:= $
(SONAME
)
24 +ifdef SO_VERSION_MINOR
25 +SHARED_LIBRARY_LINKS
+= $
(SONAME
).$
(SO_VERSION_MAJOR
)
27 +ifdef SO_VERSION_MICRO
28 +SHARED_LIBRARY_LINKS
+= $
(SHARED_LIBRARY
).$
(SO_VERSION_MAJOR
)$
(SO_VERSION_MINOR
)
31 +SONAME
:= $
(SONAME
).$
(SO_VERSION_MAJOR
)
32 +SHARED_LIBRARY
:= $
(SHARED_LIBRARY
).$
(SO_VERSION
)
34 +MKSHLINKS
= (cd $
(1) && for link
in $
(SHARED_LIBRARY_LINKS
); do rm -f $
$link; ln -s $
(notdir $
(SHARED_LIBRARY
)) $
$link; done)
45 ifeq
(,$
(filter-out WINNT OS2
,$
(OS_ARCH
)))
46 TARGETS
= $
(LIBRARY
) $
(SHARED_LIBRARY
) $
(IMPORT_LIBRARY
)
50 ALL_TRASH
= $
(TARGETS
) $
(OBJS
) $
(RES
) $
(filter-out . ..
, $
(OBJDIR
)) LOGS TAGS $
(GARBAGE
) \
52 + $
(SHARED_LIBRARY_LINKS
) $
(NOSUCHFILE
) \
55 ifeq
($
(OS_ARCH
),OpenVMS
)
59 $
(NSINSTALL
) -t -m 0755 $
(RELEASE_LIBS
) $
(DESTDIR
)$
(libdir
)/$
(lib_subdir
)
60 + $
(call MKSHLINKS
,$
(DESTDIR
)$
(libdir
)/$
(lib_subdir
))
65 $
(IMPLIB
) $@ $
(MAPFILE
)
68 +$
(SHARED_LIBRARY_LINKS
): %: $
(SHARED_LIBRARY
)
70 $
(SHARED_LIBRARY
): $
(OBJS
) $
(RES
) $
(MAPFILE
)
76 $
(MKSHLIB
) $
(OBJS
) $
(RES
) $
(EXTRA_LIBS
)
81 --- nspr
/mozilla
/nsprpub
/configure.
in
82 +++ nspr
/mozilla
/nsprpub
/configure.
in
84 AC_DEFINE
(_PR_STAT_HAS_ST_ATIMESPEC
)
85 MKSHLIB
='$(CC) -o $@ $(DSO_LDOPTS)'
87 - DSO_LDOPTS
='-shared -Wl,-soname,$(@:$(OBJDIR)/%.so=%.so)'
88 + DSO_LDOPTS
='-shared -Wl,-soname,$(SONAME)'
91 bsdi4.2
* | bsdi4.3
* | bsdi5.
*)
94 MKSHLIB
='$(CC) $(DSO_LDOPTS) -o $@'
96 - DSO_LDOPTS
='-shared -Wl,-soname -Wl,$(notdir $@)'
97 + DSO_LDOPTS
='-shared -Wl,-soname -Wl,$(SONAME)'
98 MDCPUCFG_H
=_freebsd.cfg
101 @@
-1059,7 +1059,7 @@
102 # workaround this problem.
103 AC_DEFINE
(_PR_POLL_WITH_SELECT
)
104 AC_DEFINE
(_USE_BIG_FDS
)
105 - DSO_LDOPTS
='-b +h $(notdir $@)'
106 + DSO_LDOPTS
='-b +h $(SONAME)'
108 if test "$OS_TEST" = "ia64"; then
110 @@
-1304,7 +1304,7 @@
112 MKSHLIB
='$(CC) $(DSO_LDOPTS) -o $@'
114 - DSO_LDOPTS
='-shared -Wl,-soname -Wl,$(notdir $@)'
115 + DSO_LDOPTS
='-shared -Wl,-soname -Wl,$(SONAME)'
117 _DEBUG_FLAGS
="-g -fno-inline" # most people on linux use gcc/gdb, and that
118 # combo is not yet good at debugging inlined
119 @@
-1561,7 +1561,7 @@
123 - DSO_LDOPTS
='-shared -Wl,-soname,$(notdir $@)'
124 + DSO_LDOPTS
='-shared -Wl,-soname,$(SONAME)'
128 @@
-1607,7 +1607,7 @@
129 AC_DEFINE
(HAVE_POINTER_LOCALTIME_R
)
132 - MKSHLIB
='$(CC) $(DSO_LDOPTS) -Wl,-soname -Wl,$(notdir $@) -o $@'
133 + MKSHLIB
='$(CC) $(DSO_LDOPTS) -Wl,-soname -Wl,$(SONAME) -o $@'
136 OS_LIBS
="$OS_LIBS -lsocket"
137 @@
-1685,7 +1685,7 @@
138 if echo $OS_RELEASE |
grep -c V4.0
>/dev
/null
; then
139 AC_DEFINE
(OSF1V4_MAP_PRIVATE_BUG
)
141 - DSO_LDOPTS
='-shared -all -expect_unresolved "*" -soname $(notdir $@)'
142 + DSO_LDOPTS
='-shared -all -expect_unresolved "*" -soname $(SONAME)'
146 @@
-1751,7 +1751,7 @@
147 _OPTIMIZE_FLAGS
='-O -F Olimit,4000'
150 - DSO_LDOPTS
='-G -z defs -h $(@:$(OBJDIR)/%.so=%.so)'
151 + DSO_LDOPTS
='-G -z defs -h $(SONAME)'
153 if test "$OS_RELEASE" = "5.43"; then
154 AC_DEFINE
(IP_MULTICAST
)
155 @@
-1807,10 +1807,10 @@
156 if `$CC -print-prog-name=ld` -v 2>&1 |
grep -c GNU
>/dev
/null
; then
159 - DSO_LDOPTS
='-shared -Wl,-h,$(notdir $@),-z,combreloc,-z,defs,-z,ignore'
160 + DSO_LDOPTS
='-shared -Wl,-h,$(SONAME),-z,combreloc,-z,defs,-z,ignore'
163 - DSO_LDOPTS
='-G -h $(notdir $@) -z combreloc -z defs -z ignore'
164 + DSO_LDOPTS
='-G -h $(SONAME) -z combreloc -z defs -z ignore'
166 if test -n "$GNU_CC"; then
167 CFLAGS
="$CFLAGS -Wall"
168 --- nspr
/mozilla
/nsprpub
/lib
/ds
/Makefile.
in
169 +++ nspr
/mozilla
/nsprpub
/lib
/ds
/Makefile.
in
173 LIBRARY_VERSION
= $
(MOD_MAJOR_VERSION
)
176 RELEASE_HEADERS
= $
(HEADERS
)
177 RELEASE_HEADERS_DEST
= $
(RELEASE_INCLUDE_DIR
)
178 @@
-185,12 +186,14 @@
180 $
(INSTALL
) -m 444 $
(HEADERS
) $
(dist_includedir
)
181 $
(INSTALL
) -m 444 $
(TARGETS
) $
(dist_libdir
)
182 + $
(call MKSHLINKS
,$
(dist_libdir
))
184 ifeq
($
(OS_ARCH
),HP-UX
)
185 $
(INSTALL
) -m 755 $
(SHARED_LIBRARY
) $
(dist_libdir
)
186 $
(INSTALL
) -m 755 $
(SHARED_LIBRARY
) $
(dist_bindir
)
188 $
(INSTALL
) -m 444 $
(SHARED_LIBRARY
) $
(dist_bindir
)
189 + $
(call MKSHLINKS
,$
(dist_bindir
))
192 ifeq
($
(MOZ_BITS
),16)
193 --- nspr
/mozilla
/nsprpub
/lib
/libc
/src
/Makefile.
in
194 +++ nspr
/mozilla
/nsprpub
/lib
/libc
/src
/Makefile.
in
198 LIBRARY_VERSION
= $
(MOD_MAJOR_VERSION
)
201 RELEASE_LIBS
= $
(TARGETS
)
203 @@
-187,12 +188,14 @@
206 $
(INSTALL
) -m 444 $
(TARGETS
) $
(dist_libdir
)
207 + $
(call MKSHLINKS
,$
(dist_libdir
))
209 ifeq
($
(OS_ARCH
),HP-UX
)
210 $
(INSTALL
) -m 755 $
(SHARED_LIBRARY
) $
(dist_libdir
)
211 $
(INSTALL
) -m 755 $
(SHARED_LIBRARY
) $
(dist_bindir
)
213 $
(INSTALL
) -m 444 $
(SHARED_LIBRARY
) $
(dist_bindir
)
214 + $
(call MKSHLINKS
,$
(dist_bindir
))
217 ifeq
($
(MOZ_BITS
),16)
218 --- nspr
/mozilla
/nsprpub
/pr
/src
/Makefile.
in
219 +++ nspr
/mozilla
/nsprpub
/pr
/src
/Makefile.
in
223 LIBRARY_VERSION
= $
(MOD_MAJOR_VERSION
)
226 RELEASE_LIBS
= $
(TARGETS
)
228 @@
-402,12 +403,14 @@
231 $
(INSTALL
) -m 444 $
(TARGETS
) $
(dist_libdir
)
232 + $
(call MKSHLINKS
,$
(dist_libdir
))
234 ifeq
($
(OS_ARCH
),HP-UX
)
235 $
(INSTALL
) -m 755 $
(SHARED_LIBRARY
) $
(dist_libdir
)
236 $
(INSTALL
) -m 755 $
(SHARED_LIBRARY
) $
(dist_bindir
)
238 $
(INSTALL
) -m 444 $
(SHARED_LIBRARY
) $
(dist_bindir
)
239 + $
(call MKSHLINKS
,$
(dist_bindir
))
242 ifeq
($
(MOZ_BITS
),16)