From f7fa09d48f7f1d6e271ddf9a6d8e7da9a3545e9f Mon Sep 17 00:00:00 2001
From: Timothy Pearson <kb9vqf@pearsoncomputing.net>
Date: Sun, 27 Nov 2011 22:58:41 -0600
Subject: Cleanup

---
 SConstruct               |  36 ---
 bksys/abakus.py          | 178 ----------
 bksys/generic.py         | 498 ----------------------------
 bksys/help.py            |  43 ---
 bksys/kde.py             | 826 -----------------------------------------------
 bksys/scons-mini.tar.bz2 | Bin 58132 -> 0 bytes
 src/CMakeLists.txt       |   4 +-
 src/SConscript           |  88 -----
 8 files changed, 2 insertions(+), 1671 deletions(-)
 delete mode 100644 SConstruct
 delete mode 100644 bksys/abakus.py
 delete mode 100644 bksys/generic.py
 delete mode 100644 bksys/help.py
 delete mode 100644 bksys/kde.py
 delete mode 100644 bksys/scons-mini.tar.bz2
 delete mode 100644 src/SConscript

diff --git a/SConstruct b/SConstruct
deleted file mode 100644
index a4a2438..0000000
--- a/SConstruct
+++ /dev/null
@@ -1,36 +0,0 @@
-#! /usr/bin/env python
-
-###################################################################
-# LOAD THE ENVIRONMENT AND SET UP THE TOOLS
-###################################################################
-
-## Load the builders in config
-tools    = [ 'default', 'help', 'generic', 'kde', 'abakus' ]
-toolpath = [ './', './bksys' ]
-
-# Required as part of SCons
-env = Environment(tools = tools, toolpath = toolpath)
-
-# Pull in some default settings.
-env.KDEuse("environ rpath nohelp")
-#env.KDEuse("environ rpath lang_qt thread nohelp")
-
-# If we're asking for help just go ahead and exit now.
-if env['HELP']:
-    print env.helpText()
-    Exit()
-
-if env['flex'] and env['bison']:
-    env['PARSER_INCLUDED'] = True
-
-# Export the environment so that SConscript files in subdirs can access it.
-Export('env')
-
-###################################################################
-# SCRIPTS FOR BUILDING THE TARGETS
-###################################################################
-
-env.subdirs('src')
-
-env.docfolder('doc/en', 'en', 'abakus/')
-env.SConscript('doc/en/SConscript')
diff --git a/bksys/abakus.py b/bksys/abakus.py
deleted file mode 100644
index 7b6a20c..0000000
--- a/bksys/abakus.py
+++ /dev/null
@@ -1,178 +0,0 @@
-#!/usr/bin/env python
-
-"""
-Run scons -h to display the associated help, or look below ..
-"""
-
-BOLD   ="\033[1m"
-RED    ="\033[91m"
-GREEN  ="\033[92m"
-YELLOW ="\033[1m" #"\033[93m" # unreadable on white backgrounds
-CYAN   ="\033[96m"
-NORMAL ="\033[0m"
-
-def exists(env):
-    return true
-
-def printColorCoded(msg):
-    msg = msg.replace(']', NORMAL)
-    msg = msg.replace('b[', BOLD)
-    msg = msg.replace('g[', GREEN)
-    msg = msg.replace('r[', RED)
-    msg = msg.replace('c[', CYAN)
-    msg = msg.replace('y[', YELLOW)
-
-    print msg
-
-def generate(env):
-    import SCons.Util, os
-
-    env.addHelpText("""b[hi]
-b[*** abakus options ***
-----------------------]
-b[* bison=(no|yes): Enable parser support.  Only needed for developers.
-b[* flex=(no|yes): Enable lexer support.  Only needed for developers.
-b[* mpfr=(no|yes|check): Enable the MPFR library, which is faster and more
-                         precise than abakus's high-precision code.
-
-ie: b[scons configure]
-""")
-
-    if env['HELP']:
-        # Don't even bother.
-        return env
-
-    from SCons.Options import Options, PackageOption, EnumOption
-    import os
-
-    def CheckFlags(context):
-        context.Message('Checking if ld supports --as-needed... ')
-        lastLINKFLAGS = context.env['LINKFLAGS']
-        context.env.Append(LINKFLAGS = '-Wl,--as-needed')
-
-        ret = context.TryLink("""
-#include <iostream>
-using namespace std;
-int main()
-{
-    cout << "Test" << endl;
-}
-""", ".cpp")
-        if not ret:
-            context.env.Replace(LINKFLAGS = lastLINKFLAGS)
-        context.Result(ret)
-        return ret
-
-    def CheckPath(context, prog, versionFlag = ''):
-        if context.env[prog] == 'yes':
-            context.env[prog] = prog
-
-        context.Message('Checking for %s... ' % prog)
-
-        ret = True
-
-        # If absolute path, just try this one.
-        if prog[0] == '/':
-            ret = context.TryAction('%s %s' % (context.env[prog], versionFlag))[0]
-            if ret:
-                context.Result(ret)
-                return True
-            
-        path = context.env.WhereIs(prog)
-        if ret and path != None:
-            context.env[prog] = path
-            context.Result(1)
-        else:
-            context.env[prog] = False
-            context.Result(0)
-        
-            print """
-The $foo program was not found!  You asked to use it so we will stop here. It
-is not required, you may use $foo=no on the command line to go without it.""".replace('$foo', prog)
-
-            Exit(1)
-
-            return False
-            
-        context.Result(1)
-        return True
-
-    cachefile = env['CACHEDIR'] + '/abakus.cache.py'
-
-    fixup = lambda x: "%s installed here (yes = search)" % x
-
-    opts = None
-    if env.doConfigure():
-        opts = Options(None, env['ARGS'])
-    else:
-        opts = Options(cachefile, env['ARGS'])
-
-    opts.AddOptions(
-        PackageOption('bison', fixup('use the Bison parser generator'), 'yes'),
-        PackageOption('flex', fixup('use the Flex scanner generator'), 'yes'),
-        EnumOption ('mpfr', 'use the MPFR high-precision library', 'check',
-                    allowed_values=('yes', 'no', 'check'), map={}, ignorecase=1),
-        ('ABAKUS_CONFIGURED', '', 0),
-        ('HAVE_ASNEEDED', '', 0)
-    )
-
-    # We must manually pass the ARGS in.
-    opts.Update(env, env['ARGS'])
-
-    if env.doConfigure() or not env['ABAKUS_CONFIGURED']:
-        # Configure stuff
-        conf = env.Configure(custom_tests = {'CheckPath': CheckPath, 'CheckFlags' : CheckFlags})
-
-        if env['bison'] and env['bison'] != 'no':
-            conf.CheckPath('bison', '-V')
-        if env['flex'] and env['flex'] != 'no':
-            conf.CheckPath('flex', '-V')
-        if env['mpfr'] != 'no':
-            oldLibs = conf.env.get('LIBS', '')
-            conf.env.AppendUnique(LIBS = 'gmp')
-
-            if conf.CheckLibWithHeader('mpfr', 'mpfr.h', 'c++', '''
-mpfr_t a;
-mpfr_ptr ptr;
-__mpfr_struct debug;
-
-mpfr_init(a);
-''', autoadd = True):
-                env['mpfr'] = 'yes'
-            else:
-                conf.env.Replace(LIBS = oldLibs)
-
-                if env['mpfr'] == 'yes':
-                    print "Unable to find requested library mpfr!"
-                    env.Exit(1)
-                else:
-                    env['mpfr'] = 'no'
-
-        env['HAVE_ASNEEDED'] = 0
-        if conf.CheckFlags():
-            env['HAVE_ASNEEDED'] = 1
-
-        env['ABAKUS_CONFIGURED'] = 1
-        env = conf.Finish()
-
-        try:
-            f = open("config.h", "w+")
-            f.write("""/* config.h -- Automatically generated by abakus.py
- * Any changes you make to this file will be overwritten!
- */
-
-""")
-            f.write("/* HAVE_MPFR -- Defined if the MPFR library is being used. */\n")
-            if env['mpfr'] == 'yes':
-                f.write ("#define HAVE_MPFR 1\n")
-            else:
-                f.write ("/* #undef HAVE_MPFR */\n")
-
-            f.close()
-
-        except IOError:
-            print "Unable to write config.h!"
-
-        opts.Save(cachefile, env)
-
-# vim: set et ts=8 sw=4:
diff --git a/bksys/generic.py b/bksys/generic.py
deleted file mode 100644
index 580cbd5..0000000
--- a/bksys/generic.py
+++ /dev/null
@@ -1,498 +0,0 @@
-## Thomas Nagy, 2005
-
-"""
-Detect and store the most common options
-* kdecxxflags  : debug=1 (-g) or debug=full (-g3, slower)
-  else use the user CXXFLAGS if any, - or -O2 by default
-* prefix : the installation path
-* extraincludes : a list of paths separated by ':'
-ie: scons configure debug=full prefix=/usr/local extraincludes=/tmp/include:/usr/local
-"""
-
-BOLD   ="\033[1m"
-RED    ="\033[91m"
-GREEN  ="\033[92m"
-YELLOW ="\033[1m" #"\033[93m" # unreadable on white backgrounds
-CYAN   ="\033[96m"
-NORMAL ="\033[0m"
-
-import os, re, types, sys, string, shutil, stat
-
-import SCons.Defaults
-import SCons.Tool
-import SCons.Util
-from SCons.Script.SConscript import SConsEnvironment
-from SCons.Options import Options, PathOption
-
-class genobj:
-	def __init__(self, val, env):
-		if not val in "program shlib kioslave staticlib".split():
-			print "unknown genobj given: "+val
-			env.Exit(1)
-
-		self.type = val
-		self.orenv = env
-		self.env   = None
-		self.executed = 0
-
-		self.target=''
-		self.src=None
-
-		self.cxxflags=''
-		self.cflags=''
-		self.includes=''
-
-		self.linkflags=''
-		self.libpaths=''
-		self.libs=''
-
-		# vars used by shlibs
-		self.vnum=''
-		self.libprefix=''
-
-		# a directory where to install the targets (optional)
-		self.instdir=''
-		# ignore the DESTDIR (optional)
-		self.nodestdir=''
-
-		# change the working directory before reading the targets
-		self.chdir=''
-
-		# these members are private
-		self.chdir_lock=None
-		self.old_os_dir=''
-		self.old_fs_dir=''
-		self.p_local_shlibs=[]
-		self.p_local_staticlibs=[]
-		self.p_global_shlibs=[]
-
-		#if not env.has_key('USE_THE_FORCE_LUKE'): env['USE_THE_FORCE_LUKE']=[self]
-		#else: env['USE_THE_FORCE_LUKE'].append(self)
-
-	def lockchdir(self):
-		if not self.chdir: return
-		self.chdir_lock=1
-		SConfFS=SCons.Node.FS.default_fs
-		self.old_fs_dir=SConfFS.getcwd()
-		self.old_os_dir=os.getcwd()
-		#os.chdir(old_os_dir+'/'+self.chdir)
-		SConfFS.chdir( SConfFS.Dir('#/'+self.chdir), change_os_dir=1)
-
-	def unlockchdir(self):
-		if not self.chdir: return
-		if self.chdir_lock:
-			#os.chdir(self.old_os_dir)
-			SCons.Node.FS.default_fs.chdir(self.old_fs_dir, change_os_dir=0)
-			self.chdir_lock=None
-
-	def execute(self):
-		if self.orenv.has_key('DUMPCONFIG'):
-			print self.xml()
-			return
-
-		self.lockchdir()
-
-		self.env = self.orenv.Copy()
-
-		if not self.src or len(self.src) == 0:
-			print RED+"no source file given to object - self.src"+NORMAL
-			self.env.Exit(1)
-		if not self.env.has_key('nosmart_includes'): self.env.AppendUnique(CPPPATH=['./'])
-		if self.type == "kioslave": self.libprefix=''
-
-		if len(self.includes)>0: self.env.AppendUnique(CPPPATH=self.env.make_list(self.includes))
-		if len(self.cxxflags)>0: self.env.AppendUnique(CXXFLAGS=self.env.make_list(self.cxxflags))
-		if len(self.cflags)>0: self.env.AppendUnique(CCFLAGS=self.env.make_list(self.cflags))
-
-		llist=self.env.make_list(self.libs)
-		lext='.so .la'.split()
-		sext='.a'.split()
-		for l in llist:
-			sal=SCons.Util.splitext(l)
-			if len(sal)>1:
-				if sal[1] in lext: self.p_local_shlibs.append(sal[0]+'.so')
-				elif sal[1] in sext: self.p_local_staticlibs.append(sal[0]+'.a')
-				else: self.p_global_shlibs.append(l)
-
-		if len(self.p_global_shlibs)>0: self.env.AppendUnique(LIBS=self.p_global_shlibs)
-		if len(self.libpaths)>0:   self.env.PrependUnique(LIBPATH=self.env.make_list(self.libpaths))
-		if len(self.linkflags)>0:  self.env.PrependUnique(LINKFLAGS=self.env.make_list(self.linkflags))
-
-		# the target to return
-		ret=None
-		if self.type=='shlib' or self.type=='kioslave':
-			ret=self.env.bksys_shlib(self.target, self.src, self.instdir, 
-				self.libprefix, self.vnum, nodestdir=self.nodestdir)
-		elif self.type=='program':
-			ret=self.env.Program(self.target, self.src)
-			if not self.env.has_key('NOAUTOINSTALL'):
-				self.env.bksys_install(self.instdir, ret, nodestdir=self.nodestdir)
-		elif self.type=='staticlib':
-			ret=self.env.StaticLibrary(self.target, self.src)
-
-		# we link the program against a shared library made locally, add the dependency
-		if len(self.p_local_shlibs)>0:
-			self.env.link_local_shlib(self.p_local_shlibs)
-			if ret: self.env.Depends( ret, self.p_local_shlibs )
-		if len(self.p_local_staticlibs)>0:
-			self.env.link_local_staticlib(self.p_local_staticlibs)
-			if ret: self.env.Depends( ret, self.p_local_staticlibs )
-
-		self.unlockchdir()
-
-## Copy function that honors symlinks
-def copy_bksys(dest, source, env):
-        if os.path.islink(source):
-		#print "symlinking "+source+" "+dest
-		if os.path.islink(dest):
-			os.unlink(dest)
-		os.symlink(os.readlink(source), dest)
-	else:
-		shutil.copy2(source, dest)
-		st=os.stat(source)
-		os.chmod(dest, stat.S_IMODE(st[stat.ST_MODE]) | stat.S_IWRITE)
-	return 0
-
-## Return a list of things
-def make_list(env, s):
-	if type(s) is types.ListType:
-		return s
-	else:
-		return s.split()
-
-def exists(env):
-	return true
-
-def generate(env):
-	## Bksys requires scons 0.96
-	env.EnsureSConsVersion(0, 96)
-
-	SConsEnvironment.make_list = make_list
-	def doConfigure(env):
-		return not env['HELP'] and (env['_CONFIGURE'] or not env.has_key('ISCONFIGURED'))
-
-	SConsEnvironment.doConfigure = doConfigure
-	env['HELP']=0
-	if '--help' in sys.argv or '-h' in sys.argv or 'help' in sys.argv:
-		env['HELP']=1
-	
-	env.addHelpText("""
-b[*** Generic options ***
------------------------]
-b[* debug  ]: debug=1 (-g) or debug=full (-g3, slower), otherwise use
-              environment CXXFLAGS, or -O2 by default.
-b[* prefix ]: the installation path
-b[* extraincludes ]: a list of paths separated by ':'
-
-ie: b[scons configure debug=full prefix=/usr/local extraincludes=/tmp/include:/usr/local]
-""")
-	
-	## Global cache directory
-	# Put all project files in it so a rm -rf cache will clean up the config
-	if not env.has_key('CACHEDIR'):
-		env['CACHEDIR'] = os.getcwd()+'/cache/'
-	if not os.path.isdir(env['CACHEDIR']):
-		os.mkdir(env['CACHEDIR'])
-	
-	## SCons cache directory
-	# This avoids recompiling the same files over and over again: 
-	# very handy when working with cvs
-	if os.getuid() != 0:
-		env.CacheDir(os.getcwd()+'/cache/objects')
-
-	#  Avoid spreading .sconsign files everywhere - keep this line
-	env.SConsignFile(env['CACHEDIR']+'/scons_signatures')
-	
-	def makeHashTable(args):
-		table = { }
-		for arg in args:
-			if len(arg) > 1:
-				lst=arg.split('=')
-				if len(lst) < 2:
-					continue
-				key=lst[0]
-				value=lst[1]
-				if len(key) > 0 and len(value) >0:
-					table[key] = value
- 		return table
-
-	env['ARGS']=makeHashTable(sys.argv)
-
-	## Special trick for installing rpms ...
-	env['DESTDIR']=''
-	if 'install' in sys.argv:
-		dd=''
-		if os.environ.has_key('DESTDIR'):
-			dd=os.environ['DESTDIR']
-		if not dd:
-			if env['ARGS']: dd=env['ARGS']['DESTDIR']
-		if dd:
-			env['DESTDIR']=dd+'/'
-			print CYAN+'** Enabling DESTDIR for the project ** ' + NORMAL + env['DESTDIR']
-
-	## install symlinks for shared libraries properly
-	env['INSTALL'] = copy_bksys
-
-	## Use the same extension .o for all object files
-	env['STATIC_AND_SHARED_OBJECTS_ARE_THE_SAME'] = 1
-
-	## load the options
-	cachefile=env['CACHEDIR']+'generic.cache.py'
-	opts = Options(cachefile)
-	opts.AddOptions(
-		( 'GENCCFLAGS', 'C flags' ),
-		( 'GENCXXFLAGS', 'debug level for the project : full or just anything' ),
-		( 'GENLINKFLAGS', 'additional link flags' ),
-		( 'PREFIX', 'prefix for installation' ),
-		( 'EXTRAINCLUDES', 'extra include paths for the project' ),
-		( 'ISCONFIGURED', 'is the project configured' ),
-	)
-	opts.Update(env)
-	
-	# Use this to avoid an error message 'how to make target configure ?'
-	env.Alias('configure', None)
-
-	# Check if the following command line arguments have been given
-	# and set a flag in the environment to show whether or not it was
-	# given.
-	if 'install' in sys.argv:
-		env['_INSTALL']=1
-	else:
-		env['_INSTALL']=0
-	if 'configure' in sys.argv:
-		env['_CONFIGURE']=1
-	else:
-		env['_CONFIGURE']=0
-
-	# Configure the environment if needed
-	if doConfigure(env):
-		# be paranoid, unset existing variables
-		for var in "GENCXXFLAGS GENCCFLAGS GENLINKFLAGS PREFIX EXTRAINCLUDES ISCONFIGURED EXTRAINCLUDES".split():
-			if env.has_key(var): env.__delitem__(var)
-
-		if env['ARGS'].get('debug', None):
-			debuglevel = env['ARGS'].get('debug', None)
-			print CYAN+'** Enabling debug for the project **' + NORMAL
-			if (debuglevel == "full"):
-				env['GENCXXFLAGS'] = ['-DDEBUG', '-g3', '-Wall']
-			else:
-				env['GENCXXFLAGS'] = ['-DDEBUG', '-g', '-Wall']
-		else:
-			if os.environ.has_key('CXXFLAGS'):
-				# user-defined flags (gentooers will be elighted)
-				env['GENCXXFLAGS'] = SCons.Util.CLVar( os.environ['CXXFLAGS'] )
-				env.Append( GENCXXFLAGS = ['-DNDEBUG', '-DNO_DEBUG'] )
-			else:
-				env.Append(GENCXXFLAGS = ['-O2', '-DNDEBUG', '-DNO_DEBUG'])
-
-		if os.environ.has_key('CFLAGS'):
-			env['GENCCFLAGS'] = SCons.Util.CLVar( os.environ['CFLAGS'] )
-
-		## FreeBSD settings (contributed by will at freebsd dot org)
-		if os.uname()[0] == "FreeBSD":
-			if os.environ.has_key('PTHREAD_LIBS'):
-				env.AppendUnique( GENLINKFLAGS = SCons.Util.CLVar( os.environ['PTHREAD_LIBS'] ) )
-		        else:
-				syspf = os.popen('/sbin/sysctl kern.osreldate')
-				osreldate = int(syspf.read().split()[1])
-				syspf.close()
-				if osreldate < 500016:
-					env.AppendUnique( GENLINKFLAGS = ['-pthread'])
-					env.AppendUnique( GENCXXFLAGS = ['-D_THREAD_SAFE'])
-				elif osreldate < 502102:
-					env.AppendUnique( GENLINKFLAGS = ['-lc_r'])
-					env.AppendUnique( GENCXXFLAGS = ['-D_THREAD_SAFE'])
-				else:
-					env.AppendUnique( GENLINKFLAGS = ['-pthread'])
-
-		# User-specified prefix
-		if env['ARGS'].has_key('prefix'):
-			env['PREFIX'] = os.path.abspath( env['ARGS'].get('prefix', '') )
-			print (CYAN+'** installation prefix for the project set to : ' +
-			       env['PREFIX'] +' **'+ NORMAL)
-
-		# User-specified include paths
-		env['EXTRAINCLUDES'] = env['ARGS'].get('extraincludes', None)
-		if env['EXTRAINCLUDES']:
-			print (CYAN+'** extra include paths for the project set to: ' +
-			       env['EXTRAINCLUDES'] +' **'+ NORMAL)
-
-		env['ISCONFIGURED']=1
-
-		# And finally save the options in the cache
-		opts.Save(cachefile, env)
-
-	def bksys_install(lenv, subdir, files, destfile=None, nodestdir=None):
-		""" Install files on "scons install"
-		If the DESTDIR env variable has been set, (e.g. by 
-		"scons install DESTDIR=$CURDIR/debian) then install files to that
-		directory, regardless of where the configure stage showed that
-		files should be installed.
-		This feature is useful for packagers, and users of GNU stow.
-		
-		NB. The DESTDIR will be ignored if NODESTDIR is also set, although
-		the same effect can be acheived by not setting DESTDIR in the first
-		place."""
-
-		if not env['_INSTALL']:
-			return
-		basedir = env['DESTDIR']
-		if nodestdir or env.has_key('NODESTDIR') : basedir = "/"
-		install_list = None
-		if not destfile:
-			install_list = env.Install(basedir+subdir+'/', files)
-		else:
-			if subdir:
-				install_list = env.InstallAs(basedir+subdir+'/'+destfile, files)
-			else:
-				install_list = env.InstallAs(basedir+'/'+destfile, files)
-		env.Alias('install', install_list)
-		return install_list
-
-	def build_la_file(target, source, env):
-		""" Action for building libtool files.
-		Writes a .la file, as used by libtool."""
-		dest=open(target[0].path, 'w')
-		sname=source[0].name
-		dest.write("dlname='%s'\n" % sname)
-		if len(env['BKSYS_VNUM'])>0:
-			vnum=env['BKSYS_VNUM']
-			nums=vnum.split('.')
-			src=source[0].name
-			name = src.split('so.')[0] + 'so'
-			strn = src+" "+name+"."+str(nums[0])+" "+name
-			dest.write("library_names='%s'\n" % (strn) )
-		else:
-			dest.write("library_names='%s %s %s'\n" % (sname, sname, sname) )
-		dest.write("old_library=''\ndependency_libs=''\ncurrent=0\n")
-		dest.write("age=0\nrevision=0\ninstalled=yes\nshouldnotlink=no\n")
-		dest.write("dlopen=''\ndlpreopen=''\n")
-		dest.write("libdir='%s'" % env['BKSYS_DESTDIR'])
-		dest.close()
-		return 0
-
-	def string_la_file(target, source, env):
-		print "building '%s' from '%s'" % (target[0].name, source[0].name)
-	la_file = env.Action(build_la_file, string_la_file, ['BKSYS_VNUM', 'BKSYS_DESTDIR'])
-	env['BUILDERS']['LaFile'] = env.Builder(action=la_file,suffix='.la',src_suffix=env['SHLIBSUFFIX'])
-
-	## Function for building shared libraries
-	def bksys_shlib(lenv, target, source, libdir, libprefix='lib', vnum='', noinst=None, nodestdir=None):
-		""" Install a shared library.
-		
-		Installs a shared library, with or without a version number, and create a
-		.la file for use by libtool.
-		
-		If library version numbering is to be used, the version number
-		should be passed as a period-delimited version number (e.g.
-		vnum = '1.2.3').  This causes the library to be installed
-		with its full version number, and with symlinks pointing to it.
-		
-		For example, for libfoo version 1.2.3, install the file
-		libfoo.so.1.2.3, and create symlinks libfoo.so and
-		libfoo.so.1 that point to it.
-		"""
-		thisenv = lenv.Copy() # copying an existing environment is cheap
-		thisenv['BKSYS_DESTDIR']=libdir
-		thisenv['BKSYS_VNUM']=vnum
-		thisenv['SHLIBPREFIX']=libprefix
-
-		if len(vnum)>0:
-			thisenv['SHLIBSUFFIX']='.so.'+vnum
-			thisenv.Depends(target, thisenv.Value(vnum))
-
-		# Fix against a scons bug - shared libs and ordinal out of range(128)
-		if type(source) is types.ListType:
-			src2=[]
-			for i in source:
-				src2.append( str(i) )
-			source=src2
-
-		library_list = thisenv.SharedLibrary(target, source)
-		lafile_list  = thisenv.LaFile(target, library_list)
-
-		## Install the libraries automatically
-		if not thisenv.has_key('NOAUTOINSTALL') and not noinst:
-			thisenv.bksys_install(libdir, library_list, nodestdir=nodestdir)
-			thisenv.bksys_install(libdir, lafile_list, nodestdir=nodestdir)	
-
-		## Handle the versioning
-		if len(vnum)>0:
-			nums=vnum.split('.')
-			symlinkcom = ('cd $TARGET.dir && ' +
-			              'rm -f $TARGET.name && ' +
-			              'ln -s $SOURCE.name $TARGET.name')
-			tg = target+'.so.'+vnum
-			nm1 = target+'.so'
-			nm2 = target+'.so.'+nums[0]
-			
-			thisenv.Command(nm1, tg, symlinkcom)
-			thisenv.Command(nm2, tg, symlinkcom)
-
-			#base=env['DESTDIR']+libdir+'/'
-			thisenv.bksys_install(libdir, nm1, nodestdir=nodestdir)
-			thisenv.bksys_install(libdir, nm2, nodestdir=nodestdir)
-
-	# Declare scons scripts to process
-	def subdirs(lenv, folderlist):
-		flist=[]
-		if type(folderlist) is types.ListType: flist = folderlist
-		else: flist = folderlist.split()
-		for i in flist:
-			lenv.SConscript(i+"/SConscript")
-
-        def link_local_shlib(lenv, str):
-                """ Links against a shared library made in the project """
-                lst = lenv.make_list(str)
-		for file in lst:
-			import re
-			reg = re.compile("(.*)/lib(.*).(la|so)")
-			result = reg.match(file)
-			if not result:
-				print "Unknown la file given "+file
-				continue
-			dir  = result.group(1)
-			link = result.group(2)
-			lenv.AppendUnique(LIBS = [link])
-			lenv.PrependUnique(LIBPATH = [dir])
-
-        def link_local_staticlib(lenv, str):
-                """ Links against a shared library made in the project """
-                lst = lenv.make_list(str)
-		for file in lst:
-			import re
-			reg = re.compile("(.*)/(lib.*.a)")
-			result = reg.match(file)
-			if not result:
-				print "Unknown archive file given "+file
-				continue
-
-			f=SCons.Node.FS.default_fs.File(file)
-			lenv.Append(LINKFLAGS=[f.path])
-
-	#valid_targets = "program shlib kioslave staticlib".split()
-        SConsEnvironment.bksys_install = bksys_install
-	SConsEnvironment.bksys_shlib   = bksys_shlib
-	SConsEnvironment.subdirs       = subdirs
-	SConsEnvironment.link_local_shlib = link_local_shlib
-	SConsEnvironment.link_local_staticlib = link_local_staticlib
-
-	SConsEnvironment.genobj=genobj
-
-	if env.has_key('GENCXXFLAGS'):
-		env.PrependUnique( CXXFLAGS = env['GENCXXFLAGS'] )
-
-	if env.has_key('GENCCFLAGS'):
-		env.AppendUnique( CCFLAGS = env['GENCCFLAGS'] )
-
-	if env.has_key('GENLINKFLAGS'):
-		env.AppendUnique( LINKFLAGS = env['GENLINKFLAGS'] )
-
-	if env.has_key('EXTRAINCLUDES'):
-		if env['EXTRAINCLUDES']:
-			incpaths = []
-			for dir in str(env['EXTRAINCLUDES']).split(':'):
-				incpaths.append( dir )
-			env.Append(CPPPATH = incpaths)
-
-	env.Export('env')
diff --git a/bksys/help.py b/bksys/help.py
deleted file mode 100644
index 5cb6281..0000000
--- a/bksys/help.py
+++ /dev/null
@@ -1,43 +0,0 @@
-## Thomas Nagy, 2005
-
-"""
-Detect and store the most common options
-* kdecxxflags  : debug=1 (-g) or debug=full (-g3, slower)
-  else use the user CXXFLAGS if any, - or -O2 by default
-* prefix : the installation path
-* extraincludes : a list of paths separated by ':'
-ie: scons configure debug=full prefix=/usr/local extraincludes=/tmp/include:/usr/local
-"""
-
-BOLD   ="\033[1m"
-RED    ="\033[91m"
-GREEN  ="\033[92m"
-YELLOW ="\033[1m" #"\033[93m" # unreadable on white backgrounds
-CYAN   ="\033[96m"
-NORMAL ="\033[0m"
-
-def exists(env):
-	return true
-
-def generate(env):
-	## Bksys requires scons 0.96
-	env.EnsureSConsVersion(0, 96)
-
-	env._help = ''
-
-	def addHelpText(env, text):
-		env._help = env._help + text
-
-	def helpText(env):
-		text = env._help.replace(']', NORMAL)
-		text = text.replace('b[', BOLD)
-		text = text.replace('g[', GREEN)
-		text = text.replace('r[', RED)
-		text = text.replace('y[', YELLOW)
-		text = text.replace('c[', CYAN)
-
-		return text
-
-	from SCons.Script.SConscript import SConsEnvironment
-	SConsEnvironment.addHelpText = addHelpText
-	SConsEnvironment.helpText = helpText
diff --git a/bksys/kde.py b/bksys/kde.py
deleted file mode 100644
index fd1a7e3..0000000
--- a/bksys/kde.py
+++ /dev/null
@@ -1,826 +0,0 @@
-# Made from scons qt.py and (heavily) modified into kde.py
-# Thomas Nagy, 2004, 2005 <tnagy2^8@yahoo.fr>
-
-"""
-Run scons -h to display the associated help, or look below ..
-"""
-
-BOLD   ="\033[1m"
-RED    ="\033[91m"
-GREEN  ="\033[92m"
-YELLOW ="\033[1m" #"\033[93m" # unreadable on white backgrounds
-CYAN   ="\033[96m"
-NORMAL ="\033[0m"
-
-import os, re, types
-from SCons.Script.SConscript import SConsEnvironment
-
-# Returns the name of the shared object (i.e. libtdeui.so.4)
-# referenced by a libtool archive (like libtdeui.la)
-def getSOfromLA(lafile):
-	contents = open(lafile, 'r').read()
-	match = re.search("^dlname='([^']*)'$", contents, re.M)
-	if match:
-		return match.group(1)
-	return None
-
-# A helper, needed .. everywhere
-def KDEuse(lenv, flags):
-	if lenv['HELP']: lenv.Exit(0)
-
-	_flags=lenv.make_list(flags)
-	if 'environ' in _flags:
-		## The scons developers advise against using this but it is mostly innocuous :)
-		lenv.AppendUnique( ENV = os.environ )
-	if not 'lang_qt' in _flags:
-		## Use this define if you are using the kde translation scheme (.po files)
-		lenv.Append( CPPFLAGS = '-DQT_NO_TRANSLATION' )
-	if 'rpath' in _flags:
-		## Use this to set rpath - this may cause trouble if folders are moved (chrpath)
-		lenv.Append( RPATH = [lenv['QTLIBPATH'], lenv['KDELIBPATH'], lenv['KDEMODULE']] )
-		kdelibpaths=[]
-		if lenv['KDELIBPATH'] == lenv['KDELIB']:
-			kdelibpaths = [lenv['KDELIB']]
-		else:
-			kdelibpaths = [lenv['KDELIBPATH'],  lenv['KDELIB']]
-		lenv.Append( RPATH = [lenv['QTLIBPATH'], lenv['KDEMODULE']]+kdelibpaths )
-	if 'thread' in _flags:
-		## Uncomment the following if you need threading support
-		lenv.KDEaddflags_cxx( ['-DQT_THREAD_SUPPORT', '-D_REENTRANT'] )
-	if 'fasmoc' in _flags:
-		lenv['BKSYS_FASTMOC']=1
-	if not 'nohelp' in _flags:
-		if lenv['_CONFIGURE'] or lenv['HELP']:
-			lenv.Exit(0)
-	if not 'nosmart' or not lenv.has_key('nosmart_includes'):
-		lenv.AppendUnique(CPPPATH=['#/'])
-		lst=[]
-		if lenv.has_key('USE_THE_FORCE_LUKE'):
-			lst=lenv['USE_THE_FORCE_LUKE']
-			lenv.__delitem__('USE_THE_FORCE_LUKE')
-		for v in lst:
-			v.execute()
-	else:
-			lenv['nosmart_includes']=1
-
-	## To use kdDebug(intvalue)<<"some trace"<<endl; you need to define -DDEBUG
-	## it is done in admin/generic.py automatically when you do scons configure debug=1
-
-def exists(env):
-	return True
-
-def detect_kde(env):
-	""" Detect the qt and kde environment using kde-config mostly """
-        def getpath(varname):
-                if not env.has_key('ARGS'): return None
-                v=env['ARGS'].get(varname, None)
-                if v: v=os.path.abspath(v)
-                return v
-
-        prefix      = getpath('prefix')
-        execprefix  = getpath('execprefix')
-        datadir     = getpath('datadir')
-        libdir      = getpath('libdir')
-        kdeincludes = getpath('kdeincludes')
-        tdelibs     = getpath('tdelibs')
-        qtincludes  = getpath('qtincludes')
-        qtlibs      = getpath('qtlibs')
-        libsuffix   = ''
-        if env.has_key('ARGS'): libsuffix=env['ARGS'].get('libsuffix', '')
-
-	if libdir: libdir = libdir+libsuffix
-
-	## Detect the kde libraries
-	print "Checking for kde-config           : ",
-	kde_config = os.popen("which kde-config 2>/dev/null").read().strip()
-	if len(kde_config):
-		print GREEN+"kde-config was found"+NORMAL
-	else:
-		print RED+"kde-config was NOT found in your PATH"+NORMAL
-		print "Make sure kde is installed properly"
-		print "(missing package tdebase-devel?)"
-		env.Exit(1)
-	env['KDEDIR'] = os.popen('kde-config -prefix').read().strip()
-
-	print "Checking for kde version          : ",
-	kde_version = os.popen("kde-config --version|grep TDE|sed 's/R//g'").read().strip().split()[1]
-	print GREEN+kde_version+NORMAL
-
-	## Detect the qt library
-	print "Checking for the qt library       : ",
-	qtdir = os.getenv("QTDIR")
-	if qtdir:
-		print GREEN+"qt is in "+qtdir+NORMAL
-	else:
-		try:
-			tmplibdir = os.popen('kde-config --expandvars --install lib').read().strip()
-			libtdeuiSO = tmplibdir+'/'+getSOfromLA(tmplibdir+'/libtdeui.la')
-			m = re.search('(.*)/lib/libqt.*', os.popen('ldd ' + libtdeuiSO + ' | grep libqt').read().strip().split()[2])
-		except:
-			m=None
-		if m:
-			qtdir = m.group(1)
-			print YELLOW+"qt was found as "+m.group(1)+NORMAL
-		else:
-			print RED+"qt was not found"+NORMAL
-			print RED+"Please set QTDIR first (/usr/lib/qt3?) or try scons -h for more options"+NORMAL
-			env.Exit(1)
-	env['QTDIR'] = qtdir.strip()
-
-	## Find the necessary programs uic-tqt and moc
-	print "Checking for uic-tqt                  : ",
-	uic = qtdir + "/bin/uic-tqt"
-	if os.path.isfile(uic):
-		print GREEN+"uic-tqt was found as "+uic+NORMAL
-	else:
-		uic = os.popen("which uic-tqt 2>/dev/null").read().strip()
-		if len(uic):
-			print YELLOW+"uic-tqt was found as "+uic+NORMAL
-		else:
-			uic = os.popen("which uic-tqt 2>/dev/null").read().strip()
-			if len(uic):
-				print YELLOW+"uic-tqt was found as "+uic+NORMAL
-			else:
-				print RED+"uic-tqt was not found - set QTDIR put it in your PATH ?"+NORMAL
-				env.Exit(1)
-	env['QT_UIC'] = uic
-
-	print "Checking for moc                  : ",
-	moc = qtdir + "/bin/moc"
-	if os.path.isfile(moc):
-		print GREEN + "moc was found as " + moc + NORMAL
-	else:
-		moc = os.popen("which moc 2>/dev/null").read().strip()
-		if len(moc):
-			print YELLOW + "moc was found as " + moc + NORMAL
-		elif os.path.isfile("/usr/share/tqt3/bin/moc"):
-			moc = "/usr/share/tqt3/bin/moc"
-			print YELLOW + "moc was found as " + moc + NORMAL
-		elif os.path.isfile("/usr/share/qt3/bin/moc"):
-			moc = "/usr/share/qt3/bin/moc"
-			print YELLOW + "moc was found as " + moc + NORMAL
-		else:
-			print RED + "moc was not found - set QTDIR or put it in your PATH ?" + NORMAL
-			env.Exit(1)
-	env['QT_MOC'] = moc
-
-	## check for the qt and kde includes
-	print "Checking for the qt includes      : ",
-	if qtincludes and os.path.isfile(qtincludes + "/qlayout.h"):
-		# The user told where to look for and it looks valid
-		print GREEN + "ok " + qtincludes + NORMAL
-	else:
-		if os.path.isfile(qtdir + "/include/qlayout.h"):
-			# Automatic detection
-			print GREEN + "ok " + qtdir + "/include/ " + NORMAL
-			qtincludes = qtdir + "/include/"
-		elif os.path.isfile("/usr/include/tqt3/qlayout.h"):
-			# Debian probably
-			print YELLOW + "the native tqt headers were found in /usr/include/tqt3/ " + NORMAL
-			qtincludes = "/usr/include/tqt3"
-		elif os.path.isfile("/usr/include/qt3/qlayout.h"):
-			# Debian probably
-			print YELLOW + "the qt headers were found in /usr/include/qt3/ " + NORMAL
-			qtincludes = "/usr/include/qt3"
-		elif os.path.isfile("/usr/include/qt4/Qt/qglobal.h"):
-			# Debian probably
-			print YELLOW + "the qt headers were found in /usr/include/qt4/ " + NORMAL
-			qtincludes = "/usr/include/qt4"
-		else:
-			print RED + "the qt headers were not found" + NORMAL
-			env.Exit(1)
-
-	print "Checking for the kde includes     : ",
-	kdeprefix = os.popen("kde-config --prefix").read().strip()
-	if not kdeincludes:
-		kdeincludes = kdeprefix+"/include/"
-	if os.path.isfile(kdeincludes + "/klineedit.h"):
-		print GREEN + "ok " + kdeincludes + NORMAL
-	else:
-		if os.path.isfile(kdeprefix+"/include/kde/klineedit.h"):
-			# Debian, Fedora probably
-			print YELLOW + "the kde headers were found in " + kdeprefix + "/include/kde/" + NORMAL
-			kdeincludes = kdeprefix + "/include/kde/"
-		else:
-			print RED + "The kde includes were NOT found" + NORMAL
-			env.Exit(1)
-
-	# kde-config options
-	kdec_opts = {'KDEBIN'    : 'exe',     'KDEAPPS'      : 'apps',
-		     'KDEDATA'   : 'data',    'KDEICONS'     : 'icon',
-		     'KDEMODULE' : 'module',  'KDELOCALE'    : 'locale',
-		     'KDEKCFG'   : 'kcfg',    'KDEDOC'       : 'html',
-		     'KDEMENU'   : 'apps',    'KDEXDG'       : 'xdgdata-apps',
-		     'KDEMIME'   : 'mime',    'KDEXDGDIR'    : 'xdgdata-dirs',
-		     'KDESERV'   : 'services','KDESERVTYPES' : 'servicetypes',
-		     'KDEINCLUDE': 'include'
-		     }
-
-	if prefix:
-		## use the user-specified prefix
-		if not execprefix:
-			execprefix = prefix
-		if not datadir:
-			datadir=prefix+"/share"
-		if not libdir:
-			libdir=execprefix+"/lib"+libsuffix
-
-		subst_vars = lambda x: x.replace('${exec_prefix}', execprefix)\
-			     .replace('${datadir}', datadir)\
-			     .replace('${libdir}', libdir)
-		debian_fix = lambda x: x.replace('/usr/share', '${datadir}')
-		env['PREFIX'] = prefix
-		env['KDELIB'] = libdir
-		for (var, option) in kdec_opts.items():
-			dir = os.popen('kde-config --install ' + option).read().strip()
-			if var == 'KDEDOC': dir = debian_fix(dir)
-			env[var] = subst_vars(dir)
-
-	else:
-		env['PREFIX'] = os.popen('kde-config --expandvars --prefix').read().strip()
-		env['KDELIB'] = os.popen('kde-config --expandvars --install lib').read().strip()
-		for (var, option) in kdec_opts.items():
-			dir = os.popen('kde-config --expandvars --install ' + option).read().strip()
-			env[var] = dir
-
-	env['QTPLUGINS']=os.popen('kde-config --expandvars --install qtplugins').read().strip()
-
-	## kde libs and includes
-	env['KDEINCLUDEPATH']=kdeincludes
-	if not tdelibs:
-		tdelibs=os.popen('kde-config --expandvars --install lib').read().strip()
-	env['KDELIBPATH']=tdelibs
-
-	## qt libs and includes
-	env['QTINCLUDEPATH']=qtincludes
-	if not qtlibs:
-		qtlibs=qtdir+"/lib"+libsuffix
-	env['QTLIBPATH']=qtlibs
-
-def generate(env):
-	""""Set up the qt and kde environment and builders - the moc part is difficult to understand """
-
-	# attach this function immediately
-	SConsEnvironment.KDEuse = KDEuse
-	env.addHelpText("""
-b[*** KDE options ***
--------------------]
-b[* prefix     ]: base install path,         ie: /usr/local
-b[* execprefix ]: install path for binaries, ie: /usr/bin
-b[* datadir    ]: install path for the data, ie: /usr/local/share
-b[* libdir     ]: install path for the libs, ie: /usr/lib
-b[* libsuffix  ]: suffix of libraries on amd64, ie: 64, 32
-b[* kdeincludes]: path to the kde includes (/usr/include/kde on debian, ...)
-b[* qtincludes ]: path to the for qt includes (/usr/include/qt on debian, ...)
-b[* tdelibs    ]: path to the kde libs, for linking the programs
-b[* qtlibs     ]: path to the qt libs, for linking the programs
-
-ie: b[scons configure libdir=/usr/local/lib qtincludes=/usr/include/qt]
-""")
-
-	import SCons.Defaults
-	import SCons.Tool
-	import SCons.Util
-	import SCons.Node
-
-	CLVar = SCons.Util.CLVar
-	splitext = SCons.Util.splitext
-	Builder = SCons.Builder.Builder
-	
-	# Detect the environment - replaces ./configure implicitely and store the options into a cache
-	from SCons.Options import Options
-	cachefile=env['CACHEDIR']+'kde.cache.py'
-	opts = Options(cachefile)
-	opts.AddOptions(
-		('PREFIX', 'root of the program installation'),
-
-		('QTDIR', ''),
-		('QTLIBPATH', 'path to the qt libraries'),
-		('QTINCLUDEPATH', 'path to the qt includes'),
-		('QT_UIC', 'uic-tqt command'),
-		('QT_MOC', 'moc command'),
-		('QTPLUGINS', 'uic-tqt executable command'),
-
-		('KDEDIR', ''),
-		('KDELIBPATH', 'path to the installed kde libs'),
-		('KDEINCLUDEPATH', 'path to the installed kde includes'),
-
-		('KDEBIN', 'inst path of the kde binaries'),
-		('KDEINCLUDE', 'inst path of the kde include files'),
-		('KDELIB', 'inst path of the kde libraries'),
-		('KDEMODULE', 'inst path of the parts and libs'),
-		('KDEDATA', 'inst path of the application data'),
-		('KDELOCALE', ''), ('KDEDOC', ''), ('KDEKCFG', ''),
-		('KDEXDG', ''), ('KDEXDGDIR', ''), ('KDEMENU', ''),
-		('KDEMIME', ''), ('KDEICONS', ''), ('KDESERV', ''),
-		('KDESERVTYPES', ''), ('KDEAPPS', ''),
-	)
-	opts.Update(env)
-
-	def getInstDirForResType(lenv,restype):
-		if len(restype) == 0 or not lenv.has_key(restype):
-			print RED+"unknown resource type "+restype+NORMAL
-			lenv.Exit(1)
-		else:
-			instdir = lenv[restype]
-		basedir=lenv['DESTDIR']
-		## support for installing into other folders when PREFIX is set - used by gnu stow
-		if basedir: instdir = instdir.replace(lenv['PREFIX'], basedir)
-		return instdir
-
-	# reconfigure when things are missing
-	if not env['HELP'] and (env['_CONFIGURE'] or not env.has_key('QTDIR') or not env.has_key('KDEDIR')):
-		detect_kde(env)
-		opts.Save(cachefile, env)
-
-	## set default variables, one can override them in sconscript files
-	env.Append(CXXFLAGS = ['-I'+env['KDEINCLUDEPATH'], '-I'+env['QTINCLUDEPATH'] ],
-			LIBPATH = [env['KDELIBPATH'], env['QTLIBPATH'] ])
-	
-	env['QT_AUTOSCAN'] = 1
-	env['QT_DEBUG']    = 0
-
-	env['MEINPROC'] = 'meinproc'
-	env['MSGFMT']   = 'msgfmt'
-
-	## ui file processing
-	def uic_processing(target, source, env):
-		inc_kde  ='#include <klocale.h>\n#include <kdialog.h>\n'
-		inc_moc  ='#include "%s"\n' % target[2].name
-		comp_h   ='$QT_UIC -L $QTPLUGINS -nounload -o %s %s' % (target[0].path, source[0].path)
-		comp_c   ='$QT_UIC -L $QTPLUGINS -nounload -tr tr2i18n -impl %s %s' % (target[0].path, source[0].path)
-		comp_moc ='$QT_MOC -o %s %s' % (target[2].path, target[0].path)
-		if env.Execute(comp_h):
-			return ret
-		dest = open( target[1].path, "w" )
-		dest.write(inc_kde)
-		dest.close()
-		if env.Execute( comp_c+" >> "+target[1].path ):
-			return ret
-		dest = open( target[1].path, "a" )
-		dest.write(inc_moc)
-		dest.close()
-		ret = env.Execute( comp_moc )
-		return ret
-	def uicEmitter(target, source, env):
-		adjustixes = SCons.Util.adjustixes
-		bs = SCons.Util.splitext(str(source[0].name))[0]
-		bs = os.path.join(str(target[0].get_dir()),bs)
-		target.append(bs+'.cpp')
-		target.append(bs+'.moc')
-		return target, source
-	env['BUILDERS']['Uic']=Builder(action=uic_processing,emitter=uicEmitter,suffix='.h',src_suffix='.ui')
-
-	def kcfg_buildit(target, source, env):
-		comp='kconfig_compiler -d%s %s %s' % (str(source[0].get_dir()), source[1].path, source[0].path)
-		return env.Execute(comp)
-	def kcfg_stringit(target, source, env):
-		print "processing %s to get %s and %s" % (source[0].name, target[0].name, target[1].name)
-	def kcfgEmitter(target, source, env):
-		adjustixes = SCons.Util.adjustixes
-		bs = SCons.Util.splitext(str(source[0].name))[0]
-		bs = os.path.join(str(target[0].get_dir()),bs)
-		# .h file is already there
-		target.append(bs+'.cpp')
-
-		if not os.path.isfile(str(source[0])):
-			print RED+'kcfg file given '+str(source[0])+' does not exist !'+NORMAL
-			print os.popen('pwd').read()
-			return target, source
-		kfcgfilename=""
-		kcfgFileDeclRx = re.compile("^[fF]ile\s*=\s*(.+)\s*$")
-		for line in file(str(source[0]), "r").readlines():
-			match = kcfgFileDeclRx.match(line.strip())
-			if match:
-				kcfgfilename = match.group(1)
-				break
-		if not kcfgfilename:
-			print 'invalid kcfgc file'
-			return 0
-		source.append(str(source[0].get_dir())+'/'+kcfgfilename)
-		return target, source
-
-	env['BUILDERS']['Kcfg']=Builder(action=env.Action(kcfg_buildit, kcfg_stringit),
-			emitter=kcfgEmitter, suffix='.h', src_suffix='.kcfgc')
-	
-	## MOC processing
-	env['BUILDERS']['Moc']=Builder(action='$QT_MOC -o $TARGET $SOURCE',suffix='.moc',src_suffix='.h')
-	env['BUILDERS']['Moccpp']=Builder(action='$QT_MOC -o $TARGET $SOURCE',suffix='_moc.cpp',src_suffix='.h')
-
-	## KIDL file
-	env['BUILDERS']['Kidl']=Builder(action= 'dcopidl $SOURCE > $TARGET || (rm -f $TARGET ; false)',
-			suffix='.kidl', src_suffix='.h')
-	## DCOP
-	env['BUILDERS']['Dcop']=Builder(action='dcopidl2cpp --c++-suffix cpp --no-signals --no-stub $SOURCE',
-			suffix='_skel.cpp', src_suffix='.kidl')
-	## STUB
-	env['BUILDERS']['Stub']=Builder(action= 'dcopidl2cpp --c++-suffix cpp --no-signals --no-skel $SOURCE',
-			suffix='_stub.cpp', src_suffix='.kidl')
-	## DOCUMENTATION
-	env['BUILDERS']['Meinproc']=Builder(action='$MEINPROC --check --cache $TARGET $SOURCE',suffix='.cache.bz2')
-	## TRANSLATIONS
-	env['BUILDERS']['Transfiles']=Builder(action='$MSGFMT $SOURCE -o $TARGET',suffix='.gmo',src_suffix='.po')
-
-	## Handy helpers for building kde programs
-	## You should not have to modify them ..
-
-	ui_ext = [".ui"]
-	kcfg_ext = ['.kcfgc']
-	header_ext = [".h", ".hxx", ".hpp", ".hh"]
-	cpp_ext = [".cpp", ".cxx", ".cc"]
-	skel_ext = [".skel", ".SKEL"]
-	stub_ext = [".stub", ".STUB"]
-
-	def KDEfiles(lenv, target, source):
-		""" Returns a list of files for scons (handles kde tricks like .skel) 
-		It also makes custom checks against double includes like : ['file.ui', 'file.cpp']
-		(file.cpp is already included because of file.ui) """
-
-		q_object_search = re.compile(r'[^A-Za-z0-9]Q_OBJECT[^A-Za-z0-9]')
-		def scan_moc(bs, file_cpp):
-			addfile=None
-			# try to find the header
-			h_ext=''
-			for n_h_ext in header_ext:
-				if os.path.isfile(bs+n_h_ext):
-					h_ext=n_h_ext
-					break
-			# We have the header corresponding to the cpp file
-			if h_ext:
-				needscan=0
-				# User asked for fasmoc, try to avoid scanning
-				if env.has_key('BKSYS_FASTMOC'):
-					if os.path.isfile(bs+'.moc'):
-						lenv.Moc(bs+h_ext)
-					elif os.path.isfile(bs+'_moc.cpp'):
-						lenv.Moccpp(bs+h_ext)
-						addfile=bs+'_moc.cpp'
-					else:
-						#print "need scanning "+os.getcwd()+'/'+bs+".moc"
-						needscan=1
-				else:
-					needscan=1
-				# We cannot avoid scanning the files ...
-				if needscan:
-					file_h=bs+h_ext
-					h_contents = open(file_h, 'rb').read()
-					if q_object_search.search(h_contents):
-						# we know now there is Q_OBJECT macro
-						lst = bs.split('/')
-						val = lst[ len(lst) - 1 ]
-						reg = '\n\s*#include\s*("|<)'+val+'.moc("|>)'
-						meta_object_search = re.compile(reg)
-						cpp_contents = open(file_cpp, 'rb').read()
-						if meta_object_search.search(cpp_contents):
-							lenv.Moc(file_h)
-						else:
-							lenv.Moccpp(file_h)
-							addfile=bs+'_moc.cpp'
-							print "WARNING: moc.cpp for "+bs+h_ext+" consider using #include <file.moc> instead"
-			return addfile
-
-		src=[]
-		ui_files=[]
-		kcfg_files=[]
-		other_files=[]
-		kidl=[]
-
-		source_=lenv.make_list(source)
-
-		# For each file, check wether it is a dcop file or not, and create the complete list of sources
-		for file in source_:
-			bs  = SCons.Util.splitext(file)[0]
-			ext = SCons.Util.splitext(file)[1]
-			if ext in skel_ext:
-				if not bs in kidl:
-					kidl.append(bs)
-				lenv.Dcop(bs+'.kidl')
-				src.append(bs+'_skel.cpp')
-			elif ext in stub_ext:
-				if not bs in kidl:
-					kidl.append(bs)
-				lenv.Stub(bs+'.kidl')
-				src.append(bs+'_stub.cpp')
-			elif ext == ".moch":
-				lenv.Moccpp(bs+'.h')
-				src.append(bs+'_moc.cpp')
-			elif ext in cpp_ext:
-				src.append(file)
-				if not env.has_key('NOMOCFILE'):
-					ret = scan_moc(bs, file)
-					if ret:
-						src.append( ret )
-			elif ext in ui_ext:
-				lenv.Uic(file)
-				src.append(bs+'.cpp')
-			elif ext in kcfg_ext:
-				lenv.Kcfg(file)
-				src.append(bs+'.cpp')
-			else:
-				src.append(file)
-
-		for base in kidl:
-			lenv.Kidl(base+'.h')
-		
-		# Now check against typical newbie errors
-		for file in ui_files:
-			for ofile in other_files:
-				if ofile == file:
-					print RED+"WARNING: You have included "+file+".ui and another file of the same prefix"+NORMAL
-					print "Files generated by uic-tqt (file.h, file.cpp must not be included"
-		for file in kcfg_files:
-			for ofile in other_files:
-				if ofile == file:
-					print RED+"WARNING: You have included "+file+".kcfg and another file of the same prefix"+NORMAL
-					print "Files generated by kconfig_compiler (settings.h, settings.cpp) must not be included"
-		return src
-
-
-	""" In the future, these functions will contain the code that will dump the
-	configuration for re-use from an IDE """
-	import glob
-	def KDEinstall(lenv, restype, subdir, files):
-		if env.has_key('DUMPCONFIG'):
-			print "<install type=\"%s\" subdir=\"%s\">" % (restype, subdir)
-			for i in lenv.make_list(files):
-				print "    <file name=\"%s\"/>" % i
-			print "</install>"
-			return
-
-		if not env['_INSTALL']:
-			return
-		dir = getInstDirForResType(lenv, restype)
-		install_list = lenv.bksys_install(dir+'/'+subdir, files, nodestdir=1)
-		return install_list
-
-	def KDEinstallas(lenv, restype, destfile, file):
-		if not env['_INSTALL']:
-			return
-		dir = getInstDirForResType(lenv, restype)
-		install_list = lenv.InstallAs(dir+'/'+destfile, file)
-                env.Alias('install', install_list)
-		return install_list
-
-	def KDEprogram(lenv, target, source, 
-			includes='', localshlibs='', globallibs='', globalcxxflags=''):
-		""" Makes a kde program 
-		The program is installed except if one sets env['NOAUTOINSTALL'] """
-		src = KDEfiles(lenv, target, source)
-		program_list = lenv.Program(target, src)
-
-		# we link the program against a shared library done locally, add the dependency
-		if not lenv.has_key('nosmart_includes'):
-			lenv.AppendUnique(CPPPATH=['./'])
-		if len(localshlibs)>0:
-			lst=lenv.make_list(localshlibs)
-			lenv.link_local_shlib(lst)
-			lenv.Depends( program_list, lst )
-			
-		if len(includes)>0:
-			lenv.KDEaddpaths_includes(includes)
-		if len(globallibs)>0:
-			lenv.KDEaddlibs(globallibs)
-		if len(globalcxxflags)>0:
-			lenv.KDEaddflags_cxx(globalcxxflags)
-		
-		if not lenv.has_key('NOAUTOINSTALL'):
-			KDEinstall(lenv, 'KDEBIN', '', target)
-		return program_list
-
-	def KDEshlib(lenv, target, source, kdelib=0, libprefix='lib', 
-			includes='', localshlibs='', globallibs='', globalcxxflags='', vnum=''):
-		""" Makes a shared library for kde (.la file for klibloader)
-		The library is installed except if one sets env['NOAUTOINSTALL'] """
-		src = KDEfiles(lenv, target, source)
-
-		if not lenv.has_key('nosmart_includes'):
-			lenv.AppendUnique(CPPPATH=['./'])
-		# we link the program against a shared library done locally, add the dependency
-		lst=[]
-		if len(localshlibs)>0:
-			lst=lenv.make_list(localshlibs)
-			lenv.link_local_shlib(lst)
-		if len(includes)>0:
-			lenv.KDEaddpaths_includes(includes)
-		if len(globallibs)>0:
-			lenv.KDEaddlibs(globallibs)
-		if len(globalcxxflags)>0:
-			lenv.KDEaddflags_cxx(globalcxxflags)
-
-		restype = 'KDEMODULE'
-		if kdelib==1:
-			restype = 'KDELIB'
-
-		library_list = lenv.bksys_shlib(target, src, getInstDirForResType(lenv, restype), libprefix, vnum, nodestdir=1)
-		if len(lst)>0: lenv.Depends( library_list, lst )
-
-		return library_list
-
-	def KDEstaticlib(lenv, target, source):
-		""" Makes a static library for kde - in practice you should not use static libraries 
-		1. they take more memory than shared ones
-		2. makefile.am needed it because of limitations
-		(cannot handle sources in separate folders - takes extra processing) """
-		if not lenv.has_key('nosmart_includes'):
-			lenv.AppendUnique(CPPPATH=['./'])
-		src = KDEfiles(lenv, target, source)
-		return lenv.StaticLibrary(target, src)
-		# do not install static libraries by default
-
-	def KDEaddflags_cxx(lenv, fl):
-		""" Compilation flags for C++ programs """
-		lenv.AppendUnique(CXXFLAGS = lenv.make_list(fl))
-	
-	def KDEaddflags_c(lenv, fl):
-		""" Compilation flags for C programs """
-		lenv.AppendUnique(CFLAGS = lenv.make_list(fl))
-
-	def KDEaddflags_link(lenv, fl):
-		""" Add link flags - Use this if KDEaddlibs below is not enough """
-		lenv.PrependUnique(LINKFLAGS = lenv.make_list(fl))
-
-	def KDEaddlibs(lenv, libs):
-		""" Helper function """
-		lenv.AppendUnique(LIBS = lenv.make_list(libs))
-
-	def KDEaddpaths_includes(lenv, paths):
-		""" Add new include paths """
-		lenv.AppendUnique(CPPPATH = lenv.make_list(paths))
-
-	def KDEaddpaths_libs(lenv, paths):
-		""" Add paths to libraries """
-		lenv.PrependUnique(LIBPATH = lenv.make_list(paths))
-
-	def KDElang(lenv, folder, appname):
-		""" Process translations (.po files) in a po/ dir """
-		transfiles = glob.glob(folder+'/*.po')
-		for lang in transfiles:
-			result = lenv.Transfiles(lang)
-			country = SCons.Util.splitext(result[0].name)[0]
-			KDEinstallas(lenv, 'KDELOCALE', country+'/LC_MESSAGES/'+appname+'.mo', result)
-
-	def KDEicon(lenv, icname='*', path='./', restype='KDEICONS', subdir=''):
-		"""Contributed by: "Andrey Golovizin" <grooz()gorodok()net>
-		modified by "Martin Ellis" <m.a.ellis()ncl()ac()uk>
-
-		Installs icons with filenames such as cr22-action-frame.png into 
-		KDE icon hierachy with names like icons/crystalsvg/22x22/actions/frame.png.
-		
-		Global KDE icons can be installed simply using env.KDEicon('name').
-		The second parameter, path, is optional, and specifies the icons
-		location in the source, relative to the SConscript file.
-
-		To install icons that need to go under an applications directory (to
-		avoid name conflicts, for example), use e.g.
-		env.KDEicon('name', './', 'KDEDATA', 'appname/icons')"""
-
-		if env.has_key('DUMPCONFIG'):
-			print "<icondirent subdir=\"%s\">" % (path+subdir)
-			return
-
-		type_dic = { 'action' : 'actions', 'app' : 'apps', 'device' : 
-			'devices', 'filesys' : 'filesystems', 'mime' : 'mimetypes' } 
-		dir_dic = {
-		'los'  :'locolor/16x16',
-		'lom'  :'locolor/32x32',
-		'him'  :'hicolor/32x32',
-		'hil'  :'hicolor/48x48',
-		'lo16' :'locolor/16x16',
-		'lo22' :'locolor/22x22',
-		'lo32' :'locolor/32x32',
-		'hi16' :'hicolor/16x16',
-		'hi22' :'hicolor/22x22',
-		'hi32' :'hicolor/32x32',
-		'hi48' :'hicolor/48x48',
-		'hi64' :'hicolor/64x64',
-		'hi128':'hicolor/128x128',
-		'hisc' :'hicolor/scalable',
-		'cr16' :'crystalsvg/16x16',
-		'cr22' :'crystalsvg/22x22',
-		'cr32' :'crystalsvg/32x32',
-		'cr48' :'crystalsvg/48x48',
-		'cr64' :'crystalsvg/64x64',
-		'cr128':'crystalsvg/128x128',
-		'crsc' :'crystalsvg/scalable'
-		}
-
-		iconfiles = []
-		for ext in "png xpm mng svg svgz".split():
-			files = glob.glob(path+'/'+'*-*-%s.%s' % (icname, ext))
-			iconfiles += files
-		for iconfile in iconfiles:
-			lst = iconfile.split('/')
-			filename = lst[ len(lst) - 1 ]
-			tmp = filename.split('-')
-			if len(tmp)!=3:
-				print RED+'WARNING: icon filename has unknown format: '+iconfile+NORMAL
-				continue
-			[icon_dir, icon_type, icon_filename]=tmp
-			try:
-				basedir=getInstDirForResType(lenv, restype)
-				destfile = '%s/%s/%s/%s/%s' % (basedir, subdir, dir_dic[icon_dir], type_dic[icon_type], icon_filename)
-			except KeyError:
-				print RED+'WARNING: unknown icon type: '+iconfile+NORMAL
-				continue
-			## Do not use KDEinstallas here, as parsing from an ide will be necessary
-			if env['_INSTALL']: 
-				env.Alias('install', env.InstallAs( destfile, iconfile ) )
-
-        ## This function uses env imported above
-        def docfolder(lenv, folder, lang, destination=""):
-                # folder is the folder to process
-                # lang is the language
-                # destination is the subdirectory in KDEDOC
-                docfiles = glob.glob(folder+"/???*.*") # file files that are at least 4 chars wide :)
-                # warn about errors
-                #if len(lang) != 2:
-                #       print "error, lang must be a two-letter string, like 'en'"
-
-                # when the destination is not given, use the folder
-                if len(destination) == 0:
-                        destination=folder
-                docbook_list = []
-                for file in docfiles:
-                        # do not process folders
-                        if not os.path.isfile(file):
-                                continue
-                        # do not process the cache file
-                        if file == 'index.cache.bz2':
-                                continue
-                        # ignore invalid files (TODO??)
-                        if len( SCons.Util.splitext( file ) ) <= 1 :
-                                continue
-
-                        ext = SCons.Util.splitext( file )[1]
-
-                        # docbook files are processed by meinproc
-                        if ext != '.docbook':
-				continue
-                        docbook_list.append( file )
-                        lenv.KDEinstall('KDEDOC', lang+'/'+destination, file)
-                # Now process the index.docbook files ..
-                if len(docbook_list) == 0:
-                        return
-                if not os.path.isfile( folder+'/index.docbook' ):
-                        print "Error, index.docbook was not found in "+folder+'/index.docbook'
-                        return
-	        ## Define this to 1 if you are writing documentation else to 0 :)
-                if env.has_key('i_am_a_documentation_writer'):
-                        for file in docbook_list:
-                                lenv.Depends( folder+'index.cache.bz2', file )
-                lenv.Meinproc( folder+'/index.cache.bz2', folder+'/index.docbook' )
-                lenv.KDEinstall( 'KDEDOC', lang+'/'+destination, folder+'/index.cache.bz2' )
-
-	#valid_targets = "program shlib kioslave staticlib".split()
-	import generic
-	class kobject(generic.genobj):
-		def __init__(self, val, senv=None):
-			if senv: generic.genobj.__init__(self, val, senv)
-			else: generic.genobj.__init__(self, val, env)
-			self.iskdelib=0
-		def it_is_a_kdelib(self): self.iskdelib=1
-		def execute(self):
-			self.lockchdir()
-			if self.orenv.has_key('DUMPCONFIG'):
-				print self.xml()
-				return
-			if (self.type=='shlib' or self.type=='kioslave'):
-				install_dir = 'KDEMODULE'
-				if self.iskdelib==1: install_dir = 'KDELIB'
-				self.instdir=getInstDirForResType(self.orenv, install_dir)
-				self.nodestdir=1
-			elif self.type=='program':
-				self.instdir=getInstDirForResType(self.orenv, 'KDEBIN')
-				self.nodestdir=1
-
-			self.src=KDEfiles(env, self.target, self.source)
-			generic.genobj.execute(self)
-			self.unlockchdir()
-
-                def xml(self):
-                        ret= '<compile type="%s" chdir="%s" target="%s" cxxflags="%s" cflags="%s" includes="%s" linkflags="%s" libpaths="%s" libs="%s" vnum="%s" iskdelib="%s" libprefix="%s">\n' % (self.type, self.chdir, self.target, self.cxxflags, self.cflags, self.includes, self.linkflags, self.libpaths, self.libs, self.vnum, self.iskdelib, self.libprefix)
-                        if self.source:
-                                for i in self.orenv.make_list(self.source):
-                                        ret += '  <source file="%s"/>\n' % i
-                        ret += "</compile>"
-                        return ret
-
-	# Attach the functions to the environment so that SConscripts can use them
-	SConsEnvironment.KDEprogram = KDEprogram
-	SConsEnvironment.KDEshlib = KDEshlib
-	SConsEnvironment.KDEstaticlib = KDEstaticlib
-	SConsEnvironment.KDEinstall = KDEinstall
-	SConsEnvironment.KDEinstallas = KDEinstallas
-	SConsEnvironment.KDElang = KDElang
-	SConsEnvironment.KDEicon = KDEicon
-
-	SConsEnvironment.KDEaddflags_cxx = KDEaddflags_cxx
-	SConsEnvironment.KDEaddflags_c = KDEaddflags_c
-	SConsEnvironment.KDEaddflags_link = KDEaddflags_link
-	SConsEnvironment.KDEaddlibs = KDEaddlibs
-	SConsEnvironment.KDEaddpaths_includes = KDEaddpaths_includes
-	SConsEnvironment.KDEaddpaths_libs = KDEaddpaths_libs
-
-	SConsEnvironment.docfolder = docfolder
-	SConsEnvironment.kobject = kobject
-
diff --git a/bksys/scons-mini.tar.bz2 b/bksys/scons-mini.tar.bz2
deleted file mode 100644
index 53d41bb..0000000
Binary files a/bksys/scons-mini.tar.bz2 and /dev/null differ
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index 7fd1673..4cfb9ae 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -25,8 +25,8 @@ include( ${CMAKE_SOURCE_DIR}/BisonMacros.cmake )
 
 ##### other data ################################
 
