meta-dpdk/recipes-extended/dpdk/dpdk_23.11.bb
Mingli Yu 6bb0d25138 dpdk: Make sure -march exist
Fixes:
   ERROR: ExpansionError during parsing /build/layers/meta-dpdk/recipes-extended/dpdk/dpdk_23.11.bb
   Traceback (most recent call last):
     File "Var <EXTRA_OEMESON>", line 1, in <module>
     File "/build/layers/meta-dpdk/recipes-extended/dpdk/dpdk_23.11.bb", line 12, in get_cpu_instruction_set(bb=<module 'bb' from '/build/layers/oe-core/bitbake/lib/bb/__init__.py'>, d=<bb.data_smart.DataSmart object at 0x7f63569bb070>):
         import re
     >    march = re.search(r'-march=([^\s]*)', d.getVar('CC')).group(1)
         return march
   bb.data_smart.ExpansionError: Failure expanding variable EXTRA_OEMESON, expression was  -Dexamples=all -Dcpu_instruction_set=${@get_cpu_instruction_set(bb, d)}   which triggered exception AttributeError: 'NoneType' object has no attribute 'group'
   The variable dependency chain for the failure is: EXTRA_OEMESON -> meson_do_configure

   ERROR: Parsing halted due to errors, see error messages above

Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2024-01-08 15:31:58 +08:00

72 lines
1.7 KiB
BlitzBasic

include dpdk.inc
SRC_URI += " file://0001-config-meson-get-cpu_instruction_set-from-meson-opti.patch "
STABLE = "-stable"
BRANCH = "23.11"
SRCREV = "eeb0605f118dae66e80faa44f7b3e88748032353"
S = "${WORKDIR}/git"
def get_cpu_instruction_set(bb, d):
import re
march = re.search(r'-march=([^\s]*)', d.getVar('CC'))
if march:
return march.group(1)
else:
return "core2"
EXTRA_OEMESON = " -Dexamples=all -Dcpu_instruction_set=${@get_cpu_instruction_set(bb, d)} "
COMPATIBLE_MACHINE = "null"
COMPATIBLE_HOST:libc-musl:class-target = "null"
COMPATIBLE_HOST:linux-gnux32 = "null"
PACKAGECONFIG ??= " "
PACKAGECONFIG[afxdp] = ",,libbpf xdp-tools"
PACKAGECONFIG[libvirt] = ",,libvirt"
RDEPENDS:${PN} += "pciutils python3-core"
RDEPENDS:${PN}-examples += "bash"
DEPENDS = "numactl python3-pyelftools-native"
inherit meson pkgconfig
INSTALL_PATH = "${prefix}/share/dpdk"
do_install:append(){
# remove source files
rm -rf ${D}/${INSTALL_PATH}/examples/*
# Install examples
install -m 0755 -d ${D}/${INSTALL_PATH}/examples/
for dirname in ${B}/examples/dpdk-*
do
if [ ! -d ${dirname} ] && [ -x ${dirname} ]; then
install -m 0755 ${dirname} ${D}/${INSTALL_PATH}/examples/
fi
done
}
PACKAGES =+ "${PN}-examples ${PN}-tools"
FILES:${PN} += " ${bindir}/dpdk-testpmd \
${bindir}/dpdk-proc-info \
${libdir}/*.so* \
${libdir}/dpdk/pmds-22.0/*.so* \
"
FILES:${PN}-examples = " \
${prefix}/share/dpdk/examples/* \
"
FILES:${PN}-tools = " \
${bindir}/dpdk-pdump \
${bindir}/dpdk-test \
${bindir}/dpdk-test-* \
${bindir}/dpdk-*.py \
"
CVE_PRODUCT = "data_plane_development_kit"
INSANE_SKIP:${PN} = "dev-so"