cmake: Add check_arm32_assembly
function
This commit is contained in:
parent
e5cf4bf3ff
commit
ed4ba238e2
@ -107,7 +107,13 @@ set_property(CACHE SECP256K1_ASM PROPERTY STRINGS "AUTO" "OFF" "x86_64" "arm32")
|
||||
check_string_option_value(SECP256K1_ASM)
|
||||
if(SECP256K1_ASM STREQUAL "arm32")
|
||||
enable_language(ASM)
|
||||
add_compile_definitions(USE_EXTERNAL_ASM=1)
|
||||
include(CheckArm32Assembly)
|
||||
check_arm32_assembly()
|
||||
if(HAVE_ARM32_ASM)
|
||||
add_compile_definitions(USE_EXTERNAL_ASM=1)
|
||||
else()
|
||||
message(FATAL_ERROR "ARM32 assembly optimization requested but not available.")
|
||||
endif()
|
||||
elseif(SECP256K1_ASM)
|
||||
include(Check64bitAssembly)
|
||||
check_64bit_assembly()
|
||||
|
6
cmake/CheckArm32Assembly.cmake
Normal file
6
cmake/CheckArm32Assembly.cmake
Normal file
@ -0,0 +1,6 @@
|
||||
function(check_arm32_assembly)
|
||||
try_compile(HAVE_ARM32_ASM
|
||||
${CMAKE_BINARY_DIR}/check_arm32_assembly
|
||||
SOURCES ${CMAKE_SOURCE_DIR}/cmake/source_arm32.s
|
||||
)
|
||||
endfunction()
|
9
cmake/source_arm32.s
Normal file
9
cmake/source_arm32.s
Normal file
@ -0,0 +1,9 @@
|
||||
.syntax unified
|
||||
.eabi_attribute 24, 1
|
||||
.eabi_attribute 25, 1
|
||||
.text
|
||||
.global main
|
||||
main:
|
||||
ldr r0, =0x002A
|
||||
mov r7, #1
|
||||
swi 0
|
Loading…
x
Reference in New Issue
Block a user