mirror of
https://github.com/python/cpython.git
synced 2025-08-01 07:33:08 +00:00
Generate plugin projects automatically using mkcwproject. There are as of yet only
three modules done (and one doesn't work:-), the rest TBD.
This commit is contained in:
parent
fed0d09075
commit
c10a11b7c7
1 changed files with 43 additions and 0 deletions
43
Mac/Build/genpluginprojects.py
Normal file
43
Mac/Build/genpluginprojects.py
Normal file
|
@ -0,0 +1,43 @@
|
||||||
|
import mkcwproject
|
||||||
|
import sys
|
||||||
|
import os
|
||||||
|
|
||||||
|
PROJECTDIR = os.path.join(sys.prefix, ":Mac:Build")
|
||||||
|
MODULEDIRS = [ # Relative to projectdirs
|
||||||
|
"::Modules:%s",
|
||||||
|
"::Modules",
|
||||||
|
":::Modules",
|
||||||
|
]
|
||||||
|
|
||||||
|
def genpluginproject(module,
|
||||||
|
project=None, projectdir=None,
|
||||||
|
sources=[], sourcedirs=[],
|
||||||
|
libraries=[], extradirs=[]):
|
||||||
|
if not project:
|
||||||
|
project = module + '.mcp'
|
||||||
|
if not projectdir:
|
||||||
|
projectdir = PROJECTDIR
|
||||||
|
if not sources:
|
||||||
|
sources = [module + 'module.c']
|
||||||
|
if not sourcedirs:
|
||||||
|
for moduledir in MODULEDIRS:
|
||||||
|
if '%' in moduledir:
|
||||||
|
moduledir = moduledir % module
|
||||||
|
fn = os.path.join(projectdir, os.path.join(moduledir, sources[0]))
|
||||||
|
if os.path.exists(fn):
|
||||||
|
sourcedirs = [moduledir]
|
||||||
|
break
|
||||||
|
else:
|
||||||
|
print "Warning: %s: sourcefile not found: %s"%(module, sources[0])
|
||||||
|
sourcedirs = []
|
||||||
|
dict = {
|
||||||
|
"sysprefix" : sys.prefix,
|
||||||
|
"sources" : sources,
|
||||||
|
"extrasearchdirs" : sourcedirs + extradirs,
|
||||||
|
"libraries": libraries,
|
||||||
|
}
|
||||||
|
mkcwproject.mkproject(os.path.join(projectdir, project), module, dict)
|
||||||
|
|
||||||
|
genpluginproject("Cm", libraries=["QuickTimeLib"])
|
||||||
|
genpluginproject("calldll", sources=["calldll.c"])
|
||||||
|
genpluginproject("zlib", libraries=["zlib.ppc.Lib"], extradirs=["::::imglibs:zlib"])
|
Loading…
Add table
Add a link
Reference in a new issue