On 1/4/21 9:31 PM, 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. It would appear that some or all of this patch is unnecessary. OE-core 166bb89f6d97495b6522786182b4f9623acd7ff4 implements part of this patch, which makes me think it's working there without any changes necessary. It would be worth following up to see if that is the case. > > Signed-off-by: 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 > +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 > +--- > + 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" > > >