Skip Menu |

This queue is for tickets about the Module-Build CPAN distribution.

Report information
The Basics
Id: 14261
Status: resolved
Priority: 0/
Queue: Module-Build

People
Owner: Nobody in particular
Requestors: jdhedden [...] 1979.usna.com
Cc:
AdminCc:

Bug Information
Severity: Important
Broken in: 0.2611
Fixed in: (no value)



Subject: No check for ExtUtils::ParseXS
Module::Build does not check for the existance of ExtUtils::ParseXS when Build.PL specifies the existance of XS files. If Build.PL specifies XS files, then "perl Build.PL" should 'die' if the optional module ExtUtils::ParseXS is not installed. The workaround is that users must add: build_requires => { ExtUtils::ParseXS => 0, } to their Build.PL. It that is to be required, then it should be documented in the POD.
I'd never thought about that issue before. You're right, the current behavior isn't great. Your suggestion of die()ing during the Build.PL if ExtUtils::ParseXS isn't installed is probably a little too drastic - after all, we don't even die when explicit prereqs are missing, we just warn. Probably a warning here too would be good. I'm thinking that the best mechanism would be to check whether the find_xs_files() method returns a nonzero number of files. -Ken [JDHEDDEN - Mon Aug 22 11:15:20 2005]: Show quoted text
> Module::Build does not check for the existance of ExtUtils::ParseXS > when > Build.PL specifies the existance of XS files. > > If Build.PL specifies XS files, then "perl Build.PL" should 'die' if > the optional module ExtUtils::ParseXS is not installed. > > The workaround is that users must add: > > build_requires => { ExtUtils::ParseXS => 0, } > > to their Build.PL. It that is to be required, then it should be > documented in the POD.
I've just added a patch for this in CVS revision 1.481. It issues a warning when find_xs_files() returns real entries, and C_support (comprising ExtUtils::XS and ExtUtils::CBuilder) isn't available. -Ken