1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57
|
#!/usr/bin/env python
# Copyright (c) 2002-2004 Detlev Offenbach <detlev@die-offenbachs.de>
# Adapted for usage with Debian by Torsten Marek <shlomme@gmx.net>
import os
import sys
import pyqtconfig
apidir = sys.argv[1]
if not os.path.isdir(apidir):
print "Generating the api directory."
os.makedirs(apidir)
sip = "/usr/bin/sip"
def createAPIFiles(baseDir, modules, defaultImports, getFlags):
for mod in modules:
try:
sipfile = os.path.join(baseDir, mod, "%smod.sip" % (mod, ))
apifile = os.path.join(apidir, os.path.split(sipfile.replace("mod.sip", ".api"))[1])
args = [sip, "-a", apifile,
"-I", os.path.join(baseDir, mod),
"-I", baseDir] \
+ defaultImports \
+ getFlags(mod) \
+ [sipfile]
print "Generating %s ..." % apifile
ret = os.spawnv(os.P_WAIT, sip, args)
if ret != 0:
print "Error: the process returned the exit code %d" % ret
except OSError:
print "Warning: The module '%s' does not exist." % mod
qtsipdir = os.path.abspath(pyqtconfig._pkg_config['pyqt_sip_dir'])
modules = pyqtconfig._pkg_config['pyqt_modules'].split()
createAPIFiles(qtsipdir, modules, [],
lambda x: pyqtconfig._pkg_config["pyqt_%s_sip_flags" % (x,)].split())
try:
import pykdeconfig
kdesipdir = "/usr/share/sip/kde3"
modules = pykdeconfig._pkg_config['pykde_modules'].split()
extraimport = []
# just import anything for anything else, so we get rid of keeping track of the
# inter-module deps
for mod in modules:
extraimport.extend(["-I", os.path.join(kdesipdir, mod)])
extraimport.extend(["-I", qtsipdir])
createAPIFiles(kdesipdir, modules, extraimport,
lambda x: pykdeconfig._pkg_config["pykde_kde_sip_flags"].split(" "))
except:
pass
|