Change in order of PREREQ_PM and CONFIGURE

[email protected] (Martin Evans)
Newsgroups perl.makemaker
Organization Easysoft Limited
Message-ID <[email protected]>
Apologies for bothering you but I am not sure if this is a bug so did 
not want to rtpan it.

Between ExtUtils::MakeMaker 6.32 and 6.33 the order that CONFIGURE is 
run has changed from after PREREQ_PM to before PREREQ_PM. I don't think 
it can be classed as a bug since the pod does not specifically say 
CONFIGURE is run after PREREQ_PM. This causes me a problem as I was 
using a require in CONFIGURE sub which was also in PREREQ_PM so 
PREREQ_PM would error if the required module was not found (and hence 
not cause a failure on cpan-testers). Since 6.33 the require in 
CONFIGURE fails which causes a cpan-testers failure. The thread on 
cpan-testers-discuss where this came about is:

http://www.mail-archive.com/cpan-testers-discuss%40perl.org/msg00076.html

and my specific code is:

     $opts{PREREQ_PM} = { "DBI" => 1.21 };
     $opts{CONFIGURE} = sub {
         require DBI::DBD;
         my $dbi_arch_dir = dbd_dbi_arch_dir();
         if (exists($opts{INC})) {
             return {INC => "$opts{INC} -I$dbi_arch_dir"};
         } else {
             return {INC => "-I$dbi_arch_dir"};
         }
     };
}

My module needs DBI installing first because of the call to 
dbd_dbi_arch_dir() above which I need to change INC. I was relying on 
PREREQ_PM failing before CONFIGURE was run.

It would appear I can no longer rely on CONFIGURE being run after 
PREREQ_PM so I will change my module to require DBI::DBD in an eval and 
issue a warning and exit 0 if DBD::DBD not found as cpan-testers say 
this will not cause a failure but I thought you might want to know of 
this change in MakeMaker.

Martin
-- 
Martin J. Evans
Easysoft Limited
http://www.easysoft.com
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.