XS-Install

 view release on metacpan or  search on metacpan

MANIFEST  view on Meta::CPAN

t/parsexs/parsexs.t
t/parsexs/xs.txt
t/payload.t
t/pkgconfig/mod/lib/TestMod.pm
t/pkgconfig/mod/my.xs
t/pkgconfig/mylib.pc
t/pkgconfig/mylib1.pc
t/pkgconfig/mylib2.pc
t/pkgconfig/pkgconfig.t
t/src.t
t/testmod/data/ccdat/ccdata1.bin
t/testmod/data/ccdat/ccdata2.bin
t/testmod/data/data.txt
t/testmod/data/db.db
t/testmod/file1.c
t/testmod/file1.h
t/testmod/file2.cc
t/testmod/file2.hh
t/testmod/lib/TestMod.pm
t/testmod/lib/TestMod/Pack.pm
t/testmod/misc.xs
t/testmod/my.xs

t/payload.t  view on Meta::CPAN

cmp_deeply($args->{PM}, {'pronlist.txt' => '/$(FULLEXT).x/payload/misc/1.txt'});

$args = tune XS::Install::makemaker_args(NAME => 'TestMod', PAYLOAD => {
    'pronlist.txt' => '',
    'data'         => '',
});
cmp_deeply($args->{PM}, {
    'pronlist.txt'           => '/$(FULLEXT).x/payload/pronlist.txt',
    'data/db.db'             => '/$(FULLEXT).x/payload/data/db.db',
    'data/data.txt'          => '/$(FULLEXT).x/payload/data/data.txt',
    'data/ccdat/ccdata1.bin' => '/$(FULLEXT).x/payload/data/ccdat/ccdata1.bin',
    'data/ccdat/ccdata2.bin' => '/$(FULLEXT).x/payload/data/ccdat/ccdata2.bin',
});

$args = tune XS::Install::makemaker_args(NAME => 'TestMod', PAYLOAD => {
    'pronlist.txt' => '',
    'data'         => '/',
});
cmp_deeply($args->{PM}, {
    'pronlist.txt'           => '/$(FULLEXT).x/payload/pronlist.txt',
    'data/db.db'             => '/$(FULLEXT).x/payload/db.db',
    'data/data.txt'          => '/$(FULLEXT).x/payload/data.txt',
    'data/ccdat/ccdata1.bin' => '/$(FULLEXT).x/payload/ccdat/ccdata1.bin',
    'data/ccdat/ccdata2.bin' => '/$(FULLEXT).x/payload/ccdat/ccdata2.bin',
});

$args = tune XS::Install::makemaker_args(NAME => 'TestMod', PAYLOAD => {
    'pronlist.txt' => '',
    'data'         => 'jopa',
});
cmp_deeply($args->{PM}, {
    'pronlist.txt'           => '/$(FULLEXT).x/payload/pronlist.txt',
    'data/db.db'             => '/$(FULLEXT).x/payload/jopa/db.db',
    'data/data.txt'          => '/$(FULLEXT).x/payload/jopa/data.txt',
    'data/ccdat/ccdata1.bin' => '/$(FULLEXT).x/payload/jopa/ccdat/ccdata1.bin',
    'data/ccdat/ccdata2.bin' => '/$(FULLEXT).x/payload/jopa/ccdat/ccdata2.bin',
});

$args = tune XS::Install::makemaker_args(NAME => 'TestMod', PAYLOAD => {
    'data/ccdat/ccdata1.bin' => '/jopa/',
});
cmp_deeply($args->{PM}, {
    'data/ccdat/ccdata1.bin' => '/$(FULLEXT).x/payload/jopa/data/ccdat/ccdata1.bin',
});

$args = tune XS::Install::makemaker_args(NAME => 'TestMod', PAYLOAD => {
    'data/ccdat/ccdata1.bin' => '/jopa/cc1.bin',
});
cmp_deeply($args->{PM}, {
    'data/ccdat/ccdata1.bin' => '/$(FULLEXT).x/payload/jopa/cc1.bin',
});

$args = tune XS::Install::makemaker_args(NAME => 'TestMod', PAYLOAD => {
    'data/ccdat' => '/jopa/',
});
cmp_deeply($args->{PM}, {
    'data/ccdat/ccdata1.bin' => '/$(FULLEXT).x/payload/jopa/ccdata1.bin',
    'data/ccdat/ccdata2.bin' => '/$(FULLEXT).x/payload/jopa/ccdata2.bin',
});

done_testing();

sub tune (@) {
    my $args = shift;
    for (values %{$args->{PM}||{}}) {
        s/\$\(INST_ARCHLIB\)//;
        s/\$\(INST_LIB\)//;
    }



( run in 0.492 second using v1.01-cache-2.11-cpan-454fe037f31 )