X-Git-Url: http://g0dil.de/git?a=blobdiff_plain;f=site_scons%2Fsenfutil.py;h=546846363b91f8fb4c7bc712ba048d7bb85d7cc5;hb=b6acba899f44ba9422476022c775cef823fc9337;hp=9a4578b776f4800380171294486e2d755b5e8345;hpb=3a89de27838820f859f586854574b19eeca9a559;p=senf.git diff --git a/site_scons/senfutil.py b/site_scons/senfutil.py index 9a4578b..5468463 100644 --- a/site_scons/senfutil.py +++ b/site_scons/senfutil.py @@ -31,6 +31,13 @@ class BuildTypeOptions: type = env['final'] and "final" or env['debug'] and "debug" or "normal" return env[self._var + "_" + type] +def loadTools(env): + global senfutildir + tooldir = os.path.join(senfutildir, 'site_tools') + for tool in os.listdir(tooldir): + name, ext = os.path.splitext(tool) + if ext == '.py' and name != "__init__" : env.Tool(name, [ tooldir ]) + def parseArguments(env, *defs): vars = Variables(args=ARGUMENTS) for d in defs : vars.Add(d) @@ -64,13 +71,8 @@ Special command line parameters: def SetupForSENF(env, senf_path = []): global senfutildir senf_path.extend(('senf', os.path.dirname(senfutildir), '/usr/local', '/usr')) - tooldir = os.path.join(senfutildir, 'site_tools') - env.Tool('Boost', [ tooldir ]) - env.Tool('PhonyTarget', [ tooldir ]) - env.Tool('Yaptu', [ tooldir ]) - env.Tool('CopyToDir', [ tooldir ]) - env.Tool('Doxygen', [ tooldir ]) + loadTools(env) env.Append( LIBS = [ 'senf', 'rt', '$BOOSTREGEXLIB', @@ -173,12 +175,17 @@ def DefaultOptions(env): ) def Glob(env, exclude=[], subdirs=[]): - testSources = glob.glob("*.test.cc") - sources = [ x for x in glob.glob("*.cc") if x not in testSources and x not in exclude ] + testSources = env.Glob("*.test.cc", strings=True) + sources = [ x + for x in env.Glob("*.cc", strings=True) + if x not in testSources and x not in exclude ] for subdir in subdirs: - testSources += glob.glob(os.path.join(subdir,"*.test.cc")) - sources += [ x for x in glob.glob(os.path.join(subdir,"*.cc")) + testSources += env.Glob(os.path.join(subdir,"*.test.cc"), strings=True) + sources += [ x + for x in env.Glob(os.path.join(subdir,"*.cc"), strings=True) if x not in testSources and x not in exclude ] + sources.sort() + testSources.sort() return (sources, testSources) tagfiles = None @@ -208,7 +215,9 @@ def Doxygen(env, doxyheader=None, doxyfooter=None, doxycss=None, mydoxyfile=Fals else: for dir, dirs, files in os.walk(senfdocdir): tagfiles.extend([ os.path.join(dir,f) for f in files if f.endswith('.tag') ]) - if dir.endswith('/doc') : dirs.remove('html') + if dir.endswith('/doc') : + try: dirs.remove('html') + except ValueError: pass for d in dirs: if d.startswith('.') : dirs.remove(d)