123456789101112131415161718192021222324252627282930313233343536373839404142434445464748 |
- import subprocess
- from collections import defaultdict
- from .syms import syms
- def gen_builtin():
- res = defaultdict(dict)
- for k, v in syms.items():
- mod, sym = k.split('|')
- res[mod][sym] = v
- return res
- builtin_symbols = gen_builtin()
- caps = builtin_symbols['_capability']
- def find_library(name, find_next):
- subst = {
- 'rt': 'c',
- 'pthread': 'c',
- 'm': 'c',
- }
- builtin = builtin_symbols.get(subst.get(name, name))
- if builtin:
- return {
- 'name': name,
- 'symbols': builtin,
- }
- if 'musl' in caps:
- return None
- try:
- subprocess.Popen.__patched__
- return None
- except Exception:
- pass
- return find_next(name)
|