MCPcopy Create free account
hub / github.com/python/cpython / checkextensions

Function checkextensions

Tools/freeze/checkextensions.py:8–37  ·  view source on GitHub ↗
(unknown, extensions)

Source from the content-addressed store, hash-verified

6import parsesetup
7
8def checkextensions(unknown, extensions):
9 files = []
10 modules = []
11 edict = {}
12 for e in extensions:
13 setup = os.path.join(e, 'Setup')
14 liba = os.path.join(e, 'lib.a')
15 if not os.path.isfile(liba):
16 liba = None
17 edict[e] = parsesetup.getsetupinfo(setup), liba
18 for mod in unknown:
19 for e in extensions:
20 (mods, vars), liba = edict[e]
21 if mod not in mods:
22 continue
23 modules.append(mod)
24 if liba:
25 # If we find a lib.a, use it, ignore the
26 # .o files, and use *all* libraries for
27 # *all* modules in the Setup file
28 if liba in files:
29 break
30 files.append(liba)
31 for m in list(mods.keys()):
32 files = files + select(e, mods, vars,
33 m, 1)
34 break
35 files = files + select(e, mods, vars, mod, 0)
36 break
37 return files, modules
38
39def select(e, mods, vars, mod, skipofiles):
40 files = []

Callers

nothing calls this directly

Calls 6

listClass · 0.85
selectFunction · 0.70
joinMethod · 0.45
isfileMethod · 0.45
appendMethod · 0.45
keysMethod · 0.45

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…