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