@@ -157,13 +157,17 @@ endif
157157
158158if BUILD_AES
159159src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/aes.c
160- if BUILD_ARMASM
160+ if BUILD_ARMASM_NEON
161161src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/port/arm/armv8-aes.c
162162if !BUILD_ARMASM_CRYPTO
163+ if BUILD_ARMASM_INLINE
164+ src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/port/arm/armv8-32-aes-asm_c.c
165+ else
163166src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/port/arm/armv8-32-aes-asm.S
164- endif
165- endif
166- endif
167+ endif !BUILD_ARMASM_INLINE
168+ endif !BUILD_ARMASM_CRYPTO
169+ endif BUILD_ARMASM_NEON
170+ endif BUILD_AES
167171
168172if BUILD_AESNI
169173src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/aes_asm.S
@@ -178,47 +182,65 @@ if BUILD_SHA
178182src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/sha.c
179183endif
180184
181- if BUILD_ARMASM
185+ if BUILD_ARMASM_NEON
182186src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/port/arm/armv8-sha256.c
183187if BUILD_ARMASM_INLINE
184188src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/port/arm/armv8-32-sha256-asm_c.c
185189else
186190src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/port/arm/armv8-32-sha256-asm.S
187- endif
191+ endif !BUILD_ARMASM_INLINE
192+ else
193+ if BUILD_ARMASM
194+ src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/port/arm/armv8-sha256.c
195+ if BUILD_ARMASM_INLINE
196+ src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/port/arm/thumb2-sha256-asm_c.c
197+ else
198+ src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/port/arm/thumb2-sha256-asm.S
199+ endif !BUILD_ARMASM_INLINE
188200else
189201src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/sha256.c
190202if BUILD_INTELASM
191203src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/sha256_asm.S
192- endif
193- endif
204+ endif BUILD_INTELASM
205+ endif !BUILD_ARMASM
206+ endif !BUILD_ARMASM_NEON
194207
195208if BUILD_SHA512
196- if BUILD_ARMASM
209+ if BUILD_ARMASM_NEON
197210src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/port/arm/armv8-sha512.c
198211if BUILD_ARMASM_INLINE
199212src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/port/arm/armv8-sha512-asm_c.c
200213src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/port/arm/armv8-32-sha512-asm_c.c
201214else
202215src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/port/arm/armv8-sha512-asm.S
203216src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/port/arm/armv8-32-sha512-asm.S
204- endif
217+ endif !BUILD_ARMASM_INLINE
218+ else
219+ if BUILD_ARMASM
220+ src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/port/arm/armv8-sha512.c
221+ if BUILD_ARMASM_INLINE
222+ src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/port/arm/thumb2-sha512-asm_c.c
223+ else
224+ src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/port/arm/thumb2-sha512-asm.S
225+ endif !BUILD_ARMASM_INLINE
205226else
206227src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/sha512.c
207228if BUILD_INTELASM
208229src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/sha512_asm.S
209- endif
210- endif
211- endif
230+ endif BUILD_INTELASM
231+ endif !BUILD_ARMASM
232+ endif !BUILD_ARMASM_NEON
233+ endif BUILD_SHA512
212234
213235if BUILD_SHA3
214236src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/sha3.c
215- if BUILD_ARMASM
237+ if BUILD_ARMASM_NEON
216238if BUILD_ARMASM_INLINE
217239src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/port/arm/armv8-sha3-asm_c.c
218240else
219241src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/port/arm/armv8-sha3-asm.S
220- endif
221- endif
242+ endif !BUILD_ARMASM_INLINE
243+ endif BUILD_ARMASM_NEON
222244if BUILD_INTELASM
223245src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/sha3_asm.S
224246endif
@@ -283,18 +305,27 @@ endif !BUILD_FIPS_CURRENT
283305
284306if !BUILD_FIPS_CURRENT
285307src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/sha256.c
286- if BUILD_ARMASM
308+ if BUILD_ARMASM_NEON
287309src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/port/arm/armv8-sha256.c
288310if BUILD_ARMASM_INLINE
289311src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/port/arm/armv8-32-sha256-asm_c.c
290312else
291313src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/port/arm/armv8-32-sha256-asm.S
292- endif
314+ endif !BUILD_ARMASM_INLINE
315+ else
316+ if BUILD_ARMASM
317+ src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/port/arm/armv8-sha256.c
318+ if BUILD_ARMASM_INLINE
319+ src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/port/arm/thumb2-sha256-asm_c.c
320+ else
321+ src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/port/arm/thumb2-sha256-asm.S
322+ endif !BUILD_ARMASM_INLINE
293323else
294324if BUILD_INTELASM
295325src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/sha256_asm.S
296- endif
297- endif
326+ endif BUILD_INTELASM
327+ endif !BUILD_ARMASM
328+ endif !BUILD_ARMASM_NEON
298329endif !BUILD_FIPS_CURRENT
299330
300331if BUILD_AFALG
@@ -370,15 +401,19 @@ endif
370401if !BUILD_FIPS_CURRENT
371402if BUILD_AES
372403src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/aes.c
373- if BUILD_ARMASM
404+ if BUILD_ARMASM_NEON
374405src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/port/arm/armv8-aes.c
375406if !BUILD_ARMASM_CRYPTO
407+ if BUILD_ARMASM_INLINE
408+ src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/port/arm/armv8-32-aes-asm_c.c
409+ else
376410src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/port/arm/armv8-32-aes-asm.S
411+ endif !BUILD_ARMASM_INLINE
377412endif !BUILD_ARMASM_CRYPTO
378- endif BUILD_ARMASM
413+ endif BUILD_ARMASM_NEON
379414if BUILD_AFALG
380415src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/port/af_alg/afalg_aes.c
381- endif
416+ endif BUILD_AFALG
382417endif BUILD_AES
383418endif !BUILD_FIPS_CURRENT
384419
@@ -402,34 +437,43 @@ endif !BUILD_FIPS_CURRENT
402437
403438if !BUILD_FIPS_CURRENT
404439if BUILD_SHA512
405- if BUILD_ARMASM
440+ if BUILD_ARMASM_NEON
406441src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/port/arm/armv8-sha512.c
407442if BUILD_ARMASM_INLINE
408443src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/port/arm/armv8-sha512-asm_c.c
409444src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/port/arm/armv8-32-sha512-asm_c.c
410445else
411446src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/port/arm/armv8-sha512-asm.S
412447src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/port/arm/armv8-32-sha512-asm.S
413- endif
448+ endif !BUILD_ARMASM_INLINE
449+ else
450+ if BUILD_ARMASM
451+ src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/port/arm/armv8-sha512.c
452+ if BUILD_ARMASM_INLINE
453+ src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/port/arm/thumb2-sha512-asm_c.c
454+ else
455+ src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/port/arm/thumb2-sha512-asm.S
456+ endif !BUILD_ARMASM_INLINE
414457else
415458src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/sha512.c
416459if BUILD_INTELASM
417460src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/sha512_asm.S
418- endif
419- endif
420- endif
461+ endif BUILD_INTELASM
462+ endif !BUILD_ARMASM
463+ endif !BUILD_ARMASM_NEON
464+ endif BUILD_SHA512
421465endif !BUILD_FIPS_CURRENT
422466
423467if !BUILD_FIPS_CURRENT
424468if BUILD_SHA3
425469src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/sha3.c
426- if BUILD_ARMASM
470+ if BUILD_ARMASM_NEON
427471if BUILD_ARMASM_INLINE
428472src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/port/arm/armv8-sha3-asm_c.c
429473else
430474src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/port/arm/armv8-sha3-asm.S
431- endif
432- endif
475+ endif !BUILD_ARMASM_INLINE
476+ endif BUILD_ARMASM_NEON
433477if BUILD_INTELASM
434478src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/sha3_asm.S
435479endif
@@ -569,7 +613,7 @@ src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/blake2s.c
569613endif
570614
571615if BUILD_CHACHA
572- if BUILD_ARMASM
616+ if BUILD_ARMASM_NEON
573617src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/port/arm/armv8-chacha.c
574618else
575619src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/chacha.c
@@ -637,19 +681,29 @@ if BUILD_INTELASM
637681src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/fe_x25519_asm.S
638682else
639683if BUILD_ARMASM
684+ if BUILD_ARMASM_NEON
640685if BUILD_ARMASM_INLINE
641686src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/port/arm/armv8-32-curve25519_c.c
642687src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/port/arm/armv8-curve25519_c.c
643688else
644689src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/port/arm/armv8-32-curve25519.S
645690src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/port/arm/armv8-curve25519.S
646- endif
691+ endif !BUILD_ARMASM_INLINE
692+ else
693+ if BUILD_ARMASM_INLINE
694+ src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/port/arm/thumb2-curve25519_c.c
695+ src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/port/arm/armv8-curve25519_c.c
696+ else
697+ src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/port/arm/thumb2-curve25519.S
698+ src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/port/arm/armv8-curve25519.S
699+ endif !BUILD_ARMASM_INLINE
700+ endif !BUILD_ARMASM_NEON
647701else
648702src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/fe_operations.c
649- endif
650- endif
651- endif
652- endif
703+ endif !BUILD_ARMASM
704+ endif !BUILD_INTELASM
705+ endif !BUILD_CURVE25519_SMALL
706+ endif BUILD_FEMATH
653707
654708if BUILD_GEMATH
655709if BUILD_ED25519_SMALL
@@ -661,12 +715,22 @@ if BUILD_INTELASM
661715src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/fe_x25519_asm.S
662716else
663717if BUILD_ARMASM
718+ if BUILD_ARMASM_NEON
664719if BUILD_ARMASM_INLINE
665720src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/port/arm/armv8-curve25519_c.c
666721else
667722src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/port/arm/armv8-curve25519.S
668723endif
669724else
725+ if BUILD_ARMASM_INLINE
726+ src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/port/arm/thumb2-curve25519_c.c
727+ src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/port/arm/armv8-curve25519_c.c
728+ else
729+ src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/port/arm/thumb2-curve25519.S
730+ src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/port/arm/armv8-curve25519.S
731+ endif
732+ endif
733+ else
670734src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/fe_operations.c
671735endif
672736endif
0 commit comments