cpan_build: Fix cmaker Build.PL module builds

Submitted by Richard Purdie on Jan. 19, 2013, 11:48 p.m. | Patch ID: 42955


Message ID 1358639293.14265.5.camel@ted
State Accepted
Commit 240c55275ecaac7feeabc4f0ba99bf0b7390133b
Headers show

Commit Message

Richard Purdie Jan. 19, 2013, 11:48 p.m.
Certain cpan Build.PL based modules were failing to build due to
the host's config information being used instead of the targets.

This patch sets the appropriate variables to ensure the modules
get the correct configuration from the target script.

It also ensures the linker is CCLD, not LD since the LDFLAGS contain
-Wl,XXX options and build failures result if LD is used.

libencode-detect-perl is a module which tests this class extensively.

Signed-off-by: Richard Purdie <>

Patch hide | download patch | download mbox

diff --git a/meta/classes/cpan_build.bbclass b/meta/classes/cpan_build.bbclass
index 78592be..eaba40a 100644
--- a/meta/classes/cpan_build.bbclass
+++ b/meta/classes/cpan_build.bbclass
@@ -1,7 +1,12 @@ 
 # This is for perl modules that use the new Build.PL build system
-inherit cpan-base
+inherit cpan-base perlnative
+# Env var which tells perl if it should use host (no) or target (yes) settings
+export PERLCONFIGTARGET = "${@is_target(d)}"
+export PERL_ARCHLIB = "${STAGING_LIBDIR}${PERL_OWN_DIR}/perl/${@get_perl_version(d)}"
+export LD = "${CCLD}"
 # We also need to have built libmodule-build-perl-native for