Index: /SConstruct
===================================================================
--- /SConstruct (revision 187)
+++ /SConstruct (revision 187)
@@ -0,0 +1,17 @@
+build_cmds='''
+rm -rf .release;
+mkdir -p `dirname .release/$SOURCE`;
+svn export svn+ssh://sentinelchicken.org/home/projects/subversion/reglookup/$SOURCE .release/$SOURCE;
+#XXX: Can this be less of a hack?
+cd .release/$SOURCE && scons doc && cd ..;
+cd .release && tar cf $SOURCE.tar $SOURCE && gzip -9 $SOURCE.tar;
+mv .release/$SOURCE.tar.gz ..
+'''
+release_builder = Builder(action=build_cmds)
+env['BUILDERS']['Release'] = man_builder
+
+
+env = Environment()
+env.Release('trunk')
+
+Default(None)
Index: /trunk/SConstruct
===================================================================
--- /trunk/SConstruct (revision 187)
+++ /trunk/SConstruct (revision 187)
@@ -0,0 +1,56 @@
+#cflags = '-std=gnu99 -pedantic -Wall'
+cflags = '-std=gnu99 -pedantic -Wall -ggdb'
+
+if True:
+ libiconv_path='/usr/local/src/libiconv-1.13-mingw32-dev'
+ env = Environment(CC='i586-mingw32msvc-cc',
+ CFLAGS=cflags,
+ CPPPATH=['include', '/usr/local/include',
+ libiconv_path+'/include'],
+ LIBPATH=['lib', '/usr/local/lib',
+ libiconv_path+'/lib'],
+ LIBS=['m', 'pthread', 'regfi'])
+else:
+ env = Environment(CFLAGS=cflags,
+ CPPPATH=['include', '/usr/local/include'],
+ LIBPATH=['lib', '/usr/local/lib'],
+ LIBS=['m', 'pthread', 'regfi'])
+
+
+lib_src = ['lib/regfi.c',
+ 'lib/talloc.c',
+ 'lib/winsec.c',
+ 'lib/range_list.c',
+ 'lib/lru_cache.c',
+ 'lib/void_stack.c']
+
+# Libraries
+libregfi_static = env.Library(lib_src)
+libregfi = env.SharedLibrary(lib_src, LIBS=['m','pthread'])
+
+# Executables
+reglookup = env.Program('src/reglookup.c')
+reglookup_recover = env.Program('src/reglookup-recover.c')
+
+# Documentation
+# This only needs to be run during the release/packaging process
+man_fixup = "|sed 's/.SH DESCRIPTION/\\n.SH DESCRIPTION/'"
+man_builder = Builder(action='docbook2x-man --to-stdout $SOURCE'
+ + man_fixup + '| gzip -9 > $TARGET',
+ suffix = '.gz',
+ src_suffix = '.docbook',
+ prefix='man/man1/') # XXX: only works for .1.docbook files...
+env['BUILDERS']['ManPage'] = man_builder
+
+man_reglookup = env.ManPage('doc/reglookup.1.docbook')
+man_reglookup_recover = env.ManPage('doc/reglookup-recover.1.docbook')
+man_reglookup_timeline = env.ManPage('doc/reglookup-timeline.1.docbook')
+
+# User Friendly Targets
+env.Alias('libregfi', libregfi)
+env.Alias('reglookup', reglookup)
+env.Alias('reglookup-recover', reglookup_recover)
+env.Alias('bin', [reglookup_recover, reglookup])
+env.Alias('doc', [man_reglookup,man_reglookup_recover,man_reglookup_timeline])
+
+Default('bin', libregfi)
Index: /trunk/doc/reglookup.1.docbook
===================================================================
--- /trunk/doc/reglookup.1.docbook (revision 186)
+++ /trunk/doc/reglookup.1.docbook (revision 187)
@@ -17,5 +17,5 @@
reglookup [options] registry-file
-
+
@@ -68,5 +68,5 @@
KEY
-
+ .