xref: /freebsd/contrib/bc/build.gaml (revision fdc4a7c8012b214986cfa2e2fb6d99731f004b1b)
1*fdc4a7c8SStefan Eßer/*
2*fdc4a7c8SStefan Eßer * *****************************************************************************
3*fdc4a7c8SStefan Eßer *
4*fdc4a7c8SStefan Eßer * SPDX-License-Identifier: BSD-2-Clause
5*fdc4a7c8SStefan Eßer *
6*fdc4a7c8SStefan Eßer * Copyright (c) 2018-2025 Gavin D. Howard and contributors.
7*fdc4a7c8SStefan Eßer *
8*fdc4a7c8SStefan Eßer * Redistribution and use in source and binary forms, with or without
9*fdc4a7c8SStefan Eßer * modification, are permitted provided that the following conditions are met:
10*fdc4a7c8SStefan Eßer *
11*fdc4a7c8SStefan Eßer * * Redistributions of source code must retain the above copyright notice, this
12*fdc4a7c8SStefan Eßer *   list of conditions and the following disclaimer.
13*fdc4a7c8SStefan Eßer *
14*fdc4a7c8SStefan Eßer * * Redistributions in binary form must reproduce the above copyright notice,
15*fdc4a7c8SStefan Eßer *   this list of conditions and the following disclaimer in the documentation
16*fdc4a7c8SStefan Eßer *   and/or other materials provided with the distribution.
17*fdc4a7c8SStefan Eßer *
18*fdc4a7c8SStefan Eßer * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
19*fdc4a7c8SStefan Eßer * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
20*fdc4a7c8SStefan Eßer * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
21*fdc4a7c8SStefan Eßer * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
22*fdc4a7c8SStefan Eßer * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
23*fdc4a7c8SStefan Eßer * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
24*fdc4a7c8SStefan Eßer * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
25*fdc4a7c8SStefan Eßer * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
26*fdc4a7c8SStefan Eßer * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
27*fdc4a7c8SStefan Eßer * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
28*fdc4a7c8SStefan Eßer * POSSIBILITY OF SUCH DAMAGE.
29*fdc4a7c8SStefan Eßer *
30*fdc4a7c8SStefan Eßer * *****************************************************************************
31*fdc4a7c8SStefan Eßer *
32*fdc4a7c8SStefan Eßer * The build options file.
33*fdc4a7c8SStefan Eßer *
34*fdc4a7c8SStefan Eßer */
35*fdc4a7c8SStefan Eßer
36*fdc4a7c8SStefan Eßerproject: @com.gavinhoward.bc
37*fdc4a7c8SStefan Eßer
38*fdc4a7c8SStefan Eßerlanguage: @C11
39*fdc4a7c8SStefan Eßer
40*fdc4a7c8SStefan Eßerversion: {
41*fdc4a7c8SStefan Eßer	min: @24.04.05
42*fdc4a7c8SStefan Eßer}
43*fdc4a7c8SStefan Eßer
44*fdc4a7c8SStefan Eßermode: {
45*fdc4a7c8SStefan Eßer	language: @iterative
46*fdc4a7c8SStefan Eßer	stampers: @metadata
47*fdc4a7c8SStefan Eßer	dependencies: @dynamic
48*fdc4a7c8SStefan Eßer}
49*fdc4a7c8SStefan Eßer
50*fdc4a7c8SStefan Eßerdefault_target: @all
51*fdc4a7c8SStefan Eßer
52*fdc4a7c8SStefan Eßerpresets: {
53*fdc4a7c8SStefan Eßer	debug: {
54*fdc4a7c8SStefan Eßer		debug: true
55*fdc4a7c8SStefan Eßer		optimization: "0"
56*fdc4a7c8SStefan Eßer		memcheck: true
57*fdc4a7c8SStefan Eßer		devtools: true
58*fdc4a7c8SStefan Eßer		strip: false
59*fdc4a7c8SStefan Eßer	}
60*fdc4a7c8SStefan Eßer	release: {
61*fdc4a7c8SStefan Eßer		optimization: "3"
62*fdc4a7c8SStefan Eßer		lto: true
63*fdc4a7c8SStefan Eßer	}
64*fdc4a7c8SStefan Eßer	// This is the predefined build for BSDs.
65*fdc4a7c8SStefan Eßer	bsd: {
66*fdc4a7c8SStefan Eßer		optimization: "3"
67*fdc4a7c8SStefan Eßer		history: @editline
68*fdc4a7c8SStefan Eßer		generated_tests: false
69*fdc4a7c8SStefan Eßer		install_manpages: false
70*fdc4a7c8SStefan Eßer		install_locales: @system
71*fdc4a7c8SStefan Eßer		strip: true
72*fdc4a7c8SStefan Eßer		bc_default_banner: false
73*fdc4a7c8SStefan Eßer		bc_default_sigint_reset: true
74*fdc4a7c8SStefan Eßer		dc_default_sigint_reset: true
75*fdc4a7c8SStefan Eßer		bc_default_tty_mode: true
76*fdc4a7c8SStefan Eßer		dc_default_tty_mode: false
77*fdc4a7c8SStefan Eßer		bc_default_prompt: @off
78*fdc4a7c8SStefan Eßer		dc_default_prompt: @off
79*fdc4a7c8SStefan Eßer		bc_default_expr_exit: true
80*fdc4a7c8SStefan Eßer		dc_default_expr_exit: true
81*fdc4a7c8SStefan Eßer		bc_default_digit_clamp: false
82*fdc4a7c8SStefan Eßer		dc_default_digit_clamp: false
83*fdc4a7c8SStefan Eßer	}
84*fdc4a7c8SStefan Eßer	// This is the predefined build to match the GNU bc/dc.
85*fdc4a7c8SStefan Eßer	gnu: {
86*fdc4a7c8SStefan Eßer		optimization: "3"
87*fdc4a7c8SStefan Eßer		generated_tests: false
88*fdc4a7c8SStefan Eßer		install_manpages: true
89*fdc4a7c8SStefan Eßer		install_locales: @system
90*fdc4a7c8SStefan Eßer		strip: true
91*fdc4a7c8SStefan Eßer		bc_default_banner: true
92*fdc4a7c8SStefan Eßer		bc_default_sigint_reset: true
93*fdc4a7c8SStefan Eßer		dc_default_sigint_reset: false
94*fdc4a7c8SStefan Eßer		bc_default_tty_mode: true
95*fdc4a7c8SStefan Eßer		dc_default_tty_mode: false
96*fdc4a7c8SStefan Eßer		bc_default_prompt: @tty_mode
97*fdc4a7c8SStefan Eßer		dc_default_prompt: @tty_mode
98*fdc4a7c8SStefan Eßer		bc_default_expr_exit: true
99*fdc4a7c8SStefan Eßer		dc_default_expr_exit: true
100*fdc4a7c8SStefan Eßer		bc_default_digit_clamp: false
101*fdc4a7c8SStefan Eßer		dc_default_digit_clamp: false
102*fdc4a7c8SStefan Eßer	}
103*fdc4a7c8SStefan Eßer	// This is the preferred release build of the author, Gavin D. Howard.
104*fdc4a7c8SStefan Eßer	gdh: {
105*fdc4a7c8SStefan Eßer		optimization: "3"
106*fdc4a7c8SStefan Eßer		install_manpages: true
107*fdc4a7c8SStefan Eßer		install_locales: @none
108*fdc4a7c8SStefan Eßer		bc/default_banner: true
109*fdc4a7c8SStefan Eßer		bc/default_sigint_reset: true
110*fdc4a7c8SStefan Eßer		dc/default_sigint_reset: true
111*fdc4a7c8SStefan Eßer		bc/default_tty_mode: true
112*fdc4a7c8SStefan Eßer		dc/default_tty_mode: true
113*fdc4a7c8SStefan Eßer		bc/default_prompt: @tty_mode
114*fdc4a7c8SStefan Eßer		dc/default_prompt: @tty_mode
115*fdc4a7c8SStefan Eßer		bc/default_expr_exit: false
116*fdc4a7c8SStefan Eßer		dc/default_expr_exit: false
117*fdc4a7c8SStefan Eßer		bc/default_digit_clamp: true
118*fdc4a7c8SStefan Eßer		dc/default_digit_clamp: true
119*fdc4a7c8SStefan Eßer	}
120*fdc4a7c8SStefan Eßer	// This is the preferred debug build of the author, Gavin D. Howard.
121*fdc4a7c8SStefan Eßer	dbg: {
122*fdc4a7c8SStefan Eßer		optimization: "0"
123*fdc4a7c8SStefan Eßer		debug: true
124*fdc4a7c8SStefan Eßer		strip: false
125*fdc4a7c8SStefan Eßer		install_manpages: true
126*fdc4a7c8SStefan Eßer		install_locales: @system
127*fdc4a7c8SStefan Eßer		bc/default_banner: true
128*fdc4a7c8SStefan Eßer		bc/default_sigint_reset: true
129*fdc4a7c8SStefan Eßer		dc/default_sigint_reset: true
130*fdc4a7c8SStefan Eßer		bc/default_tty_mode: true
131*fdc4a7c8SStefan Eßer		dc/default_tty_mode: true
132*fdc4a7c8SStefan Eßer		bc/default_prompt: @tty_mode
133*fdc4a7c8SStefan Eßer		dc/default_prompt: @tty_mode
134*fdc4a7c8SStefan Eßer		bc/default_expr_exit: false
135*fdc4a7c8SStefan Eßer		dc/default_expr_exit: false
136*fdc4a7c8SStefan Eßer		bc/default_digit_clamp: true
137*fdc4a7c8SStefan Eßer		dc/default_digit_clamp: true
138*fdc4a7c8SStefan Eßer	}
139*fdc4a7c8SStefan Eßer}
140*fdc4a7c8SStefan Eßer
141*fdc4a7c8SStefan Eßerdefault_development: @debug
142*fdc4a7c8SStefan Eßerdefault_release: @release
143*fdc4a7c8SStefan Eßer
144*fdc4a7c8SStefan Eßeroptions: {
145*fdc4a7c8SStefan Eßer	build_mode: {
146*fdc4a7c8SStefan Eßer		type: @option
147*fdc4a7c8SStefan Eßer		options: [
148*fdc4a7c8SStefan Eßer			@both
149*fdc4a7c8SStefan Eßer			@bc
150*fdc4a7c8SStefan Eßer			@dc
151*fdc4a7c8SStefan Eßer			@library
152*fdc4a7c8SStefan Eßer		]
153*fdc4a7c8SStefan Eßer		default: @both
154*fdc4a7c8SStefan Eßer		desc: "Which of the executables or library to build."
155*fdc4a7c8SStefan Eßer	}
156*fdc4a7c8SStefan Eßer	extra_math: {
157*fdc4a7c8SStefan Eßer		type: @bool
158*fdc4a7c8SStefan Eßer		default: true
159*fdc4a7c8SStefan Eßer		desc: "Enable the extra math extensions."
160*fdc4a7c8SStefan Eßer	}
161*fdc4a7c8SStefan Eßer	history: {
162*fdc4a7c8SStefan Eßer		type: @option
163*fdc4a7c8SStefan Eßer		options: [
164*fdc4a7c8SStefan Eßer			@none
165*fdc4a7c8SStefan Eßer			@builtin
166*fdc4a7c8SStefan Eßer			@editline
167*fdc4a7c8SStefan Eßer			@readline
168*fdc4a7c8SStefan Eßer		]
169*fdc4a7c8SStefan Eßer		default: @builtin
170*fdc4a7c8SStefan Eßer		desc: "Which history implementation should be used, if any."
171*fdc4a7c8SStefan Eßer	}
172*fdc4a7c8SStefan Eßer	locales: {
173*fdc4a7c8SStefan Eßer		type: @option
174*fdc4a7c8SStefan Eßer		options: [
175*fdc4a7c8SStefan Eßer			@none
176*fdc4a7c8SStefan Eßer			@system
177*fdc4a7c8SStefan Eßer			@all
178*fdc4a7c8SStefan Eßer		]
179*fdc4a7c8SStefan Eßer		default: @system
180*fdc4a7c8SStefan Eßer		desc: "Whether to disable locales, use just the system ones, or use all (for building a package)."
181*fdc4a7c8SStefan Eßer	}
182*fdc4a7c8SStefan Eßer	bc/default_banner: {
183*fdc4a7c8SStefan Eßer		type: @bool
184*fdc4a7c8SStefan Eßer		default: false
185*fdc4a7c8SStefan Eßer		desc: "Whether to display the bc version banner by default when in interactive mode."
186*fdc4a7c8SStefan Eßer	}
187*fdc4a7c8SStefan Eßer	bc/default_sigint_reset: {
188*fdc4a7c8SStefan Eßer		type: @bool
189*fdc4a7c8SStefan Eßer		default: true
190*fdc4a7c8SStefan Eßer		desc: "Whether SIGINT will reset bc by default, instead of exiting, when in interactive mode."
191*fdc4a7c8SStefan Eßer	}
192*fdc4a7c8SStefan Eßer	dc/default_sigint_reset: {
193*fdc4a7c8SStefan Eßer		type: @bool
194*fdc4a7c8SStefan Eßer		default: true
195*fdc4a7c8SStefan Eßer		desc: "Whether SIGINT will reset dc by default, instead of exiting, when in interactive mode."
196*fdc4a7c8SStefan Eßer	}
197*fdc4a7c8SStefan Eßer	bc/default_tty_mode: {
198*fdc4a7c8SStefan Eßer		type: @bool
199*fdc4a7c8SStefan Eßer		default: true
200*fdc4a7c8SStefan Eßer		desc: "Whether TTY mode for bc should be on by default when available."
201*fdc4a7c8SStefan Eßer	}
202*fdc4a7c8SStefan Eßer	dc/default_tty_mode: {
203*fdc4a7c8SStefan Eßer		type: @bool
204*fdc4a7c8SStefan Eßer		default: false
205*fdc4a7c8SStefan Eßer		desc: "Whether TTY mode for dc should be on by default when available."
206*fdc4a7c8SStefan Eßer	}
207*fdc4a7c8SStefan Eßer	bc/default_prompt: {
208*fdc4a7c8SStefan Eßer		type: @option
209*fdc4a7c8SStefan Eßer		options: [
210*fdc4a7c8SStefan Eßer			@off
211*fdc4a7c8SStefan Eßer			@tty_mode
212*fdc4a7c8SStefan Eßer			@on
213*fdc4a7c8SStefan Eßer		]
214*fdc4a7c8SStefan Eßer		default: @tty_mode
215*fdc4a7c8SStefan Eßer		desc: "Whether the prompt for bc should be on by default in TTY mode. This defaults to match TTY mode."
216*fdc4a7c8SStefan Eßer	}
217*fdc4a7c8SStefan Eßer	dc/default_prompt: {
218*fdc4a7c8SStefan Eßer		type: @option
219*fdc4a7c8SStefan Eßer		options: [
220*fdc4a7c8SStefan Eßer			@off
221*fdc4a7c8SStefan Eßer			@tty_mode
222*fdc4a7c8SStefan Eßer			@on
223*fdc4a7c8SStefan Eßer		]
224*fdc4a7c8SStefan Eßer		default: @tty_mode
225*fdc4a7c8SStefan Eßer		desc: "Whether the prompt for dc should be on by default in TTY mode. This defaults to match TTY mode."
226*fdc4a7c8SStefan Eßer	}
227*fdc4a7c8SStefan Eßer	bc/default_expr_exit: {
228*fdc4a7c8SStefan Eßer		type: @bool
229*fdc4a7c8SStefan Eßer		default: true
230*fdc4a7c8SStefan Eßer		desc: "Whether to exit bc by default if an expression or expression file is given with the -e or -f options."
231*fdc4a7c8SStefan Eßer	}
232*fdc4a7c8SStefan Eßer	dc/default_expr_exit: {
233*fdc4a7c8SStefan Eßer		type: @bool
234*fdc4a7c8SStefan Eßer		default: true
235*fdc4a7c8SStefan Eßer		desc: "Whether to exit dc by default if an expression or expression file is given with the -e or -f options."
236*fdc4a7c8SStefan Eßer	}
237*fdc4a7c8SStefan Eßer	bc/default_digit_clamp: {
238*fdc4a7c8SStefan Eßer		type: @bool
239*fdc4a7c8SStefan Eßer		default: false
240*fdc4a7c8SStefan Eßer		desc: "Whether to have bc, by default, clamp digits that are greater than or equal to the current ibase when parsing numbers."
241*fdc4a7c8SStefan Eßer	}
242*fdc4a7c8SStefan Eßer	dc/default_digit_clamp: {
243*fdc4a7c8SStefan Eßer		type: @bool
244*fdc4a7c8SStefan Eßer		default: false
245*fdc4a7c8SStefan Eßer		desc: "Whether to have dc, by default, clamp digits that are greater than or equal to the current ibase when parsing numbers."
246*fdc4a7c8SStefan Eßer	}
247*fdc4a7c8SStefan Eßer	karatsuba_len: {
248*fdc4a7c8SStefan Eßer		type: @num
249*fdc4a7c8SStefan Eßer		default: 32
250*fdc4a7c8SStefan Eßer		desc: "Set the Karatsuba length (default is 32). Must be a number and greater than or equal to 16."
251*fdc4a7c8SStefan Eßer	}
252*fdc4a7c8SStefan Eßer	execprefix: {
253*fdc4a7c8SStefan Eßer		type: @string
254*fdc4a7c8SStefan Eßer		default: ""
255*fdc4a7c8SStefan Eßer		desc: "The prefix to prepend to the executable names, to prevent collisions."
256*fdc4a7c8SStefan Eßer	}
257*fdc4a7c8SStefan Eßer	execsuffix: {
258*fdc4a7c8SStefan Eßer		type: @string
259*fdc4a7c8SStefan Eßer		default: ""
260*fdc4a7c8SStefan Eßer		desc: "The suffix to append to the executable names, to prevent collisions."
261*fdc4a7c8SStefan Eßer	}
262*fdc4a7c8SStefan Eßer	debug: {
263*fdc4a7c8SStefan Eßer		type: @bool
264*fdc4a7c8SStefan Eßer		default: false
265*fdc4a7c8SStefan Eßer		desc: "Enable debug info."
266*fdc4a7c8SStefan Eßer	}
267*fdc4a7c8SStefan Eßer	optimization: {
268*fdc4a7c8SStefan Eßer		type: @string
269*fdc4a7c8SStefan Eßer		default: "0"
270*fdc4a7c8SStefan Eßer		desc: "The optimization level for the C compiler."
271*fdc4a7c8SStefan Eßer	}
272*fdc4a7c8SStefan Eßer	lto: {
273*fdc4a7c8SStefan Eßer		type: @bool
274*fdc4a7c8SStefan Eßer		default: false
275*fdc4a7c8SStefan Eßer		desc: "Build with link-time optimization, if available."
276*fdc4a7c8SStefan Eßer	}
277*fdc4a7c8SStefan Eßer	strip: {
278*fdc4a7c8SStefan Eßer		type: @bool
279*fdc4a7c8SStefan Eßer		default: true
280*fdc4a7c8SStefan Eßer		desc: "Strip any binaries."
281*fdc4a7c8SStefan Eßer	}
282*fdc4a7c8SStefan Eßer	strict: {
283*fdc4a7c8SStefan Eßer		type: @bool
284*fdc4a7c8SStefan Eßer		default: true
285*fdc4a7c8SStefan Eßer		desc: "Build with strict compiler options."
286*fdc4a7c8SStefan Eßer	}
287*fdc4a7c8SStefan Eßer	force: {
288*fdc4a7c8SStefan Eßer		type: @bool
289*fdc4a7c8SStefan Eßer		default: false
290*fdc4a7c8SStefan Eßer		desc: "Force options that don't work. THIS IS FOR DEV ONLY!"
291*fdc4a7c8SStefan Eßer	}
292*fdc4a7c8SStefan Eßer	memcheck: {
293*fdc4a7c8SStefan Eßer		type: @bool
294*fdc4a7c8SStefan Eßer		default: false
295*fdc4a7c8SStefan Eßer		desc: "Enable memcheck mode, to check for memory leaks."
296*fdc4a7c8SStefan Eßer	}
297*fdc4a7c8SStefan Eßer	valgrind: {
298*fdc4a7c8SStefan Eßer		type: @bool
299*fdc4a7c8SStefan Eßer		default: false
300*fdc4a7c8SStefan Eßer		desc: "Enable Valgrind mode, to check for memory bugs."
301*fdc4a7c8SStefan Eßer	}
302*fdc4a7c8SStefan Eßer	afl: {
303*fdc4a7c8SStefan Eßer		type: @bool
304*fdc4a7c8SStefan Eßer		default: false
305*fdc4a7c8SStefan Eßer		desc: "Enable AFL++ mode."
306*fdc4a7c8SStefan Eßer	}
307*fdc4a7c8SStefan Eßer	ossfuzz: {
308*fdc4a7c8SStefan Eßer		type: @bool
309*fdc4a7c8SStefan Eßer		default: false
310*fdc4a7c8SStefan Eßer		desc: "Enable OSSFUZZ mode."
311*fdc4a7c8SStefan Eßer	}
312*fdc4a7c8SStefan Eßer	generated_tests: {
313*fdc4a7c8SStefan Eßer		type: @bool
314*fdc4a7c8SStefan Eßer		default: true
315*fdc4a7c8SStefan Eßer		desc: "Enable tests generated from a GNU bc-compatible program."
316*fdc4a7c8SStefan Eßer	}
317*fdc4a7c8SStefan Eßer	problematic_tests: {
318*fdc4a7c8SStefan Eßer		type: @bool
319*fdc4a7c8SStefan Eßer		default: true
320*fdc4a7c8SStefan Eßer		desc: "Enable tests that may be problematic."
321*fdc4a7c8SStefan Eßer	}
322*fdc4a7c8SStefan Eßer	coverage: {
323*fdc4a7c8SStefan Eßer		type: @bool
324*fdc4a7c8SStefan Eßer		default: false
325*fdc4a7c8SStefan Eßer		desc: "Enable code coverage (only works on GCC)."
326*fdc4a7c8SStefan Eßer	}
327*fdc4a7c8SStefan Eßer	install_manpages: {
328*fdc4a7c8SStefan Eßer		type: @bool
329*fdc4a7c8SStefan Eßer		default: true
330*fdc4a7c8SStefan Eßer		desc: "Whether to install manpages or not."
331*fdc4a7c8SStefan Eßer	}
332*fdc4a7c8SStefan Eßer	cflags: {
333*fdc4a7c8SStefan Eßer		type: @list
334*fdc4a7c8SStefan Eßer		default: []
335*fdc4a7c8SStefan Eßer		desc: "The command-line flags for the C compiler."
336*fdc4a7c8SStefan Eßer	}
337*fdc4a7c8SStefan Eßer	ldflags: {
338*fdc4a7c8SStefan Eßer		type: @list
339*fdc4a7c8SStefan Eßer		default: []
340*fdc4a7c8SStefan Eßer		desc: "The command-line flags for the C linker."
341*fdc4a7c8SStefan Eßer	}
342*fdc4a7c8SStefan Eßer	destdir: {
343*fdc4a7c8SStefan Eßer		type: @path
344*fdc4a7c8SStefan Eßer		default: ""
345*fdc4a7c8SStefan Eßer		desc: "The equivalent of $DESTDIR in other build systems."
346*fdc4a7c8SStefan Eßer	}
347*fdc4a7c8SStefan Eßer	prefix: {
348*fdc4a7c8SStefan Eßer		type: @path
349*fdc4a7c8SStefan Eßer		default: "/usr/local"
350*fdc4a7c8SStefan Eßer		desc: "The default prefix to install everything into."
351*fdc4a7c8SStefan Eßer	}
352*fdc4a7c8SStefan Eßer	bindir: {
353*fdc4a7c8SStefan Eßer		type: @path
354*fdc4a7c8SStefan Eßer		default: ""
355*fdc4a7c8SStefan Eßer		desc: "The directory to install executables into. Defaults to \"$prefix/bin\"."
356*fdc4a7c8SStefan Eßer	}
357*fdc4a7c8SStefan Eßer	libdir: {
358*fdc4a7c8SStefan Eßer		type: @path
359*fdc4a7c8SStefan Eßer		default: ""
360*fdc4a7c8SStefan Eßer		desc: "The directory to install libraries into. Defaults to \"$prefix/lib\"."
361*fdc4a7c8SStefan Eßer	}
362*fdc4a7c8SStefan Eßer	includedir: {
363*fdc4a7c8SStefan Eßer		type: @path
364*fdc4a7c8SStefan Eßer		default: ""
365*fdc4a7c8SStefan Eßer		desc: "The location to install headers in. Defaults to \"$prefix/include\"."
366*fdc4a7c8SStefan Eßer	}
367*fdc4a7c8SStefan Eßer	nlspath: {
368*fdc4a7c8SStefan Eßer		type: @path
369*fdc4a7c8SStefan Eßer		default: "/usr/share/locale/%L/%N"
370*fdc4a7c8SStefan Eßer		desc: "The location to install locales."
371*fdc4a7c8SStefan Eßer	}
372*fdc4a7c8SStefan Eßer	pc_path: {
373*fdc4a7c8SStefan Eßer		type: @path
374*fdc4a7c8SStefan Eßer		default: ""
375*fdc4a7c8SStefan Eßer		desc: "The location to pkg-config files to. Defaults to the output of `pkg-config --variable=pc_path pkg-config`."
376*fdc4a7c8SStefan Eßer	}
377*fdc4a7c8SStefan Eßer	datarootdir: {
378*fdc4a7c8SStefan Eßer		type: @path
379*fdc4a7c8SStefan Eßer		default: ""
380*fdc4a7c8SStefan Eßer		desc: "The root directory for data files. Defaults to `$prefix/share`."
381*fdc4a7c8SStefan Eßer	}
382*fdc4a7c8SStefan Eßer	datadir: {
383*fdc4a7c8SStefan Eßer		type: @path
384*fdc4a7c8SStefan Eßer		default: ""
385*fdc4a7c8SStefan Eßer		desc: "The directory for data files. Defaults to `$datarootdir`."
386*fdc4a7c8SStefan Eßer	}
387*fdc4a7c8SStefan Eßer	mandir: {
388*fdc4a7c8SStefan Eßer		type: @path
389*fdc4a7c8SStefan Eßer		default: ""
390*fdc4a7c8SStefan Eßer		desc: "The root directory for manpages. Defaults to `$datadir/man`."
391*fdc4a7c8SStefan Eßer	}
392*fdc4a7c8SStefan Eßer	man1dir: {
393*fdc4a7c8SStefan Eßer		type: @path
394*fdc4a7c8SStefan Eßer		default: ""
395*fdc4a7c8SStefan Eßer		desc: "The directory for manpages in section 1. Defaults to `$mandir/man1`."
396*fdc4a7c8SStefan Eßer	}
397*fdc4a7c8SStefan Eßer	man3dir: {
398*fdc4a7c8SStefan Eßer		type: @path
399*fdc4a7c8SStefan Eßer		default: ""
400*fdc4a7c8SStefan Eßer		desc: "The directory for manpages in section 3. Defaults to `$mandir/man3`."
401*fdc4a7c8SStefan Eßer	}
402*fdc4a7c8SStefan Eßer}
403