r24598 - in /branches/upstream/libextutils-cbuilder-perl/current: ./ lib/ExtUtils/ lib/ExtUtils/CBuilder/ lib/ExtUtils/CBuilder/Platform/

gregoa at users.alioth.debian.org gregoa at users.alioth.debian.org
Mon Aug 25 03:10:56 UTC 2008


Author: gregoa
Date: Mon Aug 25 03:10:53 2008
New Revision: 24598

URL: http://svn.debian.org/wsvn/pkg-perl/?sc=1&rev=24598
Log:
[svn-upgrade] Integrating new upstream version, libextutils-cbuilder-perl (0.24)

Modified:
    branches/upstream/libextutils-cbuilder-perl/current/Changes
    branches/upstream/libextutils-cbuilder-perl/current/META.yml
    branches/upstream/libextutils-cbuilder-perl/current/Makefile.PL
    branches/upstream/libextutils-cbuilder-perl/current/SIGNATURE
    branches/upstream/libextutils-cbuilder-perl/current/lib/ExtUtils/CBuilder.pm
    branches/upstream/libextutils-cbuilder-perl/current/lib/ExtUtils/CBuilder/Base.pm
    branches/upstream/libextutils-cbuilder-perl/current/lib/ExtUtils/CBuilder/Platform/Unix.pm
    branches/upstream/libextutils-cbuilder-perl/current/lib/ExtUtils/CBuilder/Platform/VMS.pm
    branches/upstream/libextutils-cbuilder-perl/current/lib/ExtUtils/CBuilder/Platform/Windows.pm
    branches/upstream/libextutils-cbuilder-perl/current/lib/ExtUtils/CBuilder/Platform/aix.pm
    branches/upstream/libextutils-cbuilder-perl/current/lib/ExtUtils/CBuilder/Platform/cygwin.pm
    branches/upstream/libextutils-cbuilder-perl/current/lib/ExtUtils/CBuilder/Platform/darwin.pm
    branches/upstream/libextutils-cbuilder-perl/current/lib/ExtUtils/CBuilder/Platform/dec_osf.pm
    branches/upstream/libextutils-cbuilder-perl/current/lib/ExtUtils/CBuilder/Platform/os2.pm

Modified: branches/upstream/libextutils-cbuilder-perl/current/Changes
URL: http://svn.debian.org/wsvn/pkg-perl/branches/upstream/libextutils-cbuilder-perl/current/Changes?rev=24598&op=diff
==============================================================================
--- branches/upstream/libextutils-cbuilder-perl/current/Changes (original)
+++ branches/upstream/libextutils-cbuilder-perl/current/Changes Mon Aug 25 03:10:53 2008
@@ -1,4 +1,12 @@
 Revision history for Perl extension ExtUtils::CBuilder.
+
+ - Added 'gnu' and 'gnukfreebsd' as Unix variants. [Niko Tyni]
+
+ - Brought in some VMS fixes from bleadperl: "Correct and complete
+   CBuilder's handling of external libraries when linking on VMS."
+   [Craig Berry]
+
+0.23 - Sat Apr 19 22:28:03 2008
 
  - Fixed some problems (some old, some new) with Strawberry Perl on
    Windows. [Alberto Simo~es]

Modified: branches/upstream/libextutils-cbuilder-perl/current/META.yml
URL: http://svn.debian.org/wsvn/pkg-perl/branches/upstream/libextutils-cbuilder-perl/current/META.yml?rev=24598&op=diff
==============================================================================
--- branches/upstream/libextutils-cbuilder-perl/current/META.yml (original)
+++ branches/upstream/libextutils-cbuilder-perl/current/META.yml Mon Aug 25 03:10:53 2008
@@ -1,6 +1,6 @@
 ---
 name: ExtUtils-CBuilder
-version: 0.23
+version: 0.24
 author:
   - 'Ken Williams, kwilliams at cpan.org'
 abstract: Compile and link C code for Perl modules
@@ -19,19 +19,19 @@
 provides:
   ExtUtils::CBuilder:
     file: lib/ExtUtils/CBuilder.pm
-    version: 0.23
+    version: 0.24
   ExtUtils::CBuilder::Base:
     file: lib/ExtUtils/CBuilder/Base.pm
