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
17 assignment 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.
35
36 PROPERTY KEYWORDS
37 Triplet
38 The triplet used by the cross-compile toolchain. (mandatory;
39 literal)
40
41 SysrootDir
42 The directory used by the system root of the cross-compile
43 toolchain. (mandatory; literal)
44
45 DefaultSearchPaths
46 A list of directories to look for pc(5) files in. (mandatory;
47 fragment list)
48
49 SystemIncludePaths
50 A list of directories that are included by default in the search
51 path for include files. (mandatory; fragment list)
52
53 SystemLibraryPaths
54 A list of directories that are included by default in the search
55 path for libraries. (mandatory; fragment list)
56
58 An example .personality file:
59
60 # This is a comment
61 Triplet: x86_64-pc-linux-gnu
62 SysrootDir: /home/kaniini/sysroot/x86_64-pc-linux-gnu
63 DefaultSearchPaths: /home/kaniini/sysroot/x86_64-pc-linux-gnu/lib/pkgconfig \
64 /home/kaniini/sysroot/x86_64-pc-linux-gnu/share/pkgconfig
65 SystemIncludePaths: /home/kaniini/sysroot/x86_64-pc-linux-gnu/include
66 SystemLibraryPaths: /home/kaniini/sysroot/x86_64-pc-linux-gnu/lib
67
69 pkgconf(1), pkg.m4(7), pc(5)
70
71BSD July 19, 2018 BSD