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

330 lines
12 KiB
YAML

name: cross
only-arches:
- x86_64
modules:
- name: cross-gmp
sources:
- type: archive
url: https://ftp.gnu.org/gnu/gmp/gmp-6.1.2.tar.xz
sha256: 87b565e89a9a684fe4ebeeddb8399dce2599f9c9049854ca8c0dfbdea0e21912
config-opts:
- --host=x86_64-unknown-linux
- --build=x86_64-unknown-linux
- --target=x86_64-unknown-linux
- --disable-static
- --enable-assert
- --enable-cxx
- --enable-fat
- --enable-maintainer-mode
- --enable-shared
- --with-gnu-ld
builddir: true
post-install:
- make -j$FLATPAK_BUILDER_N_JOBS check
- name: cross-mpfr
sources:
- type: archive
url: https://ftp.gnu.org/gnu/mpfr/mpfr-4.0.2.tar.xz
sha256: 1d3be708604eae0e42d578ba93b390c2a145f17743a744d8f3f8c2ad5855a38a
config-opts:
- --host=x86_64-unknown-linux
- --build=x86_64-unknown-linux
- --target=x86_64-unknown-linux
- --disable-static
- --enable-assert
- --enable-dependency-tracking
- --enable-maintainer-mode
- --enable-shared-cache
- --enable-shared
- --enable-thread-safe
- --enable-warnings
- --with-gnu-ld
builddir: true
post-install:
- make -j$FLATPAK_BUILDER_N_JOBS check
- name: cross-mpc
sources:
- type: archive
url: https://ftp.gnu.org/gnu/mpc/mpc-1.1.0.tar.gz
sha256: 6985c538143c1208dcb1ac42cedad6ff52e267b47e5f970183a3e75125b43c2e
config-opts:
- --host=x86_64-unknown-linux
- --build=x86_64-unknown-linux
- --target=x86_64-unknown-linux
- --disable-static
- --enable-dependency-tracking
- --enable-maintainer-mode
- --enable-shared
- --with-gnu-ld
builddir: true
post-install:
- make -j$FLATPAK_BUILDER_N_JOBS check
- name: cross-libs-fix1
buildsystem: simple
build-commands:
- libtool --finish /usr/lib/x86_64-linux-gnu
- name: cross-binutils
sources:
- type: archive
url: https://ftp.gnu.org/gnu/binutils/binutils-2.33.1.tar.xz
sha256: ab66fc2d1c3ec0359b8e08843c9f33b63e8707efdff5e4cc5c200eae24722cbf
config-opts:
- --host=x86_64-unknown-linux
- --build=x86_64-unknown-linux
- --target=x86_64-unknown-linux
- --disable-libdecnumber
- --disable-readline
- --disable-sim
- --disable-werror
- --enable-64-bit-bfd
- --enable-gold
- --enable-ld=default
- --enable-lto
- --enable-multiarch
- --enable-multilib
- --enable-plugins
- --enable-relro=yes
- --enable-shared
- --enable-static
- --enable-static-pie
- --enable-targets=x86_64-pep
- --with-system-zlib
- --with-lib-path=/usr/lib:/usr/lib32:/usr/lib/x86_64-linux-gnu:/usr/lib64:/app/lib:/app/lib32:/app/lib64
builddir: true
post-install:
- make -k -j$FLATPAK_BUILDER_N_JOBS check || true
- name: cross-gcc-pass1
sources: &GCC_SOURCES
- &GCC_SOURCE
type: archive
url: https://ftp.gnu.org/gnu/gcc/gcc-9.2.0/gcc-9.2.0.tar.xz
sha256: ea6ef08f121239da5695f76c9b33637a118dcf63e24164422231917fa61fb206
- type: patch
path: ./gcc.patch
- type: shell
commands:
- ln -s /usr/bin/cpp /lib/cpp
config-opts:
- --host=x86_64-unknown-linux
- --build=x86_64-unknown-linux
- --target=x86_64-unknown-linux
- --disable-bootstrap
- --disable-decimal-float
- --disable-libatomic
- --disable-libmpx
- --disable-libgomp
- --disable-libquadmath
- --disable-libstdcxx
- --disable-libssp
- --disable-libvtv
- --disable-nls
- --disable-shared
- --disable-threads
- --enable-default-pie
- --enable-default-ssp
- --enable-languages=c,c++,lto
- --enable-linker-build-id
- --enable-lto
- --enable-multilib
- --with-glibc-version=2.30
- --with-newlib
- --with-system-zlib
- --without-headers
- --without-isl
builddir: true
post-install:
- rm -v /lib/cpp
cleanup-platform: &GCC_CLEANUP_PLATFORM
- /bin
- /libexec/gcc
- /share
- name: cross-prepare-glibc
sources:
- type: archive
url: https://cdn.kernel.org/pub/linux/kernel/v5.x/linux-5.2.1.tar.xz
sha256: 3581e84e9d63298a14c147f925cd496ebb25c5a08cf065ba63c54cdee6d86506
dest: kernel_headers
buildsystem: simple
build-commands:
- cd kernel_headers; make -j$FLATPAK_BUILDER_N_JOBS mrproper
- cd kernel_headers; make -j$FLATPAK_BUILDER_N_JOBS headers_check
- cd kernel_headers; make -j$FLATPAK_BUILDER_N_JOBS INSTALL_HDR_PATH=/usr/tmp ARCH=x86_64 headers_install
- cp -rav /usr/tmp/include /usr && rm -rf /usr/tmp
- rm -v /usr/share/info/dir
- name: cross-glibc-32bit-pass1
sources: &GLIBC_SOURCE_32BIT
- type: archive
url: https://ftp.gnu.org/gnu/glibc/glibc-2.30.tar.xz
sha256: e2c4114e569afbe7edbc29131a43be833850ab9a459d81beb2588016d2bbb8af
- type: shell
commands:
- echo slibdir=/usr/lib32 >> configparms
- echo rtlddir=/usr/lib32 >> configparms
config-opts: &GLIBC_CONFIG_32BIT
- --host=i686-unknown-linux
- --build=i686-unknown-linux
- --target=i686-unknown-linux
- --disable-werror
- --enable-bind-now
- --enable-cet
- --enable-multi-arch
- --enable-shared
- --enable-stack-protector=strong
- --enable-stackguard-randomization
- --enable-static
- --enable-static-pie
- --libdir=/usr/lib32
- --libexecdir=/usr/lib32
- CC=/usr/bin/gcc -m32
- CXX=/usr/bin/g++ -m32
- CFLAGS=-D_FORTIFY_SOURCE=0 -O2
- CPPFLAGS=-D_FORTIFY_SOURCE=0 -O2
- is_selinux_enabled=false
build-options: &GLIBC_BUILD_OPTIONS_32BIT
make-install-args:
- install_root=/usr/tmp
- install
post-install: &GLIBC_POST_INSTALL_32BIT
- rm -rvf /usr/tmp/usr/bin /usr/tmp/usr/sbin /usr/tmp/usr/lib /usr/tmp/usr/share
- find "/usr/tmp/usr/include" -type f -not -name '*-32.h' -delete
- cp -rav /usr/tmp/usr/* /usr/ && rm -rf /usr/tmp
builddir: true
- name: cross-glibc-64bit-pass1
sources: &GLIBC_SOURCE_64BIT
- type: archive
url: https://ftp.gnu.org/gnu/glibc/glibc-2.30.tar.xz
sha256: e2c4114e569afbe7edbc29131a43be833850ab9a459d81beb2588016d2bbb8af
- type: shell
commands:
- echo slibdir=/usr/lib/x86_64-linux-gnu >> configparms
- echo rtlddir=/usr/lib/x86_64-linux-gnu >> configparms
- echo complocaledir=/usr/lib/locale >> configparms
config-opts: &GLIBC_CONFIG_64BIT
- --host=x86_64-unknown-linux
- --build=x86_64-unknown-linux
- --target=x86_64-unknown-linux
- --disable-werror
- --enable-bind-now
- --enable-cet
- --enable-multi-arch
- --enable-shared
- --enable-stack-protector=strong
- --enable-stackguard-randomization
- --enable-static
- --enable-static-pie
- CC=/usr/bin/gcc
- CXX=/usr/bin/g++
- CFLAGS=-D_FORTIFY_SOURCE=0 -O2
- CPPFLAGS=-D_FORTIFY_SOURCE=0 -O2
- is_selinux_enabled=false
build-options: &GLIBC_BUILD_OPTIONS_64BIT
make-install-args:
- install_root=/usr/tmp
- install
post-install: &GLIBC_POST_INSTALL_64BIT
- mv -v /usr/tmp/usr/sbin/* /usr/tmp/usr/bin && rm -rf /usr/tmp/usr/sbin
- cp -rav /usr/tmp/usr/* /usr && cp -rav /usr/tmp/etc/* /etc && rm -rf /usr/tmp
builddir: true
- name: cross-test
buildsystem: simple
build-commands: &TESTS
- echo "int main() { return 0; }" > test.c
- gcc test.c
- ./a.out
- gcc -m64 test.c
- ./a.out
- gcc -m32 test.c
- ./a.out
build-options:
env:
PATH: "/usr/tools/usr/bin:/usr/bin"
- name: cross-stdcpp-pass
sources:
- *GCC_SOURCE
- type: shell
commands:
- sed -e '/m64=/s/lib64/lib/' -i.orig gcc/config/i386/t-linux64
- echo "exec \"\$(dirname \$0)/libstdc++-v3/configure\" \"\$@\"" > configure && chmod +x configure
- ln -s /usr/bin/cpp /lib/cpp
config-opts:
- --host=x86_64-unknown-linux
- --build=x86_64-unknown-linux
- --target=x86_64-unknown-linux
- --prefix=/usr
- --disable-werror
- --enable-multilib
- --enable-shared
- --enable-static
- CC=/usr/bin/gcc
- CXX=/usr/bin/g++
builddir: true
post-install:
- make -j$FLATPAK_BUILDER_N_JOBS check
- rm -v /lib/cpp
- name: cross-gcc-pass2
sources: *GCC_SOURCES
config-opts: &GCC_CONFIG
- --host=x86_64-unknown-linux
- --build=x86_64-unknown-linux
- --target=x86_64-unknown-linux
- --enable-bootstrap
- --enable-default-pie
- --enable-default-ssp
- --enable-languages=c,c++,lto
- --enable-linker-build-id
- --enable-lto
- --enable-multiarch
- --enable-multilib
- --enable-shared
- --enable-static
- --without-isl
- CC=/usr/bin/gcc
- CXX=/usr/bin/g++
build-options: &GCC_BUILD_OPTIONS
make-install-args:
- DESTDIR=/usr/tmp
- install
builddir: true
post-install: &GCC_POST_INSTALL
- cp -rav /usr/tmp/usr/* /usr && rm -rf /usr/tmp
- make -j$FLATPAK_BUILDER_N_JOBS check || true
- rm -v /lib/cpp
cleanup-platform: *GCC_CLEANUP_PLATFORM
- name: cross-test2
buildsystem: simple
build-commands: *TESTS
- name: cross-glibc-32bit-pass2
sources: *GLIBC_SOURCE_32BIT
config-opts: *GLIBC_CONFIG_32BIT
build-options: *GLIBC_BUILD_OPTIONS_32BIT
post-install: *GLIBC_POST_INSTALL_32BIT
builddir: true
- name: cross-glibc-64bit-pass2
sources: *GLIBC_SOURCE_64BIT
config-opts: *GLIBC_CONFIG_64BIT
build-options: *GLIBC_BUILD_OPTIONS_64BIT
post-install: *GLIBC_POST_INSTALL_64BIT
builddir: true
- name: cross-gcc
sources: *GCC_SOURCES
config-opts: *GCC_CONFIG
build-options: *GCC_BUILD_OPTIONS
builddir: true
post-install: *GCC_POST_INSTALL
cleanup-platform: *GCC_CLEANUP_PLATFORM
- name: cross-glibc-32bit
sources: *GLIBC_SOURCE_32BIT
config-opts: *GLIBC_CONFIG_32BIT
build-options: *GLIBC_BUILD_OPTIONS_32BIT
post-install: *GLIBC_POST_INSTALL_32BIT
builddir: true
- name: cross-glibc-64bit
sources: *GLIBC_SOURCE_64BIT
config-opts: *GLIBC_CONFIG_64BIT
build-options: *GLIBC_BUILD_OPTIONS_64BIT
post-install: *GLIBC_POST_INSTALL_64BIT
builddir: true
- name: cross-test3
buildsystem: simple
build-commands: *TESTS