commit | author | age
|
51f5ec
|
1 |
# |
JP |
2 |
# CDDL HEADER START |
|
3 |
# |
|
4 |
# The contents of this file are subject to the terms of the |
|
5 |
# Common Development and Distribution License (the "License"). |
|
6 |
# You may not use this file except in compliance with the License. |
|
7 |
# |
|
8 |
# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE |
|
9 |
# or http://www.opensolaris.org/os/licensing. |
|
10 |
# See the License for the specific language governing permissions |
|
11 |
# and limitations under the License. |
|
12 |
# |
|
13 |
# When distributing Covered Code, include this CDDL HEADER in each |
|
14 |
# file and include the License file at usr/src/OPENSOLARIS.LICENSE. |
|
15 |
# If applicable, add the following below this CDDL HEADER, with the |
|
16 |
# fields enclosed by brackets "[]" replaced with your own identifying |
|
17 |
# information: Portions Copyright [yyyy] [name of copyright owner] |
|
18 |
# |
|
19 |
# CDDL HEADER END |
|
20 |
# |
5a76a7
|
21 |
# Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved. |
51f5ec
|
22 |
# |
7c3a7e
|
23 |
include ../../../make-rules/shared-macros.mk |
51f5ec
|
24 |
|
28cc44
|
25 |
COMPONENT_NAME = openssl |
TK |
26 |
# When new version of OpenSSL comes in, you must update both COMPONENT_VERSION |
|
27 |
# and IPS_COMPONENT_VERSION. |
|
28 |
# When upgrading OpenSSL, please, DON'T FORGET TO TEST WANBOOT too. |
|
29 |
# For more information about wanboot-openssl testing, please refer to |
|
30 |
# ../README. |
840b1b
|
31 |
COMPONENT_VERSION = 1.0.1e |
28cc44
|
32 |
# Version for IPS. It is easier to do it manually than convert the letter to a |
TK |
33 |
# number while taking into account that there might be no letter at all. |
840b1b
|
34 |
IPS_COMPONENT_VERSION = 1.0.1.5 |
28cc44
|
35 |
COMPONENT_PROJECT_URL= http://www.openssl.org/ |
TK |
36 |
COMPONENT_SRC = $(COMPONENT_NAME)-$(COMPONENT_VERSION) |
|
37 |
COMPONENT_ARCHIVE = $(COMPONENT_SRC).tar.gz |
dce6a0
|
38 |
COMPONENT_ARCHIVE_HASH= \ |
840b1b
|
39 |
sha256:f74f15e8c8ff11aa3d5bb5f276d202ec18d7246e95f961db76054199c69c1ae3 |
28cc44
|
40 |
COMPONENT_ARCHIVE_URL = $(COMPONENT_PROJECT_URL)source/$(COMPONENT_ARCHIVE) |
3b89c9
|
41 |
COMPONENT_BUGDB= utility/openssl |
51f5ec
|
42 |
|
b69977
|
43 |
# Architecture-specific patches |
fb6de2
|
44 |
EXTRA_PATCHES.sparc = $(PATCH_DIR)/openssl-t4-inline.sparc-patch |
MM |
45 |
EXTRA_PATCHES.sparc += $(PATCH_DIR)/openssl-1.0.1e-t4-engine.sparc-patch |
b69977
|
46 |
EXTRA_PATCHES = $(EXTRA_PATCHES.$(MACH)) |
DA |
47 |
|
51f5ec
|
48 |
include $(WS_TOP)/make-rules/prep.mk |
JP |
49 |
include $(WS_TOP)/make-rules/configure.mk |
|
50 |
include $(WS_TOP)/make-rules/ips.mk |
|
51 |
include $(WS_TOP)/make-rules/lint-libraries.mk |
7c3a7e
|
52 |
|
NJ |
53 |
PATH=$(SPRO_VROOT)/bin:/usr/bin:/usr/gnu/bin:/usr/perl5/bin |
28cc44
|
54 |
|
TK |
55 |
# Variant of OpenSSL for wanboot is built in build/sparcv9-wanboot. |
|
56 |
BUILD_DIR_WANBOOT = $(BUILD_DIR)/$(MACH64)-wanboot |
51f5ec
|
57 |
|
JP |
58 |
# OpenSSL does not use autoconf but its own configure system. |
|
59 |
CONFIGURE_SCRIPT = $(SOURCE_DIR)/Configure |
c824f9
|
60 |
|
TK |
61 |
# This is to force OpenSSL's Configure script to use gmake for 'make links'. |
|
62 |
# Otherwise it fails with: |
|
63 |
# mksh: Fatal error in reader: Unmatched `(' on line |
|
64 |
CONFIGURE_ENV += MAKE="$(GMAKE)" |
51f5ec
|
65 |
|
JP |
66 |
# Used in the configure options below. |
|
67 |
PKCS11_LIB32 = /usr/lib/libpkcs11.so.1 |
|
68 |
PKCS11_LIB64 = /usr/lib/64/libpkcs11.so.1 |
|
69 |
ENGINESDIR_32 = /lib/openssl/engines |
|
70 |
ENGINESDIR_64 = /lib/openssl/engines/64 |
|
71 |
|
28cc44
|
72 |
# Configure options common to both regular OpenSSL and OpenSSL for wanboot. |
51f5ec
|
73 |
CONFIGURE_OPTIONS = -DSOLARIS_OPENSSL -DNO_WINDOWS_BRAINDEATH |
JP |
74 |
CONFIGURE_OPTIONS += --openssldir=/etc/openssl |
|
75 |
CONFIGURE_OPTIONS += --prefix=/usr |
|
76 |
# We use OpenSSL install code for installing only manual pages and we do that |
|
77 |
# for 32-bit version only. |
|
78 |
CONFIGURE_OPTIONS += --install_prefix=$(PROTO_DIR) |
|
79 |
CONFIGURE_OPTIONS += no-ec |
|
80 |
CONFIGURE_OPTIONS += no-ecdh |
|
81 |
CONFIGURE_OPTIONS += no-ecdsa |
|
82 |
CONFIGURE_OPTIONS += no-rc3 |
|
83 |
CONFIGURE_OPTIONS += no-rc5 |
|
84 |
CONFIGURE_OPTIONS += no-mdc2 |
|
85 |
CONFIGURE_OPTIONS += no-idea |
|
86 |
CONFIGURE_OPTIONS += no-hw_4758_cca |
|
87 |
CONFIGURE_OPTIONS += no-hw_aep |
|
88 |
CONFIGURE_OPTIONS += no-hw_atalla |
|
89 |
CONFIGURE_OPTIONS += no-hw_chil |
|
90 |
CONFIGURE_OPTIONS += no-hw_gmp |
|
91 |
CONFIGURE_OPTIONS += no-hw_ncipher |
|
92 |
CONFIGURE_OPTIONS += no-hw_nuron |
|
93 |
CONFIGURE_OPTIONS += no-hw_padlock |
|
94 |
CONFIGURE_OPTIONS += no-hw_sureware |
|
95 |
CONFIGURE_OPTIONS += no-hw_ubsec |
|
96 |
CONFIGURE_OPTIONS += no-hw_cswift |
840b1b
|
97 |
|
51f5ec
|
98 |
# MD2 is not enabled by default in OpensSSL but some software we have in |
JP |
99 |
# Userland needs it. One example is nmap. |
|
100 |
CONFIGURE_OPTIONS += enable-md2 |
|
101 |
CONFIGURE_OPTIONS += no-seed |
840b1b
|
102 |
|
51f5ec
|
103 |
# We use both no-whirlpool and no-whrlpool since there is an inconsistency in |
JP |
104 |
# the OpenSSL code and one needs both to build OpenSSL successfully with |
|
105 |
# Whirlpool implementation removed. |
|
106 |
CONFIGURE_OPTIONS += no-whirlpool |
|
107 |
CONFIGURE_OPTIONS += no-whrlpool |
840b1b
|
108 |
|
28cc44
|
109 |
# Some additional options needed for our engines. |
TK |
110 |
CONFIGURE_OPTIONS += --pk11-libname=$(PKCS11_LIB$(BITS)) |
|
111 |
CONFIGURE_OPTIONS += --enginesdir=$(ENGINESDIR_$(BITS)) |
51f5ec
|
112 |
|
JP |
113 |
# We define our own compiler and linker option sets for Solaris. See Configure |
|
114 |
# for more information. |
|
115 |
CONFIGURE_OPTIONS32_i386 = solaris-x86-cc-sunw |
|
116 |
CONFIGURE_OPTIONS32_sparc = solaris-sparcv9-cc-sunw |
|
117 |
CONFIGURE_OPTIONS64_i386 = solaris64-x86_64-cc-sunw |
|
118 |
CONFIGURE_OPTIONS64_sparc = solaris64-sparcv9-cc-sunw |
|
119 |
|
28cc44
|
120 |
# Options specific to regular build. |
TK |
121 |
# They must not be specified as common, as they cannot be overridden. |
|
122 |
$(BUILD_DIR)/$(MACH32)/.configured: CONFIGURE_OPTIONS += threads |
|
123 |
$(BUILD_DIR)/$(MACH64)/.configured: CONFIGURE_OPTIONS += threads |
|
124 |
$(BUILD_DIR)/$(MACH32)/.configured: CONFIGURE_OPTIONS += shared |
|
125 |
$(BUILD_DIR)/$(MACH64)/.configured: CONFIGURE_OPTIONS += shared |
|
126 |
$(BUILD_DIR)/$(MACH32)/.configured: CONFIGURE_OPTIONS += shared |
|
127 |
$(BUILD_DIR)/$(MACH64)/.configured: CONFIGURE_OPTIONS += shared |
|
128 |
$(BUILD_DIR)/$(MACH32)/.configured: CONFIGURE_OPTIONS += \ |
|
129 |
$(CONFIGURE_OPTIONS32_$(MACH)) |
|
130 |
$(BUILD_DIR)/$(MACH64)/.configured: CONFIGURE_OPTIONS += \ |
|
131 |
$(CONFIGURE_OPTIONS64_$(MACH)) |
|
132 |
|
|
133 |
# OpenSSL for wanboot specific options |
|
134 |
$(BUILD_DIR_WANBOOT)/.configured: BITS=64 |
|
135 |
$(BUILD_DIR_WANBOOT)/.configured: CONFIGURE_OPTIONS += -DNO_CHMOD |
|
136 |
$(BUILD_DIR_WANBOOT)/.configured: CONFIGURE_OPTIONS += -D_BOOT |
|
137 |
$(BUILD_DIR_WANBOOT)/.configured: CONFIGURE_OPTIONS += -DOPENSSL_NO_DTLS1 |
840b1b
|
138 |
$(BUILD_DIR_WANBOOT)/.configured: CONFIGURE_OPTIONS += -DOPENSSL_NO_HEARTBEATS |
MM |
139 |
$(BUILD_DIR_WANBOOT)/.configured: CONFIGURE_OPTIONS += -DOPENSSL_NO_SRP |
28cc44
|
140 |
$(BUILD_DIR_WANBOOT)/.configured: CONFIGURE_OPTIONS += no-cast |
TK |
141 |
$(BUILD_DIR_WANBOOT)/.configured: CONFIGURE_OPTIONS += no-dso |
|
142 |
$(BUILD_DIR_WANBOOT)/.configured: CONFIGURE_OPTIONS += no-rc4 |
|
143 |
$(BUILD_DIR_WANBOOT)/.configured: CONFIGURE_OPTIONS += no-ripemd |
|
144 |
$(BUILD_DIR_WANBOOT)/.configured: CONFIGURE_OPTIONS += no-hw |
|
145 |
$(BUILD_DIR_WANBOOT)/.configured: CONFIGURE_OPTIONS += no-threads |
|
146 |
$(BUILD_DIR_WANBOOT)/.configured: CONFIGURE_OPTIONS += no-shared |
|
147 |
$(BUILD_DIR_WANBOOT)/.configured: CONFIGURE_OPTIONS += \ |
|
148 |
solaris64-sparcv9-cc-sunw-wanboot |
51f5ec
|
149 |
|
JP |
150 |
# OpenSSL has its own configure system which must be run from the fully |
|
151 |
# populated source code directory. However, the Userland configuration phase is |
|
152 |
# run from the build directory. So, we must get the full source code into the |
|
153 |
# build directory. |
|
154 |
COMPONENT_PRE_CONFIGURE_ACTION = \ |
|
155 |
( $(CLONEY) $(SOURCE_DIR) $(BUILD_DIR)/$(MACH$(BITS)); ) |
28cc44
|
156 |
|
TK |
157 |
$(BUILD_DIR_WANBOOT)/.configured: COMPONENT_PRE_CONFIGURE_ACTION = \ |
|
158 |
( $(CLONEY) $(SOURCE_DIR) $(BUILD_DIR_WANBOOT); ) |
51f5ec
|
159 |
|
JP |
160 |
# We deliver only one opensslconf.h file which must be suitable for both 32 and |
|
161 |
# 64 bits. Depending on the configuration option, OpenSSL's Configure script |
|
162 |
# creates opensslconf.h for either 32 or 64 bits. A patch makes the resulting |
|
163 |
# header file usable on both architectures. The patch was generated against the |
|
164 |
# opensslconf.h version from the 32 bit build. |
|
165 |
COMPONENT_POST_CONFIGURE_ACTION = \ |
|
166 |
( [ $(BITS) -eq 32 ] && $(GPATCH) -p1 $(@D)/crypto/opensslconf.h \ |
|
167 |
patches-post-config/opensslconf.patch; cd $(@D); $(MAKE) depend; ) |
|
168 |
|
|
169 |
# We do not ship our engines as patches since it would be more difficult to |
|
170 |
# update the files which have been under continuous development. We rather copy |
|
171 |
# the files to the right directories. |
28cc44
|
172 |
# Same holds for wanboot-stubs.c, which stubs out several functions, that are |
TK |
173 |
# not available in the stand-alone environment of wanboot. |
51f5ec
|
174 |
COMPONENT_PRE_BUILD_ACTION = \ |
f31e3f
|
175 |
( echo "Cloning engines..."; \ |
ZK |
176 |
$(LN) -fs $(COMPONENT_DIR)/engines/devcrypto/*.[ch] $(@D)/engines; \ |
|
177 |
$(LN) -fs $(COMPONENT_DIR)/engines/pkcs11/*.[ch] $(@D)/crypto/engine; \ |
|
178 |
$(LN) -fs $(COMPONENT_DIR)/engines/t4/eng_t4*.[ch] $(@D)/crypto/engine; \ |
|
179 |
$(LN) -fs $(COMPONENT_DIR)/engines/t4/t4_aes.S $(@D)/crypto/aes/asm; \ |
|
180 |
$(LN) -fs $(COMPONENT_DIR)/engines/t4/t4_des.S $(@D)/crypto/des/asm; \ |
|
181 |
$(LN) -fs $(COMPONENT_DIR)/engines/t4/t4_md5.S $(@D)/crypto/md5/asm; \ |
|
182 |
$(LN) -fs $(COMPONENT_DIR)/engines/t4/t4_sha?.S $(@D)/crypto/sha/asm; \ |
fb6de2
|
183 |
$(LN) -fs $(COMPONENT_DIR)/wanboot-openssl/wanboot-stubs.c $(@D)/crypto; \ |
MM |
184 |
$(LN) -fs $(COMPONENT_DIR)/inline-t4/sparc_arch.h $(@D)/crypto/; \ |
|
185 |
$(LN) -fs $(COMPONENT_DIR)/inline-t4/md5-sparcv9.pl $(@D)/crypto/md5/asm; ) |
28cc44
|
186 |
|
TK |
187 |
# OpenSSL for wanboot is built on sparc only. |
|
188 |
ifeq ($(MACH), sparc) |
|
189 |
BUILD_64 += $(BUILD_DIR_WANBOOT)/.built |
|
190 |
endif |
51f5ec
|
191 |
|
JP |
192 |
build: $(BUILD_32_and_64) |
28cc44
|
193 |
|
TK |
194 |
# Object files for wanboot-openssl.o have to be listed explicitly. |
|
195 |
WANBOOT_OBJS = \ |
840b1b
|
196 |
crypto/aes/aes-sparcv9.o crypto/aes/aes_cbc.o crypto/aes/aes_core.o \ |
MM |
197 |
crypto/aes/aes_misc.o crypto/aes/aes_wrap.o crypto/asn1/a_bitstr.o \ |
|
198 |
crypto/asn1/a_bool.o crypto/asn1/a_bytes.o crypto/asn1/a_d2i_fp.o \ |
|
199 |
crypto/asn1/a_digest.o crypto/asn1/a_dup.o crypto/asn1/a_enum.o \ |
|
200 |
crypto/asn1/a_gentm.o crypto/asn1/a_i2d_fp.o crypto/asn1/a_int.o \ |
|
201 |
crypto/asn1/a_mbstr.o crypto/asn1/a_object.o crypto/asn1/a_octet.o \ |
|
202 |
crypto/asn1/a_print.o crypto/asn1/a_set.o crypto/asn1/a_sign.o \ |
|
203 |
crypto/asn1/a_strex.o crypto/asn1/a_strnid.o crypto/asn1/a_time.o \ |
|
204 |
crypto/asn1/a_type.o crypto/asn1/a_utctm.o crypto/asn1/a_utf8.o \ |
|
205 |
crypto/asn1/a_verify.o crypto/asn1/ameth_lib.o crypto/asn1/asn1_err.o \ |
|
206 |
crypto/asn1/asn1_gen.o crypto/asn1/asn1_lib.o crypto/asn1/asn1_par.o \ |
|
207 |
crypto/asn1/asn_mime.o crypto/asn1/asn_pack.o crypto/asn1/bio_asn1.o \ |
|
208 |
crypto/asn1/bio_ndef.o crypto/asn1/d2i_pr.o crypto/asn1/evp_asn1.o \ |
|
209 |
crypto/asn1/f_int.o crypto/asn1/f_string.o crypto/asn1/i2d_pr.o \ |
|
210 |
crypto/asn1/nsseq.o crypto/asn1/p5_pbe.o crypto/asn1/p5_pbev2.o \ |
|
211 |
crypto/asn1/p8_pkey.o crypto/asn1/t_pkey.o crypto/asn1/t_x509.o \ |
|
212 |
crypto/asn1/t_x509a.o crypto/asn1/tasn_dec.o crypto/asn1/tasn_enc.o \ |
|
213 |
crypto/asn1/tasn_fre.o crypto/asn1/tasn_new.o crypto/asn1/tasn_prn.o \ |
|
214 |
crypto/asn1/tasn_typ.o crypto/asn1/tasn_utl.o crypto/asn1/x_algor.o \ |
|
215 |
crypto/asn1/x_attrib.o crypto/asn1/x_bignum.o crypto/asn1/x_crl.o \ |
|
216 |
crypto/asn1/x_exten.o crypto/asn1/x_info.o crypto/asn1/x_long.o \ |
|
217 |
crypto/asn1/x_name.o crypto/asn1/x_pkey.o crypto/asn1/x_pubkey.o \ |
|
218 |
crypto/asn1/x_req.o crypto/asn1/x_sig.o crypto/asn1/x_spki.o \ |
|
219 |
crypto/asn1/x_val.o crypto/asn1/x_x509.o crypto/asn1/x_x509a.o \ |
|
220 |
crypto/bf/bf_cfb64.o crypto/bf/bf_ecb.o crypto/bf/bf_enc.o \ |
|
221 |
crypto/bf/bf_ofb64.o crypto/bf/bf_skey.o crypto/bio/b_dump.o \ |
|
222 |
crypto/bio/b_print.o crypto/bio/bf_buff.o crypto/bio/bio_err.o \ |
|
223 |
crypto/bio/bio_lib.o crypto/bio/bss_file.o crypto/bio/bss_mem.o \ |
|
224 |
crypto/bio/bss_null.o crypto/bio/bss_sock.o crypto/bn/bn-sparcv9.o \ |
|
225 |
crypto/bn/bn_add.o crypto/bn/bn_blind.o crypto/bn/bn_ctx.o \ |
|
226 |
crypto/bn/bn_div.o crypto/bn/bn_err.o crypto/bn/bn_exp.o \ |
|
227 |
crypto/bn/bn_exp2.o crypto/bn/bn_gcd.o crypto/bn/bn_lib.o \ |
|
228 |
crypto/bn/bn_mod.o crypto/bn/bn_mont.o crypto/bn/bn_mul.o \ |
|
229 |
crypto/bn/bn_prime.o crypto/bn/bn_print.o crypto/bn/bn_rand.o \ |
|
230 |
crypto/bn/bn_recp.o crypto/bn/bn_shift.o crypto/bn/bn_sqr.o \ |
|
231 |
crypto/bn/bn_word.o crypto/bn/sparcv9-mont.o crypto/bn/sparcv9a-mont.o \ |
|
232 |
crypto/buffer/buf_err.o crypto/buffer/buf_str.o crypto/buffer/buffer.o \ |
|
233 |
crypto/camellia/camellia.o crypto/camellia/cmll_cbc.o \ |
|
234 |
crypto/camellia/cmll_cfb.o crypto/camellia/cmll_ecb.o \ |
|
235 |
crypto/camellia/cmll_misc.o crypto/camellia/cmll_ofb.o \ |
|
236 |
crypto/camellia/cmll_utl.o crypto/cmac/cm_ameth.o crypto/cmac/cm_pmeth.o \ |
|
237 |
crypto/cmac/cmac.o crypto/cms/cms_asn1.o crypto/cms/cms_att.o \ |
28cc44
|
238 |
crypto/cms/cms_dd.o crypto/cms/cms_enc.o crypto/cms/cms_env.o \ |
TK |
239 |
crypto/cms/cms_err.o crypto/cms/cms_io.o crypto/cms/cms_lib.o \ |
840b1b
|
240 |
crypto/cms/cms_pwri.o crypto/cms/cms_sd.o crypto/comp/c_zlib.o \ |
MM |
241 |
crypto/comp/comp_err.o crypto/comp/comp_lib.o crypto/conf/conf_api.o \ |
|
242 |
crypto/conf/conf_def.o crypto/conf/conf_err.o crypto/conf/conf_lib.o \ |
|
243 |
crypto/conf/conf_mod.o crypto/cpt_err.o crypto/cryptlib.o \ |
|
244 |
crypto/des/cfb64ede.o crypto/des/cfb64enc.o crypto/des/cfb_enc.o \ |
|
245 |
crypto/des/des_enc-sparc.o crypto/des/ecb3_enc.o crypto/des/ecb_enc.o \ |
|
246 |
crypto/des/ofb64ede.o crypto/des/ofb64enc.o crypto/des/set_key.o \ |
|
247 |
crypto/des/xcbc_enc.o crypto/dh/dh_ameth.o crypto/dh/dh_asn1.o \ |
|
248 |
crypto/dh/dh_check.o crypto/dh/dh_err.o crypto/dh/dh_gen.o \ |
|
249 |
crypto/dh/dh_key.o crypto/dh/dh_lib.o crypto/dh/dh_pmeth.o \ |
|
250 |
crypto/dsa/dsa_ameth.o crypto/dsa/dsa_asn1.o crypto/dsa/dsa_err.o \ |
|
251 |
crypto/dsa/dsa_gen.o crypto/dsa/dsa_key.o crypto/dsa/dsa_lib.o \ |
|
252 |
crypto/dsa/dsa_ossl.o crypto/dsa/dsa_pmeth.o crypto/dsa/dsa_sign.o \ |
|
253 |
crypto/dsa/dsa_vrf.o crypto/dso/dso_lib.o crypto/dso/dso_null.o \ |
|
254 |
crypto/dso/dso_openssl.o crypto/engine/eng_ctrl.o crypto/engine/eng_err.o \ |
|
255 |
crypto/engine/eng_init.o crypto/engine/eng_lib.o crypto/engine/eng_list.o \ |
|
256 |
crypto/engine/eng_pkey.o crypto/engine/eng_table.o \ |
|
257 |
crypto/engine/tb_asnmth.o crypto/engine/tb_cipher.o crypto/engine/tb_dh.o \ |
|
258 |
crypto/engine/tb_digest.o crypto/engine/tb_dsa.o \ |
|
259 |
crypto/engine/tb_pkmeth.o crypto/engine/tb_rand.o crypto/engine/tb_rsa.o \ |
|
260 |
crypto/err/err.o crypto/err/err_all.o crypto/err/err_prn.o \ |
|
261 |
crypto/evp/bio_b64.o crypto/evp/bio_enc.o crypto/evp/bio_md.o \ |
|
262 |
crypto/evp/c_all.o crypto/evp/c_allc.o crypto/evp/c_alld.o \ |
|
263 |
crypto/evp/digest.o crypto/evp/e_aes.o crypto/evp/e_aes_cbc_hmac_sha1.o \ |
28cc44
|
264 |
crypto/evp/e_bf.o crypto/evp/e_camellia.o crypto/evp/e_des.o \ |
TK |
265 |
crypto/evp/e_des3.o crypto/evp/e_null.o crypto/evp/e_rc2.o \ |
|
266 |
crypto/evp/e_xcbc_d.o crypto/evp/encode.o crypto/evp/evp_enc.o \ |
|
267 |
crypto/evp/evp_err.o crypto/evp/evp_key.o crypto/evp/evp_lib.o \ |
|
268 |
crypto/evp/evp_pbe.o crypto/evp/evp_pkey.o crypto/evp/m_dss.o \ |
|
269 |
crypto/evp/m_dss1.o crypto/evp/m_md4.o crypto/evp/m_md5.o \ |
|
270 |
crypto/evp/m_sha.o crypto/evp/m_sha1.o crypto/evp/m_sigver.o \ |
|
271 |
crypto/evp/names.o crypto/evp/p5_crpt.o crypto/evp/p5_crpt2.o \ |
|
272 |
crypto/evp/p_lib.o crypto/evp/p_sign.o crypto/evp/p_verify.o \ |
|
273 |
crypto/evp/pmeth_fn.o crypto/evp/pmeth_gn.o crypto/evp/pmeth_lib.o \ |
|
274 |
crypto/ex_data.o crypto/hmac/hm_ameth.o crypto/hmac/hm_pmeth.o \ |
|
275 |
crypto/hmac/hmac.o crypto/lhash/lhash.o crypto/md4/md4_dgst.o \ |
c07dce
|
276 |
crypto/md5/md5-sparcv9.o \ |
28cc44
|
277 |
crypto/md5/md5_dgst.o crypto/mem.o crypto/mem_dbg.o crypto/modes/cbc128.o \ |
840b1b
|
278 |
crypto/modes/ccm128.o crypto/modes/cfb128.o crypto/modes/ctr128.o \ |
MM |
279 |
crypto/modes/gcm128.o crypto/modes/ghash-sparcv9.o crypto/modes/ofb128.o \ |
|
280 |
crypto/modes/xts128.o crypto/o_dir.o crypto/o_init.o crypto/o_time.o \ |
|
281 |
crypto/objects/o_names.o crypto/objects/obj_dat.o \ |
28cc44
|
282 |
crypto/objects/obj_err.o crypto/objects/obj_lib.o \ |
TK |
283 |
crypto/objects/obj_xref.o crypto/ocsp/ocsp_asn.o crypto/ocsp/ocsp_err.o \ |
|
284 |
crypto/pem/pem_all.o crypto/pem/pem_err.o crypto/pem/pem_info.o \ |
|
285 |
crypto/pem/pem_lib.o crypto/pem/pem_oth.o crypto/pem/pem_pk8.o \ |
|
286 |
crypto/pem/pem_pkey.o crypto/pem/pem_x509.o crypto/pem/pem_xaux.o \ |
|
287 |
crypto/pkcs12/p12_add.o crypto/pkcs12/p12_asn.o crypto/pkcs12/p12_attr.o \ |
|
288 |
crypto/pkcs12/p12_crpt.o crypto/pkcs12/p12_decr.o crypto/pkcs12/p12_key.o \ |
|
289 |
crypto/pkcs12/p12_mutl.o crypto/pkcs12/p12_p8d.o crypto/pkcs12/p12_p8e.o \ |
|
290 |
crypto/pkcs12/p12_utl.o crypto/pkcs12/pk12err.o crypto/pkcs7/pk7_asn1.o \ |
|
291 |
crypto/pkcs7/pk7_attr.o crypto/pkcs7/pk7_doit.o crypto/pkcs7/pk7_lib.o \ |
840b1b
|
292 |
crypto/pkcs7/pkcs7err.o crypto/pqueue/pqueue.o crypto/rand/md_rand.o \ |
MM |
293 |
crypto/rand/rand_err.o crypto/rand/rand_lib.o crypto/rand/rand_unix.o \ |
|
294 |
crypto/rand/randfile.o crypto/rc2/rc2_cbc.o crypto/rc2/rc2_ecb.o \ |
|
295 |
crypto/rc2/rc2_skey.o crypto/rc2/rc2cfb64.o crypto/rc2/rc2ofb64.o \ |
|
296 |
crypto/rsa/rsa_ameth.o crypto/rsa/rsa_asn1.o crypto/rsa/rsa_crpt.o \ |
|
297 |
crypto/rsa/rsa_eay.o crypto/rsa/rsa_err.o crypto/rsa/rsa_gen.o \ |
|
298 |
crypto/rsa/rsa_lib.o crypto/rsa/rsa_none.o crypto/rsa/rsa_oaep.o \ |
|
299 |
crypto/rsa/rsa_pk1.o crypto/rsa/rsa_pmeth.o crypto/rsa/rsa_pss.o \ |
|
300 |
crypto/rsa/rsa_saos.o crypto/rsa/rsa_sign.o crypto/rsa/rsa_ssl.o \ |
28cc44
|
301 |
crypto/rsa/rsa_x931.o crypto/sha/sha1-sparcv9.o crypto/sha/sha1dgst.o \ |
TK |
302 |
crypto/sha/sha256-sparcv9.o crypto/sha/sha256.o \ |
|
303 |
crypto/sha/sha512-sparcv9.o crypto/sha/sha512.o crypto/sha/sha_dgst.o \ |
840b1b
|
304 |
crypto/sparccpuid.o crypto/sparcv9cap.o crypto/srp/srp_lib.o \ |
MM |
305 |
crypto/srp/srp_vfy.o crypto/stack/stack.o crypto/ts/ts_err.o \ |
|
306 |
crypto/txt_db/txt_db.o crypto/ui/ui_err.o crypto/wanboot-stubs.o \ |
|
307 |
crypto/x509/by_dir.o crypto/x509/by_file.o crypto/x509/x509_att.o \ |
|
308 |
crypto/x509/x509_cmp.o crypto/x509/x509_d2.o crypto/x509/x509_def.o \ |
|
309 |
crypto/x509/x509_err.o crypto/x509/x509_ext.o crypto/x509/x509_lu.o \ |
|
310 |
crypto/x509/x509_obj.o crypto/x509/x509_req.o crypto/x509/x509_trs.o \ |
|
311 |
crypto/x509/x509_txt.o crypto/x509/x509_v3.o crypto/x509/x509_vfy.o \ |
|
312 |
crypto/x509/x509_vpm.o crypto/x509/x509name.o crypto/x509/x509rset.o \ |
|
313 |
crypto/x509/x509type.o crypto/x509/x_all.o crypto/x509v3/pcy_cache.o \ |
|
314 |
crypto/x509v3/pcy_data.o crypto/x509v3/pcy_lib.o crypto/x509v3/pcy_map.o \ |
|
315 |
crypto/x509v3/pcy_node.o crypto/x509v3/pcy_tree.o crypto/x509v3/v3_akey.o \ |
|
316 |
crypto/x509v3/v3_akeya.o crypto/x509v3/v3_alt.o crypto/x509v3/v3_bcons.o \ |
|
317 |
crypto/x509v3/v3_bitst.o crypto/x509v3/v3_conf.o crypto/x509v3/v3_cpols.o \ |
|
318 |
crypto/x509v3/v3_crld.o crypto/x509v3/v3_enum.o crypto/x509v3/v3_extku.o \ |
|
319 |
crypto/x509v3/v3_genn.o crypto/x509v3/v3_ia5.o crypto/x509v3/v3_info.o \ |
|
320 |
crypto/x509v3/v3_int.o crypto/x509v3/v3_lib.o crypto/x509v3/v3_ncons.o \ |
|
321 |
crypto/x509v3/v3_ocsp.o crypto/x509v3/v3_pci.o crypto/x509v3/v3_pcia.o \ |
|
322 |
crypto/x509v3/v3_pcons.o crypto/x509v3/v3_pku.o crypto/x509v3/v3_pmaps.o \ |
|
323 |
crypto/x509v3/v3_prn.o crypto/x509v3/v3_purp.o crypto/x509v3/v3_skey.o \ |
|
324 |
crypto/x509v3/v3_sxnet.o crypto/x509v3/v3_utl.o crypto/x509v3/v3err.o \ |
|
325 |
ssl/s3_both.o ssl/s3_clnt.o ssl/s3_enc.o ssl/s3_lib.o ssl/s3_pkt.o \ |
|
326 |
ssl/ssl_algs.o ssl/ssl_asn1.o ssl/ssl_cert.o ssl/ssl_ciph.o ssl/ssl_err.o \ |
|
327 |
ssl/ssl_err2.o ssl/ssl_lib.o ssl/ssl_rsa.o ssl/ssl_sess.o ssl/t1_enc.o \ |
6823c4
|
328 |
ssl/t1_lib.o ssl/t1_reneg.o ssl/d1_srtp.o ssl/s3_cbc.o ssl/t1_clnt.o |
28cc44
|
329 |
|
TK |
330 |
# Linking of openssl bits for wanboot. |
|
331 |
# Interface for wanboot is specified in mapfile.wanboot. Object files are |
|
332 |
# compiled to have functions in separate sections, unused sections get |
|
333 |
# discarded. |
|
334 |
CREATE_BIG_OBJECT_FILE = ( \ |
|
335 |
cd $(BUILD_DIR_WANBOOT); \ |
|
336 |
$(LD) -o wanboot-openssl.o -r -M../../mapfile.wanboot -Breduce \ |
|
337 |
-zdiscard-unused=sections,files -zguidance \ |
|
338 |
$(WANBOOT_OBJS); \ |
|
339 |
) |
|
340 |
|
|
341 |
$(BUILD_DIR_WANBOOT)/.built: COMPONENT_POST_BUILD_ACTION = \ |
|
342 |
($(CREATE_BIG_OBJECT_FILE); ) |
51f5ec
|
343 |
|
JP |
344 |
# OpenSSL uses sections man[1357] by default so we must create the man |
|
345 |
# directories we use for OpenSSL man pages in Solaris. Note that we patch the |
|
346 |
# OpenSSL man page install script to use the correct directories. |
|
347 |
MANDIR_SECTIONS = $(PROTO_DIR)/usr/share/man/man1openssl |
|
348 |
MANDIR_SECTIONS += $(PROTO_DIR)/usr/share/man/man3openssl |
|
349 |
MANDIR_SECTIONS += $(PROTO_DIR)/usr/share/man/man5openssl |
|
350 |
MANDIR_SECTIONS += $(PROTO_DIR)/usr/share/man/man7openssl |
|
351 |
|
|
352 |
# We must create man page directories manually since we patched OpenSSL install |
|
353 |
# code to install into manXopenssl instead of manX. Also, OpenSSL does not |
|
354 |
# install into <dir>/$(MACH64) for 64-bit install so no such directory is |
|
355 |
# created and Userland install code would fail when installing lint libraries. |
|
356 |
COMPONENT_PRE_INSTALL_ACTION = ( $(MKDIR) $(MANDIR_SECTIONS); \ |
|
357 |
$(MKDIR) $(PROTO_DIR)/usr/lib/$(MACH64); ) |
|
358 |
|
|
359 |
# The install_docs target will install man pages into $(PROTO_DIR)/$(MANDIR). We |
|
360 |
# also add /usr/perl5/bin to PATH so that OpenSSL install code can locate the |
|
361 |
# system pod2man. If not set, OpenSSL make would use an internal implementation |
|
362 |
# from the tarball which would corrupt some man pages. |
7c3a7e
|
363 |
COMPONENT_INSTALL_ARGS += PATH=$(PATH) MANDIR=/usr/share/man |
51f5ec
|
364 |
|
28cc44
|
365 |
WANBOOT_TO = $(PROTO_DIR)/lib/openssl/wanboot/$(MACH64) |
TK |
366 |
|
51f5ec
|
367 |
# We could run OpenSSL install code for 32 bits only to process header files and |
28cc44
|
368 |
# manual pages. However, lint libraries depend on install stamps so we run |
51f5ec
|
369 |
# install for 64 bit as well. Note that we must take built binary files from |
JP |
370 |
# build directories, not from the proto area which contains whatever was |
|
371 |
# installed first. |
28cc44
|
372 |
# OpenSSL for wanboot is built on sparc only. |
TK |
373 |
ifeq ($(MACH), sparc) |
|
374 |
install: $(INSTALL_32_and_64) $(BUILD_DIR_WANBOOT)/.built |
|
375 |
$(MKDIR) -p $(WANBOOT_TO); |
|
376 |
$(CP) $(BUILD_DIR_WANBOOT)/wanboot-openssl.o $(WANBOOT_TO); |
|
377 |
else |
51f5ec
|
378 |
install: $(INSTALL_32_and_64) |
28cc44
|
379 |
endif |
51f5ec
|
380 |
|
JP |
381 |
# We need to modify the default lint flags to include patched opensslconf.h from |
|
382 |
# the build directory. If we do not do that, lint will complain about md2.h |
|
383 |
# which is not enabled by default but it is in our opensslconf.h. |
aea366
|
384 |
LFLAGS_32 := -I$(BUILD_DIR_32)/include $(LINT_FLAGS) -lsoftcrypto |
FR |
385 |
LFLAGS_64 := -I$(BUILD_DIR_64)/include $(LINT_FLAGS) -lsoftcrypto |
51f5ec
|
386 |
|
JP |
387 |
# Set modified lint flags for our lint library targets. |
840b1b
|
388 |
$(BUILD_DIR_32)/llib-lcrypto.ln: LINT_FLAGS=$(LFLAGS_32) |
MM |
389 |
$(BUILD_DIR_32)/llib-lssl.ln: LINT_FLAGS=$(LFLAGS_32) |
|
390 |
$(BUILD_DIR_64)/llib-lcrypto.ln: LINT_FLAGS=$(LFLAGS_64) |
|
391 |
$(BUILD_DIR_64)/llib-lssl.ln: LINT_FLAGS=$(LFLAGS_64) |
51f5ec
|
392 |
|
JP |
393 |
test: $(NO_TESTS) |
|
394 |
|
|
395 |
BUILD_PKG_DEPENDENCIES = $(BUILD_TOOLS) |
|
396 |
|
|
397 |
include $(WS_TOP)/make-rules/depend.mk |