Skip to content

Commit 3289c65

Browse files
committed
Update Makefile scripts
1 parent ef45deb commit 3289c65

File tree

3 files changed

+108
-28
lines changed

3 files changed

+108
-28
lines changed

Makefile.pre.in

Lines changed: 94 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -227,8 +227,12 @@ ENSUREPIP= @ENSUREPIP@
227227
# Internal static libraries
228228
LIBMPDEC_A= Modules/_decimal/libmpdec/libmpdec.a
229229
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
230232
LIBHACL_SHA2_A= Modules/_hacl/libHacl_Hash_SHA2.a
233+
LIBHACL_SHA3_A= Modules/_hacl/libHacl_Hash_SHA3.a
231234
LIBHACL_BLAKE2_A= Modules/_hacl/libHacl_Hash_Blake2.a
235+
LIBHACL_HMAC_A= Modules/_hacl/libHacl_HMAC.a
232236
LIBHACL_CFLAGS=@LIBHACL_CFLAGS@
233237
LIBHACL_SIMD128_FLAGS=@LIBHACL_SIMD128_FLAGS@
234238
LIBHACL_SIMD256_FLAGS=@LIBHACL_SIMD256_FLAGS@
@@ -657,29 +661,61 @@ LIBEXPAT_HEADERS= \
657661
##########################################################################
658662
# hashlib's HACL* library
659663

664+
LIBHACL_MD5_OBJS= \
665+
Modules/_hacl/Hacl_Hash_MD5.o
666+
667+
LIBHACL_SHA1_OBJS= \
668+
Modules/_hacl/Hacl_Hash_SHA1.o
669+
660670
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
662675

663676
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 \
667680
$(LIBHACL_SIMD128_OBJS) \
668681
$(LIBHACL_SIMD256_OBJS)
669682

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+
670691
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 \
677698
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)
679710

680711
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 \
683719
$(LIBHACL_HEADERS)
684720

685721
LIBHACL_BLAKE2_HEADERS= \
@@ -694,6 +730,16 @@ LIBHACL_BLAKE2_HEADERS= \
694730
Modules/_hacl/internal/Hacl_Hash_Blake2b_Simd256.h \
695731
$(LIBHACL_HEADERS)
696732

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+
697743
#########################################################################
698744
# Rules
699745

@@ -1377,17 +1423,39 @@ $(LIBEXPAT_A): $(LIBEXPAT_OBJS)
13771423
$(AR) $(ARFLAGS) $@ $(LIBEXPAT_OBJS)
13781424

13791425
##########################################################################
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
13821429
# have the ability to compile vectorized versions
13831430

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+
13841445
Modules/_hacl/Hacl_Hash_SHA2.o: $(srcdir)/Modules/_hacl/Hacl_Hash_SHA2.c $(LIBHACL_SHA2_HEADERS)
13851446
$(CC) -c $(LIBHACL_CFLAGS) -o $@ $(srcdir)/Modules/_hacl/Hacl_Hash_SHA2.c
13861447

13871448
$(LIBHACL_SHA2_A): $(LIBHACL_SHA2_OBJS)
13881449
-rm -f $@
13891450
$(AR) $(ARFLAGS) $@ $(LIBHACL_SHA2_OBJS)
13901451

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+
13911459
Modules/_hacl/Hacl_Hash_Blake2s.o: $(srcdir)/Modules/_hacl/Hacl_Hash_Blake2s.c $(LIBHACL_BLAKE2_HEADERS)
13921460
$(CC) -c $(LIBHACL_CFLAGS) -o $@ $(srcdir)/Modules/_hacl/Hacl_Hash_Blake2s.c
13931461

@@ -1413,6 +1481,13 @@ $(LIBHACL_BLAKE2_A): $(LIBHACL_BLAKE2_OBJS)
14131481
-rm -f $@
14141482
$(AR) $(ARFLAGS) $@ $(LIBHACL_BLAKE2_OBJS)
14151483

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+
14161491
# create relative links from build/lib.platform/egg.so to Modules/egg.so
14171492
# pybuilddir.txt is created too late. We cannot use it in Makefile
14181493
# targets. ln --relative is not portable.
@@ -3198,11 +3273,12 @@ MODULE__DECIMAL_DEPS=$(srcdir)/Modules/_decimal/docstrings.h @LIBMPDEC_INTERNAL@
31983273
MODULE__ELEMENTTREE_DEPS=$(srcdir)/Modules/pyexpat.c @LIBEXPAT_INTERNAL@
31993274
MODULE__HASHLIB_DEPS=$(srcdir)/Modules/hashlib.h
32003275
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)
32033278
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)
32053280
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)
32063282
MODULE__SOCKET_DEPS=$(srcdir)/Modules/socketmodule.h $(srcdir)/Modules/addrinfo.h $(srcdir)/Modules/getaddrinfo.c $(srcdir)/Modules/getnameinfo.c
32073283
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
32083284
MODULE__TESTCAPI_DEPS=$(srcdir)/Modules/_testcapi/parts.h $(srcdir)/Modules/_testcapi/util.h

Modules/Setup

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -165,11 +165,12 @@ PYTHONPATH=$(COREPYTHONPATH)
165165
#pyexpat pyexpat.c
166166

