X-Git-Url: http://g0dil.de/git?a=blobdiff_plain;f=SConstruct;h=3d952f49644ffe04bb2be37a0358a0eb9ecc99fe;hb=9a988902090d28007578e93bffd809f6bd913155;hp=04ad6ba3bec798bd643ce924479065a4950a26d9;hpb=558583531d5042ece06b19fcd10132d2d1bc5ad0;p=senf.git diff --git a/SConstruct b/SConstruct index 04ad6ba..3d952f4 100644 --- a/SConstruct +++ b/SConstruct @@ -1,23 +1,49 @@ -import sys, glob -sys.path.append('satscons') -import SatSCons +# -*- python -*- + +import sys, glob, os.path, datetime +sys.path.append('senfscons') +import SENFSCons ########################################################################### -SatSCons.UseBoost(); -SatSCons.UseSTLPort(); -SatSCons.UseDoxygen(); -env = SatSCons.MakeEnvironment(); +# Load subversion information +svninfo = dict( + [ map(lambda y:y.strip(),x.split(":",1)) + for x in os.popen("svn info").read().split("\n") + if ':' in x ] ) +svninfo['commited'] = not(os.popen("svn status -q").read()) + +# Load utilities and setup libraries +SENFSCons.UseBoost() +SENFSCons.UseSTLPort() +env = SENFSCons.MakeEnvironment() +# Configure build env.Append( CPPPATH = [ '#' ], - LIBS = [ 'iberty' ] + LIBS = [ 'iberty' ], + DOXY_XREF_TYPES = [ 'bug', 'fixme', 'todo', 'idea' ], + DOXY_HTML_XSL = '#/doclib/html-munge.xsl', + ENV = { 'TODAY' : str(datetime.date.today()), + 'REVISION' : svninfo['Revision'] + (not(svninfo['commited']) and " + local changes" or ""), + }, ) Export('env') +# Build modules (that is, instruct to build ... the build happens later) SConscript(glob.glob("*/SConscript")) -SatSCons.StandardTargets(env) -SatSCons.GlobalTargets(env) -SatSCons.Doxygen(env, SatSCons.DoxyGlob()) \ No newline at end of file +SENFSCons.StandardTargets(env) +SENFSCons.GlobalTargets(env) +SENFSCons.Doxygen(env, extra_sources = [ + 'Examples/Sniffer/Sniffer.cc', +]) +SENFSCons.DoxyXRef(env, + HTML_HEADER = '#/doclib/doxy-header-overview.html', + HTML_FOOTER = '#/doclib/doxy-footer.html') + +# Create Doxyfile.local if not cleaning and the file does not exist +# otherwise doxygen will barf on this non-existent file +if not env.GetOption('clean') and not os.path.exists("Doxyfile.local"): + Execute(Touch("Doxyfile.local"))