1use strict;
2use ExtUtils::MakeMaker;
3
4if  (eval {require ExtUtils::Constant; 1}) {
5  my @names =
6    (qw(
7	OASHIFT
8	OCSHIFT
9	OA_CLASS_MASK
10
11	OA_MARK
12	OA_FOLDCONST
13	OA_RETSCALAR
14	OA_TARGET
15	OA_RETINTEGER
16	OA_OTHERINT
17	OA_DANGEROUS
18	OA_DEFGV
19	OA_TARGLEX
20
21	OA_BASEOP
22	OA_UNOP
23	OA_BINOP
24	OA_LOGOP
25	OA_LISTOP
26	OA_PMOP
27	OA_SVOP
28	OA_PADOP
29	OA_PVOP_OR_SVOP
30	OA_LOOP
31	OA_COP
32	OA_BASEOP_OR_UNOP
33	OA_FILESTATOP
34	OA_LOOPEXOP
35
36	OA_SCALAR
37	OA_LIST
38	OA_AVREF
39	OA_HVREF
40	OA_CVREF
41	OA_FILEREF
42	OA_SCALARREF
43	OA_OPTIONAL
44
45        OA_NOSTACK
46        OA_MAYSCALAR
47        OA_MAYARRAY
48        OA_MAYVOID
49        OA_RETFIXED
50        OA_MAYBRANCH
51
52       ));
53  ExtUtils::Constant::WriteConstants
54      (NAME         => 'Opcodes',
55       NAMES        => \@names,
56       DEFAULT_TYPE => 'IV',
57      );
58}
59
60WriteMakefile(
61    NAME          => 'Opcodes',
62    VERSION_FROM  => 'lib/Opcodes.pm',
63    ABSTRACT_FROM => 'lib/Opcodes.pm',
64    AUTHOR        => 'Reini Urban',
65    LICENSE       => 'perl',
66    ($ExtUtils::MakeMaker::VERSION gt '6.46' ?
67     ('META_MERGE'  => {
68       resources =>
69       {
70	 license     => 'http://dev.perl.org/licenses/',
71	 repository  => 'http://github.com/rurban/Opcodes',
72       },
73      }
74     ) : ()),
75    realclean => {FILES	=> 'const-c.inc const-xs.inc'},
76    SIGN          => 1,
77  );
78
79package MY;
80
81sub dist {
82  local $_ = shift->SUPER::dist(@_);
83  s/DIST_DEFAULT = /DIST_DEFAULT = README.md /;
84  return $_;
85}
86
87sub depend { '
88README.md : $(VERSION_FROM)
89	pod2markdown $(VERSION_FROM) | \
90	  $(PERL) -pe\'s/png\]\(https:/png\)\](https:/; s/(Travis|Coveralls): \[/\[!\[\1]\(/;\' > $@
91test_cover :: pure_all
92	$(RM_RF) cover_db
93	$(PERLRUNINST) -S cover -test
94test_coveralls :: pure_all
95	$(PERLRUNINST) -S cover -test -report coveralls
96'; }
97