VirtualBox

source: vbox/trunk/src/libs/openssl-3.0.3/Config.kmk@ 97280

Last change on this file since 97280 was 96526, checked in by vboxsync, 2 years ago

libs/openssl-3.0.3/Config.kmk: Fixed circular dependencies between headers and bldRTSignTool. bugref:8691

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 16.5 KB
Line 
1# $Id: Config.kmk 96526 2022-08-26 22:10:33Z vboxsync $
2## @file
3# OpenSSL kBuild Configuration file.
4#
5
6#
7# Copyright (C) 2006-2022 Oracle and/or its affiliates.
8#
9# This file is part of VirtualBox base platform packages, as
10# available from https://www.virtualbox.org.
11#
12# This program is free software; you can redistribute it and/or
13# modify it under the terms of the GNU General Public License
14# as published by the Free Software Foundation, in version 3 of the
15# License.
16#
17# This program is distributed in the hope that it will be useful, but
18# WITHOUT ANY WARRANTY; without even the implied warranty of
19# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
20# General Public License for more details.
21#
22# You should have received a copy of the GNU General Public License
23# along with this program; if not, see <https://www.gnu.org/licenses>.
24#
25# SPDX-License-Identifier: GPL-3.0-only
26#
27
28# Include the top-level configure file.
29ifndef VBOX_ROOT_CONFIG_KMK_INCLUDED
30 include $(PATH_ROOT)/Config.kmk
31endif
32
33# Figure out openssl perl asm style for the target
34VBOX_CRYPTO_ASM_SCHEME := portme
35if1of ($(KBUILD_TARGET), freebsd linux netbsd openbsd solaris)
36 VBOX_CRYPTO_ASM_SCHEME := elf
37else ifeq ($(KBUILD_TARGET), darwin)
38 VBOX_CRYPTO_ASM_SCHEME := macosx
39else ifeq ($(KBUILD_TARGET), win)
40 VBOX_CRYPTO_ASM_SCHEME := nasm
41endif
42
43# Can't use relative paths when dealing with sub-makefiles.
44VBOX_PATH_OPENSSL := $(PATH_ROOT)/src/libs/openssl-3.0.3
45VBOX_PATH_CRYPTO := $(VBOX_PATH_OPENSSL)/crypto
46VBOX_PATH_CRYPTO_GENASM := $(VBOX_PATH_CRYPTO)/genasm-$(VBOX_CRYPTO_ASM_SCHEME)
47VBOX_PATH_CRYPTO_AES := $(VBOX_PATH_CRYPTO)/aes
48VBOX_PATH_CRYPTO_BN := $(VBOX_PATH_CRYPTO)/bn
49VBOX_PATH_CRYPTO_CHACHA := $(VBOX_PATH_CRYPTO)/chacha
50VBOX_PATH_CRYPTO_EC := $(VBOX_PATH_CRYPTO)/ec
51VBOX_PATH_CRYPTO_MD5 := $(VBOX_PATH_CRYPTO)/md5
52VBOX_PATH_CRYPTO_MODES := $(VBOX_PATH_CRYPTO)/modes
53VBOX_PATH_CRYPTO_POLY1305 := $(VBOX_PATH_CRYPTO)/poly1305
54VBOX_PATH_CRYPTO_RC4 := $(VBOX_PATH_CRYPTO)/rc4
55VBOX_PATH_CRYPTO_SHA := $(VBOX_PATH_CRYPTO)/sha
56VBOX_PATH_CRYPTO_DES := $(VBOX_PATH_CRYPTO)/des
57VBOX_PATH_CRYPTO_CAMELLIA := $(VBOX_PATH_CRYPTO)/camellia
58VBOX_INST_CRYPTO_HEADERS := obj/$(if-expr "$(CURSUBDIR)" == ".",,$(CURSUBDIR)/)crypto-3.0.3-headers/include/openssl/
59VBOX_PATH_CRYPTO_HEADERS := $(abspath $(PATH_OUT))/$(patsubst %/,%,$(VBOX_INST_CRYPTO_HEADERS))
60VBOX_PATH_CRYPTO_PROVIDERS := $(VBOX_PATH_OPENSSL)/providers
61
62# Enable asm implementation of crypto.
63if1of ($(KBUILD_TARGET_ARCH), x86 amd64)
64 ifneq ($(VBOX_CRYPTO_ASM_SCHEME),portme)
65 ifn1of ($(KBUILD_TARGET), ) # Selective exclusion for testing.
66 VBOX_WITH_CRYPTO_ASM = 1
67 endif
68 endif
69endif
70
71#
72# A target for installer the header files into a include directory
73# for the build. We have to put this in the Config.kmk because it
74# is required when running make from a sub directory too.
75#
76INSTALLS += crypto-headers
77crypto-headers_TEMPLATE := DUMMY
78crypto-headers_INST = $(VBOX_INST_CRYPTO_HEADERS)
79crypto-headers_MODE := a+r,u+w
80crypto-headers_DEFPATH = $(VBOX_PATH_OPENSSL)
81crypto-headers_SOURCES := \
82 include/openssl/aes.h=>aes.h \
83 include/openssl/asn1err.h=>asn1err.h \
84 include/openssl/asn1_mac.h=>asn1_mac.h \
85 include/openssl/async.h=>async.h \
86 include/openssl/asyncerr.h=>asyncerr.h \
87 include/openssl/bioerr.h=>bioerr.h \
88 include/openssl/blowfish.h=>blowfish.h \
89 include/openssl/bn.h=>bn.h \
90 include/openssl/bnerr.h=>bnerr.h \
91 include/openssl/buffer.h=>buffer.h \
92 include/openssl/buffererr.h=>buffererr.h \
93 include/openssl/camellia.h=>camellia.h \
94 include/openssl/cast.h=>cast.h \
95 include/openssl/cmac.h=>cmac.h \
96 include/openssl/cmserr.h=>cmserr.h \
97 include/openssl/comp.h=>comp.h \
98 include/openssl/comperr.h=>comperr.h \
99 include/openssl/conferr.h=>conferr.h \
100 include/openssl/conf_api.h=>conf_api.h \
101 include/openssl/conftypes.h=>conftypes.h \
102 include/openssl/core.h=>core.h \
103 include/openssl/core_dispatch.h=>core_dispatch.h \
104 include/openssl/core_names.h=>core_names.h \
105 include/openssl/cryptoerr.h=>cryptoerr.h \
106 include/openssl/cryptoerr_legacy.h=>cryptoerr_legacy.h \
107 include/openssl/cterr.h=>cterr.h \
108 include/openssl/des.h=>des.h \
109 include/openssl/dh.h=>dh.h \
110 include/openssl/dherr.h=>dherr.h \
111 include/openssl/dsa.h=>dsa.h \
112 include/openssl/dsaerr.h=>dsaerr.h \
113 include/openssl/dtls1.h=>dtls1.h \
114 include/openssl/ebcdic.h=>ebcdic.h \
115 include/openssl/ec.h=>ec.h \
116 include/openssl/ecerr.h=>ecerr.h \
117 include/openssl/ecdh.h=>ecdh.h \
118 include/openssl/ecdsa.h=>ecdsa.h \
119 include/openssl/engine.h=>engine.h \
120 include/openssl/engineerr.h=>engineerr.h \
121 include/openssl/evp.h=>evp.h \
122 include/openssl/evperr.h=>evperr.h \
123 include/openssl/e_os2.h=>e_os2.h \
124 include/openssl/hmac.h=>hmac.h \
125 include/openssl/http.h=>http.h \
126 include/openssl/idea.h=>idea.h \
127 include/openssl/macros.h=>macros.h \
128 include/openssl/md2.h=>md2.h \
129 include/openssl/md4.h=>md4.h \
130 include/openssl/md5.h=>md5.h \
131 include/openssl/mdc2.h=>mdc2.h \
132 include/openssl/modes.h=>modes.h \
133 include/openssl/objects.h=>objects.h \
134 include/openssl/objectserr.h=>objectserr.h \
135 include/openssl/obj_mac.h=>obj_mac.h \
136 include/openssl/ocsperr.h=>ocsperr.h \
137 openssl-mangling.h=>openssl-mangling.h \
138 include/openssl/opensslconf.h=>opensslconf.h \
139 include/openssl/ossl_typ.h=>ossl_typ.h \
140 include/openssl/params.h=>params.h \
141 include/openssl/pem.h=>pem.h \
142 include/openssl/pemerr.h=>pemerr.h \
143 include/openssl/pem2.h=>pem2.h \
144 include/openssl/pkcs12err.h=>pkcs12err.h \
145 include/openssl/pkcs7err.h=>pkcs7err.h \
146 include/openssl/prov_ssl.h=>prov_ssl.h \
147 include/openssl/rand.h=>rand.h \
148 include/openssl/randerr.h=>randerr.h \
149 include/openssl/rc2.h=>rc2.h \
150 include/openssl/rc4.h=>rc4.h \
151 include/openssl/ripemd.h=>ripemd.h \
152 include/openssl/rsa.h=>rsa.h \
153 include/openssl/rsaerr.h=>rsaerr.h \
154 include/openssl/seed.h=>seed.h \
155 include/openssl/sha.h=>sha.h \
156 include/openssl/srtp.h=>srtp.h \
157 include/openssl/sslerr.h=>sslerr.h \
158 include/openssl/sslerr_legacy.h=>sslerr_legacy.h \
159 include/openssl/ssl2.h=>ssl2.h \
160 include/openssl/ssl3.h=>ssl3.h \
161 include/openssl/stack.h=>stack.h \
162 include/openssl/symhacks.h=>symhacks.h \
163 include/openssl/tls1.h=>tls1.h \
164 include/openssl/ts.h=>ts.h \
165 include/openssl/txt_db.h=>txt_db.h \
166 include/openssl/types.h=>types.h \
167 include/openssl/uierr.h=>uierr.h \
168 include/openssl/x509err.h=>x509err.h \
169 include/openssl/x509v3err.h=>x509v3err.h \
170 gen-includes/openssl/asn1.h=>asn1.h \
171 gen-includes/openssl/asn1t.h=>asn1t.h \
172 gen-includes/openssl/bio.h=>bio.h \
173 gen-includes/openssl/cmp.h=>cmp.h \
174 gen-includes/openssl/cms.h=>cms.h \
175 gen-includes/openssl/conf.h=>conf.h \
176 gen-includes/openssl/configuration.h=>configuration.h \
177 gen-includes/openssl/crmf.h=>crmf.h \
178 gen-includes/openssl/crypto.h=>crypto.h \
179 gen-includes/openssl/ct.h=>ct.h \
180 gen-includes/openssl/err.h=>err.h \
181 gen-includes/openssl/ess.h=>ess.h \
182 gen-includes/openssl/fipskey.h=>fipskey.h \
183 gen-includes/openssl/lhash.h=>lhash.h \
184 gen-includes/openssl/ocsp.h=>ocsp.h \
185 gen-includes/openssl/opensslv.h=>opensslv.h \
186 gen-includes/openssl/pkcs12.h=>pkcs12.h \
187 gen-includes/openssl/pkcs7.h=>pkcs7.h \
188 gen-includes/openssl/safestack.h=>safestack.h \
189 gen-includes/openssl/srp.h=>srp.h \
190 gen-includes/openssl/ssl.h=>ssl.h \
191 gen-includes/openssl/ui.h=>ui.h \
192 gen-includes/openssl/x509.h=>x509.h \
193 gen-includes/openssl/x509_vfy.h=>x509_vfy.h \
194 gen-includes/openssl/x509v3.h=>x509v3.h
195
196#
197# The templates used for the crypo lib and all its sublibraries.
198#
199TEMPLATE_LIBCRYPTO = Template for the OpenSSL crypto library.
200TEMPLATE_LIBCRYPTO_EXTENDS = VBoxR3RuntimeDllNonPedantic
201ifneq ($(KBUILD_TARGET), win)
202 ## @todo correct inheritance here to make it use all the VBOXR3NP settings instead of overriding all of them.
203 TEMPLATE_LIBCRYPTO_ASTOOL = $(TEMPLATE_VBoxR3RuntimeDllNonPedantic_TOOL)
204 TEMPLATE_LIBCRYPTO_ASFLAGS = -include $(VBOX_PATH_OPENSSL)/openssl-mangling.h
205 TEMPLATE_LIBCRYPTO_ASFLAGS.x86 = -m32
206 TEMPLATE_LIBCRYPTO_ASFLAGS.amd64 = -m64
207 TEMPLATE_LIBCRYPTO_ASDEFS = $(NO_SUCH_VARIABLE)
208 TEMPLATE_LIBCRYPTO_ASDEFS.darwin = OPENSSL_MANGLE_ASM
209endif
210
211TEMPLATE_LIBCRYPTO_DEFS = \
212 $(TEMPLATE_VBoxR3RuntimeDllNonPedantic_DEFS) \
213 VBOX_SUFF_DLL=$(VBOX_SUFF_DLL) \
214 IN_RT_R3 \
215 DSO_NONE \
216 OPENSSL_USE_NODELETE \
217 OPENSSL_PIC \
218 OPENSSL_IA32_SSE2 \
219 OPENSSL_BUILDING_OPENSSL
220ifdef VBOX_WITH_CRYPTO_ASM
221TEMPLATE_LIBCRYPTO_DEFS += \
222 OPENSSL_BN_ASM_MONT \
223 OPENSSL_BN_ASM_GF2m \
224 SHA1_ASM \
225 SHA256_ASM \
226 SHA512_ASM \
227 RC4_ASM \
228 MD5_ASM \
229 AES_ASM \
230 VPAES_ASM \
231 ECP_NISTZ256_ASM \
232 PADLOCK_ASM \
233 POLY1305_ASM
234TEMPLATE_LIBCRYPTO_DEFS.amd64 = \
235 BSAES_ASM \
236 GHASH_ASM \
237 KECCAK1600_ASM \
238 OPENSSL_BN_ASM_MONT5 \
239 X25519_ASM
240else
241TEMPLATE_LIBCRYPTO_DEFS += \
242 OPENSSL_NO_ASM
243endif
244if1of ($(KBUILD_TARGET), linux solaris)
245TEMPLATE_LIBCRYPTO_DEFS += \
246 _REENTRANT \
247 _GNU_SOURCE
248endif
249ifeq ($(sort $(filter -fPIC,$(TEMPLATE_VBoxR3RuntimeDllNonPedantic_CFLAGS))),-fPIC)
250TEMPLATE_LIBCRYPTO_DEFS += \
251 OPENSSL_PIC
252endif
253TEMPLATE_LIBCRYPTO_DEFS.amd64 += \
254 MD32_REG_T=int
255ifeq ($(KBUILD_TARGET),win)
256TEMPLATE_LIBCRYPTO_DEFS += \
257 OPENSSL_SYSNAME_WIN32 \
258 OPENSSL_RAND_SEED_OS
259# Exclude WinCrypt.h, causes trouble all over the place
260TEMPLATE_LIBCRYPTO_DEFS += \
261 NOCRYPT
262endif
263if1of ($(KBUILD_TARGET_ARCH), x86 amd64 arm64)
264TEMPLATE_LIBCRYPTO_DEFS += \
265 L_ENDIAN
266else
267TEMPLATE_LIBCRYPTO_DEFS += \
268 B_ENDIAN
269endif
270ifeq ($(KBUILD_TARGET),os2)
271TEMPLATE_LIBCRYPTO_DEFS += \
272 OPENSSL_NO_SECURE_MEMORY
273endif
274if defined(VBOX_WITH_PARFAIT) #&& VBOX_GCC_VERSION_CC == 50301
275 TEMPLATE_LIBCRYPTO_DEFS += __STDC_NO_ATOMICS__
276endif
277# Enable for running with valgrind:
278#TEMPLATE_LIBCRYPTO_DEFS += PURIFY
279
280TEMPLATE_LIBCRYPTO_CFLAGS = $(filter-out $(VBOX_GCC_fvisibility-hidden),$(TEMPLATE_VBoxR3RuntimeDllNonPedantic_CFLAGS))
281TEMPLATE_LIBCRYPTO_CFLAGS.win = $(TEMPLATE_VBoxR3RuntimeDllNonPedantic_CFLAGS.win)
282TEMPLATE_LIBCRYPTO_CFLAGS.win += -wd4305 # asn1_lib.c(455) : warning C4305: 'type cast' : truncation from 'const unsigned char *' to 'unsigned long'
283TEMPLATE_LIBCRYPTO_CFLAGS.win += -wd4306 # tasn_new.c(338) : warning C4306: 'type cast' : conversion from 'int' to 'ASN1_VALUE *' of greater size
284TEMPLATE_LIBCRYPTO_CFLAGS.win += -wd4701 # tasn_dec.c(840) : warning C4701: potentially uninitialized local variable 'buf' used
285TEMPLATE_LIBCRYPTO_CFLAGS.win += -wd4101 # bn_asm.c(619) : warning C4101: 'bh' : unreferenced local variable
286TEMPLATE_LIBCRYPTO_CFLAGS.win += -wd4206 # e_camellia.c(120) : warning C4206: nonstandard extension used : translation unit is empty
287TEMPLATE_LIBCRYPTO_CFLAGS.win += -wd4232 # warning C4232: nonstandard extension used : 'malloc_func' : address of dllimport 'malloc' is not stati c, identity not guaranteed
288TEMPLATE_LIBCRYPTO_CFLAGS.win += -wd4146 # x_long.c(79) : warning C4146: unary minus operator applied to unsigned type, result still unsigned
289TEMPLATE_LIBCRYPTO_CFLAGS.win += -wd4130 # b_addr.c(750) : warning C4130: '==' : logical operation on address of string constant
290TEMPLATE_LIBCRYPTO_CFLAGS.win += -wd4090 # ssl_lib.c(229) : warning C4090: 'function' : different 'const' qualifiers
291TEMPLATE_LIBCRYPTO_CFLAGS.win += -wd4310 # bss_acpt.c(223) : warning C4310: cast truncates constant value [(int)INVALID_SOCKET]
292TEMPLATE_LIBCRYPTO_CFLAGS.win += -wd4210 # bn_exp.c(913) : warning C4210: nonstandard extension used : function given file scope
293TEMPLATE_LIBCRYPTO_CFLAGS.win += -wd4067 # mem.c(14) : warning C4067: unexpected tokens following preprocessor directive - expected a newline
294
295if1of ($(VBOX_VCC_TOOL_STEM), VCC120)
296 TEMPLATE_LIBCRYPTO_CFLAGS.win += -wd4005 # sdk\v7.1\include\sal_supp.h(57) : warning C4005: '__useHeader' : macro redefinition
297endif
298TEMPLATE_LIBCRYPTO_CFLAGS.freebsd = -std=gnu99
299
300TEMPLATE_LIBCRYPTO_INCS := \
301 $(VBOX_PATH_OPENSSL) \
302 $(VBOX_PATH_OPENSSL)/include \
303 $(VBOX_PATH_OPENSSL)/providers/common/include \
304 $(VBOX_PATH_OPENSSL)/providers/implementations/include \
305 $(VBOX_PATH_OPENSSL)/gen-includes \
306 $(VBOX_PATH_CRYPTO)/include \
307 $(VBOX_PATH_CRYPTO_MODES) \
308 $(VBOX_PATH_CRYPTO)/ec/curve448 \
309 $(VBOX_PATH_CRYPTO)/ec/curve448/arch_32 \
310 $(patsubst %/openssl,%,$(VBOX_PATH_CRYPTO_HEADERS))
311
312#TEMPLATE_LIBCRYPTO_INTERMEDIATES = $($(crypto-headers)_1_STAGE_TARGET)
313TEMPLATE_LIBCRYPTO_INTERMEDIATES := \
314 $(foreach f,$(crypto-headers_SOURCES),$(VBOX_PATH_CRYPTO_HEADERS)/$(lastword $(subst =>, ,$(f))))
315
316# Same as LIBCRYPTO except that we don't install these libraries.
317TEMPLATE_SUBLIBCRYPTO = Template for the OpenSSL crypto sub-libraries.
318TEMPLATE_SUBLIBCRYPTO_EXTENDS = LIBCRYPTO
319TEMPLATE_SUBLIBCRYPTO_INSTTYPE = none
320
321# Somewhat similar to LIBCRYPTO.
322TEMPLATE_LIBCRYPTOTST = Template for the OpenSSL crypto testcases.
323TEMPLATE_LIBCRYPTOTST_EXTENDS = VBOXR3TSTEXE
324TEMPLATE_LIBCRYPTOTST_DEFS = $(TEMPLATE_VBOXR3TSTEXE_DEFS) $(filter-out $(TEMPLATE_VBoxR3RuntimeDllNonPedantic_DEFS) IN_RT_R3,$(TEMPLATE_LIBCRYPTO_DEFS))
325TEMPLATE_LIBCRYPTOTST_INCS = $(TEMPLATE_LIBCRYPTO_INCS) $(TEMPLATE_VBOXR3TSTEXE_INCS)
326ifeq ($(KBUILD_TARGET),win)
327TEMPLATE_LIBCRYPTOTST_CFLAGS = $(filter-out $(VBOX_VCC_WERR), $(TEMPLATE_VBOXR3TSTEXE_CXXFLAGS)) $(VBOX_VCC_NON_PEDANTIC)
328else
329TEMPLATE_LIBCRYPTOTST_CFLAGS = $(filter-out $(VBOX_GCC_PEDANTIC_C), $(TEMPLATE_VBOXR3TSTEXE_CFLAGS)) $(VBOX_GCC_NON_PEDANTIC_C)
330endif
331TEMPLATE_LIBCRYPTOTST_LIBS = $(PATH_STAGE_LIB)/VBox-libcrypto$(VBOX_SUFF_LIB) $(TEMPLATE_VBOXR3TSTEXE_LIBS)
332
333
334ifdef VBOX_WITH_BLD_RTSIGNTOOL_SIGNING
335#
336# Build program versions of LIBCRYPTO and SUBLIBCRYPTO for bldRTSignTool.
337#
338TEMPLATE_VBoxLibCryptoBldProg = Build program template the OpenSSL crypto library.
339TEMPLATE_VBoxLibCryptoBldProg_EXTENDS := VBoxAdvBldProg
340TEMPLATE_VBoxLibCryptoBldProg_DEFS = $(TEMPLATE_VBoxAdvBldProg_DEFS) $(TEMPLATE_LIBCRYPTO_DEFS)
341TEMPLATE_VBoxLibCryptoBldProg_CFLAGS.win = $(TEMPLATE_VBoxAdvBldProg_CFLAGS.win) $(subst $(TEMPLATE_VBoxR3RuntimeDllNonPedantic_CFLAGS.win),, $(TEMPLATE_LIBCRYPTO_CFLAGS.win))
342TEMPLATE_VBoxLibCryptoBldProg_CFLAGS.win += -wd4057 # refcount.h(137): warning C4057: 'function': 'volatile long *' differs in indirection to slightly different base types from 'volatile int *'
343TEMPLATE_VBoxLibCryptoBldProg_CFLAGS.win += -wd4100 # refcount.h(135): warning C4100: 'lock': unreferenced formal parameter
344TEMPLATE_VBoxLibCryptoBldProg_CFLAGS.win += -wd4132 # curve25519.c(5497): warning C4132: 'allzeroes': const object should be initialized
345TEMPLATE_VBoxLibCryptoBldProg_CFLAGS.win += -wd4189 # eng_list.c(373): warning C4189: 'load_dir': local variable is initialized but not referenced
346TEMPLATE_VBoxLibCryptoBldProg_CFLAGS.win += -wd4245 # bn_div.c(353): warning C4245: '=': conversion from '__int64' to 'unsigned __int64', signed/unsigned mismatch
347TEMPLATE_VBoxLibCryptoBldProg_CFLAGS.win += -wd4255 # ctype.c(314): warning C4255: 'ossl_c_locale': no function prototype given: converting '()' to '(void)'
348TEMPLATE_VBoxLibCryptoBldProg_CFLAGS.win += -wd4267 # p12_utl.c(23): warning C4267: '=': conversion from 'size_t' to 'int', possible loss of data
349TEMPLATE_VBoxLibCryptoBldProg_CFLAGS.win += -wd4389 # encoder_pkey.c(110): warning C4389: '!=': signed/unsigned mismatch
350TEMPLATE_VBoxLibCryptoBldProg_CFLAGS.win += -wd4668 # limits.h(70): warning C4668: '__STDC_WANT_SECURE_LIB__' is not defined as a preprocessor macro, replacing with '0' for '#if/#elif'
351TEMPLATE_VBoxLibCryptoBldProg_CFLAGS.win += -wd4702 # ctrl_params_translate.c(681) : warning C4702: unreachable code
352TEMPLATE_VBoxLibCryptoBldProg_CFLAGS.freebsd = $(TEMPLATE_VBoxAdvBldProg_CFLAGS.freebsd) $(subst $(TEMPLATE_VBoxR3RuntimeDllNonPedantic_CFLAGS.freebsd),, $(TEMPLATE_LIBCRYPTO_CFLAGS.freebsd))
353TEMPLATE_VBoxLibCryptoBldProg_INCS = $(TEMPLATE_LIBCRYPTO_INCS) $(TEMPLATE_VBoxAdvBldProg_INCS)
354TEMPLATE_VBoxLibCryptoBldProg_INTERMEDIATES = $(TEMPLATE_VBoxAdvBldProg_INTERMEDIATES) $(TEMPLATE_LIBCRYPTO_INTERMEDIATES)
355
356TEMPLATE_VBoxSubLibCryptoBldProg = Build program template a OpenSSL crypto sub-library.
357TEMPLATE_VBoxSubLibCryptoBldProg_EXTENDS := VBoxLibCryptoBldProg
358TEMPLATE_VBoxSubLibCryptoBldProg_INSTTYPE = none
359endif # VBOX_WITH_BLD_RTSIGNTOOL_SIGNING
360
361
362#
363# 32-bit version of LIBCRYPTO and SUBLIBCRYPTO.
364#
365TEMPLATE_VBoxLibCrypto-x86 = 32-bit template for the OpenSSL crypto library.
366TEMPLATE_VBoxLibCrypto-x86_EXTENDS = LIBCRYPTO
367TEMPLATE_VBoxLibCrypto-x86_BLD_TRG_ARCH = x86
368TEMPLATE_VBoxLibCrypto-x86_DEFS = $(filter-out HC_ARCH_BITS%,$(TEMPLATE_LIBCRYPTO_DEFS)) HC_ARCH_BITS=32 ARCH_BITS=32
369
370TEMPLATE_VBoxSubLibCrypto-x86 = 32-bit template for the OpenSSL crypto sub-library.
371TEMPLATE_VBoxSubLibCrypto-x86_EXTENDS = VBoxLibCrypto-x86
372TEMPLATE_VBoxSubLibCrypto-x86_INSTTYPE = none
373
374ifdef VBOX_WITH_32_ON_64_MAIN_API # 32-bit edition.
375 define VBOX_OPENSSL_X86
376 $(eval LIBRARIES += $(1)-x86)
377 $(1)-x86_TEMPLATE := VBoxSubLibCrypto-x86
378 $(1)-x86_EXTENDS := $(1)
379 endef
380else
381 define VBOX_OPENSSL_X86
382 endef
383endif
384
Note: See TracBrowser for help on using the repository browser.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette