aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBrent Cook <busterb@gmail.com>2019-01-20 21:18:34 -0600
committerBrent Cook <busterb@gmail.com>2019-01-20 21:18:34 -0600
commitf553a9fe6309d2992ea94a31c6ea676531b864ee (patch)
tree79b338e261396752d525a8981e7537fbb4efa623
parent3fc51459dd12dbcbf2a0e8f42f5aa9c83c0f60a3 (diff)
downloadportable-f553a9fe6309d2992ea94a31c6ea676531b864ee.tar.gz
portable-f553a9fe6309d2992ea94a31c6ea676531b864ee.tar.bz2
portable-f553a9fe6309d2992ea94a31c6ea676531b864ee.zip
consider masm/mingw assembly flavors from cmake
-rw-r--r--CMakeLists.txt4
-rw-r--r--crypto/CMakeLists.txt93
2 files changed, 96 insertions, 1 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index bcba254..1895161 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -273,6 +273,10 @@ if(ENABLE_ASM)
273 endif() 273 endif()
274 elseif(APPLE AND "${CMAKE_SYSTEM_PROCESSOR}" STREQUAL "x86_64") 274 elseif(APPLE AND "${CMAKE_SYSTEM_PROCESSOR}" STREQUAL "x86_64")
275 set(HOST_ASM_MACOSX_X86_64 true) 275 set(HOST_ASM_MACOSX_X86_64 true)
276 elseif(MSVC AND "${CMAKE_SYSTEM_PROCESSOR}" STREQUAL "x86_64")
277 set(HOST_ASM_MASM_X86_64 true)
278 elseif(CMAKE_SYSTEM_NAME MATCHES "MINGW" AND "${CMAKE_SYSTEM_PROCESSOR}" STREQUAL "x86_64")
279 set(HOST_ASM_MINGW64_X86_64 true)
276 endif() 280 endif()
277endif() 281endif()
278 282
diff --git a/crypto/CMakeLists.txt b/crypto/CMakeLists.txt
index de932c9..60a7494 100644
--- a/crypto/CMakeLists.txt
+++ b/crypto/CMakeLists.txt
@@ -108,7 +108,98 @@ if(HOST_ASM_MACOSX_X86_64)
108 set_property(SOURCE ${ASM_X86_64_MACOSX_SRC} PROPERTY XCODE_EXPLICIT_FILE_TYPE "sourcecode.asm") 108 set_property(SOURCE ${ASM_X86_64_MACOSX_SRC} PROPERTY XCODE_EXPLICIT_FILE_TYPE "sourcecode.asm")
109endif() 109endif()
110 110
111if((NOT HOST_ASM_ELF_X86_64) AND (NOT HOST_ASM_MACOSX_X86_64)) 111if(HOST_ASM_MASM_X86_64)
112 set(
113 ASM_X86_64_MASM_SRC
114 aes/aes-masm-x86_64.S
115 aes/bsaes-masm-x86_64.S
116 aes/vpaes-masm-x86_64.S
117 aes/aesni-masm-x86_64.S
118 aes/aesni-sha1-masm-x86_64.S
119 #bn/modexp512-masm-x86_64.S
120 #bn/mont-masm-x86_64.S
121 #bn/mont5-masm-x86_64.S
122 #bn/gf2m-masm-x86_64.S
123 camellia/cmll-masm-x86_64.S
124 md5/md5-masm-x86_64.S
125 modes/ghash-masm-x86_64.S
126 rc4/rc4-masm-x86_64.S
127 rc4/rc4-md5-masm-x86_64.S
128 sha/sha1-masm-x86_64.S
129 sha/sha256-masm-x86_64.S
130 sha/sha512-masm-x86_64.S
131 whrlpool/wp-masm-x86_64.S
132 cpuid-masm-x86_64.S
133 )
134 add_definitions(-DAES_ASM)
135 add_definitions(-DBSAES_ASM)
136 add_definitions(-DVPAES_ASM)
137 add_definitions(-DOPENSSL_IA32_SSE2)
138 #add_definitions(-DOPENSSL_BN_ASM_MONT)
139 #add_definitions(-DOPENSSL_BN_ASM_MONT5)
140 #add_definitions(-DOPENSSL_BN_ASM_GF2m)
141 add_definitions(-DMD5_ASM)
142 add_definitions(-DGHASH_ASM)
143 add_definitions(-DRSA_ASM)
144 add_definitions(-DSHA1_ASM)
145 add_definitions(-DSHA256_ASM)
146 add_definitions(-DSHA512_ASM)
147 add_definitions(-DWHIRLPOOL_ASM)
148 add_definitions(-DOPENSSL_CPUID_OBJ)
149 set(CRYPTO_SRC ${CRYPTO_SRC} ${ASM_X86_64_MASM_SRC})
150 set_property(SOURCE ${ASM_X86_64_MASM_SRC} PROPERTY LANGUAGE C)
151 set_property(SOURCE ${ASM_X86_64_MASM_SRC} PROPERTY XCODE_EXPLICIT_FILE_TYPE "sourcecode.asm")
152endif()
153
154if(HOST_ASM_MINGW64_X86_64)
155 set(
156 ASM_X86_64_MINGW64_SRC
157 aes/aes-mingw64-x86_64.S
158 aes/bsaes-mingw64-x86_64.S
159 aes/vpaes-mingw64-x86_64.S
160 aes/aesni-mingw64-x86_64.S
161 aes/aesni-sha1-mingw64-x86_64.S
162 #bn/modexp512-mingw64-x86_64.S
163 #bn/mont-mingw64-x86_64.S
164 #bn/mont5-mingw64-x86_64.S
165 #bn/gf2m-mingw64-x86_64.S
166 camellia/cmll-mingw64-x86_64.S
167 md5/md5-mingw64-x86_64.S
168 modes/ghash-mingw64-x86_64.S
169 rc4/rc4-mingw64-x86_64.S
170 rc4/rc4-md5-mingw64-x86_64.S
171 sha/sha1-mingw64-x86_64.S
172 sha/sha256-mingw64-x86_64.S
173 sha/sha512-mingw64-x86_64.S
174 whrlpool/wp-mingw64-x86_64.S
175 cpuid-mingw64-x86_64.S
176 )
177 add_definitions(-DAES_ASM)
178 add_definitions(-DBSAES_ASM)
179 add_definitions(-DVPAES_ASM)
180 add_definitions(-DOPENSSL_IA32_SSE2)
181 #add_definitions(-DOPENSSL_BN_ASM_MONT)
182 #add_definitions(-DOPENSSL_BN_ASM_MONT5)
183 #add_definitions(-DOPENSSL_BN_ASM_GF2m)
184 add_definitions(-DMD5_ASM)
185 add_definitions(-DGHASH_ASM)
186 add_definitions(-DRSA_ASM)
187 add_definitions(-DSHA1_ASM)
188 add_definitions(-DSHA256_ASM)
189 add_definitions(-DSHA512_ASM)
190 add_definitions(-DWHIRLPOOL_ASM)
191 add_definitions(-DOPENSSL_CPUID_OBJ)
192 set(CRYPTO_SRC ${CRYPTO_SRC} ${ASM_X86_64_MINGW64_SRC})
193 set_property(SOURCE ${ASM_X86_64_MINGW64_SRC} PROPERTY LANGUAGE C)
194 set_property(SOURCE ${ASM_X86_64_MINGW64_SRC} PROPERTY XCODE_EXPLICIT_FILE_TYPE "sourcecode.asm")
195endif()
196
197if((NOT HOST_ASM_ELF_X86_64) AND
198 (NOT HOST_ASM_MACOSX_X86_64) AND
199 (NOT HOST_ASM_MASM_X86_64) AND
200 (NOT HOST_ASM_MINGW64_X86_64) AND
201 (NOT HOST_ASM_ELF_ARMV4)
202)
112 set( 203 set(
113 CRYPTO_SRC 204 CRYPTO_SRC
114 ${CRYPTO_SRC} 205 ${CRYPTO_SRC}