Edit

kc3-lang/pkgconf/man/pc.5

Branch :

  • Show log

    Commit

  • Author : orbea
    Date : 2018-04-09 09:23:46
    Hash : 8d060b84
    Message : man: Silence more mandoc warnings man -Tlint pkgconf skipping no-space macro (mdoc) An input line begins with an Ns macro, or the next argument after an Ns macro is an isolated closing delimiter. The macro is ignored. unusual Xr order (mdoc) In the SEE ALSO section, an Xr macro with a lower section number follows one with a higher number, or two Xr macros referring to the same section are out of alphabetical order. man: pkgconf.1:114:16: WARNING: skipping no-space macro man: pkgconf.1:114:39: WARNING: skipping no-space macro man: pkgconf.1:119:14: WARNING: skipping no-space macro man: pkgconf.1:119:35: WARNING: skipping no-space macro man: pkgconf.1:119:56: WARNING: skipping no-space macro man: pkgconf.1:128:28: WARNING: skipping no-space macro man: pkgconf.1:147:24: WARNING: skipping no-space macro man: pkgconf.1:217:2: WARNING: unusual Xr order: pc(5) after pkg.m4(7) man -Tlint pc whitespace at end of input line (mdoc, man, roff) Whitespace at the end of input lines is almost never semantically significant -- but in the odd case where it might be, it is extremely confusing when reviewing and maintaining documents. new sentence, new line (mdoc) A new sentence starts in the middle of a text line. Start it on a new input line to help formatters produce correct spacing. missing -width in -tag list, using 8n (mdoc) Every Bl macro having the -tag argument requires -width, too. man: pc.5:17:76: STYLE: whitespace at end of input line man: pc.5:18:50: WARNING: new sentence, new line man: pc.5:49:67: WARNING: new sentence, new line man: pc.5:87:38: WARNING: new sentence, new line man: pc.5:90:27: WARNING: new sentence, new line man: pc.5:113:66: WARNING: new sentence, new line man: pc.5:117:61: WARNING: new sentence, new line man: pc.5:123:49: WARNING: new sentence, new line man: pc.5:56:2: WARNING: missing -width in -tag list, using 6n: Bl -tag man: pc.5:80:2: WARNING: missing -width in -tag list, using 6n: Bl -tag https://man.openbsd.org/mandoc.1

  • man/pc.5
  • .\" Copyright (c) 2017 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 December 15, 2017
    .Dt PC 5
    .Os
    .Sh NAME
    .Nm file.pc
    .Nd pkg-config file format
    .Sh DESCRIPTION
    pkg-config files provide a useful mechanism for storing various information
    about libraries and packages on a given system.
    Information stored by
    .Nm .pc
    files include compiler and linker flags necessary to use a given library, as
    well as any other relevant metadata.
    .Pp
    These
    .Nm .pc
    files are processed by a utility called
    .Nm pkg-config ,
    of which
    .Nm pkgconf
    is an implementation.
    .\"
    .Ss FILE SYNTAX
    The
    .Nm .pc
    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 VARIABLES
    .\"
    Variable definitions start with an alphanumeric string, followed by an equal sign,
    and then the value the variable should contain.
    .Pp
    Variable references are always written as "${variable}".
    It is possible to escape literal "${" as "$${".
    .\"
    .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 three types of property:
    .\"
    .Bl -tag -width indent
    .\"
    .It Literal
    The property will be set to the text of the value.
    .\"
    .It Dependency List
    The property will be set to a list of dependencies parsed from the
    text.
    Dependency lists are defined by this ABNF syntax:
    .Bd -literal
    package-list = *WSP *( package-spec *( package-sep ) )
    package-sep  = WSP / ","
    .\"
    package-spec = package-key [ ver-op package-version ]
    ver-op       = "<" / "<=" / "=" / "!=" / ">=" / ">"
    .Ed
    .\"
    .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 Name
    The displayed name of the package.
    (mandatory; literal)
    .It Version
    The version of the package.
    (mandatory; literal)
    .It Description
    A description of the package.
    (mandatory; literal)
    .It URL
    A URL to a webpage for the package.
    This is used to recommend where newer versions of the package can be acquired.
    (mandatory; literal)
    .It Cflags
    Required compiler flags.
    These flags are always used, regardless of whether static compilation is requested.
    (optional; fragment list)
    .It Cflags.private
    Required compiler flags for static compilation.
    (optional; fragment list; pkgconf extension)
    .It Libs
    Required linking flags for this package.
    Libraries this package depends on for linking against it, which are not
    described as dependencies should be specified here.
    (optional; fragment list)
    .It Libs.private
    Required linking flags for this package that are only required when linking
    statically.
    Libraries this package depends on for linking against it statically, which are
    not described as dependencies should be specified here.
    (optional; fragment list)
    .It Requires
    Required dependencies that must be met for the package to be usable.
    All dependencies must be satisfied or the pkg-config implementation must not use
    the package.
    (optional; dependency list)
    .It Requires.private
    Required dependencies that must be met for the package to be usable for static linking.
    All dependencies must be satisfied or the pkg-config implementation must not use
    the package for static linking.
    (optional; dependency list)
    .It Conflicts
    Dependencies that must not be met for the package to be usable.
    If any package in the proposed dependency solution match any dependency in the
    Conflicts list, the package being considered is not usable.
    (optional; dependency list)
    .It Provides
    Dependencies that may be provided by an alternate package.
    If a package cannot be found, the entire package collection is scanned for
    providers which can match the requested dependency.
    (optional; dependency list; pkgconf extension)
    .El
    .Ss EXTENSIONS
    Features that have been marked as a pkgconf extension are only guaranteed to work
    with the pkgconf implementation of pkg-config.
    Other implementations may or may not support the extensions.
    .Pp
    Accordingly, it is suggested that
    .Nm .pc
    files which absolutely depend on these extensions declare a requirement on the
    pkgconf virtual.
    .Sh EXAMPLES
    An example .pc file:
    .Bd -literal
    # This is a comment
    prefix=/home/kaniini/pkg   # this defines a variable
    exec_prefix=${prefix}      # defining another variable with a substitution
    libdir=${exec_prefix}/lib
    includedir=${prefix}/include
    
    Name: libfoo                                  # human-readable name
    Description: an example library called libfoo # human-readable description
    Version: 1.0
    URL: http://www.pkgconf.org
    Requires: libbar > 2.0.0
    Conflicts: libbaz <= 3.0.0
    Libs: -L${libdir} -lfoo
    Libs.private: -lm
    Cflags: -I${includedir}/libfoo
    .Ed
    .Sh SEE ALSO
    .Xr pkgconf 1 ,
    .Xr pkg.m4 7