mirror of
https://github.com/python/cpython.git
synced 2025-09-03 15:31:08 +00:00
Issue #14693: Under non-Windows platforms, hashlib's fallback modules are always compiled, even if OpenSSL is present at build time.
This commit is contained in:
parent
26fd8feb5e
commit
019ff19c39
3 changed files with 17 additions and 15 deletions
25
setup.py
25
setup.py
|
@ -749,20 +749,17 @@ class PyBuildExt(build_ext):
|
|||
openssl_ver)
|
||||
missing.append('_hashlib')
|
||||
|
||||
min_sha2_openssl_ver = 0x00908000
|
||||
if COMPILED_WITH_PYDEBUG or openssl_ver < min_sha2_openssl_ver:
|
||||
# OpenSSL doesn't do these until 0.9.8 so we'll bring our own hash
|
||||
exts.append( Extension('_sha256', ['sha256module.c'],
|
||||
depends=['hashlib.h']) )
|
||||
exts.append( Extension('_sha512', ['sha512module.c'],
|
||||
depends=['hashlib.h']) )
|
||||
|
||||
if COMPILED_WITH_PYDEBUG or not have_usable_openssl:
|
||||
# no openssl at all, use our own md5 and sha1
|
||||
exts.append( Extension('_md5', ['md5module.c'],
|
||||
depends=['hashlib.h']) )
|
||||
exts.append( Extension('_sha1', ['sha1module.c'],
|
||||
depends=['hashlib.h']) )
|
||||
# We always compile these even when OpenSSL is available (issue #14693).
|
||||
# It's harmless and the object code is tiny (40-50 KB per module,
|
||||
# only loaded when actually used).
|
||||
exts.append( Extension('_sha256', ['sha256module.c'],
|
||||
depends=['hashlib.h']) )
|
||||
exts.append( Extension('_sha512', ['sha512module.c'],
|
||||
depends=['hashlib.h']) )
|
||||
exts.append( Extension('_md5', ['md5module.c'],
|
||||
depends=['hashlib.h']) )
|
||||
exts.append( Extension('_sha1', ['sha1module.c'],
|
||||
depends=['hashlib.h']) )
|
||||
|
||||
# Modules that provide persistent dictionary-like semantics. You will
|
||||
# probably want to arrange for at least one of them to be available on
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue