@@ -1,5 +1,34 @@
Revision history for Perl extension ExtUtils::CBuilder.
+0.280219 - 2014-09-01
+
+ Fixed:
+
+ - Fixed regression on Android (thanks to Brian Fraser)
+
+0.280218 - 2014-09-01
+
+ Fixed:
+
+ - Mispelled 'starup' key in BCC support was fixed. #79574
+ - Fixed the version in the PM file (thanks to Jim Keenan)
+
+0.280217 - 2014-08-22
+
+ Fixed:
+
+ - Quoted perl path for Windows support #98245 [Alberto Simões]
+
+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.020.
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.020, CPAN::Meta::Converter version 2.142060",
"license" : [
"perl_5"
],
@@ -17,7 +17,7 @@
"prereqs" : {
"configure" : {
"requires" : {
- "ExtUtils::MakeMaker" : "6.30"
+ "ExtUtils::MakeMaker" : "0"
}
},
"develop" : {
@@ -28,6 +28,7 @@
"runtime" : {
"requires" : {
"Cwd" : "0",
+ "ExtUtils::MakeMaker" : "6.30",
"File::Basename" : "0",
"File::Spec" : "3.13",
"File::Temp" : "0",
@@ -56,21 +57,16 @@
"web" : "http://github.com/Perl-Toolchain-Gang/ExtUtils-CBuilder"
}
},
- "version" : "0.280212",
+ "version" : "0.280219",
"x_Dist_Zilla" : {
"perl" : {
- "version" : "5.018000"
+ "version" : "5.020000"
},
"plugins" : [
{
- "class" : "Dist::Zilla::Plugin::VersionFromModule",
- "name" : "VersionFromModule",
- "version" : "0.08"
- },
- {
"class" : "Dist::Zilla::Plugin::CheckExtraTests",
"name" : "CheckExtraTests",
- "version" : "0.011"
+ "version" : "0.022"
},
{
"class" : "Dist::Zilla::Plugin::CheckChangesHasContent",
@@ -78,74 +74,98 @@
"version" : "0.006"
},
{
+ "class" : "Dist::Zilla::Plugin::OnlyCorePrereqs",
+ "config" : {
+ "Dist::Zilla::Plugin::OnlyCorePrereqs" : {
+ "check_dual_life_versions" : "1",
+ "deprecated_ok" : "0",
+ "phases" : [
+ "configure",
+ "build",
+ "runtime",
+ "test"
+ ],
+ "skips" : [],
+ "starting_version" : "5.014"
+ }
+ },
+ "name" : "OnlyCorePrereqs",
+ "version" : "0.017"
+ },
+ {
"class" : "Dist::Zilla::Plugin::GatherDir",
"name" : "@Filter/GatherDir",
- "version" : "4.300038"
+ "version" : "5.020"
},
{
"class" : "Dist::Zilla::Plugin::PruneCruft",
"name" : "@Filter/PruneCruft",
- "version" : "4.300038"
+ "version" : "5.020"
},
{
"class" : "Dist::Zilla::Plugin::ManifestSkip",
"name" : "@Filter/ManifestSkip",
- "version" : "4.300038"
+ "version" : "5.020"
},
{
"class" : "Dist::Zilla::Plugin::MetaYAML",
"name" : "@Filter/MetaYAML",
- "version" : "4.300038"
+ "version" : "5.020"
},
{
"class" : "Dist::Zilla::Plugin::License",
"name" : "@Filter/License",
- "version" : "4.300038"
+ "version" : "5.020"
},
{
"class" : "Dist::Zilla::Plugin::Readme",
"name" : "@Filter/Readme",
- "version" : "4.300038"
+ "version" : "5.020"
},
{
"class" : "Dist::Zilla::Plugin::ExecDir",
"name" : "@Filter/ExecDir",
- "version" : "4.300038"
+ "version" : "5.020"
},
{
"class" : "Dist::Zilla::Plugin::ShareDir",
"name" : "@Filter/ShareDir",
- "version" : "4.300038"
+ "version" : "5.020"
},
{
"class" : "Dist::Zilla::Plugin::MakeMaker",
+ "config" : {
+ "Dist::Zilla::Role::TestRunner" : {
+ "default_jobs" : 1
+ }
+ },
"name" : "@Filter/MakeMaker",
- "version" : "4.300038"
+ "version" : "5.020"
},
{
"class" : "Dist::Zilla::Plugin::Manifest",
"name" : "@Filter/Manifest",
- "version" : "4.300038"
+ "version" : "5.020"
},
{
"class" : "Dist::Zilla::Plugin::TestRelease",
"name" : "@Filter/TestRelease",
- "version" : "4.300038"
+ "version" : "5.020"
},
{
"class" : "Dist::Zilla::Plugin::ConfirmRelease",
"name" : "@Filter/ConfirmRelease",
- "version" : "4.300038"
+ "version" : "5.020"
},
{
"class" : "Dist::Zilla::Plugin::UploadToCPAN",
"name" : "@Filter/UploadToCPAN",
- "version" : "4.300038"
+ "version" : "5.020"
},
{
"class" : "Dist::Zilla::Plugin::PruneFiles",
"name" : "PruneFiles",
- "version" : "4.300038"
+ "version" : "5.020"
},
{
"class" : "Dist::Zilla::Plugin::DualLife",
@@ -155,17 +175,22 @@
{
"class" : "Dist::Zilla::Plugin::MetaConfig",
"name" : "MetaConfig",
- "version" : "4.300038"
+ "version" : "5.020"
},
{
"class" : "Dist::Zilla::Plugin::MetaJSON",
"name" : "MetaJSON",
- "version" : "4.300038"
+ "version" : "5.020"
},
{
"class" : "Dist::Zilla::Plugin::PodSyntaxTests",
"name" : "PodSyntaxTests",
- "version" : "4.300038"
+ "version" : "5.020"
+ },
+ {
+ "class" : "Dist::Zilla::Plugin::PkgVersion",
+ "name" : "PkgVersion",
+ "version" : "5.020"
},
{
"class" : "Dist::Zilla::Plugin::Prereqs",
@@ -176,7 +201,7 @@
}
},
"name" : "Prereqs",
- "version" : "4.300038"
+ "version" : "5.020"
},
{
"class" : "Dist::Zilla::Plugin::Prereqs",
@@ -187,42 +212,52 @@
}
},
"name" : "TestRequires",
- "version" : "4.300038"
+ "version" : "5.020"
},
{
"class" : "Dist::Zilla::Plugin::MetaResources",
"name" : "MetaResources",
- "version" : "4.300038"
+ "version" : "5.020"
},
{
"class" : "Dist::Zilla::Plugin::FinderCode",
"name" : ":InstallModules",
- "version" : "4.300038"
+ "version" : "5.020"
},
{
"class" : "Dist::Zilla::Plugin::FinderCode",
"name" : ":IncModules",
- "version" : "4.300038"
+ "version" : "5.020"
},
{
"class" : "Dist::Zilla::Plugin::FinderCode",
"name" : ":TestFiles",
- "version" : "4.300038"
+ "version" : "5.020"
},
{
"class" : "Dist::Zilla::Plugin::FinderCode",
"name" : ":ExecFiles",
- "version" : "4.300038"
+ "version" : "5.020"
},
{
"class" : "Dist::Zilla::Plugin::FinderCode",
"name" : ":ShareFiles",
- "version" : "4.300038"
+ "version" : "5.020"
},
{
"class" : "Dist::Zilla::Plugin::FinderCode",
"name" : ":MainModule",
- "version" : "4.300038"
+ "version" : "5.020"
+ },
+ {
+ "class" : "Dist::Zilla::Plugin::FinderCode",
+ "name" : ":AllFiles",
+ "version" : "5.020"
+ },
+ {
+ "class" : "Dist::Zilla::Plugin::FinderCode",
+ "name" : ":NoFiles",
+ "version" : "5.020"
}
],
"zilla" : {
@@ -230,7 +265,7 @@
"config" : {
"is_trial" : "0"
},
- "version" : "4.300038"
+ "version" : "5.020"
}
}
}
@@ -4,118 +4,137 @@ 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: '0'
dynamic_config: 0
-generated_by: 'Dist::Zilla version 4.300038, CPAN::Meta::Converter version 2.132140'
+generated_by: 'Dist::Zilla version 5.020, CPAN::Meta::Converter version 2.142060'
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.280219'
x_Dist_Zilla:
perl:
- version: 5.018000
+ version: '5.020000'
plugins:
-
- class: Dist::Zilla::Plugin::VersionFromModule
- name: VersionFromModule
- version: 0.08
- -
class: Dist::Zilla::Plugin::CheckExtraTests
name: CheckExtraTests
- version: 0.011
+ version: '0.022'
-
class: Dist::Zilla::Plugin::CheckChangesHasContent
name: CheckChangesHasContent
- version: 0.006
+ version: '0.006'
+ -
+ class: Dist::Zilla::Plugin::OnlyCorePrereqs
+ config:
+ Dist::Zilla::Plugin::OnlyCorePrereqs:
+ check_dual_life_versions: '1'
+ deprecated_ok: '0'
+ phases:
+ - configure
+ - build
+ - runtime
+ - test
+ skips: []
+ starting_version: '5.014'
+ name: OnlyCorePrereqs
+ version: '0.017'
-
class: Dist::Zilla::Plugin::GatherDir
name: '@Filter/GatherDir'
- version: 4.300038
+ version: '5.020'
-
class: Dist::Zilla::Plugin::PruneCruft
name: '@Filter/PruneCruft'
- version: 4.300038
+ version: '5.020'
-
class: Dist::Zilla::Plugin::ManifestSkip
name: '@Filter/ManifestSkip'
- version: 4.300038
+ version: '5.020'
-
class: Dist::Zilla::Plugin::MetaYAML
name: '@Filter/MetaYAML'
- version: 4.300038
+ version: '5.020'
-
class: Dist::Zilla::Plugin::License
name: '@Filter/License'
- version: 4.300038
+ version: '5.020'
-
class: Dist::Zilla::Plugin::Readme
name: '@Filter/Readme'
- version: 4.300038
+ version: '5.020'
-
class: Dist::Zilla::Plugin::ExecDir
name: '@Filter/ExecDir'
- version: 4.300038
+ version: '5.020'
-
class: Dist::Zilla::Plugin::ShareDir
name: '@Filter/ShareDir'
- version: 4.300038
+ version: '5.020'
-
class: Dist::Zilla::Plugin::MakeMaker
+ config:
+ Dist::Zilla::Role::TestRunner:
+ default_jobs: 1
name: '@Filter/MakeMaker'
- version: 4.300038
+ version: '5.020'
-
class: Dist::Zilla::Plugin::Manifest
name: '@Filter/Manifest'
- version: 4.300038
+ version: '5.020'
-
class: Dist::Zilla::Plugin::TestRelease
name: '@Filter/TestRelease'
- version: 4.300038
+ version: '5.020'
-
class: Dist::Zilla::Plugin::ConfirmRelease
name: '@Filter/ConfirmRelease'
- version: 4.300038
+ version: '5.020'
-
class: Dist::Zilla::Plugin::UploadToCPAN
name: '@Filter/UploadToCPAN'
- version: 4.300038
+ version: '5.020'
-
class: Dist::Zilla::Plugin::PruneFiles
name: PruneFiles
- version: 4.300038
+ version: '5.020'
-
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.020'
-
class: Dist::Zilla::Plugin::MetaJSON
name: MetaJSON
- version: 4.300038
+ version: '5.020'
-
class: Dist::Zilla::Plugin::PodSyntaxTests
name: PodSyntaxTests
- version: 4.300038
+ version: '5.020'
+ -
+ class: Dist::Zilla::Plugin::PkgVersion
+ name: PkgVersion
+ version: '5.020'
-
class: Dist::Zilla::Plugin::Prereqs
config:
@@ -123,7 +142,7 @@ x_Dist_Zilla:
phase: runtime
type: requires
name: Prereqs
- version: 4.300038
+ version: '5.020'
-
class: Dist::Zilla::Plugin::Prereqs
config:
@@ -131,37 +150,45 @@ x_Dist_Zilla:
phase: test
type: requires
name: TestRequires
- version: 4.300038
+ version: '5.020'
-
class: Dist::Zilla::Plugin::MetaResources
name: MetaResources
- version: 4.300038
+ version: '5.020'
-
class: Dist::Zilla::Plugin::FinderCode
name: ':InstallModules'
- version: 4.300038
+ version: '5.020'
-
class: Dist::Zilla::Plugin::FinderCode
name: ':IncModules'
- version: 4.300038
+ version: '5.020'
-
class: Dist::Zilla::Plugin::FinderCode
name: ':TestFiles'
- version: 4.300038
+ version: '5.020'
-
class: Dist::Zilla::Plugin::FinderCode
name: ':ExecFiles'
- version: 4.300038
+ version: '5.020'
-
class: Dist::Zilla::Plugin::FinderCode
name: ':ShareFiles'
- version: 4.300038
+ version: '5.020'
-
class: Dist::Zilla::Plugin::FinderCode
name: ':MainModule'
- version: 4.300038
+ version: '5.020'
+ -
+ class: Dist::Zilla::Plugin::FinderCode
+ name: ':AllFiles'
+ version: '5.020'
+ -
+ class: Dist::Zilla::Plugin::FinderCode
+ name: ':NoFiles'
+ version: '5.020'
zilla:
class: Dist::Zilla::Dist::Builder
config:
- is_trial: 0
- version: 4.300038
+ is_trial: '0'
+ version: '5.020'
@@ -1,19 +1,19 @@
+# This file was automatically generated by Dist::Zilla::Plugin::MakeMaker v5.020.
use strict;
use warnings;
-use ExtUtils::MakeMaker 6.30;
+use ExtUtils::MakeMaker ;
my %WriteMakefileArgs = (
"ABSTRACT" => "Compile and link C code for Perl modules",
"AUTHOR" => "Ken Williams <kwilliams\@cpan.org>, The Perl 5 Porters",
- "BUILD_REQUIRES" => {},
"CONFIGURE_REQUIRES" => {
- "ExtUtils::MakeMaker" => "6.30"
+ "ExtUtils::MakeMaker" => 0
},
"DISTNAME" => "ExtUtils-CBuilder",
"EXE_FILES" => [],
@@ -21,6 +21,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 +33,31 @@ my %WriteMakefileArgs = (
"TEST_REQUIRES" => {
"Test::More" => "0.47"
},
- "VERSION" => "0.280212",
+ "VERSION" => "0.280219",
"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.280219:
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.020.
+
@@ -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)
@@ -4,10 +4,14 @@ author = The Perl 5 Porters
license = Perl_5
copyright_holder = Ken Williams
-[VersionFromModule]
+version = 0.280219
+
[CheckExtraTests]
[CheckChangesHasContent]
+[OnlyCorePrereqs]
+starting_version = 5.014
+
[@Filter]
-bundle = @Basic
-remove = ExtraTests
@@ -21,6 +25,7 @@ match = ^devtools/*
[PodSyntaxTests]
; [EOLTests]
+[PkgVersion]
[Prereqs]
Cwd = 0
@@ -31,6 +36,7 @@ IO::File = 0
IPC::Cmd = 0
Text::ParseWords = 0
Perl::OSType = 1
+ExtUtils::MakeMaker = 6.30
[Prereqs / TestRequires]
Test::More = 0.47
@@ -1,5 +1,5 @@
package ExtUtils::CBuilder::Base;
-
+$ExtUtils::CBuilder::Base::VERSION = '0.280219';
use strict;
use File::Spec;
use File::Basename;
@@ -9,9 +9,6 @@ use Text::ParseWords;
use IPC::Cmd qw(can_run);
use File::Temp qw(tempfile);
-use vars qw($VERSION);
-$VERSION = '0.280212';
-
# More details about C/C++ compilers:
# http://developers.sun.com/sunstudio/documentation/product/compiler.jsp
# http://gcc.gnu.org/
@@ -222,10 +219,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 +297,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 =
@@ -1,10 +1,9 @@
package ExtUtils::CBuilder::Platform::Unix;
-
+$ExtUtils::CBuilder::Platform::Unix::VERSION = '0.280219';
use strict;
use ExtUtils::CBuilder::Base;
-use vars qw($VERSION @ISA);
-$VERSION = '0.280212';
+use vars qw(@ISA);
@ISA = qw(ExtUtils::CBuilder::Base);
sub link_executable {
@@ -1,10 +1,9 @@
package ExtUtils::CBuilder::Platform::VMS;
-
+$ExtUtils::CBuilder::Platform::VMS::VERSION = '0.280219';
use strict;
use ExtUtils::CBuilder::Base;
-use vars qw($VERSION @ISA);
-$VERSION = '0.280212';
+use vars qw(@ISA);
@ISA = qw(ExtUtils::CBuilder::Base);
use File::Spec::Functions qw(catfile catdir);
@@ -118,22 +117,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,8 +1,5 @@
package ExtUtils::CBuilder::Platform::Windows::BCC;
-
-use vars qw($VERSION);
-$VERSION = '0.280212';
-
+$ExtUtils::CBuilder::Platform::Windows::BCC::VERSION = '0.280219';
sub format_compiler_cmd {
my ($self, %spec) = @_;
@@ -64,7 +61,7 @@ sub format_linker_cmd {
}
push( @{$spec{startup}}, 'c0d32.obj' )
- unless ( $spec{starup} && @{$spec{startup}} );
+ unless ( $spec{startup} && @{$spec{startup}} );
%spec = $self->write_linker_script(%spec)
if $spec{use_scripts};
@@ -1,8 +1,5 @@
package ExtUtils::CBuilder::Platform::Windows::GCC;
-
-use vars qw($VERSION);
-$VERSION = '0.280212';
-
+$ExtUtils::CBuilder::Platform::Windows::GCC::VERSION = '0.280219';
sub format_compiler_cmd {
my ($self, %spec) = @_;
@@ -1,8 +1,5 @@
package ExtUtils::CBuilder::Platform::Windows::MSVC;
-
-use vars qw($VERSION);
-$VERSION = '0.280212';
-
+$ExtUtils::CBuilder::Platform::Windows::MSVC::VERSION = '0.280219';
sub arg_exec_file {
my ($self, $file) = @_;
return "/OUT:$file";
@@ -1,5 +1,5 @@
package ExtUtils::CBuilder::Platform::Windows;
-
+$ExtUtils::CBuilder::Platform::Windows::VERSION = '0.280219';
use strict;
use warnings;
@@ -9,8 +9,7 @@ use File::Spec;
use ExtUtils::CBuilder::Base;
use IO::File;
-use vars qw($VERSION @ISA);
-$VERSION = '0.280212';
+use vars qw(@ISA);
@ISA = qw(ExtUtils::CBuilder::Base);
=begin comment
@@ -1,11 +1,10 @@
package ExtUtils::CBuilder::Platform::aix;
-
+$ExtUtils::CBuilder::Platform::aix::VERSION = '0.280219';
use strict;
use ExtUtils::CBuilder::Platform::Unix;
use File::Spec;
-use vars qw($VERSION @ISA);
-$VERSION = '0.280212';
+use vars qw(@ISA);
@ISA = qw(ExtUtils::CBuilder::Platform::Unix);
sub need_prelink { 1 }
@@ -0,0 +1,37 @@
+package ExtUtils::CBuilder::Platform::android;
+$ExtUtils::CBuilder::Platform::android::VERSION = '0.280219';
+use strict;
+use File::Spec;
+use ExtUtils::CBuilder::Platform::Unix;
+
+use vars qw(@ISA);
+@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',
+ $self->split_like_shell($Config{perllibs}),
+ ];
+ }
+
+ # 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;
@@ -1,11 +1,10 @@
package ExtUtils::CBuilder::Platform::cygwin;
-
+$ExtUtils::CBuilder::Platform::cygwin::VERSION = '0.280219';
use strict;
use File::Spec;
use ExtUtils::CBuilder::Platform::Unix;
-use vars qw($VERSION @ISA);
-$VERSION = '0.280212';
+use vars qw(@ISA);
@ISA = qw(ExtUtils::CBuilder::Platform::Unix);
# TODO: If a specific exe_file name is requested, if the exe created
@@ -1,10 +1,9 @@
package ExtUtils::CBuilder::Platform::darwin;
-
+$ExtUtils::CBuilder::Platform::darwin::VERSION = '0.280219';
use strict;
use ExtUtils::CBuilder::Platform::Unix;
-use vars qw($VERSION @ISA);
-$VERSION = '0.280212';
+use vars qw(@ISA);
@ISA = qw(ExtUtils::CBuilder::Platform::Unix);
sub compile {
@@ -1,12 +1,11 @@
package ExtUtils::CBuilder::Platform::dec_osf;
-
+$ExtUtils::CBuilder::Platform::dec_osf::VERSION = '0.280219';
use strict;
use ExtUtils::CBuilder::Platform::Unix;
use File::Spec;
-use vars qw($VERSION @ISA);
+use vars qw(@ISA);
@ISA = qw(ExtUtils::CBuilder::Platform::Unix);
-$VERSION = '0.280212';
sub link_executable {
my $self = shift;
@@ -1,10 +1,9 @@
package ExtUtils::CBuilder::Platform::os2;
-
+$ExtUtils::CBuilder::Platform::os2::VERSION = '0.280219';
use strict;
use ExtUtils::CBuilder::Platform::Unix;
-use vars qw($VERSION @ISA);
-$VERSION = '0.280212';
+use vars qw(@ISA);
@ISA = qw(ExtUtils::CBuilder::Platform::Unix);
sub need_prelink { 1 }
@@ -29,18 +28,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}";
@@ -1,13 +1,11 @@
package ExtUtils::CBuilder;
-
+$ExtUtils::CBuilder::VERSION = '0.280219';
use File::Spec ();
use File::Path ();
use File::Basename ();
use Perl::OSType qw/os_type/;
-use vars qw($VERSION @ISA);
-$VERSION = '0.280212';
-$VERSION = eval $VERSION;
+use vars qw(@ISA);
# We only use this once - don't waste a symbol table entry on it.
# More importantly, don't make it an inheritable method.
@@ -4,6 +4,7 @@ use File::Spec;
my $perl;
BEGIN {
$perl = File::Spec->rel2abs($^X);
+ $perl = qq{"$perl"}; # So it doesn't fail when there are spaces.
}
use strict;
@@ -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();