-install( FILES abakus.desktop DESTINATION ${XDG_APPS_INSTALL_DIR} )
-install( FILES abakusui.rc DESTINATION ${DATA_INSTALL_DIR} )
+install( FILES abakus.desktop DESTINATION ${APPS_INSTALL_DIR}/Utilities )
+install( FILES abakusui.rc DESTINATION ${DATA_INSTALL_DIR}/abakus )
 
 ##### abakus (executable) #######################
 
diff --git a/src/SConscript b/src/SConscript
deleted file mode 100644
index de53410..0000000
--- a/src/SConscript
+++ /dev/null
@@ -1,88 +0,0 @@
-#! /usr/bin/env python
-## This script demonstrates how to build and install
-## a simple kde program having KconfigXT settings
-## with scons
-##
-## Thomas Nagy, 2004, 2005
-
-## This file can be reused freely for any project (see COPYING)
-
-############################
-## load the config
-
-## Use the environment and the tools set in the top-level
-## SConstruct file (set with 'Export') - this is very important
-
-Import( 'env' )
-myenv=env.Clone()
-
-import os
-from SCons.Script.SConscript import SConsEnvironment
-
-#############################
-## the programs to build
-
-# The sources for our program - only .ui, .skel and .cpp are accepted
-abakus_sources = """
-abakus.cpp
-abakuslistview.cpp
-dragsupport.cpp
-editor.cpp
-evaluator.cpp
-function.cpp
-lexer_lex.cpp
-mainwindow.cpp
-node.cpp
-numerictypes.cpp
-parser_yacc.cpp
-result.cpp
-resultlistview.cpp
-resultlistviewtext.cpp
-rpnmuncher.cpp
-valuemanager.cpp
-dcopIface.skel
-"""
-
-if myenv.get('mpfr', 'no') == 'yes':
-    myenv.Append(LIBS = ['mpfr', 'gmp'])
-else:
-    abakus_sources = abakus_sources + " hmath.cpp number.c"
-
-myenv.KDEprogram( "abakus", abakus_sources )
-myenv.KDEicon( 'abakus' )
-
-# Mark these as being created by flex and bison if it's installed.
-if myenv.Dictionary().has_key('PARSER_INCLUDED'):
-    myenv.CXXFile( "lexer_lex.cpp", "lexer.ll" )
-    myenv.CXXFile( "parser_yacc.cpp", "parser.yy", YACCFLAGS="-d" )
-
-if myenv['HAVE_ASNEEDED']:
-    myenv.Append(LINKFLAGS = '-Wl,--as-needed')
-
-myenv.Append(CXXFLAGS = '-Wno-non-virtual-dtor -I/usr/include/tqt -include tqt.h -DTQT_THREAD_SUPPORT')
-
-############################
-## Customization
-
-## Additional include paths for compiling the source files
-## Always add '../' (top-level directory) because moc makes code that needs it
-myenv.KDEaddpaths_includes('#/src/  #/')
-
-## Necessary libraries to link against
-## FIXME
-if os.path.isfile("/usr/include/tqt3/qlayout.h"):
-    myenv.KDEaddlibs( 'tqt-mt tqt kio tdecore tdeprint tdeui DCOP' )
-else:
-    myenv.KDEaddlibs( 'qt-mt tqt kio tdecore tdeprint tdeui DCOP' )
-
-#############################
-## Data to install
-
-## The ui.rc file and the tips go into datadir/appname/
-myenv.KDEinstall( 'KDEDATA', 'abakus', 'abakusui.rc' )
-
-## Warning : there is a difference between the normal destop file used for the menu
-##     and the servicetype desktop file, so they go in different directories
-##     you will find more information in 'test3'
-myenv.KDEinstall( 'KDEMENU', 'Utilities', 'abakus.desktop')
-
-- 
cgit v1.2.1