From 94924da87e014318b48cf0f11cfd46d33bdc55ab Mon Sep 17 00:00:00 2001 From: Dan Hirsch Date: Mon, 28 Oct 2013 09:35:44 -0400 Subject: [PATCH 1/2] Allowed build to grab tools from PATH --- SConstruct | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/SConstruct b/SConstruct index 613d8ad..dc8c334 100644 --- a/SConstruct +++ b/SConstruct @@ -1,8 +1,9 @@ # -*- python -*- import os -env = Environment() +import os.path +env = Environment(ENV = {'PATH' : os.environ['PATH']}) -env.MergeFlags("-std=gnu99 -Wall -Wextra -Werror -Wno-unused-parameter -Wno-attributes") +env.MergeFlags("-std=gnu99 -Wall -Wextra -Werror -Wno-unused-parameter -Wno-attributes -lrt") AddOption("--variant", dest="variant", From cccb5f09ec553dd61c2fbdbd8e4ace575ef3cb33 Mon Sep 17 00:00:00 2001 From: Dan Hirsch Date: Thu, 12 Sep 2013 10:39:50 -0700 Subject: [PATCH 2/2] Added build system for C++ --- SConstruct | 5 +++++ src/SConscript | 12 ++++++++++-- 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/SConstruct b/SConstruct index dc8c334..2032613 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 e87a038..8636019 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])