summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorpxinwr <peixing.xin@windriver.com>2019-04-15 09:02:20 (GMT)
committerVictor Stinner <vstinner@redhat.com>2019-04-15 09:02:20 (GMT)
commit236d0b75c41449a266201c683b4b0d6acdee02df (patch)
treee64301d83572746a0e310d4debbf27bb40cad6f3
parent2430d532e240dea55f0082d1e9bf2e0f3d7505be (diff)
downloadcpython-236d0b75c41449a266201c683b4b0d6acdee02df.zip
cpython-236d0b75c41449a266201c683b4b0d6acdee02df.tar.gz
cpython-236d0b75c41449a266201c683b4b0d6acdee02df.tar.bz2
bpo-31904: Don't build the _crypt extension on VxWorks (GH-12833)
-rw-r--r--Doc/library/crypt.rst2
-rw-r--r--Misc/NEWS.d/next/Build/2019-04-15-15-01-29.bpo-31904.38fdkg.rst1
-rw-r--r--setup.py13
3 files changed, 10 insertions, 6 deletions
diff --git a/Doc/library/crypt.rst b/Doc/library/crypt.rst
index 43d4b5b..d25c626 100644
--- a/Doc/library/crypt.rst
+++ b/Doc/library/crypt.rst
@@ -30,6 +30,8 @@ the :manpage:`crypt(3)` routine in the running system. Therefore, any
extensions available on the current implementation will also be available on
this module.
+.. availability:: Unix. Not available on VxWorks.
+
Hashing Methods
---------------
diff --git a/Misc/NEWS.d/next/Build/2019-04-15-15-01-29.bpo-31904.38fdkg.rst b/Misc/NEWS.d/next/Build/2019-04-15-15-01-29.bpo-31904.38fdkg.rst
new file mode 100644
index 0000000..c82636e
--- /dev/null
+++ b/Misc/NEWS.d/next/Build/2019-04-15-15-01-29.bpo-31904.38fdkg.rst
@@ -0,0 +1 @@
+Don't build the ``_crypt`` extension on VxWorks.
diff --git a/setup.py b/setup.py
index 30caed5..9c83914 100644
--- a/setup.py
+++ b/setup.py
@@ -973,17 +973,18 @@ class PyBuildExt(build_ext):
def detect_crypt(self):
# crypt module.
+ if VXWORKS:
+ # bpo-31904: crypt() function is not provided by VxWorks.
+ # DES_crypt() OpenSSL provides is too weak to implement
+ # the encryption.
+ return
+
if self.compiler.find_library_file(self.lib_dirs, 'crypt'):
libs = ['crypt']
else:
libs = []
- if not VXWORKS:
- self.add(Extension('_crypt', ['_cryptmodule.c'],
- libraries=libs))
- elif self.compiler.find_library_file(self.lib_dirs, 'OPENSSL'):
- libs = ['OPENSSL']
- self.add(Extension('_crypt', ['_cryptmodule.c'],
+ self.add(Extension('_crypt', ['_cryptmodule.c'],
libraries=libs))
def detect_socket(self):