1
def CheckPKGConfig(context, version):
2
context.Message('Checking for pkg-config... ')
3
ret = context.TryAction('pkg-config --atleast-pkgconfig-version=%s' % version)[0]
7
def CheckPKG(context, name):
8
context.Message('Checking for %s...' % name)
9
ret = context.TryAction('pkg-config --exists \'%s\'' % name)[0]
15
opts = Variables('custom.py')
18
opts.Add('PROFILE', 'Set to 1 to build profiled version', 0)
19
opts.Add('RELEASE', 'Set to 1 to build release', 0)
20
opts.Add('STATIC', 'Set to 1 to build static executable', 0)
21
opts.Add('ARCH', 'Set to target architecture', 'generic')
23
env = Environment(variables = opts)
25
Help(opts.GenerateHelpText(env))
27
conf = Configure(env, custom_tests = {'CheckPKGConfig' : CheckPKGConfig,
28
'CheckPKG' : CheckPKG})
30
if not conf.CheckPKGConfig('0.18.1'):
31
print 'pkg-config >= 0.18.1 not found.'
34
if not conf.CheckPKG('libxml++-2.6 >= 2.5.0'):
35
print 'libxml++-2.6 >= 2.5.0 not found.'
41
ARCH = ARGUMENTS.get('ARCH', 'generic')
42
RELEASE = ARGUMENTS.get('RELEASE', 0)
43
STATIC = ARGUMENTS.get('STATIC', 0)
44
PROFILE = ARGUMENTS.get('PROFILE', 0)
46
env.ParseConfig('pkg-config --cflags --libs libxml++-2.6')
49
CANDIDATE_ART_FORCE_CAST_FOR_ARTUINT64TOSTR = \
50
ARGUMENTS.get('ART_FORCE_CAST_FOR_ARTUINT64TOSTR', 1)
52
ART_DEBUG_INSERT_DEVEL_COMMENT = \
53
ARGUMENTS.get('ART_DEBUG_INSERT_DEVEL_COMMENT', 0)
57
env.Append(CCFLAGS = '-Wno-deprecated-declarations')
60
env.Append(CCFLAGS = '-pg')
61
env.Append(LINKFLAGS = '-pg')
65
env.Append(CCFLAGS = '-O3')
66
env.Append(CCFLAGS = '-pipe')
68
env.Append(CCFLAGS = '-O3')
69
env.Append(CCFLAGS = '--omit-frame-pointer')
70
env.Append(CCFLAGS = '-pipe')
73
env.Append(CCFLAGS = '-march=' + ARCH)
75
env.Append(CCFLAGS = '-mtune=generic')
78
env.Append(CCFLAGS = '-g')
79
env.Append(CCFLAGS = '-ggdb')
80
env.Append(CCFLAGS = '-Wall')
81
env.Append(CCFLAGS = '-W')
82
env.Append(CCFLAGS = '-Wextra')
83
env.Append(CCFLAGS = '-Werror')
84
env.Append(CCFLAGS = '-O0')
85
env.Append(CCFLAGS = '-std=c++11')
86
env.Append(CCFLAGS = '-DART_DEBUG')
90
env.Append(LINKFLAGS = '-static')
93
if int(CANDIDATE_ART_FORCE_CAST_FOR_ARTUINT64TOSTR):
94
env.Append(CCFLAGS = '-DART_FORCE_CAST_FOR_ARTUINT64TOSTR')
96
if int(ART_DEBUG_INSERT_DEVEL_COMMENT):
97
env.Append(CCFLAGS = '-DART_DEBUG_INSERT_DEVEL_COMMENT')
102
env.SConscript('libs/liblinefetch/SConscript')
103
env.SConscript('libs/libtplreader/SConscript')
104
env.SConscript('artlibgen/src/SConscript')
105
env.SConscript('artrepgen/SConscript')
108
SConsignFile("signatures");