#!/usr/bin/perl
#
use Module::Build;
use strict;
# Check for pkg-config
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".
"It is available from http://pkgconfig.freedesktop.org/\n";
} else {
my $pkgconfig_version = `$pkgconfig --version`;
chomp( $pkgconfig_version );
print "Found pkg-config version $pkgconfig_version.\n";
}
# Display libdiscid version
my $libdiscid_version = `$pkgconfig --modversion libdiscid`;
chomp($libdiscid_version);
if ($libdiscid_version =~ /^\d+\.\d+/) {
print "Found libdiscid library version $libdiscid_version.\n";
}
# Check libdiscid is new enough
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";
}
# Get libdiscid CFLAGS
my $LIBDISCID_CFLAGS = `$pkgconfig --cflags libdiscid`;
chomp( $LIBDISCID_CFLAGS );
print " LIBDISCID_CFLAGS = $LIBDISCID_CFLAGS\n";
# Get libdiscid LIBS
my $LIBDISCID_LIBS = `$pkgconfig --libs libdiscid`;
chomp( $LIBDISCID_LIBS );
print " LIBDISCID_LIBS = $LIBDISCID_LIBS\n";
# Create the Build script
my $build = Module::Build->new
(
module_name => 'MusicBrainz::DiscID',
license => 'gpl',
build_requires => {
'Module::Build' => '0.20'
},
requires => {
'Test' => '1.00',
'Test::More' => 0,
},
# Optional modules
recommends => {
'Test::Pod' => '1.00',
},
extra_compiler_flags => $LIBDISCID_CFLAGS,
extra_linker_flags => $LIBDISCID_LIBS,
);
$build->create_build_script;