diff --git a/man/pkgconf-personality.5 b/man/pkgconf-personality.5 new file mode 100644 index 0000000..5815948 --- /dev/null +++ b/man/pkgconf-personality.5 @@ -0,0 +1,89 @@ +.\" Copyright (c) 2018 pkgconf authors (see AUTHORS). +.\" +.\" Permission to use, copy, modify, and/or distribute this software for any +.\" purpose with or without fee is hereby granted, provided that the above +.\" copyright notice and this permission notice appear in all copies. +.\" +.\" This software is provided 'as is' and without any warranty, express or +.\" implied. In no event shall the authors be liable for any damages arising +.\" from the use of this software. +.Dd July 19, 2018 +.Dt PKGCONF-PERSONALITY 5 +.Os +.Sh NAME +.Nm file.personality +.Nd pkgconf cross-compile personality file format +.Sh DESCRIPTION +pkgconf cross-compile personality files provide a useful mechanism for storing +various information about system toolchains. +Information stored by +.Nm .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. +.\" +.Ss FILE SYNTAX +The +.Nm .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. +.\" +.Ss 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. +.Pp +There are two types of property: +.\" +.Bl -tag -width indent +.\" +.It Literal +The property will be set to the text of the value. +.\" +.It 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. +.\" +.El +.Ss PROPERTY KEYWORDS +.Bl -tag -width indent +.\" +.It Triplet +The triplet used by the cross-compile toolchain. +(mandatory; literal) +.It SysrootDir +The directory used by the system root of the cross-compile toolchain. +(mandatory; literal) +.It DefaultSearchPaths +A list of directories to look for +.Xr pc 5 +files in. +(mandatory; fragment list) +.It SystemIncludePaths +A list of directories that are included by default in the search path for +include files. +(mandatory; fragment list) +.It SystemLibraryPaths +A list of directories that are included by default in the search path for +libraries. +(mandatory; fragment list) +.\" +.Sh EXAMPLES +An example .personality file: +.Bd -literal +# 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 +.Ed +.Sh SEE ALSO +.Xr pkgconf 1 , +.Xr pkg.m4 7 , +.Xr pc 5