blob: 5da72e90ff90d62284d5ca430c99bf1a8df89dff [file] [log] [blame]
Kenny Rootb8494592015-09-25 02:29:14 +00001include_directories(../../include)
Adam Langleyd9e397b2015-01-22 14:27:53 -08002
3if (${ARCH} STREQUAL "x86_64")
4 set(
5 BN_ARCH_SOURCES
6
Adam Langleyd9e397b2015-01-22 14:27:53 -08007 x86_64-mont.${ASM_EXT}
8 x86_64-mont5.${ASM_EXT}
Adam Langleyd9e397b2015-01-22 14:27:53 -08009 rsaz-avx2.${ASM_EXT}
10
11 rsaz_exp.c
12 )
13endif()
14
15if (${ARCH} STREQUAL "x86")
16 set(
17 BN_ARCH_SOURCES
18
19 bn-586.${ASM_EXT}
20 co-586.${ASM_EXT}
21 x86-mont.${ASM_EXT}
22 )
23endif()
24
25if (${ARCH} STREQUAL "arm")
26 set(
27 BN_ARCH_SOURCES
28
29 armv4-mont.${ASM_EXT}
30 )
31endif()
32
Adam Langleyfad63272015-11-12 12:15:39 -080033if (${ARCH} STREQUAL "aarch64")
34 set(
35 BN_ARCH_SOURCES
36
37 armv8-mont.${ASM_EXT}
38 )
39endif()
40
Adam Langleyd9e397b2015-01-22 14:27:53 -080041add_library(
42 bn
43
44 OBJECT
45
Adam Langleyd9e397b2015-01-22 14:27:53 -080046 add.c
Adam Langleyf4e42722015-06-04 17:45:09 -070047 asm/x86_64-gcc.c
Adam Langleyd9e397b2015-01-22 14:27:53 -080048 bn.c
Kenny Rootb8494592015-09-25 02:29:14 +000049 bn_asn1.c
Adam Langleyd9e397b2015-01-22 14:27:53 -080050 cmp.c
51 convert.c
52 ctx.c
53 div.c
54 exponentiation.c
55 generic.c
56 gcd.c
Robert Sloan2424d842017-05-01 07:46:28 -070057 jacobi.c
Adam Langleyd9e397b2015-01-22 14:27:53 -080058 montgomery.c
David Benjaminc895d6b2016-08-11 13:26:41 -040059 montgomery_inv.c
Adam Langleyd9e397b2015-01-22 14:27:53 -080060 mul.c
61 prime.c
62 random.c
63 shift.c
64 sqrt.c
65
66 ${BN_ARCH_SOURCES}
67)
68
69perlasm(x86_64-mont.${ASM_EXT} asm/x86_64-mont.pl)
70perlasm(x86_64-mont5.${ASM_EXT} asm/x86_64-mont5.pl)
Adam Langleyd9e397b2015-01-22 14:27:53 -080071perlasm(rsaz-avx2.${ASM_EXT} asm/rsaz-avx2.pl)
72perlasm(bn-586.${ASM_EXT} asm/bn-586.pl)
73perlasm(co-586.${ASM_EXT} asm/co-586.pl)
74perlasm(x86-mont.${ASM_EXT} asm/x86-mont.pl)
75perlasm(armv4-mont.${ASM_EXT} asm/armv4-mont.pl)
Adam Langleyfad63272015-11-12 12:15:39 -080076perlasm(armv8-mont.${ASM_EXT} asm/armv8-mont.pl)
Adam Langleyd9e397b2015-01-22 14:27:53 -080077
78add_executable(
79 bn_test
80
Adam Langleye9ada862015-05-11 17:20:37 -070081 bn_test.cc
Adam Langleyf4e42722015-06-04 17:45:09 -070082
83 $<TARGET_OBJECTS:test_support>
Adam Langleyd9e397b2015-01-22 14:27:53 -080084)
85
86target_link_libraries(bn_test crypto)
Kenny Roote99801b2015-11-06 15:31:15 -080087add_dependencies(all_tests bn_test)