module-base: Fix the test on KERNEL_OBJECT_SUFFIX
[vuplus_openembedded] / classes / module-base.bbclass
1 inherit module_strip
2
3 inherit kernel-arch
4
5 export OS = "${TARGET_OS}"
6 export CROSS_COMPILE = "${TARGET_PREFIX}"
7
8 export KERNEL_VERSION = "${@base_read_file('${STAGING_KERNEL_DIR}/kernel-abiversion')}"
9 export KERNEL_SOURCE = "${@base_read_file('${STAGING_KERNEL_DIR}/kernel-source')}"
10 KERNEL_OBJECT_SUFFIX = "${@[".o", ".ko"][base_read_file('${STAGING_KERNEL_DIR}/kernel-abiversion') < "2.6.0"]}"
11 KERNEL_CCSUFFIX = "${@base_read_file('${STAGING_KERNEL_DIR}/kernel-ccsuffix')}"
12 KERNEL_LDSUFFIX = "${@base_read_file('${STAGING_KERNEL_DIR}/kernel-ldsuffix')}"
13 KERNEL_ARSUFFIX = "${@base_read_file('${STAGING_KERNEL_DIR}/kernel-arsuffix')}"
14
15 # Set TARGET_??_KERNEL_ARCH in the machine .conf to set architecture
16 # specific options necessary for building the kernel and modules.
17 TARGET_CC_KERNEL_ARCH ?= ""
18 HOST_CC_KERNEL_ARCH ?= "${TARGET_CC_KERNEL_ARCH}"
19 TARGET_LD_KERNEL_ARCH ?= ""
20 HOST_LD_KERNEL_ARCH ?= "${TARGET_LD_KERNEL_ARCH}"
21 TARGET_AR_KERNEL_ARCH ?= ""
22 HOST_AR_KERNEL_ARCH ?= "${TARGET_AR_KERNEL_ARCH}"
23
24 KERNEL_CC = "${CCACHE}${HOST_PREFIX}gcc${KERNEL_CCSUFFIX} ${HOST_CC_KERNEL_ARCH}"
25 KERNEL_LD = "${LD}${KERNEL_LDSUFFIX} ${HOST_LD_KERNEL_ARCH}"
26 KERNEL_AR = "${AR}${KERNEL_ARSUFFIX} ${HOST_AR_KERNEL_ARCH}"
27
28 # kernel modules are generally machine specific
29 PACKAGE_ARCH = "${MACHINE_ARCH}"