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