in reply to Module with optional features

CPAN::Mini::Inject uses ExtUtils::ModuleMaker, but documentation relating to Module::Builder would also be great.

Module::Build supports this with "auto_features" - see the docs for details. So you might have something in your Build.PL like this (copied from the POD):

my $b = Module::Build->new( # ... other stuff here... auto_features => { signature_support => { description => "Module::Signature support", requires => q{ Module::Signature >= 0.05 }, }, }, );

and you can then test to see the feature is enabled with $b->feature('signature_support').