From 6fee11b04b979a5b3237902d947db7118cafca2b Mon Sep 17 00:00:00 2001 From: Andre McCurdy Date: Mon, 23 Jul 2018 19:38:50 -0700 Subject: openssl_1.0: fix cryptodev-linux PACKAGECONFIG support Since openssl isn't an autotools recipe, defining cryptodev-linux related config options via PACKAGECONFIG hasn't worked correctly since PACKAGECONFIG_CONFARGS stopped being automatically appended to EXTRA_OECONF in 2016: http://git.openembedded.org/openembedded-core/commit/?id=c98fb5f5129e71829ffab4449b3d28082bc95ab4 The issue appears to have been hidden as the flags are also hardcoded in CFLAG - and therefore always enabled, regardless of the state of the PACKAGECONFIG option. Fix by passing both EXTRA_OECONF and PACKAGECONFIG_CONFARGS when running the openssl Configure script. Although the openssl 1.1 recipe doesn't contain any PACKAGECONFIG options yet, pre-emptively make the same fix there too. Also only enable cryptodev-linux by default for target builds (based on the historical comments in the recipe, that seems to have been the original intention). Signed-off-by: Andre McCurdy Signed-off-by: Ross Burton --- meta/recipes-connectivity/openssl/openssl_1.0.2o.bb | 9 ++++----- meta/recipes-connectivity/openssl/openssl_1.1.0h.bb | 2 +- 2 files changed, 5 insertions(+), 6 deletions(-) (limited to 'meta') diff --git a/meta/recipes-connectivity/openssl/openssl_1.0.2o.bb b/meta/recipes-connectivity/openssl/openssl_1.0.2o.bb index 9bc9e64c12..d9e9c8408e 100644 --- a/meta/recipes-connectivity/openssl/openssl_1.0.2o.bb +++ b/meta/recipes-connectivity/openssl/openssl_1.0.2o.bb @@ -63,6 +63,9 @@ UPSTREAM_CHECK_REGEX = "openssl-(?P1\.0.+)\.tar" inherit pkgconfig siteinfo multilib_header ptest relative_symlinks PACKAGECONFIG ?= "cryptodev-linux" +PACKAGECONFIG_class-native = "" +PACKAGECONFIG_class-nativesdk = "" + PACKAGECONFIG[perl] = ",,," PACKAGECONFIG[cryptodev-linux] = "-DHAVE_CRYPTODEV -DUSE_CRYPTODEV_DIGESTS,,cryptodev-linux" @@ -88,10 +91,6 @@ CFLAG = "${@oe.utils.conditional('SITEINFO_ENDIANNESS', 'le', '-DL_ENDIAN', '-DB # (and it causes issues with SELinux) CFLAG += "-Wa,--noexecstack" -# For target side versions of openssl enable support for OCF Linux driver -# if they are available. -CFLAG += "-DHAVE_CRYPTODEV -DUSE_CRYPTODEV_DIGESTS" - CFLAG_append_class-native = " -fPIC" do_configure_prepend_darwin () { @@ -208,7 +207,7 @@ do_configure () { useprefix=/ fi libdirleaf="$(echo ${libdir} | sed s:$useprefix::)" - perl ./Configure ${EXTRA_OECONF} shared --prefix=$useprefix --openssldir=${libdir}/ssl --libdir=$libdirleaf $target + perl ./Configure ${EXTRA_OECONF} ${PACKAGECONFIG_CONFARGS} shared --prefix=$useprefix --openssldir=${libdir}/ssl --libdir=$libdirleaf $target } do_compile_prepend_class-target () { diff --git a/meta/recipes-connectivity/openssl/openssl_1.1.0h.bb b/meta/recipes-connectivity/openssl/openssl_1.1.0h.bb index 8d445e4655..c0aaaf654e 100644 --- a/meta/recipes-connectivity/openssl/openssl_1.1.0h.bb +++ b/meta/recipes-connectivity/openssl/openssl_1.1.0h.bb @@ -126,7 +126,7 @@ do_configure () { useprefix=/ fi libdirleaf="$(echo ${libdir} | sed s:$useprefix::)" - perl ./Configure ${EXTRA_OECONF} --prefix=$useprefix --openssldir=${libdir}/ssl-1.1 --libdir=${libdirleaf} $target + perl ./Configure ${EXTRA_OECONF} ${PACKAGECONFIG_CONFARGS} --prefix=$useprefix --openssldir=${libdir}/ssl-1.1 --libdir=${libdirleaf} $target } do_install () { -- cgit 1.2.3-korg