aboutsummaryrefslogtreecommitdiff
path: root/support/scripts
diff options
context:
space:
mode:
authorGravatar Francois Perrad <fperrad@gmail.com>2015-09-06 10:32:50 +0200
committerGravatar Thomas Petazzoni <thomas.petazzoni@free-electrons.com>2015-09-20 15:14:10 +0200
commitceb1214632efd4b81fc5c796391f23b6acf2dada (patch)
tree20bbe44031ad71cccdcfdc398b73b23ef8b1e5b3 /support/scripts
parent259fe50be73e29025d70b6c166b2705286ce72f6 (diff)
downloadbuildroot-ceb1214632efd4b81fc5c796391f23b6acf2dada.tar.gz
buildroot-ceb1214632efd4b81fc5c796391f23b6acf2dada.tar.bz2
scancpan: fix detection of native module
When a module is native or depends of a native module, it must be disabled for static builds via its Config.in We detect native modules by looking at the filenames listed in the MANIFEST. If there is a file which looks like it contains code that much be compiled (e.g. .c, .h and so on...), then we exclude that module (and its dependencies) from static builds. That's what we tried to do so far, but failed when there was a comment on the same line as the filename in the manifest, like so: foo-bar.c # Bla bla bla Fix that by detecting either endof-line (as currently done) or end-of-string. For an example of failed build of perl-html-parser, see http://autobuild.buildroot.net/results/128/128671dfa23d843698a63220c2fac1f44e1d5845/ [Thomas: use better commit log proposed by Yann E. Morin.] Signed-off-by: Francois Perrad <francois.perrad@gadz.org> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Diffstat (limited to 'support/scripts')
-rwxr-xr-xsupport/scripts/scancpan2
1 files changed, 1 insertions, 1 deletions
diff --git a/support/scripts/scancpan b/support/scripts/scancpan
index 1121212594..a33ec8bf46 100755
--- a/support/scripts/scancpan
+++ b/support/scripts/scancpan
@@ -534,7 +534,7 @@ sub is_xs {
# This heuristic determines if a module is a native extension, by searching
# some file extension types in the MANIFEST of the distribution.
# It was inspired by http://deps.cpantesters.org/static/purity.html
- return $manifest =~ m/\.(swg|xs|c|h|i)\n/;
+ return $manifest =~ m/\.(swg|xs|c|h|i)[\n\s]/;
}
sub find_license_files {