From 189af8b6bb6ac246141051e204accacaf70c1231 Mon Sep 17 00:00:00 2001 From: Jamie Lenehan Date: Tue, 26 Sep 2006 07:45:40 +0000 Subject: 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. --- classes/cpan_build.bbclass | 44 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 classes/cpan_build.bbclass (limited to 'classes') 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 -- cgit v1.2.3