WineBarrels-BasePlatforms/BasePlatform/v1/sdk/cross.yaml

200 lines
7.5 KiB
YAML

name: cross
only-arches:
- x86_64
modules:
- name: cross-binutils
sources:
- type: archive
url: https://ftp.gnu.org/gnu/binutils/binutils-2.31.tar.xz
sha256: 231036df7ef02049cdbff0681f4575e571f26ea8086cf70c2dcd3b6c0f4216bf
config-opts:
- --disable-nls
- --disable-werror
- --enable-multilib
- --enable-multiarch
- --enable-plugins
- --enable-gold
- --enable-lto
- --enable-static-pie
- --enable-64-bit-bfd
- --enable-targets=x86_64-pep
- --enable-deterministic-archives
- --enable-relro
- --enable-threads
- --with-lib-path=/usr/lib:/usr/lib32:/usr/lib/x86_64-linux-gnu:/usr/lib64:/app/lib:/app/lib32:/app/lib64
build-options:
make-install-args:
- prefix=/usr/tmp_binutils/usr
- tooldir=/usr/tmp_binutils/usr
- install
post-install:
- rm -rfv /usr/tmp_binutils/usr/share
- cp -rfv /usr/tmp_binutils/* /
- rm -rfv /usr/tmp_binutils
builddir: true
- name: cross-gmp
sources:
- type: archive
url: https://ftp.gnu.org/gnu/gmp/gmp-6.1.2.tar.xz
sha256: 87b565e89a9a684fe4ebeeddb8399dce2599f9c9049854ca8c0dfbdea0e21912
build-options:
make-install-args:
- DESTDIR=/usr/tmp_gmp
- install
post-install:
- rm -rfv /usr/tmp_gmp/usr/share
- cp -rav /usr/tmp_gmp/* /
- rm -rfv /usr/tmp_gmp
- name: cross-mpfr
sources:
- type: archive
url: https://ftp.gnu.org/gnu/mpfr/mpfr-4.0.1.tar.xz
sha256: 67874a60826303ee2fb6affc6dc0ddd3e749e9bfcb4c8655e3953d0458a6e16e
build-options:
make-install-args:
- DESTDIR=/usr/tmp_mpfr
- install
post-install:
- rm -rfv /usr/tmp_mpfr/usr/share
- cp -rav /usr/tmp_mpfr/* /
- rm -rfv /usr/tmp_mpfr
- name: cross-mpc
sources:
- type: archive
url: https://ftp.gnu.org/gnu/mpc/mpc-1.1.0.tar.gz
sha256: 6985c538143c1208dcb1ac42cedad6ff52e267b47e5f970183a3e75125b43c2e
build-options:
make-install-args:
- DESTDIR=/usr/tmp_mpc
- install
post-install:
- rm -rfv /usr/tmp_mpc/usr/share
- cp -rav /usr/tmp_mpc/* /
- rm -rfv /usr/tmp_mpc
- name: cross-gcc-pass
sources:
- type: archive
url: https://ftp.gnu.org/gnu/gcc/gcc-8.3.0/gcc-8.3.0.tar.xz
sha256: 64baadfe6cc0f4947a84cb12d7f0dfaf45bb58b7e92461639596c21e02d97d2c
- type: shell
commands:
- ln -s /usr/bin/cpp /lib/cpp
config-opts:
- --with-glibc-version=2.19
- --with-newlib
- --without-headers
- --disable-nls
- --disable-shared
- --disable-decimal-float
- --disable-threads
- --disable-libatomic
- --disable-libgomp
- --disable-libmpx
- --disable-libquadmath
- --disable-libssp
- --disable-libvtv
- --disable-libstdcxx
- --disable-bootstrap
- --enable-multilib
- --enable-languages=c,c++,lto
- CPP=/usr/bin/cpp
build-options:
make-install-args:
- DESTDIR=/usr/tmp_gcc
- install
# prefix: /usr
post-install:
- cp -rav /usr/lib64/* /usr/lib
- python3 -c "import os; import shutil; shutil.rmtree('/usr/lib64'); os.symlink('lib', '/usr/lib64')"
- rm -rfv /usr/tmp_gcc/usr/share
- cp -rafv /usr/tmp_gcc/* /
- rm -rf /usr/tmp_gcc
builddir: true
- name: cross-test1
buildsystem: simple
build.commands:
- echo "int main() { return 0; }" > test.cpp
- gcc test.cpp
- gcc -m64 test.cpp
- name: cross-glibc-32bit
sources:
- type: archive
url: https://ftp.gnu.org/gnu/glibc/glibc-2.29.tar.xz
sha256: f3eeb8d57e25ca9fc13c2af3dae97754f9f643bc69229546828e3a240e2af04b
- type: shell
commands:
- echo slibdir=/usr/lib32 >> configparms
- echo rtlddir=/usr/lib32 >> configparms
config-opts:
- --host=i686-unknown-linux
- --build=i686-unknown-linux
- --enable-kernel=3.2
- --enable-cet
- --enable-multi-arch
- --enable-stack-protector=strong
- --with-headers=/usr/include
- --libdir=/usr/lib32
- --libexecdir=/usr/lib32
- CC=/usr/bin/ccache /usr/bin/gcc -m32
- CXX=/usr/bin/ccache /usr/bin/g++ -m32
build-options:
make-install-args:
- install_root=/usr/tmp_glibc32
- install
post-install:
- rm -rfv /usr/tmp_glibc32/etc /usr/tmp_glibc32/usr/bin /usr/tmp_glibc32/usr/sbin /usr/tmp_glibc32/usr/share /usr/tmp_glibc32/var /usr/tmp_glibc32/sbin
- find "/usr/tmp_glibc32/usr/include" -type f -not -name '*-32.h' -delete
- cp -rfv /usr/tmp_glibc32/* /
- rm -rfv /usr/tmp_glibc32
- rm -v /lib/ld-linux.so.2; ln -s /usr/lib32/ld-linux.so.2 /lib/
builddir: true
- name: cross-test2
buildsystem: simple
build.commands:
- echo "int main() { return 0; }" > test.cpp
- gcc test.cpp
- gcc -m64 test.cpp
- gcc -m32 test.cpp
- name: cross-stdcpp
sources:
- type: archive
url: https://ftp.gnu.org/gnu/gcc/gcc-8.3.0/gcc-8.3.0.tar.xz
sha256: 64baadfe6cc0f4947a84cb12d7f0dfaf45bb58b7e92461639596c21e02d97d2c
buildsystem: simple
build-commands:
- mkdir build
- cd build; ../libstdc++-v3/configure --enable-multilib --disable-nls --enable-__cxa_atexit --enable-languages=c++ --enable-shared --enable-threads=posix --prefix=/usr
- cd build; make -j$FLATPAK_BUILDER_N_JOBS
- cd build; make DESTDIR=/usr/tmp_stdcpp install
- cp -rav /usr/tmp_stdcpp/usr/lib64/* /usr/lib64; rm -rfv /usr/tmp_stdcpp/usr/lib64
- rm -rav /usr/tmp_stdcpp/usr/share
- cp -rav /usr/tmp_stdcpp/* /
- rm -rfv /usr/tmp_stdcpp
- name: cross-gcc
sources:
- type: archive
url: https://ftp.gnu.org/gnu/gcc/gcc-8.3.0/gcc-8.3.0.tar.xz
sha256: 64baadfe6cc0f4947a84cb12d7f0dfaf45bb58b7e92461639596c21e02d97d2c
config-opts:
- --with-glibc-version=2.19
- --disable-nls
- --disable-bootstrap
- --enable-multilib
- --enable-languages=c,c++,lto
build-options:
make-install-args:
- DESTDIR=/usr/tmp_gcc
- install
post-install:
- rm -rfv /usr/tmp_gcc/usr/share
- cp -rfv /usr/tmp_gcc/* /
- rm -rv /usr/tmp_gcc
builddir: true
- name: cross-test3
buildsystem: simple
build.commands:
- echo "int main() { return 0; }" > test.cpp
- gcc test.cpp
- gcc -m64 test.cpp
- gcc -m32 test.cpp