Skip to content

Commit 75012ff

Browse files
committed
Enable all assembly
1 parent 0c88bfc commit 75012ff

File tree

3 files changed

+70
-25
lines changed

3 files changed

+70
-25
lines changed

CMakeLists.txt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ elseif(NOT CMAKE_BUILD_TYPE AND NOT CMAKE_C_FLAGS)
1010
endif()
1111

1212
project(j)
13-
enable_language(C CXX)
13+
enable_language(C CXX ASM)
1414

1515
set(CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/cmake)
1616

@@ -68,6 +68,7 @@ add_subdirectory(jsrc)
6868
add_subdirectory(sleef)
6969
add_subdirectory(base64)
7070
add_subdirectory(dllsrc)
71+
add_subdirectory(jsrc/openssl/sha)
7172

7273
set_target_properties(j-blis j-openssl-sha j-sleef j-base64 PROPERTIES
7374
POSITION_INDEPENDENT_CODE ON)

jsrc/CMakeLists.txt

Lines changed: 0 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -205,27 +205,3 @@ target_sources(j-blis PRIVATE
205205
blis/gemm_int-sse2.c
206206
blis/gemm_vec-ref.c
207207
)
208-
209-
add_library(j-openssl-sha OBJECT)
210-
target_compile_definitions(j-openssl-sha PRIVATE NO_SHA_ASM)
211-
target_sources(j-openssl-sha PRIVATE
212-
openssl/sha/md32_common.h
213-
openssl/sha/md4.h
214-
openssl/sha/md4_locl.h
215-
openssl/sha/md5.h
216-
openssl/sha/md5_locl.h
217-
openssl/sha/openssl.h
218-
openssl/sha/sha.h
219-
openssl/sha/sha3.h
220-
openssl/sha/sha_locl.h
221-
openssl/sha/keccak1600.c
222-
openssl/sha/md4_dgst.c
223-
openssl/sha/md4_one.c
224-
openssl/sha/md5_dgst.c
225-
openssl/sha/md5_one.c
226-
openssl/sha/openssl-util.c
227-
openssl/sha/sha1_one.c
228-
openssl/sha/sha256.c
229-
openssl/sha/sha3.c
230-
openssl/sha/sha512.c
231-
)

jsrc/openssl/sha/CMakeLists.txt

