include.am 17 KB

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