include.am 20 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771
  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. ctaocrypt/src/fips.c \
  6. ctaocrypt/src/fips_test.c \
  7. wolfcrypt/src/async.c \
  8. wolfcrypt/src/fips.c \
  9. wolfcrypt/src/fips_test.c \
  10. wolfcrypt/src/selftest.c \
  11. wolfcrypt/src/wolfcrypt_first.c \
  12. wolfcrypt/src/wolfcrypt_last.c
  13. BUILT_SOURCES+= $(FIPS_FILES)
  14. MAINTAINERCLEANFILES+= $(FIPS_FILES)
  15. EXTRA_DIST += src/bio.c
  16. EXTRA_DIST += src/conf.c
  17. EXTRA_DIST += src/pk.c
  18. EXTRA_DIST += src/ssl_asn1.c
  19. EXTRA_DIST += src/ssl_bn.c
  20. EXTRA_DIST += src/ssl_misc.c
  21. EXTRA_DIST += src/x509.c
  22. EXTRA_DIST += src/x509_str.c
  23. $(FIPS_FILES):
  24. $(AM_V_at)touch $(srcdir)/$@
  25. if !BUILD_NO_LIBRARY
  26. lib_LTLIBRARIES+= src/libwolfssl@LIBSUFFIX@.la
  27. endif
  28. src_libwolfssl@LIBSUFFIX@_la_SOURCES =
  29. src_libwolfssl@LIBSUFFIX@_la_LDFLAGS = ${AM_LDFLAGS} -no-undefined -version-info ${WOLFSSL_LIBRARY_VERSION}
  30. src_libwolfssl@LIBSUFFIX@_la_LIBADD = $(LIBM) $(LIB_ADD) $(LIB_STATIC_ADD)
  31. src_libwolfssl@LIBSUFFIX@_la_CFLAGS = -DBUILDING_WOLFSSL $(AM_CFLAGS) -DLIBWOLFSSL_GLOBAL_EXTRA_CFLAGS="\" $(EXTRA_CFLAGS)\""
  32. src_libwolfssl@LIBSUFFIX@_la_CPPFLAGS = -DBUILDING_WOLFSSL $(AM_CPPFLAGS)
  33. # install the packaged IPP libraries
  34. if BUILD_FAST_RSA
  35. # Link needed IPP libraries
  36. noinst_SCRIPTS+=IPP_links
  37. IPP_links:
  38. @$(IPPLINK)
  39. ippdir = $(libdir)
  40. ipp_DATA = $(IPPLIBS)
  41. include_HEADERS+=$(IPPHEADERS)
  42. endif # BUILD_FAST_RSA
  43. if BUILD_FIPS
  44. if BUILD_FIPS_V1
  45. # fips first file
  46. src_libwolfssl@LIBSUFFIX@_la_SOURCES += ctaocrypt/src/wolfcrypt_first.c
  47. src_libwolfssl@LIBSUFFIX@_la_SOURCES += \
  48. ctaocrypt/src/hmac.c \
  49. ctaocrypt/src/random.c \
  50. ctaocrypt/src/sha256.c
  51. if BUILD_RSA
  52. src_libwolfssl@LIBSUFFIX@_la_SOURCES += ctaocrypt/src/rsa.c
  53. endif
  54. if BUILD_AES
  55. src_libwolfssl@LIBSUFFIX@_la_SOURCES += ctaocrypt/src/aes.c
  56. endif
  57. if BUILD_DES3
  58. src_libwolfssl@LIBSUFFIX@_la_SOURCES += ctaocrypt/src/des3.c
  59. endif
  60. if BUILD_SHA
  61. src_libwolfssl@LIBSUFFIX@_la_SOURCES += ctaocrypt/src/sha.c
  62. endif
  63. if BUILD_SHA512
  64. src_libwolfssl@LIBSUFFIX@_la_SOURCES += ctaocrypt/src/sha512.c
  65. endif
  66. src_libwolfssl@LIBSUFFIX@_la_SOURCES += ctaocrypt/src/fips.c
  67. src_libwolfssl@LIBSUFFIX@_la_SOURCES += ctaocrypt/src/fips_test.c
  68. # fips last file
  69. src_libwolfssl@LIBSUFFIX@_la_SOURCES += ctaocrypt/src/wolfcrypt_last.c
  70. endif BUILD_FIPS_V1
  71. if BUILD_FIPS_V2
  72. # FIPSv2 first file
  73. src_libwolfssl@LIBSUFFIX@_la_SOURCES += \
  74. wolfcrypt/src/wolfcrypt_first.c
  75. src_libwolfssl@LIBSUFFIX@_la_SOURCES += \
  76. wolfcrypt/src/hmac.c \
  77. wolfcrypt/src/random.c \
  78. wolfcrypt/src/sha256.c
  79. if BUILD_RSA
  80. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/rsa.c
  81. endif
  82. if BUILD_ECC
  83. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/ecc.c
  84. endif
  85. if BUILD_AES
  86. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/aes.c
  87. endif
  88. if BUILD_AESNI
  89. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/aes_asm.S
  90. if BUILD_X86_ASM
  91. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/aes_gcm_x86_asm.S
  92. else
  93. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/aes_gcm_asm.S
  94. endif
  95. endif
  96. if BUILD_DES3
  97. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/des3.c
  98. endif
  99. if BUILD_SHA
  100. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/sha.c
  101. endif
  102. if BUILD_INTELASM
  103. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/sha256_asm.S
  104. endif
  105. if BUILD_SHA512
  106. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/sha512.c
  107. if BUILD_INTELASM
  108. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/sha512_asm.S
  109. endif
  110. endif
  111. if BUILD_SHA3
  112. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/sha3.c
  113. if BUILD_INTELASM
  114. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/sha3_asm.S
  115. endif
  116. endif
  117. if BUILD_DH
  118. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/dh.c
  119. endif
  120. if BUILD_CMAC
  121. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/cmac.c
  122. endif
  123. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/fips.c \
  124. wolfcrypt/src/fips_test.c
  125. # fips last file
  126. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/wolfcrypt_last.c
  127. endif BUILD_FIPS_V2
  128. if BUILD_FIPS_RAND
  129. src_libwolfssl@LIBSUFFIX@_la_SOURCES += \
  130. wolfcrypt/src/wolfcrypt_first.c \
  131. wolfcrypt/src/hmac.c \
  132. wolfcrypt/src/random.c \
  133. wolfcrypt/src/sha256.c \
  134. wolfcrypt/src/sha256_asm.S \
  135. wolfcrypt/src/fips.c \
  136. wolfcrypt/src/fips_test.c \
  137. wolfcrypt/src/wolfcrypt_last.c
  138. endif BUILD_FIPS_RAND
  139. if BUILD_FIPS_V5
  140. # FIPS 140-3 first file
  141. src_libwolfssl@LIBSUFFIX@_la_SOURCES += \
  142. wolfcrypt/src/wolfcrypt_first.c
  143. src_libwolfssl@LIBSUFFIX@_la_SOURCES += \
  144. wolfcrypt/src/hmac.c \
  145. wolfcrypt/src/random.c
  146. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/kdf.c
  147. if BUILD_RSA
  148. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/rsa.c
  149. endif
  150. if BUILD_ECC
  151. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/ecc.c
  152. endif
  153. if BUILD_AES
  154. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/aes.c
  155. if BUILD_ARMASM
  156. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/port/arm/armv8-aes.c
  157. if !BUILD_ARMASM_CRYPTO
  158. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/port/arm/armv8-32-aes-asm.S
  159. endif
  160. endif
  161. endif
  162. if BUILD_AESNI
  163. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/aes_asm.S
  164. if BUILD_X86_ASM
  165. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/aes_gcm_x86_asm.S
  166. else
  167. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/aes_gcm_asm.S
  168. endif
  169. endif
  170. if BUILD_SHA
  171. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/sha.c
  172. endif
  173. if BUILD_ARMASM
  174. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/port/arm/armv8-sha256.c
  175. if BUILD_ARMASM_INLINE
  176. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/port/arm/armv8-32-sha256-asm_c.c
  177. else
  178. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/port/arm/armv8-32-sha256-asm.S
  179. endif
  180. else
  181. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/sha256.c
  182. if BUILD_INTELASM
  183. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/sha256_asm.S
  184. endif
  185. endif
  186. if BUILD_SHA512
  187. if BUILD_ARMASM
  188. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/port/arm/armv8-sha512.c
  189. if BUILD_ARMASM_INLINE
  190. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/port/arm/armv8-sha512-asm_c.c
  191. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/port/arm/armv8-32-sha512-asm_c.c
  192. else
  193. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/port/arm/armv8-sha512-asm.S
  194. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/port/arm/armv8-32-sha512-asm.S
  195. endif
  196. else
  197. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/sha512.c
  198. if BUILD_INTELASM
  199. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/sha512_asm.S
  200. endif
  201. endif
  202. endif
  203. if BUILD_SHA3
  204. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/sha3.c
  205. if BUILD_ARMASM
  206. if BUILD_ARMASM_INLINE
  207. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/port/arm/armv8-sha3-asm_c.c
  208. else
  209. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/port/arm/armv8-sha3-asm.S
  210. endif
  211. endif
  212. if BUILD_INTELASM
  213. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/sha3_asm.S
  214. endif
  215. endif
  216. if BUILD_DH
  217. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/dh.c
  218. endif
  219. if BUILD_CMAC
  220. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/cmac.c
  221. endif
  222. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/fips.c \
  223. wolfcrypt/src/fips_test.c
  224. # fips last file
  225. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/wolfcrypt_last.c
  226. endif BUILD_FIPS_V5
  227. endif BUILD_FIPS
  228. # For wolfRand, exclude everything else.
  229. if !BUILD_FIPS_RAND
  230. # For FIPSV2, exclude the wolfCrypt files included above.
  231. # For wolfRand, exclude just a couple files.
  232. # For old FIPS, keep the wolfCrypt versions of the
  233. # CtaoCrypt files included above.
  234. if !BUILD_FIPS_CURRENT
  235. if BUILD_HMAC
  236. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/hmac.c
  237. endif
  238. endif !BUILD_FIPS_CURRENT
  239. # CAVP self test
  240. if BUILD_SELFTEST
  241. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/selftest.c
  242. endif
  243. endif !BUILD_FIPS_RAND
  244. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/hash.c
  245. if !BUILD_DO178
  246. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/cpuid.c
  247. endif !BUILD_DO178
  248. if !BUILD_FIPS_RAND
  249. if !BUILD_FIPS_V5
  250. if BUILD_KDF
  251. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/kdf.c
  252. endif
  253. endif !BUILD_FIPS_V5
  254. if !BUILD_FIPS_CURRENT
  255. if BUILD_RNG
  256. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/random.c
  257. endif
  258. endif !BUILD_FIPS_CURRENT
  259. if !BUILD_FIPS_CURRENT
  260. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/sha256.c
  261. if BUILD_ARMASM
  262. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/port/arm/armv8-sha256.c
  263. if BUILD_ARMASM_INLINE
  264. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/port/arm/armv8-32-sha256-asm_c.c
  265. else
  266. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/port/arm/armv8-32-sha256-asm.S
  267. endif
  268. else
  269. if BUILD_INTELASM
  270. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/sha256_asm.S
  271. endif
  272. endif
  273. endif !BUILD_FIPS_CURRENT
  274. if BUILD_AFALG
  275. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/port/af_alg/afalg_hash.c
  276. endif
  277. if BUILD_KCAPI
  278. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/port/kcapi/kcapi_aes.c
  279. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/port/kcapi/kcapi_hash.c
  280. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/port/kcapi/kcapi_hmac.c
  281. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/port/kcapi/kcapi_ecc.c
  282. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/port/kcapi/kcapi_rsa.c
  283. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/port/kcapi/kcapi_dh.c
  284. endif
  285. if BUILD_WOLFEVENT
  286. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/wolfevent.c
  287. endif
  288. if BUILD_ASYNCCRYPT
  289. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/async.c
  290. endif
  291. if !BUILD_USER_RSA
  292. if BUILD_RSA
  293. if BUILD_FAST_RSA
  294. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/user-crypto/src/rsa.c
  295. else
  296. if !BUILD_FIPS_CURRENT
  297. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/rsa.c
  298. endif !BUILD_FIPS_CURRENT
  299. endif
  300. endif
  301. endif
  302. if BUILD_RC2
  303. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/rc2.c
  304. endif
  305. if BUILD_SP
  306. if BUILD_SP_C32
  307. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/sp_c32.c
  308. endif
  309. if BUILD_SP_C64
  310. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/sp_c64.c
  311. endif
  312. if BUILD_SP_X86_64
  313. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/sp_x86_64.c
  314. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/sp_x86_64_asm.S
  315. endif
  316. if !BUILD_FIPS_V2
  317. if BUILD_SP_ARM32
  318. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/sp_arm32.c
  319. endif
  320. endif
  321. if BUILD_SP_ARM_THUMB
  322. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/sp_armthumb.c
  323. endif
  324. if !BUILD_FIPS_V2
  325. if BUILD_SP_ARM64
  326. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/sp_arm64.c
  327. endif
  328. endif
  329. if BUILD_SP_ARM_CORTEX
  330. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/sp_cortexm.c
  331. endif
  332. endif BUILD_SP
  333. if BUILD_SP_INT
  334. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/sp_int.c
  335. endif
  336. if !BUILD_FIPS_CURRENT
  337. if BUILD_AES
  338. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/aes.c
  339. if BUILD_ARMASM
  340. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/port/arm/armv8-aes.c
  341. if !BUILD_ARMASM_CRYPTO
  342. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/port/arm/armv8-32-aes-asm.S
  343. endif !BUILD_ARMASM_CRYPTO
  344. endif BUILD_ARMASM
  345. if BUILD_AFALG
  346. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/port/af_alg/afalg_aes.c
  347. endif
  348. endif BUILD_AES
  349. endif !BUILD_FIPS_CURRENT
  350. if !BUILD_FIPS_CURRENT
  351. if BUILD_CMAC
  352. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/cmac.c
  353. endif
  354. endif !BUILD_FIPS_CURRENT
  355. if !BUILD_FIPS_V2
  356. if BUILD_DES3
  357. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/des3.c
  358. endif BUILD_DES3
  359. endif !BUILD_FIPS_V2
  360. if !BUILD_FIPS_CURRENT
  361. if BUILD_SHA
  362. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/sha.c
  363. endif
  364. endif !BUILD_FIPS_CURRENT
  365. if !BUILD_FIPS_CURRENT
  366. if BUILD_SHA512
  367. if BUILD_ARMASM
  368. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/port/arm/armv8-sha512.c
  369. if BUILD_ARMASM_INLINE
  370. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/port/arm/armv8-sha512-asm_c.c
  371. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/port/arm/armv8-32-sha512-asm_c.c
  372. else
  373. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/port/arm/armv8-sha512-asm.S
  374. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/port/arm/armv8-32-sha512-asm.S
  375. endif
  376. else
  377. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/sha512.c
  378. if BUILD_INTELASM
  379. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/sha512_asm.S
  380. endif
  381. endif
  382. endif
  383. endif !BUILD_FIPS_CURRENT
  384. if !BUILD_FIPS_CURRENT
  385. if BUILD_SHA3
  386. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/sha3.c
  387. if BUILD_ARMASM
  388. if BUILD_ARMASM_INLINE
  389. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/port/arm/armv8-sha3-asm_c.c
  390. else
  391. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/port/arm/armv8-sha3-asm.S
  392. endif
  393. endif
  394. if BUILD_INTELASM
  395. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/sha3_asm.S
  396. endif
  397. endif
  398. endif !BUILD_FIPS_CURRENT
  399. endif !BUILD_FIPS_RAND
  400. if BUILD_SIPHASH
  401. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/siphash.c
  402. endif
  403. src_libwolfssl@LIBSUFFIX@_la_SOURCES += \
  404. wolfcrypt/src/logging.c \
  405. wolfcrypt/src/wc_port.c
  406. if BUILD_ERROR_STRINGS
  407. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/error.c
  408. endif
  409. if !BUILD_FIPS_RAND
  410. if !BUILD_DO178
  411. src_libwolfssl@LIBSUFFIX@_la_SOURCES += \
  412. wolfcrypt/src/wc_encrypt.c \
  413. wolfcrypt/src/signature.c
  414. endif !BUILD_DO178
  415. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/wolfmath.c
  416. endif !BUILD_FIPS_RAND
  417. if BUILD_MEMORY
  418. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/memory.c
  419. endif
  420. if !BUILD_FIPS_RAND
  421. if !BUILD_FIPS_CURRENT
  422. if BUILD_DH
  423. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/dh.c
  424. endif
  425. endif
  426. if BUILD_ASN
  427. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/asn.c
  428. endif
  429. if BUILD_HPKE
  430. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/hpke.c
  431. endif
  432. endif !BUILD_FIPS_RAND
  433. if BUILD_CODING
  434. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/coding.c
  435. endif
  436. if !BUILD_FIPS_RAND
  437. if BUILD_POLY1305
  438. if BUILD_ARMASM
  439. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/port/arm/armv8-poly1305.c
  440. endif
  441. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/poly1305.c
  442. if BUILD_INTELASM
  443. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/poly1305_asm.S
  444. endif
  445. endif
  446. if BUILD_RC4
  447. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/arc4.c
  448. endif
  449. if BUILD_MD4
  450. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/md4.c
  451. endif
  452. if BUILD_MD5
  453. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/md5.c
  454. endif
  455. if BUILD_PWDBASED
  456. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/pwdbased.c
  457. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/pkcs12.c
  458. endif
  459. if BUILD_DSA
  460. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/dsa.c
  461. endif
  462. if !BUILD_FIPS_CURRENT
  463. if BUILD_AESNI
  464. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/aes_asm.S
  465. if BUILD_X86_ASM
  466. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/aes_gcm_x86_asm.S
  467. else
  468. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/aes_gcm_asm.S
  469. endif
  470. endif
  471. endif
  472. if BUILD_CAMELLIA
  473. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/camellia.c
  474. endif
  475. if BUILD_MD2
  476. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/md2.c
  477. endif
  478. if BUILD_RIPEMD
  479. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/ripemd.c
  480. endif
  481. if BUILD_BLAKE2
  482. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/blake2b.c
  483. endif
  484. if BUILD_BLAKE2S
  485. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/blake2s.c
  486. endif
  487. if BUILD_CHACHA
  488. if BUILD_ARMASM
  489. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/port/arm/armv8-chacha.c
  490. else
  491. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/chacha.c
  492. if BUILD_INTELASM
  493. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/chacha_asm.S
  494. endif
  495. endif
  496. if BUILD_POLY1305
  497. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/chacha20_poly1305.c
  498. endif
  499. endif
  500. if !BUILD_INLINE
  501. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/misc.c
  502. endif
  503. if BUILD_FASTMATH
  504. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/tfm.c
  505. endif
  506. if BUILD_HEAPMATH
  507. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/integer.c
  508. endif
  509. if !BUILD_FIPS_CURRENT
  510. if BUILD_ECC
  511. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/ecc.c
  512. endif
  513. endif
  514. if BUILD_ECCSI
  515. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/eccsi.c
  516. endif
  517. if BUILD_SAKKE
  518. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/sakke.c
  519. endif
  520. if !BUILD_FIPS_CURRENT
  521. if BUILD_WC_KYBER
  522. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/wc_kyber.c
  523. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/wc_kyber_poly.c
  524. if BUILD_INTELASM
  525. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/wc_kyber_asm.S
  526. endif
  527. endif
  528. endif
  529. if BUILD_CURVE25519
  530. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/curve25519.c
  531. endif
  532. if BUILD_ED25519
  533. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/ed25519.c
  534. endif
  535. if BUILD_FEMATH
  536. if BUILD_CURVE25519_SMALL
  537. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/fe_low_mem.c
  538. else
  539. if BUILD_INTELASM
  540. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/fe_x25519_asm.S
  541. else
  542. if BUILD_ARMASM
  543. if BUILD_ARMASM_INLINE
  544. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/port/arm/armv8-32-curve25519_c.c
  545. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/port/arm/armv8-curve25519_c.c
  546. else
  547. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/port/arm/armv8-32-curve25519.S
  548. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/port/arm/armv8-curve25519.S
  549. endif
  550. else
  551. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/fe_operations.c
  552. endif
  553. endif
  554. endif
  555. endif
  556. if BUILD_GEMATH
  557. if BUILD_ED25519_SMALL
  558. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/ge_low_mem.c
  559. else
  560. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/ge_operations.c
  561. if !BUILD_FEMATH
  562. if BUILD_INTELASM
  563. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/fe_x25519_asm.S
  564. else
  565. if BUILD_ARMASM
  566. if BUILD_ARMASM_INLINE
  567. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/port/arm/armv8-curve25519_c.c
  568. else
  569. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/port/arm/armv8-curve25519.S
  570. endif
  571. else
  572. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/fe_operations.c
  573. endif
  574. endif
  575. endif
  576. endif
  577. endif
  578. if BUILD_CURVE448
  579. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/curve448.c
  580. endif
  581. if BUILD_ED448
  582. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/ed448.c
  583. endif
  584. if BUILD_FE448
  585. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/fe_448.c
  586. endif
  587. if BUILD_GE448
  588. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/ge_448.c
  589. if !BUILD_FE448
  590. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/fe_448.c
  591. endif
  592. endif
  593. if BUILD_LIBOQS
  594. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/falcon.c
  595. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/dilithium.c
  596. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/sphincs.c
  597. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/ext_kyber.c
  598. endif
  599. if BUILD_LIBZ
  600. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/compress.c
  601. endif
  602. if BUILD_PKCS7
  603. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/pkcs7.c
  604. endif
  605. if BUILD_SRP
  606. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/srp.c
  607. endif
  608. if BUILD_AFALG
  609. src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/port/af_alg/wc_afalg.c
  610. endif
  611. if !BUILD_CRYPTONLY
  612. # ssl files
  613. src_libwolfssl@LIBSUFFIX@_la_SOURCES += \
  614. src/internal.c \
  615. src/wolfio.c \
  616. src/keys.c \
  617. src/ssl.c \
  618. src/tls.c
  619. if BUILD_TLS13
  620. src_libwolfssl@LIBSUFFIX@_la_SOURCES += src/tls13.c
  621. endif
  622. if BUILD_OCSP
  623. src_libwolfssl@LIBSUFFIX@_la_SOURCES += src/ocsp.c
  624. endif
  625. if BUILD_CRL
  626. src_libwolfssl@LIBSUFFIX@_la_SOURCES += src/crl.c
  627. endif
  628. if BUILD_SNIFFER
  629. src_libwolfssl@LIBSUFFIX@_la_SOURCES += src/sniffer.c
  630. endif
  631. if BUILD_DTLS13
  632. src_libwolfssl@LIBSUFFIX@_la_SOURCES += src/dtls13.c
  633. endif
  634. if BUILD_QUIC
  635. src_libwolfssl@LIBSUFFIX@_la_SOURCES += src/quic.c
  636. endif
  637. if BUILD_DTLS
  638. src_libwolfssl@LIBSUFFIX@_la_SOURCES += src/dtls.c
  639. endif
  640. endif !BUILD_CRYPTONLY
  641. endif !BUILD_FIPS_RAND