Module::Build::Convert actually does all the background work and can be safely
considered the backend, whereas make2build may be looked at as practicle frontend utility.
Module::Build::Convert currently exposes two kinds of operation: static approach & dynamic
execution. When static approach is being referred, this means ie. that the arguments contained within
the Makefile.PL's
WriteMakefile() call are being parsed, whereas dynamic
execution "runs" the Makefile.PL
and captures the arguments provided to WriteMakefile()
.
Module::Build::Convert parses statically by default, because the dynamic execution has the
downside that code will be interpreted and the interpreted output will be written to the Build.PL
,
so you have to conclude that the user of the distribution will end up with predefined values computed
on the authors system; this is something that should surely be avoided whenever possible! If the
parsing approach fails, ie. loops endlessly on input, Module::Build::Convert will be "reinited"
again and dynamic execution of the Makefile.PL
will be performed instead.