This series is paired with a series that is sent for the meta-mingw layer. That series depends on changes in this series and vice-versa.
The following series is a number of patches to improve mingw32 support both in oe-core itself as well as for individual recipes. The goal is to enable the building of QEMU for Windows such that the oe-core QEMU targets (qemu* machines) will execute on Windows with and without graphics (SDL/VNC and nographic). The series includes the following major changes: * Support for detecting DLL runtime dependencies (aka shared objects) in both DLLs and EXEs * Extending of FILES_* defaults for cleaner packaging of mingw32 built components * Disabling of update-alternatives for mingw32 (not supported on Windows, and not all versions of Windows have symlink support) * Addition of PACKAGECONFIG options for a number of packages to handle Windows only features and or ability to disable features that do not support mingw32/Windows * Changes to recipes for proper packaging of DLLs (convention is to ship DLLs in the bindir), EXEs and other files * Changes to the QEMU include, to clean up configuration and move version specific patches changes into the versioned QEMU recipe 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 has been tested on the following Windows targets, executing QEMU 2.7.0 with all qemu* oe-core machines and all qemu machines in meta-xilinx: * Windows 10 (64-bit) * Windows 8.1 (64-bit) * Windows 7 SP1 (64-bit) Additionally this series has been build tested on the following Linux build hosts: * Debian 8 (64-bit) * Ubuntu 16.04 (64-bit) * CentOS 7 (64-bit) There are a number of patches in this series which could be applied in oe-core/meta or meta-mingw. Depending the patch it may be desired for the change to be in meta-mingw instead of oe-core. If this is a case I can modify and make the changes for meta-mingw. This is the reason behind the segmentation of changes as small individual patches. This work is contracted by Xilinx, and it intended to allow for the building of the Xilinx QEMU fork for Windows (recipe is in the meta-xilinx layer -> http://git.yoctoproject.org/cgit/cgit.cgi/meta-xilinx/tree/recipes-devtools/qemu/qemu-xilinx_2016.4.bb). The desired configuration for this QEMU fork is to have libgcrypt support in addition to what is needed for the default oe-core QEMU configuration, this is the reason for the inclusion of libgpg-error and libgcrypt changes. For convenience this series is also available in the git repository: https://github.com/nathanrossi/openembedded-core nrossi/mingw-qemu-v1 Nathan Rossi (30): gcc-configure-common.inc: Change 'initfini-array' to PACKAGECONFIG update-alternatives.bbclass: Disable for mingw32 targets package.bbclass: Add SHLIB detection support for mingw targets bitbake.conf: Add '${libdir}/*.def' to FILES_${PN}-dev defaults bitbake.conf: Override FILES_${PN}-bin for mingw32 libpcre_8.39.bb: Handle shipping .exe and .dll files for mingw32 gettext_0.19.8.1.bb: Fix shared building of gettext for mingw32 gettext_0.19.8.1.bb: Handle packaging .dll's for mingw32 gettext_0.19.8.1.bb: Add 'gettext-libintl' package libsdl_1.2.16.bb: Disable x11 for nativesdk mingw32 libsdl_1.2.15.bb: Add 'directx' PACKAGECONFIG libsdl_1.2.15.bb: Add 'stdio-redirect' PACKAGECONFIG glib-2.0/glib.inc: Disable libmount support for mingw32 targets glib-2.0/glib.inc: Only apply MLPREFIX renaming to class-target glib-2.0/glib.inc: If 'charset.alias' exists drop it glib-2.0/glib.inc: Handle packaging .dll and .exe files for mingw32 libgpg-error_1.25.bb: Enable nativesdk libgpg-error_1.25.bb: Add patch to resolve configure bug for mingw32 libgpg-error_1.25.bb: Don't replace the syscfg header for mingw32 libgpg-error_1.25.bb: Handle packaging .exe files libgcrypt.inc: Enable nativesdk libgcrypt.inc: Add PACKAGECONFIG for 'capabilities' and 'asm' libgcrypt.inc: Disable 'capabilities' for mingw32 libgcrypt.inc: Add patch to resolve configure bug for mingw32 libgcrypt.inc: Enable use of binconfig libgcrypt.inc: Handle packaging of .exe files qemu: Improve and add PACKAGECONFIG options qemu: Consolidate EXTRA_OECONF qemu: Convert KVMOPTS to PACKAGECONFIG qemu: Move recipe version specific patches and features to recipe meta/classes/package.bbclass | 21 ++++++ meta/classes/update-alternatives.bbclass | 4 + meta/conf/bitbake.conf | 5 +- .../fix-gl_cv_prog_as_underscore-test.patch | 67 +++++++++++++++++ meta/recipes-core/gettext/gettext_0.19.8.1.bb | 17 +++-- meta/recipes-core/glib-2.0/glib.inc | 23 ++++-- meta/recipes-devtools/gcc/gcc-configure-common.inc | 8 +- meta/recipes-devtools/qemu/qemu.inc | 85 +++++++++------------- meta/recipes-devtools/qemu/qemu_2.7.0.bb | 34 ++++++++- meta/recipes-graphics/libsdl/libsdl_1.2.15.bb | 3 + ...c-Set-mym4_revision-to-0-if-not-a-git-rep.patch | 46 ++++++++++++ meta/recipes-support/libgcrypt/libgcrypt.inc | 17 +++-- ...c-Set-mym4_revision-to-0-if-not-a-git-rep.patch | 46 ++++++++++++ .../libgpg-error/libgpg-error_1.25.bb | 17 +++-- meta/recipes-support/libpcre/libpcre_8.39.bb | 8 +- 15 files changed, 313 insertions(+), 88 deletions(-) create mode 100644 meta/recipes-core/gettext/gettext-0.19.8.1/fix-gl_cv_prog_as_underscore-test.patch create mode 100644 meta/recipes-support/libgcrypt/files/configure.ac-Set-mym4_revision-to-0-if-not-a-git-rep.patch create mode 100644 meta/recipes-support/libgpg-error/libgpg-error/configure.ac-Set-mym4_revision-to-0-if-not-a-git-rep.patch -- 2.11.0 -- _______________________________________________ Openembedded-core mailing list [email protected] http://lists.openembedded.org/mailman/listinfo/openembedded-core
