Skip Menu |
 

This queue is for tickets about the Module-Build CPAN distribution.

Report information
The Basics
Id: 54605
Status: resolved
Priority: 0/
Queue: Module-Build

People
Owner: Nobody in particular
Requestors: ambs [...] cpan.org
Cc:
AdminCc:

Bug Information
Severity: Normal
Broken in: 0.3603
Fixed in: (no value)



Subject: Support multiple c_source directories
Download (untitled) / with headers
text/plain 189b
This attach is a simple patch to support an anonymous array of directories where to search for C code (c_source). It got handy. Hope it can be applied, as I am already using it... Cheers
Subject: MB.patch
Download MB.patch
text/x-diff 1.9k
Only in Module-Build-mine/: Build Only in Module-Build-mine/: MYMETA.yml Only in Module-Build-mine/: Makefile Only in Module-Build-mine/: _build Only in Module-Build-mine/: blib diff -rc Module-Build-0.3603/lib/Module/Build/API.pod Module-Build-mine/lib/Module/Build/API.pod *** Module-Build-0.3603/lib/Module/Build/API.pod 2010-01-19 03:30:59.000000000 +0000 --- Module-Build-mine/lib/Module/Build/API.pod 2010-02-13 14:56:14.000000000 +0000 *************** *** 181,186 **** --- 181,191 ---- directory will be added to the search path during the compilation and linking phases of any C or XS files. + [version ...] + + A list of directories can be supplied using an anonymous array + reference of strings. + =item conflicts [version 0.07] diff -rc Module-Build-0.3603/lib/Module/Build/Base.pm Module-Build-mine/lib/Module/Build/Base.pm *** Module-Build-0.3603/lib/Module/Build/Base.pm 2010-01-19 03:30:59.000000000 +0000 --- Module-Build-mine/lib/Module/Build/Base.pm 2010-02-13 15:03:52.000000000 +0000 *************** *** 2728,2738 **** my $p = $self->{properties}; return unless $p->{c_source}; ! push @{$p->{include_dirs}}, $p->{c_source}; - my $files = $self->rscan_dir($p->{c_source}, file_qr('\.c(c|p|pp|xx|\+\+)?$')); foreach my $file (@$files) { ! push @{$p->{objects}}, $self->compile_c($file); } } --- 2728,2746 ---- my $p = $self->{properties}; return unless $p->{c_source}; ! my $files; ! if (ref($p->{c_source}) eq "ARRAY") { ! push @{$p->{include_dirs}}, @{$p->{c_source}}; ! for my $path (@{$p->{c_source}}) { ! push @$files, @{ $self->rscan_dir($path, file_qr('\.c(c|p|pp|xx|\+\+)?$')) }; ! } ! } else { ! push @{$p->{include_dirs}}, $p->{c_source}; ! $files = $self->rscan_dir($p->{c_source}, file_qr('\.c(c|p|pp|xx|\+\+)?$')); ! } foreach my $file (@$files) { ! push @{$p->{objects}}, $self->compile_c($file); } }
Patched in the repo. Thanks.
Download (untitled) / with headers
text/plain 103b
Now that there has been a stable Module::Build release, I'm marking this "patched" issue as "resolved".


This service is sponsored and maintained by Best Practical Solutions and runs on Perl.org infrastructure.

Please report any issues with rt.cpan.org to rt-cpan-admin@bestpractical.com.