Support mingw in platform

master
Marko Semet 2019-08-31 21:40:57 +02:00
parent 68c602b8cb
commit 62fd4aac25
5 changed files with 418 additions and 0 deletions

View File

@ -0,0 +1,21 @@
# Supported
- MinGW (version)
# Missing
- libv4l2 (for what?)
- OpenCL (for what?)
- libgphoto2 (for what?)
- libgphoto2_port (for what?)
- libcapi20 (for what?)
- libgsm (for what?)
- OSSv4 (for what?)
# TODO
- libGLU
- pcap
- libhal
- libsane
- libudev
- libFAudio
- vkd3d
- libldap (OpenLDAP)

View File

@ -35,6 +35,7 @@ modules:
skip-arches:
- "i386"
- platform/platform.yaml
- sdk/sdk.yaml
cleanup:
- /lib/debug

View File

@ -36,6 +36,7 @@ modules:
skip-arches:
- x86_64
- platform/platform.yaml
- sdk/sdk.yaml
cleanup:
- /lib/debug

View File

@ -0,0 +1,392 @@
name: mingw
modules:
- name: mingw-binutils-32bit
sources:
- type: archive
url: https://ftp.gnu.org/gnu/binutils/binutils-2.32.tar.xz
sha256: 0ab6c55dd86a92ed561972ba15b9b70a8b9f75557f896446c82e8b36e473ee04
config-opts:
- --target=i686-w64-mingw32
- --disable-multilib
- --disable-nls
- --disable-werror
- --enable-deterministic-archives
- --enable-gold
- --enable-lto
- --enable-plugins
- --enable-relro
- --enable-static-pie
- --enable-threads
builddir: true
build-options:
make-install-args:
- DESTDIR=/usr/tmp_binutils
- install
post-install:
- rm -rf /usr/tmp_binutils/usr/share
- cp -rf /usr/tmp_binutils/usr /
- rm -rfv /usr/tmp_binutils
cleanup-platform:
- "*"
- name: mingw-headers-32bit
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
buildsystem: simple
build-commands:
- mkdir builds
- cd builds && ../mingw-w64-headers/configure
--host=i686-w64-mingw32
--enable-sdk=all
--enable-secure-api
--prefix=/usr/i686-w64-mingw32
- cd builds && make DESTDIR=/usr/tmp_mingw install
- echo "" > /usr/tmp_mingw/usr/i686-w64-mingw32/include/pthread_signal.h
- echo "" > /usr/tmp_mingw/usr/i686-w64-mingw32/include/pthread_time.h
- echo "" > /usr/tmp_mingw/usr/i686-w64-mingw32/include/pthread_unistd.h
post-install:
- rm -rf /usr/tmp_mingw/usr/share
- cp -rf /usr/tmp_mingw/usr /
- rm -rfv /usr/tmp_mingw
cleanup-platform:
- "*"
- name: mingw-gcc-pass1-32bit
sources:
- type: archive
url: https://ftp.gnu.org/gnu/gcc/gcc-8.3.0/gcc-8.3.0.tar.xz
sha256: 64baadfe6cc0f4947a84cb12d7f0dfaf45bb58b7e92461639596c21e02d97d2c
- type: archive
url: https://ftp.gnu.org/gnu/gmp/gmp-6.1.2.tar.xz
sha256: 87b565e89a9a684fe4ebeeddb8399dce2599f9c9049854ca8c0dfbdea0e21912
dest: gmp
- type: archive
url: https://ftp.gnu.org/gnu/mpfr/mpfr-4.0.2.tar.xz
sha256: 1d3be708604eae0e42d578ba93b390c2a145f17743a744d8f3f8c2ad5855a38a
dest: mpfr
- type: archive
url: https://ftp.gnu.org/gnu/mpc/mpc-1.1.0.tar.gz
sha256: 6985c538143c1208dcb1ac42cedad6ff52e267b47e5f970183a3e75125b43c2e
dest: mpc
- type: shell
commands:
- ln -s /usr/bin/cpp /lib/cpp
- sed -e '/m64=/s/lib64/lib/' -i.orig gcc/config/i386/t-linux64
config-opts: &gcc32
- --libexecdir=/usr/lib
- --target=i686-w64-mingw32
- --disable-dw2-exceptions
- --disable-multilib
- --disable-nls
- --enable-cloog-backend=isl
- --enable-cet=auto
- --enable-default-pie
- --enable-default-ssp
- --enable-fully-dynamic-string
- --enable-languages=c,lto,c++
- --enable-linker-build-id
- --enable-lto
- --enable-plugin
- --enable-shared
- --enable-static
- --enable-version-specific-runtime-libs
- --with-system-zlib
builddir: true
no-make-install: true
build-options:
make-args:
- all-gcc
post-install:
- make DESTDIR=/usr/tmp_gcc install-gcc
- rm -rf /usr/tmp_gcc/usr/share
- cp -rf /usr/tmp_gcc/usr /
- rm -rfv /usr/tmp_gcc /lib/cpp
cleanup-platform:
- "*"
- name: mingw-crt-pass1-32bit
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
config-opts:
- --host=i686-w64-mingw32
- --disable-lib64
- --enable-lib32
- --enable-shared
- --enable-static
- --enable-wildcard
- --prefix=/usr/i686-w64-mingw32
- CFLAGS=-fno-stack-protector
- CPPFLAGS=-fno-stack-protector
builddir: true
build-options:
make-install-args:
- DESTDIR=/usr/tmp_mingw
- install
post-install:
- rm -rf /usr/tmp_mingw/usr/share
- cp -rf /usr/tmp_mingw/usr /
- rm -rfv /usr/tmp_mingw
cleanup-platform:
- "*"
- name: mingw-gcc-32bit
sources:
- type: archive
url: https://ftp.gnu.org/gnu/gcc/gcc-8.3.0/gcc-8.3.0.tar.xz
sha256: 64baadfe6cc0f4947a84cb12d7f0dfaf45bb58b7e92461639596c21e02d97d2c
- type: archive
url: https://ftp.gnu.org/gnu/gmp/gmp-6.1.2.tar.xz
sha256: 87b565e89a9a684fe4ebeeddb8399dce2599f9c9049854ca8c0dfbdea0e21912
dest: gmp
- type: archive
url: https://ftp.gnu.org/gnu/mpfr/mpfr-4.0.2.tar.xz
sha256: 1d3be708604eae0e42d578ba93b390c2a145f17743a744d8f3f8c2ad5855a38a
dest: mpfr
- type: archive
url: https://ftp.gnu.org/gnu/mpc/mpc-1.1.0.tar.gz
sha256: 6985c538143c1208dcb1ac42cedad6ff52e267b47e5f970183a3e75125b43c2e
dest: mpc
- type: shell
commands:
- rm -rf /usr/tmp_gcc
- ln -s /usr/bin/cpp /lib/cpp
- sed -e '/m64=/s/lib64/lib/' -i.orig gcc/config/i386/t-linux64
config-opts: *gcc32
builddir: true
build-options:
make-install-args:
- DESTDIR=/usr/tmp_gcc
- install
post-install:
- rm -rf /usr/tmp_gcc/usr/share
- cp -rf /usr/tmp_gcc/usr /
- rm -rfv /usr/tmp_gcc /lib/cpp
cleanup-platform:
- "*"
- name: mingw-crt-32bit
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
config-opts:
- --host=i686-w64-mingw32
- --disable-lib64
- --enable-lib32
- --enable-shared
- --enable-static
- --enable-wildcard
- --prefix=/usr/i686-w64-mingw32
- CFLAGS=-fstack-protector
- CPPFLAGS=-fstack-protector
builddir: true
build-options:
make-install-args:
- DESTDIR=/usr/tmp_mingw
- install
post-install:
- rm -rf /usr/tmp_mingw/usr/share
- cp -rf /usr/tmp_mingw/usr /
- rm -rfv /usr/tmp_mingw
cleanup-platform:
- "*"
- name: mingw-binutils-64bit
sources:
- type: archive
url: https://ftp.gnu.org/gnu/binutils/binutils-2.32.tar.xz
sha256: 0ab6c55dd86a92ed561972ba15b9b70a8b9f75557f896446c82e8b36e473ee04
config-opts:
- --target=x86_64-w64-mingw32
- --disable-multilib
- --disable-nls
- --disable-werror
- --enable-deterministic-archives
- --enable-gold
- --enable-lto
- --enable-plugins
- --enable-relro
- --enable-static-pie
- --enable-threads
builddir: true
build-options:
make-install-args:
- DESTDIR=/usr/tmp_binutils
- install
post-install:
- rm -rf /usr/tmp_binutils/usr/share
- cp -rf /usr/tmp_binutils/usr /
- rm -rfv /usr/tmp_binutils
cleanup-platform:
- "*"
only-arches:
- x86_64
- name: mingw-headers-64bit
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
buildsystem: simple
build-commands:
- mkdir builds
- cd builds && ../mingw-w64-headers/configure
--host=x86_64-w64-mingw32
--enable-sdk=all
--enable-secure-api
--prefix=/usr/x86_64-w64-mingw32
- cd builds && make DESTDIR=/usr/tmp_mingw install
post-install:
- rm -rf /usr/tmp_mingw/usr/share
- cp -rf /usr/tmp_mingw/usr /
- rm -rfv /usr/tmp_mingw
cleanup-platform:
- "*"
only-arches:
- x86_64
- name: mingw-gcc-pass1-64bit
sources:
- type: archive
url: https://ftp.gnu.org/gnu/gcc/gcc-8.3.0/gcc-8.3.0.tar.xz
sha256: 64baadfe6cc0f4947a84cb12d7f0dfaf45bb58b7e92461639596c21e02d97d2c
- type: archive
url: https://ftp.gnu.org/gnu/gmp/gmp-6.1.2.tar.xz
sha256: 87b565e89a9a684fe4ebeeddb8399dce2599f9c9049854ca8c0dfbdea0e21912
dest: gmp
- type: archive
url: https://ftp.gnu.org/gnu/mpfr/mpfr-4.0.2.tar.xz
sha256: 1d3be708604eae0e42d578ba93b390c2a145f17743a744d8f3f8c2ad5855a38a
dest: mpfr
- type: archive
url: https://ftp.gnu.org/gnu/mpc/mpc-1.1.0.tar.gz
sha256: 6985c538143c1208dcb1ac42cedad6ff52e267b47e5f970183a3e75125b43c2e
dest: mpc
- type: shell
commands:
- ln -s /usr/bin/cpp /lib/cpp
- sed -e '/m64=/s/lib64/lib/' -i.orig gcc/config/i386/t-linux64
config-opts: &gcc64
- --libexecdir=/usr/lib
- --target=x86_64-w64-mingw32
- --disable-dw2-exceptions
- --disable-multilib
- --disable-nls
- --enable-cloog-backend=isl
- --enable-cet=auto
- --enable-default-pie
- --enable-default-ssp
- --enable-fully-dynamic-string
- --enable-languages=c,lto,c++
- --enable-linker-build-id
- --enable-lto
- --enable-plugin
- --enable-shared
- --enable-static
- --enable-version-specific-runtime-libs
- --with-system-zlib
builddir: true
no-make-install: true
build-options:
make-args:
- all-gcc
post-install:
- make DESTDIR=/usr/tmp_gcc install-gcc
- rm -rf /usr/tmp_gcc/usr/share
- cp -rf /usr/tmp_gcc/usr /
- rm -rfv /usr/tmp_gcc /lib/cpp
cleanup-platform:
- "*"
only-arches:
- x86_64
- name: mingw-crt-pass1-64bit
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
config-opts:
- --host=x86_64-w64-mingw32
- --disable-lib32
- --disable-static
- --enable-lib64
- --enable-shared
- --enable-wildcard
- --prefix=/usr/x86_64-w64-mingw32
- CFLAGS=-fno-stack-protector
- CPPFLAGS=-fno-stack-protector
builddir: true
build-options:
make-install-args:
- DESTDIR=/usr/tmp_mingw
- install
env:
PATH: "/usr/tmp_gcc64/usr/bin:/usr/bin"
post-install:
- rm -rf /usr/tmp_mingw/usr/share
- cp -rf /usr/tmp_mingw/usr /
- rm -rfv /usr/tmp_mingw
cleanup-platform:
- "*"
only-arches:
- x86_64
- name: mingw-gcc-64bit
sources:
- type: archive
url: https://ftp.gnu.org/gnu/gcc/gcc-8.3.0/gcc-8.3.0.tar.xz
sha256: 64baadfe6cc0f4947a84cb12d7f0dfaf45bb58b7e92461639596c21e02d97d2c
- type: archive
url: https://ftp.gnu.org/gnu/gmp/gmp-6.1.2.tar.xz
sha256: 87b565e89a9a684fe4ebeeddb8399dce2599f9c9049854ca8c0dfbdea0e21912
dest: gmp
- type: archive
url: https://ftp.gnu.org/gnu/mpfr/mpfr-4.0.2.tar.xz
sha256: 1d3be708604eae0e42d578ba93b390c2a145f17743a744d8f3f8c2ad5855a38a
dest: mpfr
- type: archive
url: https://ftp.gnu.org/gnu/mpc/mpc-1.1.0.tar.gz
sha256: 6985c538143c1208dcb1ac42cedad6ff52e267b47e5f970183a3e75125b43c2e
dest: mpc
- type: shell
commands:
- ln -s /usr/bin/cpp /lib/cpp
- sed -e '/m64=/s/lib64/lib/' -i.orig gcc/config/i386/t-linux64
config-opts: *gcc64
builddir: true
build-options:
make-install-args:
- DESTDIR=/usr/tmp_gcc
- install
post-install:
- rm -rf /usr/tmp_gcc/usr/share
- cp -rf /usr/tmp_gcc/usr /
- rm -rfv /usr/tmp_gcc /lib/cpp
cleanup-platform:
- "*"
only-arches:
- x86_64
- name: mingw-crt-64bit
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
config-opts:
- --host=x86_64-w64-mingw32
- --disable-lib32
- --disable-static
- --enable-lib64
- --enable-shared
- --enable-wildcard
- --prefix=/usr/x86_64-w64-mingw32
- CFLAGS=-fstack-protector
- CPPFLAGS=-fstack-protector
builddir: true
build-options:
make-install-args:
- DESTDIR=/usr/tmp_mingw
- install
env:
PATH: "/usr/tmp_gcc64/usr/bin:/usr/bin"
post-install:
- rm -rf /usr/tmp_mingw/usr/share
- cp -rf /usr/tmp_mingw/usr /
- rm -rfv /usr/tmp_mingw
cleanup-platform:
- "*"
only-arches:
- x86_64

View File

@ -0,0 +1,3 @@
name: sdk-meta
modules:
- mingw.yaml