From 111f9ae3232e986222a2ef41b4af0d083f4f797e Mon Sep 17 00:00:00 2001 From: David Robillard Date: Tue, 25 Jan 2011 21:41:14 +0000 Subject: Add `amalgamate' waf target for building single source file distribution. git-svn-id: http://svn.drobilla.net/serd/trunk@78 490d8e77-9747-427b-9fa3-0b8f29cee8a0 --- src/env.c | 2 ++ src/node.c | 2 ++ src/reader.c | 2 ++ src/uri.c | 2 ++ src/writer.c | 2 ++ wscript | 24 ++++++++++++++++++++++++ 6 files changed, 34 insertions(+) diff --git a/src/env.c b/src/env.c index ac987ccc..3d64d2b1 100644 --- a/src/env.c +++ b/src/env.c @@ -15,6 +15,8 @@ * along with this program. If not, see . */ +/** @file env.c */ + #include #include #include diff --git a/src/node.c b/src/node.c index 01904375..0b306489 100644 --- a/src/node.c +++ b/src/node.c @@ -15,6 +15,8 @@ * along with this program. If not, see . */ +/** @file node.c */ + #include #include diff --git a/src/reader.c b/src/reader.c index 913f3197..226c359a 100644 --- a/src/reader.c +++ b/src/reader.c @@ -15,6 +15,8 @@ * along with this program. If not, see . */ +/** @file reader.c */ + #include #include #include diff --git a/src/uri.c b/src/uri.c index 53247fb2..997489ba 100644 --- a/src/uri.c +++ b/src/uri.c @@ -15,6 +15,8 @@ * along with this program. If not, see . */ +/** @file uri.c */ + #include #include #include diff --git a/src/writer.c b/src/writer.c index d06e906c..5f08df62 100644 --- a/src/writer.c +++ b/src/writer.c @@ -15,6 +15,8 @@ * along with this program. If not, see . */ +/** @file writer.c */ + #include #include #include diff --git a/wscript b/wscript index 067b3629..5c4af7dd 100644 --- a/wscript +++ b/wscript @@ -5,6 +5,7 @@ import autowaf import filecmp import glob import os +import shutil import subprocess # Version of this package (even if built as a child) @@ -113,6 +114,29 @@ def build(bld): def lint(ctx): subprocess.call('cpplint.py --filter=-whitespace,+whitespace/comments,-build/header_guard,-readability/casting,-readability/todo src/* serd/*', shell=True) +def amalgamate(ctx): + shutil.copy('serd/serd.h', 'build/serd-%s.h' % SERD_VERSION) + amalgamation = open('build/serd-%s.c' % SERD_VERSION, 'w') + + serd_internal_h = open('src/serd_internal.h') + for l in serd_internal_h: + amalgamation.write(l) + serd_internal_h.close() + + for f in 'env.c node.c reader.c uri.c writer.c'.split(): + fd = open('src/' + f) + header = True + for l in fd: + if header: + if l == ' */\n': + header = False + else: + if l != '#include "serd_internal.h"\n': + amalgamation.write(l) + fd.close() + + amalgamation.close() + def test(ctx): try: os.makedirs('build/tests') -- cgit v1.2.1