diff options
Diffstat (limited to 'classes/module-base.bbclass')
| -rw-r--r-- | classes/module-base.bbclass | 30 |
1 files changed, 23 insertions, 7 deletions
diff --git a/classes/module-base.bbclass b/classes/module-base.bbclass index 41192807be..bc53e1bad5 100644 --- a/classes/module-base.bbclass +++ b/classes/module-base.bbclass @@ -5,13 +5,29 @@ inherit kernel-arch export OS = "${TARGET_OS}" export CROSS_COMPILE = "${TARGET_PREFIX}" -export KERNEL_VERSION = ${@base_read_file('${STAGING_KERNEL_DIR}/kernel-abiversion')} -export KERNEL_SOURCE = ${@base_read_file('${STAGING_KERNEL_DIR}/kernel-source')} -KERNEL_OBJECT_SUFFIX = ${@[".o", ".ko"][base_read_file('${STAGING_KERNEL_DIR}/kernel-abiversion') > "2.6.0"]} -KERNEL_CCSUFFIX = ${@base_read_file('${STAGING_KERNEL_DIR}/kernel-ccsuffix')} -KERNEL_LDSUFFIX = ${@base_read_file('${STAGING_KERNEL_DIR}/kernel-ldsuffix')} -KERNEL_CC = "${CCACHE}${HOST_PREFIX}gcc${KERNEL_CCSUFFIX}" -KERNEL_LD = "${LD}${KERNEL_LDSUFFIX}" +# A machine.conf or local.conf can increase MACHINE_KERNEL_PR to force +# rebuilds for kernel and external modules +PR = "${MACHINE_KERNEL_PR}" + +export KERNEL_VERSION = "${@base_read_file('${STAGING_KERNEL_DIR}/kernel-abiversion')}" +export KERNEL_SOURCE = "${@base_read_file('${STAGING_KERNEL_DIR}/kernel-source')}" +KERNEL_OBJECT_SUFFIX = "${@[".o", ".ko"][base_read_file('${STAGING_KERNEL_DIR}/kernel-abiversion') > "2.6.0"]}" +KERNEL_CCSUFFIX = "${@base_read_file('${STAGING_KERNEL_DIR}/kernel-ccsuffix')}" +KERNEL_LDSUFFIX = "${@base_read_file('${STAGING_KERNEL_DIR}/kernel-ldsuffix')}" +KERNEL_ARSUFFIX = "${@base_read_file('${STAGING_KERNEL_DIR}/kernel-arsuffix')}" + +# Set TARGET_??_KERNEL_ARCH in the machine .conf to set architecture +# specific options necessary for building the kernel and modules. +TARGET_CC_KERNEL_ARCH ?= "" +HOST_CC_KERNEL_ARCH ?= "${TARGET_CC_KERNEL_ARCH}" +TARGET_LD_KERNEL_ARCH ?= "" +HOST_LD_KERNEL_ARCH ?= "${TARGET_LD_KERNEL_ARCH}" +TARGET_AR_KERNEL_ARCH ?= "" +HOST_AR_KERNEL_ARCH ?= "${TARGET_AR_KERNEL_ARCH}" + +KERNEL_CC = "${CCACHE}${HOST_PREFIX}gcc${KERNEL_CCSUFFIX} ${HOST_CC_KERNEL_ARCH}" +KERNEL_LD = "${LD}${KERNEL_LDSUFFIX} ${HOST_LD_KERNEL_ARCH}" +KERNEL_AR = "${AR}${KERNEL_ARSUFFIX} ${HOST_AR_KERNEL_ARCH}" # kernel modules are generally machine specific PACKAGE_ARCH = "${MACHINE_ARCH}" |
