aboutsummaryrefslogtreecommitdiffstats
path: root/recipes-extended/zlib-qat/zlib-qat_0.4.7-002.bb
blob: 90e036f7be0cfbaa75902fcd72fbaf4617e9c7ac (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
SUMMARY = "Zlib QAT_MEM Memory Management Module for Intel Quick Assist \
Technology"

DESCRIPTION = "This software acelerates the data compression algorithm \
in the zlib software library via the Intel QuickAssist Technology \
implemented on Intel Communications Chipset 89xx and 895x Series based platforms."

HOMEPAGE = "http://zlib.net/"
SECTION = "libs"
LICENSE = "Zlib & GPLv2 & BSD"
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"

# For target side versions of openssl enable support for OCF Linux driver
# if they are available.
DEPENDS += "cryptodev-linux pkgconfig virtual/qat"

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=zlibqat \
           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-zlib-qat-add-a-install-target-to-makefile.patch \
           file://zlib-qat-0.4.7-002-zlib-Remove-rpaths-from-makefile.patch \
           "
SRC_URI_append_libc-musl = " file://0001-qat_zlib.h-Add-pthread.h-for-MUSL.patch"

SRC_URI[zlib.md5sum] = "44d667c142d7cda120332623eab69f40"
SRC_URI[zlib.sha256sum] = "36658cb768a54c1d4dec43c3116c27ed893e88b02ecfcb44f2166f9c0b7f2a0d"

SRC_URI[zlibqat.md5sum] = "dfde8618198aa8d35ecc00d10dcc7000"
SRC_URI[zlibqat.sha256sum] = "8e5786400bbc2a879ae705c864ec63b53ae019b4f2d1c94524a97223847b6e46"

COMPATIBLE_MACHINE = "null"

ZLIB_VERSION = "1.2.8"
ZLIB_QAT_VERSION = "0.4.7-002"
QAT_PATCH_VERSION = "l.0.4.7_002"

S = "${WORKDIR}/zlib-${ZLIB_VERSION}"

export ICP_ROOT = "${S}"
export ZLIB_ROOT = "${S}"
export KERNEL_SOURCE_ROOT = "${STAGING_KERNEL_DIR}"
export KERNEL_BUILDDIR = "${STAGING_KERNEL_BUILDDIR}"
export ICP_LAC_API_DIR = "${STAGING_DIR_TARGET}${includedir}/lac"
export ICP_DC_API_DIR = "${STAGING_DIR_TARGET}${includedir}/dc"
export ZLIB_DH895XCC = "1"
export ZLIB_MEMORY_DRIVER = "qat_mem"
export ICP_BUILD_OUTPUT = "${STAGING_DIR_TARGET}"
EXTRA_OEMAKE = "-e MAKEFLAGS="
TARGET_CC_ARCH += "${LDFLAGS}"

inherit module
MEM_PATH = "${S}/contrib/qat"

zlibqat_do_patch() {
	cd ${WORKDIR}
        unzip -q -o zlib_quickassist_patch_${QAT_PATCH_VERSION}_stable.zip
        cd zlib_quickassist_patch_${QAT_PATCH_VERSION}_devbranch
        tar -xvzf zlib-${ZLIB_VERSION}-qat.L.${ZLIB_QAT_VERSION}.tar.gz
        cp -f zlib-${ZLIB_VERSION}-qat.patch ${WORKDIR}
        cd ${S}
        if [ ! -d ${S}/debian/patches ]; then
                mkdir -p ${S}/debian/patches
                cp -f ${WORKDIR}/zlib-${ZLIB_VERSION}-qat.patch ${S}/debian/patches
                echo "zlib-${ZLIB_VERSION}-qat.patch -p1" > ${S}/debian/patches/series
        fi
        quilt pop -a || true
        if [ -d ${S}/.pc-zlibqat ]; then
                rm -rf ${S}/.pc
                mv ${S}/.pc-zlibqat ${S}/.pc
                QUILT_PATCHES=${S}/debian/patches quilt pop -a
                rm -rf ${S}/.pc
        fi
        QUILT_PATCHES=${S}/debian/patches quilt push -a
        mv ${S}/.pc ${S}/.pc-zlibqat
}

# We invoke base do_patch at end, to incorporate any local patch
python do_patch() {
    bb.build.exec_func('zlibqat_do_patch', d)
    bb.build.exec_func('patch_do_patch', d)
}

#addtask zlibqat_patch after do_prepare_recipe_sysroot before patch_do_patch
#addtask do_zlibqat_patch after do_prepare_recipe_sysroot before do_configure

do_configure() {
        ./configure --prefix=${prefix} --shared --libdir=${libdir}
}

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() {
	install -m 0755 -d		${D}${bindir}/
	install -m 0755 -d		${D}${sysconfdir}/zlib_conf/

        install -m 0755 zpipe ${D}${bindir}
        install -m 0755 minigzip ${D}${bindir}

        cd ${MEM_PATH}/qat_mem
        oe_runmake INSTALL_MOD_PATH=${D} INSTALL_MOD_DIR="kernel/drivers" install

        cd ${S}/contrib/qat/qat_zlib_test
        oe_runmake DESTDIR=${D} install

	install -m 660  ${MEM_PATH}/config/dh895xcc/multi_thread_optimized/*	${D}${sysconfdir}/zlib_conf/
}

PACKAGES += "${PN}-app"

FILES_${PN} += " \
		${sysconfdir}/zlib_conf/ \
		"

FILES_${PN}-app += " \
		${bindir}/* \
	"

FILES_${PN}-dbg += " \
		${bindir}/.debug \
		"

EXCLUDE_FROM_WORLD_core2-32-intel-common = "1"