Alt-ExtUtils-PkgConfig-PLICEASE
view release on metacpan or search on metacpan
lib/ExtUtils/PkgConfig.pm view on Meta::CPAN
=head1 NAME
ExtUtils::PkgConfig - simplistic interface to pkgconf via libpkgconf (similar to pkg-config)
=head1 VERSION
version 1.15
=head1 SYNOPSIS
use ExtUtils::PkgConfig;
$package = 'gtk+-2.0';
%pkg_info = ExtUtils::PkgConfig->find ($package);
print "modversion: $pkg_info{modversion}\n";
print "cflags: $pkg_info{cflags}\n";
print "libs: $pkg_info{libs}\n";
$modversion = ExtUtils::PkgConfig->modversion($package);
$libs = ExtUtils::PkgConfig->libs($package);
$cflags = ExtUtils::PkgConfig->cflags($package);
$cflags_only_I = ExtUtils::PkgConfig->cflags_only_I($package);
$cflags_only_other = ExtUtils::PkgConfig->cflags_only_other($package);
$libs_only_L = ExtUtils::PkgConfig->libs_only_L($package);
$libs_only_l = ExtUtils::PkgConfig->libs_only_l($package);
$libs_only_other = ExtUtils::PkgConfig->libs_only_other($package);
$static_libs = ExtUtils::PkgConfig->static_libs($package);
$var_value = ExtUtils::PkgConfig->variable($package, $var);
if (ExtUtils::PkgConfig->atleast_version($package,$version)) {
...
}
if (ExtUtils::PkgConfig->exact_version($package,$version)) {
...
}
if (ExtUtils::PkgConfig->max_version($package,$version)) {
...
}
=head1 DESCRIPTION
B<NOTE>: This version of L<ExtUtils::PkgConfig> is a fork of the original
based on L<PkgConfig::LibPkgConf>.
The pkg-config program retrieves information about installed libraries,
usually for the purposes of compiling against and linking to them.
ExtUtils::PkgConfig is a very simplistic interface to this utility, intended
for use in the Makefile.PL of perl extensions which bind libraries that
pkg-config knows. It is really just boilerplate code that you would've
written yourself.
=head2 USAGE
=over
=item HASH = ExtUtils::PkgConfig->find (STRING, [STRING, ...])
Call pkg-config on the library specified by I<STRING> (you'll have to know what
to use here). The returned I<HASH> contains the modversion, cflags, and libs
values under keys with those names. If multiple STRINGS are passed they are
attempted in the order they are given till a working package is found.
If pkg-config fails to find a working I<STRING>, this function croaks with a
message intended to be helpful to whomever is attempting to compile your
package.
For example:
*** can not find package bad1
*** check that it is properly installed and available
*** in PKG_CONFIG_PATH
or
*** can't find cflags for gtk+-2.0
*** is it properly installed and available in PKG_CONFIG_PATH?
=item STRING = ExtUtils::PkgConfig->create_version_macros (PACKAGE, STEM)
Create a set of version macros with the prefix I<STEM> for the library
specified by I<PACKAGE>. The result is returned.
Example input would be "gtk+-2.0" for I<PACKAGE> and "GTK" for I<STEM>.
=item ExtUtils::PkgConfig->write_version_macros (FILE, PACKAGE, STEM, [PACKAGE, STEM, ...])
Create one or more sets of version macros for the libraries and prefixes
specified by the I<PACKAGE> and I<STEM> pairs and write them to the file
I<FILE>. If it doesn't exist, I<FILE> will be created. If it does exist, it
will be overwritten.
=back
=head1 SEE ALSO
ExtUtils::PkgConfig was designed to work with ExtUtils::Depends for compiling
the various modules of the gtk2-perl project.
L<ExtUtils::Depends>
L<http://gtk2-perl.sourceforge.net/>
This module is really just an interface to the pkg-config utility program.
http://www.freedesktop.org/Software/pkgconfig
=head1 BUNDLED CODE
This version of L<ExtUtils::PkgConfig> comes with functions and documentation
( run in 1.672 second using v1.01-cache-2.11-cpan-e1769b4cff6 )