@@ -728,7 +728,6 @@ LIBHACL_BLAKE2_HEADERS= \
728728 Modules/_hacl/internal/Hacl_Impl_Blake2_Constants.h \
729729 Modules/_hacl/internal/Hacl_Hash_Blake2s_Simd128.h \
730730 Modules/_hacl/internal/Hacl_Hash_Blake2b_Simd256.h \
731- Modules/_hacl/internal/Hacl_Streaming_Types.h \
732731 $(LIBHACL_HEADERS)
733732
734733LIBHACL_HMAC_HEADERS= \
@@ -1459,51 +1458,52 @@ $(LIBEXPAT_A): $(LIBEXPAT_OBJS)
14591458##########################################################################
14601459# Build HACL* static libraries for hashlib and HACL* HMAC.
14611460#
1462- # The contents of libHacl_Blake2.a vary depending on whether we
1463- # have the ability to compile vectorized versions.
1464- #
14651461# The HACL* modules are dynamically compiled and linked with the
14661462# corresponding CPython built-in modules on demand, depending on
1467- # whether the module is built or not. Since HMAC however requires
1468- # them to be built, we need rules that are always enabled and that
1469- # are not overwritten by those automatically deduced by makesetup.
1463+ # whether the module is built or not.
1464+ #
1465+ # In particular, the HACL* objects are also dependencies of the
1466+ # corresponding C extension modules and are indicated by defining
1467+ # the MODULE_<NAME>_LIBDEPS variable.
14701468
1469+ Modules/_hacl/Lib_Memzero0.o: $(srcdir)/Modules/_hacl/Lib_Memzero0.c $(LIBHACL_HEADERS)
1470+ $(CC) -c $(LIBHACL_CFLAGS) -o $@ $(srcdir)/Modules/_hacl/Lib_Memzero0.c
1471+
1472+ MODULE__MD5_LIBDEPS=$(LIBHACL_MD5_OBJS)
14711473Modules/_hacl/Hacl_Hash_MD5.o: $(srcdir)/Modules/_hacl/Hacl_Hash_MD5.c $(LIBHACL_MD5_HEADERS)
14721474 $(CC) -c $(LIBHACL_CFLAGS) -o $@ $(srcdir)/Modules/_hacl/Hacl_Hash_MD5.c
14731475
1476+ MODULE__SHA1_LIBDEPS=$(LIBHACL_SHA1_OBJS)
14741477Modules/_hacl/Hacl_Hash_SHA1.o: $(srcdir)/Modules/_hacl/Hacl_Hash_SHA1.c $(LIBHACL_SHA1_HEADERS)
14751478 $(CC) -c $(LIBHACL_CFLAGS) -o $@ $(srcdir)/Modules/_hacl/Hacl_Hash_SHA1.c
14761479
1480+ MODULE__SHA2_LIBDEPS=$(LIBHACL_SHA2_OBJS)
14771481Modules/_hacl/Hacl_Hash_SHA2.o: $(srcdir)/Modules/_hacl/Hacl_Hash_SHA2.c $(LIBHACL_SHA2_HEADERS)
14781482 $(CC) -c $(LIBHACL_CFLAGS) -o $@ $(srcdir)/Modules/_hacl/Hacl_Hash_SHA2.c
14791483
1484+ MODULE__SHA3_LIBDEPS=$(LIBHACL_SHA3_OBJS)
14801485Modules/_hacl/Hacl_Hash_SHA3.o: $(srcdir)/Modules/_hacl/Hacl_Hash_SHA3.c $(LIBHACL_SHA3_HEADERS)
14811486 $(CC) -c $(LIBHACL_CFLAGS) -o $@ $(srcdir)/Modules/_hacl/Hacl_Hash_SHA3.c
14821487
1488+ MODULE__BLAKE2_LIBDEPS=$(LIBHACL_BLAKE2_OBJS)
14831489Modules/_hacl/Hacl_Hash_Blake2s.o: $(srcdir)/Modules/_hacl/Hacl_Hash_Blake2s.c $(LIBHACL_BLAKE2_HEADERS)
14841490 $(CC) -c $(LIBHACL_CFLAGS) -o $@ $(srcdir)/Modules/_hacl/Hacl_Hash_Blake2s.c
1485-
14861491Modules/_hacl/Hacl_Hash_Blake2b.o: $(srcdir)/Modules/_hacl/Hacl_Hash_Blake2b.c $(LIBHACL_BLAKE2_HEADERS)
14871492 $(CC) -c $(LIBHACL_CFLAGS) -o $@ $(srcdir)/Modules/_hacl/Hacl_Hash_Blake2b.c
1488-
14891493Modules/_hacl/Hacl_Hash_Blake2s_Simd128.o: $(srcdir)/Modules/_hacl/Hacl_Hash_Blake2s_Simd128.c $(LIBHACL_BLAKE2_HEADERS)
14901494 $(CC) -c $(LIBHACL_CFLAGS) $(LIBHACL_SIMD128_FLAGS) -DHACL_CAN_COMPILE_VEC128 -o $@ $(srcdir)/Modules/_hacl/Hacl_Hash_Blake2s_Simd128.c
1491-
14921495Modules/_hacl/Hacl_Hash_Blake2s_Simd128_universal2.o: $(srcdir)/Modules/_hacl/Hacl_Hash_Blake2s_Simd128_universal2.c $(LIBHACL_BLAKE2_HEADERS)
14931496 $(CC) -c $(LIBHACL_CFLAGS) $(LIBHACL_SIMD128_FLAGS) -DHACL_CAN_COMPILE_VEC128 -o $@ $(srcdir)/Modules/_hacl/Hacl_Hash_Blake2s_Simd128_universal2.c
1494-
14951497Modules/_hacl/Hacl_Hash_Blake2b_Simd256.o: $(srcdir)/Modules/_hacl/Hacl_Hash_Blake2b_Simd256.c $(LIBHACL_BLAKE2_HEADERS)
14961498 $(CC) -c $(LIBHACL_CFLAGS) $(LIBHACL_SIMD256_FLAGS) -DHACL_CAN_COMPILE_VEC256 -o $@ $(srcdir)/Modules/_hacl/Hacl_Hash_Blake2b_Simd256.c
1497-
14981499Modules/_hacl/Hacl_Hash_Blake2b_Simd256_universal2.o: $(srcdir)/Modules/_hacl/Hacl_Hash_Blake2b_Simd256_universal2.c $(LIBHACL_BLAKE2_HEADERS)
14991500 $(CC) -c $(LIBHACL_CFLAGS) $(LIBHACL_SIMD256_FLAGS) -DHACL_CAN_COMPILE_VEC256 -o $@ $(srcdir)/Modules/_hacl/Hacl_Hash_Blake2b_Simd256_universal2.c
15001501
1501- Modules/_hacl/Lib_Memzero0.o: $(srcdir)/Modules/_hacl/Lib_Memzero0.c $(LIBHACL_BLAKE2_HEADERS)
1502- $(CC) -c $(LIBHACL_CFLAGS) -o $@ $(srcdir)/Modules/_hacl/Lib_Memzero0.c
1502+ # Other cryptographic primitives
15031503
1504+ MODULE__HMAC_LIBDEPS=$(LIBHACL_HMAC_OBJS)
15041505Modules/_hacl/Hacl_HMAC.o: $(srcdir)/Modules/_hacl/Hacl_HMAC.c $(LIBHACL_HMAC_HEADERS)
15051506 $(CC) -c $(LIBHACL_CFLAGS) -o $@ $(srcdir)/Modules/_hacl/Hacl_HMAC.c
1506-
15071507Modules/_hacl/Hacl_Streaming_HMAC.o: $(srcdir)/Modules/_hacl/Hacl_Streaming_HMAC.c $(LIBHACL_HMAC_HEADERS)
15081508 $(CC) -Wno-unused-variable -c $(LIBHACL_CFLAGS) -o $@ $(srcdir)/Modules/_hacl/Hacl_Streaming_HMAC.c
15091509
0 commit comments