@@ -221,6 +221,11 @@ ENSUREPIP= @ENSUREPIP@
221
221
LIBMPDEC_A= Modules/_decimal/libmpdec/libmpdec.a
222
222
LIBEXPAT_A= Modules/expat/libexpat.a
223
223
LIBHACL_SHA2_A= Modules/_hacl/libHacl_Hash_SHA2.a
224
+ LIBHACL_BLAKE2_A= Modules/_hacl/libHacl_Hash_Blake2.a
225
+ LIBHACL_SIMD128_FLAGS=@LIBHACL_SIMD128_FLAGS@
226
+ LIBHACL_SIMD256_FLAGS=@LIBHACL_SIMD256_FLAGS@
227
+ LIBHACL_SIMD128_OBJS=@LIBHACL_SIMD128_OBJS@
228
+ LIBHACL_SIMD256_OBJS=@LIBHACL_SIMD256_OBJS@
224
229
225
230
# Module state, compiler flags and linker flags
226
231
# Empty CFLAGS and LDFLAGS are omitted.
@@ -646,6 +651,13 @@ LIBEXPAT_HEADERS= \
646
651
LIBHACL_SHA2_OBJS= \
647
652
Modules/_hacl/Hacl_Hash_SHA2.o
648
653
654
+ LIBHACL_BLAKE2_OBJS= \
655
+ Modules/_hacl/Hacl_Hash_Blake2s.o \
656
+ Modules/_hacl/Hacl_Hash_Blake2b.o \
657
+ Modules/_hacl/Lib_Memzero0.o \
658
+ $(LIBHACL_SIMD128_OBJS) \
659
+ $(LIBHACL_SIMD256_OBJS)
660
+
649
661
LIBHACL_HEADERS= \
650
662
Modules/_hacl/include/krml/FStar_UInt128_Verified.h \
651
663
Modules/_hacl/include/krml/FStar_UInt_8_16_32_64.h \
@@ -661,6 +673,18 @@ LIBHACL_SHA2_HEADERS= \
661
673
Modules/_hacl/internal/Hacl_Hash_SHA2.h \
662
674
$(LIBHACL_HEADERS)
663
675
676
+ LIBHACL_BLAKE2_HEADERS= \
677
+ Modules/_hacl/Hacl_Hash_Blake2b.h \
678
+ Modules/_hacl/Hacl_Hash_Blake2s.h \
679
+ Modules/_hacl/Hacl_Hash_Blake2s_Simd128.h \
680
+ Modules/_hacl/Hacl_Hash_Blake2b_Simd256.h \
681
+ Modules/_hacl/internal/Hacl_Hash_Blake2b.h \
682
+ Modules/_hacl/internal/Hacl_Hash_Blake2s.h \
683
+ Modules/_hacl/internal/Hacl_Impl_Blake2_Constants.h \
684
+ Modules/_hacl/internal/Hacl_Hash_Blake2s_Simd128.h \
685
+ Modules/_hacl/internal/Hacl_Hash_Blake2b_Simd256.h \
686
+ $(LIBHACL_HEADERS)
687
+
664
688
#########################################################################
665
689
# Rules
666
690
@@ -840,7 +864,7 @@ coverage-lcov:
840
864
@ # remove 3rd party modules, system headers and internal files with
841
865
@ # debug, test or dummy functions.
842
866
@lcov $(COVERAGE_LCOV_OPTIONS) --remove $(COVERAGE_INFO) \
843
- '*/Modules/_blake2/impl /*' \
867
+ '*/Modules/_hacl /*' \
844
868
'*/Modules/_ctypes/libffi*/*' \
845
869
'*/Modules/_decimal/libmpdec/*' \
846
870
'*/Modules/expat/*' \
@@ -870,7 +894,7 @@ coverage-report: regen-token regen-frozen
870
894
871
895
# Run "Argument Clinic" over all source files
872
896
.PHONY: clinic
873
- clinic: check-clean-src $(srcdir)/Modules/_blake2/blake2s_impl.c
897
+ clinic: check-clean-src
874
898
$(PYTHON_FOR_REGEN) $(srcdir)/Tools/clinic/clinic.py --make --exclude Lib/test/clinic.test.c --srcdir $(srcdir)
875
899
876
900
.PHONY: clinic-tests
@@ -900,11 +924,6 @@ pybuilddir.txt: $(PYTHON_FOR_BUILD_DEPS)
900
924
exit 1 ; \
901
925
fi
902
926
903
- # blake2s is auto-generated from blake2b
904
- $(srcdir)/Modules/_blake2/blake2s_impl.c: $(srcdir)/Modules/_blake2/blake2b_impl.c $(srcdir)/Modules/_blake2/blake2b2s.py
905
- $(PYTHON_FOR_REGEN) $(srcdir)/Modules/_blake2/blake2b2s.py
906
- $(PYTHON_FOR_REGEN) $(srcdir)/Tools/clinic/clinic.py -f $@
907
-
908
927
# Build static library
909
928
$(LIBRARY): $(LIBRARY_OBJS)
910
929
-rm -f $@
@@ -1346,8 +1365,10 @@ $(LIBEXPAT_A): $(LIBEXPAT_OBJS)
1346
1365
$(AR) $(ARFLAGS) $@ $(LIBEXPAT_OBJS)
1347
1366
1348
1367
##########################################################################
1349
- # Build HACL* static libraries for hashlib: libHacl_Hash_SHA2.a
1350
- LIBHACL_CFLAGS=-I$(srcdir)/Modules/_hacl/include -D_BSD_SOURCE -D_DEFAULT_SOURCE $(PY_STDMODULE_CFLAGS) $(CCSHARED)
1368
+ # Build HACL* static libraries for hashlib: libHacl_Hash_SHA2.a, and
1369
+ # libHacl_Blake2.a -- the contents of the latter vary depending on whether we
1370
+ # have the ability to compile vectorized versions
1371
+ LIBHACL_CFLAGS=-I$(srcdir)/Modules/_hacl -I$(srcdir)/Modules/_hacl/include -D_BSD_SOURCE -D_DEFAULT_SOURCE $(PY_STDMODULE_CFLAGS) $(CCSHARED)
1351
1372
1352
1373
Modules/_hacl/Hacl_Hash_SHA2.o: $(srcdir)/Modules/_hacl/Hacl_Hash_SHA2.c $(LIBHACL_SHA2_HEADERS)
1353
1374
$(CC) -c $(LIBHACL_CFLAGS) -o $@ $(srcdir)/Modules/_hacl/Hacl_Hash_SHA2.c
@@ -1356,6 +1377,25 @@ $(LIBHACL_SHA2_A): $(LIBHACL_SHA2_OBJS)
1356
1377
-rm -f $@
1357
1378
$(AR) $(ARFLAGS) $@ $(LIBHACL_SHA2_OBJS)
1358
1379
1380
+ Modules/_hacl/Hacl_Hash_Blake2s.o: $(srcdir)/Modules/_hacl/Hacl_Hash_Blake2s.c $(LIBHACL_BLAKE2_HEADERS)
1381
+ $(CC) -c $(LIBHACL_CFLAGS) -o $@ $(srcdir)/Modules/_hacl/Hacl_Hash_Blake2s.c
1382
+
1383
+ Modules/_hacl/Hacl_Hash_Blake2b.o: $(srcdir)/Modules/_hacl/Hacl_Hash_Blake2b.c $(LIBHACL_BLAKE2_HEADERS)
1384
+ $(CC) -c $(LIBHACL_CFLAGS) -o $@ $(srcdir)/Modules/_hacl/Hacl_Hash_Blake2b.c
1385
+
1386
+ Modules/_hacl/Hacl_Hash_Blake2s_Simd128.o: $(srcdir)/Modules/_hacl/Hacl_Hash_Blake2s_Simd128.c $(LIBHACL_BLAKE2_HEADERS)
1387
+ $(CC) -c $(LIBHACL_CFLAGS) $(LIBHACL_SIMD128_FLAGS) -DHACL_CAN_COMPILE_VEC128 -o $@ $(srcdir)/Modules/_hacl/Hacl_Hash_Blake2s_Simd128.c
1388
+
1389
+ Modules/_hacl/Hacl_Hash_Blake2b_Simd256.o: $(srcdir)/Modules/_hacl/Hacl_Hash_Blake2b_Simd256.c $(LIBHACL_BLAKE2_HEADERS)
1390
+ $(CC) -c $(LIBHACL_CFLAGS) $(LIBHACL_SIMD256_FLAGS) -DHACL_CAN_COMPILE_VEC256 -o $@ $(srcdir)/Modules/_hacl/Hacl_Hash_Blake2b_Simd256.c
1391
+
1392
+ Modules/_hacl/Lib_Memzero0.o: $(srcdir)/Modules/_hacl/Lib_Memzero0.c $(LIBHACL_BLAKE2_HEADERS)
1393
+ $(CC) -c $(LIBHACL_CFLAGS) -o $@ $(srcdir)/Modules/_hacl/Lib_Memzero0.c
1394
+
1395
+ $(LIBHACL_BLAKE2_A): $(LIBHACL_BLAKE2_OBJS)
1396
+ -rm -f $@
1397
+ $(AR) $(ARFLAGS) $@ $(LIBHACL_BLAKE2_OBJS)
1398
+
1359
1399
# create relative links from build/lib.platform/egg.so to Modules/egg.so
1360
1400
# pybuilddir.txt is created too late. We cannot use it in Makefile
1361
1401
# targets. ln --relative is not portable.
@@ -3136,18 +3176,18 @@ MODULE_CMATH_DEPS=$(srcdir)/Modules/_math.h
3136
3176
MODULE_MATH_DEPS=$(srcdir)/Modules/_math.h
3137
3177
MODULE_PYEXPAT_DEPS=@LIBEXPAT_INTERNAL@
3138
3178
MODULE_UNICODEDATA_DEPS=$(srcdir)/Modules/unicodedata_db.h $(srcdir)/Modules/unicodename_db.h
3139
- MODULE__BLAKE2_DEPS=$(srcdir)/Modules/_blake2/impl/blake2-config.h $(srcdir)/Modules/_blake2/impl/blake2-impl.h $(srcdir)/Modules/_blake2/impl/blake2.h $(srcdir)/Modules/_blake2/impl/blake2b-load-sse2.h $(srcdir)/Modules/_blake2/impl/blake2b-load-sse41.h $(srcdir)/Modules/_blake2/impl/blake2b-ref.c $(srcdir)/Modules/_blake2/impl/blake2b-round.h $(srcdir)/Modules/_blake2/impl/blake2b.c $(srcdir)/Modules/_blake2/impl/blake2s-load-sse2.h $(srcdir)/Modules/_blake2/impl/blake2s-load-sse41.h $(srcdir)/Modules/_blake2/impl/blake2s-load-xop.h $(srcdir)/Modules/_blake2/impl/blake2s-ref.c $(srcdir)/Modules/_blake2/impl/blake2s-round.h $(srcdir)/Modules/_blake2/impl/blake2s.c $(srcdir)/Modules/_blake2/blake2module.h $(srcdir)/Modules/hashlib.h
3140
3179
MODULE__CTYPES_DEPS=$(srcdir)/Modules/_ctypes/ctypes.h $(srcdir)/Modules/_complex.h
3141
3180
MODULE__CTYPES_TEST_DEPS=$(srcdir)/Modules/_ctypes/_ctypes_test_generated.c.h
3142
3181
MODULE__CTYPES_MALLOC_CLOSURE=@MODULE__CTYPES_MALLOC_CLOSURE@
3143
3182
MODULE__DECIMAL_DEPS=$(srcdir)/Modules/_decimal/docstrings.h @LIBMPDEC_INTERNAL@
3144
3183
MODULE__ELEMENTTREE_DEPS=$(srcdir)/Modules/pyexpat.c @LIBEXPAT_INTERNAL@
3145
3184
MODULE__HASHLIB_DEPS=$(srcdir)/Modules/hashlib.h
3146
3185
MODULE__IO_DEPS=$(srcdir)/Modules/_io/_iomodule.h
3147
- MODULE__MD5_DEPS=$(srcdir)/Modules/hashlib.h $(LIBHACL_HEADERS) Modules/_hacl/Hacl_Hash_MD5.h Modules/_hacl/Hacl_Hash_MD5.c
3148
- MODULE__SHA1_DEPS=$(srcdir)/Modules/hashlib.h $(LIBHACL_HEADERS) Modules/_hacl/Hacl_Hash_SHA1.h Modules/_hacl/Hacl_Hash_SHA1.c
3186
+ MODULE__MD5_DEPS=$(srcdir)/Modules/hashlib.h $(LIBHACL_HEADERS) Modules/_hacl/Hacl_Hash_MD5.h Modules/_hacl/internal/Hacl_Hash_MD5.h Modules/_hacl/ Hacl_Hash_MD5.c
3187
+ MODULE__SHA1_DEPS=$(srcdir)/Modules/hashlib.h $(LIBHACL_HEADERS) Modules/_hacl/Hacl_Hash_SHA1.h Modules/_hacl/internal/Hacl_Hash_SHA1.h Modules/_hacl/ Hacl_Hash_SHA1.c
3149
3188
MODULE__SHA2_DEPS=$(srcdir)/Modules/hashlib.h $(LIBHACL_SHA2_HEADERS) $(LIBHACL_SHA2_A)
3150
- MODULE__SHA3_DEPS=$(srcdir)/Modules/hashlib.h $(LIBHACL_HEADERS) Modules/_hacl/Hacl_Hash_SHA3.h Modules/_hacl/Hacl_Hash_SHA3.c
3189
+ MODULE__SHA3_DEPS=$(srcdir)/Modules/hashlib.h $(LIBHACL_HEADERS) Modules/_hacl/Hacl_Hash_SHA3.h Modules/_hacl/internal/Hacl_Hash_SHA3.h Modules/_hacl/Hacl_Hash_SHA3.c
3190
+ MODULE__BLAKE2_DEPS=$(srcdir)/Modules/hashlib.h $(LIBHACL_BLAKE2_HEADERS) $(LIBHACL_BLAKE2_A)
3151
3191
MODULE__SOCKET_DEPS=$(srcdir)/Modules/socketmodule.h $(srcdir)/Modules/addrinfo.h $(srcdir)/Modules/getaddrinfo.c $(srcdir)/Modules/getnameinfo.c
3152
3192
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_111.h $(srcdir)/Modules/_ssl_data_300.h $(srcdir)/Modules/socketmodule.h
3153
3193
MODULE__TESTCAPI_DEPS=$(srcdir)/Modules/_testcapi/parts.h $(srcdir)/Modules/_testcapi/util.h
0 commit comments