@@ -227,8 +227,12 @@ ENSUREPIP= @ENSUREPIP@
227
227
# Internal static libraries
228
228
LIBMPDEC_A= Modules/_decimal/libmpdec/libmpdec.a
229
229
LIBEXPAT_A= Modules/expat/libexpat.a
230
+ LIBHACL_MD5_A= Modules/_hacl/libHacl_Hash_MD5.a
231
+ LIBHACL_SHA1_A= Modules/_hacl/libHacl_Hash_SHA1.a
230
232
LIBHACL_SHA2_A= Modules/_hacl/libHacl_Hash_SHA2.a
233
+ LIBHACL_SHA3_A= Modules/_hacl/libHacl_Hash_SHA3.a
231
234
LIBHACL_BLAKE2_A= Modules/_hacl/libHacl_Hash_Blake2.a
235
+ LIBHACL_HMAC_A= Modules/_hacl/libHacl_HMAC.a
232
236
LIBHACL_CFLAGS=@LIBHACL_CFLAGS@
233
237
LIBHACL_SIMD128_FLAGS=@LIBHACL_SIMD128_FLAGS@
234
238
LIBHACL_SIMD256_FLAGS=@LIBHACL_SIMD256_FLAGS@
@@ -657,29 +661,61 @@ LIBEXPAT_HEADERS= \
657
661
##########################################################################
658
662
# hashlib's HACL* library
659
663
664
+ LIBHACL_MD5_OBJS= \
665
+ Modules/_hacl/Hacl_Hash_MD5.o
666
+
667
+ LIBHACL_SHA1_OBJS= \
668
+ Modules/_hacl/Hacl_Hash_SHA1.o
669
+
660
670
LIBHACL_SHA2_OBJS= \
661
- Modules/_hacl/Hacl_Hash_SHA2.o
671
+ Modules/_hacl/Hacl_Hash_SHA2.o
672
+
673
+ LIBHACL_SHA3_OBJS= \
674
+ Modules/_hacl/Hacl_Hash_SHA3.o
662
675
663
676
LIBHACL_BLAKE2_OBJS= \
664
- Modules/_hacl/Hacl_Hash_Blake2s.o \
665
- Modules/_hacl/Hacl_Hash_Blake2b.o \
666
- Modules/_hacl/Lib_Memzero0.o \
677
+ Modules/_hacl/Hacl_Hash_Blake2s.o \
678
+ Modules/_hacl/Hacl_Hash_Blake2b.o \
679
+ Modules/_hacl/Lib_Memzero0.o \
667
680
$(LIBHACL_SIMD128_OBJS) \
668
681
$(LIBHACL_SIMD256_OBJS)
669
682
683
+ LIBHACL_HMAC_OBJS= \
684
+ Modules/_hacl/Hacl_HMAC.o \
685
+ $(LIBHACL_MD5_OBJS) \
686
+ $(LIBHACL_SHA1_OBJS) \
687
+ $(LIBHACL_SHA2_OBJS) \
688
+ $(LIBHACL_SHA3_OBJS) \
689
+ $(LIBHACL_BLAKE2_OBJS)
690
+
670
691
LIBHACL_HEADERS= \
671
- Modules/_hacl/include/krml/FStar_UInt128_Verified.h \
672
- Modules/_hacl/include/krml/FStar_UInt_8_16_32_64.h \
673
- Modules/_hacl/include/krml/fstar_uint128_struct_endianness.h \
674
- Modules/_hacl/include/krml/internal/target.h \
675
- Modules/_hacl/include/krml/lowstar_endianness.h \
676
- Modules/_hacl/include/krml/types.h \
692
+ Modules/_hacl/include/krml/FStar_UInt128_Verified.h \
693
+ Modules/_hacl/include/krml/FStar_UInt_8_16_32_64.h \
694
+ Modules/_hacl/include/krml/fstar_uint128_struct_endianness.h \
695
+ Modules/_hacl/include/krml/internal/target.h \
696
+ Modules/_hacl/include/krml/lowstar_endianness.h \
697
+ Modules/_hacl/include/krml/types.h \
677
698
Modules/_hacl/Hacl_Streaming_Types.h \
678
- Modules/_hacl/python_hacl_namespaces.h
699
+ Modules/_hacl/python_hacl_namespaces.h
700
+
701
+ LIBHACL_MD5_HEADERS= \
702
+ Modules/_hacl/Hacl_Hash_MD5.h \
703
+ Modules/_hacl/internal/Hacl_Hash_MD5.h \
704
+ $(LIBHACL_HEADERS)
705
+
706
+ LIBHACL_SHA1_HEADERS= \
707
+ Modules/_hacl/Hacl_Hash_SHA1.h \
708
+ Modules/_hacl/internal/Hacl_Hash_SHA1.h \
709
+ $(LIBHACL_HEADERS)
679
710
680
711
LIBHACL_SHA2_HEADERS= \
681
- Modules/_hacl/Hacl_Hash_SHA2.h \
682
- Modules/_hacl/internal/Hacl_Hash_SHA2.h \
712
+ Modules/_hacl/Hacl_Hash_SHA2.h \
713
+ Modules/_hacl/internal/Hacl_Hash_SHA2.h \
714
+ $(LIBHACL_HEADERS)
715
+
716
+ LIBHACL_SHA3_HEADERS= \
717
+ Modules/_hacl/Hacl_Hash_SHA3.h \
718
+ Modules/_hacl/internal/Hacl_Hash_SHA3.h \
683
719
$(LIBHACL_HEADERS)
684
720
685
721
LIBHACL_BLAKE2_HEADERS= \
@@ -694,6 +730,16 @@ LIBHACL_BLAKE2_HEADERS= \
694
730
Modules/_hacl/internal/Hacl_Hash_Blake2b_Simd256.h \
695
731
$(LIBHACL_HEADERS)
696
732
733
+ LIBHACL_HMAC_HEADERS= \
734
+ Modules/_hacl/Hacl_HMAC.h \
735
+ Modules/_hacl/internal/Hacl_HMAC.h \
736
+ $(LIBHACL_MD5_HEADERS) \
737
+ $(LIBHACL_SHA1_HEADERS) \
738
+ $(LIBHACL_SHA2_HEADERS) \
739
+ $(LIBHACL_SHA3_HEADERS) \
740
+ $(LIBHACL_BLAKE2_HEADERS) \
741
+ $(LIBHACL_HEADERS)
742
+
697
743
#########################################################################
698
744
# Rules
699
745
@@ -1377,17 +1423,39 @@ $(LIBEXPAT_A): $(LIBEXPAT_OBJS)
1377
1423
$(AR) $(ARFLAGS) $@ $(LIBEXPAT_OBJS)
1378
1424
1379
1425
##########################################################################
1380
- # Build HACL* static libraries for hashlib: libHacl_Hash_SHA2.a, and
1381
- # libHacl_Blake2.a -- the contents of the latter vary depending on whether we
1426
+ # Build HACL* static libraries for hashlib and HACL* HMAC.
1427
+ #
1428
+ # The contents of libHacl_Blake2.a vary depending on whether we
1382
1429
# have the ability to compile vectorized versions
1383
1430
1431
+ Modules/_hacl/Hacl_Hash_MD5.o: $(srcdir)/Modules/_hacl/Hacl_Hash_MD5.c $(LIBHACL_MD5_HEADERS)
1432
+ $(CC) -c $(LIBHACL_CFLAGS) -o $@ $(srcdir)/Modules/_hacl/Hacl_Hash_MD5.c
1433
+
1434
+ $(LIBHACL_MD5_A): $(LIBHACL_MD5_OBJS)
1435
+ -rm -f $@
1436
+ $(AR) $(ARFLAGS) $@ $(LIBHACL_MD5_OBJS)
1437
+
1438
+ Modules/_hacl/Hacl_Hash_SHA1.o: $(srcdir)/Modules/_hacl/Hacl_Hash_SHA1.c $(LIBHACL_SHA1_HEADERS)
1439
+ $(CC) -c $(LIBHACL_CFLAGS) -o $@ $(srcdir)/Modules/_hacl/Hacl_Hash_SHA1.c
1440
+
1441
+ $(LIBHACL_SHA1_A): $(LIBHACL_SHA1_OBJS)
1442
+ -rm -f $@
1443
+ $(AR) $(ARFLAGS) $@ $(LIBHACL_SHA1_OBJS)
1444
+
1384
1445
Modules/_hacl/Hacl_Hash_SHA2.o: $(srcdir)/Modules/_hacl/Hacl_Hash_SHA2.c $(LIBHACL_SHA2_HEADERS)
1385
1446
$(CC) -c $(LIBHACL_CFLAGS) -o $@ $(srcdir)/Modules/_hacl/Hacl_Hash_SHA2.c
1386
1447
1387
1448
$(LIBHACL_SHA2_A): $(LIBHACL_SHA2_OBJS)
1388
1449
-rm -f $@
1389
1450
$(AR) $(ARFLAGS) $@ $(LIBHACL_SHA2_OBJS)
1390
1451
1452
+ Modules/_hacl/Hacl_Hash_SHA3.o: $(srcdir)/Modules/_hacl/Hacl_Hash_SHA3.c $(LIBHACL_SHA3_HEADERS)
1453
+ $(CC) -c $(LIBHACL_CFLAGS) -o $@ $(srcdir)/Modules/_hacl/Hacl_Hash_SHA3.c
1454
+
1455
+ $(LIBHACL_SHA3_A): $(LIBHACL_SHA3_OBJS)
1456
+ -rm -f $@
1457
+ $(AR) $(ARFLAGS) $@ $(LIBHACL_SHA3_OBJS)
1458
+
1391
1459
Modules/_hacl/Hacl_Hash_Blake2s.o: $(srcdir)/Modules/_hacl/Hacl_Hash_Blake2s.c $(LIBHACL_BLAKE2_HEADERS)
1392
1460
$(CC) -c $(LIBHACL_CFLAGS) -o $@ $(srcdir)/Modules/_hacl/Hacl_Hash_Blake2s.c
1393
1461
@@ -1413,6 +1481,13 @@ $(LIBHACL_BLAKE2_A): $(LIBHACL_BLAKE2_OBJS)
1413
1481
-rm -f $@
1414
1482
$(AR) $(ARFLAGS) $@ $(LIBHACL_BLAKE2_OBJS)
1415
1483
1484
+ Modules/_hacl/Hacl_HMAC.o: $(srcdir)/Modules/_hacl/Hacl_HMAC.c $(LIBHACL_HMAC_HEADERS)
1485
+ $(CC) -c $(LIBHACL_CFLAGS) -o $@ $(srcdir)/Modules/_hacl/Hacl_HMAC.c
1486
+
1487
+ $(LIBHACL_HMAC_A): $(LIBHACL_HMAC_OBJS)
1488
+ -rm -f $@
1489
+ $(AR) $(ARFLAGS) $@ $(LIBHACL_HMAC_OBJS)
1490
+
1416
1491
# create relative links from build/lib.platform/egg.so to Modules/egg.so
1417
1492
# pybuilddir.txt is created too late. We cannot use it in Makefile
1418
1493
# targets. ln --relative is not portable.
@@ -3198,11 +3273,12 @@ MODULE__DECIMAL_DEPS=$(srcdir)/Modules/_decimal/docstrings.h @LIBMPDEC_INTERNAL@
3198
3273
MODULE__ELEMENTTREE_DEPS=$(srcdir)/Modules/pyexpat.c @LIBEXPAT_INTERNAL@
3199
3274
MODULE__HASHLIB_DEPS=$(srcdir)/Modules/hashlib.h
3200
3275
MODULE__IO_DEPS=$(srcdir)/Modules/_io/_iomodule.h
3201
- 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
3202
- 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
3276
+ MODULE__MD5_DEPS=$(srcdir)/Modules/hashlib.h $(LIBHACL_MD5_HEADERS) $(LIBHACL_MD5_A)
3277
+ MODULE__SHA1_DEPS=$(srcdir)/Modules/hashlib.h $(LIBHACL_SHA1_HEADERS) $(LIBHACL_SHA1_A)
3203
3278
MODULE__SHA2_DEPS=$(srcdir)/Modules/hashlib.h $(LIBHACL_SHA2_HEADERS) $(LIBHACL_SHA2_A)
3204
- 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
3279
+ MODULE__SHA3_DEPS=$(srcdir)/Modules/hashlib.h $(LIBHACL_SHA3_HEADERS) $(LIBHACL_SHA3_A)
3205
3280
MODULE__BLAKE2_DEPS=$(srcdir)/Modules/hashlib.h $(LIBHACL_BLAKE2_HEADERS) $(LIBHACL_BLAKE2_A)
3281
+ MODULE__HMAC_DEPS=$(srcdir)/Modules/hashlib.h $(LIBHACL_HMAC_HEADERS) $(LIBHACL_HMAC_A)
3206
3282
MODULE__SOCKET_DEPS=$(srcdir)/Modules/socketmodule.h $(srcdir)/Modules/addrinfo.h $(srcdir)/Modules/getaddrinfo.c $(srcdir)/Modules/getnameinfo.c
3207
3283
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
3208
3284
MODULE__TESTCAPI_DEPS=$(srcdir)/Modules/_testcapi/parts.h $(srcdir)/Modules/_testcapi/util.h
0 commit comments