summaryrefslogtreecommitdiffstats
path: root/recipes-extended/dpdk/dpdk_16.07.bb
diff options
context:
space:
mode:
Diffstat (limited to 'recipes-extended/dpdk/dpdk_16.07.bb')
-rw-r--r--recipes-extended/dpdk/dpdk_16.07.bb85
1 files changed, 85 insertions, 0 deletions
diff --git a/recipes-extended/dpdk/dpdk_16.07.bb b/recipes-extended/dpdk/dpdk_16.07.bb
new file mode 100644
index 000000000..380ec396e
--- /dev/null
+++ b/recipes-extended/dpdk/dpdk_16.07.bb
@@ -0,0 +1,85 @@
1DESCRIPTION = "Data Plane Development Kit"
2HOMEPAGE = "http://dpdk.org"
3LICENSE = "BSD & LGPLv2 & GPLv2"
4LIC_FILES_CHKSUM = "file://LICENSE.GPL;md5=751419260aa954499f7abaabaa882bbe"
5
6DEPENDS += "virtual/kernel openssl"
7RDEPENDS_${PN} = "bash python"
8RDEPENDS_${PN}-examples = "bash python-core"
9
10inherit module
11
12SRC_URI = "git://git.freescale.com/ppc/sdk/dpdk.git;nobranch=1 \
13 file://add-RTE_KERNELDIR_OUT-to-split-kernel-bu.patch \
14 file://a.patch \
15"
16SRCREV = "34b69f9ab1af11db43df2d616be1c1f20feef70b"
17
18S = "${WORKDIR}/git"
19
20DPAA_VER ?= "dpaa2"
21DPAA_VER_fsl-lsch2 = "dpaa"
22export RTE_TARGET = "${ARCH}-${DPAA_VER}-linuxapp-gcc"
23
24EXTRA_OEMAKE += 'ARCH="${ARCH}" CROSS="${TARGET_PREFIX}" \
25 CPU_CFLAGS="--sysroot=${STAGING_DIR_HOST}" RTE_SDK="${S}" \
26 OPENSSL_PATH="${STAGING_DIR_HOST}" RTE_KERNELDIR="${STAGING_KERNEL_DIR}" \
27 RTE_KERNELDIR_OUT="${STAGING_KERNEL_BUILDDIR}" \
28'
29
30do_configure[noexec] = "1"
31
32do_compile[depends] += "virtual/kernel:do_shared_workdir"
33do_compile() {
34 oe_runmake O="${RTE_TARGET}" T="${RTE_TARGET}" config
35}
36
37do_install() {
38 unset LDFLAGS TARGET_LDFLAGS BUILD_LDFLAGS
39
40 oe_runmake EXTRA_LDFLAGS="-L${STAGING_LIBDIR} --hash-style=gnu" T="${RTE_TARGET}" DESTDIR="${D}" install
41
42 # Build and install the DPDK examples
43 for APP in examples/l2fwd examples/l3fwd examples/l2fwd-crypto examples/ipsec-secgw examples/kni; do
44 oe_runmake EXTRA_LDFLAGS="-L${STAGING_LIBDIR} --hash-style=gnu" -C ${APP}
45
46 [ ! -d ${D}/${bindir}/dpdk-example ] && install -d 0644 ${D}/${bindir}/dpdk-example
47 install -m 0755 ${S}/examples/`basename ${APP}`/build/`basename ${APP}` \
48 ${D}/${bindir}/dpdk-example/
49 done
50 install -m 0755 ${S}/${RTE_TARGET}/app/testpmd ${D}/${bindir}/dpdk-example/
51 rm -fr ${D}/lib/modules/*
52 install -d ${D}/lib/modules/${KERNEL_VERSION}/dpdk
53 install -m 0755 ${S}/${RTE_TARGET}/kmod/rte_kni.ko ${D}/lib/modules/${KERNEL_VERSION}/dpdk/
54
55 sed -i 's#/bin/echo#/bin/bash#' ${D}/${datadir}/scripts/load-devel-config.sh
56 # rm ${S}/${RTE_TARGET}/app/dpdk-pmdinfogen
57 rm ${D}/${datadir}/${RTE_TARGET}/app/dpdk-pmdinfogen
58
59 chown root:root -R ${D}
60}
61
62PACKAGE_ARCH = "${MACHINE_ARCH}"
63
64PACKAGES += "${PN}-examples"
65
66FILES_${PN} += "${datadir}/tools /usr/bin/* /usr/sbin/*"
67FILES_${PN}-dbg += "${bindir}/dpdk-example/.debug \
68 ${datadir}/examples/kni/build/.debug \
69 ${datadir}/examples/kni/build/app/.debug \
70 ${datadir}/examples/l2fwd/build/.debug \
71 ${datadir}/examples/l2fwd/build/app/.debug \
72 ${datadir}/examples/l2fwd-crypto/build/.debug \
73 ${datadir}/examples/l2fwd-crypto/build/app/.debug \
74 ${datadir}/examples/l3fwd/build/.debug \
75 ${datadir}/examples/l3fwd/build/app/.debug \
76 ${datadir}/examples/ipsec-secgw/build/.debug \
77 ${datadir}/examples/ipsec-secgw/build/app/.debug \
78"
79FILES_${PN}-dev += "${datadir}/mk ${datadir}/scripts \
80 ${datadir}/${RTE_TARGET} \
81 ${includedir} \
82"
83FILES_${PN}-examples += "${datadir}/examples"
84
85COMPATIBLE_MACHINE = "(ls2080ardb|ls2084ardb|ls2088a|ls1043a|ls1046a)"