So the PREFIXification logic basically works, mod some prototype code
I need to fix up.  There's just one real unsolved problem.

Let's think about what happens when you say:  perl Makefile.PL PREFIX=~

With 5.6.1's MakeMaker, the only way you can get PREFIX to work is if
your system install conforms to PREFIX/lib or PREFIX/lib/perl5.  So
when it does work, you're likely going to get:

    ~/lib/perl5/site_perl/

or perhaps

    ~/lib/site_perl/

When the new system comes into play this setup has to be preserved on
systems where it exists.  Currently it sort of does.

There's a few ways this can be handled.

1) if PREFIX/lib/perl5 or PREFIX/lib exist, use that, ignoring
   whatever's in $Config{installsitelib} and $Config{installsitearch}.

2) do nothing special.  If the old system worked it means that
   $Config{installsitelib} already has lib/perl5 in it and should
   translate the same way under the new system.

3) supply an INSTALLDIRS=default.  This completely ignores your
   configuration and just uses PREFIX/lib/perl5, PREFIX/man and
   PREFIX/bin.


I don't like #1.  Special Clever Logic is what made MakeMaker the mess
it is.  

The more I'm toying with #2 the more I'm finding it Just Works.

I also like #3.  This gives users an option to just completely forget
about all this magic PREFIXing logic and how Perl was configured,
etc... and just have a nice, sane, simple, predictable, boring
installation.


I'm leaning towards #2 and #3.


-- 

Michael G. Schwern   <[EMAIL PROTECTED]>    http://www.pobox.com/~schwern/
Perl Quality Assurance      <[EMAIL PROTECTED]>         Kwalitee Is Job One
GOD made us funky!

Reply via email to