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>
This commit is contained in:
David Benjamin 2014-10-31 17:27:40 -04:00 committed by Adam Langley
parent eee7306c72
commit bc786a9569
2 changed files with 10 additions and 7 deletions

View File

@ -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 BORINGSSL_SHARED_LIBRARY defined in the code which #includes the BoringSSL
headers. 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/ [1] http://martine.github.io/ninja/
[2] http://yasm.tortall.net/

View File

@ -10,18 +10,16 @@ elseif(UNIX)
enable_language(ASM) enable_language(ASM)
else() else()
if (CMAKE_CL_64) if (CMAKE_CL_64)
message("Using masm") message("Using nasm")
set(PERLASM_STYLE masm) set(PERLASM_STYLE nasm)
enable_language(ASM_MASM)
else() else()
message("Using win32n") message("Using win32n")
set(PERLASM_STYLE 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() endif()
# On Windows, we use the NASM output, specifically built with Yasm.
set(ASM_EXT asm) set(ASM_EXT asm)
enable_language(ASM_NASM)
endif() endif()
function(perlasm dest src) function(perlasm dest src)