summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNicholas Clark <nick@ccl4.org>2009-09-24 10:11:42 +0100
committerNicholas Clark <nick@ccl4.org>2009-09-24 10:11:42 +0100
commit8a99276313ed95fde25e45e5b89a48e5080ab4cd (patch)
tree2607c49782d00350638ea511fb49c574ecf469c5
parentc1effa61278e47c916466883d74905b04fedc388 (diff)
downloadperl-8a99276313ed95fde25e45e5b89a48e5080ab4cd.tar.gz
Support building extensions in cpan/ as well as ext/
-rw-r--r--make_ext.pl13
1 files changed, 12 insertions, 1 deletions
diff --git a/make_ext.pl b/make_ext.pl
index 61945c466e..0e0bc9bac1 100644
--- a/make_ext.pl
+++ b/make_ext.pl
@@ -19,6 +19,8 @@ my @toolchain = qw(ext/constant/lib ext/Cwd ext/Cwd/lib ext/ExtUtils-Command/lib
ext/ExtUtils-Manifest/lib ext/Text-ParseWords/lib
ext/File-Path/lib ext/AutoLoader/lib);
+my @ext_dirs = qw(ext cpan);
+
# This script acts as a simple interface for building extensions.
# It's actually a cut and shut of the Unix version ext/utils/makeext and the
@@ -232,7 +234,16 @@ foreach my $spec (@extspec) {
# New style ext/Data-Dumper/
my $copy = $spec;
$copy =~ tr!/!-!;
- $ext_pathname = "ext/$copy";
+ foreach my $dir (@ext_dirs) {
+ if (-d "$dir/$copy") {
+ $ext_pathname = "$dir/$copy";
+ last;
+ }
+ }
+ if (!defined $ext_pathname) {
+ warn "Can't find extension $spec in any of @ext_dirs";
+ next;
+ }
}
if ($Config{osname} eq 'catamount') {