mirror of
https://github.com/google/pebble.git
synced 2025-03-15 08:41:21 +00:00
70 lines
2.2 KiB
Python
70 lines
2.2 KiB
Python
from os import path
|
|
|
|
def options(opt):
|
|
opt.load('compiler_cxx')
|
|
opt.add_option('--checker', action='store', default='all')
|
|
|
|
def configure(conf):
|
|
conf.env.CXX = 'clang++'
|
|
conf.load('compiler_cxx')
|
|
|
|
conf.env.append_value('DEFINES', ['__STDC_CONSTANT_MACROS',
|
|
'__STDC_LIMIT_MACROS'])
|
|
|
|
conf.check_cfg(msg='Checking for llvm config',
|
|
path='llvm-config',
|
|
package='',
|
|
args='--cxxflags --ldflags --libs --system-libs',
|
|
uselib_store='LLVM')
|
|
|
|
clang_libs = ['clang',
|
|
'clangARCMigrate',
|
|
'clangAST',
|
|
'clangASTMatchers',
|
|
'clangAnalysis',
|
|
'clangApplyReplacements',
|
|
'clangBasic',
|
|
'clangCodeGen',
|
|
'clangDriver',
|
|
'clangDynamicASTMatchers',
|
|
'clangEdit',
|
|
'clangFormat',
|
|
'clangFrontend',
|
|
'clangFrontendTool',
|
|
'clangIndex',
|
|
'clangLex',
|
|
'clangParse',
|
|
'clangQuery',
|
|
'clangRename',
|
|
'clangRewrite',
|
|
'clangRewriteFrontend',
|
|
'clangSema',
|
|
'clangSerialization',
|
|
'clangStaticAnalyzerCheckers',
|
|
'clangStaticAnalyzerCore',
|
|
'clangStaticAnalyzerFrontend',
|
|
'clangTooling',
|
|
'clangToolingCore']
|
|
|
|
conf.check_cxx(msg='Checking for clang++',
|
|
uselib_store='CLANG',
|
|
use=['LLVM'],
|
|
lib=clang_libs)
|
|
|
|
def build(bld):
|
|
checkers = []
|
|
|
|
if bld.options.checker == 'all':
|
|
checkers = bld.path.ant_glob('*.cpp')
|
|
else:
|
|
checkers = [ bld.path.make_node(bld.options.checker) ]
|
|
|
|
for checker in checkers:
|
|
source = [ checker ]
|
|
target = checker.change_ext('.dylib')
|
|
bld.shlib(source=source,
|
|
target=target,
|
|
use=['CLANG', 'LLVM'],
|
|
cppflags=['-fno-rtti', '-std=c++11', '-fPIC'])
|
|
|
|
# vim:filetype=python
|