| @@ -1,81 +1,83 @@ | | | @@ -1,81 +1,83 @@ |
1 | $NetBSD: patch-nss_coreconf_NetBSD.mk,v 1.3 2021/05/01 21:52:02 wiz Exp $ | | 1 | $NetBSD: patch-nss_coreconf_NetBSD.mk,v 1.4 2021/05/05 16:54:03 wiz Exp $ |
2 | | | 2 | |
3 | Match more closely to OpenBSD.mk, and in particular, hide symbols (MAPFILE). | | 3 | Match more closely to OpenBSD.mk, and in particular, hide symbols (MAPFILE). |
4 | | | 4 | |
5 | - fix wrong value of CPU_ARCH on NetBSD/evbarm-earmv7f | | 5 | - fix wrong value of CPU_ARCH on NetBSD/evbarm-earmv7f |
6 | - s/aarch64eb/aarch64/ | | 6 | - s/aarch64eb/aarch64/ |
7 | | | 7 | |
| | | 8 | https://bugzilla.mozilla.org/show_bug.cgi?id=1709654 |
| | | 9 | |
8 | --- nss/coreconf/NetBSD.mk.orig 2021-04-15 16:17:44.000000000 +0000 | | 10 | --- nss/coreconf/NetBSD.mk.orig 2021-04-15 16:17:44.000000000 +0000 |
9 | +++ nss/coreconf/NetBSD.mk | | 11 | +++ nss/coreconf/NetBSD.mk |
10 | @@ -5,9 +5,10 @@ | | 12 | @@ -5,9 +5,10 @@ |
11 | | | 13 | |
12 | include $(CORE_DEPTH)/coreconf/UNIX.mk | | 14 | include $(CORE_DEPTH)/coreconf/UNIX.mk |
13 | | | 15 | |
14 | -DEFAULT_COMPILER = gcc | | 16 | -DEFAULT_COMPILER = gcc |
15 | -CC = gcc | | 17 | -CC = gcc |
16 | -CCC = g++ | | 18 | -CCC = g++ |
17 | +CC ?= gcc | | 19 | +CC ?= gcc |
18 | +CXX ?= g++ | | 20 | +CXX ?= g++ |
19 | +DEFAULT_COMPILER = ${CC} | | 21 | +DEFAULT_COMPILER = ${CC} |
20 | +CCC = ${CXX} | | 22 | +CCC = ${CXX} |
21 | RANLIB = ranlib | | 23 | RANLIB = ranlib |
22 | | | 24 | |
23 | CPU_ARCH := $(shell uname -p) | | 25 | CPU_ARCH := $(shell uname -p) |
24 | @@ -15,16 +16,14 @@ ifeq ($(CPU_ARCH),i386) | | 26 | @@ -15,16 +16,14 @@ ifeq ($(CPU_ARCH),i386) |
25 | OS_REL_CFLAGS = -Di386 | | 27 | OS_REL_CFLAGS = -Di386 |
26 | CPU_ARCH = x86 | | 28 | CPU_ARCH = x86 |
27 | endif | | 29 | endif |
28 | - | | 30 | - |
29 | -ifndef OBJECT_FMT | | 31 | -ifndef OBJECT_FMT |
30 | -OBJECT_FMT := $(shell if echo __ELF__ | $${CC:-cc} -E - | grep -q __ELF__ ; then echo a.out ; else echo ELF ; fi) | | 32 | -OBJECT_FMT := $(shell if echo __ELF__ | $${CC:-cc} -E - | grep -q __ELF__ ; then echo a.out ; else echo ELF ; fi) |
31 | +ifeq (,$(filter-out earm%,$(CPU_ARCH))) | | 33 | +ifeq (,$(filter-out earm%,$(CPU_ARCH))) |
32 | +CPU_ARCH = arm | | 34 | +CPU_ARCH = arm |
33 | +endif | | 35 | +endif |
34 | +ifeq ($(CPU_ARCH),aarch64eb) | | 36 | +ifeq ($(CPU_ARCH),aarch64eb) |
35 | +CPU_ARCH = aarch64 | | 37 | +CPU_ARCH = aarch64 |
36 | endif | | 38 | endif |
37 | | | 39 | |
38 | -ifeq ($(OBJECT_FMT),ELF) | | 40 | -ifeq ($(OBJECT_FMT),ELF) |
39 | DLL_SUFFIX = so | | 41 | DLL_SUFFIX = so |
40 | -else | | 42 | -else |
41 | -DLL_SUFFIX = so.1.0 | | 43 | -DLL_SUFFIX = so.1.0 |
42 | -endif | | 44 | -endif |
43 | | | 45 | |
44 | OS_CFLAGS = $(DSO_CFLAGS) $(OS_REL_CFLAGS) -Wall -Wno-switch -pipe -DNETBSD -Dunix -DHAVE_STRERROR -DHAVE_BSD_FLOCK | | 46 | OS_CFLAGS = $(DSO_CFLAGS) $(OS_REL_CFLAGS) -Wall -Wno-switch -pipe -DNETBSD -Dunix -DHAVE_STRERROR -DHAVE_BSD_FLOCK |
45 | | | 47 | |
46 | @@ -33,9 +32,16 @@ OS_LIBS = -lcompat | | 48 | @@ -33,9 +32,16 @@ OS_LIBS = -lcompat |
47 | ARCH = netbsd | | 49 | ARCH = netbsd |
48 | | | 50 | |
49 | DSO_CFLAGS = -fPIC -DPIC | | 51 | DSO_CFLAGS = -fPIC -DPIC |
50 | -DSO_LDOPTS = -shared | | 52 | -DSO_LDOPTS = -shared |
51 | -ifeq ($(OBJECT_FMT),ELF) | | 53 | -ifeq ($(OBJECT_FMT),ELF) |
52 | -DSO_LDOPTS += -Wl,-soname,lib$(LIBRARY_NAME)$(LIBRARY_VERSION).$(DLL_SUFFIX) | | 54 | -DSO_LDOPTS += -Wl,-soname,lib$(LIBRARY_NAME)$(LIBRARY_VERSION).$(DLL_SUFFIX) |
53 | +DSO_LDOPTS = -shared -Wl,-soname,lib$(LIBRARY_NAME)$(LIBRARY_VERSION).$(DLL_SUFFIX) | | 55 | +DSO_LDOPTS = -shared -Wl,-soname,lib$(LIBRARY_NAME)$(LIBRARY_VERSION).$(DLL_SUFFIX) |
54 | + | | 56 | + |
55 | +# | | 57 | +# |
56 | +# The default implementation strategy for NetBSD is pthreads. | | 58 | +# The default implementation strategy for NetBSD is pthreads. |
57 | +# | | 59 | +# |
58 | +ifndef CLASSIC_NSPR | | 60 | +ifndef CLASSIC_NSPR |
59 | +USE_PTHREADS = 1 | | 61 | +USE_PTHREADS = 1 |
60 | +DEFINES += -D_THREAD_SAFE -D_REENTRANT | | 62 | +DEFINES += -D_THREAD_SAFE -D_REENTRANT |
61 | +OS_LIBS += -pthread | | 63 | +OS_LIBS += -pthread |
62 | +DSO_LDOPTS += -pthread | | 64 | +DSO_LDOPTS += -pthread |
63 | endif | | 65 | endif |
64 | | | 66 | |
65 | ifdef LIBRUNPATH | | 67 | ifdef LIBRUNPATH |
66 | @@ -44,12 +50,8 @@ endif | | 68 | @@ -44,12 +50,8 @@ endif |
67 | | | 69 | |
68 | MKSHLIB = $(CC) $(DSO_LDOPTS) | | 70 | MKSHLIB = $(CC) $(DSO_LDOPTS) |
69 | ifdef MAPFILE | | 71 | ifdef MAPFILE |
70 | -# Add LD options to restrict exported symbols to those in the map file | | 72 | -# Add LD options to restrict exported symbols to those in the map file |
71 | + MKSHLIB += -Wl,--version-script,$(MAPFILE) | | 73 | + MKSHLIB += -Wl,--version-script,$(MAPFILE) |
72 | endif | | 74 | endif |
73 | -# Change PROCESS to put the mapfile in the correct format for this platform | | 75 | -# Change PROCESS to put the mapfile in the correct format for this platform |
74 | -PROCESS_MAP_FILE = cp $< $@ | | 76 | -PROCESS_MAP_FILE = cp $< $@ |
75 | - | | 77 | - |
76 | - | | 78 | - |
77 | -G++INCLUDES = -I/usr/include/g++ | | 79 | -G++INCLUDES = -I/usr/include/g++ |
78 | +PROCESS_MAP_FILE = grep -v ';-' $< | \ | | 80 | +PROCESS_MAP_FILE = grep -v ';-' $< | \ |
79 | + sed -e 's,;+,,' -e 's; DATA ;;' -e 's,;;,,' -e 's,;.*,;,' > $@ | | 81 | + sed -e 's,;+,,' -e 's; DATA ;;' -e 's,;;,,' -e 's,;.*,;,' > $@ |
80 | | | 82 | |
81 | -INCLUDES += -I/usr/X11R6/include | | 83 | -INCLUDES += -I/usr/X11R6/include |