PkgConfig::LibPkgConf(3)                   User Contributed Perl Documentation


NAME
       PkgConfig::LibPkgConf - Interface to .pc file interface via libpkgconf

SYNOPSIS
        use PkgConfig::LibPkgConf;

        if(pkgconf_exists('libarchive'))
        {
          my $version = pkgconf_version('libarchive');
          my $cflags  = pkgconf_cflags('libarchive');
          my $libs    = pkgconf_libs('libarchive');
        }

DESCRIPTION
       Many libraries in compiled languages such as C or C++ provide ".pc"
       files to specify the flags required for compiling and linking against
       those libraries.  Traditionally, the command line program "pkg-config"
       is used to query these files.  This module provides a Perl level API
       using "libpkgconf" to these files.

       This module provides a simplified interface for getting the existence,
       version, cflags and library flags needed for compiling against a
       package, using the default compiled in configuration of "pkgconf".  For
       a more powerful, but complicated interface see
       PkgConfig::LibPkgConf::Client.  In addition,
       PkgConfig::LibPkgConf::Util provides some useful utility functions that
       are also provided by "pkgconf".

FUNCTIONS
   pkgconf_exists
        my $bool = pkgconf_exists $package_name;

       Returns true if the package is available.

       Exported by default.

   pkgconf_version
        my $version = pkgconf_version $package_name;

       Returns the version of the package, if it exists.  Will throw an
       exception if not found.

       Exported by default.

   pkgconf_cflags
        my $cflags = pkgconf_cflags $package_name;

       Returns the compiler flags for the package, if it exists.  Will throw
       an exception if not found.

       Exported by default.

   pkgconf_cflags_static
        my $cflags = pkgconf_cflags_static $package_name;

       Returns the static compiler flags for the package, if it exists.  Will
       throw an exception if not found.

   pkgconf_libs
        my $libs = pkgconf_libs $package_name;

       Returns the linker library flags for the package, if it exists.  Will
       throw an exception if not found.

       Exported by default.

   pkgconf_libs_static
        my $libs = pkgconf_libs_static $package_name;

       Returns the static linker library flags for the package, if it exists.
       Will throw an exception if not found.

SUPPORT
       IRC #native on irc.perl.org

       Project GitHub tracker:

       <https://github.com/plicease/PkgConfig-LibPkgConf/issues>

       If you want to contribute, please open a pull request on GitHub:

       <https://github.com/plicease/PkgConfig-LibPkgConf/pulls>

SEE ALSO
       The best entry point to the low level "pkgconf" interface can be found
       via PkgConfig::LibPkgConf::Client.

       Alternatives include:

       PkgConfig
           Pure Perl implementation of "pkg-config" which can be used from the
           command line, or as an API from Perl.  Does not require pkg-config
           in your path, so is a safe dependency for CPAN modules.

       ExtUtils::PkgConfig
           Wrapper for the "pkg-config" command line interface.  This module
           will fail to install if "pkg-config" cannot be found in the "PATH",
           so it is not safe to use a dependency if you want your CPAN module
           to work on platforms where "pkg-config" is not installed.

       Alien::Base
           Provides tools for building non-Perl libraries and making them
           dependencies for your CPAN modules, even on platforms where the
           non-Perl libraries aren't already installed.  Includes hooks for
           probing "pkg-config" ".pc" files using either "pkg-config" or
           PkgConfig.

ACKNOWLEDGMENTS
       Thanks to the "pkgconf" developers for their efforts:

       <https://github.com/pkgconf/pkgconf/graphs/contributors>

AUTHOR
       Graham Ollis

       Contributors:

       A. Wilcox (awilfox)

       Petr Pisar (ppisar)

COPYRIGHT AND LICENSE
       This software is copyright (c) 2016 Graham Ollis.

       This is free software; you may redistribute it and/or modify it under
       the same terms as the Perl 5 programming language system itself.

perl v5.40.0                      2024-11-29          PkgConfig::LibPkgConf(3)