# pkgconf-personality - pkgconf cross-compile personality file format - man(5) - [phpMan]

[_PKGCONF-PERSONALITY_(5)](https://www.chedong.com/phpMan.php/man/PKGCONF-PERSONALITY/5/markdown)                   File Formats Manual                  [_PKGCONF-PERSONALITY_(5)](https://www.chedong.com/phpMan.php/man/PKGCONF-PERSONALITY/5/markdown)

## NAME
       file.personality — pkgconf cross-compile personality file format

## DESCRIPTION
       pkgconf cross-compile personality files provide a useful mechanism for storing various infor‐
       mation 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 in‐
       clude and library paths.  pkgconf uses this information to determine what information is nec‐
       essary to use libraries.

   **FILE SYNTAX**
       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.  Prop‐
       erties are defined using RFC822-style stanzas.

   **PROPERTIES**
       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  per‐
       formed regardless of property type.

       There are three types of property:

       Literal
               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.  Elements are delimited with  a
               colon.

       Boolean
               The  property  will be set to true if the value is one of: true, yes or 1.  Otherwise
               it will be set to false.

   **PROPERTY KEYWORDS**
       Triplet
               The triplet used by the cross-compile toolchain.  (mandatory; literal)

       SysrootDir
               The directory used by the system root of the  cross-compile  toolchain.   (mandatory;
               literal)

       DefaultSearchPaths
               A list of directories to look for [_pc_(5)](https://www.chedong.com/phpMan.php/man/pc/5/markdown) files in.  (mandatory; fragment list)

       SystemIncludePaths
               A  list  of  directories  that are included by default in the search path for include
               files.  (mandatory; fragment list)

       SystemLibraryPaths
               A list of directories that are included by default in the search path for  libraries.
               (mandatory; fragment list)

       WantDefaultPure
               If  true,  pkgconf  will  default  to preferring a pure dependency graph.  (optional;
               boolean; default is false)

       WantDefaultStatic
               If true, pkgconf will default  to  operating  in  static  linking  mode.   (optional;
               boolean; default is false)

## EXAMPLES
       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

## SEE ALSO
       [_pkgconf_(1)](https://www.chedong.com/phpMan.php/man/pkgconf/1/markdown), [_pc_(5)](https://www.chedong.com/phpMan.php/man/pc/5/markdown), [_pkg.m4_(7)](https://www.chedong.com/phpMan.php/man/pkg.m4/7/markdown)

Debian                                      July 19, 2018                     [_PKGCONF-PERSONALITY_(5)](https://www.chedong.com/phpMan.php/man/PKGCONF-PERSONALITY/5/markdown)
