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
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
|
{ "":
{ "type": "export"
, "target": "installed just"
, "doc": ["The just binary."]
, "flexible_config":
[ "ADD_CFLAGS"
, "ADD_CXXFLAGS"
, "AR"
, "ARCH"
, "BUILD_STATIC_BINARY"
, "CC"
, "COMPILER_FAMILY"
, "CXX"
, "DEBUG"
, "ENV"
, "HOST_ARCH"
, "OS"
, "SOURCE_DATE_EPOCH"
, "TARGET_ARCH"
, "VERSION_EXTRA_SUFFIX"
]
, "config_doc":
{ "ARCH":
[ "The underlying architecture. Is taken as a default for \"HOST_ARCH\" and \"TARGET_ARCH\"."
, ""
, "One of \"x86\", \"x86_64\", \"arm\", \"arm64\". Defaults to \"x86_64\"."
]
, "HOST_ARCH":
["The architecture on which the build actions are carried out."]
, "TARGET_ARCH": ["The architecture for which to build the binary."]
, "COMPILER_FAMILY":
[ "The compiler family to use as (cross) toolchain."
, ""
, "Supported values are \"clang\" (the default), \"gcc\", and \"unkown\"."
, "The unknown compiler family tries to not make any assumptions on the"
, "used C and C++ compilers and uses the generic \"cc\" and \"c++\" as"
, "names for the respective compilers; typically used in conjunction with"
, "setting \"CC\" and \"CXX\" explicitly and building for host."
]
, "ENV":
[ "Map from strings to strings. The build environment ot be used for"
, "build actions. Typically used to include an unusual value of PATH."
]
, "BUILD_STATIC_BINARY":
[ "Boolean, default false. If set, try to build a (mainly) static binary."
]
, "DEBUG": ["Boolean, default false. Wheter a to build a debug version."]
, "OS":
[ "Operating system to build for."
, ""
, "Currently, the only supported value is \"linux\", which is also the"
, "default."
]
, "SOURCE_DATE_EPOCH":
[ "If set, embed the given time stamp (in seconds since the epoch) into"
, "the binary"
]
, "VERSION_EXTRA_SUFFIX":
[ "String to extend the version suffix with."
, ""
, "Should be used to indicate additional (non-upstream) changes, e.g.,"
, "due to packaging."
]
}
}
, "installed just": {"type": "install", "files": {"bin/just": "just"}}
, "exported-just":
{ "type": "export"
, "target": ["src/buildtool/main", "just"]
, "flexible_config":
[ "OS"
, "ARCH"
, "HOST_ARCH"
, "TARGET_ARCH"
, "DEBUG"
, "COMPILER_FAMILY"
, "CC"
, "CXX"
, "ADD_CXXFLAGS"
, "ADD_CFLAGS"
, "AR"
, "ENV"
, "BUILD_STATIC_BINARY"
, "SOURCE_DATE_EPOCH"
, "VERSION_EXTRA_SUFFIX"
]
}
, "just":
{ "type": "configure"
, "arguments_config":
["OS", "ARCH", "HOST_ARCH", "TARGET_ARCH", "COMPILER_FAMILY"]
, "target": "exported-just"
, "config":
{ "type": "let*"
, "bindings":
[ ["OS", {"type": "var", "name": "OS", "default": "linux"}]
, ["ARCH", {"type": "var", "name": "ARCH", "default": "x86_64"}]
, [ "HOST_ARCH"
, { "type": "var"
, "name": "HOST_ARCH"
, "default": {"type": "var", "name": "ARCH"}
}
]
, [ "TARGET_ARCH"
, { "type": "var"
, "name": "TARGET_ARCH"
, "default": {"type": "var", "name": "ARCH"}
}
]
, [ "COMPILER_FAMILY"
, {"type": "var", "name": "COMPILER_FAMILY", "default": "clang"}
]
]
, "body":
{ "type": "env"
, "vars": ["OS", "ARCH", "HOST_ARCH", "TARGET_ARCH", "COMPILER_FAMILY"]
}
}
}
, "libgit2":
{ "type": "configure"
, "target": ["@", "libgit2", "", "git2"]
, "config":
{ "type": "let*"
, "bindings":
[ ["USE_SHA1", "OpenSSL"]
, ["USE_SSH", false]
, ["USE_HTTPS", false]
, ["USE_GSSAPI", false]
]
, "body":
{ "type": "env"
, "vars": ["USE_SHA1", "USE_SSH", "USE_HTTPS", "USE_GSSAPI"]
}
}
}
, "just-ext-hdrs":
{ "type": "configure"
, "arguments_config": ["OS", "ARCH"]
, "target": ["etc/dev", "just-ext-hdrs"]
, "config":
{ "type": "let*"
, "bindings":
[ ["OS", {"type": "var", "name": "OS", "default": "linux"}]
, ["ARCH", {"type": "var", "name": "ARCH", "default": "x86_64"}]
]
, "body": {"type": "env", "vars": ["OS", "ARCH"]}
}
}
, "bootstrap-src":
{ "type": "install"
, "files": {"ROOT": "ROOT", "TARGETS": "TARGETS"}
, "dirs":
[ [["TREE", null, "bin"], "."]
, [["TREE", null, "rules"], "."]
, [["TREE", null, "etc"], "."]
, [["TREE", null, "src"], "."]
]
}
, "large-tests":
{ "type": "install"
, "tainted": ["test"]
, "dirs": [[["test", "bootstrap-test"], "bootstrap-test"]]
}
}
|