167167
# hashing builtins
168-
#_blake2 blake2module.c -I$(srcdir)/Modules/_hacl/include Modules/_hacl/libHacl_Hash_Blake2.a
169-
#_md5 md5module.c -I$(srcdir)/Modules/_hacl/include _hacl/Hacl_Hash_MD5.c -D_BSD_SOURCE -D_DEFAULT_SOURCE
170-
#_sha1 sha1module.c -I$(srcdir)/Modules/_hacl/include _hacl/Hacl_Hash_SHA1.c -D_BSD_SOURCE -D_DEFAULT_SOURCE
171-
#_sha2 sha2module.c -I$(srcdir)/Modules/_hacl/include Modules/_hacl/libHacl_Hash_SHA2.a
172-
#_sha3 sha3module.c -I$(srcdir)/Modules/_hacl/include _hacl/Hacl_Hash_SHA3.c -D_BSD_SOURCE -D_DEFAULT_SOURCE
168+
#_blake2 blake2module.c -I$(srcdir)/Modules/_hacl/include Modules/_hacl/libHacl_Hash_Blake2.a -D_BSD_SOURCE -D_DEFAULT_SOURCE
169+
#_md5 md5module.c -I$(srcdir)/Modules/_hacl/include Modules/_hacl/libHacl_Hash_MD5.a -D_BSD_SOURCE -D_DEFAULT_SOURCE
170+
#_sha1 sha1module.c -I$(srcdir)/Modules/_hacl/include Modules/_hacl/libHacl_Hash_SHA1.a -D_BSD_SOURCE -D_DEFAULT_SOURCE
171+
#_sha2 sha2module.c -I$(srcdir)/Modules/_hacl/include Modules/_hacl/libHacl_Hash_SHA2.a -D_BSD_SOURCE -D_DEFAULT_SOURCE
172+
#_sha3 sha3module.c -I$(srcdir)/Modules/_hacl/include Modules/_hacl/libHacl_Hash_SHA3.a -D_BSD_SOURCE -D_DEFAULT_SOURCE
173+
#_hmac hmacmodule.c -I$(srcdir)/Modules/_hacl/include Modules/_hacl/libHacl_HMAC.a -D_BSD_SOURCE -D_DEFAULT_SOURCE
173174

174175
# text encodings and unicode
175176
#_codecs_cn cjkcodecs/_codecs_cn.c

Modules/Setup.stdlib.in

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -78,11 +78,14 @@
7878
@MODULE_READLINE_TRUE@readline readline.c
7979

8080
# hashing builtins, can be disabled with --without-builtin-hashlib-hashes
81-
@MODULE__MD5_TRUE@_md5 md5module.c -I$(srcdir)/Modules/_hacl/include _hacl/Hacl_Hash_MD5.c -D_BSD_SOURCE -D_DEFAULT_SOURCE
82-
@MODULE__SHA1_TRUE@_sha1 sha1module.c -I$(srcdir)/Modules/_hacl/include _hacl/Hacl_Hash_SHA1.c -D_BSD_SOURCE -D_DEFAULT_SOURCE
83-
@MODULE__SHA2_TRUE@_sha2 sha2module.c -I$(srcdir)/Modules/_hacl/include Modules/_hacl/libHacl_Hash_SHA2.a
84-
@MODULE__SHA3_TRUE@_sha3 sha3module.c -I$(srcdir)/Modules/_hacl/include _hacl/Hacl_Hash_SHA3.c -D_BSD_SOURCE -D_DEFAULT_SOURCE
85-
@MODULE__BLAKE2_TRUE@_blake2 blake2module.c -I$(srcdir)/Modules/_hacl/include Modules/_hacl/libHacl_Hash_Blake2.a
81+
@MODULE__MD5_TRUE@_md5 md5module.c -I$(srcdir)/Modules/_hacl/include Modules/_hacl/libHacl_Hash_MD5.a -D_BSD_SOURCE -D_DEFAULT_SOURCE
82+
@MODULE__SHA1_TRUE@_sha1 sha1module.c -I$(srcdir)/Modules/_hacl/include Modules/_hacl/libHacl_Hash_SHA1.a -D_BSD_SOURCE -D_DEFAULT_SOURCE
83+
@MODULE__SHA2_TRUE@_sha2 sha2module.c -I$(srcdir)/Modules/_hacl/include Modules/_hacl/libHacl_Hash_SHA2.a -D_BSD_SOURCE -D_DEFAULT_SOURCE
84+
@MODULE__SHA3_TRUE@_sha3 sha3module.c -I$(srcdir)/Modules/_hacl/include Modules/_hacl/libHacl_Hash_SHA3.a -D_BSD_SOURCE -D_DEFAULT_SOURCE
85+
@MODULE__BLAKE2_TRUE@_blake2 blake2module.c -I$(srcdir)/Modules/_hacl/include Modules/_hacl/libHacl_Hash_Blake2.a -D_BSD_SOURCE -D_DEFAULT_SOURCE
86+
87+
# HMAC builtin, can be disabled with --without-builtin-hashlib-hmac
88+
@MODULE__HMAC_TRUE@_hmac hmacmodule.c -I$(srcdir)/Modules/_hacl/include Modules/_hacl/libHacl_HMAC.a -D_BSD_SOURCE -D_DEFAULT_SOURCE
8689

8790
############################################################################
8891
# XML and text

0 commit comments

Comments
 (0)