diff options
author | Chad Austin <chad@imvu.com> | 2013-05-17 12:08:55 -0700 |
---|---|---|
committer | Chad Austin <chad@imvu.com> | 2013-05-17 13:04:02 -0700 |
commit | ec19fe482bf564de68a076ed093af131d502bb30 (patch) | |
tree | ee317bc543e16c363ceb8601cc9dacddd1a8dd91 /scons-tools/llvm.py | |
parent | d641184152923a119b3c2b7fd51acc71997ff0cd (diff) |
Move emscripten SCons tools into emscripten/scons-tools/
Diffstat (limited to 'scons-tools/llvm.py')
-rwxr-xr-x | scons-tools/llvm.py | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/scons-tools/llvm.py b/scons-tools/llvm.py new file mode 100755 index 00000000..2e03caa3 --- /dev/null +++ b/scons-tools/llvm.py @@ -0,0 +1,26 @@ +from SCons.Scanner.Prog import scan +from SCons.Builder import Builder + +def exists(env): + return True + +def add_libraries(target, source, env): + unique = [] + lib_nodes = set() + for x in scan(None, env, tuple(map(env.Dir, env['LIBPATH']))): + if x in lib_nodes: + continue + lib_nodes.add(x) + unique.append(x) + return (target, source + unique) + +def generate(env): + env['BUILDERS']['LLVMDis'] = Builder( + action='${LLVM_ROOT}/llvm-dis -o=$TARGET $SOURCE') + + env['BUILDERS']['LLVMOpt'] = Builder( + action='${LLVM_ROOT}/opt $LLVM_OPT_FLAGS $LLVM_OPT_PASSES -o=$TARGET $SOURCE') + + env['BUILDERS']['LLVMLink'] = Builder( + action='${LLVM_ROOT}/llvm-link -o=$TARGET $SOURCES', + emitter=add_libraries) |