]> code.ossystems Code Review - openembedded-core.git/commitdiff
module: build hostprogs for each module
authorDarren Hart <dvhart@linux.intel.com>
Tue, 1 Mar 2011 22:17:55 +0000 (14:17 -0800)
committerSaul Wold <sgw@linux.intel.com>
Fri, 4 Mar 2011 19:37:08 +0000 (11:37 -0800)
This fixes [BUGID #241]

The kernel hostprogs are built for the host architecture. They should not be
deployed to the target, and they should not be included in an sstate package
which might get reused on a host of a different architecture.

As we don't build many out-of-tree modules, this patch takes the approach of
building the hostprogs as part of the module compile process with a
do_compile_prepend() routine in module.bbclass.

We don't have to clean the hostprogs as modules depend on the kernel being
populate_staging, so its done with the staging directory by the time we run.

Signed-off-by: Darren Hart <dvhart@linux.intel.com>
CC: Gary Thomas <gary@mlbassoc.com>
meta/classes/module.bbclass

index d16d4620807c7b28cfbb3e9557d7fb5dd8648c05..bbceaf721943e028270cf173ffcbe2b858b7fae0 100644 (file)
@@ -3,6 +3,13 @@ DEPENDS += "virtual/kernel"
 
 inherit module-base
 
+# Ensure the hostprogs are available for module compilation
+module_do_compile_prepend() {
+       unset CFLAGS CPPFLAGS CXXFLAGS LDFLAGS 
+       oe_runmake CC="${KERNEL_CC}" LD="${KERNEL_LD}" AR="${KERNEL_AR}" \
+                  -C ${STAGING_KERNEL_DIR} scripts
+}
+
 module_do_compile() {
        unset CFLAGS CPPFLAGS CXXFLAGS LDFLAGS
        oe_runmake KERNEL_PATH=${STAGING_KERNEL_DIR}   \
@@ -15,7 +22,10 @@ module_do_compile() {
 
 module_do_install() {
        unset CFLAGS CPPFLAGS CXXFLAGS LDFLAGS
-       oe_runmake DEPMOD=echo INSTALL_MOD_PATH="${D}" CC="${KERNEL_CC}" LD="${KERNEL_LD}" modules_install
+       oe_runmake DEPMOD=echo INSTALL_MOD_PATH="${D}" \
+                  KERNEL_SRC=${STAGING_KERNEL_DIR} \
+                  CC="${KERNEL_CC}" LD="${KERNEL_LD}" \
+                  modules_install
 }
 
 pkg_postinst_append () {