The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
Changes 010
LICENSE 44
MANIFEST 04
META.json 3046
META.yml 4659
Makefile.PL 2420
README 24
README.patching 027
README.release 049
dist.ini 04
lib/ExtUtils/CBuilder/Base.pm 417
lib/ExtUtils/CBuilder/Platform/Unix.pm 11
lib/ExtUtils/CBuilder/Platform/VMS.pm 171
lib/ExtUtils/CBuilder/Platform/Windows/BCC.pm 11
lib/ExtUtils/CBuilder/Platform/Windows/GCC.pm 11
lib/ExtUtils/CBuilder/Platform/Windows/MSVC.pm 11
lib/ExtUtils/CBuilder/Platform/Windows.pm 11
lib/ExtUtils/CBuilder/Platform/aix.pm 11
lib/ExtUtils/CBuilder/Platform/android.pm 037
lib/ExtUtils/CBuilder/Platform/cygwin.pm 11
lib/ExtUtils/CBuilder/Platform/darwin.pm 11
lib/ExtUtils/CBuilder/Platform/dec_osf.pm 11
lib/ExtUtils/CBuilder/Platform/os2.pm 71
lib/ExtUtils/CBuilder.pm 11
t/01-basic.t 12
t/03-cplusplus.t 12
xt/release/pod-syntax.t 32
27 files changed (This is a version diff) 149299
@@ -1,5 +1,15 @@
 Revision history for Perl extension ExtUtils::CBuilder.
 
+0.280216 - 2014-03-07
+
+  Added:
+
+  - Android support [Brian Fraser and Piotr Roszatycki]
+
+  Fixed:
+
+  - Teach ExtUtils::CBuilder to handle mod2fname properly [Brian Fraser]
+
 0.280212 - 2013-09-08
 
   Fixed:
@@ -1,4 +1,4 @@
-This software is copyright (c) 2013 by Ken Williams.
+This software is copyright (c) 2014 by Ken Williams.
 
 This is free software; you can redistribute it and/or modify it under
 the same terms as the Perl 5 programming language system itself.
@@ -12,7 +12,7 @@ b) the "Artistic License"
 
 --- The GNU General Public License, Version 1, February 1989 ---
 
-This software is Copyright (c) 2013 by Ken Williams.
+This software is Copyright (c) 2014 by Ken Williams.
 
 This is free software, licensed under:
 
@@ -22,7 +22,7 @@ This is free software, licensed under:
                      Version 1, February 1989
 
  Copyright (C) 1989 Free Software Foundation, Inc.
- 51 Franklin St, Suite 500, Boston, MA  02110-1335  USA
+ 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
 
  Everyone is permitted to copy and distribute verbatim copies
  of this license document, but changing it is not allowed.
@@ -272,7 +272,7 @@ That's all there is to it!
 
 --- The Artistic License 1.0 ---
 
-This software is Copyright (c) 2013 by Ken Williams.
+This software is Copyright (c) 2014 by Ken Williams.
 
 This is free software, licensed under:
 
@@ -1,3 +1,4 @@
+# This file was automatically generated by Dist::Zilla::Plugin::Manifest v5.013.
 CONTRIBUTING
 Changes
 LICENSE
@@ -7,6 +8,8 @@ META.yml
 Makefile.PL
 README
 README.mkdn
+README.patching
+README.release
 dist.ini
 lib/ExtUtils/CBuilder.pm
 lib/ExtUtils/CBuilder/Base.pm
@@ -17,6 +20,7 @@ lib/ExtUtils/CBuilder/Platform/Windows/BCC.pm
 lib/ExtUtils/CBuilder/Platform/Windows/GCC.pm
 lib/ExtUtils/CBuilder/Platform/Windows/MSVC.pm
 lib/ExtUtils/CBuilder/Platform/aix.pm
+lib/ExtUtils/CBuilder/Platform/android.pm
 lib/ExtUtils/CBuilder/Platform/cygwin.pm
 lib/ExtUtils/CBuilder/Platform/darwin.pm
 lib/ExtUtils/CBuilder/Platform/dec_osf.pm
@@ -5,7 +5,7 @@
       "The Perl 5 Porters"
    ],
    "dynamic_config" : 0,
-   "generated_by" : "Dist::Zilla version 4.300038, CPAN::Meta::Converter version 2.132140",
+   "generated_by" : "Dist::Zilla version 5.013, CPAN::Meta::Converter version 2.140640",
    "license" : [
       "perl_5"
    ],
