Inline::CPP v0.34 as of this moment has 96 smoke tests in, 79 passes,
and 17 fails.  None of the failures exhibit the Parse::RecDescent bug.
 Fixed!

Of the 17 failures, 15 are on Solaris 2.11, with the failure point,
"/bin/sh: CC: command not found"

We're trying to detect the correct compiler to use through some logic
in Makefile.PL:

#============================================================================
# Make an intelligent guess about what compiler to use
#============================================================================
my $cc_guess;
my $libs_guess;
if ($Config{gccversion} and $Config{cc} =~ m#\bgcc\b[^/]*$# ) {
    ($cc_guess = $Config{cc}) =~ s[\bgcc\b([^/]*)$(?:)][g\+\+$1];
    $libs_guess = '-lstdc++';
}
elsif ($Config{osname} =~ /^MSWin/) {
    $cc_guess = 'cl -TP -EHsc';
    $libs_guess = 'MSVCIRT.LIB';
}
elsif ($Config{osname} eq 'linux') {
    $cc_guess = 'g++';
    $libs_guess = '-lstdc++';
}
elsif ($Config{osname} eq 'cygwin') {
    $cc_guess = 'g++';
    $libs_guess = '-lstdc++';
}
elsif ($Config{osname} eq 'darwin'){
    my $stdlib_query =
        'find /usr/lib/gcc -name "libstdc++*" | grep $( uname -p )';
    my $stdcpp =
        `$stdlib_query`; + $stdcpp =~ s/^(.*)\/[^\/]+$/$1/;
    $cc_guess =
        'g++';
    $libs_guess =
        "-L$stdcpp -lstdc++";
}
elsif ($Config{osname} eq 'solaris' or $Config{osname} eq 'SunOS') {
    if ($Config{cc} eq 'gcc') {
        $cc_guess = 'g++';
        $libs_guess = '-lstdc++';
    }
    else {
        $cc_guess = 'CC';
        $libs_guess ='-lCrun';
    }
}
# Sane defaults for other (probably unix-like) operating systems
else {
    $cc_guess = 'g++';
    $libs_guess = '-lstdc++';
}


Any Solaris gurus out there who might know why we're not correctly
detecting the compiler for Solaris 2.11?

It looks to me like the 'if( $config{cc} eq 'gcc' ) .... " code is
falling through to the else clause that sets $cc_guess to 'CC', and in
this case probably shouldn't be.

Dave

-- 

David Oswald
daosw...@gmail.com

Reply via email to