1use 5.006002;
2
3use strict;
4use warnings;
5
6use lib qw{ inc };
7
8use My::Module::Build;
9use My::Module::Meta;
10use My::Module::Recommend;
11use Config;
12use FileHandle;
13use Module::Build;
14
15( my $mbv = Module::Build->VERSION() ) =~ s/_//g;
16
17my $meta = My::Module::Meta->new();
18
19my %args = (
20    add_to_cleanup	=> $meta->add_to_cleanup(),
21    build_requires	=> $meta->build_requires(),
22    configure_requires	=> $meta->configure_requires(),
23    dist_abstract	=> $meta->abstract(),
24    dist_author	=> $meta->author(),
25    dist_name	=> $meta->dist_name(),
26    license	=> $meta->license(),
27    module_name	=> $meta->module_name(),
28    requires	=> $meta->requires(
29	perl	=> $meta->requires_perl(),
30    ),
31    script_files	=> [],
32);
33
34$mbv >= 0.26
35    and $args{get_options} = {
36	n	=> { type => '!' },
37	y	=> { type => '!' },
38    };
39
40if ( $mbv >= 0.28 ) {
41    $args{meta_merge} = $meta->meta_merge();
42    $args{no_index} = $meta->no_index();
43    $args{meta_add} = {
44	$meta->provides(),
45    },
46}
47
48$mbv >= 0.34
49    and $args{auto_configure_requires} = 0;	# Don't require Module::Build
50
51My::Module::Recommend->recommend();
52
53#	Generate a builder object.
54
55my $bldr = My::Module::Build->new ( %args );
56
57#	Find out what the user wants to do.
58
59my %opt = $bldr->args();
60
61my @exe_files = map { "script/$_" }
62    $meta->notice( \%opt );
63
64#	Tell Module::Build what we want to do.
65
66$bldr->script_files( \@exe_files );
67
68#	Generate the build script, at long last.
69
70$bldr->create_build_script();
71
72# ex: set textwidth=72 :
73