-    version: 0.23
+    version: 0.24
   ExtUtils::CBuilder::Platform::Unix:
     file: lib/ExtUtils/CBuilder/Platform/Unix.pm
-    version: 0.23
+    version: 0.24
   ExtUtils::CBuilder::Platform::VMS:
     file: lib/ExtUtils/CBuilder/Platform/VMS.pm
-    version: 0.23
+    version: 0.24
   ExtUtils::CBuilder::Platform::Windows:
     file: lib/ExtUtils/CBuilder/Platform/Windows.pm
-    version: 0.23
+    version: 0.24
   ExtUtils::CBuilder::Platform::Windows::BCC:
     file: lib/ExtUtils/CBuilder/Platform/Windows.pm
   ExtUtils::CBuilder::Platform::Windows::GCC:
@@ -40,20 +40,20 @@
     file: lib/ExtUtils/CBuilder/Platform/Windows.pm
   ExtUtils::CBuilder::Platform::aix:
     file: lib/ExtUtils/CBuilder/Platform/aix.pm
-    version: 0.23
+    version: 0.24
   ExtUtils::CBuilder::Platform::cygwin:
     file: lib/ExtUtils/CBuilder/Platform/cygwin.pm
-    version: 0.23
+    version: 0.24
   ExtUtils::CBuilder::Platform::darwin:
     file: lib/ExtUtils/CBuilder/Platform/darwin.pm
-    version: 0.23
+    version: 0.24
   ExtUtils::CBuilder::Platform::dec_osf:
     file: lib/ExtUtils/CBuilder/Platform/dec_osf.pm
-    version: 0.23
+    version: 0.24
   ExtUtils::CBuilder::Platform::os2:
     file: lib/ExtUtils/CBuilder/Platform/os2.pm
-    version: 0.23
-generated_by: Module::Build version 0.280801
+    version: 0.24
+generated_by: Module::Build version 0.2808
 meta-spec:
   url: http://module-build.sourceforge.net/META-spec-v1.2.html
   version: 1.2

