[yocto] [meta-mingw][PATCH 0/19] Adding support for building QEMU for Windows
Nathan Rossi
nathan at nathanrossi.com
Mon Jan 30 00:44:29 PST 2017
Sorry this should have v2 in the subject. I realized just as the
second patch was sent. I've resent with v2 for clarity.
Regards,
Nathan
On 30 January 2017 at 18:41, Nathan Rossi <nathan at nathanrossi.com> wrote:
> This series enables a number of packages and dependencies to be built
> for mingw32. The goal is to enable the building and packaging of QEMU
> targeting mingw32 with support for SDL/VNC enabled as well as being able
> to execute the qemu* machines of oe-core/meta.
>
> The following series fixes a number of issues with compilation of
> certain components that are required to build and distribute QEMU. This
> series includes:
>
> * Enabling 'secure-api' for mingw-w64-headers
> * Fix/enable building of shared libraries for gettext
> * Work around to avoid dependency on bash for glib-2.0, clean up of
> some glib-2.0 appends which are resolved in oe-core meta
> * Better packaging of libgcc for easy use on Windows (deploy dll to
> bindir)
> * Updating FILES_* to support locations for mingw32 output (bindir
> contains .dll) for libgcc, expat, libpcre, gettext, glib-2.0, libsdl,
> libgpg-error and libgcrypt
> * Addition of PACKAGECONFIG options to libsdl, and configuring of
> PACKAGECONFIG for libsdl, glib-2.0 and libgcrypt to handle Windows
> only features and or ability to disable features that do not support
> mingw32/Windows
> * Enabling build of libfdt in the dtc recipe, but skipping dtc itself
> * Fixes for configuring libgpg-error and libgcrypt when targeting
> mingw32
>
> The intended build execution is to allow for 'buildtools-tarball' (or
> any populate_sdk target with 'nativesdk-qemu' in TOOLCHAIN_HOST_TASK) to
> create an output that includes all dependent nativesdk binaries as well
> as a nativesdk QEMU binaries. This series does not however address
> fixing the environment setup script or self-extracting installer shell
> script that is normally provided by buildtools-tarball.
>
> This series with the multiple oe-core/meta series was tested on the
> following target Windows platforms: Windows 10 (64-bit), Windows 8.1
> (64-bit) and Windows 7 SP1 (64-bit).
>
> The changes were also tested on the following Linux build hosts: Debian
> 8 (64-bit), Ubuntu 16.04 (64-bit), CentOS 7 (64-bit).
>
> For convenience this series is also available in the git repository:
>
> https://github.com/nathanrossi/meta-mingw nrossi/mingw-qemu-v2
>
> This series partly depends on a set of series for oe-core/meta. The
> following series are required for building of QEMU (but not all parts of
> this series specifically), including dll packaging detection and
> libgcrypt support:
>
> https://patchwork.openembedded.org/series/5049/
> https://patchwork.openembedded.org/series/5050/
> https://patchwork.openembedded.org/series/5051/
> https://patchwork.openembedded.org/series/5052/
> https://patchwork.openembedded.org/series/5053/
>
> A branch which has the series above merged has been published to allow
> for easy testing, it is available at:
>
> https://github.com/nathanrossi/openembedded-core testing/mingw-support-2017-01-30
>
> ---
>
> Changes v2:
> * Moved a number of patches from oe-core series to this series
> * Updated cover letter to reflect series additional inclusion
> * Bring cover letter info from oe-core/meta series
> * Updated commit messages
>
> Nathan Rossi (19):
> mingw-w64-headers: Add 'secure-api' PACKAGECONFIG
> libgcc: Relocate and package dll's in bindir
> expat: Fix ${PN}-bin handling for .exe files
> libpcre: Handle shipping .exe and .dll files for mingw32
> gettext_0.19.%.bbappend: Fix/enable shared building of gettext
> gettext_0.19.%.bbappend: Handle packaging .dll's for mingw32
> gettext_0.19.%.bbappend: Handle gettext-libintl .dll packaging
> glib-2.0: Prevent a bash dependency via bash-completion
> glib-2.0: Disable libmount support for mingw32 targets
> glib-2.0: Handle packaging .dll and .exe files for mingw32
> glib-2.0: Clean up unnecessary appends that are resolved in oe-core
> dtc: Only build libfdt for mingw32
> libsdl: Windows specific PACKAGECONFIG
> libsdl: Fix ${PN}-bin handling for .exe files
> libgpg-error: Handle packaging .exe files
> libgpg-error_1.25.bbappend: Add patch to fix configure bug for mingw32
> libgcrypt: Handle packaging of .exe and .def files
> libgcrypt: Disable 'capabilities' for mingw32
> libgcrypt_1.7.3.bbappend: Add patch to fix configure bug for mingw32
>
> recipes-core/dtc/dtc_%.bbappend | 16 ++++++
> recipes-core/expat/expat_%.bbappend | 3 +
> .../fix-gl_cv_prog_as_underscore-test.patch | 67 ++++++++++++++++++++++
> recipes-core/gettext/gettext_0.19.%.bbappend | 11 +++-
> recipes-core/glib-2.0/glib-2.0_%.bbappend | 17 +++++-
> recipes-devtools/gcc/libgcc_%.bbappend | 8 ++-
> .../mingw-w64/nativesdk-mingw-w64-headers_3.1.0.bb | 4 ++
> recipes-graphics/libsdl/libsdl_%.bbappend | 9 +++
> ...c-Set-mym4_revision-to-0-if-not-a-git-rep.patch | 46 +++++++++++++++
> recipes-support/libgcrypt/libgcrypt_%.bbappend | 11 ++++
> recipes-support/libgcrypt/libgcrypt_1.7.3.bbappend | 6 ++
> ...c-Set-mym4_revision-to-0-if-not-a-git-rep.patch | 46 +++++++++++++++
> .../libgpg-error/libgpg-error_%.bbappend | 3 +
> .../libgpg-error/libgpg-error_1.25.bbappend | 6 ++
> recipes-support/libpcre/libpcre_%.bbappend | 6 ++
> 15 files changed, 255 insertions(+), 4 deletions(-)
> create mode 100644 recipes-core/dtc/dtc_%.bbappend
> create mode 100644 recipes-core/expat/expat_%.bbappend
> create mode 100644 recipes-core/gettext/gettext/fix-gl_cv_prog_as_underscore-test.patch
> create mode 100644 recipes-graphics/libsdl/libsdl_%.bbappend
> create mode 100644 recipes-support/libgcrypt/files/configure.ac-Set-mym4_revision-to-0-if-not-a-git-rep.patch
> create mode 100644 recipes-support/libgcrypt/libgcrypt_%.bbappend
> create mode 100644 recipes-support/libgcrypt/libgcrypt_1.7.3.bbappend
> create mode 100644 recipes-support/libgpg-error/files/configure.ac-Set-mym4_revision-to-0-if-not-a-git-rep.patch
> create mode 100644 recipes-support/libgpg-error/libgpg-error_%.bbappend
> create mode 100644 recipes-support/libgpg-error/libgpg-error_1.25.bbappend
> create mode 100644 recipes-support/libpcre/libpcre_%.bbappend
>
> --
> 2.11.0
More information about the yocto
mailing list