200 lines
7.5 KiB
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
|