Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
PkgConfig::LibPkgConf:UsereContributed Perl DoPkgConfig::LibPkgConf::Client(3)

NAME
       PkgConfig::LibPkgConf::Client - Query installed libraries for compiling
       and linking software

SYNOPSIS
	use PkgConfig::LibPkgConf::Client;

	my $client = PkgConfig::LibPkgConf::Client->new;
	$client->env;

	my $pkg	= $client->find('libarchive');
	my $cflags = $pkg->cflags;
	my $libs = $pkg->libs;

DESCRIPTION
       The PkgConfig::LibPkgConf::Client objects store all necessary state for
       "libpkgconf" allowing for multiple instances to run in parallel.

CONSTRUCTOR
   new
	my $client = PkgConfig::LibPkgConf::Client->new(%opts);
	my $client = PkgConfig::LibPkgConf::Client->new(\%opts);

       Creates an instance of PkgConfig::LibPkgConf::Client.  Possible options
       include:

       path
	   The search path to look for ".pc" files.  This may be specified
	   either as a string with the appropriate path	separator character,
	   or as a list	reference.  This will override the "pkgconf" compiled
	   in defaults and the environment variables for "PKG_CONFIG_PATH" or
	   "PKG_CONFIG_LIBDIR".

       filter_lib_dirs
	   List	of directories to filter for libraries.	 This overrides	the
	   "pkgconf" compiled in default and environment variable for
	   "PKG_CONFIG_SYSTEM_LIBRARY_PATH".

       filter_include_dirs
	   List	of directories to filter for include.  This overrides the
	   "pkgconf" compiled in default and environment variable for
	   "PKG_CONFIG_SYSTEM_INCLUDE_PATH".

       environment variables honored:

       PKG_CONFIG_PATH
       PKG_CONFIG_LIBDIR
       PKG_CONFIG_SYSTEM_LIBRARY_PATH
       PKG_CONFIG_SYSTEM_INCLUDE_PATH
       PKG_CONFIG_ALLOW_SYSTEM_CFLAGS
       PKG_CONFIG_ALLOW_SYSTEM_LIBS

ATTRIBUTES
   path
	my @path = $client->path;

       The search path to look for ".pc" files.

   filter_lib_dirs
	my @dirs = $client->filter_lib_dirs;

       List of directories to filter for libraries.

   filter_include_dirs
	my @dirs = $client->filter_include_dirs;

       List of directories to filter for includes.

   sysroot_dir
	my $dir	= $client->sysroot_dir;
	$client->sysroot_dir($dir);

       Get or set the sysroot directory.

   buildroot_dir
	my $dir	= $client->buildroot_dir;
	$client->buildroot_dir($dir);

       Get or set the buildroot	directory.

   maxdepth
	my $int	= $client->maxdepth;
	$client->maxdepth($int);

       Get or set the maximum dependency depth.	 This is 2000 by default.

METHODS
   env
	my $client->env;

       This method loads settings for the client object	from the environment
       using the standard "pkg-config" or "pkgconf" environment	variables.  It
       honors the following list of environment	variables:

       PKG_CONFIG_LOG

   find
	my $pkg	= $client->find($package_name);

       Searches	the <.pc> file for the package with the	given $package_name.
       If found	returns	an instance of PkgConfig::LibPkgConf::Package.	If not
       found returns "undef".

   package_from_file
	my $pkg	= $client->package_from_file($filename);

       Load the	specific <.pc> file.

   scan_all
	$client->scan_all(sub {
	  my($client, $package)	= @_;
	  ...
	  return $bool;
	});

       Iterates	through	all packages and calls the given subroutine reference
       for each	package.  $package isa PkgConfig::LibPkgConf::Package.	The
       scan will continue so long as a non true	value is returned (as $bool).

   global
	$client->global($key =>	$value);
	my $value = $client->global($key);

       Define or get the global	variable.

   error
	my $client->error($message);

       Called when "libpkgconf"	comes across a non-fatal error.	 By default
       the error is simply displayed as	a warning using	Carp.  The intention
       of this method is if you	want to	override that behavior,	you will
       subclass	PkgConfig::LibPkgConf::Client and implement your own version
       of the "error" method.

   audit_set_log
	$client->audit_set_log($filename, $mode);

       Opens a file with the C "fopen" style $mode, and	uses it	for the	audit
       log.  The file is managed entirely by the client	class and will be
       closed when the object falls out	of scope.  Examples:

	$client->audit_set_log("audit.log", "a"); # append to existing file
	$client->audit_set_log("audit2.log", "w"); # new or replace file

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
       For additional related modules, see PkgConfig::LibPkgConf

AUTHOR
       Graham Ollis

       For additional contributors see PkgConfig::LibPkgConf

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.32.0			  2020-05-15  PkgConfig::LibPkgConf::Client(3)

NAME | SYNOPSIS | DESCRIPTION | CONSTRUCTOR | ATTRIBUTES | METHODS | SUPPORT | SEE ALSO | AUTHOR | COPYRIGHT AND LICENSE

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=PkgConfig::LibPkgConf::Client&sektion=3&manpath=FreeBSD+12.2-RELEASE+and+Ports>

home | help