blob: e31008f8a5b87d774a000b8a88d54d7ae3e8b06e (
plain)
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
|
# file : build2/buildfile
# copyright : Copyright (c) 2014-2017 Code Synthesis Ltd
# license : MIT; see accompanying LICENSE file
import libs = libbutl%lib{butl}
import libs += libpkgconf%lib{pkgconf}
exe{b}: cxx{b} libu{b}
libu{b}: {hxx ixx txx cxx}{** -b -b-options -version} \
{hxx ixx cxx}{b-options} {hxx}{version} \
$libs
hxx{version}: in{version} $src_root/file{manifest}
# Pass our compiler target to be used as build2 host.
#
obj{b context}: cxx.poptions += -DBUILD2_HOST_TRIPLET=\"$cxx.target\"
if ($cxx.target.class != "windows")
cxx.libs += -lpthread
else
{
# Adjust stack size (affects all threads).
#
if ($cxx.target.cpu == "x86_64")
stack_size = 8388608 # 8M
else
stack_size = 4194304 # 4M
if ($cxx.class == 'msvc')
cxx.loptions += "/STACK:$stack_size"
else
cxx.loptions += "-Wl,--stack,$stack_size"
}
# Generated options parser.
#
if $cli.configured
{
cli.cxx{b-options}: cli{b}
cli.options += -I $src_root --include-with-brackets --include-prefix build2 \
--guard-prefix BUILD2 --cxx-prologue "#include <build2/types-parsers.hxx>" \
--cli-namespace build2::cl --generate-file-scanner --keep-separator \
--generate-parse --generate-specifier
# Usage options.
#
cli.options += --suppress-undocumented --long-usage --ansi-color \
--page-usage 'build2::print_$name$_' --option-length 20
# Include the generated cli files into the distribution and don't remove
# them when cleaning in src (so that clean results in a state identical to
# distributed).
#
cli.cxx{*}: dist = true
cli.cxx{*}: clean = ($src_root != $out_root)
}
|