diff options
Diffstat (limited to 'recipes-extended')
-rw-r--r-- | recipes-extended/dpdk/dpdk-module_23.07.bb | 50 | ||||
-rw-r--r-- | recipes-extended/dpdk/dpdk/0001-config-meson-get-cpu_instruction_set-from-meson-opti.patch | 32 | ||||
-rw-r--r-- | recipes-extended/dpdk/dpdk_23.11.bb (renamed from recipes-extended/dpdk/dpdk_23.07.bb) | 19 |
3 files changed, 42 insertions, 59 deletions
diff --git a/recipes-extended/dpdk/dpdk-module_23.07.bb b/recipes-extended/dpdk/dpdk-module_23.07.bb deleted file mode 100644 index c76ed87..0000000 --- a/recipes-extended/dpdk/dpdk-module_23.07.bb +++ /dev/null | |||
@@ -1,50 +0,0 @@ | |||
1 | include dpdk.inc | ||
2 | |||
3 | FILESEXTRAPATHS:prepend := "${THISDIR}/dpdk:" | ||
4 | |||
5 | SRC_URI = "git://dpdk.org/git/dpdk;branch=${BRANCH};protocol=https \ | ||
6 | file://0001-Makefile-add-makefile.patch \ | ||
7 | " | ||
8 | |||
9 | BRANCH = "releases" | ||
10 | SRCREV = "12fcafcd62286933e6b167b14856d21f642efa5f" | ||
11 | S = "${WORKDIR}/git" | ||
12 | |||
13 | inherit module | ||
14 | |||
15 | #kernel module needs 'rte_build_config.h', which is generated at buid time | ||
16 | DEPENDS += "dpdk" | ||
17 | |||
18 | COMPATIBLE_MACHINE = "null" | ||
19 | COMPATIBLE_HOST:libc-musl:class-target = "null" | ||
20 | COMPATIBLE_HOST:linux-gnux32 = "null" | ||
21 | |||
22 | export S | ||
23 | export STAGING_KERNEL_DIR | ||
24 | export STAGING_INCDIR | ||
25 | export INSTALL_MOD_DIR="dpdk" | ||
26 | |||
27 | do_configure[noexec] = "1" | ||
28 | |||
29 | do_compile() { | ||
30 | cd ${S}/kernel/linux/kni | ||
31 | unset CFLAGS CPPFLAGS CXXFLAGS LDFLAGS | ||
32 | oe_runmake KERNEL_PATH=${STAGING_KERNEL_DIR} \ | ||
33 | KERNEL_VERSION=${KERNEL_VERSION} \ | ||
34 | CC="${KERNEL_CC}" LD="${KERNEL_LD}" \ | ||
35 | AR="${KERNEL_AR}" \ | ||
36 | O=${STAGING_KERNEL_BUILDDIR} \ | ||
37 | KBUILD_EXTRA_SYMBOLS="${KBUILD_EXTRA_SYMBOLS}" \ | ||
38 | ${MAKE_TARGETS} | ||
39 | } | ||
40 | |||
41 | do_install() { | ||
42 | cd ${S}/kernel/linux/kni | ||
43 | unset CFLAGS CPPFLAGS CXXFLAGS LDFLAGS | ||
44 | oe_runmake DEPMOD=echo MODLIB="${D}${nonarch_base_libdir}/modules/${KERNEL_VERSION}" \ | ||
45 | INSTALL_FW_PATH="${D}${nonarch_base_libdir}/firmware" \ | ||
46 | CC="${KERNEL_CC}" LD="${KERNEL_LD}" \ | ||
47 | O=${STAGING_KERNEL_BUILDDIR} \ | ||
48 | ${MODULES_INSTALL_TARGET} | ||
49 | } | ||
50 | |||
diff --git a/recipes-extended/dpdk/dpdk/0001-config-meson-get-cpu_instruction_set-from-meson-opti.patch b/recipes-extended/dpdk/dpdk/0001-config-meson-get-cpu_instruction_set-from-meson-opti.patch new file mode 100644 index 0000000..92e3523 --- /dev/null +++ b/recipes-extended/dpdk/dpdk/0001-config-meson-get-cpu_instruction_set-from-meson-opti.patch | |||
@@ -0,0 +1,32 @@ | |||
1 | From 121e5d019f0bb6dec0ace2b361611edd10fc8ff8 Mon Sep 17 00:00:00 2001 | ||
2 | From: Lee Chee Yang <chee.yang.lee@intel.com> | ||
3 | Date: Wed, 6 Dec 2023 16:58:10 +0800 | ||
4 | Subject: [PATCH] config/meson: get cpu_instruction_set from meson option | ||
5 | |||
6 | Workaround error: | ||
7 | | ../git/config/meson.build:178:8: ERROR: Problem encountered: Compiler | ||
8 | does not support "x86_64" arch flag. | ||
9 | |||
10 | Upstream-Status: Inappropriate [ yocto specific to set cpu_instruction_set ] | ||
11 | |||
12 | Signed-off-by: Lee Chee Yang <chee.yang.lee@intel.com> | ||
13 | --- | ||
14 | config/meson.build | 2 +- | ||
15 | 1 file changed, 1 insertion(+), 1 deletion(-) | ||
16 | |||
17 | diff --git a/config/meson.build b/config/meson.build | ||
18 | index a9ccd56deb..f310c7adf6 100644 | ||
19 | --- a/config/meson.build | ||
20 | +++ b/config/meson.build | ||
21 | @@ -105,7 +105,7 @@ platform = get_option('platform') | ||
22 | |||
23 | # set the cpu_instruction_set and cflags for it | ||
24 | if meson.is_cross_build() | ||
25 | - cpu_instruction_set = host_machine.cpu() | ||
26 | + cpu_instruction_set = get_option('cpu_instruction_set') | ||
27 | else | ||
28 | cpu_instruction_set = get_option('cpu_instruction_set') | ||
29 | machine = get_option('machine') | ||
30 | -- | ||
31 | 2.37.3 | ||
32 | |||
diff --git a/recipes-extended/dpdk/dpdk_23.07.bb b/recipes-extended/dpdk/dpdk_23.11.bb index 3a1b0a8..5f0f9ec 100644 --- a/recipes-extended/dpdk/dpdk_23.07.bb +++ b/recipes-extended/dpdk/dpdk_23.11.bb | |||
@@ -1,17 +1,18 @@ | |||
1 | include dpdk.inc | 1 | include dpdk.inc |
2 | 2 | ||
3 | SRC_URI = "git://dpdk.org/git/dpdk;branch=${BRANCH};protocol=https \ | 3 | SRC_URI += " file://0001-config-meson-get-cpu_instruction_set-from-meson-opti.patch " |
4 | file://0001-meson.build-march-and-mcpu-already-passed-by-Yocto-21.11.patch \ | ||
5 | " | ||
6 | 4 | ||
7 | BRANCH = "releases" | 5 | STABLE = "-stable" |
8 | SRCREV = "12fcafcd62286933e6b167b14856d21f642efa5f" | 6 | BRANCH = "23.11" |
7 | SRCREV = "eeb0605f118dae66e80faa44f7b3e88748032353" | ||
9 | S = "${WORKDIR}/git" | 8 | S = "${WORKDIR}/git" |
10 | 9 | ||
11 | # kernel module is provide by dpdk-module recipe, so disable here | 10 | def get_cpu_instruction_set(bb, d): |
12 | EXTRA_OEMESON = " -Denable_kmods=false \ | 11 | import re |
13 | -Dexamples=all \ | 12 | march = re.search(r'-march=([^\s]*)', d.getVar('CC')).group(1) |
14 | " | 13 | return march |
14 | |||
15 | EXTRA_OEMESON = " -Dexamples=all -Dcpu_instruction_set=${@get_cpu_instruction_set(bb, d)} " | ||
15 | 16 | ||
16 | COMPATIBLE_MACHINE = "null" | 17 | COMPATIBLE_MACHINE = "null" |
17 | COMPATIBLE_HOST:libc-musl:class-target = "null" | 18 | COMPATIBLE_HOST:libc-musl:class-target = "null" |