I see that I misread your post; 'ldflags' should have included
-L/sw/lib, and it does.  Here's the evolution of 'ccflags' in the same
region:

{
    'auto::aio' => '-fno-common -no-cpp-precomp  -pipe
-I/usr/local/include -pipe -fno-common -Wno-long-double 
-DHASATTRIBUTE_CONST  -DHASATTRIBUTE_DEPRECATED  -DHASATTRIBUTE_FORMAT 
-DHASATTRIBUTE_MALLOC  -DHASATTRIBUTE_NONNULL  -DHASATTRIBUTE_NORETURN 
-DHASATTRIBUTE_PURE  -DHASATTRIBUTE_UNUSED  -falign-functions=16 -W
-Wall -Waggregate-return -Wbad-function-cast -Wcast-align -Wcast-qual
-Wchar-subscripts -Wcomment -Wdisabled-optimization -Wformat-nonliteral
-Wformat-security -Wformat-y2k -Wimplicit
-Wimplicit-function-declaration -Wimplicit-int -Wimport -Winline
-Winvalid-pch -Wmain -Wmissing-braces -Wmissing-declarations
-Wmissing-prototypes -Wnested-externs -Wno-endif-labels -Wno-shadow
-Wno-unused -Wnonnull -Wpacked -Wparentheses -Wpointer-arith
-Wreturn-type -Wsequence-point -Wsign-compare -Wstrict-aliasing -Wswitch
-Wswitch-default -Wtrigraphs -Wundef -Wunknown-pragmas -Wwrite-strings'
  },
  {
    'auto::gmp' => '-fno-common -no-cpp-precomp  -pipe
-I/usr/local/include -pipe -fno-common -Wno-long-double 
-DHASATTRIBUTE_CONST  -DHASATTRIBUTE_DEPRECATED  -DHASATTRIBUTE_FORMAT 
-DHASATTRIBUTE_MALLOC  -DHASATTRIBUTE_NONNULL  -DHASATTRIBUTE_NORETURN 
-DHASATTRIBUTE_PURE  -DHASATTRIBUTE_UNUSED  -falign-functions=16 -W
-Wall -Waggregate-return -Wbad-function-cast -Wcast-align -Wcast-qual
-Wchar-subscripts -Wcomment -Wdisabled-optimization -Wformat-nonliteral
-Wformat-security -Wformat-y2k -Wimplicit
-Wimplicit-function-declaration -Wimplicit-int -Wimport -Winline
-Winvalid-pch -Wmain -Wmissing-braces -Wmissing-declarations
-Wmissing-prototypes -Wnested-externs -Wno-endif-labels -Wno-shadow
-Wno-unused -Wnonnull -Wpacked -Wparentheses -Wpointer-arith
-Wreturn-type -Wsequence-point -Wsign-compare -Wstrict-aliasing -Wswitch
-Wswitch-default -Wtrigraphs -Wundef -Wunknown-pragmas -Wwrite-strings
-I/sw/include'
  },
  {
    'auto::readline' => '-fno-common -no-cpp-precomp  -pipe
-I/usr/local/include -pipe -fno-common -Wno-long-double 
-DHASATTRIBUTE_CONST  -DHASATTRIBUTE_DEPRECATED  -DHASATTRIBUTE_FORMAT 
-DHASATTRIBUTE_MALLOC  -DHASATTRIBUTE_NONNULL  -DHASATTRIBUTE_NORETURN 
-DHASATTRIBUTE_PURE  -DHASATTRIBUTE_UNUSED  -falign-functions=16 -W
-Wall -Waggregate-return -Wbad-function-cast -Wcast-align -Wcast-qual
-Wchar-subscripts -Wcomment -Wdisabled-optimization -Wformat-nonliteral
-Wformat-security -Wformat-y2k -Wimplicit
-Wimplicit-function-declaration -Wimplicit-int -Wimport -Winline
-Winvalid-pch -Wmain -Wmissing-braces -Wmissing-declarations
-Wmissing-prototypes -Wnested-externs -Wno-endif-labels -Wno-shadow
-Wno-unused -Wnonnull -Wpacked -Wparentheses -Wpointer-arith
-Wreturn-type -Wsequence-point -Wsign-compare -Wstrict-aliasing -Wswitch
-Wswitch-default -Wtrigraphs -Wundef -Wunknown-pragmas -Wwrite-strings
-I/sw/include'
  },
  {
    'auto::gdbm' => '-fno-common -no-cpp-precomp  -pipe
-I/usr/local/include -pipe -fno-common -Wno-long-double 
-DHASATTRIBUTE_CONST  -DHASATTRIBUTE_DEPRECATED  -DHASATTRIBUTE_FORMAT 
-DHASATTRIBUTE_MALLOC  -DHASATTRIBUTE_NONNULL  -DHASATTRIBUTE_NORETURN 
-DHASATTRIBUTE_PURE  -DHASATTRIBUTE_UNUSED  -falign-functions=16 -W
-Wall -Waggregate-return -Wbad-function-cast -Wcast-align -Wcast-qual
-Wchar-subscripts -Wcomment -Wdisabled-optimization -Wformat-nonliteral
-Wformat-security -Wformat-y2k -Wimplicit
-Wimplicit-function-declaration -Wimplicit-int -Wimport -Winline
-Winvalid-pch -Wmain -Wmissing-braces -Wmissing-declarations
-Wmissing-prototypes -Wnested-externs -Wno-endif-labels -Wno-shadow
-Wno-unused -Wnonnull -Wpacked -Wparentheses -Wpointer-arith
-Wreturn-type -Wsequence-point -Wsign-compare -Wstrict-aliasing -Wswitch
-Wswitch-default -Wtrigraphs -Wundef -Wunknown-pragmas -Wwrite-strings
-I/sw/include -I/sw/include'
  },


Now, an obvious error is the doubling of the attribute at auto::gdbm for
each of the 3 flags.  I have an idea of how that happened.

from lib/Parrot/Configure/Step/Methods.pm:

sub _handle_darwin_for_fink {
    my ($self, $conf, $osname, $file) = @_;
    if ( $osname =~ /darwin/ ) {
        my $fink_lib_dir        = $conf->data->get('fink_lib_dir');
        my $fink_include_dir    = $conf->data->get('fink_include_dir');
        if ( (defined $fink_lib_dir) && (defined $fink_include_dir) ) {
            if ( -f "$fink_include_dir/$file" ) {
                $conf->data->add( ' ', linkflags => "-L$fink_lib_dir" );
                $conf->data->add( ' ', ldflags   => "-L$fink_lib_dir" );
                $conf->data->add( ' ', ccflags   => "-I$fink_include_dir" );
            }
        }
    }
    return 1;
}

However, the spewing problem occured at auto::readline -- one step
*before* the first superfluous addition of a flag.

Reply via email to