Wed, 31 Dec 2014 06:09:35 +0100
Cloned upstream origin tor-browser at tor-browser-31.3.0esr-4.5-1-build1
revision ID fc1c9ff7c1b2defdbc039f12214767608f46423f for hacking purpose.
1 #
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 ifdef USE_STATIC_LIBS
37 DEFINES += -DNSS_USE_STATIC_LIBS
38 # $(PROGRAM) has explicit dependencies on $(EXTRA_LIBS)
39 ifndef NSS_USE_SYSTEM_FREEBL
40 CRYPTOLIB=$(DIST)/lib/$(LIB_PREFIX)freebl.$(LIB_SUFFIX)
41 SOFTOKENLIB=$(DIST)/lib/$(LIB_PREFIX)softokn.$(LIB_SUFFIX)
42 else
43 # Use the system installed freebl static library and set softoken one to empty.
44 # Some tools need to link statically with freebl but none with softoken. Only
45 # the softoken shared library, not the static one, is installed in the system.
46 CRYPTOLIB=$(FREEBL_LIB_DIR)/$(LIB_PREFIX)freebl.$(LIB_SUFFIX)
47 SOFTOKENLIB=
48 EXTRA_SHARED_LIBS += \
49 -L$(SOFTOKEN_LIB_DIR) \
50 -lsoftokn3 \
51 $(NULL)
52 endif
54 PKIXLIB = \
55 $(DIST)/lib/$(LIB_PREFIX)pkixtop.$(LIB_SUFFIX) \
56 $(DIST)/lib/$(LIB_PREFIX)pkixutil.$(LIB_SUFFIX) \
57 $(DIST)/lib/$(LIB_PREFIX)pkixsystem.$(LIB_SUFFIX) \
58 $(DIST)/lib/$(LIB_PREFIX)pkixcrlsel.$(LIB_SUFFIX) \
59 $(DIST)/lib/$(LIB_PREFIX)pkixmodule.$(LIB_SUFFIX) \
60 $(DIST)/lib/$(LIB_PREFIX)pkixstore.$(LIB_SUFFIX) \
61 $(DIST)/lib/$(LIB_PREFIX)pkixparams.$(LIB_SUFFIX) \
62 $(DIST)/lib/$(LIB_PREFIX)pkixchecker.$(LIB_SUFFIX) \
63 $(DIST)/lib/$(LIB_PREFIX)pkixpki.$(LIB_SUFFIX) \
64 $(DIST)/lib/$(LIB_PREFIX)pkixtop.$(LIB_SUFFIX) \
65 $(DIST)/lib/$(LIB_PREFIX)pkixresults.$(LIB_SUFFIX) \
66 $(DIST)/lib/$(LIB_PREFIX)pkixcertsel.$(LIB_SUFFIX)
68 # can't do this in manifest.mn because OS_ARCH isn't defined there.
69 ifeq ($(OS_ARCH), WINNT)
71 EXTRA_LIBS += \
72 $(DIST)/lib/$(LIB_PREFIX)smime.$(LIB_SUFFIX) \
73 $(DIST)/lib/$(LIB_PREFIX)ssl.$(LIB_SUFFIX) \
74 $(DIST)/lib/$(LIB_PREFIX)nss.$(LIB_SUFFIX) \
75 $(DIST)/lib/$(LIB_PREFIX)ssl.$(LIB_SUFFIX) \
76 $(DIST)/lib/$(LIB_PREFIX)sectool.$(LIB_SUFFIX) \
77 $(DIST)/lib/$(LIB_PREFIX)pkcs12.$(LIB_SUFFIX) \
78 $(DIST)/lib/$(LIB_PREFIX)pkcs7.$(LIB_SUFFIX) \
79 $(DIST)/lib/$(LIB_PREFIX)certhi.$(LIB_SUFFIX) \
80 $(DIST)/lib/$(LIB_PREFIX)cryptohi.$(LIB_SUFFIX) \
81 $(DIST)/lib/$(LIB_PREFIX)pk11wrap.$(LIB_SUFFIX) \
82 $(DIST)/lib/$(LIB_PREFIX)certdb.$(LIB_SUFFIX) \
83 $(SOFTOKENLIB) \
84 $(CRYPTOLIB) \
85 $(DIST)/lib/$(LIB_PREFIX)nsspki.$(LIB_SUFFIX) \
86 $(DIST)/lib/$(LIB_PREFIX)nssdev.$(LIB_SUFFIX) \
87 $(DIST)/lib/$(LIB_PREFIX)nssb.$(LIB_SUFFIX) \
88 $(PKIXLIB) \
89 $(DBMLIB) \
90 $(DIST)/lib/$(LIB_PREFIX)$(SQLITE_LIB_NAME).$(LIB_SUFFIX) \
91 $(DIST)/lib/$(LIB_PREFIX)nssutil3.$(LIB_SUFFIX) \
92 $(NSPR_LIB_DIR)/$(NSPR31_LIB_PREFIX)plc4.$(LIB_SUFFIX) \
93 $(NSPR_LIB_DIR)/$(NSPR31_LIB_PREFIX)plds4.$(LIB_SUFFIX) \
94 $(NSPR_LIB_DIR)/$(NSPR31_LIB_PREFIX)nspr4.$(LIB_SUFFIX) \
95 $(NULL)
97 # $(PROGRAM) has NO explicit dependencies on $(OS_LIBS)
98 #OS_LIBS += \
99 wsock32.lib \
100 winmm.lib \
101 $(NULL)
102 else
104 EXTRA_LIBS += \
105 $(DIST)/lib/$(LIB_PREFIX)smime.$(LIB_SUFFIX) \
106 $(DIST)/lib/$(LIB_PREFIX)ssl.$(LIB_SUFFIX) \
107 $(DIST)/lib/$(LIB_PREFIX)nss.$(LIB_SUFFIX) \
108 $(DIST)/lib/$(LIB_PREFIX)ssl.$(LIB_SUFFIX) \
109 $(DIST)/lib/$(LIB_PREFIX)sectool.$(LIB_SUFFIX) \
110 $(DIST)/lib/$(LIB_PREFIX)pkcs12.$(LIB_SUFFIX) \
111 $(DIST)/lib/$(LIB_PREFIX)pkcs7.$(LIB_SUFFIX) \
112 $(DIST)/lib/$(LIB_PREFIX)certhi.$(LIB_SUFFIX) \
113 $(DIST)/lib/$(LIB_PREFIX)pk11wrap.$(LIB_SUFFIX) \
114 $(DIST)/lib/$(LIB_PREFIX)cryptohi.$(LIB_SUFFIX) \
115 $(DIST)/lib/$(LIB_PREFIX)certhi.$(LIB_SUFFIX) \
116 $(DIST)/lib/$(LIB_PREFIX)nsspki.$(LIB_SUFFIX) \
117 $(DIST)/lib/$(LIB_PREFIX)pk11wrap.$(LIB_SUFFIX) \
118 $(SOFTOKENLIB) \
119 $(DIST)/lib/$(LIB_PREFIX)certdb.$(LIB_SUFFIX) \
120 $(DIST)/lib/$(LIB_PREFIX)nsspki.$(LIB_SUFFIX) \
121 $(DIST)/lib/$(LIB_PREFIX)nssdev.$(LIB_SUFFIX) \
122 $(DIST)/lib/$(LIB_PREFIX)nssb.$(LIB_SUFFIX) \
123 $(CRYPTOLIB) \
124 $(DBMLIB) \
125 $(PKIXLIB) \
126 $(DIST)/lib/$(LIB_PREFIX)nss.$(LIB_SUFFIX) \
127 $(DIST)/lib/$(LIB_PREFIX)pk11wrap.$(LIB_SUFFIX) \
128 $(DIST)/lib/$(LIB_PREFIX)certhi.$(LIB_SUFFIX) \
129 $(NULL)
131 ifeq ($(OS_ARCH), AIX)
132 EXTRA_SHARED_LIBS += -brtl
133 endif
135 # $(PROGRAM) has NO explicit dependencies on $(EXTRA_SHARED_LIBS)
136 # $(EXTRA_SHARED_LIBS) come before $(OS_LIBS), except on AIX.
137 EXTRA_SHARED_LIBS += \
138 -L$(DIST)/lib \
139 -l$(SQLITE_LIB_NAME) \
140 -L$(NSSUTIL_LIB_DIR) \
141 -lnssutil3 \
142 -L$(NSPR_LIB_DIR) \
143 -lplc4 \
144 -lplds4 \
145 -lnspr4 \
146 $(NULL)
147 endif
149 else # USE_STATIC_LIBS
150 # can't do this in manifest.mn because OS_ARCH isn't defined there.
151 ifeq ($(OS_ARCH), WINNT)
153 # $(PROGRAM) has explicit dependencies on $(EXTRA_LIBS)
154 EXTRA_LIBS += \
155 $(DIST)/lib/$(LIB_PREFIX)sectool.$(LIB_SUFFIX) \
156 $(DIST)/lib/$(IMPORT_LIB_PREFIX)nssutil3$(IMPORT_LIB_SUFFIX) \
157 $(DIST)/lib/$(IMPORT_LIB_PREFIX)smime3$(IMPORT_LIB_SUFFIX) \
158 $(DIST)/lib/$(IMPORT_LIB_PREFIX)ssl3$(IMPORT_LIB_SUFFIX) \
159 $(DIST)/lib/$(IMPORT_LIB_PREFIX)nss3$(IMPORT_LIB_SUFFIX) \
160 $(NSPR_LIB_DIR)/$(NSPR31_LIB_PREFIX)plc4$(IMPORT_LIB_SUFFIX) \
161 $(NSPR_LIB_DIR)/$(NSPR31_LIB_PREFIX)plds4$(IMPORT_LIB_SUFFIX) \
162 $(NSPR_LIB_DIR)/$(NSPR31_LIB_PREFIX)nspr4$(IMPORT_LIB_SUFFIX) \
163 $(NULL)
165 # $(PROGRAM) has NO explicit dependencies on $(OS_LIBS)
166 #OS_LIBS += \
167 wsock32.lib \
168 winmm.lib \
169 $(NULL)
170 else
172 # $(PROGRAM) has explicit dependencies on $(EXTRA_LIBS)
173 EXTRA_LIBS += \
174 $(DIST)/lib/$(LIB_PREFIX)sectool.$(LIB_SUFFIX) \
175 $(NULL)
177 ifeq ($(OS_ARCH), AIX)
178 EXTRA_SHARED_LIBS += -brtl
179 endif
181 # $(PROGRAM) has NO explicit dependencies on $(EXTRA_SHARED_LIBS)
182 # $(EXTRA_SHARED_LIBS) come before $(OS_LIBS), except on AIX.
183 EXTRA_SHARED_LIBS += \
184 -L$(DIST)/lib \
185 -lssl3 \
186 -lsmime3 \
187 -lnss3 \
188 -L$(NSSUTIL_LIB_DIR) \
189 -lnssutil3 \
190 -L$(NSPR_LIB_DIR) \
191 -lplc4 \
192 -lplds4 \
193 -lnspr4 \
194 $(NULL)
195 endif
197 ifdef SOFTOKEN_LIB_DIR
198 ifdef NSS_USE_SYSTEM_FREEBL
199 EXTRA_SHARED_LIBS += -L$(SOFTOKEN_LIB_DIR) -lsoftokn3
200 endif
201 endif
203 endif # USE_STATIC_LIBS
205 # If a platform has a system freebl, set USE_SYSTEM_FREEBL to 1 and
206 # FREEBL_LIBS to the linker command-line arguments for the system nss-util
207 # (for example, -lfreebl3 on fedora) in the platform's config file in coreconf.
208 ifdef NSS_USE_SYSTEM_FREEBL
209 FREEBL_LIBS = $(FREEBL_LIB_DIR)/$(LIB_PREFIX)freebl.$(LIB_SUFFIX)
210 EXTRA_LIBS += $(FREEBL_LIBS)
211 endif
213 # If a platform has a system zlib, set USE_SYSTEM_ZLIB to 1 and
214 # ZLIB_LIBS to the linker command-line arguments for the system zlib
215 # (for example, -lz) in the platform's config file in coreconf.
216 ifndef USE_SYSTEM_ZLIB
217 ZLIB_LIBS = $(DIST)/lib/$(LIB_PREFIX)zlib.$(LIB_SUFFIX)
218 endif
220 JAR_LIBS = $(DIST)/lib/$(LIB_PREFIX)jar.$(LIB_SUFFIX)