1PKGCONF-PERSONALITY(5) BSD File Formats Manual PKGCONF-PERSONALITY(5)
2
4 file.personality — pkgconf cross-compile personality file format
5
7 pkgconf cross-compile personality files provide a useful mechanism for
8 storing various information about system toolchains. Information stored
9 by .personality files include information about paths used by a cross-
10 compile toolchain, such as the sysroot directory and default include and
11 library paths. pkgconf uses this information to determine what informa‐
12 tion is necessary to use libraries.
13
14 FILE SYNTAX
15 The .personality file follows a format inspired by RFC822. Comments are
16 prefixed by a pound sign, hash sign or octothorpe (#), and variable as‐
17 signment is similar to POSIX shell. Properties are defined using
18 RFC822-style stanzas.
19
20 PROPERTIES
21 Properties are set using RFC822-style stanzas which consist of a keyword,
22 followed by a colon (:) and then the value the property should be set to.
23 Variable substitution is always performed regardless of property type.
24
25 There are two types of property:
26
27 Literal
28 The property will be set to the text of the value.
29
30 Fragment List
31 The property will be set to a list of fragments parsed from the
32 text. The input text must be in a format that is suitable for
33 passing to a POSIX shell without any shell expansions after vari‐
34 able substitution has been done. Elements are delimited with a
35 colon.
36
37 Boolean
38 The property will be set to true if the value is one of: true,
39 yes or 1. Otherwise it will be set to false.
40
41 PROPERTY KEYWORDS
42 Triplet
43 The triplet used by the cross-compile toolchain. (mandatory;
44 literal)
45
46 SysrootDir
47 The directory used by the system root of the cross-compile
48 toolchain. (mandatory; literal)
49
50 DefaultSearchPaths
51 A list of directories to look for pc(5) files in. (mandatory;
52 fragment list)
53
54 SystemIncludePaths
55 A list of directories that are included by default in the search
56 path for include files. (mandatory; fragment list)
57
58 SystemLibraryPaths
59 A list of directories that are included by default in the search
60 path for libraries. (mandatory; fragment list)
61
62 WantDefaultPure
63 If true, pkgconf will default to preferring a pure dependency
64 graph. (optional; boolean; default is false)
65
66 WantDefaultStatic
67 If true, pkgconf will default to operating in static linking
68 mode. (optional; boolean; default is false)
69
71 An example .personality file:
72
73 # This is a comment
74 Triplet: x86_64-pc-linux-gnu
75 SysrootDir: /home/kaniini/sysroot/x86_64-pc-linux-gnu
76 DefaultSearchPaths: /home/kaniini/sysroot/x86_64-pc-linux-gnu/lib/pkgconfig:/home/kaniini/sysroot/x86_64-pc-linux-gnu/share/pkgconfig
77 SystemIncludePaths: /home/kaniini/sysroot/x86_64-pc-linux-gnu/include
78 SystemLibraryPaths: /home/kaniini/sysroot/x86_64-pc-linux-gnu/lib
79
81 pkgconf(1), pc(5), pkg.m4(7)
82
83BSD July 19, 2018 BSD