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
|
from devtools.yamaker import boost
from devtools.yamaker.modules import GLOBAL, Linkable, Switch
from devtools.yamaker.project import NixSourceProject
def post_install(self):
self.yamakes["."] = boost.make_library(
self,
populate_srcs=True,
CFLAGS=[
# Our libc++ does not have std::atomic_ref yet
"-DBOOST_FILESYSTEM_NO_CXX20_ATOMIC_REF",
],
)
with self.yamakes["."] as filesystem:
filesystem.after(
"CFLAGS",
Switch(
OS_LINUX=Linkable(CFLAGS=[GLOBAL("-DBOOST_FILESYSTEM_HAS_POSIX_AT_APIS")]),
),
)
filesystem.after(
"CFLAGS",
Switch(
DYNAMIC_BOOST=Linkable(CFLAGS=[GLOBAL("-DBOOST_FILESYSTEM_DYN_LINK"), "-DBOOST_FILESYSTEM_SOURCE"]),
),
)
boost_filesystem = NixSourceProject(
nixattr="boost_filesystem",
arcdir=boost.make_arcdir("filesystem"),
owners=["g:cpp-contrib", "g:taxi-common"],
copy_sources=[
"include/boost/",
"src/",
],
post_install=post_install,
)
|