my $ans;
local $|=1;
print "$mess $dispdef";
- if ($ISA_TTY) {
+ if ($ISA_TTY && !$ENV{PERL_MM_USE_DEFAULT}) {
chomp($ans = <STDIN>);
} else {
print "$def\n";
PERLRUN PERLRUNINST PERL_ARCHLIB PERL_CORE
PERL_LIB PERL_SRC PERM_RW PERM_RWX
PL_FILES PM PM_FILTER PMLIBDIRS POLLUTE PPM_INSTALL_EXEC
- PPM_INSTALL_SCRIPT PREFIX PREREQ_FATAL
- PREREQ_PM SKIP TEST_LIBS TYPEMAPS VERSION VERSION_FROM XS XSOPT XSPROTOARG
+ PPM_INSTALL_SCRIPT PREFIX
+ PREREQ_FATAL PREREQ_PM PREREQ_PRINT PRINT_PREREQ
+ SKIP TEST_LIBS TYPEMAPS VERSION VERSION_FROM XS XSOPT XSPROTOARG
XS_VERSION clean depend dist dynamic_lib linkext macro realclean
tool_autosplit
MACPERL_SRC MACPERL_LIB MACLIBS_68K MACLIBS_PPC MACLIBS_SC MACLIBS_MRC
my($class,$self) = @_;
my($key);
+ if ("@ARGV" =~ /\bPREREQ_PRINT\b/) {
+ require Data::Dumper;
+ print Data::Dumper->Dump([$self->{PREREQ_PM}], [qw(PREREQ_PM)]);
+ }
+
+ # PRINT_PREREQ is RedHatism.
+ if ("@ARGV" =~ /\bPRINT_PREREQ\b/) {
+ print join(" ", map { "perl($_)>=$self->{PREREQ_PM}->{$_} " } sort keys %{$self->{PREREQ_PM}}), "\n";
+ exit 0;
+ }
+
print STDOUT "MakeMaker (v$VERSION)\n" if $Verbose;
if (-f "MANIFEST" && ! -f "Makefile"){
check_manifest();
decided at the build time of your perl (unless you override one of
them, of course).
-=item PREREQ_FATAL
-
-Bool. If this parameter is true, failing to have the prequired modules
-(or the right versions thereof) will be fatal. perl Makefile.PL will die
-with the proper message.
-
=item PREREQ_PM
Hashref: Names of modules that need to be available to run this
desired version is the value. If the required version number is 0, we
only check if any version is installed already.
+=item PREREQ_FATAL
+
+Bool. If this parameter is true, failing to have the required modules
+(or the right versions thereof) will be fatal. perl Makefile.PL will die
+with the proper message.
+
+Note: see L<Test::Harness> for a shortcut for stopping tests early if
+you are missing dependencies.
+
+Do I<not> use this parameter for simple requirements, which could be resolved
+at a later time, e.g. after an unsuccessful B<make test> of your module.
+
+It is I<extremely> rare to have to use C<PREREQ_FATAL> at all!
+
+=item PREREQ_PRINT
+
+Bool. If this parameter is true, the prerequisites will be printed to
+stdout and MakeMaker will exit. The output format is
+
+$PREREQ_PM = {
+ 'A::B' => Vers1,
+ 'C::D' => Vers2,
+ ...
+ };
+
+=item PRINT_PREREQ
+
+RedHatism for C<PREREQ_PRINT>. The output format is different, though:
+
+ perl(A::B)>=Vers1 perl(C::D)>=Vers2 ...
+
=item SKIP
Arrayref. E.g. [qw(name1 name2)] skip (do not write) sections of the
C<WriteMakefile()>. The string is split on whitespace, and the result
is processed before any actual command line arguments are processed.
+=item PERL_MM_USE_DEFAULT
+
+If set to a true value then MakeMaker's prompt function will
+always return the default without waiting for user input.
+
=back
=head1 SEE ALSO