[meta-intel] [fido][PATCH 1/1] meta-crystalforest: build zlib shim layer for qat
anujx.mittal at intel.com
anujx.mittal at intel.com
Sun Jul 5 22:28:36 PDT 2015
From: Anuj Mittal <anujx.mittal at intel.com>
This recipe and makefile patches add build support for
zlib shim layer for QAT v2.3.0-34.
zlib-qat libraries and headers are installed in /usr/local.
Signed-off-by: Anuj Mittal <anujx.mittal at intel.com>
---
...build-qat_mem-ko-against-yocto-kernel-src.patch | 55 ++++++++
...lib_test-add-a-install-target-to-makefile.patch | 44 +++++++
....4.7-002-zlib-Remove-rpaths-from-makefile.patch | 37 ++++++
.../zlib-qat/zlib-qat_0.4.7-002.bb | 132 ++++++++++++++++++++
4 files changed, 268 insertions(+)
create mode 100644 meta-crystalforest/recipes-extended/zlib-qat/zlib-qat/zlib-qat-0.4.7-002-qat_mem-build-qat_mem-ko-against-yocto-kernel-src.patch
create mode 100644 meta-crystalforest/recipes-extended/zlib-qat/zlib-qat/zlib-qat-0.4.7-002-qat_zlib_test-add-a-install-target-to-makefile.patch
create mode 100644 meta-crystalforest/recipes-extended/zlib-qat/zlib-qat/zlib-qat-0.4.7-002-zlib-Remove-rpaths-from-makefile.patch
create mode 100644 meta-crystalforest/recipes-extended/zlib-qat/zlib-qat_0.4.7-002.bb
diff --git a/meta-crystalforest/recipes-extended/zlib-qat/zlib-qat/zlib-qat-0.4.7-002-qat_mem-build-qat_mem-ko-against-yocto-kernel-src.patch b/meta-crystalforest/recipes-extended/zlib-qat/zlib-qat/zlib-qat-0.4.7-002-qat_mem-build-qat_mem-ko-against-yocto-kernel-src.patch
new file mode 100644
index 0000000..47ecb81
--- /dev/null
+++ b/meta-crystalforest/recipes-extended/zlib-qat/zlib-qat/zlib-qat-0.4.7-002-qat_mem-build-qat_mem-ko-against-yocto-kernel-src.patch
@@ -0,0 +1,55 @@
+From 198a9f71d524f5748cc9b7596bed0e76d5bd4423 Mon Sep 17 00:00:00 2001
+From: Anuj Mittal <anujx.mittal at intel.com>
+Date: Thu, 18 Jun 2015 11:56:08 +0800
+Subject: [PATCH] qat_mem: build qat_mem ko against yocto kernel src
+
+Upstream-Status: Inappropriate [Configuration]
+
+This tweaks the kernel source and build path in the makefile
+to make sure the module is built against the right source. Also
+add an install target to facilitate installation to {D}.
+
+Signed-off-by: Anuj Mittal <anujx.mittal at intel.com>
+---
+ contrib/qat/qat_mem/Makefile | 16 ++++++++--------
+ 1 file changed, 8 insertions(+), 8 deletions(-)
+
+diff --git a/contrib/qat/qat_mem/Makefile b/contrib/qat/qat_mem/Makefile
+index ddf5b59..e4d77b6 100644
+--- a/contrib/qat/qat_mem/Makefile
++++ b/contrib/qat/qat_mem/Makefile
+@@ -61,16 +61,10 @@
+ #########################################################################
+
+ MODULENAME := qat_mem
+-KDIR := /lib/modules/$(shell uname -r)/build
++KDIR := $(KERNEL_SOURCE_ROOT)
+ PWD := $(shell pwd)
+
+-ifeq ($(shell uname -r|grep -c grsec-WR), 1)
+-AUTO_CONF=/lib/modules/$(shell uname -r)/build/include/generated/autoconf.h
+-else
+-AUTO_CONF=/usr/src/kernels/$(shell uname -r)/include/linux/autoconf.h
+-endif
+-
+-CC := gcc -Wall -imacros $(AUTO_CONF)
++CC := ${CC} -Wall -imacros $(KERNEL_BUILDDIR)/include/generated/autoconf.h
+
+ ifeq ($(KERNELRELEASE),)
+ all: $(MODULENAME)_test
+@@ -80,6 +74,12 @@ else
+ obj-m := $(MODULENAME).o
+ endif
+
++install: modules_install
++ cp qat_mem_test $(INSTALL_MOD_PATH)$(bindir)
++
++modules_install:
++ $(MAKE) -C $(KDIR) M=$(PWD) modules_install
++
+ $(MODULENAME)_test: $(MODULENAME)_test.c
+ $(CC) -g -o $(MODULENAME)_test $(MODULENAME)_test.c
+
+--
+1.7.9.5
+
diff --git a/meta-crystalforest/recipes-extended/zlib-qat/zlib-qat/zlib-qat-0.4.7-002-qat_zlib_test-add-a-install-target-to-makefile.patch b/meta-crystalforest/recipes-extended/zlib-qat/zlib-qat/zlib-qat-0.4.7-002-qat_zlib_test-add-a-install-target-to-makefile.patch
new file mode 100644
index 0000000..44e1f97
--- /dev/null
+++ b/meta-crystalforest/recipes-extended/zlib-qat/zlib-qat/zlib-qat-0.4.7-002-qat_zlib_test-add-a-install-target-to-makefile.patch
@@ -0,0 +1,44 @@
+From 2baa963993dd345ce732549b8452c7a51bc4d2d1 Mon Sep 17 00:00:00 2001
+From: Anuj Mittal <anujx.mittal at intel.com>
+Date: Thu, 18 Jun 2015 11:53:23 +0800
+Subject: [PATCH] qat_zlib_test: add a install target to makefile
+
+Upstream-Status: Inappropriate [Configuration]
+
+This adds an install target to qat_zlib_test makefile
+to facilitate the installation of test binaries to {D}.
+
+Also removes RPATH that is no longer necessary and introduces
+warnings when building using bitbake.
+
+Signed-off-by: Anuj Mittal <anujx.mittal at intel.com>
+---
+ contrib/qat/qat_zlib_test/Makefile | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/contrib/qat/qat_zlib_test/Makefile b/contrib/qat/qat_zlib_test/Makefile
+index 8a29a92..7da5ddd 100644
+--- a/contrib/qat/qat_zlib_test/Makefile
++++ b/contrib/qat/qat_zlib_test/Makefile
+@@ -84,9 +84,6 @@ OBJS = $(SRCS:%.c=%.o)
+ COVERAGE_OBJS =
+ EXE=
+ LIBQAT=
+-ifdef ICP_BUILD_OUTPUT
+- LIBQAT+= -Wl,-rpath,$(ICP_BUILD_OUTPUT) -L$(ICP_BUILD_OUTPUT)
+-endif
+
+ DRIVER=icp_qa_al
+ ifdef WITH_CPA_MUX
+@@ -115,5 +112,8 @@ comptestappsh$(EXE): $(OBJS) Makefile
+ $(CC) -o comptestappsh $(OBJS) $(COVERAGE) \
+ $(SHAREDLIBQAT)
+
++install:
++ cp comptestapp $(DESTDIR)$(bindir)
++
+ clean:
+ rm -f $(OBJS) $(COVERAGE_OBJS) comptestapp comptestappsh
+--
+1.7.9.5
+
diff --git a/meta-crystalforest/recipes-extended/zlib-qat/zlib-qat/zlib-qat-0.4.7-002-zlib-Remove-rpaths-from-makefile.patch b/meta-crystalforest/recipes-extended/zlib-qat/zlib-qat/zlib-qat-0.4.7-002-zlib-Remove-rpaths-from-makefile.patch
new file mode 100644
index 0000000..3a537a7
--- /dev/null
+++ b/meta-crystalforest/recipes-extended/zlib-qat/zlib-qat/zlib-qat-0.4.7-002-zlib-Remove-rpaths-from-makefile.patch
@@ -0,0 +1,37 @@
+From 65509f553fa22923a32f0bdf4d255e29285ecfba Mon Sep 17 00:00:00 2001
+From: Anuj Mittal <anujx.mittal at intel.com>
+Date: Thu, 18 Jun 2015 11:46:17 +0800
+Subject: [PATCH] zlib: Remove rpaths from makefile
+
+Upstream-Status: Inappropriate [configuration]
+
+This removes references to RPATHS that are no longer
+necesary when building using bitbake.
+
+Signed-off-by: Anuj Mittal <anujx.mittal at intel.com>
+---
+ Makefile.in | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/Makefile.in b/Makefile.in
+index 94d8a80..cba5291 100644
+--- a/Makefile.in
++++ b/Makefile.in
+@@ -59,12 +59,12 @@ ICP_LAC_API_DIR=$(ICP_API_DIR)/lac/
+ ICP_DC_API_DIR=$(ICP_API_DIR)/dc/
+ CFLAGS+=-D_GNU_SOURCE -I$(ICP_API_DIR) -I$(ICP_DC_API_DIR) -I$(ICP_LAC_API_DIR) -I$(ICP_SAL_API_DIR)
+ SFLAGS+=-D_GNU_SOURCE -I$(ICP_API_DIR) -I$(ICP_DC_API_DIR) -I$(ICP_LAC_API_DIR) -I$(ICP_SAL_API_DIR)
+-ADDITIONAL_LDFLAGS+=-Wl,-rpath,$(ZLIB_ROOT) -lz
++#ADDITIONAL_LDFLAGS+=-Wl,-rpath,$(ZLIB_ROOT) -lz
+ SHARED_APP_FLAGS=-Wl,-rpath,$(ZLIB_ROOT) -L$(ZLIB_ROOT) -lz
+
+ ifdef ICP_BUILD_OUTPUT
+ TEST_LDFLAGS+=-L$(ICP_BUILD_OUTPUT)
+- ADDITIONAL_LDFLAGS+=-Wl,-rpath,$(ICP_BUILD_OUTPUT) -L$(ICP_BUILD_OUTPUT)
++# ADDITIONAL_LDFLAGS+=-Wl,-rpath,$(ICP_BUILD_OUTPUT) -L$(ICP_BUILD_OUTPUT)
+ endif
+
+ ifdef ZLIB_DH895XCC
+--
+1.7.9.5
+
diff --git a/meta-crystalforest/recipes-extended/zlib-qat/zlib-qat_0.4.7-002.bb b/meta-crystalforest/recipes-extended/zlib-qat/zlib-qat_0.4.7-002.bb
new file mode 100644
index 0000000..cf65371
--- /dev/null
+++ b/meta-crystalforest/recipes-extended/zlib-qat/zlib-qat_0.4.7-002.bb
@@ -0,0 +1,132 @@
+SUMMARY="Zlib QAT_MEM Memory Management Module for Intel Quick Assist Technology"
+DESCRIPTION="This software accelerates the data compression algorithm \
+in the zlib software library via the Intel QuickAssist Technology \
+implemented on Intel Communications Chipset 89xx Series based platforms."
+
+HOMEPAGE = "http://zlib.net/"
+LICENSE = "Zlib & GPLv2 & BSD"
+
+ZLIB_VERSION = "1.2.8"
+
+LIC_FILES_CHKSUM = "file://${WORKDIR}/zlib-${ZLIB_VERSION}/zlib.h;beginline=4;endline=23;md5=fde612df1e5933c428b73844a0c494fd \
+ file://${COMMON_LICENSE_DIR}/GPL-2.0;md5=801f80980d171dd6425610833a22dbe6 \
+ file://${COMMON_LICENSE_DIR}/BSD;md5=3775480a712fc46a69647678acb234cb"
+
+SRC_URI = "http://www.zlib.net/zlib-${ZLIB_VERSION}.tar.gz;name=zlib \
+ https://01.org/sites/default/files/page/zlib_shim_0.4.7-002_withdocumentation.zip;name=zlib_qat;subdir=${PN}-${PV} \
+ file://zlib-qat-0.4.7-002-zlib-Remove-rpaths-from-makefile.patch \
+ file://zlib-qat-0.4.7-002-qat_mem-build-qat_mem-ko-against-yocto-kernel-src.patch \
+ file://zlib-qat-0.4.7-002-qat_zlib_test-add-a-install-target-to-makefile.patch \
+ "
+
+SRC_URI[zlib.md5sum]="44d667c142d7cda120332623eab69f40"
+SRC_URI[zlib.sha256sum]="36658cb768a54c1d4dec43c3116c27ed893e88b02ecfcb44f2166f9c0b7f2a0d"
+
+SRC_URI[zlib_qat.md5sum]="dfde8618198aa8d35ecc00d10dcc7000"
+SRC_URI[zlib_qat.sha256sum]="8e5786400bbc2a879ae705c864ec63b53ae019b4f2d1c94524a97223847b6e46"
+
+DEPENDS += " qat"
+REDEPENDS += " qat"
+
+PACKAGES =+ "${PN}-apps"
+inherit module
+
+INHIBIT_PACKAGE_DEBUG_SPLIT = "1"
+
+#Ignore warnings related to libraries being present in /usr/local/lib
+INSANE_SKIP_${PN} += "libdir"
+INSANE_SKIP_${PN}-dev += "libdir"
+
+export KERNEL_SOURCE_ROOT = "${STAGING_KERNEL_DIR}"
+export ICP_ROOT = "${WORKDIR}/zlib-${ZLIB_VERSION}"
+export ZLIB_DH895XCC = "1"
+export ZLIB_MEMORY_DRIVER = "qat_mem"
+export ICP_BUILD_OUTPUT = "${STAGING_DIR_TARGET}"
+export KERNEL_BUILDDIR = "${STAGING_KERNEL_BUILDDIR}"
+export ZLIB_ROOT = "${ICP_ROOT}"
+export ZLIB_INSTALL_PREFIX = "/usr/local"
+
+S = "${ICP_ROOT}"
+
+do_fixsource() {
+ cd ${WORKDIR}/${PN}-${PV}
+ unzip zlib_quickassist_patch*.zip
+
+ cd zlib_quickassist_patch*
+ tar -zxof zlib-${ZLIB_VERSION}-qat.L.${PV}.tar.gz
+ mv zlib-${ZLIB_VERSION}-qat.patch ${ICP_ROOT}/..
+}
+
+addtask do_fixsource after do_unpack before do_patch
+
+do_patch() {
+ cd ${S}
+ patch -p1 < ${WORKDIR}/zlib-${ZLIB_VERSION}-qat.patch
+ patch -p1 < ${WORKDIR}/zlib-qat-0.4.7-002-zlib-Remove-rpaths-from-makefile.patch
+ patch -p1 < ${WORKDIR}/zlib-qat-0.4.7-002-qat_mem-build-qat_mem-ko-against-yocto-kernel-src.patch
+ patch -p1 < ${WORKDIR}/zlib-qat-0.4.7-002-qat_zlib_test-add-a-install-target-to-makefile.patch
+}
+
+do_configure() {
+ ./configure --prefix=$ZLIB_INSTALL_PREFIX --shared --libdir=$ZLIB_INSTALL_PREFIX$base_libdir --includedir=$ZLIB_INSTALL_PREFIX/include
+}
+
+do_compile() {
+ unset CFLAGS CXXFLAGS
+ oe_runmake
+
+ cd ${S}/contrib/qat/qat_mem
+ oe_runmake
+
+ cd ${S}/contrib/qat/qat_zlib_test
+ oe_runmake
+}
+
+do_install() {
+ unset prefix libdir includedir
+ oe_runmake DESTDIR=${D} install
+
+ install -D -m 750 minigzip ${D}/${ZLIB_INSTALL_PREFIX}${base_bindir}/minigzip
+ install -D -m 750 zpipe ${D}/${ZLIB_INSTALL_PREFIX}${base_bindir}/zpipe
+
+ mkdir -p ${D}/${ZLIB_INSTALL_PREFIX}${sysconfdir}/${PN}_conf
+ install -m 660 ${S}/contrib/qat/config/dh895xcc/multi_thread_optimized/dh895xcc_qa_dev0.conf ${D}/${ZLIB_INSTALL_PREFIX}${sysconfdir}/${PN}_conf
+
+ mkdir -p ${D}/${bindir}
+ cd ${S}/contrib/qat/qat_mem
+ oe_runmake INSTALL_MOD_PATH=${D} install
+
+ cd ${S}/contrib/qat/qat_zlib_test
+ oe_runmake DESTDIR=${D} install
+}
+
+#Override the package names to ensure package.bbclass doesn't pick up libz
+python populate_packages_prepend () {
+ if (d.getVar('DEBIAN_NAMES', True)):
+ d.setVar('PKG_${PN}-dev', '${MLPREFIX}${PN}-dev')
+ d.setVar('PKG_${PN}', '${MLPREFIX}${PN}')
+ d.setVar('PKG_${PN}-dbg', '${MLPREFIX}${PN}-dbg')
+ d.setVar('PKG_${PN}-staticdev', '${MLPREFIX}${PN}-staticdev')
+ d.setVar('PKG_${PN}-doc', '${MLPREFIX}${PN}-doc')
+}
+
+FILES_${PN}-staticdev += " \
+ ${ZLIB_INSTALL_PREFIX}${base_libdir}/libz.a \
+ "
+
+FILES_${PN}-dev += " \
+ ${ZLIB_INSTALL_PREFIX}/include \
+ ${ZLIB_INSTALL_PREFIX}${base_libdir}/pkgconfig \
+ ${ZLIB_INSTALL_PREFIX}${base_libdir}/libz.so.1 \
+ ${ZLIB_INSTALL_PREFIX}${base_libdir}/libz.so \
+ "
+
+FILES_${PN}-apps += " \
+ ${ZLIB_INSTALL_PREFIX}/bin \
+ ${bindir} \
+ "
+
+FILES_${PN} += " \
+ ${ZLIB_INSTALL_PREFIX} \
+ ${ZLIB_INSTALL_PREFIX}${base_libdir} \
+ "
--
1.7.9.5
More information about the meta-intel
mailing list