Michael G Schwern wrote:
>Since EUI ships with both a Build.PL and a Makefile.PL this introduces a
>circular dependency between EUI and Module::Build.

Only if EUI depends on an MB recent enough to require a new EUI.  I don't
see why it would do that; presumably EUI can be installed using an old MB.

Of course, by means of unversioned dependencies, there is *already* a
circular dependency between EUI and MB, if you ignore the Makefile.PLs.
It's unavoidable to have some such circularity among the basic
module-processing modules, except by the inc:: route, and we know the
problems that lie there.  It would be wise to avoid making the circle any
tighter than necessary, but we should not shy away from having it at all.

For sufficiently recent perls, the circle is established by having
adequate versions of the modules installed as part of the base system.
The modules can then upgrade each other happily.  For older perls we
must ensure that there is an upgrade path to get the circle established;
old-style Makefile.PLs for the critical modules suffice.

-zefram

Reply via email to