pkgconf-personality man page
file.personality — pkgconf cross-compile personality file format
pkgconf cross-compile personality files provide a useful mechanism for storing various information about system toolchains. Information stored by .personality files include information about paths used by a cross-compile toolchain, such as the sysroot directory and default include and library paths. pkgconf uses this information to determine what information is necessary to use libraries.
The .personality file follows a format inspired by RFC822. Comments are prefixed by a pound sign, hash sign or octothorpe (#), and variable assignment is similar to POSIX shell. Properties are defined using RFC822-style stanzas.
Properties are set using RFC822-style stanzas which consist of a keyword, followed by a colon (:) and then the value the property should be set to. Variable substitution is always performed regardless of property type.
There are two types of property:
The property will be set to the text of the value.
- Fragment List
The property will be set to a list of fragments parsed from the text. The input text must be in a format that is suitable for passing to a POSIX shell without any shell expansions after variable substitution has been done.
The triplet used by the cross-compile toolchain. (mandatory; literal)
The directory used by the system root of the cross-compile toolchain. (mandatory; literal)
A list of directories to look for pc(5) files in. (mandatory; fragment list)
A list of directories that are included by default in the search path for include files. (mandatory; fragment list)
A list of directories that are included by default in the search path for libraries. (mandatory; fragment list)
An example .personality file:
# This is a comment Triplet: x86_64-pc-linux-gnu SysrootDir: /home/kaniini/sysroot/x86_64-pc-linux-gnu DefaultSearchPaths: /home/kaniini/sysroot/x86_64-pc-linux-gnu/lib/pkgconfig \ /home/kaniini/sysroot/x86_64-pc-linux-gnu/share/pkgconfig SystemIncludePaths: /home/kaniini/sysroot/x86_64-pc-linux-gnu/include SystemLibraryPaths: /home/kaniini/sysroot/x86_64-pc-linux-gnu/lib
pkgconf(1), pkg.m4(7), pc(5)