blob: ff04ae51fb6741a7fb7e517764350ff0d5a9956f (
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
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
|
# file : mod/buildfile
# license : MIT; see accompanying LICENSE file
define mod: libs
mod{*}:
{
bin.lib.prefix = mod_
backlink = true # Backlink in forwarded configurations.
install = libexec/
}
import libs = libcmark-gfm%lib{cmark-gfm}
import libs += libcmark-gfm-extensions%lib{cmark-gfm-extensions}
import libs += libodb%lib{odb}
import libs += libodb-pgsql%lib{odb-pgsql}
import libs += libbutl%lib{butl}
import libs += libbpkg%lib{bpkg}
import libs += libbbot%lib{bbot}
include ../libbrep/
include ../web/xhtml/
include ../web/server/
./: mod{brep} {libue libus}{mod}
libu_src = options-types types-parsers build-target-config
mod{brep}: {hxx ixx txx cxx}{* -module-options -{$libu_src}} \
libus{mod} ../libbrep/lib{brep} ../web/server/libus{web-server} \
$libs
{libue libus}{mod}: {hxx ixx cxx}{module-options} \
{hxx ixx txx cxx}{+{$libu_src} } \
$libs
# Add support for tenant-associated service notifications to the CI module for
# the debugging of the notifications machinery.
#
cxx.poptions += -DBREP_CI_TENANT_SERVICE
cxx.poptions += -DBREP_CI_TENANT_SERVICE_UNLOADED
libus{mod}: ../web/xhtml/libus{xhtml}
libue{mod}: ../web/xhtml/libue{xhtml}
# Generated options parser.
#
if $cli.configured
{
cli.cxx{module-options}: cli{module}
# Set option prefix to the empty value to handle all unknown request
# parameters uniformly with a single catch block.
#
cli.options += --std c++11 -I $src_root --include-with-brackets \
--include-prefix mod --guard-prefix MOD --generate-specifier \
--cxx-prologue "#include <mod/types-parsers.hxx>" \
--cli-namespace brep::cli --generate-file-scanner --option-length 46 \
--generate-modifier --generate-description --option-prefix ""
# 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
clean = ($src_root != $out_root)
}
}
# Don't install any of the module's headers.
#
{hxx ixx txx}{*}: install = false
|