---
name: "pkgconf-personality"
section: "5"
platform: "linux"
package: "pkgconf"
version: "3.0.10-1"
release: "Arch Linux 2026-11-01"
platforms: ["linux", "freebsd"]
url: "https://new.carta.tech/pkgconf-personality"
---

# pkgconf-personality(5)

pkgconf cross-compile personality file format

## NAME

**file.personality** – pkgconf cross-compile personality file format

## DESCRIPTION

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.

### 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. Properties 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 performed 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)](/pc/5.md) 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)](/pkgconf/1.md), [pc(5)](/pc/5.md), [pkg.m4(7)](/pkg.m4/7.md)
