bpo-31904: Add _crypt module support for VxWorks RTOS by pxinwr · Pull Request #12321 · python/cpython (original) (raw)

This is the successive PR after #11968. This PR adds _crypt module support for VxWorks RTOS.
VxWorks has no APIs crypt() and crypt_r() provided. Instead, DES_crypt() is defined in openssl/des.h to replace the crypt(). It has the same prototype as crypt(). This extension module _crypt will not be built if VxWorks users don't enable the OPENSSL features. See

def detect_crypt(self):
# crypt module.
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'],
libraries=libs))

More and full support on modules for VxWorks will continuously be added by the coming PRs.
VxWorks is a product developed and owned by Wind River. For VxWorks introduction or more details, go to https://www.windriver.com/products/vxworks/
Wind River will have a dedicated engineering team to contribute to the support as maintainers.
We already have a working buildbot worker internally, but has not bound to master. We will check the process for the buildbot, then add it.

https://bugs.python.org/issue31904