On Tue, 11 Apr 2006, Brendan O'Dea wrote:

> forwarded 139537 perl5-porters@perl.org
> thanks
> 
> On Mon, Apr 10, 2006 at 07:40:30PM -0400, Ian Zimmerman wrote:
> >Package: perl
> >Version: 5.8.8-3
> >Followup-For: Bug #139537
> >
> >For example, $Config{'tail'} is also undefined.  /usr/bin/tail comes from 
> >coreutils,
> >a required package, so $Config{'tail'} should always be set to 
> >"/usr/bin/tail".
> 
> Configure doesn't actually test for tail (nor sendmail as noted in the
> initial bug report).
> 
> I'm not sure why these empty variables are included in Config{.pm,_heavy.pl}
> if they're not actually searched for--forwarding to p5p for comments.

This is correct and documented, if rather odd and unhelpful, behavior.  
>From the output of
        perldoc Config:

    "tail"
           From Loc.U:
           This variable is defined but not used by Configure.  The value 
           is a plain '' and is not useful.

There are a bunch of such variables used internally by Configure but 
useless afterwards.  They are mostly historical baggage at this point.

When Configure runs, it stores its results in a file config.sh.  The perl 
build process then builds Config.pm from that file.  The Config.pm file is 
supposed to contain enough information to completely recreate the 
config.sh file (and hence do an identical rebuild).  I suppose the script 
that builds Config.pm could strip out the useless items (such as 'tail').

> About the only thing which springs my mind is that you can explicity set
> such variables by passing -Dtail=/usr/local/bin/tail (or whatever) to
> Configure.

The OS/2 port does indeed do some such tricks with 'ln' and 'nroff' 
(though the ln trick shouldn't be necessary anymore).

> This presumes that any program using these variables does so as:
> 
>     my $tail = $Config{tail} || 'tail';
>     my $sendmail = $Config{sendmail} || '/usr/sbin/sendmail';

I wouldn't bother.  Those %Config{} variables are documented as being 
undefined and useless.  In the very very rare cases where someone might 
have set them, it's not at all guaranteed that the path name on the 
machine where perl was built is the same as that on the machine where perl 
is running. 

-- 
    Andy Dougherty              [EMAIL PROTECTED]



-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Reply via email to