Print this page
6665607 Need a SHA256/SHA384/SHA512 implementation optimized for 64-bit x86
Split |
Close |
Expand all |
Collapse all |
--- old/usr/src/lib/pkcs11/pkcs11_softtoken/Makefile.com
+++ new/usr/src/lib/pkcs11/pkcs11_softtoken/Makefile.com
1 1 #
2 2 # CDDL HEADER START
3 3 #
4 4 # The contents of this file are subject to the terms of the
5 5 # Common Development and Distribution License (the "License").
6 6 # You may not use this file except in compliance with the License.
7 7 #
8 8 # You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
9 9 # or http://www.opensolaris.org/os/licensing.
10 10 # See the License for the specific language governing permissions
11 11 # and limitations under the License.
12 12 #
13 13 # When distributing Covered Code, include this CDDL HEADER in each
14 14 # file and include the License file at usr/src/OPENSOLARIS.LICENSE.
↓ open down ↓ |
14 lines elided |
↑ open up ↑ |
15 15 # If applicable, add the following below this CDDL HEADER, with the
16 16 # fields enclosed by brackets "[]" replaced with your own identifying
17 17 # information: Portions Copyright [yyyy] [name of copyright owner]
18 18 #
19 19 # CDDL HEADER END
20 20 #
21 21 #
22 22 # Copyright 2008 Sun Microsystems, Inc. All rights reserved.
23 23 # Use is subject to license terms.
24 24 #
25 -# ident "@(#)Makefile.com 1.5 08/02/26 SMI"
25 +# ident "@(#)Makefile.com 1.6 08/03/20 SMI"
26 26 #
27 27 # lib/pkcs11/pkcs11_softtoken/Makefile.com
28 28 #
29 29
30 30 LIBRARY = pkcs11_softtoken.a
31 31 VERS= .1
32 32
33 33 LCL_OBJECTS = \
34 34 softGeneral.o \
35 35 softSlotToken.o \
36 36 softSession.o \
37 37 softObject.o \
38 38 softDigest.o \
39 39 softSign.o \
40 40 softVerify.o \
41 41 softDualCrypt.o \
42 42 softKeys.o \
43 43 softRand.o \
44 44 softSessionUtil.o \
45 45 softDigestUtil.o \
46 46 softAttributeUtil.o \
47 47 softObjectUtil.o \
48 48 softDESCrypt.o \
49 49 softEncrypt.o \
50 50 softDecrypt.o \
51 51 softEncryptUtil.o \
52 52 softDecryptUtil.o \
53 53 softSignUtil.o \
54 54 softVerifyUtil.o \
55 55 softMAC.o \
56 56 softRSA.o \
57 57 softRandUtil.o \
58 58 softKeysUtil.o \
59 59 softARCFourCrypt.o \
60 60 softDSA.o \
61 61 softDH.o \
62 62 softAESCrypt.o \
63 63 softCrypt.o \
64 64 softKeystore.o \
65 65 softKeystoreUtil.o \
66 66 softSSL.o \
67 67 softASN1.o \
68 68 softBlowfishCrypt.o \
69 69 softEC.o
70 70
71 71 ASFLAGS = $(AS_PICFLAGS) -P -D__STDC__ -D_ASM $(CPPFLAGS)
72 72
73 73 AES_COBJECTS = aes_cbc_crypt.o aes_impl.o
74 74 BLOWFISH_COBJECTS = blowfish_cbc_crypt.o blowfish_impl.o
75 75 ARCFOUR_COBJECTS = arcfour_crypt.o
76 76 DES_COBJECTS = des_cbc_crypt.o des_impl.o des_ks.o
77 77
78 78 ECC_COBJECTS = \
79 79 ec.o ec2_163.o ec2_mont.o ecdecode.o ecl_mult.o ecp_384.o \
80 80 ecp_jac.o ec2_193.o ecl.o ecp_192.o ecp_521.o \
81 81 ecp_jm.o ec2_233.o ecl_curve.o ecp_224.o ecp_aff.o ecp_mont.o \
82 82 ec2_aff.o ec_naf.o ecl_gf.o ecp_256.o oid.o secitem.o \
83 83 ec2_test.o ecp_test.o
84 84
85 85 MPI_COBJECTS = mp_gf2m.o mpi.o mplogic.o mpmontg.o mpprime.o
86 86
87 87 RSA_COBJECTS = rsa_impl.o
↓ open down ↓ |
52 lines elided |
↑ open up ↑ |
88 88 BIGNUM_COBJECTS = bignumimpl.o
89 89
90 90 AES_OBJECTS = $(AES_COBJECTS) $(AES_PSR_OBJECTS)
91 91 BLOWFISH_OBJECTS = $(BLOWFISH_COBJECTS) $(BLOWFISH_PSR_OBJECTS)
92 92 ARCFOUR_OBJECTS = $(ARCFOUR_COBJECTS) $(ARCFOUR_PSR_OBJECTS)
93 93 DES_OBJECTS = $(DES_COBJECTS) $(DES_PSR_OBJECTS)
94 94
95 95 ECC_OBJECTS = $(ECC_COBJECTS) $(ECC_PSR_OBJECTS)
96 96 MPI_OBJECTS = $(MPI_COBJECTS) $(MPI_PSR_OBJECTS)
97 97 RSA_OBJECTS = $(RSA_COBJECTS) $(RSA_PSR_OBJECTS)
98 -SHA1_OBJECTS = $(SHA1_COBJECTS) $(SHA1_PSR_OBJECTS)
99 -SHA2_OBJECTS = $(SHA2_COBJECTS) $(SHA2_PSR_OBJECTS)
100 98 BIGNUM_OBJECTS = $(BIGNUM_COBJECTS) $(BIGNUM_PSR_OBJECTS)
101 99
102 100 BER_OBJECTS = bprint.o decode.o encode.o io.o
103 101
104 102 # Sparc userland uses a floating-point implementation of
105 103 # Montgomery multiply. So, USE_FLOATING_POINT is defined here
106 104 # for Sparc targets.
107 105 #
108 106 # x86 does not use floating-point for the kernel or userland.
109 107 #
110 108 # Sparc has only one integer implementation of big_mul_add_vec()
111 109 # and friends, so these functions are called directly.
112 110 # So, HWCAP (HardWare CAPabilities) is not defined for Sparc.
113 111 #
114 112 # x86 has multiple integer implementations to choose from.
115 113 # Hardware features are tested at run time, just once,
116 114 # on first use. So, big_mul_add_vec() and friends must be
117 115 # called through a function pointer.
118 116 #
119 117 # AMD64 has a 64x64->128 bit multiply instruction, which makes
120 118 # things even faster than i386 SSE2 instructions. Since there
121 119 # is no run-time testing of features, as there is for SSE2,
122 120 # there is no need to call big_mul_add_vec() and friends through
123 121 # functions pointers, and so HWCAP is not defined.
124 122 #
↓ open down ↓ |
15 lines elided |
↑ open up ↑ |
125 123 # For now i386 and amd64 use the C code version of mont_mulf
126 124
127 125 OBJECTS = \
128 126 $(LCL_OBJECTS) \
129 127 $(AES_OBJECTS) \
130 128 $(BLOWFISH_OBJECTS) \
131 129 $(ARCFOUR_OBJECTS) \
132 130 $(DES_OBJECTS) \
133 131 $(MPI_OBJECTS) \
134 132 $(RSA_OBJECTS) \
135 - $(SHA1_OBJECTS) \
136 - $(SHA2_OBJECTS) \
137 133 $(BIGNUM_OBJECTS) \
138 134 $(BER_OBJECTS) \
139 135 $(ECC_OBJECTS)
140 136
141 137 AESDIR= $(SRC)/common/crypto/aes
142 138 BLOWFISHDIR= $(SRC)/common/crypto/blowfish
143 139 ARCFOURDIR= $(SRC)/common/crypto/arcfour
144 140 DESDIR= $(SRC)/common/crypto/des
145 141 ECCDIR= $(SRC)/common/crypto/ecc
146 142 MPIDIR= $(SRC)/common/mpi
147 143 RSADIR= $(SRC)/common/crypto/rsa
148 144 BIGNUMDIR= $(SRC)/common/bignum
149 145 BERDIR= ../../../libldap5/sources/ldap/ber
150 146
151 147 include $(SRC)/lib/Makefile.lib
152 148
153 149 # set signing mode
154 150 POST_PROCESS_SO += ; $(ELFSIGN_CRYPTO)
155 151
↓ open down ↓ |
9 lines elided |
↑ open up ↑ |
156 152 SRCDIR= ../common
157 153
158 154 SRCS = \
159 155 $(LCL_OBJECTS:%.o=$(SRCDIR)/%.c) \
160 156 $(AES_COBJECTS:%.o=$(AESDIR)/%.c) \
161 157 $(BLOWFISH_COBJECTS:%.o=$(BLOWFISHDIR)/%.c) \
162 158 $(ARCFOUR_COBJECTS:%.o=$(ARCFOURDIR)/%.c) \
163 159 $(DES_COBJECTS:%.o=$(DESDIR)/%.c) \
164 160 $(MPI_COBJECTS:%.o=$(MPIDIR)/%.c) \
165 161 $(RSA_COBJECTS:%.o=$(RSADIR)/%.c) \
166 - $(SHA1_COBJECTS:%.o=$(SHA1DIR)/%.c) \
167 - $(SHA2_COBJECTS:%.o=$(SHA2DIR)/%.c) \
168 162 $(BIGNUM_COBJECTS:%.o=$(BIGNUMDIR)/%.c) \
169 163 $(BIGNUM_PSR_SRCS) \
170 164 $(ECC_COBJECTS:%.o=$(ECCDIR)/%.c)
171 165
172 166 # libelfsign needs a static pkcs11_softtoken
173 167 LIBS = $(DYNLIB)
174 168 LDLIBS += -lc -lmd -lcryptoutil
175 169
176 170 CFLAGS += $(CCVERBOSE)
177 171 CPPFLAGS += -I$(AESDIR) -I$(BLOWFISHDIR) -I$(ARCFOURDIR) -I$(DESDIR) \
178 172 -I$(ECCDIR) -I$(MPIDIR) -I$(RSADIR) -I$(SRCDIR) -I$(BIGNUMDIR) \
179 173 -D_POSIX_PTHREAD_SEMANTICS -DMP_API_COMPATIBLE \
180 174 -DNSS_ECC_MORE_THAN_SUITE_B
181 175
182 176 LINTFLAGS64 += -errchk=longptr64
183 177
↓ open down ↓ |
6 lines elided |
↑ open up ↑ |
184 178 ROOTLIBDIR= $(ROOT)/usr/lib/security
185 179 ROOTLIBDIR64= $(ROOT)/usr/lib/security/$(MACH64)
186 180
187 181 LINTSRC = \
188 182 $(LCL_OBJECTS:%.o=$(SRCDIR)/%.c) \
189 183 $(AES_COBJECTS:%.o=$(AESDIR)/%.c) \
190 184 $(BLOWFISH_COBJECTS:%.o=$(BLOWFISHDIR)/%.c) \
191 185 $(ARCFOUR_COBJECTS:%.o=$(ARCFOURDIR)/%.c) \
192 186 $(DES_COBJECTS:%.o=$(DESDIR)/%.c) \
193 187 $(RSA_COBJECTS:%.o=$(RSADIR)/%.c) \
194 - $(SHA1_COBJECTS:%.o=$(SHA1DIR)/%.c) \
195 - $(SHA2_COBJECTS:%.o=$(SHA2DIR)/%.c) \
196 188 $(BIGNUM_COBJECTS:%.o=$(BIGNUMDIR)/%.c) \
197 189 $(BIGNUM_PSR_SRCS)
198 190
199 191 .KEEP_STATE:
200 192
201 193 all: $(LIBS)
202 194
203 195 lint: $$(LINTSRC)
204 196 $(LINT.c) $(LINTCHECKFLAGS) $(LINTSRC) $(LDLIBS)
205 197
206 198 pics/%.o: $(AESDIR)/%.c
207 199 $(COMPILE.c) -o $@ $<
208 200 $(POST_PROCESS_O)
209 201
210 202 pics/%.o: $(BLOWFISHDIR)/%.c
211 203 $(COMPILE.c) -o $@ $<
212 204 $(POST_PROCESS_O)
213 205
214 206 pics/%.o: $(ARCFOURDIR)/%.c
215 207 $(COMPILE.c) -o $@ $<
216 208 $(POST_PROCESS_O)
217 209
218 210 pics/%.o: $(DESDIR)/%.c
219 211 $(COMPILE.c) -o $@ $<
220 212 $(POST_PROCESS_O)
221 213
222 214 pics/%.o: $(ECCDIR)/%.c
↓ open down ↓ |
17 lines elided |
↑ open up ↑ |
223 215 $(COMPILE.c) -o $@ $<
224 216 $(POST_PROCESS_O)
225 217
226 218 pics/%.o: $(MPIDIR)/%.c
227 219 $(COMPILE.c) -o $@ $<
228 220 $(POST_PROCESS_O)
229 221
230 222 pics/%.o: $(RSADIR)/%.c
231 223 $(COMPILE.c) -o $@ $<
232 224 $(POST_PROCESS_O)
233 -
234 -pics/%.o: $(SHA1DIR)/%.c
235 - $(COMPILE.c) -o $@ $<
236 - $(POST_PROCESS_O)
237 -
238 -pics/%.o: $(SHA2DIR)/%.c
239 - $(COMPILE.c) -o $@ $<
240 - $(POST_PROCESS_O)
241 225
242 226 pics/%.o: $(BIGNUMDIR)/%.c
243 227 $(COMPILE.c) -o $@ $(BIGNUM_CFG) $<
244 228 $(POST_PROCESS_O)
245 229
246 230 pics/%.o: $(BERDIR)/%.c
247 231 $(COMPILE.c) -o $@ $< -D_SOLARIS_SDK -I$(BERDIR) \
248 232 -I../../../libldap5/include/ldap
249 233 $(POST_PROCESS_O)
250 234
251 235 include $(SRC)/lib/Makefile.targ
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX