2
mozilla/nsprpub/config/rules.mk | 29 ++++++++++++++++++++++++++++-
3
mozilla/nsprpub/configure.in | 20 ++++++++++----------
4
mozilla/nsprpub/lib/ds/Makefile.in | 3 +++
5
mozilla/nsprpub/lib/libc/src/Makefile.in | 3 +++
6
mozilla/nsprpub/pr/src/Makefile.in | 4 +++-
7
5 files changed, 47 insertions(+), 12 deletions(-)
9
Index: nspr-4.7.1+1.9/mozilla/nsprpub/config/rules.mk
10
===================================================================
11
--- nspr-4.7.1+1.9.orig/mozilla/nsprpub/config/rules.mk
12
+++ nspr-4.7.1+1.9/mozilla/nsprpub/config/rules.mk
16
LIBRARY = $(OBJDIR)/lib$(LIBRARY_NAME)$(LIBRARY_VERSION).$(LIB_SUFFIX)
17
ifeq ($(OS_ARCH)$(OS_RELEASE), AIX4.1)
18
SHARED_LIBRARY = $(OBJDIR)/lib$(LIBRARY_NAME)$(LIBRARY_VERSION)_shr.a
21
SHARED_LIBRARY = $(OBJDIR)/lib$(LIBRARY_NAME)$(LIBRARY_VERSION).$(DLL_SUFFIX)
22
+SONAME = $(notdir $(SHARED_LIBRARY))
25
+ifneq (,$(findstring $(SONAME),$(MKSHLIB)))
26
+SO_VERSION_MAJOR := $(shell echo $(SO_VERSION) | sed 's/^\([^.]*\)\(\.[^.]*\)\?\(\.[^.]*\)\?/\1/')
27
+SO_VERSION_MINOR := $(shell echo $(SO_VERSION) | sed 's/^\([^.]*\)\(\.[^.]*\)\?\(\.[^.]*\)\?/\2/')
28
+SO_VERSION_MICRO := $(shell echo $(SO_VERSION) | sed 's/^\([^.]*\)\(\.[^.]*\)\?\(\.[^.]*\)\?/\3/')
30
+SHARED_LIBRARY_LINKS := $(SONAME)
31
+ifdef SO_VERSION_MINOR
32
+SHARED_LIBRARY_LINKS += $(SONAME).$(SO_VERSION_MAJOR)
34
+ifdef SO_VERSION_MICRO
35
+SHARED_LIBRARY_LINKS += $(SHARED_LIBRARY).$(SO_VERSION_MAJOR)$(SO_VERSION_MINOR)
38
+SONAME := $(SONAME).$(SO_VERSION_MAJOR)
39
+SHARED_LIBRARY := $(SHARED_LIBRARY).$(SO_VERSION)
41
+MKSHLINKS = (cd $(1) && for link in $(SHARED_LIBRARY_LINKS); do rm -f $$link; ln -s $(notdir $(SHARED_LIBRARY)) $$link; done)
52
ifeq (,$(filter-out WINNT OS2,$(OS_ARCH)))
54
$(addprefix $(OBJDIR)/,$(ASFILES:.$(ASM_SUFFIX)=.$(OBJ_SUFFIX)))
57
ifeq ($(MOZ_OS2_TOOLS),VACPP)
58
EXTRA_LIBS := $(patsubst -l%,$(DIST)/lib/%.$(LIB_SUFFIX),$(EXTRA_LIBS))
61
ALL_TRASH = $(TARGETS) $(OBJS) $(RES) $(filter-out . .., $(OBJDIR)) LOGS TAGS $(GARBAGE) \
63
+ $(SHARED_LIBRARY) $(SHARED_LIBRARY_LINKS) $(NOSUCHFILE) \
66
ifeq ($(OS_ARCH),OpenVMS)
67
ALL_TRASH += $(wildcard *.c*_defines)
69
VMS_SYMVEC_FILE = $(SHARED_LIBRARY:.$(DLL_SUFFIX)=_symvec.opt)
70
VMS_SYMVEC_FILE_MODULE = $(srcdir)/$(LIBRARY_NAME)_symvec.opt
71
ALL_TRASH += $(VMS_SYMVEC_FILE)
74
$(NSINSTALL) -t -m 0755 $(RELEASE_BINS) $(DESTDIR)$(bindir)
77
$(NSINSTALL) -t -m 0644 $(RELEASE_HEADERS) $(DESTDIR)$(includedir)/$(include_subdir)
80
$(NSINSTALL) -t -m 0755 $(RELEASE_LIBS) $(DESTDIR)$(libdir)/$(lib_subdir)
81
+ $(call MKSHLINKS,$(DESTDIR)$(libdir)/$(lib_subdir))
87
@echo "Copying executable programs and scripts to release directory"
88
@if test -z "$(BUILD_NUMBER)"; then \
89
echo "BUILD_NUMBER must be defined"; \
93
ifeq ($(OS_TARGET), OS2)
94
$(IMPORT_LIBRARY): $(MAPFILE)
96
$(IMPLIB) $@ $(MAPFILE)
99
+$(SHARED_LIBRARY_LINKS): %: $(SHARED_LIBRARY)
101
$(SHARED_LIBRARY): $(OBJS) $(RES) $(MAPFILE)
104
ifeq ($(OS_ARCH)$(OS_RELEASE), AIX4.1)
105
echo "#!" > $(OBJDIR)/lib$(LIBRARY_NAME)_syms
106
nm -B -C -g $(OBJS) \
107
| awk '/ [T,D] / {print $$3}' \
109
@@ -360,16 +386,17 @@
110
@if test ! -f $(VMS_SYMVEC_FILE); then \
111
if test -f $(VMS_SYMVEC_FILE_MODULE); then \
112
echo Creating component options file $(VMS_SYMVEC_FILE); \
113
cp $(VMS_SYMVEC_FILE_MODULE) $(VMS_SYMVEC_FILE); \
117
$(MKSHLIB) $(OBJS) $(RES) $(EXTRA_LIBS)
118
+ $(call MKSHLINKS,.)
120
endif # WINNT && !GCC
126
ifeq ($(OS_ARCH),WINNT)
127
Index: nspr-4.7.1+1.9/mozilla/nsprpub/configure.in
128
===================================================================
129
--- nspr-4.7.1+1.9.orig/mozilla/nsprpub/configure.in
130
+++ nspr-4.7.1+1.9/mozilla/nsprpub/configure.in
131
@@ -982,17 +982,17 @@
133
AC_DEFINE(_PR_SELECT_CONST_TIMEVAL)
134
AC_DEFINE(_PR_BSDI_JMPBUF_IS_STRUCT)
137
AC_DEFINE(_PR_STAT_HAS_ST_ATIMESPEC)
138
MKSHLIB='$(CC) -o $@ $(DSO_LDOPTS)'
140
- DSO_LDOPTS='-shared -Wl,-soname,$(@:$(OBJDIR)/%.so=%.so)'
141
+ DSO_LDOPTS='-shared -Wl,-soname,$(SONAME)'
144
bsdi4.2* | bsdi4.3* | bsdi5.*)
145
AC_DEFINE(_PR_HAVE_GETPROTO_R)
146
AC_DEFINE(_PR_HAVE_GETPROTO_R_POINTER)
150
@@ -1184,32 +1184,32 @@
151
MOZ_OBJFORMAT=`test -x /usr/bin/objformat && /usr/bin/objformat || echo aout`
152
if test "$MOZ_OBJFORMAT" = "elf"; then
157
MKSHLIB='$(CC) $(DSO_LDOPTS) -o $@'
159
- DSO_LDOPTS='-shared -Wl,-soname -Wl,$(notdir $@)'
160
+ DSO_LDOPTS='-shared -Wl,-soname -Wl,$(SONAME)'
161
MDCPUCFG_H=_freebsd.cfg
162
PR_MD_CSRCS=freebsd.c
168
AC_DEFINE(_HPUX_SOURCE)
169
# OSF1 and HPUX report the POLLHUP event for a socket when the
170
# shutdown(SHUT_WR) operation is called for the remote end, even though
171
# the socket is still writeable. Use select(), instead of poll(), to
172
# workaround this problem.
173
AC_DEFINE(_PR_POLL_WITH_SELECT)
174
AC_DEFINE(_USE_BIG_FDS)
175
- DSO_LDOPTS='-b +h $(notdir $@)'
176
+ DSO_LDOPTS='-b +h $(SONAME)'
178
if test "$OS_TEST" = "ia64"; then
180
DSO_LDOPTS="$DSO_LDOPTS +b '\$\$ORIGIN'"
181
CPU_ARCH_TAG=_$OS_TEST
182
if test -z "$USE_64"; then
185
@@ -1455,17 +1455,17 @@
188
CFLAGS="$CFLAGS -Wall"
189
CXXFLAGS="$CXXFLAGS -Wall"
190
MDCPUCFG_H=_linux.cfg
192
MKSHLIB='$(CC) $(DSO_LDOPTS) -o $@'
194
- DSO_LDOPTS='-shared -Wl,-soname -Wl,$(notdir $@)'
195
+ DSO_LDOPTS='-shared -Wl,-soname -Wl,$(SONAME)'
197
_DEBUG_FLAGS="-g -fno-inline" # most people on linux use gcc/gdb, and that
198
# combo is not yet good at debugging inlined
199
# functions (even when using DWARF2 as the
202
if echo "$OS_TEST" | grep -c 86 >/dev/null; then
204
@@ -1753,17 +1753,17 @@
205
if test -z "$OBJECT_FMT"; then
206
if echo __ELF__ | ${CC-cc} -E - | grep -q __ELF__ 2>/dev/null; then
213
- DSO_LDOPTS='-shared -Wl,-soname,$(notdir $@)'
214
+ DSO_LDOPTS='-shared -Wl,-soname,$(SONAME)'
218
if test "$LIBRUNPATH"; then
219
DSO_LDOPTS="$DSO_LDOPTS -Wl,-R$LIBRUNPATH"
223
@@ -1799,17 +1799,17 @@
228
AC_DEFINE(_QNX_SOURCE)
229
AC_DEFINE(HAVE_POINTER_LOCALTIME_R)
232
- MKSHLIB='$(CC) $(DSO_LDOPTS) -Wl,-soname -Wl,$(notdir $@) -o $@'
233
+ MKSHLIB='$(CC) $(DSO_LDOPTS) -Wl,-soname -Wl,$(SONAME) -o $@'
236
OS_LIBS="$OS_LIBS -lsocket"
237
_OPTIMIZE_FLAGS="-O1"
238
_DEBUG_FLAGS="-gstabs"
242
@@ -1878,17 +1878,17 @@
243
AC_DEFINE(HAVE_INT_LOCALTIME_R)
245
AC_DEFINE(HAVE_FCNTL_FILE_LOCKING)
246
AC_DEFINE(HAVE_POINTER_LOCALTIME_R)
248
if echo $OS_RELEASE | grep -c V4.0 >/dev/null; then
249
AC_DEFINE(OSF1V4_MAP_PRIVATE_BUG)
251
- DSO_LDOPTS='-shared -all -expect_unresolved "*" -soname $(notdir $@)'
252
+ DSO_LDOPTS='-shared -all -expect_unresolved "*" -soname $(SONAME)'
260
AC_DEFINE(_PR_NEED_H_ERRNO)
261
@@ -1944,17 +1944,17 @@
264
CFLAGS="$CFLAGS -Wall -Wno-format"
267
_OPTIMIZE_FLAGS='-O -F Olimit,4000'
270
- DSO_LDOPTS='-G -z defs -h $(@:$(OBJDIR)/%.so=%.so)'
271
+ DSO_LDOPTS='-G -z defs -h $(SONAME)'
273
if test "$OS_RELEASE" = "5.43"; then
274
AC_DEFINE(IP_MULTICAST)
277
OS_LIBS="$OS_LIBS -lsocket -lnsl -lresolv -ldl -lc"
279
MDCPUCFG_H=_reliantunix.cfg
280
@@ -2000,20 +2000,20 @@
282
MKSHLIB='$(CC) $(DSO_LDOPTS) -o $@'
283
RESOLVE_LINK_SYMBOLS=1
284
if test -n "$GNU_CC"; then
286
if `$CC -print-prog-name=ld` -v 2>&1 | grep -c GNU >/dev/null; then
289
- DSO_LDOPTS='-shared -Wl,-h,$(notdir $@),-z,combreloc,-z,defs,-z,ignore'
290
+ DSO_LDOPTS='-shared -Wl,-h,$(SONAME),-z,combreloc,-z,defs,-z,ignore'
293
- DSO_LDOPTS='-G -h $(notdir $@) -z combreloc -z defs -z ignore'
294
+ DSO_LDOPTS='-G -h $(SONAME) -z combreloc -z defs -z ignore'
296
if test -n "$GNU_CC"; then
297
CFLAGS="$CFLAGS -Wall"
298
CXXFLAGS="$CXXFLAGS -Wall"
299
if test -n "$USE_MDUPDATE"; then
300
CFLAGS="$CFLAGS -MDupdate \$(DEPENDENCIES)"
301
CXXFLAGS="$CXXFLAGS -MDupdate \$(DEPENDENCIES)"
303
Index: nspr-4.7.1+1.9/mozilla/nsprpub/lib/ds/Makefile.in
304
===================================================================
305
--- nspr-4.7.1+1.9.orig/mozilla/nsprpub/lib/ds/Makefile.in
306
+++ nspr-4.7.1+1.9/mozilla/nsprpub/lib/ds/Makefile.in
307
@@ -117,16 +117,17 @@
310
ifdef RESOLVE_LINK_SYMBOLS
311
EXTRA_LIBS += $(OS_LIBS)
315
LIBRARY_VERSION = $(MOD_MAJOR_VERSION)
318
RELEASE_HEADERS = $(HEADERS)
319
RELEASE_HEADERS_DEST = $(RELEASE_INCLUDE_DIR)
320
RELEASE_LIBS = $(TARGETS)
322
include $(topsrcdir)/config/rules.mk
325
@@ -175,22 +176,24 @@
327
# The Client build wants the shared libraries in $(dist_bindir),
328
# so we also install them there.
332
$(INSTALL) -m 444 $(HEADERS) $(dist_includedir)
333
$(INSTALL) -m 444 $(TARGETS) $(dist_libdir)
334
+ $(call MKSHLINKS,$(dist_libdir))
336
ifeq ($(OS_ARCH),HP-UX)
337
$(INSTALL) -m 755 $(SHARED_LIBRARY) $(dist_libdir)
338
$(INSTALL) -m 755 $(SHARED_LIBRARY) $(dist_bindir)
340
$(INSTALL) -m 444 $(SHARED_LIBRARY) $(dist_bindir)
341
+ $(call MKSHLINKS,$(dist_bindir))
344
ifeq ($(MOZ_BITS),16)
345
$(INSTALL) -m 444 $(HEADERS) $(MOZ_INCL)
346
$(INSTALL) -m 444 $(TARGETS) $(MOZ_DIST)/lib
347
$(INSTALL) -m 444 $(TARGETS) $(MOZ_DIST)/bin
350
Index: nspr-4.7.1+1.9/mozilla/nsprpub/lib/libc/src/Makefile.in
351
===================================================================
352
--- nspr-4.7.1+1.9.orig/mozilla/nsprpub/lib/libc/src/Makefile.in
353
+++ nspr-4.7.1+1.9/mozilla/nsprpub/lib/libc/src/Makefile.in
362
LIBRARY_VERSION = $(MOD_MAJOR_VERSION)
365
RELEASE_LIBS = $(TARGETS)
367
ifeq ($(OS_ARCH),WINNT)
368
RES=$(OBJDIR)/plc.res
372
@@ -177,21 +178,23 @@
375
# The Client build wants the shared libraries in $(dist_bindir),
376
# so we also install them there.
380
$(INSTALL) -m 444 $(TARGETS) $(dist_libdir)
381
+ $(call MKSHLINKS,$(dist_libdir))
383
ifeq ($(OS_ARCH),HP-UX)
384
$(INSTALL) -m 755 $(SHARED_LIBRARY) $(dist_libdir)
385
$(INSTALL) -m 755 $(SHARED_LIBRARY) $(dist_bindir)
387
$(INSTALL) -m 444 $(SHARED_LIBRARY) $(dist_bindir)
388
+ $(call MKSHLINKS,$(dist_bindir))
391
ifeq ($(MOZ_BITS),16)
392
$(INSTALL) -m 444 $(TARGETS) $(MOZ_DIST)/lib
393
$(INSTALL) -m 444 $(TARGETS) $(MOZ_DIST)/bin
396
Index: nspr-4.7.1+1.9/mozilla/nsprpub/pr/src/Makefile.in
397
===================================================================
398
--- nspr-4.7.1+1.9.orig/mozilla/nsprpub/pr/src/Makefile.in
399
+++ nspr-4.7.1+1.9/mozilla/nsprpub/pr/src/Makefile.in
400
@@ -328,16 +328,17 @@
402
include $(srcdir)/md/$(PR_MD_ARCH_DIR)/objs.mk
404
include $(srcdir)/bthreads/objs.mk
408
LIBRARY_VERSION = $(MOD_MAJOR_VERSION)
411
RELEASE_LIBS = $(TARGETS)
413
include $(topsrcdir)/config/rules.mk
415
ifeq ($(BUILD_AIX_RTL_LIBC),1)
416
TARGETS += $(AIX_RTL_LIBC)
417
# XXX is this a shared library?
418
@@ -398,27 +399,28 @@
421
# The Client build wants the shared libraries in $(dist_bindir)
422
# so we also install them there.
426
$(INSTALL) -m 444 $(TARGETS) $(dist_libdir)
427
+ $(call MKSHLINKS,$(dist_libdir))
429
ifeq ($(OS_ARCH),HP-UX)
430
$(INSTALL) -m 755 $(SHARED_LIBRARY) $(dist_libdir)
431
$(INSTALL) -m 755 $(SHARED_LIBRARY) $(dist_bindir)
433
$(INSTALL) -m 444 $(SHARED_LIBRARY) $(dist_bindir)
434
+ $(call MKSHLINKS,$(dist_bindir))
437
ifeq ($(MOZ_BITS),16)
438
$(INSTALL) -m 444 $(TARGETS) $(MOZ_DIST)/lib
439
$(INSTALL) -m 444 $(TARGETS) $(MOZ_DIST)/bin
442
ifeq ($(BUILD_AIX_RTL_LIBC),1)
443
$(AIX_RTL_LIBC): /usr/ccs/lib/libc.a