X-Git-Url: http://g0dil.de/git?a=blobdiff_plain;f=site_scons%2Fsenfutil.py;h=275ea1df42fc468f9fe9b8e81ca5a247df1321eb;hb=8871644fd9655c9e62384f6f39ce7c0c6c8dcf30;hp=1ac5680e08cba67899718f84e15629ae483d1cc8;hpb=269adf2f5cc1141c91750f8041a8bc170c8f070a;p=senf.git diff --git a/site_scons/senfutil.py b/site_scons/senfutil.py index 1ac5680..275ea1d 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'), @@ -171,6 +169,11 @@ def DefaultOptions(env): LINKFLAGS_normal = [ '-Wl,-S' ], LINKFLAGS_debug = [ '-g' ], ) + # ugly hack for ubuntu karmic + # ToDo: auto-configure alike support + if os.path.exists('/usr/lib/libboost_regex-mt.so'): + env.Append( BOOST_VARIANT = '-mt' ) + def Glob(env, exclude=[], subdirs=[]): testSources = env.Glob("*.test.cc", strings=True) @@ -178,9 +181,9 @@ def Glob(env, exclude=[], subdirs=[]): for x in env.Glob("*.cc", strings=True) if x not in testSources and x not in exclude ] for subdir in subdirs: - testSources += env.Glob(os.path.join(subdir,"*.test.cc", strings=True)) + 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)) + 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() @@ -260,7 +263,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")