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 > --- > ...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" > > >