forked from msherif4/kodo
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathwscript
More file actions
146 lines (113 loc) · 4.68 KB
/
wscript
File metadata and controls
146 lines (113 loc) · 4.68 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
#! /usr/bin/env python
# encoding: utf-8
APPNAME = 'kodo'
VERSION = '17.0.0'
def recurse_helper(ctx, name):
if not ctx.has_dependency_path(name):
ctx.fatal('Load a tool to find %s as system dependency' % name)
else:
p = ctx.dependency_path(name)
ctx.recurse([p])
def options(opt):
import waflib.extras.wurf_dependency_bundle as bundle
import waflib.extras.wurf_dependency_resolve as resolve
bundle.add_dependency(opt, resolve.ResolveGitMajorVersion(
name='boost',
git_repository='github.com/steinwurf/external-boost-light.git',
major_version=1))
bundle.add_dependency(opt, resolve.ResolveGitMajorVersion(
name='cpuid',
git_repository='github.com/steinwurf/cpuid.git',
major_version=3))
bundle.add_dependency(opt, resolve.ResolveGitMajorVersion(
name='fifi',
git_repository='github.com/steinwurf/fifi.git',
major_version=11))
bundle.add_dependency(opt, resolve.ResolveGitMajorVersion(
name='gauge',
git_repository='github.com/steinwurf/cxx-gauge.git',
major_version=7))
bundle.add_dependency(opt, resolve.ResolveGitMajorVersion(
name='gtest',
git_repository='github.com/steinwurf/external-gtest.git',
major_version=2))
bundle.add_dependency(opt, resolve.ResolveGitMajorVersion(
name='platform',
git_repository='github.com/steinwurf/platform.git',
major_version=1))
bundle.add_dependency(opt, resolve.ResolveGitMajorVersion(
name='sak',
git_repository='github.com/steinwurf/sak.git',
major_version=10))
bundle.add_dependency(opt, resolve.ResolveGitMajorVersion(
name='tables',
git_repository='github.com/steinwurf/tables.git',
major_version=4))
bundle.add_dependency(opt, resolve.ResolveGitMajorVersion(
name='waf-tools',
git_repository='github.com/steinwurf/external-waf-tools.git',
major_version=2))
opt.load("wurf_configure_output")
opt.load('wurf_dependency_bundle')
opt.load('wurf_dependency_resolve')
opt.load('wurf_tools')
def configure(conf):
if conf.is_toplevel():
conf.load('wurf_dependency_bundle')
conf.load('wurf_tools')
conf.load_external_tool('install_path', 'wurf_install_path')
conf.load_external_tool('mkspec', 'wurf_cxx_mkspec_tool')
conf.load_external_tool('project_gen', 'wurf_project_generator')
conf.load_external_tool('runners', 'wurf_runner')
recurse_helper(conf, 'boost')
recurse_helper(conf, 'cpuid')
recurse_helper(conf, 'fifi')
recurse_helper(conf, 'gauge')
recurse_helper(conf, 'gtest')
recurse_helper(conf, 'platform')
recurse_helper(conf, 'sak')
recurse_helper(conf, 'tables')
conf.recurse('examples/sample_makefile')
def build(bld):
if bld.is_toplevel():
bld.load('wurf_dependency_bundle')
recurse_helper(bld, 'boost')
recurse_helper(bld, 'cpuid')
recurse_helper(bld, 'fifi')
recurse_helper(bld, 'gauge')
recurse_helper(bld, 'gtest')
recurse_helper(bld, 'platform')
recurse_helper(bld, 'sak')
recurse_helper(bld, 'tables')
# Only build test when executed from the
# top-level wscript i.e. not when included as a dependency
# in a recurse call
bld.recurse('test')
bld.recurse('examples/decode_simple')
bld.recurse('examples/encode_decode_file')
bld.recurse('examples/encode_decode_simple')
bld.recurse('examples/encode_decode_storage')
bld.recurse('examples/encode_on_the_fly')
bld.recurse('examples/encode_recode_decode_simple')
bld.recurse('examples/rank_callback')
bld.recurse('examples/sample_makefile')
bld.recurse('examples/sliding_window')
bld.recurse('examples/switch_systematic_on_off')
bld.recurse('examples/use_cache_decode_symbol')
bld.recurse('examples/use_trace_layers')
bld.recurse('benchmark/count_operations')
bld.recurse('benchmark/decoding_probability')
bld.recurse('benchmark/overhead')
bld.recurse('benchmark/throughput')
# Export own includes
bld(name='kodo_includes',
includes='./src',
export_includes='./src',
use=['cpuid', 'fifi'])
# Export unit test includes, these files are useful for testing
# the correctness of encoders and decoders. Since users of kodo
# may define custom encoders and decoders in their own libraries
# or applications we expose the unittest headers here to make them
# easily available
bld(export_includes='./test/src',
name='kodo_unit_test_includes')