+3.09_01 - 2006-07-21
+
+ * avoid using 'glob' when running under miniperl
+
3.09 - 2006-07-08
* fix Makefile.PL's c_o override
The scripts F<PPPort_pm.PL>, F<PPPort_xs.PL> and F<mktests.PL> all
use the information in F<parts/inc/> to generate the main module
-F<PPPort.pm>, the XS code in F<PPPort.xs> and various test files
+F<PPPort.pm>, the XS code in F<RealPPPort.xs> and various test files
in F<t/>.
All of these files could be generated on the fly while building
-C<Devel::PPPort>, but not having the tests in C<t/> and not having
-F<PPPort.xs> will confuse Configure and TEST/harness in the core.
-Not having F<PPPort.pm> will be bad for viewing the docs on
-C<search.cpan.org>. So unfortunately, it's unavoidable to put
-some redundancy into the package.
+C<Devel::PPPort>, but not having the tests in C<t/> will confuse
+TEST/harness in the core. Not having F<PPPort.pm> will be bad for
+viewing the docs on C<search.cpan.org>. So unfortunately, it's
+unavoidable to put some redundancy into the package.
=head2 Adding stuff to Devel::PPPort
use strict;
use vars qw($VERSION $data);
-$VERSION = do { my @r = '$Snapshot: /Devel-PPPort/3.09 $' =~ /(\d+\.\d+(?:_\d+)?)/; @r ? $r[0] : '9.99' };
+$VERSION = do { my @r = '$Snapshot: /Devel-PPPort/3.09_01 $' =~ /(\d+\.\d+(?:_\d+)?)/; @r ? $r[0] : '9.99' };
sub _init_data
{
#
################################################################################
#
-# $Revision: 10 $
+# $Revision: 11 $
# $Author: mhx $
-# $Date: 2006/07/03 21:48:33 +0200 $
+# $Date: 2006/07/21 19:21:40 +0200 $
#
################################################################################
#
my $file;
my $sec;
-for $file (glob 'parts/inc/*') {
+for $file (all_files_in_dir('parts/inc')) {
my $spec = parse_partspec($file);
my $msg = 0;
*
********************************************************************************
*
-* $Revision: 10 $
+* $Revision: 11 $
* $Author: mhx $
-* $Date: 2006/07/03 21:48:33 +0200 $
+* $Date: 2006/07/21 19:21:40 +0200 $
*
********************************************************************************
*
#
################################################################################
#
-# $Revision: 25 $
+# $Revision: 26 $
# $Author: mhx $
-# $Date: 2006/06/25 06:30:35 +0200 $
+# $Date: 2006/07/21 19:21:39 +0200 $
#
################################################################################
#
my @tests;
my $file;
- for $file (glob 'parts/inc/*') {
+ for $file (all_files_in_dir('parts/inc')) {
my($testfile) = $file =~ /(\w+)\.?$/; # VMS has a trailing dot
$testfile = "t/$testfile.t";
#
################################################################################
#
-# $Revision: 16 $
+# $Revision: 17 $
# $Author: mhx $
-# $Date: 2006/01/14 18:07:58 +0100 $
+# $Date: 2006/07/21 19:21:40 +0200 $
#
################################################################################
#
#
################################################################################
+sub cat_file
+{
+ eval { require File::Spec };
+ return $@ ? join('/', @_) : File::Spec->catfile(@_);
+}
+
+sub all_files_in_dir
+{
+ my $dir = shift;
+ local *DIR;
+
+ opendir DIR, $dir or die "cannot open directory $dir: $!\n";
+ my @files = grep { !-d && !/^\./ } readdir DIR; # no dirs or hidden files
+ closedir DIR;
+
+ return map { cat_file($dir, $_) } @files;
+}
+
sub parse_todo
{
my $dir = shift || 'parts/todo';
my %todo;
my $todo;
- for $todo (glob "$dir/*") {
+ for $todo (all_files_in_dir($dir)) {
open TODO, $todo or die "cannot open $todo: $!\n";
my $perl = <TODO>;
chomp $perl;
use List::Util qw(max);
use Config;
-my $VERSION = do { my @r = '$Snapshot: /Devel-PPPort/3.09 $' =~ /(\d+\.\d+(?:_\d+)?)/; @r ? $r[0] : '9.99' };
+my $VERSION = do { my @r = '$Snapshot: /Devel-PPPort/3.09_01 $' =~ /(\d+\.\d+(?:_\d+)?)/; @r ? $r[0] : '9.99' };
$| = 1;
my %OPT = (