1.\" Copyright (c) 2018 pkgconf authors (see AUTHORS). 2.\" 3.\" Permission to use, copy, modify, and/or distribute this software for any 4.\" purpose with or without fee is hereby granted, provided that the above 5.\" copyright notice and this permission notice appear in all copies. 6.\" 7.\" This software is provided 'as is' and without any warranty, express or 8.\" implied. In no event shall the authors be liable for any damages arising 9.\" from the use of this software. 10.Dd July 19, 2018 11.Dt PKGCONF-PERSONALITY 5 12.Os 13.Sh NAME 14.Nm file.personality 15.Nd pkgconf cross-compile personality file format 16.Sh DESCRIPTION 17pkgconf cross-compile personality files provide a useful mechanism for storing 18various information about system toolchains. 19Information stored by 20.Nm .personality 21files include information about paths used by a cross-compile toolchain, such as 22the sysroot directory and default include and library paths. pkgconf uses this 23information to determine what information is necessary to use libraries. 24.\" 25.Ss FILE SYNTAX 26The 27.Nm .personality 28file follows a format inspired by RFC822. 29Comments are prefixed by a pound sign, hash sign or octothorpe (#), and variable 30assignment is similar to POSIX shell. 31Properties are defined using RFC822-style stanzas. 32.\" 33.Ss PROPERTIES 34.\" 35Properties are set using RFC822-style stanzas which consist of a keyword, followed 36by a colon (:) and then the value the property should be set to. 37Variable substitution is always performed regardless of property type. 38.Pp 39There are two types of property: 40.\" 41.Bl -tag -width indent 42.\" 43.It Literal 44The property will be set to the text of the value. 45.\" 46.It Fragment List 47The property will be set to a list of fragments parsed from the text. 48The input text must be in a format that is suitable for passing to a POSIX 49shell without any shell expansions after variable substitution has been done. 50Elements are delimited with a colon. 51.\" 52.It Boolean 53The property will be set to true if the value is one of: true, yes or 1. 54Otherwise it will be set to false. 55.\" 56.El 57.Ss PROPERTY KEYWORDS 58.Bl -tag -width indent 59.\" 60.It Triplet 61The triplet used by the cross-compile toolchain. 62(mandatory; literal) 63.It SysrootDir 64The directory used by the system root of the cross-compile toolchain. 65(mandatory; literal) 66.It DefaultSearchPaths 67A list of directories to look for 68.Xr pc 5 69files in. 70(mandatory; fragment list) 71.It SystemIncludePaths 72A list of directories that are included by default in the search path for 73include files. 74(mandatory; fragment list) 75.It SystemLibraryPaths 76A list of directories that are included by default in the search path for 77libraries. 78(mandatory; fragment list) 79.It WantDefaultPure 80If true, pkgconf will default to preferring a pure dependency graph. 81(optional; boolean; default is false) 82.It WantDefaultStatic 83If true, pkgconf will default to operating in static linking mode. 84(optional; boolean; default is false) 85.\" 86.El 87.Sh EXAMPLES 88An example .personality file: 89.Bd -literal 90# This is a comment 91Triplet: x86_64-pc-linux-gnu 92SysrootDir: /home/kaniini/sysroot/x86_64-pc-linux-gnu 93DefaultSearchPaths: /home/kaniini/sysroot/x86_64-pc-linux-gnu/lib/pkgconfig:/home/kaniini/sysroot/x86_64-pc-linux-gnu/share/pkgconfig 94SystemIncludePaths: /home/kaniini/sysroot/x86_64-pc-linux-gnu/include 95SystemLibraryPaths: /home/kaniini/sysroot/x86_64-pc-linux-gnu/lib 96.Ed 97.Sh SEE ALSO 98.Xr pkgconf 1 , 99.Xr pc 5 , 100.Xr pkg.m4 7 101