summaryrefslogtreecommitdiffstats
path: root/common/recipes-extended/openssl-qat/openssl-qat.inc
diff options
context:
space:
mode:
Diffstat (limited to 'common/recipes-extended/openssl-qat/openssl-qat.inc')
-rw-r--r--common/recipes-extended/openssl-qat/openssl-qat.inc123
1 files changed, 123 insertions, 0 deletions
diff --git a/common/recipes-extended/openssl-qat/openssl-qat.inc b/common/recipes-extended/openssl-qat/openssl-qat.inc
new file mode 100644
index 00000000..1b3e0c17
--- /dev/null
+++ b/common/recipes-extended/openssl-qat/openssl-qat.inc
@@ -0,0 +1,123 @@
1SUMMARY = "libcrypto* (OpenSSL*) QAT_MEM Memory Management Module \
2for Intel Quick Assist Technology"
3DESCRIPTION = "This software adds an engine that accelerates some of \
4the libcrypto algorithms via the Intel QuickAssist Technology \
5implemented on Intel Communications Chipset 89xx Series based platforms."
6
7HOMEPAGE = "http://www.openssl.org/"
8SECTION = "libs/network"
9LICENSE = "openssl & GPLv2 & BSD"
10
11LIC_FILES_CHKSUM = "file://${WORKDIR}/git/LICENSE;md5=f9a8f968107345e0b75aa8c2ecaa7ec8 \
12 file://${COMMON_LICENSE_DIR}/GPL-2.0;md5=801f80980d171dd6425610833a22dbe6 \
13 file://${COMMON_LICENSE_DIR}/BSD;md5=3775480a712fc46a69647678acb234cb \
14 "
15
16SRC_URI = "https://01.org/sites/default/files/page/libcrypto_shim_${PV}_withdocumentation.zip;name=openssl_qat;subdir=openssl_qat-${PV} \
17 file://openssl_qat-environment-variables-to-have-precedence.patch \
18 file://openssl_qat-pass-oe_ldflags-to-linker.patch \
19 file://openssl_qat-remove-redundant-rpaths.patch \
20 file://openssl_qat-build-qat_mem-ko-against-yocto-kernel.patch \
21 file://openssl_qat-install-engines-in-libdir-ssl.patch \
22 "
23
24DEPENDS += " qat16 zlib"
25RDEPENDS_${PN} += " qat16 zlib zlib-qat"
26
27inherit pkgconfig module
28
29PACKAGES =+ "${PN}-misc"
30PARALLEL_MAKE = ""
31
32AR_append = " r"
33EXTRA_OEMAKE = "-e MAKEFLAGS="
34
35export ICP_ROOT = "${WORKDIR}/git"
36export ICP_BUILD_OUTPUT = "${STAGING_DIR_TARGET}"
37export OPENSSL_ROOT = "${ICP_ROOT}"
38export OPENSSL_PREFIX = "/usr/local"
39export AS = "${CC} -c"
40export OE_LDFLAGS="${LDFLAGS} -L${OPENSSL_PREFIX}{base_libdir}"
41export ICP_API_PATH = "${STAGING_DIR_TARGET}${includedir}/lac"
42export KERNEL_SOURCE_ROOT = "${STAGING_KERNEL_DIR}"
43export KERNEL_BUILDDIR = "${STAGING_KERNEL_BUILDDIR}"
44
45S = "${WORKDIR}/git"
46
47opensslqat_do_patch() {
48 cd ${WORKDIR}/openssl_qat-${PV}
49 cd libcrypto_shim_${PV}_*
50 tar -zxof libCrypto_Shim_${PV}.tar.gz
51 tar -zxof libcrypto-openssl-${OPENSSL_VERSION}-qat.L.${PV}.tar.gz
52 mv openssl-${OPENSSL_VERSION}-qat.patch ${WORKDIR}
53
54 cd ${S}
55 if [ ! -d ${S}/debian/patches ]; then
56 mkdir -p ${S}/debian/patches
57 cp -f ${WORKDIR}/openssl-${OPENSSL_VERSION}-qat.patch ${S}/debian/patches
58 echo "openssl-${OPENSSL_VERSION}-qat.patch -p1" > ${S}/debian/patches/series
59 fi
60 quilt pop -a || true
61 if [ -d ${S}/.pc-opensslqat ]; then
62 rm -rf ${S}/.pc
63 mv ${S}/.pc-opensslqat ${S}/.pc
64 QUILT_PATCHES=${S}/debian/patches quilt pop -a
65 rm -rf ${S}/.pc
66 fi
67 QUILT_PATCHES=${S}/debian/patches quilt push -a
68 mv ${S}/.pc ${S}/.pc-opensslqat
69}
70
71# We invoke base do_patch at end, to incorporate any local patch
72python do_patch() {
73 bb.build.exec_func('opensslqat_do_patch', d)
74 bb.build.exec_func('patch_do_patch', d)
75}
76
77do_configure () {
78 os=linux
79 target=linux-x86_64
80
81 ./Configure -no-ssl3 enable-hw-qat --prefix=$OPENSSL_PREFIX --openssldir="${OPENSSL_PREFIX}${base_libdir}/ssl" --libdir="${base_libdir}" $target
82}
83
84do_compile() {
85 oe_runmake
86}
87
88do_install() {
89 install -m 0755 -d ${D}${bindir} \
90 ${D}${OPENSSL_PREFIX}/include \
91 ${D}${sysconfdir}/openssl_conf
92
93 oe_runmake INSTALL_PREFIX="${D}" install
94
95 cp --dereference -R include/openssl ${D}${OPENSSL_PREFIX}/include
96
97 cp ${WORKDIR}/openssl_qat-${PV}/libcrypto_shim_${PV}_withdocumentation/qat/config/dh895xcc/multi_process_optimized/* ${D}${sysconfdir}/openssl_conf/
98}
99
100FILES_${PN}-misc += "\
101 ${OPENSSL_PREFIX}${base_libdir}/ssl/misc \
102 ${bindir}/c_rehash \
103 "
104
105FILES_${PN}-dbg += "\
106 ${OPENSSL_PREFIX}${base_libdir}/ssl/engines/.debug \
107 ${OPENSSL_PREFIX}${base_libdir}/engines/.debug \
108 ${OPENSSL_PREFIX}${base_libdir}/.debug \
109 ${OPENSSL_PREFIX}/bin/.debug \
110 "
111
112FILES_${PN}-dev = "${OPENSSL_PREFIX}/include"
113
114FILES_${PN}-staticdev += "${OPENSSL_PREFIX}${base_libdir}/*.a"
115
116FILES_${PN} =+ "\
117 ${bindir} \
118 ${sysconfdir}/openssl_conf \
119 ${OPENSSL_PREFIX}/bin \
120 ${OPENSSL_PREFIX}${base_libdir} \
121 ${OPENSSL_PREFIX}${base_libdir}/ssl \
122 ${OPENSSL_PREFIX}${base_libdir}/ssl/openssl.cnf \
123 "