include.am 20 KB

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