diff --git a/SConstruct b/SConstruct index 9f468c2f04eca99f3fb2a7807d66742e57b6c51e..32acb71e53f3336070cdb092e44b0e76a9e3d77f 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") if not env['PLATFORM'] == 'darwin': env.MergeFlags("-lrt") @@ -43,8 +44,13 @@ if GetOption("coverage"): if os.getenv("CC") == "clang" or env['PLATFORM'] == 'darwin': 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 e87a038cb85568a2d23843be1c52ec0a7ee46c46..8636019847553eedd26a227c56972876b1645110 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])