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