Re: [meta-mingw][PATCH] openssl: support for building nativesdk of mingw
Changqing Li
ping On 1/5/21 11:31 AM, Changqing Li wrote:
* add support for mingw32 * Engines are installed in a slightly different path, which is urgly, patch it to make the path shorter * remove runtime dependency from perl for mingw nativesdk since commit 70da1f956bfbb627691c47eba7451182aca758e3 of oe-core 'openssl: Add c_rehash to misc package and add perl runtime dependency' package openssl-misc have runtime dependency on perl, and perl then have depenency on another 3 recipes, db/gdbm/libxcrypt. according to http://arsv.github.io/perl-cross/usage.html, perl don't support cross-compile build for mingw32 and another 3 recipes also don't support mingw well. so remove the dependency of perl, don't support c_rehash for mingw. Signed-off-by: Changqing Li <changqing.li@...> --- ...ile.tmpl-don-t-add-prefix-for-libdir.patch | 32 +++++++++++++++++++ .../openssl/openssl_%.bbappend | 31 ++++++++++++++++++ 2 files changed, 63 insertions(+) create mode 100644 recipes-connectivity/openssl/files/0001-unix-Makefile.tmpl-don-t-add-prefix-for-libdir.patch create mode 100644 recipes-connectivity/openssl/openssl_%.bbappend diff --git a/recipes-connectivity/openssl/files/0001-unix-Makefile.tmpl-don-t-add-prefix-for-libdir.patch b/recipes-connectivity/openssl/files/0001-unix-Makefile.tmpl-don-t-add-prefix-for-libdir.patch new file mode 100644 index 0000000..028431b --- /dev/null +++ b/recipes-connectivity/openssl/files/0001-unix-Makefile.tmpl-don-t-add-prefix-for-libdir.patch @@ -0,0 +1,32 @@ +From 8fe5c9421acfaff35b637e7ad55d1df598bb7081 Mon Sep 17 00:00:00 2001 +From: Changqing Li <changqing.li@...> +Date: Tue, 22 Dec 2020 09:22:10 +0800 +Subject: [PATCH] unix-Makefile.tmpl: don't add prefix for libdir + +we had pass libdir to Configure, don't use prefix again to +avoid engineer dir set to: +/opt/poky/3.2+snapshot/sysroots/x86_64-w64-mingw32/usr/opt/poky/3.2+snapshot/sysroots/x86_64-w64-mingw32/usr/lib/engines-1_1 + +Upstream-Status: Inappropriate[oe-specific] + +Signed-off-by: Changqing Li <changqing.li@...> +--- + Configurations/unix-Makefile.tmpl | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/Configurations/unix-Makefile.tmpl b/Configurations/unix-Makefile.tmpl +index bbafb98..eecb63e 100644 +--- a/Configurations/unix-Makefile.tmpl ++++ b/Configurations/unix-Makefile.tmpl +@@ -244,7 +244,7 @@ LIBDIR={- our $libdir = $config{libdir} || "lib"; + File::Spec::Win32->file_name_is_absolute($libdir) ? "" : $libdir -} + ENGINESDIR_dev={- use File::Spec::Win32; + our $enginesdir = +- File::Spec::Win32->catdir($prefix,$libdir, ++ File::Spec::Win32->catdir($libdir, + "engines-$sover_dirname"); + our ($enginesdir_dev, $enginesdir_dir, $enginesdir_file) = + File::Spec::Win32->splitpath($enginesdir, 1); +-- +2.17.1 + diff --git a/recipes-connectivity/openssl/openssl_%.bbappend b/recipes-connectivity/openssl/openssl_%.bbappend new file mode 100644 index 0000000..7fd82f1 --- /dev/null +++ b/recipes-connectivity/openssl/openssl_%.bbappend @@ -0,0 +1,31 @@ +FILESEXTRAPATHS_prepend := "${THISDIR}/files:" + +SRC_URI_append_mingw32_class-nativesdk = " \ + file://0001-unix-Makefile.tmpl-don-t-add-prefix-for-libdir.patch \ +" + +do_configure_mingw32 () { + os=${HOST_OS} + target="$os-${HOST_ARCH}" + case $target in + mingw32-x86_64) + target=mingw64 + ;; + mingw32-i686) + target=mingw + ;; + esac + + useprefix=${prefix} + if [ "x$useprefix" = "x" ]; then + useprefix=/ + fi + # WARNING: do not set compiler/linker flags (-I/-D etc.) in EXTRA_OECONF, as they will fully replace the + # environment variables set by bitbake. Adjust the environment variables instead. + HASHBANGPERL="/usr/bin/env perl" PERL=perl PERL5LIB="${S}/external/perl/Text-Template-1.46/lib/" \ + perl ${S}/Configure ${EXTRA_OECONF} ${PACKAGECONFIG_CONFARGS} --prefix=$useprefix --openssldir=${libdir}/ssl-1.1 --libdir=${libdir} $target + perl ${B}/configdata.pm --dump +} + +FILES_${PN}-engines_mingw32_class-nativesdk = "${libdir}/engines-1_1" +RDEPENDS_${PN}-misc_remove_mingw32_class-nativesdk = "perl" |
|