diff options
author | George Nita <george.nita@enea.com> | 2015-07-11 05:11:54 +0200 |
---|---|---|
committer | George Nita <george.nita@enea.com> | 2015-07-11 05:11:54 +0200 |
commit | 40d72715c2d1b9f4a356a59eac16dd07648a4fbb (patch) | |
tree | de46d61bcd6f7a566ac190d84f9333f845331bae /meta-isg/common/recipes-extended/dpdk/dpdk.inc | |
parent | 8292f22ea94554d4d8ffb58ca96d8c3c12543dd0 (diff) | |
parent | eeb5db0dc19b0ebf9e9afa813c5cd79a6ffec01d (diff) | |
download | meta-intel-40d72715c2d1b9f4a356a59eac16dd07648a4fbb.tar.gz |
Merge remote-tracking branch 'origin/master' into master-enea
Diffstat (limited to 'meta-isg/common/recipes-extended/dpdk/dpdk.inc')
-rw-r--r-- | meta-isg/common/recipes-extended/dpdk/dpdk.inc | 132 |
1 files changed, 132 insertions, 0 deletions
diff --git a/meta-isg/common/recipes-extended/dpdk/dpdk.inc b/meta-isg/common/recipes-extended/dpdk/dpdk.inc new file mode 100644 index 00000000..85b88fa0 --- /dev/null +++ b/meta-isg/common/recipes-extended/dpdk/dpdk.inc | |||
@@ -0,0 +1,132 @@ | |||
1 | DESCRIPTION = "Intel(r) Data Plane Development Kit" | ||
2 | HOMEPAGE = "http://dpdk.org" | ||
3 | LICENSE = "BSD & LGPLv2 & GPLv2" | ||
4 | LIC_FILES_CHKSUM = "file://LICENSE.GPL;md5=751419260aa954499f7abaabaa882bbe" | ||
5 | |||
6 | RDEPENDS_${PN} += "python-subprocess" | ||
7 | DEPENDS = "virtual/kernel" | ||
8 | do_configure[depends] += "virtual/kernel:do_shared_workdir" | ||
9 | |||
10 | inherit module | ||
11 | |||
12 | export MODULE_DIR="/lib/modules/${KERNEL_VERSION}/kernel/drivers/net" | ||
13 | export RTE_SDK = "${S}" | ||
14 | export RTE_TARGET="${@bb.utils.contains("TUNE_FEATURES", "corei7", "x86_64-ivshmem-linuxapp-gcc", "i686-native-linuxapp-gcc", d)}" | ||
15 | |||
16 | export ICP_ROOT = "${PKG_CONFIG_SYSROOT_DIR}/usr/include" | ||
17 | export ICP_LIB_ROOT= "${PKG_CONFIG_SYSROOT_DIR}/usr/lib" | ||
18 | export RTE_KERNELDIR = "${STAGING_KERNEL_DIR}" | ||
19 | export RTE_KERNELDIR_OUT = "${STAGING_KERNEL_BUILDDIR}" | ||
20 | export INSTALL_PATH = "${prefix}/dpdk" | ||
21 | export SYSROOTPATH = "--sysroot=${STAGING_DIR_HOST}" | ||
22 | export DPDK_TARGET_MACH = "${@get_dpdk_target_mach(bb,d)}" | ||
23 | |||
24 | # The list of intel Comms platforms and their target machine | ||
25 | # process mapping. The supported target machine is listed under | ||
26 | # dpdk/mk/machine | ||
27 | def get_dpdk_target_mach(bb, d): | ||
28 | target_arch = d.getVar('MACHINE_ARCH', True) | ||
29 | multiarch_options = { | ||
30 | "mohonpeak64": "atm", | ||
31 | "mohonpeak32": "atm", | ||
32 | "crystalforest": "ivb", | ||
33 | "romley": "snd", | ||
34 | "romley-ivb": "ivb", | ||
35 | } | ||
36 | |||
37 | if target_arch in multiarch_options : | ||
38 | return multiarch_options[target_arch] | ||
39 | return "" | ||
40 | |||
41 | do_configure () { | ||
42 | ############################################################# | ||
43 | ### default value for prefix is "usr", unsetting it, so it | ||
44 | ### will not be concatenated in ${RTE_TARGET}/Makefile | ||
45 | ### which will cause compilation failure | ||
46 | ############################################################# | ||
47 | unset prefix | ||
48 | |||
49 | make O=$RTE_TARGET T=$RTE_TARGET config | ||
50 | } | ||
51 | |||
52 | do_compile () { | ||
53 | unset LDFLAGS TARGET_LDFLAGS BUILD_LDFLAGS | ||
54 | |||
55 | cd ${S}/${RTE_TARGET} | ||
56 | oe_runmake EXTRA_LDFLAGS="-L${STAGING_LIBDIR}" \ | ||
57 | EXTRA_CFLAGS="--sysroot=${STAGING_DIR_HOST} -I${STAGING_INCDIR}" \ | ||
58 | CROSS="${TARGET_PREFIX}" \ | ||
59 | prefix="" LDFLAGS="" WERROR_FLAGS="-w" V=1 | ||
60 | |||
61 | cd ${S}/examples/ | ||
62 | oe_runmake EXTRA_LDFLAGS="-L${STAGING_LIBDIR}" \ | ||
63 | EXTRA_CFLAGS="--sysroot=${STAGING_DIR_HOST} -I${STAGING_INCDIR}" \ | ||
64 | CROSS="${TARGET_PREFIX}" O="${S}/examples/$@/" | ||
65 | } | ||
66 | |||
67 | do_install () { | ||
68 | |||
69 | install -m 0755 -d ${D}/${INSTALL_PATH} \ | ||
70 | ${D}/${INSTALL_PATH}/doc \ | ||
71 | ${D}/${INSTALL_PATH}/tools \ | ||
72 | ${D}/${INSTALL_PATH}/${RTE_TARGET} \ | ||
73 | ${D}/${INSTALL_PATH}/${RTE_TARGET}/app \ | ||
74 | ${D}${includedir} \ | ||
75 | ${D}${includedir}/${ARCHDIR} \ | ||
76 | ${D}${includedir}/exec-env \ | ||
77 | ${D}${libdir} \ | ||
78 | ${D}${MODULE_DIR} | ||
79 | |||
80 | install -m 0755 ${S}/${RTE_TARGET}/kmod/*.ko ${D}${MODULE_DIR}/ | ||
81 | |||
82 | install -m 640 ${S}/${RTE_TARGET}/lib/*.a ${D}${libdir} | ||
83 | |||
84 | install -m 640 ${S}/${RTE_TARGET}/.config ${D}/${INSTALL_PATH}/${RTE_TARGET}/ | ||
85 | install -m 640 ${S}/${RTE_TARGET}/include/*.h ${D}${includedir}/ | ||
86 | install -m 640 ${S}/${RTE_TARGET}/include/${ARCHDIR}/*.h ${D}${includedir}/${ARCHDIR}/ | ||
87 | install -m 640 ${S}/${RTE_TARGET}/include/exec-env/*.h ${D}${includedir}/exec-env/ | ||
88 | install -m 0755 ${S}/tools/*.py ${D}/${INSTALL_PATH}/tools/ | ||
89 | |||
90 | # Install applications | ||
91 | install -m 0755 ${S}/${RTE_TARGET}/app/* ${D}/${INSTALL_PATH}/${RTE_TARGET}/app/ | ||
92 | |||
93 | # Install examples | ||
94 | for dirname in ${S}/examples/* | ||
95 | do | ||
96 | install -m 0755 -d ${D}/${INSTALL_PATH}/examples/`basename ${dirname}` | ||
97 | |||
98 | for appname in `find ${dirname} -regex ".*${EXAMPLES_BUILD_DIR}\/app\/[-0-9a-zA-Z0-9/_]*$"` | ||
99 | do | ||
100 | install -m 755 ${appname} ${D}/${INSTALL_PATH}/examples/`basename ${dirname}`/ | ||
101 | done | ||
102 | done | ||
103 | } | ||
104 | |||
105 | PACKAGES += "${PN}-examples" | ||
106 | |||
107 | FILES_${PN}-dbg += " \ | ||
108 | ${INSTALL_PATH}/.debug \ | ||
109 | ${INSTALL_PATH}/${RTE_TARGET}/app/.debug \ | ||
110 | ${INSTALL_PATH}/${RTE_TARGET}/hostapp/.debug \ | ||
111 | ${INSTALL_PATH}/${RTE_TARGET}/app/*.map \ | ||
112 | ${INSTALL_PATH}/examples/*/.debug \ | ||
113 | " | ||
114 | |||
115 | FILES_${PN}-doc += "\ | ||
116 | ${INSTALL_PATH}/doc \ | ||
117 | " | ||
118 | |||
119 | FILES_${PN}-dev += " \ | ||
120 | ${INSTALL_PATH}/${RTE_TARGET}/.config \ | ||
121 | ${includedir} \ | ||
122 | ${includedir}/${ARCHDIR} \ | ||
123 | ${includedir}/exec-env \ | ||
124 | " | ||
125 | |||
126 | FILES_${PN} += " ${INSTALL_PATH}/tools/ " | ||
127 | |||
128 | FILES_${PN}-examples += " \ | ||
129 | ${INSTALL_PATH}/${RTE_TARGET}/app/* \ | ||
130 | ${INSTALL_PATH}/${RTE_TARGET}/hostapp/* \ | ||
131 | ${INSTALL_PATH}/examples/* \ | ||
132 | " | ||