name: cross only-arches: - x86_64 buildsystem: simple build-commands: - rm -v /usr/tools_gcc/usr/include /usr/tools_gcc2/usr/include modules: - name: cross-tools-binutils sources: - type: archive url: https://ftp.gnu.org/gnu/binutils/binutils-2.32.tar.xz sha256: 0ab6c55dd86a92ed561972ba15b9b70a8b9f75557f896446c82e8b36e473ee04 config-opts: - --host=x86_64-unknown-linux - --build=x86_64-unknown-linux - --target=x86_64-unknown-linux - --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-shared - --enable-ld=default - --with-system-zlib - --with-lib-path=/usr/tools/lib:/usr/target/lib32:/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/tools_ld - install builddir: true cleanup: - "*" - name: cross-tools-gcc-pass1 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: - --host=x86_64-unknown-linux - --build=x86_64-unknown-linux - --target=x86_64-unknown-linux - --with-glibc-version=2.18 - --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++ builddir: true cleanup: - "*" build-options: make-install-args: - DESTDIR=/usr/tools_gcc - install env: PATH: "/usr/tools_gcc/bin:/usr/tools_ld/bin:/usr/bin" post-install: - rm /lib/cpp - name: cross-glibc sources: - type: archive url: https://ftp.gnu.org/gnu/glibc/glibc-2.28.tar.xz sha256: b1900051afad76f7a4f73e71413df4826dce085ef8ddb785a945b66d7d513082 - type: shell commands: - echo slibdir=/usr/lib >> configparms - echo rtlddir=/usr/lib >> configparms config-opts: - --host=x86_64-unknown-linux - --build=x86_64-unknown-linux - --target=x86_64-unknown-linux - --disable-nls - --disable-werror - --disable-profile - --enable-multi-arch - --enable-cet - --with-headers=/usr/include - --libdir=/usr/lib - --libexecdir=/usr/lib - CC=/usr/bin/ccache /usr/tools_gcc/usr/bin/gcc - CPP=/usr/bin/ccache /usr/tools_gcc/usr/bin/g++ - CFLAGS=-D_FORTIFY_SOURCE=0 -O2 - CPPFLAGS=-D_FORTIFY_SOURCE=0 -O2 build-options: make-install-args: - install_root=/usr/tmp_glibc - install env: PATH: "/usr/tools_gcc/bin:/usr/tools_ld/bin:/usr/bin" post-install: - rm -rf /usr/tmp_glibc/etc /usr/tmp_glibc/usr/sbin /usr/tmp_glibc/usr/share /usr/tmp_glibc/var /usr/tmp_glibc/sbin - cp -rfv /usr/tmp_glibc/* / - rm -rf /usr/tmp_glibc builddir: true cleanup: - /usr/lib/debug - name: cross-glibc-32bit sources: - type: archive url: https://ftp.gnu.org/gnu/glibc/glibc-2.28.tar.xz sha256: b1900051afad76f7a4f73e71413df4826dce085ef8ddb785a945b66d7d513082 - type: shell commands: - echo slibdir=/usr/lib32 >> configparms - echo rtlddir=/usr/lib32 >> configparms config-opts: - --host=i686-unknown-linux - --build=i686-unknown-linux - --target=i686-unknown-linux - --enable-cet - --enable-multi-arch - --disable-werror - --disable-nls - --with-headers=/usr/include - --libdir=/usr/lib32 - --libexecdir=/usr/lib32 - CC=/usr/bin/ccache /usr/tools_gcc/usr/bin/gcc -m32 - CXX=/usr/bin/ccache /usr/tools_gcc/usr/bin/g++ -m32 - CFLAGS=-D_FORTIFY_SOURCE=0 -O2 - CPPFLAGS=-D_FORTIFY_SOURCE=0 -O2 build-options: make-install-args: - install_root=/usr/tmp_glibc32 - install env: PATH: "/usr/tools_gcc/usr/bin:/usr/tools_ld/bin:/usr/bin" 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 -rf /usr/tmp_glibc32 - rm -v /lib/ld-linux.so.2; ln -s /usr/lib32/ld-linux.so.2 /lib/ builddir: true cleanup: - /usr/lib/debug - 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 --with-headers=/usr/include --disable-nls --prefix=/usr --disable-werror "CC=/usr/bin/ccache /usr/tools_gcc/usr/bin/gcc" "CXX=/usr/bin/ccache /usr/tools_gcc/usr/bin/g++" - cd build; make -j$FLATPAK_BUILDER_N_JOBS - cd build; make DESTDIR=/usr/tmp_stdcpp install - cp -rav /usr/tmp_stdcpp/usr/lib64/* /usr/lib; cp -rav /usr/tmp_stdcpp/usr/lib64/* /usr/tmp_sysroot/usr/lib; rm -rfv /usr/tmp_stdcpp/usr/lib64 - rm -rfv /usr/tmp_stdcpp/usr/share - cp -rav /usr/tmp_stdcpp/* / - rm -rfv /usr/tmp_stdcpp build-options: env: PATH: "/usr/tools_gcc/usr/bin:/usr/tools_ld/bin:/usr/bin" - name: cross-gcc-pass2 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: gmpusr/tools_gcc/bin - 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 -rv /usr/tools_gcc/usr/include; ln -sv /usr/include /usr/tools_gcc/usr/include - sed -e '/m64=/s/lib64/lib/' -i.orig gcc/config/i386/t-linux64 config-opts: - --with-glibc-version=2.18 - --disable-nls - --disable-shared - --disable-bootstrap - --enable-multilib - --enable-languages=c,c++ - --host=x86_64-unknown-linux - --build=x86_64-unknown-linux - --target=x86_64-unknown-linux - CC=/usr/bin/ccache /usr/tools_gcc/usr/bin/gcc - CPP=/usr/bin/ccache /usr/tools_gcc/usr/bin/g++ build-options: make-install-args: - DESTDIR=/usr/tools_gcc2 - install env: PATH: "/usr/tools_gcc/usr/bin:/usr/tools_ld/bin:/usr/bin" builddir: true cleanup: - "*" - 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 - 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 -rv /usr/tools_gcc2/usr/include; ln -sv /usr/include /usr/tools_gcc2/usr/include - sed -e '/m64=/s/lib64/lib/' -i.orig gcc/config/i386/t-linux64 config-opts: - --with-glibc-version=2.18 - --disable-nls - --disable-shared - --disable-bootstrap - --enable-multilib - --enable-languages=c,c++,lto - --host=x86_64-unknown-linux - --build=x86_64-unknown-linux - --target=x86_64-unknown-linux - --enable-gnu-unique-object - --enable-linker-build-id - --enable-lto - --enable-plugin - --enable-gnu-indirect-function - --enable-default-pie - --enable-default-ssp - --enable-cet=auto - CC=/usr/bin/ccache /usr/tools_gcc2/usr/bin/gcc - CPP=/usr/bin/ccache /usr/tools_gcc2/usr/bin/g++ build-options: make-install-args: - DESTDIR=/usr/tmp_gcc - install env: PATH: "/usr/tools_gcc/usr/bin:/usr/tools_ld/bin:/usr/bin" post-install: - rm -rfv /usr/tmp_gcc/usr/share - cp -rfv /usr/tmp_gcc/* / - rm -rv /usr/tmp_gcc builddir: true - name: cross-binutils2 sources: - type: archive url: https://ftp.gnu.org/gnu/binutils/binutils-2.32.tar.xz sha256: 0ab6c55dd86a92ed561972ba15b9b70a8b9f75557f896446c82e8b36e473ee04 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: - DESTDIR=/usr/tmp_binutils - install env: PATH: "/usr/tools_ld/bin:/usr/bin" post-install: - rm -rf /usr/tmp_binutils/usr/share - cp -rf /usr/tmp_binutils/usr / - rm -rfv /usr/tmp_binutils builddir: true - name: cross-test buildsystem: simple build.commands: - echo "int main() { return 0; }" > test.cpp - gcc test.cpp - ./a.out - gcc -m64 test.cpp - ./a.out - gcc -m32 test.cpp - ./a.out