1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80
|
#! @perl@
## ---------------------------------------------------------------------
## mk-moar-pc.in -- Describe MoarVM configuration
##
## Copyright © 2014 Daniel Dehennin <daniel.dehennin@baby-gnu.org>
##
##
use strict;
use warnings;
use File::Basename;
use File::Path qw{mkpath};
my @args = @ARGV;
die "Missing target filename argument" if @args < 1;
my $prefix = '@prefix@';
my $bindir = '@bindir@';
my $libdir = '@libdir@';
my $mastdir = '@mastdir@';
my $includedir = "${prefix}/include";
my $package = '@name@';
my $version = '@version@';
my $exeext = '@exe@';
my $moar = "${bindir}/${package}${exeext}";
my $ldopts = '@ldflags@';
my $ldflags = "-L${libdir} -l${package}";
my $libs = "${ldflags}";
my $cflags = "-I${includedir}";
my $static_libs = '';
if ('@config@' =~ m/--static/) {
my $static_libs = "${libdir}/lib${package}.a";
}
else {
my $static_libs = '';
}
if ($libdir =~ m{^/(?:usr/)?lib(?:64)?}) {
$ldopts = '';
$ldflags = "-l$package";
}
else {
$ldflags = "${ldopts} ${ldflags}";
}
$libs = "${ldflags}";
$cflags = '' if ${includedir} eq "/usr/include";
my $dirname = dirname $args[0];
if ( ! -d $dirname ) {
mkpath($dirname);
}
open my $pcfile, '>', "$args[0]"
or die "Can not open > $args[0]: $!";
print $pcfile <<EOF;
# pkg-config information for MoarVM ${version}
#
prefix=$prefix
package=$package
includedir=$includedir
bindir=$bindir
libdir=$libdir
mastdir=$mastdir
ldopts=$ldopts
exeext=$exeext
version=$version
moar=$moar
libs=$libs
static_libs=$static_libs
Name: MoarVM
Description: A virtual machine for Rakudo Perl 6 and NQP
URL: http://moarvm.org
Version: $version
Libs: $ldflags
Cflags: $cflags
EOF
close $pcfile;
## end of mk-moar-pc.in
|