Support mingw in runtime
parent
80b2fe6b29
commit
1b96bf4e71
|
@ -1,5 +1,6 @@
|
||||||
name: gcc-base-meta
|
name: gcc-base-meta
|
||||||
modules:
|
modules:
|
||||||
|
# GCC libs
|
||||||
- name: cross-gmp
|
- name: cross-gmp
|
||||||
sources:
|
sources:
|
||||||
- type: archive
|
- type: archive
|
||||||
|
@ -63,11 +64,44 @@ modules:
|
||||||
- libtool --finish /usr/lib/x86_64-linux-gnu
|
- libtool --finish /usr/lib/x86_64-linux-gnu
|
||||||
only-arches:
|
only-arches:
|
||||||
- x86_64
|
- x86_64
|
||||||
- name: cross-binutils
|
|
||||||
sources:
|
# Binutils
|
||||||
|
- name: mingw-binutils-32bit
|
||||||
|
sources: &BINUTILS_SOURCES
|
||||||
- type: archive
|
- type: archive
|
||||||
url: https://ftp.gnu.org/gnu/binutils/binutils-2.33.1.tar.xz
|
url: https://ftp.gnu.org/gnu/binutils/binutils-2.33.1.tar.xz
|
||||||
sha256: ab66fc2d1c3ec0359b8e08843c9f33b63e8707efdff5e4cc5c200eae24722cbf
|
sha256: ab66fc2d1c3ec0359b8e08843c9f33b63e8707efdff5e4cc5c200eae24722cbf
|
||||||
|
config-opts:
|
||||||
|
- --target=i686-w64-mingw32
|
||||||
|
- --disable-werror
|
||||||
|
- --enable-deterministic-archives
|
||||||
|
- --enable-lto
|
||||||
|
- --enable-plugins
|
||||||
|
- --enable-relro
|
||||||
|
- --with-system-zlib
|
||||||
|
builddir: true
|
||||||
|
only-arches:
|
||||||
|
- i386
|
||||||
|
- x86_64
|
||||||
|
cleanup-platform:
|
||||||
|
- "*"
|
||||||
|
- name: mingw-binutils-64bit
|
||||||
|
sources: *BINUTILS_SOURCES
|
||||||
|
config-opts:
|
||||||
|
- --target=x86_64-w64-mingw32
|
||||||
|
- --disable-werror
|
||||||
|
- --enable-deterministic-archives
|
||||||
|
- --enable-lto
|
||||||
|
- --enable-plugins
|
||||||
|
- --enable-relro
|
||||||
|
- --with-system-zlib
|
||||||
|
builddir: true
|
||||||
|
only-arches:
|
||||||
|
- x86_64
|
||||||
|
cleanup-platform:
|
||||||
|
- "*"
|
||||||
|
- name: cross-binutils
|
||||||
|
sources: *BINUTILS_SOURCES
|
||||||
config-opts:
|
config-opts:
|
||||||
- --host=x86_64-unknown-linux
|
- --host=x86_64-unknown-linux
|
||||||
- --build=x86_64-unknown-linux
|
- --build=x86_64-unknown-linux
|
||||||
|
@ -99,6 +133,8 @@ modules:
|
||||||
- /bin
|
- /bin
|
||||||
only-arches:
|
only-arches:
|
||||||
- x86_64
|
- x86_64
|
||||||
|
|
||||||
|
# Glibc base headers
|
||||||
- name: cross-prepare-glibc
|
- name: cross-prepare-glibc
|
||||||
sources:
|
sources:
|
||||||
- type: archive
|
- type: archive
|
||||||
|
|
|
@ -1,64 +1,5 @@
|
||||||
build-extension: true
|
name: mingw-meta
|
||||||
id: de.marko10_000.winebarrels.Platform.ExtensionsV2.MinGW
|
|
||||||
branch: "v2.0"
|
|
||||||
|
|
||||||
sdk: de.marko10_000.winebarrels.Sdk
|
|
||||||
runtime: de.marko10_000.winebarrels.Platform
|
|
||||||
runtime-version: "v2.0"
|
|
||||||
separate-locales: false
|
|
||||||
|
|
||||||
build-options:
|
|
||||||
prefix: /usr/wine_extensions/v2/MinGW
|
|
||||||
env:
|
|
||||||
C_INCLUDE_PATH: /usr/wine_extensions/v2/MinGW/include
|
|
||||||
CPLUS_INCLUDE_PATH: /usr/wine_extensions/v2/MinGW/include
|
|
||||||
prepend-path: /usr/wine_extensions/v2/MinGW/bin
|
|
||||||
prepend-ld-library-path: /usr/wine_extensions/v2/MinGW/lib
|
|
||||||
prepend-pkg-config-path: /usr/wine_extensions/v2/MinGW/lib/pkgconfig
|
|
||||||
ldflags: -L/usr/wine_extensions/v2/MinGW/lib
|
|
||||||
ldflags-override: true
|
|
||||||
modules:
|
modules:
|
||||||
# Check arches
|
|
||||||
- name: check-arch
|
|
||||||
buildsystem: simple
|
|
||||||
build-commands:
|
|
||||||
- "false"
|
|
||||||
skip-arches:
|
|
||||||
- i386
|
|
||||||
- x86_64
|
|
||||||
|
|
||||||
# Bintutils
|
|
||||||
- name: mingw-binutils-32bit
|
|
||||||
sources: &BINUTILS_SOURCES
|
|
||||||
- type: archive
|
|
||||||
url: https://ftp.gnu.org/gnu/binutils/binutils-2.33.1.tar.xz
|
|
||||||
sha256: ab66fc2d1c3ec0359b8e08843c9f33b63e8707efdff5e4cc5c200eae24722cbf
|
|
||||||
config-opts:
|
|
||||||
- --target=i686-w64-mingw32
|
|
||||||
- --disable-werror
|
|
||||||
- --enable-deterministic-archives
|
|
||||||
- --enable-lto
|
|
||||||
- --enable-plugins
|
|
||||||
- --enable-relro
|
|
||||||
- --with-system-zlib
|
|
||||||
builddir: true
|
|
||||||
only-arches:
|
|
||||||
- i386
|
|
||||||
- x86_64
|
|
||||||
- name: mingw-binutils-64bit
|
|
||||||
sources: *BINUTILS_SOURCES
|
|
||||||
config-opts:
|
|
||||||
- --target=x86_64-w64-mingw32
|
|
||||||
- --disable-werror
|
|
||||||
- --enable-deterministic-archives
|
|
||||||
- --enable-lto
|
|
||||||
- --enable-plugins
|
|
||||||
- --enable-relro
|
|
||||||
- --with-system-zlib
|
|
||||||
builddir: true
|
|
||||||
only-arches:
|
|
||||||
- x86_64
|
|
||||||
|
|
||||||
# Headers
|
# Headers
|
||||||
- name: mingw-headers-32bit
|
- name: mingw-headers-32bit
|
||||||
sources: &MINGW_SOURCES
|
sources: &MINGW_SOURCES
|
||||||
|
@ -70,11 +11,13 @@ modules:
|
||||||
- --target=i686-w64-mingw32
|
- --target=i686-w64-mingw32
|
||||||
- --enable-sdk=all
|
- --enable-sdk=all
|
||||||
- --enable-secure-api
|
- --enable-secure-api
|
||||||
- --prefix=/usr/wine_extensions/v2/MinGW/i686-w64-mingw32
|
- --prefix=/usr/i686-w64-mingw32
|
||||||
builddir: true
|
builddir: true
|
||||||
only-arches:
|
only-arches:
|
||||||
- i386
|
- i386
|
||||||
- x86_64
|
- x86_64
|
||||||
|
cleanup-platform:
|
||||||
|
- "*"
|
||||||
- name: mingw-headers-64bit
|
- name: mingw-headers-64bit
|
||||||
sources: *MINGW_SOURCES
|
sources: *MINGW_SOURCES
|
||||||
subdir: mingw-w64-headers
|
subdir: mingw-w64-headers
|
||||||
|
@ -82,10 +25,12 @@ modules:
|
||||||
- --target=x86_64-w64-mingw32
|
- --target=x86_64-w64-mingw32
|
||||||
- --enable-sdk=all
|
- --enable-sdk=all
|
||||||
- --enable-secure-api
|
- --enable-secure-api
|
||||||
- --prefix=/usr/wine_extensions/v2/MinGW/x86_64-w64-mingw32
|
- --prefix=/usr/x86_64-w64-mingw32
|
||||||
builddir: true
|
builddir: true
|
||||||
only-arches:
|
only-arches:
|
||||||
- x86_64
|
- x86_64
|
||||||
|
cleanup-platform:
|
||||||
|
- "*"
|
||||||
|
|
||||||
# GCC only compiler
|
# GCC only compiler
|
||||||
- name: mingw-gcc-pass1-32bit
|
- name: mingw-gcc-pass1-32bit
|
||||||
|
@ -96,13 +41,13 @@ modules:
|
||||||
config-opts: &GCC_CONF_32BIT
|
config-opts: &GCC_CONF_32BIT
|
||||||
- --target=i686-w64-mingw32
|
- --target=i686-w64-mingw32
|
||||||
- --disable-multilib
|
- --disable-multilib
|
||||||
|
- --disable-shared
|
||||||
- --enable-cet=auto
|
- --enable-cet=auto
|
||||||
- --enable-languages=c,c++,lto
|
- --enable-languages=c,c++,lto
|
||||||
- --enable-libstdcxx-time=yes
|
- --enable-libstdcxx-time=yes
|
||||||
- --enable-libstdcxx-filesystem-ts=yes
|
- --enable-libstdcxx-filesystem-ts=yes
|
||||||
- --enable-lto
|
- --enable-lto
|
||||||
- --enable-plugin
|
- --enable-plugin
|
||||||
- --enable-shared
|
|
||||||
- --enable-static
|
- --enable-static
|
||||||
- --with-system-zlib
|
- --with-system-zlib
|
||||||
builddir: true
|
builddir: true
|
||||||
|
@ -115,18 +60,20 @@ modules:
|
||||||
only-arches:
|
only-arches:
|
||||||
- i386
|
- i386
|
||||||
- x86_64
|
- x86_64
|
||||||
|
cleanup-platform:
|
||||||
|
- "*"
|
||||||
- name: mingw-gcc-pass1-64bit
|
- name: mingw-gcc-pass1-64bit
|
||||||
sources: *GCC_SOURCES
|
sources: *GCC_SOURCES
|
||||||
config-opts: &GCC_CONF_64BIT
|
config-opts: &GCC_CONF_64BIT
|
||||||
- --target=x86_64-w64-mingw32
|
- --target=x86_64-w64-mingw32
|
||||||
- --disable-multilib
|
- --disable-multilib
|
||||||
|
- --disable-shared
|
||||||
- --enable-cet=auto
|
- --enable-cet=auto
|
||||||
- --enable-languages=c,c++,lto
|
- --enable-languages=c,c++,lto
|
||||||
- --enable-libstdcxx-time=yes
|
- --enable-libstdcxx-time=yes
|
||||||
- --enable-libstdcxx-filesystem-ts=yes
|
- --enable-libstdcxx-filesystem-ts=yes
|
||||||
- --enable-lto
|
- --enable-lto
|
||||||
- --enable-plugin
|
- --enable-plugin
|
||||||
- --enable-shared
|
|
||||||
- --enable-static
|
- --enable-static
|
||||||
- --with-system-zlib
|
- --with-system-zlib
|
||||||
builddir: true
|
builddir: true
|
||||||
|
@ -138,8 +85,10 @@ modules:
|
||||||
- make install-gcc
|
- make install-gcc
|
||||||
only-arches:
|
only-arches:
|
||||||
- x86_64
|
- x86_64
|
||||||
|
cleanup-platform:
|
||||||
|
- "*"
|
||||||
|
|
||||||
# MinGW CRT
|
# MinGW CRT pass
|
||||||
- name: mingw-crt-32bit
|
- name: mingw-crt-32bit
|
||||||
sources: *MINGW_SOURCES
|
sources: *MINGW_SOURCES
|
||||||
subdir: mingw-w64-crt
|
subdir: mingw-w64-crt
|
||||||
|
@ -147,13 +96,21 @@ modules:
|
||||||
- --host=i686-w64-mingw32
|
- --host=i686-w64-mingw32
|
||||||
- --target=i686-w64-mingw32
|
- --target=i686-w64-mingw32
|
||||||
- --disable-lib64
|
- --disable-lib64
|
||||||
|
- --disable-shared
|
||||||
- --enable-lib32
|
- --enable-lib32
|
||||||
|
- --enable-static
|
||||||
- --enable-wildcard
|
- --enable-wildcard
|
||||||
- --prefix=/usr/wine_extensions/v2/MinGW/i686-w64-mingw32
|
- --prefix=/usr/i686-w64-mingw32
|
||||||
builddir: true
|
builddir: true
|
||||||
|
build-options:
|
||||||
|
cflags-override: true
|
||||||
|
cxxflags-override: true
|
||||||
|
ldflags-override: true
|
||||||
only-arches:
|
only-arches:
|
||||||
- i386
|
- i386
|
||||||
- x86_64
|
- x86_64
|
||||||
|
cleanup-platform:
|
||||||
|
- "*"
|
||||||
- name: mingw-crt-64bit
|
- name: mingw-crt-64bit
|
||||||
sources: *MINGW_SOURCES
|
sources: *MINGW_SOURCES
|
||||||
subdir: mingw-w64-crt
|
subdir: mingw-w64-crt
|
||||||
|
@ -161,12 +118,20 @@ modules:
|
||||||
- --host=x86_64-w64-mingw32
|
- --host=x86_64-w64-mingw32
|
||||||
- --target=x86_64-w64-mingw32
|
- --target=x86_64-w64-mingw32
|
||||||
- --disable-lib32
|
- --disable-lib32
|
||||||
|
- --disable-shared
|
||||||
- --enable-lib64
|
- --enable-lib64
|
||||||
|
- --enable-static
|
||||||
- --enable-wildcard
|
- --enable-wildcard
|
||||||
- --prefix=/usr/wine_extensions/v2/MinGW/x86_64-w64-mingw32
|
- --prefix=/usr/x86_64-w64-mingw32
|
||||||
builddir: true
|
builddir: true
|
||||||
|
build-options:
|
||||||
|
cflags-override: true
|
||||||
|
cxxflags-override: true
|
||||||
|
ldflags-override: true
|
||||||
only-arches:
|
only-arches:
|
||||||
- x86_64
|
- x86_64
|
||||||
|
cleanup-platform:
|
||||||
|
- "*"
|
||||||
|
|
||||||
# GCC pass 2 full
|
# GCC pass 2 full
|
||||||
- name: mingw-gcc-pass2-32bit
|
- name: mingw-gcc-pass2-32bit
|
||||||
|
@ -174,18 +139,22 @@ modules:
|
||||||
config-opts: *GCC_CONF_32BIT
|
config-opts: *GCC_CONF_32BIT
|
||||||
builddir: true
|
builddir: true
|
||||||
ensure-writable:
|
ensure-writable:
|
||||||
- /lib/gcc/*/*/install-tools/*.conf
|
- /lib/*/gcc/*/*/install-tools/*.conf
|
||||||
only-arches:
|
only-arches:
|
||||||
- i386
|
- i386
|
||||||
- x86_64
|
- x86_64
|
||||||
|
cleanup-platform:
|
||||||
|
- "*"
|
||||||
- name: mingw-gcc-pass2-64bit
|
- name: mingw-gcc-pass2-64bit
|
||||||
sources: *GCC_SOURCES
|
sources: *GCC_SOURCES
|
||||||
config-opts: *GCC_CONF_64BIT
|
config-opts: *GCC_CONF_64BIT
|
||||||
builddir: true
|
builddir: true
|
||||||
ensure-writable:
|
ensure-writable:
|
||||||
- /lib/gcc/*/*/install-tools/*.conf
|
- /lib/*/gcc/*/*/install-tools/*.conf
|
||||||
only-arches:
|
only-arches:
|
||||||
- x86_64
|
- x86_64
|
||||||
|
cleanup-platform:
|
||||||
|
- "*"
|
||||||
|
|
||||||
# MinGW Winpthreads
|
# MinGW Winpthreads
|
||||||
- name: mingw-winpthreads-32bit
|
- name: mingw-winpthreads-32bit
|
||||||
|
@ -194,74 +163,98 @@ modules:
|
||||||
config-opts:
|
config-opts:
|
||||||
- --host=i686-w64-mingw32
|
- --host=i686-w64-mingw32
|
||||||
- --target=i686-w64-mingw32
|
- --target=i686-w64-mingw32
|
||||||
- --enable-shared
|
- --disable-shared
|
||||||
- --enable-static
|
- --enable-static
|
||||||
- --prefix=/usr/wine_extensions/v2/MinGW/i686-w64-mingw32
|
|
||||||
builddir: true
|
builddir: true
|
||||||
|
build-options:
|
||||||
|
cflags-override: true
|
||||||
|
cxxflags-override: true
|
||||||
|
ldflags-override: true
|
||||||
|
libdir: /usr/i686-w64-mingw32/lib
|
||||||
|
prefix: /usr/i686-w64-mingw32
|
||||||
|
#post-install:
|
||||||
|
# - mv -v /usr/i686-w64-mingw32/bin/*.dll /usr/i686-w64-mingw32/lib
|
||||||
only-arches:
|
only-arches:
|
||||||
- i386
|
- i386
|
||||||
- x86_64
|
- x86_64
|
||||||
|
cleanup-platform:
|
||||||
|
- "*"
|
||||||
- name: mingw-winpthreads-64bit
|
- name: mingw-winpthreads-64bit
|
||||||
sources: *MINGW_SOURCES
|
sources: *MINGW_SOURCES
|
||||||
subdir: mingw-w64-libraries/winpthreads
|
subdir: mingw-w64-libraries/winpthreads
|
||||||
config-opts:
|
config-opts:
|
||||||
- --host=x86_64-w64-mingw32
|
- --host=x86_64-w64-mingw32
|
||||||
- --target=x86_64-w64-mingw32
|
- --target=x86_64-w64-mingw32
|
||||||
- --enable-shared
|
- --disable-shared
|
||||||
- --enable-static
|
- --enable-static
|
||||||
- --prefix=/usr/wine_extensions/v2/MinGW/x86_64-w64-mingw32
|
|
||||||
builddir: true
|
builddir: true
|
||||||
|
build-options:
|
||||||
|
cflags-override: true
|
||||||
|
cxxflags-override: true
|
||||||
|
ldflags-override: true
|
||||||
|
libdir: /usr/x86_64-w64-mingw32/lib
|
||||||
|
prefix: /usr/x86_64-w64-mingw32
|
||||||
|
#post-install:
|
||||||
|
# - mv -v /usr/x86_64-w64-mingw32/bin/*.dll /usr/x86_64-w64-mingw32/lib
|
||||||
only-arches:
|
only-arches:
|
||||||
- x86_64
|
- x86_64
|
||||||
|
cleanup-platform:
|
||||||
|
- "*"
|
||||||
|
|
||||||
# GCC full
|
# GCC full
|
||||||
- name: mingw-gcc-pass-32bit
|
- name: mingw-gcc-32bit
|
||||||
sources: *GCC_SOURCES
|
sources: *GCC_SOURCES
|
||||||
config-opts:
|
config-opts:
|
||||||
- --target=i686-w64-mingw32
|
- --target=i686-w64-mingw32
|
||||||
- --disable-multilib
|
- --disable-multilib
|
||||||
|
- --disable-shared
|
||||||
- --enable-cet=auto
|
- --enable-cet=auto
|
||||||
- --enable-languages=c,c++,lto
|
- --enable-languages=c,c++,lto
|
||||||
- --enable-libstdcxx-time=yes
|
- --enable-libstdcxx-time=yes
|
||||||
- --enable-libstdcxx-filesystem-ts=yes
|
- --enable-libstdcxx-filesystem-ts=yes
|
||||||
- --enable-lto
|
- --enable-lto
|
||||||
- --enable-plugin
|
- --enable-plugin
|
||||||
- --enable-shared
|
|
||||||
- --enable-static
|
- --enable-static
|
||||||
- --enable-threads=posix
|
- --enable-threads=posix
|
||||||
- --with-system-zlib
|
- --with-system-zlib
|
||||||
builddir: true
|
builddir: true
|
||||||
|
build-options:
|
||||||
|
prepend-ld-library-path: /usr/i686-w64-mingw32/lib
|
||||||
|
#prepend-path: /usr/i686-w64-mingw32/bin
|
||||||
|
#ldflags-override: true
|
||||||
|
#ldflags: -L/usr/i686-w64-mingw32/lib
|
||||||
|
#prefix: /usr
|
||||||
ensure-writable:
|
ensure-writable:
|
||||||
- /lib/gcc/*/*/install-tools/*.conf
|
- /lib/*/gcc/*/*/install-tools/*.conf
|
||||||
only-arches:
|
only-arches:
|
||||||
- i386
|
- i386
|
||||||
- x86_64
|
- x86_64
|
||||||
- name: mingw-gcc-pass2-64bit
|
cleanup-platform:
|
||||||
|
- "*"
|
||||||
|
- name: mingw-gcc-64bit
|
||||||
sources: *GCC_SOURCES
|
sources: *GCC_SOURCES
|
||||||
config-opts:
|
config-opts:
|
||||||
- --target=x86_64-w64-mingw32
|
- --target=x86_64-w64-mingw32
|
||||||
- --disable-multilib
|
- --disable-multilib
|
||||||
|
- --disable-shared
|
||||||
- --enable-cet=auto
|
- --enable-cet=auto
|
||||||
- --enable-languages=c,c++,lto
|
- --enable-languages=c,c++,lto
|
||||||
- --enable-libstdcxx-time=yes
|
- --enable-libstdcxx-time=yes
|
||||||
- --enable-libstdcxx-filesystem-ts=yes
|
- --enable-libstdcxx-filesystem-ts=yes
|
||||||
- --enable-lto
|
- --enable-lto
|
||||||
- --enable-plugin
|
- --enable-plugin
|
||||||
- --enable-shared
|
|
||||||
- --enable-static
|
- --enable-static
|
||||||
- --enable-threads=posix
|
- --enable-threads=posix
|
||||||
- --with-system-zlib
|
- --with-system-zlib
|
||||||
builddir: true
|
builddir: true
|
||||||
|
build-options:
|
||||||
|
prepend-ld-library-path: /usr/x86_64-w64-mingw32/lib
|
||||||
|
#ldflags: -L/usr/x86_64-w64-mingw32/lib
|
||||||
|
#ldflags-override: true
|
||||||
|
#prefix: /usr
|
||||||
ensure-writable:
|
ensure-writable:
|
||||||
- /lib/gcc/*/*/install-tools/*.conf
|
- /lib/*/gcc/*/*/install-tools/*.conf
|
||||||
only-arches:
|
only-arches:
|
||||||
- x86_64
|
- x86_64
|
||||||
|
cleanup-platform:
|
||||||
# Finalize
|
- "*"
|
||||||
- name: update-elf
|
|
||||||
sources:
|
|
||||||
- type: file
|
|
||||||
path: elf_compress.py
|
|
||||||
buildsystem: simple
|
|
||||||
build-commands:
|
|
||||||
- python3 elf_compress.py /usr/wine_extensions/v2/MinGW
|
|
|
@ -1,3 +1,4 @@
|
||||||
name: meta-sdk
|
name: meta-sdk
|
||||||
modules:
|
modules:
|
||||||
- cross.yaml
|
- mingw.yaml
|
||||||
|
- cross.yaml
|
|
@ -1,14 +1,5 @@
|
||||||
#! /usr/bin/env bash
|
#! /usr/bin/env bash
|
||||||
# Args: <file> <arch> <builder-args> [<repo>]
|
# Args: <file> <arch> <builder-args> [<repo>]
|
||||||
|
|
||||||
if [ -z "VERBOSE" ]; then
|
|
||||||
HASH_MODULE_ARGS="-v"
|
|
||||||
else
|
|
||||||
HASH_MODULE_ARGS=""
|
|
||||||
fi
|
|
||||||
|
|
||||||
CONF_PATH="$(dirname "$0")" &&
|
CONF_PATH="$(dirname "$0")" &&
|
||||||
"$CONF_PATH/../../../tools/hash_modules.py" $HASH_MODULE_ARGS --require-build "$1" "$2" &&
|
exec "$CONF_PATH/../../../tools/build_when_required.sh" "$1" "$2" "$3" "$4"
|
||||||
exec "$CONF_PATH/../../../tools/build.sh" "$1" "$2" "$3" "$4"
|
|
||||||
|
|
||||||
echo 'No build required.'
|
|
Loading…
Reference in New Issue