-
Notifications
You must be signed in to change notification settings - Fork 0
/
Jamroot
102 lines (85 loc) · 2.17 KB
/
Jamroot
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
import os ;
import testing ;
# generate a list of toolsets to test
local toolset-choices = ;
# Default toolsets
if [ os.name ] = NT
{
toolset-choices += msvc ;
}
else if [ os.name ] = CYGWIN
{
toolset-choices += gcc ;
}
else if [ os.name ] = LINUX
{
toolset-choices += gcc ;
}
else if [ os.name ] = MACOSX
{
toolset-choices += darwin ;
}
echo "building for the following toolsets:" ;
for local t in $(toolset-choices)
{
echo " * $(t)" ;
}
# NOTE: comment out lines below to disable features
link-choices = shared static ;
#runtime-link-choices = shared static ;
#runtime-debugging-choices = on off ;
optimization-choices = off speed space ;
profiling-choices = off on ;
inlining-choices = off on full ;
threading-choices = single multi ;
rtti-choices = off on ;
exception-handling-choices = off on ;
#asynch-exceptions-choices = off on ;
#extern-c-nothrow-choices = off on ;
debug-symbols-choices = on off ;
strip-choices = off on ;
define-choices = DEFINE0 DEFINE1 ;
undef-choices = UNDEF0 UNDEF1 ;
include-choices = include0 include1 ;
warnings-choices = off on ;
warnings-as-errors-choices = off on ;
options =
<toolset>$(toolset-choices)
<link>$(link-choices)
<runtime-link>$(runtime-link-choices)
<runtime-debugging>$(runtime-debugging-choices)
<optimization>$(optimization-choices)
<profiling>$(profiling-choices)
<inlining>$(inlining-choices)
<threading>$(threading-choices)
<rtti>$(rtti-choices)
<exception-handling>$(exception-handling-choices)
<asynch-exceptions>$(asynch-exceptions-choices)
<extern-c-nothrow>$(extern-c-nothrow-choices)
<debug-symbols>$(debug-symbols-choices)
<strip>$(strip-choices)
<define>$(define-choices)
<undef>$(undef-choices)
<include>$(include-choices)
<warnings>$(warnings-choices)
<warnings-as-errors>$(warnings-as-errors-choices)
;
project
: default-build
$(options)
;
# targets to build
compile a_c.c ;
link main_c.c ;
lib liba_c : a_c.c a_c.h ;
link main_a_c.c liba_c ;
link stdlib_io_c.c ;
link stdlib_c.c ;
run hello_c.c ;
compile a_cpp.cpp ;
link main_cpp.cpp ;
lib liba_cpp : a_cpp.cpp a_cpp.hpp ;
link main_a_cpp.cpp liba_cpp ;
link stdlib_io_cpp.cpp ;
link stdlib_cpp.cpp ;
run hello_cpp.cpp ;