# from Andreas J. Koenig
# on Tuesday 11 September 2007 11:04 pm:

What you're describing sounds like a combination between the two.

>diplomatic writes Makefile.PL (diplomatic) and Makefile-trad.PL
>   (traditional). 

(and probably Makefile-pass.PL (passthru))

>   On the user box: The diplomatic calls the 
>   traditional if no Module::Build is install,

Yeah, just passes-through.

>   otherwise it plays the Build.PL.
>   In the latter case a small Makefile is provided too, so 
>   that a call to 'make' translates to a a call to './Build'.

That's what passthru does.  So, you're describing a layer which would 
multiplex between the two existing compatibility layers and requires 
shipping two more Makefile-like.PL files.

It would work, but not any better than whichever compatibility file it 
dispatches to.  I don't think that solves much.

If Makefile.PL and make were adequate interfaces, Module::Build would 
behave like Module::Install in that it prints a makefile (then binds, 
spindles, and mutilates the ExtUtils::MakeMaker warranty by applying 
s/// to said Makefile.)

Or, we could just rewrite all of that printing-of-Makefiles code and 
replicate all of that cross-platform goodness.  Let's call it m4, but 
that probably won't be high-level enough, so we'll wrap that with an 
'autoconf' layer.

Or, hey!  Maybe we could use the language for which we are building code 
(and which we know is installed and is known to work) to build said 
code.  This might even enable the author to use such modern 
conveniences as subclasses to redefine the build behavior.  It might 
even run faster.

--Eric
-- 
The only thing that could save UNIX at this late date would be a new $30
shareware version that runs on an unexpanded Commodore 64.
--Don Lancaster (1991)
---------------------------------------------------
    http://scratchcomputing.com
---------------------------------------------------

Reply via email to