unless (eval "use Module::Build::Compat 0.02; 1" ) {
           print "This module requires Module::Build to install itself.\n";

           require ExtUtils::MakeMaker;
           my $yn = ExtUtils::MakeMaker::prompt
             ('  Install Module::Build from CPAN?', 'y');

           if ($yn =~ /^y/i) {
             require Cwd;
             require File::Spec;
             require CPAN;

             # Save this 'cause CPAN will chdir all over the place.
             my $cwd = Cwd::cwd();
             my $makefile = File::Spec->rel2abs($0);

             CPAN::Shell->install('Module::Build::Compat');

             chdir $cwd or die "Cannot chdir() back to $cwd: $!";
             exec $^X, $makefile, @ARGV;  # Redo now that we have Module::Build
           } else {
             warn " *** Cannot install without Module::Build.  Exiting ...\n";
             exit 1;
           }
         }
         Module::Build::Compat->run_build_pl(args => \@ARGV);
         Module::Build::Compat->write_makefile();