summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Benjamin <davidben@chromium.org>2014-10-31 17:27:40 -0400
committerAdam Langley <agl@google.com>2014-10-31 22:02:45 +0000
commitbc786a95695bbd2071eb786208f5957c5c90016b (patch)
treecabc3c71533634dcb65f67fb3689af31a1ccac05
parenteee7306c726c179284de801e9f021a8021fc926b (diff)
downloadsrc-bc786a95695bbd2071eb786208f5957c5c90016b.tar.gz
Build with yasm on Win64 as well.
Chromium's doesn't have built-in support for ml64.exe. Seems easier to just build consistently with Yasm on both Win32 and Win64. (This will require an equivalent change in Chromium's build, but keep upstream and downstream builds consistent.) Also don't set CMAKE_ASM_NASM_COMPILER explicitly; cmake's default ASM_NASM behavior will search for both nasm or yasm in %PATH%. Leave it unset so it can be overwritten on the command-line to point to a particular yasm. Update BUILDING accordingly. Verified the tests still pass. Change-Id: I7e434be474b5b2d49e3bafbced5b41cc0246bd00 Reviewed-on: https://boringssl-review.googlesource.com/2104 Reviewed-by: Adam Langley <agl@google.com>
-rw-r--r--BUILDING5
-rw-r--r--crypto/CMakeLists.txt12
2 files changed, 10 insertions, 7 deletions
diff --git a/BUILDING b/BUILDING
index ee6b0ab..cf239e9 100644
--- a/BUILDING
+++ b/BUILDING
@@ -25,4 +25,9 @@ BORINGSSL_IMPLEMENTATION. On Windows, where functions need to be tagged with
BORINGSSL_SHARED_LIBRARY defined in the code which #includes the BoringSSL
headers.
+To build on Windows, Yasm[2] is required for assembly. Either ensure yasm.exe
+is in %PATH% or configure CMAKE_ASM_NASM_COMPILER appropriately. Note that
+full Windows support is still in progress.
+
[1] http://martine.github.io/ninja/
+[2] http://yasm.tortall.net/
diff --git a/crypto/CMakeLists.txt b/crypto/CMakeLists.txt
index f98c7c8..d820e82 100644
--- a/crypto/CMakeLists.txt
+++ b/crypto/CMakeLists.txt
@@ -10,18 +10,16 @@ elseif(UNIX)
enable_language(ASM)
else()
if (CMAKE_CL_64)
- message("Using masm")
- set(PERLASM_STYLE masm)
- enable_language(ASM_MASM)
+ message("Using nasm")
+ set(PERLASM_STYLE nasm)
else()
message("Using win32n")
set(PERLASM_STYLE win32n)
-
- # On 32-bit, upstream supports only NASM, not MASM. We'll use Yasm, specifically.
- set(CMAKE_ASM_NASM_COMPILER "yasm")
- enable_language(ASM_NASM)
endif()
+
+ # On Windows, we use the NASM output, specifically built with Yasm.
set(ASM_EXT asm)
+ enable_language(ASM_NASM)
endif()
function(perlasm dest src)