diff options
| -rw-r--r-- | CMakeLists.txt | 3 | ||||
| -rwxr-xr-x | update.sh | 23 |
2 files changed, 11 insertions, 15 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt index a0b0599..9537407 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt | |||
| @@ -290,9 +290,6 @@ if(ENABLE_ASM) | |||
| 290 | elseif(APPLE AND "${CMAKE_SYSTEM_PROCESSOR}" STREQUAL "x86_64") | 290 | elseif(APPLE AND "${CMAKE_SYSTEM_PROCESSOR}" STREQUAL "x86_64") |
| 291 | set(HOST_ASM_MACOSX_X86_64 true) | 291 | set(HOST_ASM_MACOSX_X86_64 true) |
| 292 | elseif(MSVC AND "${CMAKE_GENERATOR}" MATCHES "Win64") | 292 | elseif(MSVC AND "${CMAKE_GENERATOR}" MATCHES "Win64") |
| 293 | # XXX Disabled for now, CMake's MASM support seems to either never | ||
| 294 | # build supply ASM or build it with the C compiler in a mode where it | ||
| 295 | # does not parse correctly. It might be easier to get NASM support working. | ||
| 296 | set(HOST_ASM_MASM_X86_64 true) | 293 | set(HOST_ASM_MASM_X86_64 true) |
| 297 | ENABLE_LANGUAGE(ASM_MASM) | 294 | ENABLE_LANGUAGE(ASM_MASM) |
| 298 | elseif(CMAKE_SYSTEM_NAME MATCHES "MINGW" AND "${CMAKE_SYSTEM_PROCESSOR}" STREQUAL "x86_64") | 295 | elseif(CMAKE_SYSTEM_NAME MATCHES "MINGW" AND "${CMAKE_SYSTEM_PROCESSOR}" STREQUAL "x86_64") |
| @@ -158,6 +158,15 @@ $CP crypto/compat/ui_openssl_win.c crypto/ui | |||
| 158 | # add the libcrypto symbol export list | 158 | # add the libcrypto symbol export list |
| 159 | $GREP -v OPENSSL_ia32cap_P $libcrypto_src/Symbols.list | $GREP '^[A-Za-z0-9_]' > crypto/crypto.sym | 159 | $GREP -v OPENSSL_ia32cap_P $libcrypto_src/Symbols.list | $GREP '^[A-Za-z0-9_]' > crypto/crypto.sym |
| 160 | 160 | ||
| 161 | fixup_masm() { | ||
| 162 | cpp -I./crypto $1 \ | ||
| 163 | | sed -e 's/^#/;/' \ | ||
| 164 | | sed -e 's/|/OR/g' \ | ||
| 165 | | sed -e 's/~/NOT/g' \ | ||
| 166 | | sed -e 's/1 << \([0-9]*\)/1 SHL \1/g' \ | ||
| 167 | > $2 | ||
| 168 | } | ||
| 169 | |||
| 161 | # generate assembly crypto algorithms | 170 | # generate assembly crypto algorithms |
| 162 | asm_src=$libcrypto_src | 171 | asm_src=$libcrypto_src |
| 163 | gen_asm_stdout() { | 172 | gen_asm_stdout() { |
| @@ -168,12 +177,7 @@ gen_asm_stdout() { | |||
| 168 | #endif | 177 | #endif |
| 169 | EOF | 178 | EOF |
| 170 | if [ $1 = "masm" ]; then | 179 | if [ $1 = "masm" ]; then |
| 171 | cpp -I./crypto $3.tmp \ | 180 | fixup_masm $3.tmp $3 |
| 172 | | sed -e 's/^#/;/' \ | ||
| 173 | | sed -e 's/|/OR/g' \ | ||
| 174 | | sed -e 's/~/NOT/g' \ | ||
| 175 | | sed -e 's/1 << \([0-9]*\)/1 SHL \1/g' \ | ||
| 176 | > $3 | ||
| 177 | else | 181 | else |
| 178 | $MV $3.tmp $3 | 182 | $MV $3.tmp $3 |
| 179 | fi | 183 | fi |
| @@ -186,12 +190,7 @@ gen_asm() { | |||
| 186 | #endif | 190 | #endif |
| 187 | EOF | 191 | EOF |
| 188 | if [ $1 = "masm" ]; then | 192 | if [ $1 = "masm" ]; then |
| 189 | cpp -I./crypto $3.tmp \ | 193 | fixup_masm $3.tmp $3 |
| 190 | | sed -e 's/^#/;/' \ | ||
| 191 | | sed -e 's/|/OR/g' \ | ||
| 192 | | sed -e 's/~/NOT/g' \ | ||
| 193 | | sed -e 's/1 << \([0-9]*\)/1 SHL \1/g' \ | ||
| 194 | > $3 | ||
| 195 | else | 194 | else |
| 196 | $MV $3.tmp $3 | 195 | $MV $3.tmp $3 |
| 197 | fi | 196 | fi |
