On Wed, Mar 28, 2018 at 12:27:48PM +0500, Awais Belal wrote:
> Since we only have a single version supported at the
> moment, which is the latest and the greatest. It is
> best that the include and base recipe files are merged
> to allow better maintainability and readability.

Please don't do this because I plan to add the 17.11 (LTS) version to the Yocto.

Thanks,
Kevin

> 
> Signed-off-by: Awais Belal <[email protected]>
> ---
>  recipes-extended/dpdk/dpdk.inc      | 167 ----------------------------------
>  recipes-extended/dpdk/dpdk_18.02.bb | 175 
> ++++++++++++++++++++++++++++++++++--
>  2 files changed, 167 insertions(+), 175 deletions(-)
>  delete mode 100644 recipes-extended/dpdk/dpdk.inc
> 
> diff --git a/recipes-extended/dpdk/dpdk.inc b/recipes-extended/dpdk/dpdk.inc
> deleted file mode 100644
> index ce4e8bc..0000000
> --- a/recipes-extended/dpdk/dpdk.inc
> +++ /dev/null
> @@ -1,167 +0,0 @@
> -DESCRIPTION = "Intel(r) Data Plane Development Kit"
> -HOMEPAGE = "http://dpdk.org";
> -LICENSE = "BSD & LGPLv2 & GPLv2"
> -LIC_FILES_CHKSUM = 
> "file://license/gpl-2.0.txt;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
> -                    
> file://license/lgpl-2.1.txt;md5=4b54a1fd55a448865a0b32d41598759d \
> -                    
> file://license/bsd-3-clause.txt;md5=0f00d99239d922ffd13cabef83b33444"
> -
> -SRC_URI = "http://fast.dpdk.org/rel/${BP}.tar.gz;name=dpdk \
> -        file://dpdk-16.04-add-RTE_KERNELDIR_OUT-to-split-kernel-bu.patch \
> -        file://dpdk-16.07-add-sysroot-option-within-app-makefile.patch \
> -        file://dpdk-16.04-Fix-for-misleading-indentation-error.patch \
> -        file://dpdk-16.07-dpdk-fix-for-parellel-make-issue.patch \
> -        file://dpdk-17.02-dpdk-fix-installation-warning-and-issue.patch \
> -       "
> -
> -# A machine needs to enable this using:
> -# COMPATIBLE_MACHINE_pn-dpdk-dev-libibverbs = "<machine name>"
> -
> -COMPATIBLE_MACHINE = "null"
> -COMPATIBLE_HOST_libc-musl_class-target = "null"
> -
> -
> -# dpdk example apps dpdk_qat and vhost have dependancy on fuse and qat.
> -# fuse is in meta-filesystems and qat is not yet upstreamed.
> -# So adding mechanism to explicitly disable the use of fuse and qat.
> -# To enable, uncomment the below line or include in .bbappend.
> -# PACKAGECONFIG ?= " dpdk_qat vhost libvirt"
> -
> -PACKAGECONFIG[dpdk_qat] = ",,virtual/qat"
> -PACKAGECONFIG[vhost] = ",,fuse"
> -PACKAGECONFIG[libvirt] = ",,libvirt"
> -
> -export CONFIG_EXAMPLE_DPDK_QAT = "${@bb.utils.contains('PACKAGECONFIG', 
> 'dpdk_qat', 'y', 'n', d)}"
> -export CONFIG_EXAMPLE_VM_POWER_MANAGER = 
> "${@bb.utils.contains('PACKAGECONFIG', 'libvirt', 'y', 'n', d)}"
> -export CONFIG_VHOST_ENABLED = "${@bb.utils.contains('PACKAGECONFIG', 
> 'vhost', 'y', 'n', d)}"
> -
> -RDEPENDS_${PN} += "python-subprocess virtual/libibverbs"
> -DEPENDS = "virtual/kernel virtual/libibverbs"
> -do_configure[depends] += "virtual/kernel:do_shared_workdir"
> -
> -inherit module
> -
> -export MODULE_DIR="/lib/modules/${KERNEL_VERSION}/kernel/drivers/net"
> -export RTE_SDK = "${S}"
> -export RTE_TARGET="${@bb.utils.contains("TUNE_FEATURES", "m64", 
> "x86_64-native-linuxapp-gcc", "i686-native-linuxapp-gcc", d)}"
> -
> -export ICP_ROOT = "${PKG_CONFIG_SYSROOT_DIR}/usr/include"
> -export ICP_LIB_ROOT= "${PKG_CONFIG_SYSROOT_DIR}/usr/lib"
> -export RTE_KERNELDIR = "${STAGING_KERNEL_DIR}"
> -export RTE_KERNELDIR_OUT = "${STAGING_KERNEL_BUILDDIR}"
> -export INSTALL_PATH = "${prefix}/share"
> -export RTE_OUTPUT = "${S}/${RTE_TARGET}"
> -export ETHTOOL_LIB_PATH = "${S}/examples/ethtool/lib/${RTE_TARGET}/"
> -export SYSROOTPATH = "--sysroot=${STAGING_DIR_HOST}"
> -export DPDK_TARGET_MACH = "${@get_dpdk_target_mach(bb,d)}"
> -export ICP_LAC_API_DIR = "${STAGING_DIR_TARGET}${includedir}/lac"
> -
> -# The list of intel Comms platforms and their target machine
> -# process mapping. The supported target machine is listed under
> -# dpdk/mk/machine
> -def get_dpdk_target_mach(bb, d):
> -    target_arch = d.getVar('DPDK_TARGET_MACHINE', True)
> -    if target_arch:
> -            target_arch
> -    return "default"
> -
> -do_configure () {
> -     #############################################################
> -     ### default value for prefix is "usr", unsetting it, so it
> -     ### will not be concatenated in ${RTE_TARGET}/Makefile
> -     ### which will cause compilation failure
> -     #############################################################
> -     unset prefix
> -
> -     # Fix-up CONFIG_RTE_MACHINE based on target machine
> -     sed -e 
> "s#CONFIG_RTE_MACHINE=\"native\"#CONFIG_RTE_MACHINE=\"${DPDK_TARGET_MACH}\"#" 
> -i ${S}/config/defconfig_x86_64-native-linuxapp-gcc
> -     sed -e 
> "s#CONFIG_RTE_MACHINE=\"native\"#CONFIG_RTE_MACHINE=\"${DPDK_TARGET_MACH}\"#" 
> -i ${S}/config/defconfig_i686-native-linuxapp-gcc
> -
> -     # Fix-up vhost configs based on package config
> -     sed -e 
> "s#CONFIG_RTE_KNI_VHOST=n#CONFIG_RTE_KNI_VHOST=${CONFIG_VHOST_ENABLED}#" -i 
> ${S}/config/common_linuxapp
> -     sed -e 
> "s#CONFIG_RTE_KNI_VHOST_VNET_HDR_EN=n#CONFIG_RTE_KNI_VHOST_VNET_HDR_EN=${CONFIG_VHOST_ENABLED}#"
>  -i ${S}/config/common_linuxapp
> -     sed -e 
> "s#CONFIG_RTE_LIBRTE_VHOST=n#CONFIG_RTE_LIBRTE_VHOST=${CONFIG_VHOST_ENABLED}#"
>  -i ${S}/config/common_linuxapp
> -
> -     make O=$RTE_TARGET T=$RTE_TARGET config
> -}
> -
> -do_compile () {
> -     unset LDFLAGS TARGET_LDFLAGS BUILD_LDFLAGS
> -
> -     cd ${S}/${RTE_TARGET}
> -     oe_runmake EXTRA_LDFLAGS="-L${STAGING_LIBDIR} --hash-style=gnu" \
> -                EXTRA_CFLAGS="--sysroot=${STAGING_DIR_HOST} 
> -I${STAGING_INCDIR}" \
> -                CROSS="${TARGET_PREFIX}" \
> -                prefix=""  LDFLAGS=""  WERROR_FLAGS="-w" V=1
> -
> -     cd ${S}/examples/
> -     oe_runmake EXTRA_LDFLAGS="-L${STAGING_LIBDIR} --hash-style=gnu 
> -fuse-ld=bfd" \
> -                EXTRA_CFLAGS="--sysroot=${STAGING_DIR_HOST} 
> -I${STAGING_INCDIR}" \
> -                CROSS="${TARGET_PREFIX}" O="${S}/examples/$@/"
> -
> -     cd ${S}/test/
> -     oe_runmake EXTRA_LDFLAGS="-L${STAGING_LIBDIR} --hash-style=gnu 
> -fuse-ld=bfd" \
> -                EXTRA_CFLAGS="--sysroot=${STAGING_DIR_HOST} 
> -I${STAGING_INCDIR}" \
> -                CROSS="${TARGET_PREFIX}" O="${S}/test/$@/"
> -}
> -
> -do_install () {
> -     oe_runmake O=${RTE_OUTPUT} T= install-runtime DESTDIR=${D}
> -     oe_runmake O=${RTE_OUTPUT} T= install-kmod DESTDIR=${D} 
> kerneldir=${MODULE_DIR}
> -     oe_runmake O=${RTE_OUTPUT} T= install-sdk DESTDIR=${D}
> -
> -     # Install examples
> -     for dirname in ${S}/examples/*
> -     do
> -             install -m 0755 -d ${D}/${INSTALL_PATH}/examples/`basename 
> ${dirname}`
> -
> -             for appname in `find ${dirname} -regex 
> ".*${EXAMPLES_BUILD_DIR}\/app\/[-0-9a-zA-Z0-9/_]*$"`
> -             do
> -                     install -m 755 ${appname}       
> ${D}/${INSTALL_PATH}/examples/`basename ${dirname}`/
> -             done
> -     done
> -
> -     # Install test
> -     for dirname in ${S}/test/app/*
> -     do
> -             install -m 0755 -d ${D}/${INSTALL_PATH}/test
> -
> -             for appname in `find ${dirname} -regex 
> ".*test\/app\/[-0-9a-zA-Z0-9/_]*$"`
> -             do
> -                     install -m 755 ${appname} ${D}/${INSTALL_PATH}/test
> -             done
> -     done
> -}
> -
> -PACKAGES += "${PN}-examples ${PN}-test"
> -
> -FILES_${PN}-dbg += " \
> -     ${INSTALL_PATH}/.debug \
> -     ${INSTALL_PATH}/examples/*/.debug \
> -     "
> -
> -FILES_${PN}-doc += "\
> -     ${INSTALL_PATH}/doc \
> -     "
> -
> -FILES_${PN}-dev += " \
> -     ${INSTALL_PATH}/${RTE_TARGET}/.config \
> -     ${includedir} \
> -     ${includedir}/${ARCHDIR} \
> -     ${includedir}/exec-env \
> -     ${INSTALL_PATH}/buildtools/ \
> -     ${INSTALL_PATH}/${RTE_TARGET}/include \
> -     ${INSTALL_PATH}/${RTE_TARGET}/lib \
> -     "
> -
> -FILES_${PN} += " ${INSTALL_PATH}/usertools/ \
> -              ${prefix}/sbin/ \
> -              ${prefix}/bin/ \
> -              ${libdir}/ \
> -              "
> -FILES_${PN}-examples += " \
> -     ${INSTALL_PATH}/examples/* \
> -     "
> -
> -FILES_${PN}-test += " \
> -     ${INSTALL_PATH}/test \
> -     "
> diff --git a/recipes-extended/dpdk/dpdk_18.02.bb 
> b/recipes-extended/dpdk/dpdk_18.02.bb
> index 537d615..4cce416 100644
> --- a/recipes-extended/dpdk/dpdk_18.02.bb
> +++ b/recipes-extended/dpdk/dpdk_18.02.bb
> @@ -1,19 +1,178 @@
> -include dpdk.inc
> +DESCRIPTION = "Intel(r) Data Plane Development Kit"
> +HOMEPAGE = "http://dpdk.org";
> +LICENSE = "BSD & LGPLv2 & GPLv2"
> +LIC_FILES_CHKSUM = 
> "file://license/gpl-2.0.txt;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
> +                    
> file://license/lgpl-2.1.txt;md5=4b54a1fd55a448865a0b32d41598759d \
> +                    
> file://license/bsd-3-clause.txt;md5=0f00d99239d922ffd13cabef83b33444"
>  
> -SRC_URI += "\
> -            
> file://dpdk-16.04-dpdk-enable-ip_fragmentation-in-common_base-config.patch \
> -            file://0001-examples-Fix-maybe-uninitialized-warning.patch \
> -            "
> +SRC_URI = "http://fast.dpdk.org/rel/${BP}.tar.gz;name=dpdk \
> +        file://dpdk-16.04-add-RTE_KERNELDIR_OUT-to-split-kernel-bu.patch \
> +        file://dpdk-16.07-add-sysroot-option-within-app-makefile.patch \
> +        file://dpdk-16.04-Fix-for-misleading-indentation-error.patch \
> +        file://dpdk-16.07-dpdk-fix-for-parellel-make-issue.patch \
> +        file://dpdk-17.02-dpdk-fix-installation-warning-and-issue.patch \
> +        
> file://dpdk-16.04-dpdk-enable-ip_fragmentation-in-common_base-config.patch \
> +        file://0001-examples-Fix-maybe-uninitialized-warning.patch \
> +       "
>  
>  SRC_URI[dpdk.md5sum] = "49d08ced0a978a71cc3942af5cf51b95"
>  SRC_URI[dpdk.sha256sum] = 
> "f1210310fd5f01a3babe3a09d9b3e5a9db791c2ec6ecfbf94ade9f893a0632b8"
>  
> +# A machine needs to enable this using:
> +# COMPATIBLE_MACHINE_pn-dpdk-dev-libibverbs = "<machine name>"
> +
> +COMPATIBLE_MACHINE = "null"
> +COMPATIBLE_HOST_libc-musl_class-target = "null"
> +COMPATIBLE_HOST_linux-gnux32 = "null"
> +
> +# dpdk example apps dpdk_qat and vhost have dependancy on fuse and qat.
> +# fuse is in meta-filesystems and qat is not yet upstreamed.
> +# So adding mechanism to explicitly disable the use of fuse and qat.
> +# To enable, uncomment the below line or include in .bbappend.
> +# PACKAGECONFIG ?= " dpdk_qat vhost libvirt"
> +
> +PACKAGECONFIG[dpdk_qat] = ",,virtual/qat"
> +PACKAGECONFIG[vhost] = ",,fuse"
> +PACKAGECONFIG[libvirt] = ",,libvirt"
> +
> +export CONFIG_EXAMPLE_DPDK_QAT = "${@bb.utils.contains('PACKAGECONFIG', 
> 'dpdk_qat', 'y', 'n', d)}"
> +export CONFIG_EXAMPLE_VM_POWER_MANAGER = 
> "${@bb.utils.contains('PACKAGECONFIG', 'libvirt', 'y', 'n', d)}"
> +export CONFIG_VHOST_ENABLED = "${@bb.utils.contains('PACKAGECONFIG', 
> 'vhost', 'y', 'n', d)}"
> +
> +RDEPENDS_${PN} += "python-subprocess virtual/libibverbs"
> +DEPENDS = "virtual/kernel virtual/libibverbs"
> +do_configure[depends] += "virtual/kernel:do_shared_workdir"
> +
> +inherit module
> +
> +export MODULE_DIR="/lib/modules/${KERNEL_VERSION}/kernel/drivers/net"
> +export RTE_SDK = "${S}"
> +export RTE_TARGET="${@bb.utils.contains("TUNE_FEATURES", "m64", 
> "x86_64-native-linuxapp-gcc", "i686-native-linuxapp-gcc", d)}"
> +
> +export ICP_ROOT = "${PKG_CONFIG_SYSROOT_DIR}/usr/include"
> +export ICP_LIB_ROOT= "${PKG_CONFIG_SYSROOT_DIR}/usr/lib"
> +export RTE_KERNELDIR = "${STAGING_KERNEL_DIR}"
> +export RTE_KERNELDIR_OUT = "${STAGING_KERNEL_BUILDDIR}"
> +export INSTALL_PATH = "${prefix}/share"
> +export RTE_OUTPUT = "${S}/${RTE_TARGET}"
> +export ETHTOOL_LIB_PATH = "${S}/examples/ethtool/lib/${RTE_TARGET}/"
> +export SYSROOTPATH = "--sysroot=${STAGING_DIR_HOST}"
> +export DPDK_TARGET_MACH = "${@get_dpdk_target_mach(bb,d)}"
> +export ICP_LAC_API_DIR = "${STAGING_DIR_TARGET}${includedir}/lac"
> +
>  export EXAMPLES_BUILD_DIR = "${RTE_TARGET}"
>  export ARCHDIR = "generic"
>  
> -do_configure_prepend () {
> +# The list of intel Comms platforms and their target machine
> +# process mapping. The supported target machine is listed under
> +# dpdk/mk/machine
> +def get_dpdk_target_mach(bb, d):
> +    target_arch = d.getVar('DPDK_TARGET_MACHINE', True)
> +    if target_arch:
> +            target_arch
> +    return "default"
> +
> +do_configure () {
> +     #############################################################
> +     ### default value for prefix is "usr", unsetting it, so it
> +     ### will not be concatenated in ${RTE_TARGET}/Makefile
> +     ### which will cause compilation failure
> +     #############################################################
> +     unset prefix
> +
> +     # Fix-up CONFIG_RTE_LIBRTE_POWER based on package config for libvirt
>       sed -e 
> "s#CONFIG_RTE_LIBRTE_POWER=y#CONFIG_RTE_LIBRTE_POWER=${CONFIG_EXAMPLE_VM_POWER_MANAGER}#"
>  -i ${S}/config/common_linuxapp
> +
> +     # Fix-up CONFIG_RTE_MACHINE based on target machine
> +     sed -e 
> "s#CONFIG_RTE_MACHINE=\"native\"#CONFIG_RTE_MACHINE=\"${DPDK_TARGET_MACH}\"#" 
> -i ${S}/config/defconfig_x86_64-native-linuxapp-gcc
> +     sed -e 
> "s#CONFIG_RTE_MACHINE=\"native\"#CONFIG_RTE_MACHINE=\"${DPDK_TARGET_MACH}\"#" 
> -i ${S}/config/defconfig_i686-native-linuxapp-gcc
> +
> +     # Fix-up vhost configs based on package config
> +     sed -e 
> "s#CONFIG_RTE_KNI_VHOST=n#CONFIG_RTE_KNI_VHOST=${CONFIG_VHOST_ENABLED}#" -i 
> ${S}/config/common_linuxapp
> +     sed -e 
> "s#CONFIG_RTE_KNI_VHOST_VNET_HDR_EN=n#CONFIG_RTE_KNI_VHOST_VNET_HDR_EN=${CONFIG_VHOST_ENABLED}#"
>  -i ${S}/config/common_linuxapp
> +     sed -e 
> "s#CONFIG_RTE_LIBRTE_VHOST=n#CONFIG_RTE_LIBRTE_VHOST=${CONFIG_VHOST_ENABLED}#"
>  -i ${S}/config/common_linuxapp
> +
> +     make O=$RTE_TARGET T=$RTE_TARGET config
>  }
>  
> -COMPATIBLE_HOST_linux-gnux32 = "null"
> -COMPATIBLE_HOST_libc-musl_class-target = "null"
> +do_compile () {
> +     unset LDFLAGS TARGET_LDFLAGS BUILD_LDFLAGS
> +
> +     cd ${S}/${RTE_TARGET}
> +     oe_runmake EXTRA_LDFLAGS="-L${STAGING_LIBDIR} --hash-style=gnu" \
> +                EXTRA_CFLAGS="--sysroot=${STAGING_DIR_HOST} 
> -I${STAGING_INCDIR}" \
> +                CROSS="${TARGET_PREFIX}" \
> +                prefix=""  LDFLAGS=""  WERROR_FLAGS="-w" V=1
> +
> +     cd ${S}/examples/
> +     oe_runmake EXTRA_LDFLAGS="-L${STAGING_LIBDIR} --hash-style=gnu 
> -fuse-ld=bfd" \
> +                EXTRA_CFLAGS="--sysroot=${STAGING_DIR_HOST} 
> -I${STAGING_INCDIR}" \
> +                CROSS="${TARGET_PREFIX}" O="${S}/examples/$@/"
> +
> +     cd ${S}/test/
> +     oe_runmake EXTRA_LDFLAGS="-L${STAGING_LIBDIR} --hash-style=gnu 
> -fuse-ld=bfd" \
> +                EXTRA_CFLAGS="--sysroot=${STAGING_DIR_HOST} 
> -I${STAGING_INCDIR}" \
> +                CROSS="${TARGET_PREFIX}" O="${S}/test/$@/"
> +}
> +
> +do_install () {
> +     oe_runmake O=${RTE_OUTPUT} T= install-runtime DESTDIR=${D}
> +     oe_runmake O=${RTE_OUTPUT} T= install-kmod DESTDIR=${D} 
> kerneldir=${MODULE_DIR}
> +     oe_runmake O=${RTE_OUTPUT} T= install-sdk DESTDIR=${D}
> +
> +     # Install examples
> +     for dirname in ${S}/examples/*
> +     do
> +             install -m 0755 -d ${D}/${INSTALL_PATH}/examples/`basename 
> ${dirname}`
> +
> +             for appname in `find ${dirname} -regex 
> ".*${EXAMPLES_BUILD_DIR}\/app\/[-0-9a-zA-Z0-9/_]*$"`
> +             do
> +                     install -m 755 ${appname}       
> ${D}/${INSTALL_PATH}/examples/`basename ${dirname}`/
> +             done
> +     done
> +
> +     # Install test
> +     for dirname in ${S}/test/app/*
> +     do
> +             install -m 0755 -d ${D}/${INSTALL_PATH}/test
> +
> +             for appname in `find ${dirname} -regex 
> ".*test\/app\/[-0-9a-zA-Z0-9/_]*$"`
> +             do
> +                     install -m 755 ${appname} ${D}/${INSTALL_PATH}/test
> +             done
> +     done
> +}
> +
> +PACKAGES += "${PN}-examples ${PN}-test"
> +
> +FILES_${PN}-dbg += " \
> +     ${INSTALL_PATH}/.debug \
> +     ${INSTALL_PATH}/examples/*/.debug \
> +     "
> +
> +FILES_${PN}-doc += "\
> +     ${INSTALL_PATH}/doc \
> +     "
> +
> +FILES_${PN}-dev += " \
> +     ${INSTALL_PATH}/${RTE_TARGET}/.config \
> +     ${includedir} \
> +     ${includedir}/${ARCHDIR} \
> +     ${includedir}/exec-env \
> +     ${INSTALL_PATH}/buildtools/ \
> +     ${INSTALL_PATH}/${RTE_TARGET}/include \
> +     ${INSTALL_PATH}/${RTE_TARGET}/lib \
> +     "
> +
> +FILES_${PN} += " ${INSTALL_PATH}/usertools/ \
> +              ${prefix}/sbin/ \
> +              ${prefix}/bin/ \
> +              ${libdir}/ \
> +              "
> +FILES_${PN}-examples += " \
> +     ${INSTALL_PATH}/examples/* \
> +     "
> +
> +FILES_${PN}-test += " \
> +     ${INSTALL_PATH}/test \
> +     "
> -- 
> 2.11.1
> 
> -- 
> _______________________________________________
> meta-intel mailing list
> [email protected]
> https://lists.yoctoproject.org/listinfo/meta-intel

Attachment: signature.asc
Description: PGP signature

-- 
_______________________________________________
meta-intel mailing list
[email protected]
https://lists.yoctoproject.org/listinfo/meta-intel

Reply via email to