X-Git-Url: http://g0dil.de/git?a=blobdiff_plain;f=site_scons%2Fsenfutil.py;h=2c88b6402e2d30012773def0eccd7f8066c40ed9;hb=52ceda9d4019d45ef0d1a941d517b4ffeafe547b;hp=9a4578b776f4800380171294486e2d755b5e8345;hpb=3a89de27838820f859f586854574b19eeca9a559;p=senf.git diff --git a/site_scons/senfutil.py b/site_scons/senfutil.py index 9a4578b..2c88b64 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,22 +71,13 @@ 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', '$BOOSTIOSTREAMSLIB', '$BOOSTSIGNALSLIB', '$BOOSTFSLIB' ], - BOOSTREGEXLIB = 'boost_regex', - BOOSTIOSTREAMSLIB = 'boost_iostreams', - BOOSTSIGNALSLIB = 'boost_signals', - BOOSTFSLIB = 'boost_filesystem', CXXFLAGS = [ '-Wno-long-long', '$CXXFLAGS_' ], CXXFLAGS_ = BuildTypeOptions('CXXFLAGS'), @@ -173,12 +171,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 +211,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) @@ -253,7 +258,8 @@ def Doxygen(env, doxyheader=None, doxyfooter=None, doxycss=None, mydoxyfile=Fals 'tagfiles' : '$TAGFILES', 'output_dir' : 'doc', 'html_dir' : 'html', - 'html' : 'YES' }, + 'html' : 'YES', + 'DOXYGEN' : '$DOXYGEN' }, TAGFILES = tagfiles, DOCLIBDIR = libdir, DOXYGENCOM = "$DOCLIBDIR/doxygen.sh $DOXYOPTS $SOURCE")