develooper Front page | perl.perl6.stdlib | Postings from September 2000

RE: RFC 349 (v1) Perl modules should be built with a Perl make program

From:
David Grove
Date:
September 29, 2000 17:13
Subject:
RE: RFC 349 (v1) Perl modules should be built with a Perl make program
Message ID:
01C02A45.CE92A180.pete@petes-place.com
On Friday, September 29, 2000 4:45 PM, Perl6 RFC Librarian 
[SMTP:perl6-rfc@perl.org] 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 <fisherm@tce.com>
>   Date: 29 Sept 2000
>   Mailing List: perl6-stdlib@perl.org
>   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.





nntp.perl.org: Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at ask@perl.org | Group listing | About