include.am 20 KB

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