@@ -28,6 +28,7 @@
       "runtime" : {
          "requires" : {
             "Cwd" : "0",
+            "ExtUtils::MakeMaker" : "6.30",
             "File::Basename" : "0",
             "File::Spec" : "3.13",
             "File::Temp" : "0",
@@ -56,7 +57,7 @@
          "web" : "http://github.com/Perl-Toolchain-Gang/ExtUtils-CBuilder"
       }
    },
-   "version" : "0.280212",
+   "version" : "0.280216",
    "x_Dist_Zilla" : {
       "perl" : {
          "version" : "5.018000"
@@ -70,7 +71,7 @@
          {
             "class" : "Dist::Zilla::Plugin::CheckExtraTests",
             "name" : "CheckExtraTests",
-            "version" : "0.011"
+            "version" : "0.018"
          },
          {
             "class" : "Dist::Zilla::Plugin::CheckChangesHasContent",
@@ -78,74 +79,79 @@
             "version" : "0.006"
          },
          {
+            "class" : "Dist::Zilla::Plugin::OnlyCorePrereqs",
+            "name" : "OnlyCorePrereqs",
+            "version" : "0.013"
+         },
+         {
             "class" : "Dist::Zilla::Plugin::GatherDir",
             "name" : "@Filter/GatherDir",
-            "version" : "4.300038"
+            "version" : "5.013"
          },
          {
             "class" : "Dist::Zilla::Plugin::PruneCruft",
             "name" : "@Filter/PruneCruft",
-            "version" : "4.300038"
+            "version" : "5.013"
          },
          {
             "class" : "Dist::Zilla::Plugin::ManifestSkip",
             "name" : "@Filter/ManifestSkip",
-            "version" : "4.300038"
+            "version" : "5.013"
          },
          {
             "class" : "Dist::Zilla::Plugin::MetaYAML",
             "name" : "@Filter/MetaYAML",
-            "version" : "4.300038"
+            "version" : "5.013"
          },
          {
             "class" : "Dist::Zilla::Plugin::License",
             "name" : "@Filter/License",
-            "version" : "4.300038"
+            "version" : "5.013"
          },
          {
             "class" : "Dist::Zilla::Plugin::Readme",
             "name" : "@Filter/Readme",
-            "version" : "4.300038"
+            "version" : "5.013"
          },
          {
             "class" : "Dist::Zilla::Plugin::ExecDir",
             "name" : "@Filter/ExecDir",
-            "version" : "4.300038"
+            "version" : "5.013"
          },
          {
             "class" : "Dist::Zilla::Plugin::ShareDir",
             "name" : "@Filter/ShareDir",
-            "version" : "4.300038"
+            "version" : "5.013"
          },
          {
             "class" : "Dist::Zilla::Plugin::MakeMaker",
             "name" : "@Filter/MakeMaker",
-            "version" : "4.300038"
+            "version" : "5.013"
          },
          {
             "class" : "Dist::Zilla::Plugin::Manifest",
             "name" : "@Filter/Manifest",
-            "version" : "4.300038"
+            "version" : "5.013"
          },
          {
             "class" : "Dist::Zilla::Plugin::TestRelease",
             "name" : "@Filter/TestRelease",
-            "version" : "4.300038"
+            "version" : "5.013"
          },
          {
             "class" : "Dist::Zilla::Plugin::ConfirmRelease",
             "name" : "@Filter/ConfirmRelease",
-            "version" : "4.300038"
+            "version" : "5.013"
          },
          {
             "class" : "Dist::Zilla::Plugin::UploadToCPAN",
             "name" : "@Filter/UploadToCPAN",
-            "version" : "4.300038"
+            "version" : "5.013"
          },
          {
             "class" : "Dist::Zilla::Plugin::PruneFiles",
             "name" : "PruneFiles",
-            "version" : "4.300038"
+            "version" : "5.013"
          },
          {
             "class" : "Dist::Zilla::Plugin::DualLife",
@@ -155,17 +161,17 @@
          {
             "class" : "Dist::Zilla::Plugin::MetaConfig",
             "name" : "MetaConfig",
-            "version" : "4.300038"
+            "version" : "5.013"
          },
          {
             "class" : "Dist::Zilla::Plugin::MetaJSON",
             "name" : "MetaJSON",
-            "version" : "4.300038"
+            "version" : "5.013"
          },
          {
             "class" : "Dist::Zilla::Plugin::PodSyntaxTests",
             "name" : "PodSyntaxTests",
-            "version" : "4.300038"
+            "version" : "5.013"
          },
          {
             "class" : "Dist::Zilla::Plugin::Prereqs",
@@ -176,7 +182,7 @@
                }
             },
             "name" : "Prereqs",
-            "version" : "4.300038"
+            "version" : "5.013"
          },
          {
             "class" : "Dist::Zilla::Plugin::Prereqs",
@@ -187,42 +193,52 @@
                }
             },
             "name" : "TestRequires",
