From a7dfc54f859a930fd2f97a8256f13f04185ec594 Mon Sep 17 00:00:00 2001 From: Radim Kolar <> Date: Thu, 30 Jul 2009 18:09:14 +0200 Subject: [PATCH] added gzipbuilder (for manpages) --- SConstruct | 4 ++++ site_scons/gzipBuilder.py | 33 +++++++++++++++++++++++++++++++++ 2 files changed, 37 insertions(+) create mode 100644 site_scons/gzipBuilder.py diff --git a/SConstruct b/SConstruct index e075d4c..3bfdc56 100644 --- a/SConstruct +++ b/SConstruct @@ -12,6 +12,10 @@ EFENCE=False env = Environment(CPPPATH='#/include', LIBPATH=['/usr/lib','/usr/local/lib']) +# Import GZip builder +import gzipBuilder +env['BUILDERS']['GZip']=Builder(action=gzipBuilder.GZip) + #import environment from importer import importEnvironment,importVariable importEnvironment(env,'HOME') diff --git a/site_scons/gzipBuilder.py b/site_scons/gzipBuilder.py new file mode 100644 index 0000000..62051a0 --- /dev/null +++ b/site_scons/gzipBuilder.py @@ -0,0 +1,33 @@ +# +# GZip SCons builder +# +# Version 1.0 +# 16-Jun-2009 +# + +def GZip(target, source, env=None): + """Compress files with gzip using default compression level. + + Compress source files into target files using gzip + compression. No checking on datestamps of possible existing + target file is done, its always overwritten. + + Keyword arguments: + target -- list of compressed files to made + source -- list of files to be compressed + env -- SCons environment (not used) + """ + import gzip + if not isinstance(target, list): + raise TypeError,"target must be list" + elif not isinstance(source, list): + raise TypeError,"source must be list" + for i in range(0,len(target)): + inpf=str(source[i]) + outf=str(target[i]) + out=gzip.open(outf,"wb") + inp=file(inpf,"rb") + out.write(inp.read()) + out.close() + inp.close() + return None