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