On Wed, Sep 17, 2003 at 12:15:48AM -0700, Stas Bekman wrote:
> Suddenly MM started to provide a value for 'ld' which isn't the same as the 
> one reported by Config.pm (it provided no value before):
> 
> Here is the test script: (mm)
> 
>     require ExtUtils::MakeMaker;
>     my $mm = bless {}, 'MM';
>     $mm->init_others;
> 
>     for (qw(rm_f mv ld)) {
>         my $val = $mm->{"\U$_"};
>         print "$_ => $val\n";
>     }

This is bogus because the initialization of values from Config is done in
init_main().  You'd have to run init_main first.

     require ExtUtils::MakeMaker;
     my $mm = bless {}, 'MM';
     $mm->init_main;
     $mm->init_others;

     for (qw(rm_f mv ld)) {
         my $val = $mm->{"\U$_"};
         print "$_ => $val\n";
     }

That should return the correct value with 6.17.  If mod_perl is getting
the wrong value it might be doing something unsavory with MM's guts.
SHOCKED!  Yes, I am SHOCKED that someone is violating MakeMaker's
encapsulation! ;)

With mod_perl 1.28 and MM 6.17 and perl 5.6.0 on OS X LD is correctly set
to $Config{ld}.

So with that in mind, I don't think there's a bug in MM.  I also don't think
I'll move the initialization of $mm->{LD} to init_linker().  At least not
without pulling LD_RUN_PATH and all the other linker related stuff along
with it, something I don't want to do at the moment.


-- 
Michael G Schwern        [EMAIL PROTECTED]  http://www.pobox.com/~schwern/
Commence simultaneous panic on my mark.

Reply via email to