diff options
author | Jamie Lenehan <lenehan@twibble.org> | 2006-09-26 07:45:40 +0000 |
---|---|---|
committer | Jamie Lenehan <lenehan@twibble.org> | 2006-09-26 07:45:40 +0000 |
commit | 189af8b6bb6ac246141051e204accacaf70c1231 (patch) | |
tree | c68541b094a2d542ba7a38dec755e4f0216bae23 | |
parent | 20ceec866f55b195c18a433a8afe9a962bcdc102 (diff) |
cpan_build.bbclass: The existing cpan.bbclass works for perl modules that
uses the old Makefile.PL based build ssytem. This class is for perl modules
that use the new Build.PL based build system (not widely used yet but
starting to appear). Again this use site_perl instead of vendor_perl since
vender_perl is not being setup by the perl build.
-rw-r--r-- | classes/cpan_build.bbclass | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/classes/cpan_build.bbclass b/classes/cpan_build.bbclass new file mode 100644 index 0000000000..b61a009eed --- /dev/null +++ b/classes/cpan_build.bbclass @@ -0,0 +1,44 @@ +INHIBIT_NATIVE_STAGE_INSTALL = "1" +FILES_${PN} += '${libdir}/perl5' + +def is_crosscompiling(d): + import bb + if not bb.data.inherits_class('native', d): + return "yes" + return "no" + +cpan_build_do_configure () { + if [ ${@is_crosscompiling(d)} == "yes" ]; then + # build for target + . ${STAGING_DIR}/${TARGET_SYS}/perl/config.sh + perl Build.PL --installdirs vendor \ + --destdir ${D} \ + --install_path lib="${libdir}/perl5/site_perl/${version}" \ + --install_path arch="${libdir}/perl5/site_perl/${version}/${TARGET_SYS}" \ + --install_path script=${bindir} \ + --install_path bin=${bindir} \ + --install_path bindoc=${mandir}/man1 \ + --install_path libdoc=${mandir}/man3 + else + # build for host + perl Build.PL --installdirs site + fi +} + +cpan_build_do_compile () { + perl Build +} + +cpan_build_do_install () { + if [ ${@is_crosscompiling(d)} == "yes" ]; then + perl Build install + fi +} + +do_stage_append () { + if [ ${@is_crosscompiling(d)} == "no" ]; then + perl Build install + fi +} + +EXPORT_FUNCTIONS do_configure do_compile do_install |