Ticket #30: tt30-shared-libparrot-warning.patch

File tt30-shared-libparrot-warning.patch, 1.7 KB (added by doughera, 5 years ago)
  • config/inter/libparrot.pm

    diff -r -u parrot-current/config/inter/libparrot.pm parrot-andy/config/inter/libparrot.pm
    old new  
    4343 
    4444    $parrot_is_shared = 0 unless $conf->data->get('has_dynamic_linking'); 
    4545 
    46     # Parrot can't necessarily handle a pre-existing installed shared 
    47     # libparrot.so. At this point, we don't know the actual name 
    48     # of the shared parrot library. So we try some candidates. 
    49     # See RT #52288: the check for old_versions should be improved 
    50     my @libs = ('libparrot.so'); 
    51     my @libpaths = ('/usr/local/lib', '/usr/lib', $conf->data->get('libdir')); 
    52     if ($^O eq 'MSWin32') { 
    53         push @libpaths, (split /;/, $ENV{PATH}); 
    54         @libs = ('libparrot.dll', 'libparrot.lib', 'libparrot.dll.a'); 
    55     } 
    56     if ($^O eq 'cygwin') { 
    57         @libs = ('libparrot.dll.a'); 
    58     } 
    59     if (defined $ENV{LD_LIBRARY_PATH}) { 
    60         push @libpaths, (split /:/, $ENV{LD_LIBRARY_PATH}); 
    61     } 
    62     if (defined $ENV{LD_RUN_PATH}) { 
    63         push @libpaths, (split /:/, $ENV{LD_RUN_PATH}); 
    64     } 
    65     if (defined $ENV{DYLD_LIBRARY_PATH}) { 
    66         push @libpaths, (split /:/, $ENV{DYLD_LIBRARY_PATH}); 
    67     } 
    68     foreach my $f (@libs) { 
    69         foreach my $d (@libpaths) { 
    70             my $oldversion = File::Spec->catfile($d, $f); 
    71             if (-e $oldversion) { 
    72                 warn("\nWarning: Building a shared parrot library may conflict " . 
    73                      "with your previously-installed $oldversion\n"); 
    74             } 
    75         } 
    76     } 
    77  
    7846    if ( 
    7947        $conf->options->get('ask') 
    8048        &&