On Friday, September 29, 2000 4:45 PM, Perl6 RFC Librarian
[SMTP:[EMAIL PROTECTED]] wrote:
> This and other RFCs are available on the web at
> http://dev.perl.org/rfc/
>
> =head1 TITLE
>
> Perl modules should be built with a Perl make program
>
> =head1 VERSION
>
> Maintainer: Mark Leighton Fisher <[EMAIL PROTECTED]>
> Date: 29 Sept 2000
> Mailing List: [EMAIL PROTECTED]
> Number: 349
> Version: 1
> Status: Developing
>
> =head1 ABSTRACT
>
> Everything but the 'perl' binary should be built with a make
> program written in Perl.
>
> =head1 DESCRIPTION
>
> There are inconsistencies between the versions of 'make'.
> We already have (from what I've gathered) quite reasonable
> make-like programs in Perl (pmake and cons). Using one
> tool written in Perl would make the build process both
> more reliable and more consistent by reducing the number
> of system-dependent entities in the build process.
>
> If a cons-like tool is chosen there is also the advantage
> of using a tool better able to handle complex builds.
>
> =head1 IMPLEMENTATION
>
> Probably either pmake or cons should be chosen rather than
> writing a tool from scratch, although virtual targets (targets
> like 'install' or 'all') should be added to cons before it
> is used in the Perl module build process.
>
> There should be a module corresponding to ExtUtils::MakeMaker
> that generates makefiles for the new Perl make-like program.
>
> =head1 REFERENCES
>
> ExtUtils::MakeMaker
ABSOLUTELY.
In fact, since half of perl is currently made using "miniperl" anyway, it would
seem logical to start the perl build itself, and not just modules, with a
platform-dependent script/batch file, then let perl run the show in a mostly
platform independent manner as soon as miniperl is up and running. Parameters
should exist in platform-dependent parameter files (to avoid huge command lines
for crippled OS's) and could use simple perl -pi~ -e 's/whatsis/whosis/g'. This
could also simplify the build environment somewhat. One parameter file could be
used for multiple compilers, or even multiple OS's, barring the dratted
\r\n|\n|\r problem.
This is how I'm building PerlMagic with MinGWin32.
Perl is hugely more functional even in the miniperl state than any make utility
I've ever used.