-            "version" : "4.300038"
+            "version" : "5.013"
          },
          {
             "class" : "Dist::Zilla::Plugin::MetaResources",
             "name" : "MetaResources",
-            "version" : "4.300038"
+            "version" : "5.013"
          },
          {
             "class" : "Dist::Zilla::Plugin::FinderCode",
             "name" : ":InstallModules",
-            "version" : "4.300038"
+            "version" : "5.013"
          },
          {
             "class" : "Dist::Zilla::Plugin::FinderCode",
             "name" : ":IncModules",
-            "version" : "4.300038"
+            "version" : "5.013"
          },
          {
             "class" : "Dist::Zilla::Plugin::FinderCode",
             "name" : ":TestFiles",
-            "version" : "4.300038"
+            "version" : "5.013"
          },
          {
             "class" : "Dist::Zilla::Plugin::FinderCode",
             "name" : ":ExecFiles",
-            "version" : "4.300038"
+            "version" : "5.013"
          },
          {
             "class" : "Dist::Zilla::Plugin::FinderCode",
             "name" : ":ShareFiles",
-            "version" : "4.300038"
+            "version" : "5.013"
          },
          {
             "class" : "Dist::Zilla::Plugin::FinderCode",
             "name" : ":MainModule",
-            "version" : "4.300038"
+            "version" : "5.013"
+         },
+         {
+            "class" : "Dist::Zilla::Plugin::FinderCode",
+            "name" : ":AllFiles",
+            "version" : "5.013"
+         },
+         {
+            "class" : "Dist::Zilla::Plugin::FinderCode",
+            "name" : ":NoFiles",
+            "version" : "5.013"
          }
       ],
       "zilla" : {
@@ -230,7 +246,7 @@
          "config" : {
             "is_trial" : "0"
          },
-         "version" : "4.300038"
+         "version" : "5.013"
       }
    }
 }
@@ -4,118 +4,123 @@ author:
   - 'Ken Williams <kwilliams@cpan.org>'
   - 'The Perl 5 Porters'
 build_requires:
-  Test::More: 0.47
+  Test::More: '0.47'
 configure_requires:
-  ExtUtils::MakeMaker: 6.30
+  ExtUtils::MakeMaker: '6.30'
 dynamic_config: 0
-generated_by: 'Dist::Zilla version 4.300038, CPAN::Meta::Converter version 2.132140'
+generated_by: 'Dist::Zilla version 5.013, CPAN::Meta::Converter version 2.140640'
 license: perl
 meta-spec:
   url: http://module-build.sourceforge.net/META-spec-v1.4.html
-  version: 1.4
+  version: '1.4'
 name: ExtUtils-CBuilder
 requires:
-  Cwd: 0
-  File::Basename: 0
-  File::Spec: 3.13
-  File::Temp: 0
-  IO::File: 0
-  IPC::Cmd: 0
-  Perl::OSType: 1
-  Text::ParseWords: 0
+  Cwd: '0'
+  ExtUtils::MakeMaker: '6.30'
+  File::Basename: '0'
+  File::Spec: '3.13'
+  File::Temp: '0'
+  IO::File: '0'
+  IPC::Cmd: '0'
+  Perl::OSType: '1'
+  Text::ParseWords: '0'
 resources:
   bugtracker: http://rt.perl.org/rt3/
   homepage: http://search.cpan.org/dist/ExtUtils-CBuilder
   repository: git://github.com/Perl-Toolchain-Gang/ExtUtils-CBuilder.git
-version: 0.280212
+version: '0.280216'
 x_Dist_Zilla:
   perl:
-    version: 5.018000
+    version: '5.018000'
   plugins:
     -
       class: Dist::Zilla::Plugin::VersionFromModule
       name: VersionFromModule
-      version: 0.08
+      version: '0.08'
     -
       class: Dist::Zilla::Plugin::CheckExtraTests
       name: CheckExtraTests
