@@ -207,6 +207,7 @@ ENSUREPIP= @ENSUREPIP@
207
207
# Internal static libraries
208
208
LIBMPDEC_A= Modules/_decimal/libmpdec/libmpdec.a
209
209
LIBEXPAT_A= Modules/expat/libexpat.a
210
+ LIBHACL_A= Modules/_hacl/libHacl_Streaming_SHA2.a
210
211
211
212
# Module state, compiler flags and linker flags
212
213
# Empty CFLAGS and LDFLAGS are omitted.
@@ -571,6 +572,23 @@ LIBEXPAT_HEADERS= \
571
572
Modules/expat/xmltok.h \
572
573
Modules/expat/xmltok_impl.h
573
574
575
+ ##########################################################################
576
+ # hashlib's HACL* library
577
+
578
+ LIBHACL_OBJS= \
579
+ Modules/_hacl/Hacl_Streaming_SHA2.o
580
+
581
+ LIBHACL_HEADERS= \
582
+ Modules/_hacl/Hacl_Streaming_SHA2.h \
583
+ Modules/_hacl/include/krml/FStar_UInt128_Verified.h \
584
+ Modules/_hacl/include/krml/FStar_UInt_8_16_32_64.h \
585
+ Modules/_hacl/include/krml/fstar_uint128_struct_endianness.h \
586
+ Modules/_hacl/include/krml/internal/target.h \
587
+ Modules/_hacl/include/krml/lowstar_endianness.h \
588
+ Modules/_hacl/include/krml/types.h \
589
+ Modules/_hacl/internal/Hacl_SHA2_Generic.h \
590
+ Modules/_hacl/python_hacl_namespaces.h
591
+
574
592
#########################################################################
575
593
# Rules
576
594
@@ -890,6 +908,17 @@ $(LIBEXPAT_A): $(LIBEXPAT_OBJS)
890
908
-rm -f $@
891
909
$(AR) $(ARFLAGS) $@ $(LIBEXPAT_OBJS)
892
910
911
+ ##########################################################################
912
+ # Build HACL* static libraries for hashlib: libHacl_Streaming_SHA2.a
913
+ LIBHACL_CFLAGS=-I$(srcdir)/Modules/_hacl/include -D_BSD_SOURCE -D_DEFAULT_SOURCE $(PY_STDMODULE_CFLAGS) $(CCSHARED)
914
+
915
+ Modules/_hacl/Hacl_Streaming_SHA2.o: $(srcdir)/Modules/_hacl/Hacl_Streaming_SHA2.c $(LIBHACL_HEADERS)
916
+ $(CC) -c $(LIBHACL_CFLAGS) -o $@ $(srcdir)/Modules/_hacl/Hacl_Streaming_SHA2.c
917
+
918
+ $(LIBHACL_A): $(LIBHACL_OBJS)
919
+ -rm -f $@
920
+ $(AR) $(ARFLAGS) $@ $(LIBHACL_OBJS)
921
+
893
922
# create relative links from build/lib.platform/egg.so to Modules/egg.so
894
923
# pybuilddir.txt is created too late. We cannot use it in Makefile
895
924
# targets. ln --relative is not portable.
@@ -2606,9 +2635,9 @@ MODULE__HASHLIB_DEPS=$(srcdir)/Modules/hashlib.h
2606
2635
MODULE__IO_DEPS=$(srcdir)/Modules/_io/_iomodule.h
2607
2636
MODULE__MD5_DEPS=$(srcdir)/Modules/hashlib.h
2608
2637
MODULE__SHA1_DEPS=$(srcdir)/Modules/hashlib.h
2609
- MODULE__SHA256_DEPS=$(srcdir)/Modules/hashlib.h $(srcdir)/Modules/_hacl/include/krml/FStar_UInt_8_16_32_64.h $(srcdir)/Modules/_hacl/include/krml/lowstar_endianness.h $(srcdir)/Modules/_hacl/include/krml/internal/target.h $(srcdir)/Modules/_hacl/Hacl_Streaming_SHA2.h
2638
+ MODULE__SHA256_DEPS=$(srcdir)/Modules/hashlib.h $(LIBHACL_HEADERS) $(LIBHACL_A)
2610
2639
MODULE__SHA3_DEPS=$(srcdir)/Modules/_sha3/sha3.c $(srcdir)/Modules/_sha3/sha3.h $(srcdir)/Modules/hashlib.h
2611
- MODULE__SHA512_DEPS=$(srcdir)/Modules/hashlib.h $(srcdir)/Modules/_hacl/include/krml/FStar_UInt_8_16_32_64.h $(srcdir)/Modules/_hacl/include/krml/lowstar_endianness.h $(srcdir)/Modules/_hacl/include/krml/internal/target.h $(srcdir)/Modules/_hacl/Hacl_Streaming_SHA2.h
2640
+ MODULE__SHA512_DEPS=$(srcdir)/Modules/hashlib.h $(LIBHACL_HEADERS) $(LIBHACL_A)
2612
2641
MODULE__SOCKET_DEPS=$(srcdir)/Modules/socketmodule.h $(srcdir)/Modules/addrinfo.h $(srcdir)/Modules/getaddrinfo.c $(srcdir)/Modules/getnameinfo.c
2613
2642
MODULE__SSL_DEPS=$(srcdir)/Modules/_ssl.h $(srcdir)/Modules/_ssl/cert.c $(srcdir)/Modules/_ssl/debughelpers.c $(srcdir)/Modules/_ssl/misc.c $(srcdir)/Modules/_ssl_data.h $(srcdir)/Modules/_ssl_data_111.h $(srcdir)/Modules/_ssl_data_300.h $(srcdir)/Modules/socketmodule.h
2614
2643
MODULE__TESTCAPI_DEPS=$(srcdir)/Modules/_testcapi/testcapi_long.h $(srcdir)/Modules/_testcapi/parts.h
0 commit comments