my
$pkgconfig
= `which pkg-config`;
chomp
(
$pkgconfig
);
if
(
$pkgconfig
!~ /pkg-config/ or
$pkgconfig
=~ /not found/i)
{
die
"Error: pkgconfig is not available on your system\n"
.
}
else
{
my
$pkgconfig_version
= `
$pkgconfig
--version`;
chomp
(
$pkgconfig_version
);
print
"Found pkg-config version $pkgconfig_version.\n"
;
}
my
$libdiscid_version
= `
$pkgconfig
--modversion libdiscid`;
chomp
(
$libdiscid_version
);
if
(
$libdiscid_version
=~ /^\d+\.\d+/) {
print
"Found libdiscid library version $libdiscid_version.\n"
;
}
my
$status
=
system
(
"$pkgconfig --atleast-version=0.2.2 libdiscid"
);
if
(
$status
!= 0) {
die
"Error: libdiscid version 0.2.2 or higher is required.\n"
;
}
my
$LIBDISCID_CFLAGS
= `
$pkgconfig
--cflags libdiscid`;
chomp
(
$LIBDISCID_CFLAGS
);
print
" LIBDISCID_CFLAGS = $LIBDISCID_CFLAGS\n"
;
my
$LIBDISCID_LIBS
= `
$pkgconfig
--libs libdiscid`;
chomp
(
$LIBDISCID_LIBS
);
print
" LIBDISCID_LIBS = $LIBDISCID_LIBS\n"
;
my
%WriteMakefileArgs
= (
NAME
=>
'MusicBrainz::DiscID'
,
ABSTRACT_FROM
=>
'lib/MusicBrainz/DiscID.pm'
,
VERSION_FROM
=>
'lib/MusicBrainz/DiscID.pm'
,
AUTHOR
=>
'Nicholas J. Humfrey'
,
LICENSE
=>
'mit'
,
TEST_REQUIRES
=> {
'Test'
=>
'1.00'
,
'Test::More'
=> 0,
'Test::Pod'
=>
'1.00'
},
CCFLAGS
=>
"$Config{ccflags} $LIBDISCID_CFLAGS"
,
LIBS
=>
$LIBDISCID_LIBS
,
XSPROTOARG
=>
'-noprototypes'
);
if
(
eval
{ ExtUtils::MakeMaker->VERSION(6.46) }) {
$WriteMakefileArgs
{META_MERGE} = {
'meta-spec'
=> {
version
=> 2 },
resources
=> {
bugtracker
=> {
},
repository
=> {
type
=>
'git'
,
},
},
}
}
if
(!
eval
{ ExtUtils::MakeMaker->VERSION(6.64) }) {
while
(
my
(
$m
,
$v
) =
each
%{
$WriteMakefileArgs
{TEST_REQUIRES}}) {
$WriteMakefileArgs
{PREREQ_PM}->{
$m
} =
$v
;
}
delete
$WriteMakefileArgs
{TEST_REQUIRES};
}
WriteMakefile(
%WriteMakefileArgs
);