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
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
|
libutil_sources = files(
'archive.cc',
'args.cc',
'canon-path.cc',
'cgroup.cc',
'compression.cc',
'compute-levels.cc',
'config.cc',
'english.cc',
'error.cc',
'escape-char.cc',
'escape-string.cc',
'exit.cc',
'experimental-features.cc',
'filesystem.cc',
'git.cc',
'hash.cc',
'hilite.cc',
'json-utils.cc',
'logging.cc',
'namespaces.cc',
'position.cc',
'print-elided.cc',
'references.cc',
'serialise.cc',
'shlex.cc',
'signals.cc',
'source-path.cc',
'suggestions.cc',
'tarfile.cc',
'thread-pool.cc',
'url.cc',
'util.cc',
'xml-writer.cc',
)
libutil_headers = files(
'abstract-setting-to-json.hh',
'ansicolor.hh',
'archive.hh',
'args/root.hh',
'args.hh',
'box_ptr.hh',
'callback.hh',
'canon-path.hh',
'cgroup.hh',
'chunked-vector.hh',
'closure.hh',
'comparator.hh',
'compression.hh',
'compute-levels.hh',
'config-impl.hh',
'config.hh',
'english.hh',
'error.hh',
'escape-char.hh',
'escape-string.hh',
'exit.hh',
'experimental-features.hh',
'experimental-features-json.hh',
'finally.hh',
'fmt.hh',
'git.hh',
'hash.hh',
'hilite.hh',
'input-accessor.hh',
'json-impls.hh',
'json-utils.hh',
'logging.hh',
'logging-json.hh',
'lru-cache.hh',
'monitor-fd.hh',
'namespaces.hh',
'pool.hh',
'position.hh',
'print-elided.hh',
'ref.hh',
'references.hh',
'regex-combinators.hh',
'repair-flag.hh',
'serialise.hh',
'shlex.hh',
'signals.hh',
'source-path.hh',
'split.hh',
'suggestions.hh',
'sync.hh',
'tarfile.hh',
'thread-pool.hh',
'topo-sort.hh',
'types.hh',
'url-parts.hh',
'url.hh',
'util.hh',
'variant-wrapper.hh',
'xml-writer.hh',
)
libutil = library(
'nixutil',
libutil_sources,
dependencies : [
aws_sdk,
aws_s3,
boehm,
boost,
cpuid,
seccomp,
libarchive,
brotli,
openssl,
nlohmann_json,
],
implicit_include_directories : true,
install : true,
)
install_headers(libutil_headers, subdir : 'nix', preserve_path : true)
# Used by libstore and libfetchers.
liblixutil = declare_dependency(
include_directories : include_directories('.'),
link_with : libutil
)
|