WineBarrels-BasePlatforms/Platform/v2.0/Extensions/ExtensionMinGW.yaml

276 lines
8.5 KiB
YAML

build-extension: true
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:
# 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
- name: mingw-headers-32bit
sources: &MINGW_SOURCES
- type: archive
url: https://sourceforge.net/projects/mingw-w64/files/mingw-w64/mingw-w64-release/mingw-w64-v6.0.0.tar.bz2
sha256: 805e11101e26d7897fce7d49cbb140d7bac15f3e085a91e0001e80b2adaf48f0
subdir: mingw-w64-headers
config-opts:
- --target=i686-w64-mingw32
- --enable-sdk=all
- --enable-secure-api
- --prefix=/usr/wine_extensions/v2/MinGW/i686-w64-mingw32
builddir: true
only-arches:
- i386
- x86_64
- name: mingw-headers-64bit
sources: *MINGW_SOURCES
subdir: mingw-w64-headers
config-opts:
- --target=x86_64-w64-mingw32
- --enable-sdk=all
- --enable-secure-api
- --prefix=/usr/wine_extensions/v2/MinGW/x86_64-w64-mingw32
builddir: true
only-arches:
- x86_64
# GCC only compiler
- name: mingw-gcc-pass1-32bit
sources: &GCC_SOURCES
- type: archive
url: https://ftp.gnu.org/gnu/gcc/gcc-9.2.0/gcc-9.2.0.tar.xz
sha256: ea6ef08f121239da5695f76c9b33637a118dcf63e24164422231917fa61fb206
config-opts: &GCC_CONF_32BIT
- --target=i686-w64-mingw32
- --disable-multilib
- --enable-cet=auto
- --enable-languages=c,c++,lto
- --enable-libstdcxx-time=yes
- --enable-libstdcxx-filesystem-ts=yes
- --enable-lto
- --enable-plugin
- --enable-shared
- --enable-static
- --with-system-zlib
builddir: true
no-make-install: true
build-options:
make-args:
- all-gcc
post-install:
- make install-gcc
only-arches:
- i386
- x86_64
- name: mingw-gcc-pass1-64bit
sources: *GCC_SOURCES
config-opts: &GCC_CONF_64BIT
- --target=x86_64-w64-mingw32
- --disable-multilib
- --enable-cet=auto
- --enable-languages=c,c++,lto
- --enable-libstdcxx-time=yes
- --enable-libstdcxx-filesystem-ts=yes
- --enable-lto
- --enable-plugin
- --enable-shared
- --enable-static
- --with-system-zlib
builddir: true
no-make-install: true
build-options:
make-args:
- all-gcc
post-install:
- make install-gcc
only-arches:
- x86_64
# MinGW CRT
- name: mingw-crt-32bit
sources: *MINGW_SOURCES
subdir: mingw-w64-crt
config-opts:
- --host=i686-w64-mingw32
- --target=i686-w64-mingw32
- --disable-lib64
- --enable-lib32
- --enable-wildcard
- --prefix=/usr/wine_extensions/v2/MinGW/i686-w64-mingw32
- CFLAGS=-O3
- CPPFLAGS=-O3
builddir: true
only-arches:
- i386
- x86_64
- name: mingw-crt-64bit
sources: *MINGW_SOURCES
subdir: mingw-w64-crt
config-opts:
- --host=x86_64-w64-mingw32
- --target=x86_64-w64-mingw32
- --disable-lib32
- --enable-lib64
- --enable-wildcard
- --prefix=/usr/wine_extensions/v2/MinGW/x86_64-w64-mingw32
- CFLAGS=-O3
- CPPFLAGS=-O3
builddir: true
only-arches:
- x86_64
# GCC pass 2 full
- name: mingw-gcc-pass2-32bit
sources: *GCC_SOURCES
config-opts: *GCC_CONF_32BIT
builddir: true
ensure-writable:
- /lib/gcc/*/*/install-tools/*.conf
only-arches:
- i386
- x86_64
- name: mingw-gcc-pass2-64bit
sources: *GCC_SOURCES
config-opts: *GCC_CONF_64BIT
builddir: true
ensure-writable:
- /lib/gcc/*/*/install-tools/*.conf
only-arches:
- x86_64
# MinGW Winpthreads
- name: mingw-winpthreads-32bit
sources: *MINGW_SOURCES
subdir: mingw-w64-libraries/winpthreads
config-opts:
- --host=i686-w64-mingw32
- --target=i686-w64-mingw32
- --enable-shared
- --enable-static
- --prefix=/usr/wine_extensions/v2/MinGW/i686-w64-mingw32
- CFLAGS=-O3
- CPPFLAGS=-O3
builddir: true
only-arches:
- i386
- x86_64
- name: mingw-winpthreads-64bit
sources: *MINGW_SOURCES
subdir: mingw-w64-libraries/winpthreads
config-opts:
- --host=x86_64-w64-mingw32
- --target=x86_64-w64-mingw32
- --enable-shared
- --enable-static
- --prefix=/usr/wine_extensions/v2/MinGW/x86_64-w64-mingw32
- CFLAGS=-O3
- CPPFLAGS=-O3
builddir: true
only-arches:
- x86_64
# GCC full
- name: mingw-gcc-pass-32bit
sources: *GCC_SOURCES
config-opts:
- --target=i686-w64-mingw32
- --disable-multilib
- --enable-cet=auto
- --enable-languages=c,c++,lto
- --enable-libstdcxx-time=yes
- --enable-libstdcxx-filesystem-ts=yes
- --enable-lto
- --enable-plugin
- --enable-shared
- --enable-static
- --enable-threads=posix
- --with-system-zlib
builddir: true
ensure-writable:
- /lib/gcc/*/*/install-tools/*.conf
only-arches:
- i386
- x86_64
- name: mingw-gcc-pass2-64bit
sources: *GCC_SOURCES
config-opts:
- --target=x86_64-w64-mingw32
- --disable-multilib
- --enable-cet=auto
- --enable-languages=c,c++,lto
- --enable-libstdcxx-time=yes
- --enable-libstdcxx-filesystem-ts=yes
- --enable-lto
- --enable-plugin
- --enable-shared
- --enable-static
- --enable-threads=posix
- --with-system-zlib
builddir: true
ensure-writable:
- /lib/gcc/*/*/install-tools/*.conf
only-arches:
- x86_64
# Finalize
- name: update-elf
sources:
- type: file
path: elf_compress.py
buildsystem: simple
build-commands:
- python3 elf_compress.py /usr/wine_extensions/v2/MinGW