X-Git-Url: http://g0dil.de/git?a=blobdiff_plain;f=SConstruct;h=22a95af9deafdd47a83bb755414294b325f24266;hb=eef5ce1509f25480ab70091c9894f05a175bc80c;hp=391fb038ce5b97dd845fe45e5f3bc57443267533;hpb=f5ca463966327288e825764fbee26b92f07cbd6a;p=senf.git diff --git a/SConstruct b/SConstruct index 391fb03..22a95af 100644 --- a/SConstruct +++ b/SConstruct @@ -6,7 +6,32 @@ import SENFSCons ########################################################################### -# Load utilities and setup libraries +def updateRevision(target, source, env): + rev = env['ENV']['REVISION'][1:] + if ':' in rev: + print + print "Working copy not clean. Run 'svn update'" + print + return 1 + if 'm' in rev and not ARGUMENTS.get('force_deb'): + print + print "Working copy contains local changes. Commit first" + print + return 1 + if 's' in rev: + rev = rev[:-1] + if 'm' in rev: + rev = rev[:-1] + changelog = file('debian/changelog.template').read() % { + 'rev': rev, + 'user': pwd.getpwuid(os.getuid()).pw_gecos.split(',')[0].strip(), + 'date': time.strftime("%a, %d %b %Y %H:%M:%S +0000", time.gmtime()) } + file('debian/changelog','w').write(changelog) + + +########################################################################### +# Load utilities and setup libraries and configure build + SENFSCons.UseBoost() SENFSCons.UseSTLPort() env = SENFSCons.MakeEnvironment() @@ -28,7 +53,6 @@ if os.environ.get('debian_build'): else: rev = 'r' + os.popen("svnversion").read().strip().lower() -# Configure build env.Append( CPPPATH = [ '#' ], LIBS = [ 'iberty', '$BOOSTREGEXLIB' ], @@ -43,53 +67,38 @@ env.Append( Export('env') -# Build modules (that is, instruct to build ... the build happens later) +# 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")) + +########################################################################### +# Define build targets + SConscript(glob.glob("*/SConscript")) 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') -def updateRevision(target, source, env): - rev = env['ENV']['REVISION'][1:] - if ':' in rev: - print - print "Working copy not clean. Run 'svn update'" - print - return 1 - if 'm' in rev and not ARGUMENTS.get('force_deb'): - print - print "Working copy contains local changes. Commit first" - print - return 1 - if 's' in rev: - rev = rev[:-1] - if 'm' in rev: - rev = rev[:-1] - changelog = file('debian/changelog.template').read() % { - 'rev': rev, - 'user': pwd.getpwuid(os.getuid()).pw_gecos.split(',')[0].strip(), - 'date': time.strftime("%a, %d %b %Y %H:%M:%S +0000", time.gmtime()) } - file('debian/changelog','w').write(changelog) +# Build combined library 'libsenf' +libsenf = env.Library( + SENFSCons.LibPath('senf'), + Flatten([ env.File(SENFSCons.LibPath(lib)).sources for lib in env['ALLLIBS'] ])) +env.Default(libsenf) +env.Alias('install_all', env.Install('$LIBINSTALLDIR', libsenf)) -if not os.environ.get('debian_build'): - env.AlwaysBuild( - env.Alias('deb', [], [ updateRevision, - "dpkg-buildpackage -us -uc -rfakeroot -I.svn" ])) +env.AlwaysBuild( + env.Alias('deb', [], [ updateRevision, + "dpkg-buildpackage -us -uc -rfakeroot -I.svn" ])) - env.AlwaysBuild( - env.Alias('debsrc', [], [ updateRevision, - "dpkg-buildpackage -us -uc -rfakeroot -S -I.svn" ])) +env.AlwaysBuild( + env.Alias('debsrc', [], [ updateRevision, + "dpkg-buildpackage -us -uc -rfakeroot -S -I.svn" ])) - env.AlwaysBuild( - env.Alias('debbin', [], [ updateRevision, - "dpkg-buildpackage -us -uc -rfakeroot -nc" ])) - -# 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")) +env.AlwaysBuild( + env.Alias('debbin', [], [ updateRevision, + "dpkg-buildpackage -us -uc -rfakeroot -nc" ]))