develooper Front page | perl.perl5.porters | Postings from August 2012

Re: deprecate and remove microperl (was Re: microperl (was Re: perl5.16.1-RC1 is now available))

Thread Previous | Thread Next
Andy Dougherty
August 20, 2012 12:21
Re: deprecate and remove microperl (was Re: microperl (was Re: perl5.16.1-RC1 is now available))
Message ID:
On Fri, 17 Aug 2012, Nicholas Clark wrote:

> No, microperl was (I think) intended as an experiment as to whether it's
> possible to build perl without needing to run some other tool first to
> configure it. If you could, you might be able to replace Configure with
> some sort of bootstrapping approach using a microperl to build the
> configuration for the real perl

Yes, that fits my recollection too (though I'm too lazy to go and 
actively search the archives).  For both micro- and mini- perl, the prefix 
really isn't about size, but about configuration.

> Even the "no configuration" idea doesn't really work - you need at least 
> one canned configuration for ILP32 systems, and one for LP64 systems. 
> (And, possibly, a third for LLP64 systems, which may just be Win64)

> I'm not sure if it will be. These are the sizes of perl, microperl and
> miniperl (roughly perl without DynaLoader.o) on ARM Linux, built with -Os:
> -rwxr-xr-x 1 nick nick 1091074 Aug 16 21:55 microperl
> -rwxr-xr-x 1 nick nick 1223695 Aug 16 15:15 miniperl
> -rwxr-xr-x 1 nick nick 1332163 Aug 16 16:03 perl
> Sizes on x86_64, built with -O2:
> -rwxr-xr-x 1 nicholas p5p 1290000 Aug 17 12:52 microperl
> -rwxr-xr-x 1 nicholas p5p 1402597 Aug 17 12:09 miniperl
> -rwxr-xr-x 1 nicholas p5p 1512889 Aug 17 12:09 perl
> However, if I try to graft as much of the microperl config into regular
> Configure generated config (to remove as many d_* and i_* as possible),
> and add -DNO_MATHOMS, and bodge a couple of things that I can't configure:

If anyone wanted to pursue this further, this is the path I'd recommend 
following.  One could write a portable C program that generated the 
appropriate size information, and add configuration info for 
stuff that's needed.  I'd be happy to see all the 
#ifdef PERL_MICRO bits removed from the perl source, and push that 
complexity back into Configure.  I'd be willing to contribute to such an 

> As I also can't see anyone looking to replace Configure at this stage in
> Perl 5's lifecycle, it's not clear to me that there's any actual case for it.
> Given that we've managed to break microperl in two stable releases in the
> past 3 years without anyone noticing until some time afterwards, and it costs
> us time and effort to maintain it, I propose that we announce in 5.18.0 that
> we're planning to eliminate it, and if no-one gives a good use case as to
> why to keep it, we cull it before 5.20.0 ships.

I think that's sensible.

    Andy Dougherty

Thread Previous | Thread Next Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at | Group listing | About