|
|
|
@ -66,8 +66,8 @@ sipcfg = sipconfig.Configuration()
|
|
|
|
|
pyqtcfg = pyqtconfig.Configuration ()
|
|
|
|
|
|
|
|
|
|
# Initialise the globals.
|
|
|
|
|
pykde_version = 0x031006
|
|
|
|
|
pykde_version_str = "3.16.6"
|
|
|
|
|
pytde_version = 0x031006
|
|
|
|
|
pytde_version_str = "3.16.6"
|
|
|
|
|
kde_version = None
|
|
|
|
|
kde_version_str = None
|
|
|
|
|
kde_version_sfx = None
|
|
|
|
@ -81,8 +81,8 @@ pyqt_min_version = 0x031000
|
|
|
|
|
kde_sip_flags = []
|
|
|
|
|
|
|
|
|
|
# Command line options.
|
|
|
|
|
opt_pykdemoddir = sipcfg.default_mod_dir
|
|
|
|
|
opt_pykdesipdir = sipcfg.default_sip_dir
|
|
|
|
|
opt_pytdemoddir = sipcfg.default_mod_dir
|
|
|
|
|
opt_pytdesipdir = sipcfg.default_sip_dir
|
|
|
|
|
opt_debug = 0
|
|
|
|
|
opt_concat = None
|
|
|
|
|
opt_split = 1
|
|
|
|
@ -96,10 +96,10 @@ opt_dep_warnings = 0
|
|
|
|
|
opt_libdir = "lib"
|
|
|
|
|
opt_dist_name = ""
|
|
|
|
|
|
|
|
|
|
pykde_modules = ["dcop", "tdecore", "tdefx", "tdeui", "kio", "kresources", "kabc", "kutils", "kfile", "kparts",\
|
|
|
|
|
pytde_modules = ["dcop", "tdecore", "tdefx", "tdeui", "kio", "kresources", "kabc", "kutils", "kfile", "kparts",\
|
|
|
|
|
"khtml", "kspell", "tdeprint", "kmdi"] #, "kspell2"]
|
|
|
|
|
|
|
|
|
|
pykde_imports = {
|
|
|
|
|
pytde_imports = {
|
|
|
|
|
"dcop": ["qt"],
|
|
|
|
|
"tdecore": ["qt", "dcop"],
|
|
|
|
|
# "tdesu": ["qt", "dcop", "tdecore"],
|
|
|
|
@ -160,7 +160,7 @@ postProcess = {
|
|
|
|
|
|
|
|
|
|
opt_startModName = ""
|
|
|
|
|
opt_startmod = 0
|
|
|
|
|
opt_endmod = len (pykde_modules)
|
|
|
|
|
opt_endmod = len (pytde_modules)
|
|
|
|
|
|
|
|
|
|
def check_gcc ():
|
|
|
|
|
global opt_concat
|
|
|
|
@ -230,7 +230,7 @@ def usage(rcode = 2):
|
|
|
|
|
print "where:"
|
|
|
|
|
print " -h displays this help message"
|
|
|
|
|
print " -c concatenates each module's C/C++ source files [default]"
|
|
|
|
|
print " -d dir where the PyKDE modules will be installed [default %s]" % opt_pykdemoddir
|
|
|
|
|
print " -d dir where the PyKDE modules will be installed [default %s]" % opt_pytdemoddir
|
|
|
|
|
print " -g always release the GIL (SIP v3.x behaviour)"
|
|
|
|
|
print " -i no concatenation of each module's C/C++ source files"
|
|
|
|
|
print " -j # splits the concatenated C++ source files into # pieces [default 1]"
|
|
|
|
@ -240,7 +240,7 @@ def usage(rcode = 2):
|
|
|
|
|
print " -o dir the directory containing the KDE header files"
|
|
|
|
|
print " -r generates code with tracing enabled [default disabled]"
|
|
|
|
|
print " -u build with debugging symbols"
|
|
|
|
|
print " -v dir where the PyKDE .sip files will be installed [default %s]" % opt_pykdesipdir
|
|
|
|
|
print " -v dir where the PyKDE .sip files will be installed [default %s]" % opt_pytdesipdir
|
|
|
|
|
print " -w turn on KDE deprecated object warnings when compiling [default off]"
|
|
|
|
|
print " -z file the name of a file containing command line flags"
|
|
|
|
|
|
|
|
|
@ -252,7 +252,7 @@ def inform_user(stage):
|
|
|
|
|
"""
|
|
|
|
|
if stage == 0:
|
|
|
|
|
print
|
|
|
|
|
print " PyKDE version %s" % pykde_version_str
|
|
|
|
|
print " PyKDE version %s" % pytde_version_str
|
|
|
|
|
print " -------"
|
|
|
|
|
print
|
|
|
|
|
sipconfig.inform ("Python include directory is %s" % sipcfg.py_inc_dir)
|
|
|
|
@ -279,8 +279,8 @@ def inform_user(stage):
|
|
|
|
|
sipconfig.inform ("KDE version is %s (0x%x)" % (kde_version_str, kde_version))
|
|
|
|
|
print
|
|
|
|
|
|
|
|
|
|
sipconfig.inform("PyKDE modules will be installed in %s" % opt_pykdemoddir)
|
|
|
|
|
sipconfig.inform("PyKDE .sip files will be installed in %s" % opt_pykdesipdir)
|
|
|
|
|
sipconfig.inform("PyKDE modules will be installed in %s" % opt_pytdemoddir)
|
|
|
|
|
sipconfig.inform("PyKDE .sip files will be installed in %s" % opt_pytdesipdir)
|
|
|
|
|
print
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@ -295,22 +295,22 @@ def create_config(module, template):
|
|
|
|
|
sipconfig.inform("Creating %s..." % module)
|
|
|
|
|
|
|
|
|
|
content = {
|
|
|
|
|
"pykde_version": pykde_version,
|
|
|
|
|
"pykde_version_str": pykde_version_str,
|
|
|
|
|
"pytde_version": pytde_version,
|
|
|
|
|
"pytde_version_str": pytde_version_str,
|
|
|
|
|
"kde_version": kde_version,
|
|
|
|
|
"kde_version_str": kde_version_str,
|
|
|
|
|
"kde_version_sfx": kde_version_sfx,
|
|
|
|
|
"kde_version_extra": kde_version_extra,
|
|
|
|
|
# "pykde_bin_dir": opt_pykdebindir,
|
|
|
|
|
"pykde_mod_dir": opt_pykdemoddir,
|
|
|
|
|
"pykde_sip_dir": opt_pykdesipdir,
|
|
|
|
|
"pykde_modules": pykde_modules,
|
|
|
|
|
"pykde_kde_sip_flags": kde_sip_flags,
|
|
|
|
|
# "pytde_bin_dir": opt_pytdebindir,
|
|
|
|
|
"pytde_mod_dir": opt_pytdemoddir,
|
|
|
|
|
"pytde_sip_dir": opt_pytdesipdir,
|
|
|
|
|
"pytde_modules": pytde_modules,
|
|
|
|
|
"pytde_kde_sip_flags": kde_sip_flags,
|
|
|
|
|
"tdebasedir": opt_tdebasedir,
|
|
|
|
|
"kdelibdir": opt_kdelibdir,
|
|
|
|
|
"libdir": opt_libdir,
|
|
|
|
|
"kdeincdir": opt_kdeincdir,
|
|
|
|
|
"pykde_modules": pykde_modules,
|
|
|
|
|
"pytde_modules": pytde_modules,
|
|
|
|
|
"dist_name": opt_dist_name
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@ -622,7 +622,7 @@ def generate_code(mname, imports=None, extra_cflags=None, extra_cxxflags=None, e
|
|
|
|
|
argv.append(srcPath("sip"))
|
|
|
|
|
|
|
|
|
|
pyqtInclPathSeen = 0
|
|
|
|
|
for mod in pykde_imports [mname]:
|
|
|
|
|
for mod in pytde_imports [mname]:
|
|
|
|
|
if string.find (mod, "q") == 0 and not pyqtInclPathSeen:
|
|
|
|
|
argv.append ("-I")
|
|
|
|
|
argv.append (pyqtcfg.pyqt_sip_dir)
|
|
|
|
@ -670,16 +670,16 @@ def generate_code(mname, imports=None, extra_cflags=None, extra_cxxflags=None, e
|
|
|
|
|
installs = []
|
|
|
|
|
if mname == "dcop":
|
|
|
|
|
if has_objdir:
|
|
|
|
|
installs.append ([[srcPath("extensions/dcopext.py"), srcPath("extensions/dcopexport.py")], opt_pykdemoddir])
|
|
|
|
|
installs.append ([[srcPath("extensions/dcopext.py"), srcPath("extensions/dcopexport.py")], opt_pytdemoddir])
|
|
|
|
|
else:
|
|
|
|
|
installs.append ([["../extensions/dcopext.py", "../extensions/dcopexport.py"], opt_pykdemoddir])
|
|
|
|
|
installs.append ([["../extensions/dcopext.py", "../extensions/dcopexport.py"], opt_pytdemoddir])
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if sipcfg.sip_version >= 0x040000:
|
|
|
|
|
warnings = 1
|
|
|
|
|
else:
|
|
|
|
|
warnings = 0
|
|
|
|
|
installs.append([[mname + ".py", mname + ".pyc"], opt_pykdemoddir])
|
|
|
|
|
installs.append([[mname + ".py", mname + ".pyc"], opt_pytdemoddir])
|
|
|
|
|
|
|
|
|
|
sipfiles = []
|
|
|
|
|
|
|
|
|
@ -694,13 +694,13 @@ def generate_code(mname, imports=None, extra_cflags=None, extra_cxxflags=None, e
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
installs.append([sipfiles, os.path.join(opt_pykdesipdir, mname)])
|
|
|
|
|
installs.append([sipfiles, os.path.join(opt_pytdesipdir, mname)])
|
|
|
|
|
|
|
|
|
|
makefile = sipconfig.SIPModuleMakefile(
|
|
|
|
|
configuration = pyqtcfg,
|
|
|
|
|
build_file = mname + ".sbf",
|
|
|
|
|
dir = mname,
|
|
|
|
|
install_dir = opt_pykdemoddir,
|
|
|
|
|
install_dir = opt_pytdemoddir,
|
|
|
|
|
installs = installs,
|
|
|
|
|
qt = 1,
|
|
|
|
|
opengl = opengl,
|
|
|
|
@ -779,14 +779,14 @@ def generate_code(mname, imports=None, extra_cflags=None, extra_cxxflags=None, e
|
|
|
|
|
def create_makefiles():
|
|
|
|
|
"""Create the additional Makefiles.
|
|
|
|
|
"""
|
|
|
|
|
subdirs = pykde_modules[:]
|
|
|
|
|
subdirs = pytde_modules[:]
|
|
|
|
|
|
|
|
|
|
sipconfig.inform("Creating top level Makefile...")
|
|
|
|
|
|
|
|
|
|
sipconfig.ParentMakefile(
|
|
|
|
|
configuration = pyqtcfg,
|
|
|
|
|
subdirs = subdirs,
|
|
|
|
|
installs= [("pykdeconfig.py", opt_pykdemoddir), (srcPath("contrib/kdepyuic"), sipcfg.default_bin_dir)]
|
|
|
|
|
installs= [("pytdeconfig.py", opt_pytdemoddir), (srcPath("contrib/kdepyuic"), sipcfg.default_bin_dir)]
|
|
|
|
|
).generate()
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@ -823,13 +823,13 @@ def main(argv):
|
|
|
|
|
except getopt.GetoptError:
|
|
|
|
|
usage()
|
|
|
|
|
|
|
|
|
|
global opt_pykdemoddir, opt_pykdesipdir
|
|
|
|
|
global opt_pytdemoddir, opt_pytdesipdir
|
|
|
|
|
global opt_debug, opt_concat, opt_releasegil
|
|
|
|
|
global opt_split, opt_tracing, opt_startModName
|
|
|
|
|
global opt_startmod, opt_endmod
|
|
|
|
|
global opt_tdebasedir, opt_kdelibdir, opt_kdeincdir, opt_libdir
|
|
|
|
|
global pykde_modules, opt_dep_warnings, opt_dist_name
|
|
|
|
|
global pykde_imports, kde_includes
|
|
|
|
|
global pytde_modules, opt_dep_warnings, opt_dist_name
|
|
|
|
|
global pytde_imports, kde_includes
|
|
|
|
|
|
|
|
|
|
# Look for '-z' first and process that switch
|
|
|
|
|
# (command line switches override file switches)
|
|
|
|
@ -851,7 +851,7 @@ def main(argv):
|
|
|
|
|
opt_concat = 1
|
|
|
|
|
|
|
|
|
|
elif opt == "-d":
|
|
|
|
|
opt_pykdemoddir = arg
|
|
|
|
|
opt_pytdemoddir = arg
|
|
|
|
|
elif opt == "-g":
|
|
|
|
|
opt_releasegil = 1
|
|
|
|
|
|
|
|
|
@ -885,7 +885,7 @@ def main(argv):
|
|
|
|
|
elif opt == "-u":
|
|
|
|
|
opt_debug = 1
|
|
|
|
|
elif opt == "-v":
|
|
|
|
|
opt_pykdesipdir = arg
|
|
|
|
|
opt_pytdesipdir = arg
|
|
|
|
|
elif opt == "-w":
|
|
|
|
|
opt_dep_warnings = 1
|
|
|
|
|
|
|
|
|
@ -894,42 +894,42 @@ def main(argv):
|
|
|
|
|
|
|
|
|
|
# Set the SIP platform, version and feature flags.
|
|
|
|
|
if kde_version < 0x030200:
|
|
|
|
|
pykde_modules.remove ("kmdi")
|
|
|
|
|
pykde_modules.remove ("kresources")
|
|
|
|
|
pykde_imports ["kabc"].remove ("kresources")
|
|
|
|
|
pytde_modules.remove ("kmdi")
|
|
|
|
|
pytde_modules.remove ("kresources")
|
|
|
|
|
pytde_imports ["kabc"].remove ("kresources")
|
|
|
|
|
kde_includes ["kabc"].remove ("kresources")
|
|
|
|
|
|
|
|
|
|
if kde_version < 0x030300:
|
|
|
|
|
pykde_modules.remove ("kutils")
|
|
|
|
|
# pykde_modules.remove ("kspell2")
|
|
|
|
|
pykde_imports ["khtml"].remove ("kutils")
|
|
|
|
|
pytde_modules.remove ("kutils")
|
|
|
|
|
# pytde_modules.remove ("kspell2")
|
|
|
|
|
pytde_imports ["khtml"].remove ("kutils")
|
|
|
|
|
|
|
|
|
|
opt_endmod = len (pykde_modules)
|
|
|
|
|
opt_endmod = len (pytde_modules)
|
|
|
|
|
if opt_startModName != "":
|
|
|
|
|
if opt_startModName in pykde_modules:
|
|
|
|
|
if opt_startModName in pytde_modules:
|
|
|
|
|
single = opt_startModName [-1] != ":"
|
|
|
|
|
if not single:
|
|
|
|
|
opt_startModName = opt_startModName [:-1]
|
|
|
|
|
|
|
|
|
|
try:
|
|
|
|
|
opt_startmod = pykde_modules.index (opt_startModName)
|
|
|
|
|
opt_startmod = pytde_modules.index (opt_startModName)
|
|
|
|
|
if single:
|
|
|
|
|
opt_endmod = opt_startmod + 1
|
|
|
|
|
except:
|
|
|
|
|
sipconfig.error ("%s is not a PyKDE module" % opt_startModName)
|
|
|
|
|
|
|
|
|
|
print "PyKDE modules to be built:\n %s\n" % string.join(pykde_modules [opt_startmod:opt_endmod])
|
|
|
|
|
print "PyKDE modules to be built:\n %s\n" % string.join(pytde_modules [opt_startmod:opt_endmod])
|
|
|
|
|
|
|
|
|
|
set_sip_flags()
|
|
|
|
|
|
|
|
|
|
for module in pykde_modules [opt_startmod:opt_endmod]:
|
|
|
|
|
generate_code (module, pykde_imports [module], extra_lib = module)
|
|
|
|
|
for module in pytde_modules [opt_startmod:opt_endmod]:
|
|
|
|
|
generate_code (module, pytde_imports [module], extra_lib = module)
|
|
|
|
|
|
|
|
|
|
# Create the additional Makefiles.
|
|
|
|
|
create_makefiles()
|
|
|
|
|
|
|
|
|
|
# Install the configuration module.
|
|
|
|
|
create_config("pykdeconfig.py", srcPath("pykdeconfig.py.in"))
|
|
|
|
|
create_config("pytdeconfig.py", srcPath("pytdeconfig.py.in"))
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def reporting_msg ():
|
|
|
|
@ -938,7 +938,7 @@ If reporting errors, paste all of the output above into your
|
|
|
|
|
message and post to the PyKDE mailing list at:
|
|
|
|
|
|
|
|
|
|
mailto: PyKDE@mats.imk.fraunhofer.de
|
|
|
|
|
subscribe: http://mats.imk.fraunhofer.de/mailman/listinfo/pykde
|
|
|
|
|
subscribe: http://mats.imk.fraunhofer.de/mailman/listinfo/pytde
|
|
|
|
|
|
|
|
|
|
You can redirect the output into a file (> output.txt) if needed
|
|
|
|
|
"""
|
|
|
|
|