bpo-31904: Don't build the _crypt extension on VxWorks (GH-12833)
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 @@
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 @@
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):