1234567891011121314151617181920212223242526272829303132 |
- # Support code for building a C extension with crypto code
- import os
- import sys
- is_win32 = sys.platform.startswith('win32')
- def multi_join(paths, *path_segments):
- """apply os.path.join on a list of paths"""
- return [os.path.join(*(path_segments + (path,))) for path in paths]
- def crypto_ext_kwargs(pc, system_prefix):
- if system_prefix:
- print('Detected OpenSSL [via BORG_OPENSSL_PREFIX]')
- if is_win32:
- lib_dir = system_prefix
- lib_name = 'libcrypto'
- else:
- lib_dir = os.path.join(system_prefix, 'lib')
- lib_name = 'crypto'
- return dict(include_dirs=[os.path.join(system_prefix, 'include')],
- library_dirs=[lib_dir],
- libraries=[lib_name])
- if pc and pc.exists('libcrypto'):
- print('Detected OpenSSL [via pkg-config]')
- return pc.parse('libcrypto')
- raise Exception('Could not find OpenSSL lib/headers, please set BORG_OPENSSL_PREFIX')
|