lucy-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Marvin Humphrey <mar...@rectangular.com>
Subject Re: [lucy-dev] Header file installation
Date Tue, 28 Feb 2012 18:25:14 GMT
On Tue, Feb 28, 2012 at 10:32:44AM +0100, Nick Wellnhofer wrote:
> The only problem I can see with Perl is the fact that there are  
> different install paths as you pointed out above. Let's say we have a  
> distro that ships with Lucy in installvendorarch. If someone wants to  
> install an extension with its own header files locally, then the  
> extension would be installed in installsitearch while the header files  
> would have to go to installvendorarch. This breaks the concept of  
> separating vendor and site installations and might cause problems with  
> certain setups.

Nice analysis!

> Maybe we should always look in the following two directories:
>
>     catdir( $installvendorarch, 'Clownfish', '_include' )
>     catdir( $installsitearch, 'Clownfish', '_include' )

+1

So then the only question is which should come first.  I think it ought to be
"site" before "vendor" -- as recent versions of Perl have switched the default
order of @INC to prefer "site":

  marvin@smokey:~ $ ~/opt/perl583/bin/perl5.8.3 -V
      [...]
      @INC:
        /Users/marvin/opt/perl583/lib/5.8.3/darwin-2level
        /Users/marvin/opt/perl583/lib/5.8.3
        /Users/marvin/opt/perl583/lib/site_perl/5.8.3/darwin-2level
        /Users/marvin/opt/perl583/lib/site_perl/5.8.3
        /Users/marvin/opt/perl583/lib/site_perl
        .

  marvin@smokey:~ $ ~/opt/perl5141/bin/perl5.14.1 -V
      [...]
      @INC:
        /Users/marvin/opt/perl5141/lib/site_perl/5.14.1/darwin-2level
        /Users/marvin/opt/perl5141/lib/site_perl/5.14.1
        /Users/marvin/opt/perl5141/lib/5.14.1/darwin-2level
        /Users/marvin/opt/perl5141/lib/5.14.1
        .

Background:

  http://markmail.org/message/bxrxvkqewhdnhuts

  PS: For ActivePerl we recently inverted the ordering in @INC to site_lib,
  vendor_lib, and lib. Installing new versions of core modules into site_lib
  makes it much easier to revert to the original version. :)

Marvin Humphrey


Mime
View raw message