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
