# The following was supposedly scribed by
# Eric Wilhelm
# on Thursday 30 September 2004 12:04 pm:

>where $key = INC, and $value = '-I/home/ewilhelm/tmp/', but I can't
>find where this turns into Makefile.PL
>
>Where is this value getting lost?

Okay, I found it.

Inline::CPP is calling Inline::C::validate() more than once with 
different options each time.

Because Inline::C::validate() does this:
        $o->{ILSM}{MAKEFILE}{INC} = "-I$FindBin::Bin"

Later in validate(), the add_string() call happens, but if this is 
called multiple times without the same options each time, $o->{ILSM}
{MAKEFILE}{INC} gets smashed.

The solution I found was to change this assignment to a "check and 
then assign"

        ($o->{ILSM}{MAKEFILE}{INC} =~ m/-I$FindBin::Bin/) or
                ($o->{ILSM}{MAKEFILE}{INC} = "-I$FindBin::Bin");

This is Inline::C 0.44 and Inline::CPP 0.25

Thanks,
Eric
-- 
"It is a mistake to allow any mechanical object to realize that you 
are in a hurry."
                                        --Ralph's Observation

Reply via email to