Modified: branches/upstream/libextutils-cbuilder-perl/current/Makefile.PL
URL: http://svn.debian.org/wsvn/pkg-perl/branches/upstream/libextutils-cbuilder-perl/current/Makefile.PL?rev=24598&op=diff
==============================================================================
--- branches/upstream/libextutils-cbuilder-perl/current/Makefile.PL (original)
+++ branches/upstream/libextutils-cbuilder-perl/current/Makefile.PL Mon Aug 25 03:10:53 2008
@@ -1,4 +1,4 @@
-# Note: this file was auto-generated by Module::Build::Compat version 0.2808_01
+# Note: this file was auto-generated by Module::Build::Compat version 0.03
 use ExtUtils::MakeMaker;
 WriteMakefile
 (

Modified: branches/upstream/libextutils-cbuilder-perl/current/SIGNATURE
URL: http://svn.debian.org/wsvn/pkg-perl/branches/upstream/libextutils-cbuilder-perl/current/SIGNATURE?rev=24598&op=diff
==============================================================================
--- branches/upstream/libextutils-cbuilder-perl/current/SIGNATURE (original)
+++ branches/upstream/libextutils-cbuilder-perl/current/SIGNATURE Mon Aug 25 03:10:53 2008
@@ -15,29 +15,29 @@
 Hash: SHA1
 
 SHA1 3b1438c8e22b1ba9bc99254e60c34b6e9e94109f Build.PL
-SHA1 3ea14319b8c3fc8c2c8c9839c81288ce012b0c54 Changes
+SHA1 95944b9849b82c9ddb9b3bf1d4730bf3f54b4039 Changes
 SHA1 c97a41c305bae68328a71523bedd89351335a9a4 INSTALL
 SHA1 4816eea03cc85bc7de49b62b91dfaee4371e1c9d MANIFEST
-SHA1 66ec4ffbb7890e990de5c137852ff0c5777be005 META.yml
-SHA1 66a0c0304f3a048f8f3bccc45566a48c2772bbac Makefile.PL
+SHA1 77726e56a46a8463756aec4f863f7cfe4e53f13f META.yml
+SHA1 ee69234f5c928b22d58c3c8581c4dd3c27147b0e Makefile.PL
 SHA1 d913fe9d22af923688f884f8ef01f9dc99ac8913 README
 SHA1 e5aabb51bec8883695fb78a9d717266f1c0405d6 bleadcheck.pl
-SHA1 1563aa3c9074e78d192681719bf1fb0431bdad23 lib/ExtUtils/CBuilder.pm
-SHA1 a3171a7b9ada74bba181f9e8f9b5e15ed17e06be lib/ExtUtils/CBuilder/Base.pm
-SHA1 8fdb0385d37399dd9cd9b07f9842cdbf0b34defd lib/ExtUtils/CBuilder/Platform/Unix.pm
-SHA1 6fbbba2710eaaebfc67abbcc2d21ff93e6f5c38e lib/ExtUtils/CBuilder/Platform/VMS.pm
-SHA1 e736526b8518f7d0b44c96727ae5b5113f0baed4 lib/ExtUtils/CBuilder/Platform/Windows.pm
-SHA1 5f59f4d1e9cb8659a55ce1984cf9eba338cc186b lib/ExtUtils/CBuilder/Platform/aix.pm
-SHA1 718d42498c2288097e68c61cf4966b2163c47c54 lib/ExtUtils/CBuilder/Platform/cygwin.pm
-SHA1 e197b4b6917664506f46ca8e0616ba62cb5f9a6c lib/ExtUtils/CBuilder/Platform/darwin.pm
-SHA1 a8422e2f8b97186d970b5044cee1246a25c0301f lib/ExtUtils/CBuilder/Platform/dec_osf.pm
-SHA1 7d7ceba9e63bcc860d27f05dc50b140291444453 lib/ExtUtils/CBuilder/Platform/os2.pm
+SHA1 69e7486e4346ff127f4b100143930877c2a71202 lib/ExtUtils/CBuilder.pm
+SHA1 e49c7bc023fa982595664bfd2ed3a98e4d798f3b lib/ExtUtils/CBuilder/Base.pm
+SHA1 a1afd924862760d18d0e934bba8945a0121224d6 lib/ExtUtils/CBuilder/Platform/Unix.pm
+SHA1 f794e7ef5f0ea29d13c46c6cd92027f538d0c7e8 lib/ExtUtils/CBuilder/Platform/VMS.pm
+SHA1 4753a0ebb4d7514545986074e5e997ed50f66d2b lib/ExtUtils/CBuilder/Platform/Windows.pm
+SHA1 c32018cc3ea45c74a5ff1a11c94d95e3315cc420 lib/ExtUtils/CBuilder/Platform/aix.pm
+SHA1 c8a8602806199f3ffb1fbe2390a11d85f4973f11 lib/ExtUtils/CBuilder/Platform/cygwin.pm
+SHA1 924b47cf1e9be8686d5b60f61d347e0ccb836a0c lib/ExtUtils/CBuilder/Platform/darwin.pm
+SHA1 58b801fc82493024ed6523b925011b252a21a993 lib/ExtUtils/CBuilder/Platform/dec_osf.pm
+SHA1 5e95690ae2c1407e6187d84102213ad3581088f8 lib/ExtUtils/CBuilder/Platform/os2.pm
 SHA1 659b66c376d1de0f3fd92beb3d6c540281b1932d t/01-basic.t
 SHA1 66b84847e912d8540d2bb0a68bde775bc55cec12 t/02-link.t
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.4.5 (Darwin)
 
-iD8DBQFICrgvgrvMBLfvlHYRAkfyAJ49zXPPmfHH1cQWk1B5CPLJEYp5PQCgmmMg
-7okXi+TAG5CQApPBacBIjw0=
-=SQpT
+iD8DBQFIpkMPgrvMBLfvlHYRAs7IAJ4uP0s+e2IUkCujEQZGiIZ44WX1hwCfcgXN
+nmziR8Cm2CX1T4PbhkOCKL4=
+=IhIZ
 -----END PGP SIGNATURE-----

Modified: branches/upstream/libextutils-cbuilder-perl/current/lib/ExtUtils/CBuilder.pm
URL: http://svn.debian.org/wsvn/pkg-perl/branches/upstream/libextutils-cbuilder-perl/current/lib/ExtUtils/CBuilder.pm?rev=24598&op=diff
==============================================================================
--- branches/upstream/libextutils-cbuilder-perl/current/lib/ExtUtils/CBuilder.pm (original)
+++ branches/upstream/libextutils-cbuilder-perl/current/lib/ExtUtils/CBuilder.pm Mon Aug 25 03:10:53 2008
@@ -5,7 +5,7 @@
 use File::Basename ();
 
 use vars qw($VERSION @ISA);
-$VERSION = '0.23';
+$VERSION = '0.24';
 $VERSION = eval $VERSION;
 
 # Okay, this is the brute-force method of finding out what kind of
@@ -36,6 +36,8 @@
 		 sunos     Unix
 		 cygwin    Unix
 		 os2       Unix
+		 gnu       Unix
+		 gnukfreebsd Unix
 		 
 		 dos       Windows
 		 MSWin32   Windows

Modified: branches/upstream/libextutils-cbuilder-perl/current/lib/ExtUtils/CBuilder/Base.pm
URL: http://svn.debian.org/wsvn/pkg-perl/branches/upstream/libextutils-cbuilder-perl/current/lib/ExtUtils/CBuilder/Base.pm?rev=24598&op=diff
==============================================================================
--- branches/upstream/libextutils-cbuilder-perl/current/lib/ExtUtils/CBuilder/Base.pm (original)
+++ branches/upstream/libextutils-cbuilder-perl/current/lib/ExtUtils/CBuilder/Base.pm Mon Aug 25 03:10:53 2008
@@ -9,7 +9,7 @@
 use IO::File;
 
 use vars qw($VERSION);
-$VERSION = '0.23';
+$VERSION = '0.24';
 
 sub new {
   my $class = shift;

Modified: branches/upstream/libextutils-cbuilder-perl/current/lib/ExtUtils/CBuilder/Platform/Unix.pm
URL: http://svn.debian.org/wsvn/pkg-perl/branches/upstream/libextutils-cbuilder-perl/current/lib/ExtUtils/CBuilder/Platform/Unix.pm?rev=24598&op=diff
==============================================================================
--- branches/upstream/libextutils-cbuilder-perl/current/lib/ExtUtils/CBuilder/Platform/Unix.pm (original)
+++ branches/upstream/libextutils-cbuilder-perl/current/lib/ExtUtils/CBuilder/Platform/Unix.pm Mon Aug 25 03:10:53 2008
@@ -4,7 +4,7 @@
 use ExtUtils::CBuilder::Base;
 
 use vars qw($VERSION @ISA);
-$VERSION = '0.23';
+$VERSION = '0.24';
 @ISA = qw(ExtUtils::CBuilder::Base);
 
 sub link_executable {

Modified: branches/upstream/libextutils-cbuilder-perl/current/lib/ExtUtils/CBuilder/Platform/VMS.pm
URL: http://svn.debian.org/wsvn/pkg-perl/branches/upstream/libextutils-cbuilder-perl/current/lib/ExtUtils/CBuilder/Platform/VMS.pm?rev=24598&op=diff
==============================================================================
--- branches/upstream/libextutils-cbuilder-perl/current/lib/ExtUtils/CBuilder/Platform/VMS.pm (original)
+++ branches/upstream/libextutils-cbuilder-perl/current/lib/ExtUtils/CBuilder/Platform/VMS.pm Mon Aug 25 03:10:53 2008
@@ -4,8 +4,12 @@
 use ExtUtils::CBuilder::Base;
 
 use vars qw($VERSION @ISA);
-$VERSION = '0.23';
+$VERSION = '0.24';
 @ISA = qw(ExtUtils::CBuilder::Base);
+
+use File::Spec::Functions qw(catfile catdir);
+
+# We do prelink, but don't want the parent to redo it.
 
 sub need_prelink { 0 }
 
@@ -49,18 +53,34 @@
   my $objects = delete $args{objects};
   $objects = [$objects] unless ref $objects;
   
-  # VMS has two option files, the external symbol, and to pull in PerlShr
   if ($args{lddl}) {
-    my @temp_files =
-      $self->prelink(%args, dl_name => $args{module_name});
+
+    # prelink will call Mksymlists, which creates the extension-specific
+    # linker options file and populates it with the boot symbol.
+
+    my @temp_files = $self->prelink(%args, dl_name => $args{module_name});
+
+    # We now add the rest of what we need to the linker options file.  We
+    # should replicate the functionality of C<ExtUtils::MM_VMS::dlsyms>,
+    # but there is as yet no infrastructure for handling object libraries,
+    # so for now we depend on object files being listed individually on the 
+    # command line, which should work for simple cases.  We do bring in our
+    # own version of C<ExtUtils::Liblist::Kid::ext> so that any additional
+    # libraries (including PERLSHR) can be added to the options file.
+
+    my @optlibs = $self->_liblist_ext( $args{'libs'} );
+
+    my $optfile = 'sys$disk:[]' . $temp_files[0];
+    open my $opt_fh, '>>', $optfile 
+        or die "_do_link: Unable to open $optfile: $!";
+    for my $lib (@optlibs) {print $opt_fh "$lib\n" if length $lib }
+    close $opt_fh;
 
     $objects->[-1] .= ',';
-
-    # If creating a loadable library, the link option file is needed.
-    push @$objects, 'sys$disk:[]' . $temp_files[0] . '/opt,';
-
-    # VMS always needs the option file for the Perl shared image.
-    push @$objects, $self->perl_inc() . 'PerlShr.Opt/opt';
+    push @$objects, $optfile . '/OPTIONS,';
+
+    # This one not needed for DEC C, but leave for completeness.
+    push @$objects, $self->perl_inc() . 'perlshr_attr.opt/OPTIONS';
   }
 
   return $self->SUPER::_do_link($type, %args, objects => $objects);
@@ -99,4 +119,176 @@
   return $dl_file;
 }
 
+# The following is reproduced almost verbatim from ExtUtils::Liblist::Kid::_vms_ext.
+# We can't just call that because it's tied up with the MakeMaker object hierarchy.
+
+sub _liblist_ext {
+  my($self, $potential_libs,$verbose,$give_libs) = @_;
+  $verbose ||= 0;
+
+  my(@crtls,$crtlstr);
+  @crtls = ( ($self->{'config'}{'ldflags'} =~ m-/Debug-i ? $self->{'config'}{'dbgprefix'} : '')
+              . 'PerlShr/Share' );
+  push(@crtls, grep { not /\(/ } split /\s+/, $self->{'config'}{'perllibs'});
+  push(@crtls, grep { not /\(/ } split /\s+/, $self->{'config'}{'libc'});
+  # In general, we pass through the basic libraries from %Config unchanged.
+  # The one exception is that if we're building in the Perl source tree, and
+  # a library spec could be resolved via a logical name, we go to some trouble
+  # to ensure that the copy in the local tree is used, rather than one to
+  # which a system-wide logical may point.
+  if ($self->perl_src) {
+    my($lib,$locspec,$type);
+    foreach $lib (@crtls) { 
+      if (($locspec,$type) = $lib =~ m{^([\w\$-]+)(/\w+)?} and $locspec =~ /perl/i) {
+        if    (lc $type eq '/share')   { $locspec .= $self->{'config'}{'exe_ext'}; }
+        elsif (lc $type eq '/library') { $locspec .= $self->{'config'}{'lib_ext'}; }
+        else                           { $locspec .= $self->{'config'}{'obj_ext'}; }
+        $locspec = catfile($self->perl_src, $locspec);
+        $lib = "$locspec$type" if -e $locspec;
+      }
+    }
+  }
+  $crtlstr = @crtls ? join(' ', at crtls) : '';
+
+  unless ($potential_libs) {
+    warn "Result:\n\tEXTRALIBS: \n\tLDLOADLIBS: $crtlstr\n" if $verbose;
+    return ('', '', $crtlstr, '', ($give_libs ? [] : ()));
+  }
+
+  my(@dirs, at libs,$dir,$lib,%found, at fndlibs,$ldlib);
+  my $cwd = cwd();
+  my($so,$lib_ext,$obj_ext) = @{$self->{'config'}}{'so','lib_ext','obj_ext'};
+  # List of common Unix library names and their VMS equivalents
+  # (VMS equivalent of '' indicates that the library is automatically
+  # searched by the linker, and should be skipped here.)
+  my(@flibs, %libs_seen);
+  my %libmap = ( 'm' => '', 'f77' => '', 'F77' => '', 'V77' => '', 'c' => '',
+                 'malloc' => '', 'crypt' => '', 'resolv' => '', 'c_s' => '',
+                 'socket' => '', 'X11' => 'DECW$XLIBSHR',
+                 'Xt' => 'DECW$XTSHR', 'Xm' => 'DECW$XMLIBSHR',
+                 'Xmu' => 'DECW$XMULIBSHR');
+  if ($self->{'config'}{'vms_cc_type'} ne 'decc') { $libmap{'curses'} = 'VAXCCURSE'; }
+
+  warn "Potential libraries are '$potential_libs'\n" if $verbose;
+
+  # First, sort out directories and library names in the input
+  foreach $lib (split ' ',$potential_libs) {
+    push(@dirs,$1),   next if $lib =~ /^-L(.*)/;
+    push(@dirs,$lib), next if $lib =~ /[:>\]]$/;
+    push(@dirs,$lib), next if -d $lib;
+    push(@libs,$1),   next if $lib =~ /^-l(.*)/;
+    push(@libs,$lib);
+  }
+  push(@dirs,split(' ',$self->{'config'}{'libpth'}));
+
+  # Now make sure we've got VMS-syntax absolute directory specs
+  # (We don't, however, check whether someone's hidden a relative
+  # path in a logical name.)
+  foreach $dir (@dirs) {
+    unless (-d $dir) {
+      warn "Skipping nonexistent Directory $dir\n" if $verbose > 1;
+      $dir = '';
+      next;
+    }
+    warn "Resolving directory $dir\n" if $verbose;
+    if (!File::Spec->file_name_is_absolute($dir)) { 
+        $dir = catdir($cwd,$dir); 
+    }
+  }
+  @dirs = grep { length($_) } @dirs;
+  unshift(@dirs,''); # Check each $lib without additions first
+
+  LIB: foreach $lib (@libs) {
+    if (exists $libmap{$lib}) {
+      next unless length $libmap{$lib};
+      $lib = $libmap{$lib};
+    }
+
+    my(@variants,$variant,$cand);
+    my($ctype) = '';
+
+    # If we don't have a file type, consider it a possibly abbreviated name and
+    # check for common variants.  We try these first to grab libraries before
+    # a like-named executable image (e.g. -lperl resolves to perlshr.exe
+    # before perl.exe).
+    if ($lib !~ /\.[^:>\]]*$/) {
+      push(@variants,"${lib}shr","${lib}rtl","${lib}lib");
+      push(@variants,"lib$lib") if $lib !~ /[:>\]]/;
+    }
+    push(@variants,$lib);
+    warn "Looking for $lib\n" if $verbose;
+    foreach $variant (@variants) {
+      my($fullname, $name);
+
+      foreach $dir (@dirs) {
+        my($type);
+
+        $name = "$dir$variant";
+        warn "\tChecking $name\n" if $verbose > 2;
+        $fullname = VMS::Filespec::rmsexpand($name);
+        if (defined $fullname and -f $fullname) {
+          # It's got its own suffix, so we'll have to figure out the type
+          if    ($fullname =~ /(?:$so|exe)$/i)      { $type = 'SHR'; }
+          elsif ($fullname =~ /(?:$lib_ext|olb)$/i) { $type = 'OLB'; }
+          elsif ($fullname =~ /(?:$obj_ext|obj)$/i) {
+            warn "Note (probably harmless): "
+                ."Plain object file $fullname found in library list\n";
+            $type = 'OBJ';
+          }
+          else {
+            warn "Note (probably harmless): "
+                ."Unknown library type for $fullname; assuming shared\n";
+            $type = 'SHR';
+          }
+        }
+        elsif (-f ($fullname = VMS::Filespec::rmsexpand($name,$so))      or
+               -f ($fullname = VMS::Filespec::rmsexpand($name,'.exe')))     {
+          $type = 'SHR';
+          $name = $fullname unless $fullname =~ /exe;?\d*$/i;
+        }
+        elsif (not length($ctype) and  # If we've got a lib already, 
+                                       # don't bother
+               ( -f ($fullname = VMS::Filespec::rmsexpand($name,$lib_ext)) or
+                 -f ($fullname = VMS::Filespec::rmsexpand($name,'.olb'))))  {
+          $type = 'OLB';
+          $name = $fullname unless $fullname =~ /olb;?\d*$/i;
+        }
+        elsif (not length($ctype) and  # If we've got a lib already, 
+                                       # don't bother
+               ( -f ($fullname = VMS::Filespec::rmsexpand($name,$obj_ext)) or
+                 -f ($fullname = VMS::Filespec::rmsexpand($name,'.obj'))))  {
+          warn "Note (probably harmless): "
+		       ."Plain object file $fullname found in library list\n";
+          $type = 'OBJ';
+          $name = $fullname unless $fullname =~ /obj;?\d*$/i;
+        }
+        if (defined $type) {
+          $ctype = $type; $cand = $name;
+          last if $ctype eq 'SHR';
+        }
+      }
+      if ($ctype) { 
+        # This has to precede any other CRTLs, so just make it first
+        if ($cand eq 'VAXCCURSE') { unshift @{$found{$ctype}}, $cand; }  
+        else                      { push    @{$found{$ctype}}, $cand; }
+        warn "\tFound as $cand (really $fullname), type $ctype\n" 
+          if $verbose > 1;
+	push @flibs, $name unless $libs_seen{$fullname}++;
+        next LIB;
+      }
+    }
+    warn "Note (probably harmless): "
+		 ."No library found for $lib\n";
+  }
+
+  push @fndlibs, @{$found{OBJ}}                      if exists $found{OBJ};
+  push @fndlibs, map { "$_/Library" } @{$found{OLB}} if exists $found{OLB};
+  push @fndlibs, map { "$_/Share"   } @{$found{SHR}} if exists $found{SHR};
+  $lib = join(' ', at fndlibs);
+
+  $ldlib = $crtlstr ? "$lib $crtlstr" : $lib;
+  warn "Result:\n\tEXTRALIBS: $lib\n\tLDLOADLIBS: $ldlib\n" if $verbose;
+  wantarray ? ($lib, '', $ldlib, '', ($give_libs ? \@flibs : ())) : $lib;
+}
+
 1;

Modified: branches/upstream/libextutils-cbuilder-perl/current/lib/ExtUtils/CBuilder/Platform/Windows.pm
URL: http://svn.debian.org/wsvn/pkg-perl/branches/upstream/libextutils-cbuilder-perl/current/lib/ExtUtils/CBuilder/Platform/Windows.pm?rev=24598&op=diff
==============================================================================
--- branches/upstream/libextutils-cbuilder-perl/current/lib/ExtUtils/CBuilder/Platform/Windows.pm (original)
+++ branches/upstream/libextutils-cbuilder-perl/current/lib/ExtUtils/CBuilder/Platform/Windows.pm Mon Aug 25 03:10:53 2008
@@ -10,7 +10,7 @@
 use IO::File;
 
 use vars qw($VERSION @ISA);
-$VERSION = '0.23';
+$VERSION = '0.24';
 @ISA = qw(ExtUtils::CBuilder::Base);
 
 sub new {

Modified: branches/upstream/libextutils-cbuilder-perl/current/lib/ExtUtils/CBuilder/Platform/aix.pm
URL: http://svn.debian.org/wsvn/pkg-perl/branches/upstream/libextutils-cbuilder-perl/current/lib/ExtUtils/CBuilder/Platform/aix.pm?rev=24598&op=diff
==============================================================================
--- branches/upstream/libextutils-cbuilder-perl/current/lib/ExtUtils/CBuilder/Platform/aix.pm (original)
+++ branches/upstream/libextutils-cbuilder-perl/current/lib/ExtUtils/CBuilder/Platform/aix.pm Mon Aug 25 03:10:53 2008
@@ -5,7 +5,7 @@
 use File::Spec;
 
 use vars qw($VERSION @ISA);
-$VERSION = '0.23';
+$VERSION = '0.24';
 @ISA = qw(ExtUtils::CBuilder::Platform::Unix);
 
 sub need_prelink { 1 }

Modified: branches/upstream/libextutils-cbuilder-perl/current/lib/ExtUtils/CBuilder/Platform/cygwin.pm
URL: http://svn.debian.org/wsvn/pkg-perl/branches/upstream/libextutils-cbuilder-perl/current/lib/ExtUtils/CBuilder/Platform/cygwin.pm?rev=24598&op=diff
==============================================================================
--- branches/upstream/libextutils-cbuilder-perl/current/lib/ExtUtils/CBuilder/Platform/cygwin.pm (original)
+++ branches/upstream/libextutils-cbuilder-perl/current/lib/ExtUtils/CBuilder/Platform/cygwin.pm Mon Aug 25 03:10:53 2008
@@ -5,7 +5,7 @@
 use ExtUtils::CBuilder::Platform::Unix;
 
 use vars qw($VERSION @ISA);
-$VERSION = '0.23';
+$VERSION = '0.24';
 @ISA = qw(ExtUtils::CBuilder::Platform::Unix);
 
 sub link_executable {

Modified: branches/upstream/libextutils-cbuilder-perl/current/lib/ExtUtils/CBuilder/Platform/darwin.pm
URL: http://svn.debian.org/wsvn/pkg-perl/branches/upstream/libextutils-cbuilder-perl/current/lib/ExtUtils/CBuilder/Platform/darwin.pm?rev=24598&op=diff
==============================================================================
--- branches/upstream/libextutils-cbuilder-perl/current/lib/ExtUtils/CBuilder/Platform/darwin.pm (original)
+++ branches/upstream/libextutils-cbuilder-perl/current/lib/ExtUtils/CBuilder/Platform/darwin.pm Mon Aug 25 03:10:53 2008
@@ -4,7 +4,7 @@
 use ExtUtils::CBuilder::Platform::Unix;
 
 use vars qw($VERSION @ISA);
-$VERSION = '0.23';
+$VERSION = '0.24';
 @ISA = qw(ExtUtils::CBuilder::Platform::Unix);
 
 sub compile {

Modified: branches/upstream/libextutils-cbuilder-perl/current/lib/ExtUtils/CBuilder/Platform/dec_osf.pm
URL: http://svn.debian.org/wsvn/pkg-perl/branches/upstream/libextutils-cbuilder-perl/current/lib/ExtUtils/CBuilder/Platform/dec_osf.pm?rev=24598&op=diff
==============================================================================
--- branches/upstream/libextutils-cbuilder-perl/current/lib/ExtUtils/CBuilder/Platform/dec_osf.pm (original)
+++ branches/upstream/libextutils-cbuilder-perl/current/lib/ExtUtils/CBuilder/Platform/dec_osf.pm Mon Aug 25 03:10:53 2008
@@ -6,7 +6,7 @@
 
 use vars qw($VERSION @ISA);
 @ISA = qw(ExtUtils::CBuilder::Platform::Unix);
-$VERSION = '0.23';
+$VERSION = '0.24';
 
 sub link_executable {
   my $self = shift;

Modified: branches/upstream/libextutils-cbuilder-perl/current/lib/ExtUtils/CBuilder/Platform/os2.pm
URL: http://svn.debian.org/wsvn/pkg-perl/branches/upstream/libextutils-cbuilder-perl/current/lib/ExtUtils/CBuilder/Platform/os2.pm?rev=24598&op=diff
==============================================================================
--- branches/upstream/libextutils-cbuilder-perl/current/lib/ExtUtils/CBuilder/Platform/os2.pm (original)
+++ branches/upstream/libextutils-cbuilder-perl/current/lib/ExtUtils/CBuilder/Platform/os2.pm Mon Aug 25 03:10:53 2008
@@ -4,7 +4,7 @@
 use ExtUtils::CBuilder::Platform::Unix;
 
 use vars qw($VERSION @ISA);
-$VERSION = '0.23';
+$VERSION = '0.24';
 @ISA = qw(ExtUtils::CBuilder::Platform::Unix);
 
 sub need_prelink { 1 }




More information about the Pkg-perl-cvs-commits mailing list