Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mono/boringssl.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/crypto
diff options
context:
space:
mode:
authorMartin Baulig <mabaul@microsoft.com>2018-10-09 19:39:21 +0300
committerGitHub <noreply@github.com>2018-10-09 19:39:21 +0300
commit134e5e64b336574ab07dd8912724378594b7680c (patch)
treee0b9cc5dd6e3311fa5297df25375eaa2ac949d55 /crypto
parent8f8db5fac5bf94a82114bd1dc04912fc160f362a (diff)
parent8201e5607cc52f6fdc0cb2c1b596c360bdaf5bd9 (diff)
Merge pull request #13 from lateralusX/lateralusX/fix-no-asm-support
Reduce build dependencies when building with OPENSSL_NO_ASM.
Diffstat (limited to 'crypto')
-rw-r--r--crypto/CMakeLists.txt104
1 files changed, 55 insertions, 49 deletions
diff --git a/crypto/CMakeLists.txt b/crypto/CMakeLists.txt
index 94e47ea1..f034e9e5 100644
--- a/crypto/CMakeLists.txt
+++ b/crypto/CMakeLists.txt
@@ -1,59 +1,65 @@
include_directories(../include)
-if(APPLE)
- if (${ARCH} STREQUAL "x86")
- set(PERLASM_FLAGS "-fPIC -DOPENSSL_IA32_SSE2")
- endif()
- set(PERLASM_STYLE macosx)
- set(ASM_EXT S)
- enable_language(ASM)
-elseif(UNIX)
- if (${ARCH} STREQUAL "aarch64")
- # The "armx" Perl scripts look for "64" in the style argument
- # in order to decide whether to generate 32- or 64-bit asm.
- set(PERLASM_STYLE linux64)
- elseif (${ARCH} STREQUAL "arm")
- set(PERLASM_STYLE linux32)
- elseif (${ARCH} STREQUAL "x86")
- set(PERLASM_FLAGS "-fPIC -DOPENSSL_IA32_SSE2")
- set(PERLASM_STYLE elf)
- else()
- set(PERLASM_STYLE elf)
- endif()
- set(ASM_EXT S)
- enable_language(ASM)
- set(CMAKE_ASM_FLAGS "${CMAKE_ASM_FLAGS} -Wa,--noexecstack")
-else()
- if (CMAKE_CL_64)
- message("Using nasm")
- set(PERLASM_STYLE nasm)
+if(NOT OPENSSL_NO_ASM)
+ if(APPLE)
+ if (${ARCH} STREQUAL "x86")
+ set(PERLASM_FLAGS "-fPIC -DOPENSSL_IA32_SSE2")
+ endif()
+ set(PERLASM_STYLE macosx)
+ set(ASM_EXT S)
+ enable_language(ASM)
+ elseif(UNIX)
+ if (${ARCH} STREQUAL "aarch64")
+ # The "armx" Perl scripts look for "64" in the style argument
+ # in order to decide whether to generate 32- or 64-bit asm.
+ set(PERLASM_STYLE linux64)
+ elseif (${ARCH} STREQUAL "arm")
+ set(PERLASM_STYLE linux32)
+ elseif (${ARCH} STREQUAL "x86")
+ set(PERLASM_FLAGS "-fPIC -DOPENSSL_IA32_SSE2")
+ set(PERLASM_STYLE elf)
+ else()
+ set(PERLASM_STYLE elf)
+ endif()
+ set(ASM_EXT S)
+ enable_language(ASM)
+ set(CMAKE_ASM_FLAGS "${CMAKE_ASM_FLAGS} -Wa,--noexecstack")
else()
- message("Using win32n")
- set(PERLASM_STYLE win32n)
- set(PERLASM_FLAGS "-DOPENSSL_IA32_SSE2")
+ if (CMAKE_CL_64)
+ message("Using nasm")
+ set(PERLASM_STYLE nasm)
+ else()
+ message("Using win32n")
+ set(PERLASM_STYLE win32n)
+ set(PERLASM_FLAGS "-DOPENSSL_IA32_SSE2")
+ endif()
+
+ # On Windows, we use the NASM output, specifically built with Yasm.
+ set(ASM_EXT asm)
+ enable_language(ASM_NASM)
endif()
- # On Windows, we use the NASM output, specifically built with Yasm.
- set(ASM_EXT asm)
- enable_language(ASM_NASM)
+ function(perlasm dest src)
+ add_custom_command(
+ OUTPUT ${dest}
+ COMMAND ${PERL_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/${src} ${PERLASM_STYLE} ${PERLASM_FLAGS} ${ARGN} > ${dest}
+ DEPENDS
+ ${src}
+ ${PROJECT_SOURCE_DIR}/crypto/perlasm/arm-xlate.pl
+ ${PROJECT_SOURCE_DIR}/crypto/perlasm/x86_64-xlate.pl
+ ${PROJECT_SOURCE_DIR}/crypto/perlasm/x86asm.pl
+ ${PROJECT_SOURCE_DIR}/crypto/perlasm/x86gas.pl
+ ${PROJECT_SOURCE_DIR}/crypto/perlasm/x86masm.pl
+ ${PROJECT_SOURCE_DIR}/crypto/perlasm/x86nasm.pl
+ WORKING_DIRECTORY .
+ )
+ endfunction()
+else()
+ function(perlasm dest src)
+ # Disabled since OPENSSL_NO_ASM has been defined.
+ endfunction()
endif()
-function(perlasm dest src)
- add_custom_command(
- OUTPUT ${dest}
- COMMAND ${PERL_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/${src} ${PERLASM_STYLE} ${PERLASM_FLAGS} ${ARGN} > ${dest}
- DEPENDS
- ${src}
- ${PROJECT_SOURCE_DIR}/crypto/perlasm/arm-xlate.pl
- ${PROJECT_SOURCE_DIR}/crypto/perlasm/x86_64-xlate.pl
- ${PROJECT_SOURCE_DIR}/crypto/perlasm/x86asm.pl
- ${PROJECT_SOURCE_DIR}/crypto/perlasm/x86gas.pl
- ${PROJECT_SOURCE_DIR}/crypto/perlasm/x86masm.pl
- ${PROJECT_SOURCE_DIR}/crypto/perlasm/x86nasm.pl
- WORKING_DIRECTORY .
- )
-endfunction()
-
# Level 0.1 - depends on nothing outside this set.
add_subdirectory(stack)
add_subdirectory(lhash)