From: Anuj Mittal <[email protected]>

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 <[email protected]>
---
 ...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 <[email protected]>
+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 <[email protected]>
+---
+ 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 <[email protected]>
+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 <[email protected]>
+---
+ 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 <[email protected]>
+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 <[email protected]>
+---
+ 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

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

Reply via email to