[More thoughts later -- this is just snap reactions]
> There's also an issue of getting any extras (e.g. EU::CBuilder) into the
> bundle -- or do those just get treated as build_requires?
The only thing that needs to be bundled in inc/ are configure_requires
modules. Anything build_requires can be handled by CPAN(PLUS) or
"Build installdeps" after configuration.
> It seems like a better idea to have an external tool do the bundling
> (ala contrib/bundle.pl), and maybe attempting to modify your Build.PL.
>
> Or, just go with the slightly wordier Build.PL bit:
>
> use lib 'inc';
> use latest 'Module::Build';
>
> ... and have ACTION_dist() do the bundling if it can see latest->VERSION
> or something like that.
I think I'd like to avoid needing a separate tool and having it happen
during ACTION_dist. Or, probably, a new "Build bundle_inc" action that
ACTION_dist can depend on if configured to do so.
M::I installs an "inc::Module::Install" into the normal @INC libraries
that allows bootstrapping the inc/ directory. It might be worth
exploring that kind of approach. E.g.
use inc::Module::Build::Bundled;
Where that would be a subclass of M::B that sets up the necessary inc/
manipulations.
-- David