include.am 34 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171
  1. # vim:ft=automake
  2. # included from Top Level Makefile.am
  3. # All paths should be given relative to the root
  4. FIPS_FILES = \
  5. wolfcrypt/src/async.c \
  6. wolfcrypt/src/fips.c \
  7. wolfcrypt/src/fips_test.c \
  8. wolfcrypt/src/selftest.c \
  9. wolfcrypt/src/wolfcrypt_first.c \
  10. wolfcrypt/src/wolfcrypt_last.c
  11. BUILT_SOURCES+= $(FIPS_FILES)
  12. MAINTAINERCLEANFILES+= $(FIPS_FILES)
  13. EXTRA_DIST += src/bio.c
  14. EXTRA_DIST += src/conf.c
  15. EXTRA_DIST += src/pk.c
  16. EXTRA_DIST += src/ssl_asn1.c
  17. EXTRA_DIST += src/ssl_bn.c
  18. EXTRA_DIST += src/ssl_certman.c
  19. EXTRA_DIST += src/ssl_crypto.c
  20. EXTRA_DIST += src/ssl_load.c
  21. EXTRA_DIST += src/ssl_misc.c
  22. EXTRA_DIST += src/ssl_p7p12.c
  23. EXTRA_DIST += src/ssl_sess.c
  24. EXTRA_DIST += src/x509.c
  25. EXTRA_DIST += src/x509_str.c
  26. $(FIPS_FILES):
  27. $(AM_V_at)touch $(srcdir)/$@
  28. if !BUILD_NO_LIBRARY
  29. lib_LTLIBRARIES+= src/libwolfssl@LIBSUFFIX@.la
  30. endif
  31. src_libwolfssl@LIBSUFFIX@_la_SOURCES =
  32. src_libwolfssl@LIBSUFFIX@_la_LDFLAGS = ${AM_LDFLAGS} -no-undefined -version-number ${WOLFSSL_LIBRARY_VERSION}
  33. src_libwolfssl@LIBSUFFIX@_la_LIBADD = $(LIBM) $(LIB_ADD) $(LIB_STATIC_ADD)
  34. src_libwolfssl@LIBSUFFIX@_la_CFLAGS = -DBUILDING_WOLFSSL $(AM_CFLAGS) -DLIBWOLFSSL_GLOBAL_EXTRA_CFLAGS="\" $(EXTRA_CFLAGS)\""
  35. src_libwolfssl@LIBSUFFIX@_la_CPPFLAGS = -DBUILDING_WOLFSSL $(AM_CPPFLAGS)
  36. if BUILD_FIPS
  37. if BUILD_FIPS_V2
  38. # FIPSv2 first file
  39. src_libwolfssl@LIBSUFFIX@_la_SOURCES += \
  40. wolfcrypt/src/wolfcrypt_first.c
  41. src_libwolfssl@LIBSUFFIX@_la_SOURCES += \
  42. wolfcrypt/src/hmac.c \
  43. wolfcrypt/src/random.c \
  44. wolfcrypt/src/sha256.c
  45. if BUILD_RSA
  46. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/rsa.c
  47. endif
  48. if BUILD_ECC
  49. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/ecc.c
  50. endif
  51. if BUILD_AES
  52. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/aes.c
  53. if BUILD_CUDA
  54. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/port/cuda/aes-cuda.cu
  55. endif BUILD_CUDA
  56. endif
  57. if BUILD_AESNI
  58. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/aes_asm.S
  59. if BUILD_X86_ASM
  60. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/aes_gcm_x86_asm.S
  61. else
  62. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/aes_gcm_asm.S
  63. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/aes_xts_asm.S
  64. endif
  65. endif
  66. if BUILD_DES3
  67. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/des3.c
  68. endif
  69. if BUILD_SHA
  70. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/sha.c
  71. endif
  72. if !BUILD_X86_ASM
  73. if BUILD_INTELASM
  74. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/sha256_asm.S
  75. endif
  76. endif
  77. if BUILD_SHA512
  78. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/sha512.c
  79. if !BUILD_X86_ASM
  80. if BUILD_INTELASM
  81. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/sha512_asm.S
  82. endif
  83. endif
  84. endif
  85. if BUILD_SHA3
  86. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/sha3.c
  87. if !BUILD_X86_ASM
  88. if BUILD_INTELASM
  89. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/sha3_asm.S
  90. endif
  91. endif
  92. endif
  93. if BUILD_DH
  94. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/dh.c
  95. endif
  96. if BUILD_CMAC
  97. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/cmac.c
  98. endif
  99. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/fips.c \
  100. wolfcrypt/src/fips_test.c
  101. # fips last file
  102. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/wolfcrypt_last.c
  103. endif BUILD_FIPS_V2
  104. if BUILD_FIPS_RAND
  105. src_libwolfssl@LIBSUFFIX@_la_SOURCES += \
  106. wolfcrypt/src/wolfcrypt_first.c \
  107. wolfcrypt/src/hmac.c \
  108. wolfcrypt/src/random.c \
  109. wolfcrypt/src/sha256.c \
  110. wolfcrypt/src/sha256_asm.S \
  111. wolfcrypt/src/fips.c \
  112. wolfcrypt/src/fips_test.c \
  113. wolfcrypt/src/wolfcrypt_last.c
  114. endif BUILD_FIPS_RAND
  115. if BUILD_FIPS_V5
  116. # FIPS 140-3 first file
  117. src_libwolfssl@LIBSUFFIX@_la_SOURCES += \
  118. wolfcrypt/src/wolfcrypt_first.c
  119. src_libwolfssl@LIBSUFFIX@_la_SOURCES += \
  120. wolfcrypt/src/hmac.c \
  121. wolfcrypt/src/random.c
  122. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/kdf.c
  123. if BUILD_RSA
  124. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/rsa.c
  125. endif
  126. if BUILD_ECC
  127. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/ecc.c
  128. endif
  129. if BUILD_AES
  130. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/aes.c
  131. if BUILD_CUDA
  132. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/port/cuda/aes-cuda.cu
  133. endif BUILD_CUDA
  134. if BUILD_ARMASM
  135. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/port/arm/armv8-aes.c
  136. endif BUILD_ARMASM
  137. if BUILD_ARMASM_NEON
  138. if !BUILD_ARMASM_CRYPTO
  139. if BUILD_ARMASM_INLINE
  140. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/port/arm/armv8-32-aes-asm_c.c
  141. else
  142. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/port/arm/armv8-32-aes-asm.S
  143. endif !BUILD_ARMASM_INLINE
  144. endif !BUILD_ARMASM_CRYPTO
  145. else
  146. if BUILD_ARMASM
  147. if BUILD_ARMASM_INLINE
  148. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/port/arm/armv8-32-aes-asm_c.c
  149. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/port/arm/thumb2-aes-asm_c.c
  150. else
  151. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/port/arm/armv8-32-aes-asm.S
  152. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/port/arm/thumb2-aes-asm.S
  153. endif !BUILD_ARMASM_INLINE
  154. endif BUILD_ARMASM
  155. endif !BUILD_ARMASM_NEON
  156. endif BUILD_AES
  157. if BUILD_AESNI
  158. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/aes_asm.S
  159. if BUILD_X86_ASM
  160. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/aes_gcm_x86_asm.S
  161. else
  162. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/aes_gcm_asm.S
  163. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/aes_xts_asm.S
  164. endif
  165. endif
  166. if BUILD_SHA
  167. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/sha.c
  168. endif
  169. if BUILD_ARMASM_NEON
  170. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/port/arm/armv8-sha256.c
  171. if BUILD_ARMASM_INLINE
  172. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/port/arm/armv8-32-sha256-asm_c.c
  173. else
  174. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/port/arm/armv8-32-sha256-asm.S
  175. endif !BUILD_ARMASM_INLINE
  176. else
  177. if BUILD_ARMASM
  178. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/port/arm/armv8-sha256.c
  179. if BUILD_ARMASM_INLINE
  180. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/port/arm/armv8-32-sha256-asm_c.c
  181. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/port/arm/thumb2-sha256-asm_c.c
  182. else
  183. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/port/arm/armv8-32-sha256-asm.S
  184. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/port/arm/thumb2-sha256-asm.S
  185. endif !BUILD_ARMASM_INLINE
  186. else
  187. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/sha256.c
  188. if !BUILD_X86_ASM
  189. if BUILD_INTELASM
  190. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/sha256_asm.S
  191. endif BUILD_INTELASM
  192. endif !BUILD_X86_ASM
  193. endif !BUILD_ARMASM
  194. endif !BUILD_ARMASM_NEON
  195. if BUILD_SHA512
  196. if BUILD_ARMASM_NEON
  197. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/port/arm/armv8-sha512.c
  198. if BUILD_ARMASM_INLINE
  199. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/port/arm/armv8-sha512-asm_c.c
  200. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/port/arm/armv8-32-sha512-asm_c.c
  201. else
  202. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/port/arm/armv8-sha512-asm.S
  203. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/port/arm/armv8-32-sha512-asm.S
  204. endif !BUILD_ARMASM_INLINE
  205. else
  206. if BUILD_ARMASM
  207. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/port/arm/armv8-sha512.c
  208. if BUILD_ARMASM_INLINE
  209. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/port/arm/armv8-32-sha512-asm_c.c
  210. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/port/arm/thumb2-sha512-asm_c.c
  211. else
  212. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/port/arm/armv8-32-sha512-asm.S
  213. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/port/arm/thumb2-sha512-asm.S
  214. endif !BUILD_ARMASM_INLINE
  215. else
  216. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/sha512.c
  217. if !BUILD_X86_ASM
  218. if BUILD_INTELASM
  219. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/sha512_asm.S
  220. endif BUILD_INTELASM
  221. endif !BUILD_X86_ASM
  222. endif !BUILD_ARMASM
  223. endif !BUILD_ARMASM_NEON
  224. endif BUILD_SHA512
  225. if BUILD_SHA3
  226. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/sha3.c
  227. if BUILD_ARMASM_NEON
  228. if BUILD_ARMASM_INLINE
  229. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/port/arm/armv8-sha3-asm_c.c
  230. else
  231. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/port/arm/armv8-sha3-asm.S
  232. endif !BUILD_ARMASM_INLINE
  233. endif BUILD_ARMASM_NEON
  234. if !BUILD_X86_ASM
  235. if BUILD_INTELASM
  236. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/sha3_asm.S
  237. endif
  238. endif
  239. endif
  240. if BUILD_DH
  241. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/dh.c
  242. endif
  243. if BUILD_CMAC
  244. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/cmac.c
  245. endif
  246. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/fips.c \
  247. wolfcrypt/src/fips_test.c
  248. # fips last file
  249. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/wolfcrypt_last.c
  250. endif BUILD_FIPS_V5
  251. if BUILD_FIPS_V6
  252. # FIPS 140-3 SRTP-KDF first file
  253. src_libwolfssl@LIBSUFFIX@_la_SOURCES += \
  254. wolfcrypt/src/wolfcrypt_first.c
  255. src_libwolfssl@LIBSUFFIX@_la_SOURCES += \
  256. wolfcrypt/src/hmac.c \
  257. wolfcrypt/src/random.c
  258. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/kdf.c
  259. if BUILD_RSA
  260. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/rsa.c
  261. endif
  262. if BUILD_ECC
  263. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/ecc.c
  264. endif
  265. if BUILD_AES
  266. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/aes.c
  267. if BUILD_ARMASM
  268. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/port/arm/armv8-aes.c
  269. endif BUILD_ARMASM
  270. if BUILD_ARMASM_NEON
  271. if !BUILD_ARMASM_CRYPTO
  272. if BUILD_ARMASM_INLINE
  273. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/port/arm/armv8-32-aes-asm_c.c
  274. else
  275. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/port/arm/armv8-32-aes-asm.S
  276. endif !BUILD_ARMASM_INLINE
  277. endif !BUILD_ARMASM_CRYPTO
  278. else
  279. if BUILD_ARMASM
  280. if BUILD_ARMASM_INLINE
  281. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/port/arm/armv8-32-aes-asm_c.c
  282. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/port/arm/thumb2-aes-asm_c.c
  283. else
  284. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/port/arm/armv8-32-aes-asm.S
  285. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/port/arm/thumb2-aes-asm.S
  286. endif !BUILD_ARMASM_INLINE
  287. endif BUILD_ARMASM
  288. endif !BUILD_ARMASM_NEON
  289. endif BUILD_AES
  290. if BUILD_AESNI
  291. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/aes_asm.S
  292. if BUILD_X86_ASM
  293. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/aes_gcm_x86_asm.S
  294. else
  295. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/aes_gcm_asm.S
  296. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/aes_xts_asm.S
  297. endif
  298. endif
  299. if BUILD_SHA
  300. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/sha.c
  301. endif
  302. if BUILD_ARMASM_NEON
  303. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/port/arm/armv8-sha256.c
  304. if BUILD_ARMASM_INLINE
  305. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/port/arm/armv8-32-sha256-asm_c.c
  306. else
  307. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/port/arm/armv8-32-sha256-asm.S
  308. endif !BUILD_ARMASM_INLINE
  309. else
  310. if BUILD_ARMASM
  311. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/port/arm/armv8-sha256.c
  312. if BUILD_ARMASM_INLINE
  313. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/port/arm/armv8-32-sha256-asm_c.c
  314. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/port/arm/thumb2-sha256-asm_c.c
  315. else
  316. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/port/arm/armv8-32-sha256-asm.S
  317. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/port/arm/thumb2-sha256-asm.S
  318. endif !BUILD_ARMASM_INLINE
  319. else
  320. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/sha256.c
  321. if BUILD_INTELASM
  322. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/sha256_asm.S
  323. endif BUILD_INTELASM
  324. endif !BUILD_ARMASM
  325. endif !BUILD_ARMASM_NEON
  326. if BUILD_SHA512
  327. if BUILD_ARMASM_NEON
  328. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/port/arm/armv8-sha512.c
  329. if BUILD_ARMASM_INLINE
  330. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/port/arm/armv8-sha512-asm_c.c
  331. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/port/arm/armv8-32-sha512-asm_c.c
  332. else
  333. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/port/arm/armv8-sha512-asm.S
  334. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/port/arm/armv8-32-sha512-asm.S
  335. endif !BUILD_ARMASM_INLINE
  336. else
  337. if BUILD_ARMASM
  338. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/port/arm/armv8-sha512.c
  339. if BUILD_ARMASM_INLINE
  340. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/port/arm/armv8-32-sha512-asm_c.c
  341. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/port/arm/thumb2-sha512-asm_c.c
  342. else
  343. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/port/arm/armv8-32-sha512-asm.S
  344. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/port/arm/thumb2-sha512-asm.S
  345. endif !BUILD_ARMASM_INLINE
  346. else
  347. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/sha512.c
  348. if BUILD_INTELASM
  349. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/sha512_asm.S
  350. endif BUILD_INTELASM
  351. endif !BUILD_ARMASM
  352. endif !BUILD_ARMASM_NEON
  353. endif BUILD_SHA512
  354. if BUILD_SHA3
  355. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/sha3.c
  356. if BUILD_ARMASM_NEON
  357. if BUILD_ARMASM_INLINE
  358. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/port/arm/armv8-sha3-asm_c.c
  359. else
  360. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/port/arm/armv8-sha3-asm.S
  361. endif !BUILD_ARMASM_INLINE
  362. endif BUILD_ARMASM_NEON
  363. if BUILD_INTELASM
  364. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/sha3_asm.S
  365. endif
  366. endif
  367. if BUILD_DH
  368. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/dh.c
  369. endif
  370. if BUILD_CMAC
  371. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/cmac.c
  372. endif
  373. if BUILD_CURVE448
  374. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/curve448.c
  375. endif
  376. if BUILD_ED448
  377. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/ed448.c
  378. endif
  379. if BUILD_CURVE25519
  380. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/curve25519.c
  381. endif
  382. if BUILD_ED25519
  383. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/ed25519.c
  384. endif
  385. if BUILD_ARMASM
  386. if BUILD_ARMASM_NEON
  387. if BUILD_ARMASM_INLINE
  388. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/port/arm/armv8-32-curve25519_c.c
  389. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/port/arm/armv8-curve25519_c.c
  390. else
  391. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/port/arm/armv8-32-curve25519.S
  392. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/port/arm/armv8-curve25519.S
  393. endif !BUILD_ARMASM_INLINE
  394. else
  395. if BUILD_ARMASM_INLINE
  396. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/port/arm/armv8-32-curve25519_c.c
  397. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/port/arm/thumb2-curve25519_c.c
  398. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/port/arm/armv8-curve25519_c.c
  399. else
  400. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/port/arm/armv8-32-curve25519.S
  401. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/port/arm/thumb2-curve25519.S
  402. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/port/arm/armv8-curve25519.S
  403. endif !BUILD_ARMASM_INLINE
  404. endif !BUILD_ARMASM_NEON
  405. endif BUILD_ARMASM
  406. if BUILD_PWDBASED
  407. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/pwdbased.c
  408. endif BUILD_PWDBASED
  409. if BUILD_SP
  410. if BUILD_SP_C32
  411. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/sp_c32.c
  412. endif
  413. if BUILD_SP_C64
  414. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/sp_c64.c
  415. endif
  416. if BUILD_SP_X86_64
  417. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/sp_x86_64.c
  418. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/sp_x86_64_asm.S
  419. endif
  420. if !BUILD_FIPS_V2
  421. if BUILD_SP_ARM32
  422. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/sp_arm32.c
  423. endif
  424. endif
  425. if BUILD_SP_ARM_THUMB
  426. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/sp_armthumb.c
  427. endif
  428. if !BUILD_FIPS_V2
  429. if BUILD_SP_ARM64
  430. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/sp_arm64.c
  431. endif
  432. endif
  433. if BUILD_SP_ARM_CORTEX
  434. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/sp_cortexm.c
  435. endif
  436. endif BUILD_SP
  437. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/fips.c \
  438. wolfcrypt/src/fips_test.c
  439. # fips last file
  440. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/wolfcrypt_last.c
  441. endif BUILD_FIPS_V6
  442. endif BUILD_FIPS
  443. # For wolfRand, exclude everything else.
  444. if !BUILD_FIPS_RAND
  445. # For FIPSV2, exclude the wolfCrypt files included above.
  446. # For wolfRand, exclude just a couple files.
  447. # For old FIPS, keep the wolfCrypt versions of the
  448. # CtaoCrypt files included above.
  449. if !BUILD_FIPS_CURRENT
  450. if BUILD_HMAC
  451. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/hmac.c
  452. endif
  453. endif !BUILD_FIPS_CURRENT
  454. # CAVP self test
  455. if BUILD_SELFTEST
  456. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/selftest.c
  457. endif
  458. endif !BUILD_FIPS_RAND
  459. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/hash.c
  460. if !BUILD_DO178
  461. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/cpuid.c
  462. endif !BUILD_DO178
  463. if !BUILD_FIPS_RAND
  464. if !BUILD_FIPS_V5
  465. if !BUILD_FIPS_V6
  466. if BUILD_KDF
  467. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/kdf.c
  468. endif
  469. endif !BUILD_FIPS_V6
  470. endif !BUILD_FIPS_V5
  471. if !BUILD_FIPS_CURRENT
  472. if BUILD_RNG
  473. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/random.c
  474. endif
  475. endif !BUILD_FIPS_CURRENT
  476. if !BUILD_FIPS_CURRENT
  477. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/sha256.c
  478. if BUILD_ARMASM_NEON
  479. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/port/arm/armv8-sha256.c
  480. if BUILD_ARMASM_INLINE
  481. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/port/arm/armv8-32-sha256-asm_c.c
  482. else
  483. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/port/arm/armv8-32-sha256-asm.S
  484. endif !BUILD_ARMASM_INLINE
  485. else
  486. if BUILD_ARMASM
  487. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/port/arm/armv8-sha256.c
  488. if BUILD_ARMASM_INLINE
  489. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/port/arm/armv8-32-sha256-asm_c.c
  490. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/port/arm/thumb2-sha256-asm_c.c
  491. else
  492. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/port/arm/armv8-32-sha256-asm.S
  493. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/port/arm/thumb2-sha256-asm.S
  494. endif !BUILD_ARMASM_INLINE
  495. else
  496. if !BUILD_X86_ASM
  497. if BUILD_INTELASM
  498. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/sha256_asm.S
  499. endif BUILD_INTELASM
  500. endif !BUILD_X86_ASM
  501. endif !BUILD_ARMASM
  502. endif !BUILD_ARMASM_NEON
  503. endif !BUILD_FIPS_CURRENT
  504. if BUILD_AFALG
  505. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/port/af_alg/afalg_hash.c
  506. endif
  507. if BUILD_KCAPI
  508. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/port/kcapi/kcapi_aes.c
  509. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/port/kcapi/kcapi_hash.c
  510. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/port/kcapi/kcapi_hmac.c
  511. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/port/kcapi/kcapi_ecc.c
  512. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/port/kcapi/kcapi_rsa.c
  513. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/port/kcapi/kcapi_dh.c
  514. endif
  515. if BUILD_WOLFEVENT
  516. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/wolfevent.c
  517. endif
  518. if BUILD_ASYNCCRYPT
  519. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/async.c
  520. endif
  521. if BUILD_RSA
  522. if !BUILD_FIPS_CURRENT
  523. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/rsa.c
  524. endif !BUILD_FIPS_CURRENT
  525. endif
  526. if BUILD_RC2
  527. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/rc2.c
  528. endif
  529. if !BUILD_FIPS_V6
  530. if BUILD_SP
  531. if BUILD_SP_C32
  532. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/sp_c32.c
  533. endif
  534. if BUILD_SP_C64
  535. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/sp_c64.c
  536. endif
  537. if BUILD_SP_X86_64
  538. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/sp_x86_64.c
  539. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/sp_x86_64_asm.S
  540. endif
  541. if !BUILD_FIPS_V2
  542. if BUILD_SP_ARM32
  543. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/sp_arm32.c
  544. endif
  545. endif
  546. if BUILD_SP_ARM_THUMB
  547. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/sp_armthumb.c
  548. endif
  549. if !BUILD_FIPS_V2
  550. if BUILD_SP_ARM64
  551. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/sp_arm64.c
  552. endif
  553. endif
  554. if BUILD_SP_ARM_CORTEX
  555. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/sp_cortexm.c
  556. endif
  557. endif BUILD_SP
  558. endif !BUILD_FIPS_V6
  559. if BUILD_SP_INT
  560. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/sp_int.c
  561. endif
  562. if !BUILD_FIPS_CURRENT
  563. if BUILD_AES
  564. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/aes.c
  565. if BUILD_CUDA
  566. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/port/cuda/aes-cuda.cu
  567. endif BUILD_CUDA
  568. if BUILD_ARMASM
  569. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/port/arm/armv8-aes.c
  570. endif BUILD_ARMASM
  571. if BUILD_ARMASM_NEON
  572. if !BUILD_ARMASM_CRYPTO
  573. if BUILD_ARMASM_INLINE
  574. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/port/arm/armv8-32-aes-asm_c.c
  575. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/port/arm/thumb2-aes-asm_c.c
  576. else
  577. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/port/arm/armv8-32-aes-asm.S
  578. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/port/arm/thumb2-aes-asm.S
  579. endif !BUILD_ARMASM_INLINE
  580. endif !BUILD_ARMASM_CRYPTO
  581. else
  582. if BUILD_ARMASM
  583. if BUILD_ARMASM_INLINE
  584. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/port/arm/armv8-32-aes-asm_c.c
  585. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/port/arm/thumb2-aes-asm_c.c
  586. else
  587. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/port/arm/armv8-32-aes-asm.S
  588. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/port/arm/thumb2-aes-asm.S
  589. endif !BUILD_ARMASM_INLINE
  590. endif BUILD_ARMASM
  591. endif !BUILD_ARMASM_NEON
  592. if BUILD_AFALG
  593. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/port/af_alg/afalg_aes.c
  594. endif BUILD_AFALG
  595. endif BUILD_AES
  596. endif !BUILD_FIPS_CURRENT
  597. if !BUILD_FIPS_CURRENT
  598. if BUILD_CMAC
  599. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/cmac.c
  600. endif
  601. endif !BUILD_FIPS_CURRENT
  602. if !BUILD_FIPS_V2
  603. if BUILD_DES3
  604. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/des3.c
  605. endif BUILD_DES3
  606. endif !BUILD_FIPS_V2
  607. if !BUILD_FIPS_CURRENT
  608. if BUILD_SHA
  609. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/sha.c
  610. endif
  611. endif !BUILD_FIPS_CURRENT
  612. if !BUILD_FIPS_CURRENT
  613. if BUILD_SHA512
  614. if BUILD_ARMASM_NEON
  615. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/port/arm/armv8-sha512.c
  616. if BUILD_ARMASM_INLINE
  617. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/port/arm/armv8-sha512-asm_c.c
  618. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/port/arm/armv8-32-sha512-asm_c.c
  619. else
  620. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/port/arm/armv8-sha512-asm.S
  621. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/port/arm/armv8-32-sha512-asm.S
  622. endif !BUILD_ARMASM_INLINE
  623. else
  624. if BUILD_ARMASM
  625. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/port/arm/armv8-sha512.c
  626. if BUILD_ARMASM_INLINE
  627. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/port/arm/armv8-32-sha512-asm_c.c
  628. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/port/arm/thumb2-sha512-asm_c.c
  629. else
  630. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/port/arm/armv8-32-sha512-asm.S
  631. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/port/arm/thumb2-sha512-asm.S
  632. endif !BUILD_ARMASM_INLINE
  633. else
  634. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/sha512.c
  635. if !BUILD_X86_ASM
  636. if BUILD_INTELASM
  637. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/sha512_asm.S
  638. endif BUILD_INTELASM
  639. endif !BUILD_X86_ASM
  640. endif !BUILD_ARMASM
  641. endif !BUILD_ARMASM_NEON
  642. endif BUILD_SHA512
  643. endif !BUILD_FIPS_CURRENT
  644. if !BUILD_FIPS_CURRENT
  645. if BUILD_SHA3
  646. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/sha3.c
  647. if BUILD_ARMASM_NEON
  648. if BUILD_ARMASM_INLINE
  649. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/port/arm/armv8-sha3-asm_c.c
  650. else
  651. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/port/arm/armv8-sha3-asm.S
  652. endif !BUILD_ARMASM_INLINE
  653. endif BUILD_ARMASM_NEON
  654. if !BUILD_X86_ASM
  655. if BUILD_INTELASM
  656. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/sha3_asm.S
  657. endif
  658. endif
  659. endif
  660. endif !BUILD_FIPS_CURRENT
  661. if !BUILD_FIPS_CURRENT
  662. if BUILD_SM2
  663. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/sm2.c
  664. if BUILD_SP
  665. if BUILD_SP_C32
  666. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/sp_sm2_c32.c
  667. endif
  668. if BUILD_SP_C64
  669. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/sp_sm2_c64.c
  670. endif
  671. if BUILD_SP_X86_64
  672. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/sp_sm2_x86_64.c
  673. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/sp_sm2_x86_64_asm.S
  674. endif
  675. if !BUILD_FIPS_V2
  676. if BUILD_SP_ARM32
  677. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/sp_sm2_arm32.c
  678. endif
  679. endif
  680. if BUILD_SP_ARM_THUMB
  681. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/sp_sm2_armthumb.c
  682. endif
  683. if !BUILD_FIPS_V2
  684. if BUILD_SP_ARM64
  685. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/sp_sm2_arm64.c
  686. endif
  687. endif
  688. if BUILD_SP_ARM_CORTEX
  689. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/sp_sm2_cortexm.c
  690. endif
  691. endif BUILD_SP
  692. endif BUILD_SM2
  693. endif !BUILD_FIPS_CURRENT
  694. if !BUILD_FIPS_CURRENT
  695. if BUILD_SM3
  696. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/sm3.c
  697. if !BUILD_X86_ASM
  698. if BUILD_INTELASM
  699. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/sm3_asm.S
  700. endif
  701. endif
  702. endif BUILD_SM3
  703. endif !BUILD_FIPS_CURRENT
  704. if !BUILD_FIPS_CURRENT
  705. if BUILD_SM4
  706. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/sm4.c
  707. endif BUILD_SM4
  708. endif !BUILD_FIPS_CURRENT
  709. endif !BUILD_FIPS_RAND
  710. if BUILD_SIPHASH
  711. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/siphash.c
  712. endif
  713. src_libwolfssl@LIBSUFFIX@_la_SOURCES += \
  714. wolfcrypt/src/logging.c \
  715. wolfcrypt/src/wc_port.c
  716. if BUILD_ERROR_STRINGS
  717. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/error.c
  718. endif
  719. if !BUILD_FIPS_RAND
  720. if !BUILD_DO178
  721. src_libwolfssl@LIBSUFFIX@_la_SOURCES += \
  722. wolfcrypt/src/wc_encrypt.c \
  723. wolfcrypt/src/signature.c
  724. endif !BUILD_DO178
  725. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/wolfmath.c
  726. endif !BUILD_FIPS_RAND
  727. if BUILD_MEMORY
  728. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/memory.c
  729. endif
  730. if !BUILD_FIPS_RAND
  731. if !BUILD_FIPS_CURRENT
  732. if BUILD_DH
  733. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/dh.c
  734. endif
  735. endif
  736. if BUILD_ASN
  737. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/asn.c
  738. endif
  739. if BUILD_HPKE
  740. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/hpke.c
  741. endif
  742. endif !BUILD_FIPS_RAND
  743. if BUILD_CODING
  744. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/coding.c
  745. endif
  746. if !BUILD_FIPS_RAND
  747. if BUILD_POLY1305
  748. if BUILD_ARMASM
  749. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/port/arm/armv8-poly1305.c
  750. endif
  751. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/poly1305.c
  752. if !BUILD_X86_ASM
  753. if BUILD_INTELASM
  754. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/poly1305_asm.S
  755. endif
  756. endif
  757. endif
  758. if BUILD_RC4
  759. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/arc4.c
  760. endif
  761. if BUILD_MD4
  762. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/md4.c
  763. endif
  764. if BUILD_MD5
  765. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/md5.c
  766. endif
  767. if !BUILD_FIPS_V6
  768. if BUILD_PWDBASED
  769. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/pwdbased.c
  770. endif BUILD_PWDBASED
  771. endif !BUILD_FIPS_V6
  772. if BUILD_PKCS12
  773. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/pkcs12.c
  774. endif BUILD_PKCS12
  775. if BUILD_DSA
  776. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/dsa.c
  777. endif
  778. if !BUILD_FIPS_CURRENT
  779. if BUILD_AESNI
  780. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/aes_asm.S
  781. if BUILD_X86_ASM
  782. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/aes_gcm_x86_asm.S
  783. else
  784. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/aes_gcm_asm.S
  785. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/aes_xts_asm.S
  786. endif
  787. endif
  788. endif
  789. if BUILD_CAMELLIA
  790. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/camellia.c
  791. endif
  792. if BUILD_MD2
  793. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/md2.c
  794. endif
  795. if BUILD_RIPEMD
  796. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/ripemd.c
  797. endif
  798. if BUILD_BLAKE2
  799. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/blake2b.c
  800. endif
  801. if BUILD_BLAKE2S
  802. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/blake2s.c
  803. endif
  804. if BUILD_CHACHA
  805. if BUILD_ARMASM_NEON
  806. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/port/arm/armv8-chacha.c
  807. else
  808. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/chacha.c
  809. if !BUILD_X86_ASM
  810. if BUILD_INTELASM
  811. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/chacha_asm.S
  812. endif
  813. endif
  814. endif
  815. if BUILD_POLY1305
  816. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/chacha20_poly1305.c
  817. endif
  818. endif
  819. if !BUILD_INLINE
  820. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/misc.c
  821. endif
  822. if BUILD_FASTMATH
  823. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/tfm.c
  824. endif
  825. if BUILD_HEAPMATH
  826. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/integer.c
  827. endif
  828. if !BUILD_FIPS_CURRENT
  829. if BUILD_ECC
  830. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/ecc.c
  831. endif
  832. endif
  833. if BUILD_ECCSI
  834. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/eccsi.c
  835. endif
  836. if BUILD_SAKKE
  837. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/sakke.c
  838. endif
  839. if !BUILD_FIPS_CURRENT
  840. if BUILD_WC_KYBER
  841. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/wc_kyber.c
  842. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/wc_kyber_poly.c
  843. if !BUILD_X86_ASM
  844. if BUILD_INTELASM
  845. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/wc_kyber_asm.S
  846. endif
  847. endif
  848. endif
  849. endif
  850. if BUILD_WC_LMS
  851. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/wc_lms.c
  852. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/wc_lms_impl.c
  853. endif
  854. if BUILD_WC_XMSS
  855. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/wc_xmss.c
  856. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/wc_xmss_impl.c
  857. endif
  858. if !BUILD_FIPS_V6
  859. if BUILD_CURVE25519
  860. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/curve25519.c
  861. endif
  862. if BUILD_ED25519
  863. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/ed25519.c
  864. endif
  865. endif !BUILD_FIPS_V6
  866. if BUILD_FEMATH
  867. if BUILD_CURVE25519_SMALL
  868. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/fe_low_mem.c
  869. else
  870. if BUILD_INTELASM
  871. if !BUILD_X86_ASM
  872. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/fe_x25519_asm.S
  873. endif !BUILD_X86_ASM
  874. else
  875. if BUILD_ARMASM
  876. if !BUILD_FIPS_V6
  877. if BUILD_ARMASM_NEON
  878. if BUILD_ARMASM_INLINE
  879. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/port/arm/armv8-32-curve25519_c.c
  880. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/port/arm/armv8-curve25519_c.c
  881. else
  882. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/port/arm/armv8-32-curve25519.S
  883. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/port/arm/armv8-curve25519.S
  884. endif !BUILD_ARMASM_INLINE
  885. else
  886. if BUILD_ARMASM_INLINE
  887. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/port/arm/armv8-32-curve25519_c.c
  888. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/port/arm/thumb2-curve25519_c.c
  889. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/port/arm/armv8-curve25519_c.c
  890. else
  891. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/port/arm/armv8-32-curve25519.S
  892. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/port/arm/thumb2-curve25519.S
  893. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/port/arm/armv8-curve25519.S
  894. endif !BUILD_ARMASM_INLINE
  895. endif !BUILD_ARMASM_NEON
  896. endif !BUILD_FIPS_V6
  897. else
  898. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/fe_operations.c
  899. endif !BUILD_ARMASM
  900. endif !BUILD_INTELASM
  901. endif !BUILD_CURVE25519_SMALL
  902. endif BUILD_FEMATH
  903. if BUILD_GEMATH
  904. if BUILD_ED25519_SMALL
  905. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/ge_low_mem.c
  906. else
  907. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/ge_operations.c
  908. if !BUILD_FEMATH
  909. if BUILD_INTELASM
  910. if !BUILD_X86_ASM
  911. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/fe_x25519_asm.S
  912. endif !BUILD_X86_ASM
  913. else
  914. if !BUILD_FIPS_V6
  915. if BUILD_ARMASM
  916. if BUILD_ARMASM_NEON
  917. if BUILD_ARMASM_INLINE
  918. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/port/arm/armv8-curve25519_c.c
  919. else
  920. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/port/arm/armv8-curve25519.S
  921. endif !BUILD_ARMASM_INLINE
  922. else
  923. if BUILD_ARMASM_INLINE
  924. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/port/arm/thumb2-curve25519_c.c
  925. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/port/arm/armv8-curve25519_c.c
  926. else
  927. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/port/arm/thumb2-curve25519.S
  928. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/port/arm/armv8-curve25519.S
  929. endif !BUILD_ARMASM_INLINE
  930. endif !BUILD_ARMASM_NEON
  931. else
  932. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/fe_operations.c
  933. endif !BUILD_ARMASM
  934. endif !BUILD_FIPS_V6
  935. endif !BUILD_INTELASM
  936. endif !BUILD_FEMATH
  937. endif !BUILD_ED25519_SMALL
  938. endif BUILD_GEMATH
  939. if !BUILD_FIPS_V6
  940. if BUILD_CURVE448
  941. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/curve448.c
  942. endif
  943. if BUILD_ED448
  944. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/ed448.c
  945. endif
  946. endif !BUILD_FIPS_V6
  947. if BUILD_FE448
  948. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/fe_448.c
  949. endif
  950. if BUILD_GE448
  951. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/ge_448.c
  952. if !BUILD_FE448
  953. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/fe_448.c
  954. endif
  955. endif
  956. if BUILD_LIBOQS
  957. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/falcon.c
  958. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/dilithium.c
  959. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/sphincs.c
  960. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/ext_kyber.c
  961. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/port/liboqs/liboqs.c
  962. endif
  963. if BUILD_LIBLMS
  964. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/ext_lms.c
  965. endif
  966. if BUILD_LIBXMSS
  967. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/ext_xmss.c
  968. endif
  969. if BUILD_LIBZ
  970. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/compress.c
  971. endif
  972. if BUILD_PKCS7
  973. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/pkcs7.c
  974. endif
  975. if BUILD_SRP
  976. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/srp.c
  977. endif
  978. if BUILD_AFALG
  979. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/port/af_alg/wc_afalg.c
  980. endif
  981. if !BUILD_CRYPTONLY
  982. # ssl files
  983. src_libwolfssl@LIBSUFFIX@_la_SOURCES += \
  984. src/internal.c \
  985. src/wolfio.c \
  986. src/keys.c \
  987. src/ssl.c \
  988. src/tls.c
  989. if BUILD_TLS13
  990. src_libwolfssl@LIBSUFFIX@_la_SOURCES += src/tls13.c
  991. endif
  992. if BUILD_OCSP
  993. src_libwolfssl@LIBSUFFIX@_la_SOURCES += src/ocsp.c
  994. endif
  995. if BUILD_CRL
  996. src_libwolfssl@LIBSUFFIX@_la_SOURCES += src/crl.c
  997. endif
  998. if BUILD_SNIFFER
  999. src_libwolfssl@LIBSUFFIX@_la_SOURCES += src/sniffer.c
  1000. endif
  1001. if BUILD_DTLS13
  1002. src_libwolfssl@LIBSUFFIX@_la_SOURCES += src/dtls13.c
  1003. endif
  1004. if BUILD_QUIC
  1005. src_libwolfssl@LIBSUFFIX@_la_SOURCES += src/quic.c
  1006. endif
  1007. if BUILD_DTLS
  1008. src_libwolfssl@LIBSUFFIX@_la_SOURCES += src/dtls.c
  1009. endif
  1010. endif !BUILD_CRYPTONLY
  1011. if BUILD_XILINX
  1012. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/port/xilinx/xil-aesgcm.c
  1013. endif
  1014. endif !BUILD_FIPS_RAND
  1015. if BUILD_ARIA
  1016. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/port/aria/aria-crypt.c
  1017. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/port/aria/aria-cryptocb.c
  1018. endif