From: Nicholas Clark Date: Fri, 18 Sep 2009 09:59:11 +0000 (+0100) Subject: Split XSLoader out from ext/DynaLoader into its own directory. X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=commitdiff_plain;h=c440907b5d816077e5dcc75bb0275152e9957afc;p=p5sagit%2Fp5-mst-13.2.git Split XSLoader out from ext/DynaLoader into its own directory. --- diff --git a/MANIFEST b/MANIFEST index a40b586..4350606 100644 --- a/MANIFEST +++ b/MANIFEST @@ -866,8 +866,6 @@ ext/DynaLoader/hints/openbsd.pl Hint for DynaLoader for named architecture ext/DynaLoader/Makefile.PL Dynamic Loader makefile writer ext/DynaLoader/README Dynamic Loader notes and intro ext/DynaLoader/t/DynaLoader.t See if DynaLoader works -ext/DynaLoader/t/XSLoader.t See if XSLoader works -ext/DynaLoader/XSLoader_pm.PL Simple XS Loader perl module ext/Encode/AUTHORS List of authors ext/Encode/bin/enc2xs Encode module generator ext/Encode/bin/piconv iconv by perl @@ -3162,6 +3160,9 @@ ext/XS-APItest/t/svpeek.t XS::APItest extension ext/XS-APItest/t/svsetsv.t Test behaviour of sv_setsv with/without PERL_CORE ext/XS-APItest/t/xs_special_subs_require.t for require too ext/XS-APItest/t/xs_special_subs.t Test that XS BEGIN/CHECK/INIT/END work +ext/XSLoader/Makefile.PL Dynamic Loader makefile writer +ext/XSLoader/t/XSLoader.t See if XSLoader works +ext/XSLoader/XSLoader_pm.PL Simple XS Loader perl module ext/XS-Typemap/Makefile.PL XS::Typemap extension ext/XS-Typemap/README XS::Typemap extension ext/XS-Typemap/stdio.c XS::Typemap extension diff --git a/Porting/Maintainers.pl b/Porting/Maintainers.pl index 61f65fc..cf09eb5 100755 --- a/Porting/Maintainers.pl +++ b/Porting/Maintainers.pl @@ -1737,9 +1737,7 @@ use File::Glob qw(:case); { 'MAINTAINER' => 'saper', 'DISTRIBUTION' => 'SAPER/XSLoader-0.10.tar.gz', - 'FILES' => q[ext/DynaLoader/t/XSLoader.t - ext/DynaLoader/XSLoader_pm.PL - ], + 'FILES' => q[ext/XSLoader], 'EXCLUDED' => [ qr{^eg/}, qw{t/pod.t t/podcover.t diff --git a/ext/DynaLoader/Makefile.PL b/ext/DynaLoader/Makefile.PL index d3670a8..779523f 100644 --- a/ext/DynaLoader/Makefile.PL +++ b/ext/DynaLoader/Makefile.PL @@ -12,13 +12,10 @@ WriteMakefile( SKIP => [qw(dynamic dynamic_lib dynamic_bs)], XSPROTOARG => '-noprototypes', # XXX remove later? VERSION_FROM => 'DynaLoader_pm.PL', - PL_FILES => {'DynaLoader_pm.PL'=>'DynaLoader.pm', - 'XSLoader_pm.PL'=>'XSLoader.pm'}, - PM => {'DynaLoader.pm' => '$(INST_LIBDIR)/DynaLoader.pm', - 'XSLoader.pm' => '$(INST_LIBDIR)/XSLoader.pm'}, + PL_FILES => {'DynaLoader_pm.PL'=>'DynaLoader.pm'}, + PM => {'DynaLoader.pm' => '$(INST_LIBDIR)/DynaLoader.pm'}, depend => {'DynaLoader$(OBJ_EXT)' => 'dlutils.c'}, - clean => {FILES => 'DynaLoader.c DynaLoader.xs DynaLoader.pm ' . - 'XSLoader.pm'}, + clean => {FILES => 'DynaLoader.c DynaLoader.xs DynaLoader.pm'}, ); sub MY::postamble { diff --git a/ext/XSLoader/Makefile.PL b/ext/XSLoader/Makefile.PL new file mode 100644 index 0000000..0383532 --- /dev/null +++ b/ext/XSLoader/Makefile.PL @@ -0,0 +1,72 @@ +# A template for Makefile.PL. +# - Set the $PACKAGE variable to the name of your module. +# - Set $LAST_API_CHANGE to reflect the last version you changed the API +# of your module. +# - Fill in your dependencies in PREREQ_PM +# Alternatively, you can say the hell with this and use h2xs. + +use ExtUtils::MakeMaker; +eval 'use ExtUtils::MakeMaker::Coverage'; + +$PACKAGE = 'XSLoader'; +($PACKAGE_FILE = $PACKAGE) =~ s|::|/|g; +$LAST_API_CHANGE = 0; + +eval "require $PACKAGE"; + +unless ($@) { # Make sure we did find the module. + print <<"CHANGE_WARN" if ${$PACKAGE.'::VERSION'} < $LAST_API_CHANGE; + +NOTE: There have been API changes between this version and any older +than version $LAST_API_CHANGE! Please read the Changes file if you +are upgrading from a version older than $LAST_API_CHANGE. + +CHANGE_WARN +} + +# In case the empty lib/ directory was not created. +mkdir 'lib', 0755 unless $ENV{PERL_CORE}; + +WriteMakefile( + NAME => $PACKAGE, + LICENSE => 'perl', + AUTHOR => 'Sebastien Aperghis-Tramoni ', + VERSION_FROM => 'XSLoader_pm.PL', + ABSTRACT_FROM => 'XSLoader_pm.PL', + INSTALLDIRS => 'perl', + PL_FILES => { 'XSLoader_pm.PL' => 'XSLoader.pm' }, + PM => { 'XSLoader.pm' => '$(INST_ARCHLIB)/XSLoader.pm' }, + PREREQ_PM => { + 'Test::More' => '0.62', + }, + dist => { COMPRESS => 'gzip -9f', SUFFIX => 'gz', }, + clean => { FILES => 'XSLoader-*' }, +); + +# Unlink the .pm file included with the distribution +1 while unlink "XSLoader.pm"; + +{ + package MY; + + sub test_via_harness { + my($self, $orig_perl, $tests) = @_; + + my @perls = ($orig_perl); + push @perls, qw(bleadperl + perl5.6.1 + perl5.6.0 + perl5.005_03 + perl5.004_05 + perl5.004_04 + perl5.004) + if $ENV{PERL_TEST_ALL}; + + my $out; + foreach my $perl (@perls) { + $out .= $self->SUPER::test_via_harness($perl, $tests); + } + + return $out; + } +} diff --git a/ext/DynaLoader/XSLoader_pm.PL b/ext/XSLoader/XSLoader_pm.PL similarity index 100% rename from ext/DynaLoader/XSLoader_pm.PL rename to ext/XSLoader/XSLoader_pm.PL diff --git a/ext/DynaLoader/t/XSLoader.t b/ext/XSLoader/t/XSLoader.t similarity index 100% rename from ext/DynaLoader/t/XSLoader.t rename to ext/XSLoader/t/XSLoader.t