aboutsummaryrefslogtreecommitdiffstats
path: root/contrib/restricted/boost/filesystem/.yandex_meta/__init__.py
blob: 119145ca84342c501b3e7260def4cb319b1888f7 (plain) (blame)
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,
)