Bug 1708243 - Part 2: stop using sender data from the child process r=robwu,agi
[gecko.git] / security / nss / cmd / platlibs.mk
blob64017788262b70ff314999fd452e2d99daf50267
2 # This Source Code Form is subject to the terms of the Mozilla Public
3 # License, v. 2.0. If a copy of the MPL was not distributed with this
4 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
6 ifeq ($(BUILD_SUN_PKG), 1)
8 # set RPATH-type linker instructions here so they can be used in the shared
9 # version and in the mixed (static nss libs/shared NSPR libs) version.
11 ifeq ($(OS_ARCH), SunOS)
12 ifeq ($(USE_64), 1)
13 EXTRA_SHARED_LIBS += -R '$$ORIGIN/../lib:/usr/lib/mps/secv1/64:/usr/lib/mps/64'
14 else
15 EXTRA_SHARED_LIBS += -R '$$ORIGIN/../lib:/usr/lib/mps/secv1:/usr/lib/mps'
16 endif
17 endif
19 ifeq ($(OS_ARCH), Linux)
20 ifeq ($(USE_64), 1)
21 EXTRA_SHARED_LIBS += -Wl,-rpath,'$$ORIGIN/../lib64:/opt/sun/private/lib64:$$ORIGIN/../lib'
22 else
23 EXTRA_SHARED_LIBS += -Wl,-rpath,'$$ORIGIN/../lib:/opt/sun/private/lib'
24 endif
25 endif
27 endif # BUILD_SUN_PKG
29 ifdef NSS_DISABLE_DBM
30 DBMLIB = $(NULL)
31 else
32 DBMLIB = $(DIST)/lib/$(LIB_PREFIX)dbm.$(LIB_SUFFIX)
33 endif
35 ifeq ($(NSS_BUILD_UTIL_ONLY),1)
36 SECTOOL_LIB = $(NULL)
37 else
38 SECTOOL_LIB = $(DIST)/lib/$(LIB_PREFIX)sectool.$(LIB_SUFFIX)
39 endif
41 ifdef USE_STATIC_LIBS
43 DEFINES += -DNSS_USE_STATIC_LIBS
44 # $(PROGRAM) has explicit dependencies on $(EXTRA_LIBS)
45 ifndef NSS_USE_SYSTEM_FREEBL
46 CRYPTOLIB=$(DIST)/lib/$(LIB_PREFIX)freebl.$(LIB_SUFFIX)
47 SOFTOKENLIB=$(DIST)/lib/$(LIB_PREFIX)softokn.$(LIB_SUFFIX)
48 else
49 # Use the system installed freebl static library and set softoken one to empty.
50 # Some tools need to link statically with freebl but none with softoken. Only
51 # the softoken shared library, not the static one, is installed in the system.
52 CRYPTOLIB=$(FREEBL_LIB_DIR)/$(LIB_PREFIX)freebl.$(LIB_SUFFIX)
53 SOFTOKENLIB=
54 EXTRA_SHARED_LIBS += \
55 -L$(SOFTOKEN_LIB_DIR) \
56 -lsoftokn3 \
57 $(NULL)
58 endif
60 ifndef NSS_DISABLE_LIBPKIX
61 ifndef NSS_BUILD_SOFTOKEN_ONLY
62 PKIXLIB = \
63 $(DIST)/lib/$(LIB_PREFIX)pkixtop.$(LIB_SUFFIX) \
64 $(DIST)/lib/$(LIB_PREFIX)pkixutil.$(LIB_SUFFIX) \
65 $(DIST)/lib/$(LIB_PREFIX)pkixsystem.$(LIB_SUFFIX) \
66 $(DIST)/lib/$(LIB_PREFIX)pkixcrlsel.$(LIB_SUFFIX) \
67 $(DIST)/lib/$(LIB_PREFIX)pkixmodule.$(LIB_SUFFIX) \
68 $(DIST)/lib/$(LIB_PREFIX)pkixstore.$(LIB_SUFFIX) \
69 $(DIST)/lib/$(LIB_PREFIX)pkixparams.$(LIB_SUFFIX) \
70 $(DIST)/lib/$(LIB_PREFIX)pkixchecker.$(LIB_SUFFIX) \
71 $(DIST)/lib/$(LIB_PREFIX)pkixpki.$(LIB_SUFFIX) \
72 $(DIST)/lib/$(LIB_PREFIX)pkixtop.$(LIB_SUFFIX) \
73 $(DIST)/lib/$(LIB_PREFIX)pkixresults.$(LIB_SUFFIX) \
74 $(DIST)/lib/$(LIB_PREFIX)pkixcertsel.$(LIB_SUFFIX)
75 endif
76 endif
78 NSS_LIBS_1=
79 NSS_LIBS_2=
80 NSS_LIBS_3=
81 NSS_LIBS_4=
83 ifneq ($(NSS_BUILD_SOFTOKEN_ONLY),1)
84 ifeq ($(OS_ARCH), WINNT)
85 # breakdown for windows
86 NSS_LIBS_1 = \
87 $(DIST)/lib/$(LIB_PREFIX)smime.$(LIB_SUFFIX) \
88 $(DIST)/lib/$(LIB_PREFIX)ssl.$(LIB_SUFFIX) \
89 $(DIST)/lib/$(LIB_PREFIX)nss.$(LIB_SUFFIX) \
90 $(NULL)
91 NSS_LIBS_2 = \
92 $(DIST)/lib/$(LIB_PREFIX)pkcs12.$(LIB_SUFFIX) \
93 $(DIST)/lib/$(LIB_PREFIX)pkcs7.$(LIB_SUFFIX) \
94 $(DIST)/lib/$(LIB_PREFIX)certhi.$(LIB_SUFFIX) \
95 $(DIST)/lib/$(LIB_PREFIX)cryptohi.$(LIB_SUFFIX) \
96 $(DIST)/lib/$(LIB_PREFIX)pk11wrap.$(LIB_SUFFIX) \
97 $(DIST)/lib/$(LIB_PREFIX)certdb.$(LIB_SUFFIX) \
98 $(NULL)
99 NSS_LIBS_3 = \
100 $(DIST)/lib/$(LIB_PREFIX)nsspki.$(LIB_SUFFIX) \
101 $(DIST)/lib/$(LIB_PREFIX)nssdev.$(LIB_SUFFIX) \
102 $(DIST)/lib/$(LIB_PREFIX)nssb.$(LIB_SUFFIX) \
103 $(PKIXLIB) \
104 $(DBMLIB) \
105 $(NULL)
106 NSS_LIBS_4 = \
107 $(SQLITE_LIB_DIR)/$(LIB_PREFIX)$(SQLITE_LIB_NAME).$(LIB_SUFFIX) \
108 $(NSSUTIL_LIB_DIR)/$(LIB_PREFIX)nssutil3.$(LIB_SUFFIX) \
109 $(NSPR_LIB_DIR)/$(NSPR31_LIB_PREFIX)plc4.$(LIB_SUFFIX) \
110 $(NSPR_LIB_DIR)/$(NSPR31_LIB_PREFIX)plds4.$(LIB_SUFFIX) \
111 $(NSPR_LIB_DIR)/$(NSPR31_LIB_PREFIX)nspr4.$(LIB_SUFFIX) \
112 $(NULL)
113 else
114 # breakdown for others
115 NSS_LIBS_1 = \
116 $(DIST)/lib/$(LIB_PREFIX)smime.$(LIB_SUFFIX) \
117 $(DIST)/lib/$(LIB_PREFIX)ssl.$(LIB_SUFFIX) \
118 $(DIST)/lib/$(LIB_PREFIX)nss.$(LIB_SUFFIX) \
119 $(NULL)
120 NSS_LIBS_2 = \
121 $(DIST)/lib/$(LIB_PREFIX)pkcs12.$(LIB_SUFFIX) \
122 $(DIST)/lib/$(LIB_PREFIX)pkcs7.$(LIB_SUFFIX) \
123 $(DIST)/lib/$(LIB_PREFIX)certhi.$(LIB_SUFFIX) \
124 $(DIST)/lib/$(LIB_PREFIX)cryptohi.$(LIB_SUFFIX) \
125 $(DIST)/lib/$(LIB_PREFIX)pk11wrap.$(LIB_SUFFIX) \
126 $(NULL)
127 NSS_LIBS_3 = \
128 $(DIST)/lib/$(LIB_PREFIX)certdb.$(LIB_SUFFIX) \
129 $(DIST)/lib/$(LIB_PREFIX)nsspki.$(LIB_SUFFIX) \
130 $(DIST)/lib/$(LIB_PREFIX)nssdev.$(LIB_SUFFIX) \
131 $(DIST)/lib/$(LIB_PREFIX)nssb.$(LIB_SUFFIX) \
132 $(NULL)
133 NSS_LIBS_4 = \
134 $(DBMLIB) \
135 $(PKIXLIB) \
136 $(DIST)/lib/$(LIB_PREFIX)nss.$(LIB_SUFFIX) \
137 $(DIST)/lib/$(LIB_PREFIX)pk11wrap.$(LIB_SUFFIX) \
138 $(DIST)/lib/$(LIB_PREFIX)certhi.$(LIB_SUFFIX) \
139 $(NULL)
140 endif
141 endif
143 # can't do this in manifest.mn because OS_ARCH isn't defined there.
144 ifeq ($(OS_ARCH), WINNT)
146 EXTRA_LIBS += \
147 $(SECTOOL_LIB) \
148 $(NSS_LIBS_1) \
149 $(NSS_LIBS_2) \
150 $(SOFTOKENLIB) \
151 $(CRYPTOLIB) \
152 $(NSS_LIBS_3) \
153 $(NSS_LIBS_4) \
154 $(NULL)
156 # $(PROGRAM) has NO explicit dependencies on $(OS_LIBS)
157 #OS_LIBS += \
158 wsock32.lib \
159 winmm.lib \
160 $(NULL)
161 else
163 EXTRA_LIBS += \
164 $(SECTOOL_LIB) \
165 $(NSS_LIBS_1) \
166 $(NSS_LIBS_2) \
167 $(SOFTOKENLIB) \
168 $(NSS_LIBS_3) \
169 $(CRYPTOLIB) \
170 $(NSS_LIBS_4) \
171 $(NULL)
173 ifeq ($(OS_ARCH), AIX)
174 EXTRA_SHARED_LIBS += -brtl
175 endif
177 # $(PROGRAM) has NO explicit dependencies on $(EXTRA_SHARED_LIBS)
178 # $(EXTRA_SHARED_LIBS) come before $(OS_LIBS), except on AIX.
179 EXTRA_SHARED_LIBS += \
180 -L$(SQLITE_LIB_DIR) \
181 -l$(SQLITE_LIB_NAME) \
182 -L$(NSSUTIL_LIB_DIR) \
183 -lnssutil3 \
184 -L$(NSPR_LIB_DIR) \
185 -lplc4 \
186 -lplds4 \
187 -lnspr4 \
188 $(NULL)
189 endif
191 else # USE_STATIC_LIBS
192 # can't do this in manifest.mn because OS_ARCH isn't defined there.
193 ifeq ($(OS_ARCH), WINNT)
195 # $(PROGRAM) has explicit dependencies on $(EXTRA_LIBS)
196 EXTRA_LIBS += \
197 $(SECTOOL_LIB) \
198 $(NSSUTIL_LIB_DIR)/$(IMPORT_LIB_PREFIX)nssutil3$(IMPORT_LIB_SUFFIX) \
199 $(DIST)/lib/$(IMPORT_LIB_PREFIX)smime3$(IMPORT_LIB_SUFFIX) \
200 $(DIST)/lib/$(IMPORT_LIB_PREFIX)ssl3$(IMPORT_LIB_SUFFIX) \
201 $(DIST)/lib/$(IMPORT_LIB_PREFIX)nss3$(IMPORT_LIB_SUFFIX) \
202 $(NSPR_LIB_DIR)/$(NSPR31_LIB_PREFIX)plc4$(IMPORT_LIB_SUFFIX) \
203 $(NSPR_LIB_DIR)/$(NSPR31_LIB_PREFIX)plds4$(IMPORT_LIB_SUFFIX) \
204 $(NSPR_LIB_DIR)/$(NSPR31_LIB_PREFIX)nspr4$(IMPORT_LIB_SUFFIX) \
205 $(NULL)
207 # $(PROGRAM) has NO explicit dependencies on $(OS_LIBS)
208 #OS_LIBS += \
209 wsock32.lib \
210 winmm.lib \
211 $(NULL)
212 else
214 # $(PROGRAM) has explicit dependencies on $(EXTRA_LIBS)
215 EXTRA_LIBS += \
216 $(SECTOOL_LIB) \
217 $(NULL)
219 ifeq ($(OS_ARCH), AIX)
220 EXTRA_SHARED_LIBS += -brtl
221 endif
223 # $(PROGRAM) has NO explicit dependencies on $(EXTRA_SHARED_LIBS)
224 # $(EXTRA_SHARED_LIBS) come before $(OS_LIBS), except on AIX.
225 EXTRA_SHARED_LIBS += \
226 -L$(DIST)/lib \
227 -L$(NSSUTIL_LIB_DIR) \
228 -lnssutil3 \
229 -L$(NSPR_LIB_DIR) \
230 -lplc4 \
231 -lplds4 \
232 -lnspr4 \
233 $(NULL)
234 ifndef NSS_BUILD_UTIL_ONLY
235 ifndef NSS_BUILD_SOFTOKEN_ONLY
236 EXTRA_SHARED_LIBS += \
237 -lssl3 \
238 -lsmime3 \
239 -lnss3
240 endif
241 endif
242 endif
244 ifdef SOFTOKEN_LIB_DIR
245 ifdef NSS_USE_SYSTEM_FREEBL
246 EXTRA_SHARED_LIBS += -L$(SOFTOKEN_LIB_DIR) -lsoftokn3
247 endif
248 endif
250 endif # USE_STATIC_LIBS
252 # If a platform has a system freebl, set USE_SYSTEM_FREEBL to 1 and
253 # FREEBL_LIBS to the linker command-line arguments for the system nss-util
254 # (for example, -lfreebl3 on fedora) in the platform's config file in coreconf.
255 ifdef NSS_USE_SYSTEM_FREEBL
256 FREEBL_LIBS = $(FREEBL_LIB_DIR)/$(LIB_PREFIX)freebl.$(LIB_SUFFIX)
257 EXTRA_LIBS += $(FREEBL_LIBS)
258 endif
260 JAR_LIBS = $(DIST)/lib/$(LIB_PREFIX)jar.$(LIB_SUFFIX)