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.