Start porting Tapir to use distutils instead of a Makefile
[tapir.git] / setup.pir
blob1e064a9839414621c552d6d0c16700dd0ba1eeaf
1 #!/usr/bin/env parrot
2 # Copyright (C) 2009, Jonathan "Duke" Leto
4 # Thanks to whiteknight++ (because I stole and tweaked this from
5 # parrot-linear-algebra) and fperrad++, for writing distutils for Parrot
7 =head1 NAME
9 setup.pir - Setup, build, test and install Tapir
11 =head1 DESCRIPTION
13 No Configure step, no Makefile generated.
15 See F<runtime/parrot/library/distutils.pir>.
17 =head1 USAGE
19     $ parrot setup.pir build
20     $ parrot setup.pir test
21     $ sudo parrot setup.pir install
23 =cut
25 .sub 'main' :main
26     .param pmc args
27     $S0 = shift args
28     load_bytecode 'distutils.pbc'
30     $P0 = new 'Hash'
31     $P0['name'] = 'tapir'
32     $P0['abstract'] = 'Fast TAP Harness written in PIR'
33     $P0['authority'] = 'http://github.com/leto'
34     $P0['description'] = 'Fast TAP Harness written in PIR'
35     $P1 = split ';', 'TAP;harness;testing'
36     $P0['keywords'] = $P1
37     $P0['license_type'] = 'Artistic License 2.0'
38     $P0['license_uri'] = 'http://www.perlfoundation.org/artistic_license_2_0'
39     $P0['copyright_holder'] = 'Jonathan "Duke" Leto'
40     $P0['checkout_uri'] = 'git://github.com/leto/tapir.git'
41     $P0['browser_uri'] = 'http://github.com/leto/tapir'
42     $P0['project_uri'] = 'http://github.com/leto/tapir'
44     # build
45     $P4 = new 'Hash'
46     $P4['t/harness.pbc'] = 't/harness.pir'
47     $P4['lib/Tapir/Parser.pbc'] = 'lib/Tapir/Parser.pir'
48     $P4['lib/Tapir/Stream.pbc'] = 'lib/Tapir/Stream.pir'
49     $P0['pbc_pir'] = $P4
51     # test
52     $P0['harness_exec'] = './tapir'
53     $P0['harness_files'] = 't/*.t'
55     # dist
56     $P5 = glob('lib/Tapir/*.pir t/*.pir t/*.t')
57     $P0['manifest_includes'] = $P5
59     .tailcall setup(args :flat, $P0 :flat :named)
60 .end
62 # Local Variables:
63 #   mode: pir
64 #   fill-column: 100
65 # End:
66 # vim: expandtab shiftwidth=4 ft=pir: