diff options
author | Brent Cook <busterb@gmail.com> | 2019-01-20 21:18:34 -0600 |
---|---|---|
committer | Brent Cook <busterb@gmail.com> | 2019-01-20 21:18:34 -0600 |
commit | f553a9fe6309d2992ea94a31c6ea676531b864ee (patch) | |
tree | 79b338e261396752d525a8981e7537fbb4efa623 | |
parent | 3fc51459dd12dbcbf2a0e8f42f5aa9c83c0f60a3 (diff) | |
download | portable-f553a9fe6309d2992ea94a31c6ea676531b864ee.tar.gz portable-f553a9fe6309d2992ea94a31c6ea676531b864ee.tar.bz2 portable-f553a9fe6309d2992ea94a31c6ea676531b864ee.zip |
consider masm/mingw assembly flavors from cmake
-rw-r--r-- | CMakeLists.txt | 4 | ||||
-rw-r--r-- | crypto/CMakeLists.txt | 93 |
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() |
277 | endif() | 281 | endif() |
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") |
109 | endif() | 109 | endif() |
110 | 110 | ||
111 | if((NOT HOST_ASM_ELF_X86_64) AND (NOT HOST_ASM_MACOSX_X86_64)) | 111 | if(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") | ||
152 | endif() | ||
153 | |||
154 | if(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") | ||
195 | endif() | ||
196 | |||
197 | if((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} |