-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)
+
+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"))