-      version: 0.011
+      version: '0.018'
     -
       class: Dist::Zilla::Plugin::CheckChangesHasContent
       name: CheckChangesHasContent
-      version: 0.006
+      version: '0.006'
+    -
+      class: Dist::Zilla::Plugin::OnlyCorePrereqs
+      name: OnlyCorePrereqs
+      version: '0.013'
     -
       class: Dist::Zilla::Plugin::GatherDir
       name: '@Filter/GatherDir'
-      version: 4.300038
+      version: '5.013'
     -
       class: Dist::Zilla::Plugin::PruneCruft
       name: '@Filter/PruneCruft'
-      version: 4.300038
+      version: '5.013'
     -
       class: Dist::Zilla::Plugin::ManifestSkip
       name: '@Filter/ManifestSkip'
-      version: 4.300038
+      version: '5.013'
     -
       class: Dist::Zilla::Plugin::MetaYAML
       name: '@Filter/MetaYAML'
-      version: 4.300038
+      version: '5.013'
     -
       class: Dist::Zilla::Plugin::License
       name: '@Filter/License'
-      version: 4.300038
+      version: '5.013'
     -
       class: Dist::Zilla::Plugin::Readme
       name: '@Filter/Readme'
-      version: 4.300038
+      version: '5.013'
     -
       class: Dist::Zilla::Plugin::ExecDir
       name: '@Filter/ExecDir'
-      version: 4.300038
+      version: '5.013'
     -
       class: Dist::Zilla::Plugin::ShareDir
       name: '@Filter/ShareDir'
-      version: 4.300038
+      version: '5.013'
     -
       class: Dist::Zilla::Plugin::MakeMaker
       name: '@Filter/MakeMaker'
-      version: 4.300038
+      version: '5.013'
     -
       class: Dist::Zilla::Plugin::Manifest
       name: '@Filter/Manifest'
-      version: 4.300038
+      version: '5.013'
     -
       class: Dist::Zilla::Plugin::TestRelease
       name: '@Filter/TestRelease'
-      version: 4.300038
+      version: '5.013'
     -
       class: Dist::Zilla::Plugin::ConfirmRelease
       name: '@Filter/ConfirmRelease'
-      version: 4.300038
+      version: '5.013'
     -
       class: Dist::Zilla::Plugin::UploadToCPAN
       name: '@Filter/UploadToCPAN'
-      version: 4.300038
+      version: '5.013'
     -
       class: Dist::Zilla::Plugin::PruneFiles
       name: PruneFiles
-      version: 4.300038
+      version: '5.013'
     -
       class: Dist::Zilla::Plugin::DualLife
       name: DualLife
-      version: 0.03
+      version: '0.03'
     -
       class: Dist::Zilla::Plugin::MetaConfig
       name: MetaConfig
-      version: 4.300038
+      version: '5.013'
     -
       class: Dist::Zilla::Plugin::MetaJSON
       name: MetaJSON
-      version: 4.300038
+      version: '5.013'
     -
       class: Dist::Zilla::Plugin::PodSyntaxTests
       name: PodSyntaxTests
-      version: 4.300038
+      version: '5.013'
     -
       class: Dist::Zilla::Plugin::Prereqs
       config:
@@ -123,7 +128,7 @@ x_Dist_Zilla:
           phase: runtime
           type: requires
       name: Prereqs
-      version: 4.300038
+      version: '5.013'
     -
       class: Dist::Zilla::Plugin::Prereqs
       config:
@@ -131,37 +136,45 @@ x_Dist_Zilla:
           phase: test
           type: requires
       name: TestRequires
-      version: 4.300038
+      version: '5.013'
     -
       class: Dist::Zilla::Plugin::MetaResources
       name: MetaResources
-      version: 4.300038
+      version: '5.013'
     -
       class: Dist::Zilla::Plugin::FinderCode
       name: ':InstallModules'
-      version: 4.300038
+      version: '5.013'
     -
       class: Dist::Zilla::Plugin::FinderCode
       name: ':IncModules'
-      version: 4.300038
+      version: '5.013'
     -
       class: Dist::Zilla::Plugin::FinderCode
       name: ':TestFiles'
-      version: 4.300038
+      version: '5.013'
     -
       class: Dist::Zilla::Plugin::FinderCode
       name: ':ExecFiles'
-      version: 4.300038
+      version: '5.013'
     -
       class: Dist::Zilla::Plugin::FinderCode
       name: ':ShareFiles'
