declare_options: - name: arch default: x86_64 - name: compiler default: gcc sources: - name: mlibc git: 'https://github.com/managarm/mlibc.git' branch: 'master' - name: linux url: 'https://cdn.kernel.org/pub/linux/kernel/v6.x/linux-6.14.tar.xz' extract_path: 'linux-6.14' format: 'tar.xz' version: '6.14' - name: libdrm subdir: 'ports' git: 'https://gitlab.freedesktop.org/mesa/drm.git' tag: 'libdrm-2.4.124' version: '2.4.124' tools: [] packages: - name: mlibc architecture: '@OPTION:arch@' from_source: mlibc pkgs_required: - linux-headers - libdrm-headers configure: - args: - 'meson' - 'setup' - '--prefix=/usr' - '--libdir=lib' - '--buildtype=debugoptimized' - "-Dc_args=['-Wno-error=maybe-uninitialized', '-Wno-unknown-warning-option']" - "-Dcpp_args=['-Wno-error=maybe-uninitialized', '-Wno-unknown-warning-option']" - "-Dlibgcc_dependency=false" - "-Duse_freestnd_hdrs=enabled" - "-Dbuild_tests=true" - "-Db_sanitize=undefined" - "-Ddefault_library=both" - "-Dwerror=true" - '-Dlinux_kernel_headers=@BUILD_ROOT@/packages/linux-headers/usr/include' - "--cross-file=@THIS_SOURCE_DIR@/ci/linux-@OPTION:arch@-@OPTION:compiler@.cross-file" - '@THIS_SOURCE_DIR@' environ: CFLAGS: '-Wno-error=maybe-uninitialized' CXXFLAGS: '-Wno-error=maybe-uninitialized' LDFLAGS: '-Wl,/tmp/libgcc-@OPTION:arch@.a' build: - args: ['ninja'] - args: ['ninja', 'install'] environ: DESTDIR: '@THIS_COLLECT_DIR@' quiet: true - name: mlibc-static architecture: '@OPTION:arch@' from_source: mlibc pkgs_required: - linux-headers - libdrm-headers configure: - args: - 'meson' - 'setup' - '--prefix=/usr' - '--libdir=lib' - '--buildtype=debugoptimized' - "-Dc_args=['-Wno-error=maybe-uninitialized']" - "-Dcpp_args=['-Wno-error=maybe-uninitialized']" - "-Dlibgcc_dependency=false" - "-Duse_freestnd_hdrs=enabled" - "-Dbuild_tests=true" - "-Db_sanitize=undefined" - "-Ddefault_library=static" - "-Dwerror=true" - '-Dlinux_kernel_headers=@BUILD_ROOT@/packages/linux-headers/usr/include' - "--cross-file=@THIS_SOURCE_DIR@/ci/linux-@OPTION:arch@-@OPTION:compiler@.cross-file" - '@THIS_SOURCE_DIR@' environ: LDFLAGS: '-Wl,/tmp/libgcc-@OPTION:arch@.a' build: - args: ['ninja'] - args: ['ninja', 'install'] environ: DESTDIR: '@THIS_COLLECT_DIR@' quiet: true - name: mlibc-shared from_source: mlibc pkgs_required: - linux-headers - libdrm-headers configure: - args: - 'meson' - 'setup' - '--prefix=/usr' - '--libdir=lib' - '--buildtype=debugoptimized' - "-Dc_args=['-Wno-error=maybe-uninitialized']" - "-Dcpp_args=['-Wno-error=maybe-uninitialized']" - "-Dlibgcc_dependency=false" - "-Duse_freestnd_hdrs=enabled" - "-Dbuild_tests=true" - "-Db_sanitize=undefined" - "-Ddefault_library=shared" - "-Dwerror=true" - '-Dlinux_kernel_headers=@BUILD_ROOT@/packages/linux-headers/usr/include' - "--cross-file=@THIS_SOURCE_DIR@/ci/linux-@OPTION:arch@-@OPTION:compiler@.cross-file" - '@THIS_SOURCE_DIR@' environ: LDFLAGS: '-Wl,/tmp/libgcc-@OPTION:arch@.a' build: - args: ['ninja'] - args: ['ninja', 'install'] environ: DESTDIR: '@THIS_COLLECT_DIR@' quiet: true - name: mlibc-ansi-only architecture: '@OPTION:arch@' from_source: mlibc pkgs_required: - linux-headers - libdrm-headers configure: - args: - 'meson' - 'setup' - '--prefix=/usr' - '--libdir=lib' - '--buildtype=debugoptimized' - "-Dc_args=['-Wno-error=maybe-uninitialized']" - "-Dcpp_args=['-Wno-error=maybe-uninitialized']" - "-Dlibgcc_dependency=false" - "-Duse_freestnd_hdrs=enabled" - "-Dbuild_tests=true" - "-Db_sanitize=undefined" - "-Ddefault_library=both" - "-Dwerror=true" - "-Dposix_option=disabled" - "-Dlinux_option=disabled" - "-Dglibc_option=disabled" - "-Dbsd_option=disabled" - '-Dlinux_kernel_headers=@BUILD_ROOT@/packages/linux-headers/usr/include' - "--cross-file=@THIS_SOURCE_DIR@/ci/linux-@OPTION:arch@-@OPTION:compiler@.cross-file" - '@THIS_SOURCE_DIR@' environ: LDFLAGS: '-Wl,/tmp/libgcc-@OPTION:arch@.a' build: - args: ['ninja'] - args: ['ninja', 'install'] environ: DESTDIR: '@THIS_COLLECT_DIR@' quiet: true - name: mlibc-headers-only architecture: '@OPTION:arch@' from_source: mlibc pkgs_required: - linux-headers - libdrm-headers configure: - args: - 'meson' - 'setup' - '--prefix=/usr' - '--libdir=lib' - '--buildtype=debugoptimized' - "-Dc_args=['-Wno-error=maybe-uninitialized']" - "-Dcpp_args=['-Wno-error=maybe-uninitialized']" - "-Dlibgcc_dependency=false" - "-Duse_freestnd_hdrs=enabled" - "-Db_sanitize=undefined" - "-Dwerror=true" - "-Dheaders_only=true" - '-Dlinux_kernel_headers=@BUILD_ROOT@/packages/linux-headers/usr/include' - "--cross-file=@THIS_SOURCE_DIR@/ci/linux-@OPTION:arch@-@OPTION:compiler@.cross-file" - '@THIS_SOURCE_DIR@' environ: LDFLAGS: '-Wl,/tmp/libgcc-@OPTION:arch@.a' build: - args: ['ninja'] - args: ['ninja', 'install'] environ: DESTDIR: '@THIS_COLLECT_DIR@' quiet: true - name: linux-headers architecture: '@OPTION:arch@' from_source: linux configure: # custom build system requires in tree-ish builds - args: ['cp', '-Tr', '@THIS_SOURCE_DIR@/', '.'] build: - args: | LINUX_ARCH="@OPTION:arch@" case "$LINUX_ARCH" in "aarch64") LINUX_ARCH="arm64" ;; "riscv64") LINUX_ARCH="riscv" ;; "loongarch64") LINUX_ARCH="loongarch" ;; esac make O=@THIS_COLLECT_DIR@ ARCH="$LINUX_ARCH" headers_install - name: libdrm-headers architecture: '@OPTION:arch@' from_source: 'libdrm' build: - args: ['mkdir', '-p', '@THIS_COLLECT_DIR@/usr/src/libdrm-headers'] - args: | cat << EOF > @THIS_COLLECT_DIR@/usr/src/libdrm-headers/meson.build project('libdrm-headers') libdrm_dep = declare_dependency(include_directories: include_directories('include')) EOF - args: ['cp', '-r', '@THIS_SOURCE_DIR@/include', '@THIS_COLLECT_DIR@/usr/src/libdrm-headers/include']