From cccb5f09ec553dd61c2fbdbd8e4ace575ef3cb33 Mon Sep 17 00:00:00 2001 From: Dan Hirsch <thequux@upstandinghackers.com> Date: Thu, 12 Sep 2013 10:39:50 -0700 Subject: [PATCH] Added build system for C++ --- SConstruct | 5 +++++ src/SConscript | 12 ++++++++++-- 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/SConstruct b/SConstruct index dc8c3346..2032613c 100644 --- a/SConstruct +++ b/SConstruct @@ -29,8 +29,13 @@ else: if os.getenv("CC") == "clang": env.Replace(CC="clang", CXX="clang++") + +#rootpath = env['ROOTPATH'] = os.path.abspath('.') +#env.Append(CPPPATH=os.path.join('#', "hammer")) + Export('env') + env.SConscript(["src/SConscript"], variant_dir='build/$VARIANT/src') env.SConscript(["examples/SConscript"], variant_dir='build/$VARIANT/examples') diff --git a/src/SConscript b/src/SConscript index e87a038c..86360198 100644 --- a/src/SConscript +++ b/src/SConscript @@ -1,6 +1,8 @@ # -*- python -*- Import('env') +bindings = [] + parsers = ['parsers/%s.c'%s for s in ['action', 'and', @@ -50,11 +52,17 @@ tests = ['t_benchmark.c', 't_grammar.c', 't_misc.c'] -libhammer = env.SharedLibrary('hammer', parsers + backends + misc_hammer_parts) -libhammer = env.StaticLibrary('hammer', parsers + backends + misc_hammer_parts) +libhammer_shared = env.SharedLibrary('hammer', parsers + backends + misc_hammer_parts) +libhammer_static = env.StaticLibrary('hammer', parsers + backends + misc_hammer_parts) + + testenv = env.Clone() testenv.ParseConfig('pkg-config --cflags --libs glib-2.0') testenv.Append(LIBS=['hammer'], LIBPATH=['.']) testenv.Program('test_suite', tests + ['test_suite.c']) +Export("libhammer_static libhammer_shared") + +for b in bindings: + env.SConscript(["bindings/%s/SConscript" % b]) -- GitLab