From 62fd4aac2527038de8906e2e7aa2c8cfd18b383d Mon Sep 17 00:00:00 2001 From: Marko Semet Date: Sat, 31 Aug 2019 21:40:57 +0200 Subject: [PATCH] Support mingw in platform --- Platform/v1.0/README.md | 21 ++ Platform/v1.0/Sdk-i386.yaml | 1 + Platform/v1.0/Sdk-x86_64.yaml | 1 + Platform/v1.0/sdk/mingw.yaml | 392 ++++++++++++++++++++++++++++++++++ Platform/v1.0/sdk/sdk.yaml | 3 + 5 files changed, 418 insertions(+) create mode 100644 Platform/v1.0/README.md create mode 100644 Platform/v1.0/sdk/mingw.yaml create mode 100644 Platform/v1.0/sdk/sdk.yaml diff --git a/Platform/v1.0/README.md b/Platform/v1.0/README.md new file mode 100644 index 0000000..da02a7a --- /dev/null +++ b/Platform/v1.0/README.md @@ -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) diff --git a/Platform/v1.0/Sdk-i386.yaml b/Platform/v1.0/Sdk-i386.yaml index cf1933c..ea25060 100644 --- a/Platform/v1.0/Sdk-i386.yaml +++ b/Platform/v1.0/Sdk-i386.yaml @@ -35,6 +35,7 @@ modules: skip-arches: - "i386" - platform/platform.yaml + - sdk/sdk.yaml cleanup: - /lib/debug diff --git a/Platform/v1.0/Sdk-x86_64.yaml b/Platform/v1.0/Sdk-x86_64.yaml index 0a9c26e..a744267 100644 --- a/Platform/v1.0/Sdk-x86_64.yaml +++ b/Platform/v1.0/Sdk-x86_64.yaml @@ -36,6 +36,7 @@ modules: skip-arches: - x86_64 - platform/platform.yaml + - sdk/sdk.yaml cleanup: - /lib/debug diff --git a/Platform/v1.0/sdk/mingw.yaml b/Platform/v1.0/sdk/mingw.yaml new file mode 100644 index 0000000..2526c9d --- /dev/null +++ b/Platform/v1.0/sdk/mingw.yaml @@ -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 diff --git a/Platform/v1.0/sdk/sdk.yaml b/Platform/v1.0/sdk/sdk.yaml new file mode 100644 index 0000000..a813ec8 --- /dev/null +++ b/Platform/v1.0/sdk/sdk.yaml @@ -0,0 +1,3 @@ +name: sdk-meta +modules: + - mingw.yaml