Lines changed: 68 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,68 @@
1+
add_library(j-openssl-sha OBJECT)
2+
target_sources(j-openssl-sha PRIVATE
3+
md32_common.h
4+
md4.h
5+
md4_locl.h
6+
md5.h
7+
md5_locl.h
8+
openssl.h
9+
sha.h
10+
sha3.h
11+
sha_locl.h
12+
keccak1600.c
13+
md4_dgst.c
14+
md4_one.c
15+
md5_dgst.c
16+
md5_one.c
17+
openssl-util.c
18+
sha1_one.c
19+
sha256.c
20+
sha3.c
21+
sha512.c
22+
)
23+
24+
if(${CMAKE_SYSTEM_PROCESSOR} MATCHES "^(aarch64|arm)")
25+
target_sources(j-openssl-sha PRIVATE
26+
$<$<EQUAL:8,${CMAKE_SIZEOF_VOID_P}>:asm/keccak1600-armv8-elf.S>
27+
$<$<EQUAL:8,${CMAKE_SIZEOF_VOID_P}>:asm/sha1-armv8-elf.S>
28+
$<$<EQUAL:8,${CMAKE_SIZEOF_VOID_P}>:asm/sha256-armv8-elf.S>
29+
$<$<EQUAL:8,${CMAKE_SIZEOF_VOID_P}>:asm/sha512-armv8-elf.S>
30+
$<$<EQUAL:4,${CMAKE_SIZEOF_VOID_P}>:asm/keccak1600-armv4-elf.S>
31+
$<$<EQUAL:4,${CMAKE_SIZEOF_VOID_P}>:asm/sha1-armv4-elf.S>
32+
$<$<EQUAL:4,${CMAKE_SIZEOF_VOID_P}>:asm/sha256-armv4-elf.S>
33+
$<$<EQUAL:4,${CMAKE_SIZEOF_VOID_P}>:asm/sha512-armv4-elf.S>
34+
)
35+
elseif(${CMAKE_SYSTEM_NAME} MATCHES "Windows")
36+
target_sources(j PRIVATE
37+
$<$<EQUAL:8,${CMAKE_SIZEOF_VOID_P}>:../openssl-asm/keccak1600-x86_64-nasm.o>
38+
$<$<EQUAL:8,${CMAKE_SIZEOF_VOID_P}>:../openssl-asm/sha1-x86_64-nasm.o>
39+
$<$<EQUAL:8,${CMAKE_SIZEOF_VOID_P}>:../openssl-asm/sha256-x86_64-nasm.o>
40+
$<$<EQUAL:8,${CMAKE_SIZEOF_VOID_P}>:../openssl-asm/sha512-x86_64-nasm.o>
41+
$<$<EQUAL:4,${CMAKE_SIZEOF_VOID_P}>:../openssl-asm/keccak1600-mmx-nasm.o>
42+
$<$<EQUAL:4,${CMAKE_SIZEOF_VOID_P}>:../openssl-asm/sha1-586-nasm.o>
43+
$<$<EQUAL:4,${CMAKE_SIZEOF_VOID_P}>:../openssl-asm/sha256-586-nasm.o>
44+
$<$<EQUAL:4,${CMAKE_SIZEOF_VOID_P}>:../openssl-asm/sha512-586-nasm.o>
45+
)
46+
elseif(${CMAKE_SYSTEM_NAME} MATCHES "Linux")
47+
target_sources(j-openssl-sha PRIVATE
48+
$<$<EQUAL:8,${CMAKE_SIZEOF_VOID_P}>:asm/keccak1600-x86_64-elf.S>
49+
$<$<EQUAL:8,${CMAKE_SIZEOF_VOID_P}>:asm/sha1-x86_64-elf.S>
50+
$<$<EQUAL:8,${CMAKE_SIZEOF_VOID_P}>:asm/sha256-x86_64-elf.S>
51+
$<$<EQUAL:8,${CMAKE_SIZEOF_VOID_P}>:asm/sha512-x86_64-elf.S>
52+
$<$<EQUAL:4,${CMAKE_SIZEOF_VOID_P}>:asm/keccak1600-mmx-elf.S>
53+
$<$<EQUAL:4,${CMAKE_SIZEOF_VOID_P}>:asm/sha1-586-elf.S>
54+
$<$<EQUAL:4,${CMAKE_SIZEOF_VOID_P}>:asm/sha256-586-elf.S>
55+
$<$<EQUAL:4,${CMAKE_SIZEOF_VOID_P}>:asm/sha512-586-elf.S>
56+
)
57+
elseif(${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
58+
target_sources(j-openssl-sha PRIVATE
59+
$<$<EQUAL:8,${CMAKE_SIZEOF_VOID_P}>:asm/keccak1600-x86_64-macho.S>
60+
$<$<EQUAL:8,${CMAKE_SIZEOF_VOID_P}>:asm/sha1-x86_64-macho.S>
61+
$<$<EQUAL:8,${CMAKE_SIZEOF_VOID_P}>:asm/sha256-x86_64-macho.S>
62+
$<$<EQUAL:8,${CMAKE_SIZEOF_VOID_P}>:asm/sha512-x86_64-macho.S>
63+
$<$<EQUAL:4,${CMAKE_SIZEOF_VOID_P}>:asm/keccak1600-mmx-macho.S>
64+
$<$<EQUAL:4,${CMAKE_SIZEOF_VOID_P}>:asm/sha1-586-macho.S>
65+
$<$<EQUAL:4,${CMAKE_SIZEOF_VOID_P}>:asm/sha256-586-macho.S>
66+
$<$<EQUAL:4,${CMAKE_SIZEOF_VOID_P}>:asm/sha512-586-macho.S>
67+
)
68+
endif()

0 commit comments

Comments
 (0)