-      version: 4.300038
+      version: '5.013'
     -
       class: Dist::Zilla::Plugin::FinderCode
       name: ':MainModule'
-      version: 4.300038
+      version: '5.013'
+    -
+      class: Dist::Zilla::Plugin::FinderCode
+      name: ':AllFiles'
+      version: '5.013'
+    -
+      class: Dist::Zilla::Plugin::FinderCode
+      name: ':NoFiles'
+      version: '5.013'
   zilla:
     class: Dist::Zilla::Dist::Builder
     config:
-      is_trial: 0
-    version: 4.300038
+      is_trial: '0'
+    version: '5.013'
@@ -1,4 +1,5 @@
 
+# This file was automatically generated by Dist::Zilla::Plugin::MakeMaker v5.013.
 use strict;
 use warnings;
 
@@ -21,6 +22,7 @@ my %WriteMakefileArgs = (
   "NAME" => "ExtUtils::CBuilder",
   "PREREQ_PM" => {
     "Cwd" => 0,
+    "ExtUtils::MakeMaker" => "6.30",
     "File::Basename" => 0,
     "File::Spec" => "3.13",
     "File::Temp" => 0,
@@ -32,37 +34,31 @@ my %WriteMakefileArgs = (
   "TEST_REQUIRES" => {
     "Test::More" => "0.47"
   },
-  "VERSION" => "0.280212",
+  "VERSION" => "0.280216",
   "test" => {
     "TESTS" => "t/*.t"
   }
 );
 
 
-unless ( eval { ExtUtils::MakeMaker->VERSION(6.63_03) } ) {
-  my $tr = delete $WriteMakefileArgs{TEST_REQUIRES};
-  my $br = $WriteMakefileArgs{BUILD_REQUIRES};
-  for my $mod ( keys %$tr ) {
-    if ( exists $br->{$mod} ) {
-      $br->{$mod} = $tr->{$mod} if $tr->{$mod} > $br->{$mod};
-    }
-    else {
-      $br->{$mod} = $tr->{$mod};
-    }
-  }
-}
+my %FallbackPrereqs = (
+  "Cwd" => 0,
+  "ExtUtils::MakeMaker" => "6.30",
+  "File::Basename" => 0,
+  "File::Spec" => "3.13",
+  "File::Temp" => 0,
+  "IO::File" => 0,
+  "IPC::Cmd" => 0,
+  "Perl::OSType" => 1,
+  "Test::More" => "0.47",
+  "Text::ParseWords" => 0
+);
 
-unless ( eval { ExtUtils::MakeMaker->VERSION(6.56) } ) {
-  my $br = delete $WriteMakefileArgs{BUILD_REQUIRES};
-  my $pp = $WriteMakefileArgs{PREREQ_PM};
-  for my $mod ( keys %$br ) {
-    if ( exists $pp->{$mod} ) {
-      $pp->{$mod} = $br->{$mod} if $br->{$mod} > $pp->{$mod};
-    }
-    else {
-      $pp->{$mod} = $br->{$mod};
-    }
-  }
+
+unless ( eval { ExtUtils::MakeMaker->VERSION(6.63_03) } ) {
+  delete $WriteMakefileArgs{TEST_REQUIRES};
+  delete $WriteMakefileArgs{BUILD_REQUIRES};
+  $WriteMakefileArgs{PREREQ_PM} = \%FallbackPrereqs;
 }
 
 delete $WriteMakefileArgs{CONFIGURE_REQUIRES}
@@ -1,13 +1,15 @@
 
 
 This archive contains the distribution ExtUtils-CBuilder,
-version 0.280212:
+version 0.280216:
 
   Compile and link C code for Perl modules
 
-This software is copyright (c) 2013 by Ken Williams.
+This software is copyright (c) 2014 by Ken Williams.
 
 This is free software; you can redistribute it and/or modify it under
 the same terms as the Perl 5 programming language system itself.
 
 
+This README file was generated by Dist::Zilla::Plugin::Readme v5.013.
+
@@ -0,0 +1,27 @@
+Patching instructions for ExtUtils::CBuilder
+
+1. Check for any changes to .pm files since dev or stable Perl release.  E.g.
+to check for changes since v5.15.8:
+
+    $ cd dist/ExtUtils-CBuilder
+    $ git log v5.15.8..blead -- .
+
+2. If you are making the first change since the last Perl release, you need to
+bump the $VERSION in all .pm files and update the Changes file with the new
+version.  In the Changes file, put the expected *NEXT* release of Perl (dev or
+stable) as the release date and version.  E.g. after v5.15.8, I added this line
+to Changes to indicate what will be next release:
+
+    0.280206 - 2012-03-20 (Perl v5.15.9)
+
+3. Add an entry to Changes for your work
+
+4. Update Makefile.PL, MANIFEST.SKIP or other support files as necessary. E.g.
+update Makefile.PL with any changes to prerequisites.
+
+5. Commit all changes (preferably to a branch)
+
+6. Run Configure/make/make test and check for errors.  If there are any, fix them.
+
+7. If all is well, push your commits to blead or send a patch to p5p if you do
+not have commit access to the Perl 5 repository
@@ -0,0 +1,49 @@
+Release instructions for dual-life ExtUtils::CBuilder
+
+1. Check out a tag/commit corresponding to the release point.  This
+should generally be a Perl release (dev or stable).  Make sure
+your working tree is clear of extraneous files. E.g.
+
+    $ git checkout v5.15.8
+    $ git clean -dxf
+
+2. Rsync the ExtUtils-CBuilder directory to a temporary directory for
+release.  E.g.
+
+    $ rsync -av --delete dist/ExtUtils-CBuilder /tmp
+
+3. Change to the temp directory
+
+    $ cd /tmp/ExtUtils-CBuilder
+
+4. Look at the Changes file.  If it was not kept up to date in blead,
+take a minute to feel sad, then update it.  Remember to copy the
+changes back to blead later.
+
+5. Configure and then make a MANIFEST
+
+    $ perl Makefile.PL
+    $ make manifest
+
+6. Build a release directory and examine its contents, paying particular
+attention to the MANIFEST and the META files
+
+    $ make distdir
+
+7. Test the release directory
+
+    $ make disttest
+
+8. If all looks good, create a tarball and upload it to CPAN (maybe
+install CPAN::Uploader or an equivalent tool)
+
+    $ make dist
+    $ cpan_upload ExtUtils-CBuilder-X.YYYZZZ.tar.gz
+
+9. Update Porting/Maintainers.pl in the Perl repo with the new tarball
+name for ExtUtils-CBuilder.
+
+10. If you updated Changes, copy that back to blead now
+
+11. Commit any changes to blead (or submit it as a patch if you don't have a
+commit bit)
@@ -8,6 +8,9 @@ copyright_holder = Ken Williams
 [CheckExtraTests]
 [CheckChangesHasContent]
 
+[OnlyCorePrereqs]
+starting_version = 5.014
+
 [@Filter]
 -bundle = @Basic
 -remove = ExtraTests
@@ -31,6 +34,7 @@ IO::File = 0
 IPC::Cmd = 0
 Text::ParseWords = 0
 Perl::OSType = 1
+ExtUtils::MakeMaker = 6.30
 
 [Prereqs / TestRequires]
 Test::More = 0.47
@@ -10,7 +10,7 @@ use IPC::Cmd qw(can_run);
 use File::Temp qw(tempfile);
 
 use vars qw($VERSION);
-$VERSION = '0.280212';
+$VERSION = '0.280216';
 
 # More details about C/C++ compilers:
 # http://developers.sun.com/sunstudio/documentation/product/compiler.jsp
@@ -222,10 +222,23 @@ sub have_cplusplus {
 }
 
 sub lib_file {
-  my ($self, $dl_file) = @_;
+  my ($self, $dl_file, %args) = @_;
   $dl_file =~ s/\.[^.]+$//;
   $dl_file =~ tr/"//d;
-  return "$dl_file.$self->{config}{dlext}";
+  
+  if (defined $args{module_name} and length $args{module_name}) {
+    # Need to create with the same name as DynaLoader will load with.
+    require DynaLoader;
+    if (defined &DynaLoader::mod2fname) {
+      my $lib = DynaLoader::mod2fname([split /::/, $args{module_name}]);
+      my ($dev, $lib_dir, undef) = File::Spec->splitpath($dl_file);
+      $dl_file = File::Spec->catpath($dev, $lib_dir, $lib);
+    }
+  }
+  
+  $dl_file .= ".$self->{config}{dlext}";
+
+  return $dl_file;
 }
 
 
@@ -287,7 +300,7 @@ sub _do_link {
   
   my $objects = delete $args{objects};
   $objects = [$objects] unless ref $objects;
-  my $out = $args{$type} || $self->$type($objects->[0]);
+  my $out = $args{$type} || $self->$type($objects->[0], %args);
   
   my @temp_files;
   @temp_files =
@@ -4,7 +4,7 @@ use strict;
 use ExtUtils::CBuilder::Base;
 
 use vars qw($VERSION @ISA);
-$VERSION = '0.280212';
+$VERSION = '0.280216';
 @ISA = qw(ExtUtils::CBuilder::Base);
 
 sub link_executable {
@@ -4,7 +4,7 @@ use strict;
 use ExtUtils::CBuilder::Base;
 
 use vars qw($VERSION @ISA);
-$VERSION = '0.280212';
+$VERSION = '0.280216';
 @ISA = qw(ExtUtils::CBuilder::Base);
 
 use File::Spec::Functions qw(catfile catdir);
@@ -118,22 +118,6 @@ sub arg_share_object_file {
   return ("$self->{config}{lddlflags}=$file");
 }
 
-
-sub lib_file {
-  my ($self, $dl_file) = @_;
-  $dl_file =~ s/\.[^.]+$//;
-  $dl_file =~ tr/"//d;
-  $dl_file = $dl_file .= '.' . $self->{config}{dlext};
-
-  # Need to create with the same name as DynaLoader will load with.
-  if (defined &DynaLoader::mod2fname) {
-    my ($dev,$dir,$file) = File::Spec->splitpath($dl_file);
-    $file = DynaLoader::mod2fname([$file]);
-    $dl_file = File::Spec->catpath($dev,$dir,$file);
-  }
-  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.
 
@@ -1,7 +1,7 @@
 package ExtUtils::CBuilder::Platform::Windows::BCC;
 
 use vars qw($VERSION);
-$VERSION = '0.280212';
+$VERSION = '0.280216';
 
 sub format_compiler_cmd {
   my ($self, %spec) = @_;
@@ -1,7 +1,7 @@
 package ExtUtils::CBuilder::Platform::Windows::GCC;
 
 use vars qw($VERSION);
-$VERSION = '0.280212';
+$VERSION = '0.280216';
 
 sub format_compiler_cmd {
   my ($self, %spec) = @_;
@@ -1,7 +1,7 @@
 package ExtUtils::CBuilder::Platform::Windows::MSVC;
 
 use vars qw($VERSION);
-$VERSION = '0.280212';
+$VERSION = '0.280216';
 
 sub arg_exec_file {
   my ($self, $file) = @_;
@@ -10,7 +10,7 @@ use ExtUtils::CBuilder::Base;
 use IO::File;
 
 use vars qw($VERSION @ISA);
-$VERSION = '0.280212';
+$VERSION = '0.280216';
 @ISA = qw(ExtUtils::CBuilder::Base);
 
 =begin comment
@@ -5,7 +5,7 @@ use ExtUtils::CBuilder::Platform::Unix;
 use File::Spec;
 
 use vars qw($VERSION @ISA);
-$VERSION = '0.280212';
+$VERSION = '0.280216';
 @ISA = qw(ExtUtils::CBuilder::Platform::Unix);
 
 sub need_prelink { 1 }
@@ -0,0 +1,37 @@
+package ExtUtils::CBuilder::Platform::android;
+
+use strict;
+use File::Spec;
+use ExtUtils::CBuilder::Platform::Unix;
+
+use vars qw($VERSION @ISA);
+$VERSION = '0.280216';
+@ISA = qw(ExtUtils::CBuilder::Platform::Unix);
+
+# The Android linker will not recognize symbols from
+# libperl unless the module explicitly depends on it.
+sub link {
+  my ($self, %args) = @_;
+
+  if ($self->{config}{useshrplib} eq 'true') {
+    $args{extra_linker_flags} = [
+      $self->split_like_shell($args{extra_linker_flags}),
+      '-L' . $self->perl_inc(),
+      '-lperl',
+    ];
+  }
+
+  # Several modules on CPAN rather rightfully expect being
+  # able to pass $so_file to DynaLoader::dl_load_file and
+  # have it Just Work.  However, $so_file will more likely
+  # than not be a relative path, and unless the module 
+  # author subclasses MakeMaker/Module::Build to modify
+  # LD_LIBRARY_PATH, which would be insane, Android's linker
+  # won't find the .so
+  # So we make this all work by returning an absolute path.
+  my($so_file, @so_tmps) = $self->SUPER::link(%args);
+  $so_file = File::Spec->rel2abs($so_file);
+  return wantarray ? ($so_file, @so_tmps) : $so_file;
+}
+
+1;
@@ -5,7 +5,7 @@ use File::Spec;
 use ExtUtils::CBuilder::Platform::Unix;
 
 use vars qw($VERSION @ISA);
-$VERSION = '0.280212';
+$VERSION = '0.280216';
 @ISA = qw(ExtUtils::CBuilder::Platform::Unix);
 
 # TODO: If a specific exe_file name is requested, if the exe created
@@ -4,7 +4,7 @@ use strict;
 use ExtUtils::CBuilder::Platform::Unix;
 
 use vars qw($VERSION @ISA);
-$VERSION = '0.280212';
+$VERSION = '0.280216';
 @ISA = qw(ExtUtils::CBuilder::Platform::Unix);
 
 sub compile {
@@ -6,7 +6,7 @@ use File::Spec;
 
 use vars qw($VERSION @ISA);
 @ISA = qw(ExtUtils::CBuilder::Platform::Unix);
-$VERSION = '0.280212';
+$VERSION = '0.280216';
 
 sub link_executable {
   my $self = shift;
@@ -4,7 +4,7 @@ use strict;
 use ExtUtils::CBuilder::Platform::Unix;
 
 use vars qw($VERSION @ISA);
-$VERSION = '0.280212';
+$VERSION = '0.280216';
 @ISA = qw(ExtUtils::CBuilder::Platform::Unix);
 
 sub need_prelink { 1 }
@@ -29,18 +29,12 @@ sub _do_link {
   if ($how eq 'lib_file'
       and (defined $args{module_name} and length $args{module_name})) {
 
-    # DynaLoader::mod2fname() is a builtin func
-    my $lib = DynaLoader::mod2fname([split /::/, $args{module_name}]);
-
     # Now know the basename, find directory parts via lib_file, or objects
     my $objs = ( (ref $args{objects}) ? $args{objects} : [$args{objects}] );
     my $near_obj = $self->lib_file(@$objs);
-    my $ref_file = ( defined $args{lib_file} ? $args{lib_file} : $near_obj );
-    my $lib_dir = ($ref_file =~ m,(.*)[/\\],s ? "$1/" : '' );
     my $exp_dir = ($near_obj =~ m,(.*)[/\\],s ? "$1/" : '' );
 
     $args{dl_file} = $1 if $near_obj =~ m,(.*)\.,s; # put ExportList near OBJ
-    $args{lib_file} = "$lib_dir$lib.$self->{config}{dlext}";	# DLL file
 
     # XXX _do_link does not have place to put libraries?
     push @$objs, $self->perl_inc() . "/libperl$self->{config}{lib_ext}";
@@ -6,7 +6,7 @@ use File::Basename ();
 use Perl::OSType qw/os_type/;
 
 use vars qw($VERSION @ISA);
-$VERSION = '0.280212';
+$VERSION = '0.280216';
 $VERSION = eval $VERSION;
 
 # We only use this once - don't waste a symbol table entry on it.
@@ -44,12 +44,13 @@ ok 1;
 
 is $object_file, $b->compile(source => $source_file);
 
-$lib_file = $b->lib_file($object_file);
+$lib_file = $b->lib_file($object_file, module_name => 'basict');
 ok 1;
 
 my ($lib, @temps) = $b->link(objects => $object_file,
                              module_name => 'basict');
 $lib =~ tr/"'//d;
+$_ = File::Spec->rel2abs($_) for $lib_file, $lib;
 is $lib_file, $lib;
 
 for ($source_file, $object_file, $lib_file) {
@@ -43,12 +43,13 @@ ok 1;
 
 is $object_file, $b->compile(source => $source_file, 'C++' => 1);
 
-$lib_file = $b->lib_file($object_file);
+$lib_file = $b->lib_file($object_file, module_name => 'cplust');
 ok 1;
 
 my ($lib, @temps) = $b->link(objects => $object_file,
                              module_name => 'cplust');
 $lib =~ tr/"'//d;
+$_ = File::Spec->rel2abs($_) for $lib_file, $lib;
 is $lib_file, $lib;
 
 for ($source_file, $object_file, $lib_file) {
@@ -1,7 +1,6 @@
 #!perl
+# This file was automatically generated by Dist::Zilla::Plugin::PodSyntaxTests.
 use Test::More;
-
-eval "use Test::Pod 1.41";
-plan skip_all => "Test::Pod 1.41 required for testing POD" if $@;
+use Test::Pod 1.41;
 
 all_pod_files_ok();