Full Code of BtbN/FFmpeg-Builds for AI

master ce469baf2b1a cached
261 files
443.0 KB
160.2k tokens
1 requests
Download .txt
Showing preview only (496K chars total). Download the full file or copy to clipboard to get everything.
Repository: BtbN/FFmpeg-Builds
Branch: master
Commit: ce469baf2b1a
Files: 261
Total size: 443.0 KB

Directory structure:
gitextract_szejd5_7/

├── .github/
│   ├── buildkit.toml
│   ├── dependabot.yml
│   └── workflows/
│       ├── build.yml
│       └── pr.yml
├── .gitignore
├── LICENSE
├── README.md
├── addins/
│   ├── 4.3.sh
│   ├── 4.4.sh
│   ├── 5.0.sh
│   ├── 5.1.sh
│   ├── 6.0.sh
│   ├── 6.1.sh
│   ├── 7.0.sh
│   ├── 7.1.sh
│   ├── 8.0.sh
│   ├── debug.sh
│   └── lto.sh
├── build.sh
├── download.sh
├── generate.sh
├── images/
│   ├── base/
│   │   ├── Dockerfile
│   │   ├── check-wget.sh
│   │   ├── git-mini-clone.sh
│   │   └── retry-tool.sh
│   ├── base-linux32/
│   │   ├── Dockerfile
│   │   ├── cross.meson
│   │   ├── ct-ng-config
│   │   ├── gen-implib.sh
│   │   └── toolchain.cmake
│   ├── base-linux64/
│   │   ├── Dockerfile
│   │   ├── cross.meson
│   │   ├── ct-ng-config
│   │   ├── gen-implib.sh
│   │   └── toolchain.cmake
│   ├── base-linuxarm64/
│   │   ├── Dockerfile
│   │   ├── cross.meson
│   │   ├── ct-ng-config
│   │   ├── gen-implib.sh
│   │   └── toolchain.cmake
│   ├── base-linuxmips64/
│   │   ├── Dockerfile
│   │   ├── cross.meson
│   │   ├── ct-ng-config
│   │   ├── gen-implib.sh
│   │   └── toolchain.cmake
│   ├── base-linuxppc64/
│   │   ├── Dockerfile
│   │   ├── cross.meson
│   │   ├── ct-ng-config
│   │   ├── gen-implib.sh
│   │   └── toolchain.cmake
│   ├── base-linuxriscv64/
│   │   ├── Dockerfile
│   │   ├── cross.meson
│   │   ├── ct-ng-config
│   │   ├── gen-implib.sh
│   │   └── toolchain.cmake
│   ├── base-win32/
│   │   ├── Dockerfile
│   │   ├── cross.meson
│   │   ├── ct-ng-config
│   │   └── toolchain.cmake
│   ├── base-win64/
│   │   ├── Dockerfile
│   │   ├── cross.meson
│   │   ├── ct-ng-config
│   │   └── toolchain.cmake
│   └── base-winarm64/
│       ├── Dockerfile
│       ├── cross.meson
│       └── toolchain.cmake
├── makeimage.sh
├── patches/
│   ├── aom/
│   │   └── 0001-Fall-back-to-built-in-vmaf-model-on-load-failure.patch
│   └── aribb24/
│       ├── 12.patch
│       ├── 13.patch
│       └── 17.patch
├── scripts.d/
│   ├── 10-mingw-std-threads.sh
│   ├── 10-mingw.sh
│   ├── 10-xorg-macros.sh
│   ├── 15-base.sh
│   ├── 20-libiconv.sh
│   ├── 20-zlib.sh
│   ├── 25-fftw3.sh
│   ├── 25-fribidi.sh
│   ├── 25-gmp.sh
│   ├── 25-libogg.sh
│   ├── 25-libxml2.sh
│   ├── 25-openssl.sh
│   ├── 25-xz.sh
│   ├── 45-fonts/
│   │   ├── 25-freetype.sh
│   │   ├── 35-fontconfig.sh
│   │   ├── 45-harfbuzz.sh
│   │   └── 50-freetype.sh
│   ├── 45-libsamplerate.sh
│   ├── 45-libudfread.sh
│   ├── 45-libunibreak.sh
│   ├── 45-libvorbis.sh
│   ├── 45-opencl.sh
│   ├── 45-pulseaudio.sh
│   ├── 45-vmaf.sh
│   ├── 45-x11/
│   │   ├── 10-xcbproto.sh
│   │   ├── 10-xproto.sh
│   │   ├── 10-xtrans.sh
│   │   ├── 20-libxau.sh
│   │   ├── 30-libxcb.sh
│   │   ├── 40-libx11.sh
│   │   ├── 50-libxext.sh
│   │   ├── 50-libxfixes.sh
│   │   ├── 50-libxi.sh
│   │   ├── 50-libxinerama.sh
│   │   ├── 50-libxrender.sh
│   │   ├── 50-libxscrnsaver.sh
│   │   ├── 50-libxxf86vm.sh
│   │   ├── 60-libglvnd.sh
│   │   ├── 60-libxcursor.sh
│   │   ├── 60-libxrandr.sh
│   │   ├── 60-libxv.sh
│   │   └── 99-finalize.sh
│   ├── 47-vulkan/
│   │   ├── 40-vulkan-headers.sh
│   │   ├── 45-vulkan-loader.sh
│   │   ├── 50-shaderc.sh
│   │   ├── 55-spirv-cross.sh
│   │   └── 99-enable.sh
│   ├── 50-amf.sh
│   ├── 50-aom.sh
│   ├── 50-aribb24/
│   │   ├── 25-libpng.sh
│   │   └── 50-libaribb24.sh
│   ├── 50-avisynth.sh
│   ├── 50-chromaprint.sh
│   ├── 50-dav1d.sh
│   ├── 50-davs2.sh
│   ├── 50-dvd/
│   │   ├── 30-libdvdcss.sh
│   │   ├── 40-libdvdread.sh
│   │   └── 50-libdvdnav.sh
│   ├── 50-fdk-aac.sh
│   ├── 50-ffnvcodec.sh
│   ├── 50-frei0r.sh
│   ├── 50-gme.sh
│   ├── 50-kvazaar.sh
│   ├── 50-lcevcdec.sh
│   ├── 50-libaribcaption.sh
│   ├── 50-libass.sh
│   ├── 50-libbluray.sh
│   ├── 50-libjxl/
│   │   ├── 45-brotli.sh
│   │   ├── 45-lcms2.sh
│   │   └── 50-libjxl.sh
│   ├── 50-libmp3lame.sh
│   ├── 50-libopus.sh
│   ├── 50-libplacebo.sh
│   ├── 50-librist/
│   │   ├── 40-mbedtls.sh
│   │   └── 50-librist.sh
│   ├── 50-libssh.sh
│   ├── 50-libtheora.sh
│   ├── 50-libvpx.sh
│   ├── 50-libwebp.sh
│   ├── 50-libzmq.sh
│   ├── 50-lilv/
│   │   ├── 96-lv2.sh
│   │   ├── 96-serd.sh
│   │   ├── 96-zix.sh
│   │   ├── 97-sord.sh
│   │   ├── 98-sratom.sh
│   │   └── 99-lilv.sh
│   ├── 50-onevpl.sh
│   ├── 50-openal.sh
│   ├── 50-openapv.sh
│   ├── 50-opencore-amr.sh
│   ├── 50-openh264.sh
│   ├── 50-openjpeg.sh
│   ├── 50-openmpt.sh
│   ├── 50-rav1e.sh
│   ├── 50-rubberband.sh
│   ├── 50-schannel.sh
│   ├── 50-sdl.sh
│   ├── 50-snappy.sh
│   ├── 50-soxr.sh
│   ├── 50-srt.sh
│   ├── 50-svtav1.sh
│   ├── 50-twolame.sh
│   ├── 50-uavs3d.sh
│   ├── 50-vaapi/
│   │   ├── 30-libpciaccess.sh
│   │   ├── 40-libdrm.sh
│   │   ├── 50-libva.sh
│   │   └── 99-finalize.sh
│   ├── 50-vidstab.sh
│   ├── 50-vvenc.sh
│   ├── 50-whisper.sh
│   ├── 50-x264.sh
│   ├── 50-x265.sh
│   ├── 50-xavs2.sh
│   ├── 50-xvid.sh
│   ├── 50-zimg.sh
│   ├── 50-zvbi.sh
│   ├── 99-rpath.sh
│   └── zz-final.sh
├── util/
│   ├── clean_cache.sh
│   ├── dl_functions.sh
│   ├── get_dl_cache_tag.sh
│   ├── prunetags.sh
│   ├── repack_latest.sh
│   ├── run_stage.sh
│   ├── update_scripts.sh
│   ├── update_wiki.sh
│   └── vars.sh
└── variants/
    ├── defaults-gpl-shared.sh
    ├── defaults-gpl.sh
    ├── defaults-lgpl-shared.sh
    ├── defaults-lgpl.sh
    ├── dl-only.sh
    ├── linux-install-shared.sh
    ├── linux-install-static.sh
    ├── linux32-gpl-shared.sh
    ├── linux32-gpl.sh
    ├── linux32-lgpl-shared.sh
    ├── linux32-lgpl.sh
    ├── linux32-nonfree-shared.sh
    ├── linux32-nonfree.sh
    ├── linux64-gpl-shared.sh
    ├── linux64-gpl.sh
    ├── linux64-lgpl-shared.sh
    ├── linux64-lgpl.sh
    ├── linux64-nonfree-shared.sh
    ├── linux64-nonfree.sh
    ├── linuxarm64-gpl-shared.sh
    ├── linuxarm64-gpl.sh
    ├── linuxarm64-lgpl-shared.sh
    ├── linuxarm64-lgpl.sh
    ├── linuxarm64-nonfree-shared.sh
    ├── linuxarm64-nonfree.sh
    ├── linuxmips64-gpl-shared.sh
    ├── linuxmips64-gpl.sh
    ├── linuxmips64-lgpl-shared.sh
    ├── linuxmips64-lgpl.sh
    ├── linuxmips64-nonfree-shared.sh
    ├── linuxmips64-nonfree.sh
    ├── linuxppc64-gpl-shared.sh
    ├── linuxppc64-gpl.sh
    ├── linuxppc64-lgpl-shared.sh
    ├── linuxppc64-lgpl.sh
    ├── linuxppc64-nonfree-shared.sh
    ├── linuxppc64-nonfree.sh
    ├── linuxriscv64-gpl-shared.sh
    ├── linuxriscv64-gpl.sh
    ├── linuxriscv64-lgpl-shared.sh
    ├── linuxriscv64-lgpl.sh
    ├── linuxriscv64-nonfree-shared.sh
    ├── linuxriscv64-nonfree.sh
    ├── win32-gpl-shared.sh
    ├── win32-gpl.sh
    ├── win32-lgpl-shared.sh
    ├── win32-lgpl.sh
    ├── win32-nonfree-shared.sh
    ├── win32-nonfree.sh
    ├── win64-gpl-shared.sh
    ├── win64-gpl.sh
    ├── win64-lgpl-shared.sh
    ├── win64-lgpl.sh
    ├── win64-nonfree-shared.sh
    ├── win64-nonfree.sh
    ├── winarm64-gpl-shared.sh
    ├── winarm64-gpl.sh
    ├── winarm64-lgpl-shared.sh
    ├── winarm64-lgpl.sh
    ├── winarm64-nonfree-shared.sh
    ├── winarm64-nonfree.sh
    ├── windows-install-shared.sh
    └── windows-install-static.sh

================================================
FILE CONTENTS
================================================

================================================
FILE: .github/buildkit.toml
================================================
[worker.oci]
  max-parallelism = 2


================================================
FILE: .github/dependabot.yml
================================================
version: 2
updates:
  - package-ecosystem: "github-actions"
    directory: "/"
    schedule:
      interval: "weekly"


================================================
FILE: .github/workflows/build.yml
================================================
name: Build FFmpeg

on:
  push:
    paths-ignore:
      - '**.md'
      - 'LICENSE'
  workflow_dispatch:
    inputs:
      doRelease:
        description: 'Publish new release'
        type: boolean
        default: false
        required: false
      buildOnly:
        description: 'Only build ffmpeg'
        type: boolean
        default: false
        required: false
  schedule:
    - cron: '0 12 * * *'

env:
  DOCKER_BUILDKIT: 1

jobs:
  pre_check:
    name: Pre Checks
    if: ${{ github.event.inputs.buildOnly != 'true' }}
    runs-on: ubuntu-latest
    steps:
      - name: Repo Check
        if: ${{ github.event_name == 'schedule' }}
        run: |
          if [[ "$GITHUB_REPOSITORY" != "BtbN/FFmpeg-Builds" ]]; then
            echo "When forking this repository to make your own builds, you have to adjust this check."
            echo "When doing so make sure to randomize the scheduled cron time above, in order to spread out the various build times as much as possible."
            echo "This has been put in place due to the enormous amounts of traffic hundreds/thousands of parallel builds can cause on external infrastructure."
            # Set Github job summary (see https://docs.github.com/en/actions/writing-workflows/choosing-what-your-workflow-does/workflow-commands-for-github-actions#adding-a-job-summary):
            echo "# To enable scheduled builds, please make the following 2 edits to [.github/workflows/build.yml](https://github.com/$GITHUB_REPOSITORY/edit/$GITHUB_REF_NAME/.github/workflows/build.yml):" >> "$GITHUB_STEP_SUMMARY"
            echo '1. **IMPORTANT:** Change the 2 numbers on the `cron:` line. The first number must be between 0 and 59, and the second must be between 0 and 23.' >> "$GITHUB_STEP_SUMMARY"
            echo '2. Use `find and replace` (ctrl+f) to replace `BtbN/FFmpeg-Builds` with your repository name' >> "$GITHUB_STEP_SUMMARY"
            echo  >> "$GITHUB_STEP_SUMMARY" # adds blank line to markdown
            echo "This safeguard exists to  avoid overwhelming important open-source infrastructure (see https://github.com/BtbN/FFmpeg-Builds/issues/278)" >> "$GITHUB_STEP_SUMMARY"
            exit 1
          fi
          exit 0
  build_base:
    name: Build base image
    if: ${{ github.event.inputs.buildOnly != 'true' }}
    needs: pre_check
    strategy:
      fail-fast: false
      matrix:
        runner: [ubuntu-latest,ubuntu-24.04-arm]
    runs-on: ${{ matrix.runner }}
    steps:
      - name: Free Disk-Space
        run: df -h && sudo apt-get clean && docker system prune -a -f && sudo rm -rf /opt/ghc /usr/local/.ghcup /usr/local/lib/android && df -h
      - name: Checkout
        uses: actions/checkout@v6
      - name: Install buildx
        uses: docker/setup-buildx-action@v4
        with:
          buildkitd-config: .github/buildkit.toml
      - name: Login to Docker
        uses: docker/login-action@v4
        with:
          registry: ghcr.io
          username: ${{ github.actor }}
          password: ${{ github.token }}
      - name: Image Name
        id: imagename
        run: |
          IMG="${GITHUB_REPOSITORY,,}/base"
          IMG="${IMG// /-}"
          echo "name=ghcr.io/${IMG}" >> $GITHUB_OUTPUT
          echo "rawname=${IMG#*/}" >> $GITHUB_OUTPUT
      - name: Stop Commands
        run: T="$(echo -n ${{ github.token }} | sha256sum | head -c 64)" && echo -e "::add-mask::${T}\n::stop-commands::${T}"
      - name: Build target base image
        uses: docker/build-push-action@v7
        with:
          context: images/base
          pull: true
          push: true
          provenance: false
          tags: ${{ steps.imagename.outputs.name }}:latest${{ (contains(matrix.runner, 'arm') && '-arm') || '' }}
          cache-to: type=registry,mode=max,ref=${{ steps.imagename.outputs.name }}:cache${{ (contains(matrix.runner, 'arm') && '-arm') || '' }}
          cache-from: type=registry,ref=${{ steps.imagename.outputs.name }}:cache${{ (contains(matrix.runner, 'arm') && '-arm') || '' }}
      - name: Get download cache key
        if: ${{ !cancelled() && !contains(matrix.runner, 'arm') }}
        id: dl_cache
        run: |
          echo "dltagname=$(./util/get_dl_cache_tag.sh)" >> $GITHUB_OUTPUT
      - name: Cache
        if: ${{ !cancelled() && !contains(matrix.runner, 'arm') }}
        uses: actions/cache@v5
        with:
          path: .cache/downloads
          key: download-cache-${{ steps.dl_cache.outputs.dltagname }}
          restore-keys: |
            download-cache-
      - name: Update Cache
        if: ${{ !cancelled() && !contains(matrix.runner, 'arm') }}
        run: |
          set -e
          ./download.sh
          ./util/clean_cache.sh
          tar czf .cache/cache.tar.gz .cache/downloads/*
      - name: Upload cache artifact
        if: ${{ !cancelled() && !contains(matrix.runner, 'arm') }}
        uses: actions/upload-artifact@v7
        with:
          name: download-cache
          overwrite: true
          path: .cache/cache.tar.gz
      - name: Cleanup
        continue-on-error: true
        uses: BtbN/delete-untagged-ghcr-action@main
        with:
          token: ${{ github.token }}
          package_name: ${{ steps.imagename.outputs.rawname }}
          repository_owner: ${{ github.repository_owner }}
          repository: ${{ github.repository }}
          owner_type: user
          untagged_only: true
  build_target_bases:
    name: Build target base image
    if: ${{ github.event.inputs.buildOnly != 'true' }}
    needs: build_base
    runs-on: ubuntu-latest
    strategy:
      fail-fast: false
      matrix:
        target: [win32,win64,winarm64,linux32,linux64,linuxarm64,linuxppc64,linuxmips64,linuxriscv64]
    steps:
      - name: Free Disk-Space
        run: df -h && sudo apt-get clean && docker system prune -a -f && sudo rm -rf /opt/ghc /usr/local/.ghcup /usr/local/lib/android && df -h
      - name: Checkout
        uses: actions/checkout@v6
      - name: Install buildx
        uses: docker/setup-buildx-action@v4
        with:
          buildkitd-config: .github/buildkit.toml
      - name: Login to Docker
        uses: docker/login-action@v4
        with:
          registry: ghcr.io
          username: ${{ github.actor }}
          password: ${{ github.token }}
      - name: Image Name
        id: imagename
        run: |
          IMG="${GITHUB_REPOSITORY,,}/base-${{ matrix.target }}"
          IMG="${IMG// /-}"
          echo "name=ghcr.io/${IMG}" >> $GITHUB_OUTPUT
          echo "rawname=${IMG#*/}" >> $GITHUB_OUTPUT
          echo "gh_repo=${GITHUB_REPOSITORY,,}" >> $GITHUB_OUTPUT
      - name: Stop Commands
        run: T="$(echo -n ${{ github.token }} | sha256sum | head -c 64)" && echo -e "::add-mask::${T}\n::stop-commands::${T}"
      - name: Build target base image
        uses: docker/build-push-action@v7
        with:
          context: images/base-${{ matrix.target }}
          pull: true
          push: true
          provenance: false
          tags: ${{ steps.imagename.outputs.name }}:latest
          cache-to: type=registry,mode=max,ref=${{ steps.imagename.outputs.name }}:cache
          cache-from: type=registry,ref=${{ steps.imagename.outputs.name }}:cache
          build-args: |
            GH_REPO=ghcr.io/${{ steps.imagename.outputs.gh_repo }}
      - name: Cleanup
        continue-on-error: true
        uses: BtbN/delete-untagged-ghcr-action@main
        with:
          token: ${{ github.token }}
          package_name: ${{ steps.imagename.outputs.rawname }}
          repository_owner: ${{ github.repository_owner }}
          repository: ${{ github.repository }}
          owner_type: user
          untagged_only: true
  build_targets:
    name: Build target-variant image
    if: ${{ github.event.inputs.buildOnly != 'true' }}
    needs: build_target_bases
    runs-on: ubuntu-latest
    strategy:
      fail-fast: false
      matrix:
        target: [win64,winarm64,linux64,linuxarm64]
        variant: [gpl,lgpl,gpl 8.0,gpl 7.1,lgpl 8.0,lgpl 7.1,gpl-shared,lgpl-shared,gpl-shared 8.0,gpl-shared 7.1,lgpl-shared 8.0,lgpl-shared 7.1]
        include:
          - target: win64
            variant: gpl 7.0
          - target: win64
            variant: gpl 6.1
          - target: win64
            variant: gpl 6.0
          - target: win64
            variant: gpl 5.1
          - target: win64
            variant: gpl 5.0
          - target: win64
            variant: gpl 4.4
          - target: win64
            variant: gpl 4.3
    steps:
      - name: Free Disk-Space
        run: df -h && sudo apt-get clean && docker system prune -a -f && sudo rm -rf /opt/ghc /usr/local/.ghcup /usr/local/lib/android && df -h
      - name: Checkout
        uses: actions/checkout@v6
      - name: Install buildx
        uses: docker/setup-buildx-action@v4
        with:
          buildkitd-config: .github/buildkit.toml
      - name: Login to Docker
        uses: docker/login-action@v4
        with:
          registry: ghcr.io
          username: ${{ github.actor }}
          password: ${{ github.token }}
      - name: Image Name
        id: imagename
        run: |
          IMG="${GITHUB_REPOSITORY,,}/${{ matrix.target }}-${{ matrix.variant }}"
          IMG="${IMG// /-}"
          echo "name=ghcr.io/${IMG}" >> $GITHUB_OUTPUT
          echo "rawname=${IMG#*/}" >> $GITHUB_OUTPUT
      - name: Get download cache key
        id: dl_cache
        run: |
          echo "dltagname=$(./util/get_dl_cache_tag.sh)" >> $GITHUB_OUTPUT
      - name: Stop Commands
        run: T="$(echo -n ${{ github.token }} | sha256sum | head -c 64)" && echo -e "::add-mask::${T}\n::stop-commands::${T}"
      - name: Generate Dockerfile
        run: ./generate.sh ${{ matrix.target }} ${{ matrix.variant }}
      - name: Cache
        uses: actions/cache/restore@v5
        with:
          path: .cache/downloads
          key: download-cache-${{ steps.dl_cache.outputs.dltagname }}
          fail-on-cache-miss: true
      - name: Build target base image
        uses: docker/build-push-action@v7
        with:
          context: .
          pull: true
          push: true
          provenance: false
          tags: ${{ steps.imagename.outputs.name }}:latest
          cache-to: type=registry,mode=max,ref=${{ steps.imagename.outputs.name }}:cache
          cache-from: type=registry,ref=${{ steps.imagename.outputs.name }}:cache
      - name: Cleanup
        continue-on-error: true
        uses: BtbN/delete-untagged-ghcr-action@main
        with:
          token: ${{ github.token }}
          package_name: ${{ steps.imagename.outputs.rawname }}
          repository_owner: ${{ github.repository_owner }}
          repository: ${{ github.repository }}
          owner_type: user
          untagged_only: true
  build_ffmpeg:
    name: Build ffmpeg
    if: ${{ ( github.event.inputs.buildOnly == 'true' && !cancelled() ) || success() }}
    needs: build_targets
    runs-on: ubuntu-latest
    strategy:
      fail-fast: false
      matrix:
        target: [win64,winarm64,linux64,linuxarm64]
        variant: [gpl,lgpl,gpl 8.0,gpl 7.1,lgpl 8.0,lgpl 7.1,gpl-shared,lgpl-shared,gpl-shared 8.0,gpl-shared 7.1,lgpl-shared 8.0,lgpl-shared 7.1]
    steps:
      - name: Free Disk-Space
        run: df -h && sudo apt-get clean && docker system prune -a -f && sudo rm -rf /opt/ghc /usr/local/.ghcup /usr/local/lib/android && df -h
      - name: Checkout
        uses: actions/checkout@v6
      - name: Login to Docker
        uses: docker/login-action@v4
        with:
          registry: ghcr.io
          username: ${{ github.actor }}
          password: ${{ github.token }}
      - name: Build ffmpeg
        run: |
          T="$(echo -n ${{ github.token }} | sha256sum | head -c 64)" && echo -e "::add-mask::${T}\n::stop-commands::${T}"
          ./build.sh ${{ matrix.target }} ${{ matrix.variant }}
      - name: Replace spaces in string
        id: strs
        run: |
          SLUG="${{ matrix.target }}-${{ matrix.variant }}"
          echo "artifact_slug=${SLUG// /-}" >> $GITHUB_OUTPUT
      - name: Upload artifacts
        uses: actions/upload-artifact@v7
        with:
          name: ffmpeg-${{ steps.strs.outputs.artifact_slug }}
          overwrite: true
          path: artifacts/*
  publish_release:
    name: Publish release
    if: ${{ !cancelled() && ( github.event_name == 'schedule' || github.event.inputs.doRelease == 'true' ) && needs.build_ffmpeg.result == 'success' }}
    needs: build_ffmpeg
    runs-on: ubuntu-latest
    steps:
      - name: Free Disk-Space
        run: df -h && sudo apt-get clean && docker system prune -a -f && sudo rm -rf /opt/ghc /usr/local/.ghcup /usr/local/lib/android && df -h
      - name: Checkout
        uses: actions/checkout@v6
      - name: Download artifacts
        uses: actions/download-artifact@v8
        with:
          pattern: ffmpeg-*
          merge-multiple: true
          path: artifacts
      - name: Create release
        id: create_release
        run: |
          set -xe
          shopt -s nullglob
          RELDATE="$(date +'%Y-%m-%d %H:%M')"
          NAME="Auto-Build $RELDATE"
          TAGNAME="autobuild-$(date +'%Y-%m-%d-%H-%M')"
          (cd artifacts && sha256sum *.{zip,tar.xz} > checksums.sha256)
          gh release create "$TAGNAME" --target "master" --title "$NAME" artifacts/*.{zip,tar.xz} artifacts/checksums.*
          echo "tag_name=${TAGNAME}" >> $GITHUB_OUTPUT
          echo "rel_date=${RELDATE}" >> $GITHUB_OUTPUT
        env:
          GITHUB_TOKEN: ${{ github.token }}
      - name: Update Latest
        run: |
          set -xe
          shopt -s nullglob
          mkdir latest_artifacts
          ./util/repack_latest.sh latest_artifacts artifacts/*.{zip,tar.xz}
          (cd latest_artifacts && sha256sum *.{zip,tar.xz} > checksums.sha256)
          NAME="Latest Auto-Build (${{ steps.create_release.outputs.rel_date }})"
          TAGNAME="latest"
          gh release delete --cleanup-tag --yes "$TAGNAME" || true
          sleep 15
          gh release create "$TAGNAME" --target "master" --title "$NAME" latest_artifacts/*
        env:
          GITHUB_TOKEN: ${{ github.token }}
      - name: Update Wiki
        run: ./util/update_wiki.sh artifacts ${{ steps.create_release.outputs.tag_name }}
        env:
          GITHUB_TOKEN: ${{ github.token }}
      - name: Prune old releases
        run: ./util/prunetags.sh
        env:
          GITHUB_TOKEN: ${{ github.token }}


================================================
FILE: .github/workflows/pr.yml
================================================
name: Test Full Build
on:
  pull_request:
    branches:
      - master
    paths-ignore:
      - '**.md'
      - 'LICENSE'

env:
  DOCKER_BUILDKIT: 1

jobs:
  build:
    name: Test Full Build
    runs-on: ubuntu-24.04
    strategy:
      fail-fast: false
      matrix:
        target: [win64,linux64,linuxarm64]
        variant: [lgpl,gpl 6.1,gpl 8.0,lgpl 6.1,lgpl 8.0,gpl-shared,lgpl-shared,gpl-shared 6.1,gpl-shared 8.0,lgpl-shared 6.1,lgpl-shared 8.0]
        quickbuild: [1]
        include:
          - target: win64
            variant: gpl
            quickbuild: ''
          - target: linux64
            variant: gpl
            quickbuild: ''
          - target: linuxarm64
            variant: gpl
            quickbuild: ''
    steps:
      - name: Free Disk-Space
        run: df -h && sudo apt-get clean && docker system prune -a -f && sudo rm -rf /opt/ghc /usr/local/.ghcup /usr/local/lib/android && df -h
      - name: Checkout
        uses: actions/checkout@v6
      - name: Install buildx
        uses: docker/setup-buildx-action@v4
        with:
          buildkitd-config: .github/buildkit.toml
          driver: docker
      - name: Get download cache key
        id: dl_cache
        run: |
          echo "dltagname=$(./util/get_dl_cache_tag.sh)" >> $GITHUB_OUTPUT
      - name: Cache
        uses: actions/cache/restore@v5
        with:
          path: .cache/downloads
          key: download-cache-${{ steps.dl_cache.outputs.dltagname }}
          restore-keys: |
            download-cache-
      - name: Build Image
        run: ./makeimage.sh ${{ matrix.target }} ${{ matrix.variant }}
        env:
          QUICKBUILD: ${{ matrix.quickbuild }}
      - name: Build ffmpeg
        run: ./build.sh ${{ matrix.target }} ${{ matrix.variant }}
      - name: Replace spaces in string
        id: strs
        run: |
          SLUG="${{ matrix.target }}-${{ matrix.variant }}"
          echo "artifact_slug=${SLUG// /-}" >> $GITHUB_OUTPUT
      - name: Upload artifacts
        uses: actions/upload-artifact@v7
        with:
          name: ffmpeg-${{ steps.strs.outputs.artifact_slug }}
          overwrite: true
          path: artifacts/*


================================================
FILE: .gitignore
================================================
/Dockerfile*
/ffbuild/
/artifacts/
/.cache/


================================================
FILE: LICENSE
================================================
Copyright 2020-2021 BtbN <btbn@btbn.de>

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.


================================================
FILE: README.md
================================================
# FFmpeg Static Auto-Builds

Static Windows (x86_64) and Linux (x86_64) Builds of ffmpeg master and latest release branch.

Windows builds are targetting Windows 7 and newer, provided UCRT is installed.
The minimum supported version is Windows 10 22H2, no guarantees on anything older.

Linux builds are targetting RHEL/CentOS 8 (glibc-2.28 + linux-4.18) and anything more recent.

## Auto-Builds

Builds run daily at 12:00 UTC (or GitHubs idea of that time) and are automatically released on success.

**Auto-Builds run ONLY for win(arm)64 and linux(arm)64. There are no win32/x86 auto-builds, though you can produce win32 builds yourself following the instructions below.**

### Release Retention Policy

- The last build of each month is kept for two years.
- The last 14 daily builds are kept.
- The special "latest" build floats and provides consistent URLs always pointing to the latest build.

## Package List

For a list of included dependencies check the scripts.d directory.
Every file corresponds to its respective package.

## How to make a build

### Prerequisites

* bash
* docker

### Build Image

* `./makeimage.sh target variant [addin [addin] [addin] ...]`

### Build FFmpeg

* `./build.sh target variant [addin [addin] [addin] ...]`

On success, the resulting zip file will be in the `artifacts` subdir.

### Targets, Variants and Addins

Available targets:
* `win64` (x86_64 Windows)
* `win32` (x86 Windows)
* `linux64` (x86_64 Linux, glibc>=2.28, linux>=4.18)
* `linuxarm64` (arm64 (aarch64) Linux, glibc>=2.28, linux>=4.18)

The linuxarm64 target will not build some dependencies due to lack of arm64 (aarch64) architecture support or cross-compiling restrictions.

* `davs2` and `xavs2`: aarch64 support is broken.
* `libmfx` and `libva`: Library for Intel QSV, so there is no aarch64 support.

Available variants:
* `gpl` Includes all dependencies, even those that require full GPL instead of just LGPL.
* `lgpl` Lacking libraries that are GPL-only. Most prominently libx264 and libx265.
* `nonfree` Includes fdk-aac in addition to all the dependencies of the gpl variant.
* `gpl-shared` Same as gpl, but comes with the libav* family of shared libs instead of pure static executables.
* `lgpl-shared` Same again, but with the lgpl set of dependencies.
* `nonfree-shared` Same again, but with the nonfree set of dependencies.

All of those can be optionally combined with any combination of addins:
* `4.4`/`5.0`/`5.1`/`6.0`/`6.1`/`7.0`/`7.1` to build from the respective release branch instead of master.
* `debug` to not strip debug symbols from the binaries. This increases the output size by about 250MB.
* `lto` build all dependencies and ffmpeg with -flto=auto (HIGHLY EXPERIMENTAL, broken for Windows, sometimes works for Linux)


================================================
FILE: addins/4.3.sh
================================================
#!/bin/bash
GIT_BRANCH="release/4.3"


================================================
FILE: addins/4.4.sh
================================================
#!/bin/bash
GIT_BRANCH="release/4.4"


================================================
FILE: addins/5.0.sh
================================================
#!/bin/bash
GIT_BRANCH="release/5.0"


================================================
FILE: addins/5.1.sh
================================================
#!/bin/bash
GIT_BRANCH="release/5.1"


================================================
FILE: addins/6.0.sh
================================================
#!/bin/bash
GIT_BRANCH="release/6.0"


================================================
FILE: addins/6.1.sh
================================================
#!/bin/bash
GIT_BRANCH="release/6.1"


================================================
FILE: addins/7.0.sh
================================================
#!/bin/bash
GIT_BRANCH="release/7.0"


================================================
FILE: addins/7.1.sh
================================================
#!/bin/bash
GIT_BRANCH="release/7.1"


================================================
FILE: addins/8.0.sh
================================================
#!/bin/bash
GIT_BRANCH="release/8.0"


================================================
FILE: addins/debug.sh
================================================
#!/bin/bash
FF_CONFIGURE="${FF_CONFIGURE/--disable-debug/} --optflags='-Og' --disable-stripping"


================================================
FILE: addins/lto.sh
================================================
#!/bin/bash
FF_CONFIGURE="$FF_CONFIGURE --enable-lto"

ffbuild_dockeraddin() {
    to_df 'ENV CFLAGS="$CFLAGS -flto=auto" CXXFLAGS="$CXXFLAGS -flto=auto" LDFLAGS="$LDFLAGS -flto=auto"'
    to_df 'ENV FFBUILD_TARGET_FLAGS="$FFBUILD_TARGET_FLAGS --ar=${FFBUILD_TOOLCHAIN}-gcc-ar --nm=${FFBUILD_TOOLCHAIN}-gcc-nm --ranlib=${FFBUILD_TOOLCHAIN}-gcc-ranlib"'
}


================================================
FILE: build.sh
================================================
#!/bin/bash
set -xe
shopt -s globstar
cd "$(dirname "$0")"
source util/vars.sh

source "variants/${TARGET}-${VARIANT}.sh"

for addin in ${ADDINS[*]}; do
    source "addins/${addin}.sh"
done

if docker info -f "{{println .SecurityOptions}}" | grep rootless >/dev/null 2>&1; then
    UIDARGS=()
else
    UIDARGS=( -u "$(id -u):$(id -g)" )
fi

rm -rf ffbuild
mkdir ffbuild

FFMPEG_REPO="${FFMPEG_REPO:-https://github.com/FFmpeg/FFmpeg.git}"
FFMPEG_REPO="${FFMPEG_REPO_OVERRIDE:-$FFMPEG_REPO}"
GIT_BRANCH="${GIT_BRANCH:-master}"
GIT_BRANCH="${GIT_BRANCH_OVERRIDE:-$GIT_BRANCH}"

BUILD_SCRIPT="$(mktemp)"
trap "rm -f -- '$BUILD_SCRIPT'" EXIT

cat <<EOF >"$BUILD_SCRIPT"
    set -xe
    cd /ffbuild
    rm -rf ffmpeg prefix

    git clone --filter=blob:none --branch='$GIT_BRANCH' '$FFMPEG_REPO' ffmpeg
    cd ffmpeg

    ./configure --prefix=/ffbuild/prefix --pkg-config-flags="--static" \$FFBUILD_TARGET_FLAGS \$FF_CONFIGURE \
        --extra-cflags="\$FF_CFLAGS" --extra-cxxflags="\$FF_CXXFLAGS" --extra-libs="\$FF_LIBS" \
        --extra-ldflags="\$FF_LDFLAGS" --extra-ldexeflags="\$FF_LDEXEFLAGS" \
        --cc="\$CC" --cxx="\$CXX" --ar="\$AR" --ranlib="\$RANLIB" --nm="\$NM" \
        --extra-version="\$(date +%Y%m%d)"
    make -j\$(nproc) V=1
    make install install-doc
EOF

[[ -t 1 ]] && TTY_ARG="-t" || TTY_ARG=""

docker run --rm -i $TTY_ARG "${UIDARGS[@]}" -v "$PWD/ffbuild":/ffbuild -v "$BUILD_SCRIPT":/build.sh "$IMAGE" bash /build.sh

if [[ -n "$FFBUILD_OUTPUT_DIR" ]]; then
    mkdir -p "$FFBUILD_OUTPUT_DIR"
    package_variant ffbuild/prefix "$FFBUILD_OUTPUT_DIR"
    [[ -n "$LICENSE_FILE" ]] && cp "ffbuild/ffmpeg/$LICENSE_FILE" "$FFBUILD_OUTPUT_DIR/LICENSE.txt"
    rm -rf ffbuild
    exit 0
fi

mkdir -p artifacts
ARTIFACTS_PATH="$PWD/artifacts"
BUILD_NAME="ffmpeg-$(./ffbuild/ffmpeg/ffbuild/version.sh ffbuild/ffmpeg)-${TARGET}-${VARIANT}${ADDINS_STR:+-}${ADDINS_STR}"

mkdir -p "ffbuild/pkgroot/$BUILD_NAME"
package_variant ffbuild/prefix "ffbuild/pkgroot/$BUILD_NAME"

[[ -n "$LICENSE_FILE" ]] && cp "ffbuild/ffmpeg/$LICENSE_FILE" "ffbuild/pkgroot/$BUILD_NAME/LICENSE.txt"

cd ffbuild/pkgroot
if [[ "${TARGET}" == win* ]]; then
    OUTPUT_FNAME="${BUILD_NAME}.zip"
    docker run --rm -i $TTY_ARG "${UIDARGS[@]}" -v "${ARTIFACTS_PATH}":/out -v "${PWD}/${BUILD_NAME}":"/${BUILD_NAME}" -w / "$IMAGE" zip -9 -r "/out/${OUTPUT_FNAME}" "$BUILD_NAME"
else
    OUTPUT_FNAME="${BUILD_NAME}.tar.xz"
    docker run --rm -i $TTY_ARG "${UIDARGS[@]}" -v "${ARTIFACTS_PATH}":/out -v "${PWD}/${BUILD_NAME}":"/${BUILD_NAME}" -w / "$IMAGE" tar cJf "/out/${OUTPUT_FNAME}" "$BUILD_NAME"
fi
cd -

rm -rf ffbuild

if [[ -n "$GITHUB_ACTIONS" ]]; then
    echo "build_name=${BUILD_NAME}" >> "$GITHUB_OUTPUT"
    echo "${OUTPUT_FNAME}" > "${ARTIFACTS_PATH}/${TARGET}-${VARIANT}${ADDINS_STR:+-}${ADDINS_STR}.txt"
fi


================================================
FILE: download.sh
================================================
#!/bin/bash
set -xe
cd "$(dirname "$0")"
source util/vars.sh dl only

if docker info -f "{{println .SecurityOptions}}" | grep rootless >/dev/null 2>&1; then
    UIDARGS=()
else
    UIDARGS=( -u "$(id -u):$(id -g)" )
fi

[[ -t 1 ]] && TTY_ARG="-t" || TTY_ARG=""

DL_SCRIPT_DIR="$(mktemp -d)"
trap "rm -rf -- '$DL_SCRIPT_DIR'" EXIT

mkdir -p "${PWD}"/.cache/downloads

for STAGE in scripts.d/*.sh scripts.d/*/*.sh; do
	STAGENAME="$(basename "$STAGE" | sed 's/.sh$//')"

	cat <<-EOF >"${DL_SCRIPT_DIR}/${STAGENAME}.sh"
		set -xe -o pipefail
		shopt -s dotglob

		source /dl_functions.sh
		source "/$STAGE"
		STG="\$(ffbuild_dockerdl)"

		if [[ -z "\$STG" ]]; then
			exit 0
		fi

		DLHASH="\$(sha256sum <<<"\$STG" | cut -d" " -f1)"
		DLNAME="$STAGENAME"

		if [[ "$1" == "hashonly" ]]; then
			echo "\$DLHASH"
			exit 0
		fi

		TGT="/dldir/\${DLNAME}_\${DLHASH}.tar.xz"
		if [[ -f "\$TGT" ]]; then
			rm -f "/dldir/\${DLNAME}.tar.xz"
			ln -s "\${DLNAME}_\${DLHASH}.tar.xz" "/dldir/\${DLNAME}.tar.xz"
			exit 0
		fi

		WORKDIR="\$(mktemp -d)"
		trap "rm -rf -- '\$WORKDIR'" EXIT
		cd "\$WORKDIR"

		eval "set -e; \$STG"

		tar cpJf "\$TGT.tmp" .
		mv "\$TGT.tmp" "\$TGT"
		rm -f "/dldir/\${DLNAME}.tar.xz"
		ln -s "\${DLNAME}_\${DLHASH}.tar.xz" "/dldir/\${DLNAME}.tar.xz"
	EOF
done

docker run -i $TTY_ARG --rm "${UIDARGS[@]}" -v "${DL_SCRIPT_DIR}":/stages -v "${PWD}/.cache/downloads":/dldir -v "${PWD}/scripts.d":/scripts.d -v "${PWD}/util/dl_functions.sh":/dl_functions.sh "${REGISTRY}/${REPO}/base:latest" \
	bash -c 'set -xe && for STAGE in /stages/*.sh; do bash $STAGE; done'


================================================
FILE: generate.sh
================================================
#!/bin/bash
set -e
shopt -s globstar
cd "$(dirname "$0")"
source util/vars.sh

export LC_ALL=C.UTF-8

rm -f Dockerfile Dockerfile.{dl,final,dl.final}

layername() {
    printf "layer-"
    basename "$1" | sed 's/.sh$//'
}

resolvestage() {
    [[ -d "$1" ]] && local SCRIPTDIR=("$1") || local SCRIPTDIR=(scripts.d/??-"$1")
    if [[ -d "${SCRIPTDIR[0]}" ]]; then
        echo scripts.d/??-"${1}"
    else
        echo scripts.d/??-"${1}.sh"
    fi
}

resolvescript() {
    local STAGE="$(resolvestage "$1")"
    if [[ -d "$STAGE" ]]; then
        ls -1 "$STAGE"/*.sh | tail -n 1
    else
        echo "$STAGE"
    fi
}

to_df() {
    local _of="${TODF:-Dockerfile}"
    printf "$@" >> "$_of"
    echo >> "$_of"
}

###
### Generate main Dockerfile
###

exec_dockerstage() {
    SCRIPT="$1"
    (
        SELF="$SCRIPT"
        STAGENAME="$(basename "$SCRIPT" | sed 's/.sh$//')"
        source util/dl_functions.sh
        source "$SCRIPT"

        ffbuild_enabled || exit 0

        to_df "ENV SELF=\"$SELF\" STAGENAME=\"$STAGENAME\""

        STG="$(ffbuild_dockerdl)"
        if [[ -n "$STG" ]]; then
            HASH="$(sha256sum <<<"$STG" | cut -d" " -f1)"
            export SELFCACHE=".cache/downloads/${STAGENAME}_${HASH}.tar.xz"
        fi

        ffbuild_dockerstage || exit $?
    )
}

get_stagedeps() {
    [[ -d "$1" ]] && local SCRIPTDIR=("$1") || local SCRIPTDIR=(scripts.d/??-"$1")
    if [[ -d "${SCRIPTDIR[0]}" ]]; then
        RESDEPS=()
        for SUBSCRIPT in "${SCRIPTDIR[0]}"/*.sh; do
            RESDEPS+=( $(get_stagedeps "${SUBSCRIPT}") )
        done
        tr ' ' '\n' <<< "${RESDEPS[@]}" | sort -u
    else
        [[ -f "$1" ]] && SCRIPT=("$1") || SCRIPT=(scripts.d/??-"${1}.sh")
        SCRIPT="${SCRIPT[0]}"
        (
            SELF="$SCRIPT"
            STAGENAME="$(basename "$SCRIPT" | sed 's/.sh$//')"
            source util/dl_functions.sh
            source "$SCRIPT"

            ffbuild_enabled || exit 0
            ffbuild_depends
        )
    fi
}

get_stagedeps_recursive_internal() {
    local CDEPS=($(get_stagedeps "$1"))
    for CDEP in "${CDEPS[@]}"; do
        get_stagedeps_recursive_internal "$CDEP"
    done
    printf '%s\n' "${CDEPS[@]}"
}

get_stagedeps_recursive() {
    declare -A ALREADY_PRINTED
    for CDEP in $(get_stagedeps_recursive_internal "$1"); do
        if ! [[ -v ALREADY_PRINTED["$CDEP"] ]]; then
            echo "$CDEP"
            ALREADY_PRINTED["$CDEP"]="1"
        fi
    done
}

get_filled_deps() {
    local CUR_DEPS=($(get_stagedeps "$1"))
    local UNFILLED_DEPS=()
    for DEP in "${CUR_DEPS[@]}"; do
        [[ -v FILLED_DEPS["$DEP"] ]] || UNFILLED_DEPS+=("$DEP")
    done
    if [[ "${#UNFILLED_DEPS[@]}" -eq 0 ]]; then
        echo "$1"
    else
        for DEP in "${UNFILLED_DEPS[@]}"; do
            get_filled_deps "$DEP" | sort -u
        done
    fi
}

get_output() {
    (
        SELF="$1"
        source "$1"
        if ffbuild_enabled; then
            ffbuild_$2 || exit 0
        else
            ffbuild_un$2 || exit 0
        fi
    )
}

export TODF="Dockerfile"

BASELAYER="base-layer"
to_df "FROM ${REGISTRY}/${REPO}/base-${TARGET}:latest AS ${BASELAYER}"
to_df "ENV TARGET=$TARGET VARIANT=$VARIANT REPO=$REPO ADDINS_STR=$ADDINS_STR FFVER=$(ffbuild_ffver)"
to_df "COPY --link util/run_stage.sh /usr/bin/run_stage"

for addin in "${ADDINS[@]}"; do
(
    source addins/"${addin}.sh"
    type ffbuild_dockeraddin &>/dev/null && ffbuild_dockeraddin || true
)
done

ENTRYSCRIPT="$(ls -1d scripts.d/* | tail -n 1)"
declare -A FILLED_DEPS
while true; do
    CURDEPS=($(get_filled_deps "$ENTRYSCRIPT" | sort -u))
    if [[ "${CURDEPS[@]}" == "$ENTRYSCRIPT" ]]; then
        break
    fi
    for CURDEP in "${CURDEPS[@]}"; do
        FILLED_DEPS["$CURDEP"]="1"

        SCRIPT="$(resolvescript "$CURDEP")"
        (
            SELF="$SCRIPT"
            source "$SCRIPT"
            ffbuild_enabled || exit $?
            to_df "FROM ${BASELAYER} AS ${CURDEP}"
        ) || continue

        for SUBDEP in $(get_stagedeps_recursive "${CURDEP}"); do
            SCRIPT="$(resolvescript "$SUBDEP")"
            (
                SELF="$SCRIPT"
                SELFLAYER="$SUBDEP"
                source "$SCRIPT"
                ffbuild_enabled || exit 0
                ffbuild_dockerlayer || exit $?
            )
        done

        STAGE="$(resolvestage "$CURDEP")"
        if [[ -d "$STAGE" ]]; then
            for STAGE in "${STAGE}"/??-*.sh; do
                exec_dockerstage "$STAGE"
            done
        else
            exec_dockerstage "$STAGE"
        fi
    done
done

source "variants/${TARGET}-${VARIANT}.sh"

for addin in ${ADDINS[*]}; do
    source "addins/${addin}.sh"
done

COMBINELAYER="combine-layer"
to_df "FROM ${BASELAYER} AS ${COMBINELAYER}"
for SUBDEP in $(get_stagedeps_recursive "${ENTRYSCRIPT}"); do
    STAGE="$(resolvestage "$SUBDEP")"
    [[ -d "$STAGE" ]] && SCRIPTS=("${STAGE}"/??-*.sh) || SCRIPTS=("${STAGE}")

    SCRIPT="${SCRIPTS[-1]}"
    (
        SELF="$SCRIPT"
        COMBINING="1"
        SELFLAYER="$SUBDEP"
        source "$SCRIPT"
        ffbuild_enabled || exit 0
        ffbuild_dockerlayer || exit $?
        TODF="Dockerfile.final" PREVLAYER="$COMBINELAYER" \
            ffbuild_dockerfinal || exit $?
    )

    for SCRIPT in "${SCRIPTS[@]}"; do
        FF_CONFIGURE+=" $(get_output "$SCRIPT" configure)"
        FF_CFLAGS+=" $(get_output "$SCRIPT" cflags)"
        FF_CXXFLAGS+=" $(get_output "$SCRIPT" cxxflags)"
        FF_LDFLAGS+=" $(get_output "$SCRIPT" ldflags)"
        FF_LDEXEFLAGS+=" $(get_output "$SCRIPT" ldexeflags)"
        FF_LIBS+=" $(get_output "$SCRIPT" libs)"
    done
done

to_df "FROM ${BASELAYER}"
sort -u < Dockerfile.final >> Dockerfile
rm Dockerfile.final

FF_CONFIGURE="$(xargs <<< "$FF_CONFIGURE")"
FF_CFLAGS="$(xargs <<< "$FF_CFLAGS")"
FF_CXXFLAGS="$(xargs <<< "$FF_CXXFLAGS")"
FF_LDFLAGS="$(xargs <<< "$FF_LDFLAGS")"
FF_LDEXEFLAGS="$(xargs <<< "$FF_LDEXEFLAGS")"
FF_LIBS="$(xargs <<< "$FF_LIBS")"

to_df "ENV \\"
to_df "    FF_CONFIGURE=\"$FF_CONFIGURE\" \\"
to_df "    FF_CFLAGS=\"$FF_CFLAGS\" \\"
to_df "    FF_CXXFLAGS=\"$FF_CXXFLAGS\" \\"
to_df "    FF_LDFLAGS=\"$FF_LDFLAGS\" \\"
to_df "    FF_LDEXEFLAGS=\"$FF_LDEXEFLAGS\" \\"
to_df "    FF_LIBS=\"$FF_LIBS\""


================================================
FILE: images/base/Dockerfile
================================================
FROM ubuntu:25.10

ARG TARGETPLATFORM

ENV DEBIAN_FRONTEND=noninteractive
RUN \
    apt-get -y update && \
    apt-get -y dist-upgrade && \
    apt-get -y install --no-install-recommends \
        $([ "$TARGETPLATFORM" != "linux/amd64" ] || echo gcc-multilib g++-multilib) \
        build-essential yasm nasm \
        xxd pkgconf curl wget unzip zip git subversion mercurial rsync jq \
        autoconf automake libtool libtool-bin autopoint gettext cmake meson ninja-build \
        clang llvm lcov lld qemu-user \
        texinfo texi2html help2man flex bison groff \
        gperf itstool ragel libc6-dev zlib1g-dev libssl-dev \
        gtk-doc-tools gobject-introspection gawk \
        ocaml ocaml-findlib ocamlbuild libnum-ocaml-dev indent p7zip-full zstd \
        python3-setuptools python3-pip python3-venv python3-jinja2 python3-jsonschema python3-apt python3-dev python-is-python3 && \
    curl -fsSL https://deb.nodesource.com/setup_24.x | bash - && \
    apt-get -y install nodejs && \
    apt-get -y autoremove && \
    apt-get -y clean autoclean && \
    rm -rf /var/lib/apt/lists/* && \
    git config --global user.email "builder@localhost" && \
    git config --global user.name "Builder" && \
    git config --global advice.detachedHead false

ENV CARGO_HOME="/opt/cargo" RUSTUP_HOME="/opt/rustup" PATH="/opt/cargo/bin:${PATH}"
RUN curl https://sh.rustup.rs -sSf | bash -s -- -y --no-modify-path && \
    cargo install cargo-c && rm -rf "${CARGO_HOME}"/registry "${CARGO_HOME}"/git

RUN --mount=src=.,dst=/input \
    for s in /input/*.sh; do cp $s /usr/bin/$(echo $s | sed -e 's|.*/||' -e 's/\.sh$//'); done

ENV HOST_CC="gcc" \
    HOST_CXX="g++" \
    HOST_CFLAGS="-O2 -pipe" \
    HOST_CXXFLAGS="-O2 -pipe"


================================================
FILE: images/base/check-wget.sh
================================================
#!/bin/bash
set -xe
FNAME="$1"
URL="$2"
SHA512="$3"
SHAFILE="${FNAME}.sha512"
wget -O "${FNAME}" "${URL}"
trap "rm -f ${SHAFILE}" EXIT
echo "${SHA512}  ${FNAME}" > "${SHAFILE}"
sha512sum -c "${SHAFILE}"


================================================
FILE: images/base/git-mini-clone.sh
================================================
#!/bin/bash
set -xe
REPO="$1"
REF="$2"
DEST="$3"
git init "$DEST"
git -C "$DEST" remote add origin "$REPO"

retry-tool git -C "$DEST" fetch --depth=1 origin "$REF"

git -C "$DEST" config advice.detachedHead false
git -C "$DEST" checkout FETCH_HEAD


================================================
FILE: images/base/retry-tool.sh
================================================
#!/bin/bash
set -xe -o pipefail

RETRY_COUNTER=0
MAX_RETRY=10
CUR_TIMEOUT=120
while [[ $RETRY_COUNTER -lt $MAX_RETRY ]]; do
    (timeout $CUR_TIMEOUT "$@") && break || sleep $(shuf -i 5-90 -n 1)
    RETRY_COUNTER=$(( $RETRY_COUNTER + 1 ))
    CUR_TIMEOUT=$(( $CUR_TIMEOUT + 60 ))
    echo "Retry $RETRY_COUNTER..."
done
if [[ $RETRY_COUNTER -ge $MAX_RETRY ]]; then
    echo "Max retry count exceeded."
    exit 1
fi


================================================
FILE: images/base-linux32/Dockerfile
================================================
ARG GH_REPO=ghcr.io/fwgs/ffmpeg-builds
FROM $GH_REPO/base:latest

RUN --mount=src=ct-ng-config,dst=/.config \
    git clone --filter=blob:none https://github.com/crosstool-ng/crosstool-ng.git /ct-ng && cd /ct-ng && \
    ./bootstrap && \
    ./configure --enable-local && \
    make -j$(nproc) && \
    cp /.config .config && \
    ./ct-ng build && \
    cd / && \
    rm -rf ct-ng

# Prepare "cross" environment to heavily favour static builds
RUN \
    find /opt/ct-ng \( -type l \
        -and -name '*.so' \
        -and -not -ipath '*plugin*' \
        -and -not -name 'libdl.*' \
        -and -not -name 'libc.*' \
        -and -not -name 'libm.*' \
        -and -not -name 'libmvec.*' \
        -and -not -name 'librt.*' \
        -and -not -name 'libpthread.*' \
        \) -delete && \
    find /opt/ct-ng \( \
        -name 'libdl.a' \
        -or -name 'libc.a' \
        -or -name 'libm.a' \
        -or -name 'libmvec.a' \
        -or -name 'librt.a' \
        -or -name 'libpthread.a' \
        \) -delete && \
    mkdir /opt/ffbuild

ENV FFBUILD_TOOLCHAIN=i686-ffbuild-linux-gnu \
    FFBUILD_RUST_TARGET="i686-unknown-linux-gnu"

#RUN \
#    rustup default nightly && \
#    echo "[unstable]\ntarget-applies-to-host = true\nhost-config = true\n" > "$CARGO_HOME"/config.toml && \
#    echo "[target.$FFBUILD_RUST_TARGET]\nlinker = \"${FFBUILD_TOOLCHAIN}-gcc\"\nar = \"${FFBUILD_TOOLCHAIN}-gcc-ar\"\n" >> "$CARGO_HOME"/config.toml && \
#    echo "[target.host]\nlinker = \"gcc\"\nar = \"ar\"\n" >> "$CARGO_HOME"/config.toml

ADD toolchain.cmake /toolchain.cmake
ADD cross.meson /cross.meson

ADD gen-implib.sh /usr/bin/gen-implib
RUN git clone --filter=blob:none --depth=1 https://github.com/yugr/Implib.so /opt/implib

ENV PATH="/opt/ct-ng/bin:${PATH}" \
    FFBUILD_TARGET_FLAGS="--pkg-config=pkg-config --cross-prefix=${FFBUILD_TOOLCHAIN}- --arch=i686 --target-os=linux" \
    FFBUILD_CROSS_PREFIX="${FFBUILD_TOOLCHAIN}-" \
    FFBUILD_PREFIX=/opt/ffbuild \
    FFBUILD_DESTDIR=/opt/ffdest \
    FFBUILD_DESTPREFIX=/opt/ffdest/opt/ffbuild \
    FFBUILD_CMAKE_TOOLCHAIN=/toolchain.cmake \
    PKG_CONFIG=pkg-config \
    PKG_CONFIG_LIBDIR=/opt/ffbuild/lib/pkgconfig:/opt/ffbuild/share/pkgconfig \
    CC="${FFBUILD_TOOLCHAIN}-gcc" \
    CXX="${FFBUILD_TOOLCHAIN}-g++" \
    LD="${FFBUILD_TOOLCHAIN}-ld" \
    AR="${FFBUILD_TOOLCHAIN}-gcc-ar" \
    RANLIB="${FFBUILD_TOOLCHAIN}-gcc-ranlib" \
    NM="${FFBUILD_TOOLCHAIN}-gcc-nm" \
    CFLAGS="-static-libgcc -static-libstdc++ -I/opt/ffbuild/include -O2 -pipe -fPIC -DPIC -D_FORTIFY_SOURCE=2 -fstack-protector-strong -fstack-clash-protection -pthread" \
    CXXFLAGS="-static-libgcc -static-libstdc++ -I/opt/ffbuild/include -O2 -pipe -fPIC -DPIC -D_FORTIFY_SOURCE=2 -fstack-protector-strong -fstack-clash-protection -pthread" \
    LDFLAGS="-static-libgcc -static-libstdc++ -L/opt/ffbuild/lib -O2 -pipe -fstack-protector-strong -fstack-clash-protection -Wl,-z,relro,-z,now -pthread -lm" \
    STAGE_CFLAGS="-fvisibility=hidden -fno-semantic-interposition" \
    STAGE_CXXFLAGS="-fvisibility=hidden -fno-semantic-interposition"


================================================
FILE: images/base-linux32/cross.meson
================================================
[binaries]
c = 'i686-ffbuild-linux-gnu-gcc'
cpp = 'i686-ffbuild-linux-gnu-g++'
ld = 'i686-ffbuild-linux-gnu-ld'
ar = 'i686-ffbuild-linux-gnu-gcc-ar'
ranlib = 'i686-ffbuild-linux-gnu-gcc-ranlib'
strip = 'i686-ffbuild-linux-gnu-strip'

[host_machine]
system = 'linux'
cpu_family = 'x86'
cpu = 'i686'
endian = 'little'


================================================
FILE: images/base-linux32/ct-ng-config
================================================
#
# Automatically generated file; DO NOT EDIT.
# crosstool-NG 1.28.0.23_185f348 Configuration
#
CT_CONFIGURE_has_static_link=y
CT_CONFIGURE_has_cxx11=y
CT_CONFIGURE_has_wget=y
CT_CONFIGURE_has_curl=y
CT_CONFIGURE_has_meson=y
CT_CONFIGURE_has_ninja=y
CT_CONFIGURE_has_make_3_81_or_newer=y
CT_CONFIGURE_has_make_4_0_or_newer=y
CT_CONFIGURE_has_make_4_4_or_newer=y
CT_CONFIGURE_has_libtool_2_4_or_newer=y
CT_CONFIGURE_has_libtoolize_2_4_or_newer=y
CT_CONFIGURE_has_autoconf_2_65_or_newer=y
CT_CONFIGURE_has_autoreconf_2_65_or_newer=y
CT_CONFIGURE_has_automake_1_15_or_newer=y
CT_CONFIGURE_has_gnu_m4_1_4_12_or_newer=y
CT_CONFIGURE_has_python_3_4_or_newer=y
CT_CONFIGURE_has_bison_2_7_or_newer=y
CT_CONFIGURE_has_bison_3_0_4_or_newer=y
CT_CONFIGURE_has_python=y
CT_CONFIGURE_has_dtc=y
CT_CONFIGURE_has_svn=y
CT_CONFIGURE_has_git=y
CT_CONFIGURE_has_md5sum=y
CT_CONFIGURE_has_sha1sum=y
CT_CONFIGURE_has_sha256sum=y
CT_CONFIGURE_has_sha512sum=y
CT_CONFIGURE_has_install_with_strip_program=y
CT_VERSION="1.28.0.23_185f348"
CT_VCHECK=""
CT_CONFIG_VERSION_ENV="4"
CT_CONFIG_VERSION_CURRENT="4"
CT_CONFIG_VERSION="4"
CT_MODULES=y

#
# Paths and misc options
#

#
# crosstool-NG behavior
#
CT_OBSOLETE=y
CT_EXPERIMENTAL=y
CT_ALLOW_BUILD_AS_ROOT=y
CT_ALLOW_BUILD_AS_ROOT_SURE=y
# CT_ENABLE_EXPERIMENTAL_BUNDLED_PATCHES is not set
# CT_DEBUG_CT is not set

#
# Paths
#
CT_LOCAL_TARBALLS_DIR="${HOME}/src"
# CT_SAVE_TARBALLS is not set
# CT_TARBALLS_BUILDROOT_LAYOUT is not set
CT_WORK_DIR="${CT_TOP_DIR}/build"
CT_BUILD_TOP_DIR="${CT_WORK_DIR:-${CT_TOP_DIR}/.build}/${CT_HOST:+HOST-${CT_HOST}/}${CT_TARGET}"
CT_BUILD_DIR="${CT_BUILD_TOP_DIR}/build"
CT_PREFIX_DIR="/opt/ct-ng"
CT_RM_RF_PREFIX_DIR=y
CT_REMOVE_DOCS=y
# CT_INSTALL_LICENSES is not set
# CT_PREFIX_DIR_RO is not set
CT_STRIP_HOST_TOOLCHAIN_EXECUTABLES=y
CT_STRIP_TARGET_TOOLCHAIN_EXECUTABLES=y
# CT_TARBALL_RESULT is not set

#
# Downloading
#
CT_DOWNLOAD_AGENT_WGET=y
# CT_DOWNLOAD_AGENT_CURL is not set
# CT_DOWNLOAD_AGENT_NONE is not set
# CT_FORBID_DOWNLOAD is not set
# CT_FORCE_DOWNLOAD is not set
CT_CONNECT_TIMEOUT=10
CT_DOWNLOAD_WGET_OPTIONS="--passive-ftp --tries=3 -nc --progress=dot:binary"
# CT_ONLY_DOWNLOAD is not set
# CT_USE_MIRROR is not set
CT_VERIFY_DOWNLOAD_DIGEST=y
CT_VERIFY_DOWNLOAD_DIGEST_SHA512=y
# CT_VERIFY_DOWNLOAD_DIGEST_SHA256 is not set
# CT_VERIFY_DOWNLOAD_DIGEST_SHA1 is not set
# CT_VERIFY_DOWNLOAD_DIGEST_MD5 is not set
CT_VERIFY_DOWNLOAD_DIGEST_ALG="sha512"
# CT_VERIFY_DOWNLOAD_SIGNATURE is not set

#
# Extracting
#
# CT_FORCE_EXTRACT is not set
CT_OVERRIDE_CONFIG_GUESS_SUB=y
# CT_ONLY_EXTRACT is not set
CT_PATCH_BUNDLED=y
# CT_PATCH_LOCAL is not set
# CT_PATCH_BUNDLED_LOCAL is not set
# CT_PATCH_LOCAL_BUNDLED is not set
# CT_PATCH_NONE is not set
CT_PATCH_ORDER="bundled"

#
# Build behavior
#
CT_PARALLEL_JOBS=0
CT_LOAD=""
CT_USE_PIPES=y
CT_EXTRA_CFLAGS_FOR_BUILD="-fPIC -DPIC"
CT_EXTRA_CXXFLAGS_FOR_BUILD="-fPIC -DPIC"
CT_EXTRA_LDFLAGS_FOR_BUILD=""
CT_EXTRA_CFLAGS_FOR_HOST="-fPIC -DPIC"
CT_EXTRA_LDFLAGS_FOR_HOST=""
# CT_CONFIG_SHELL_SH is not set
# CT_CONFIG_SHELL_ASH is not set
CT_CONFIG_SHELL_BASH=y
# CT_CONFIG_SHELL_CUSTOM is not set
CT_CONFIG_SHELL="${bash}"

#
# Logging
#
# CT_LOG_ERROR is not set
# CT_LOG_WARN is not set
# CT_LOG_INFO is not set
# CT_LOG_EXTRA is not set
# CT_LOG_ALL is not set
CT_LOG_DEBUG=y
CT_LOG_LEVEL_MAX="DEBUG"
# CT_LOG_SEE_TOOLS_WARN is not set
# CT_LOG_TO_FILE is not set
# end of Paths and misc options

#
# Target options
#
# CT_ARCH_ALPHA is not set
# CT_ARCH_ARC is not set
# CT_ARCH_ARM is not set
# CT_ARCH_AVR is not set
# CT_ARCH_BPF is not set
# CT_ARCH_C6X is not set
# CT_ARCH_LM32 is not set
# CT_ARCH_LOONGARCH is not set
# CT_ARCH_M68K is not set
# CT_ARCH_MICROBLAZE is not set
# CT_ARCH_MIPS is not set
# CT_ARCH_MOXIE is not set
# CT_ARCH_MSP430 is not set
# CT_ARCH_NIOS2 is not set
# CT_ARCH_OPENRISC is not set
# CT_ARCH_PARISC is not set
# CT_ARCH_POWERPC is not set
# CT_ARCH_PRU is not set
# CT_ARCH_RISCV is not set
# CT_ARCH_RX is not set
# CT_ARCH_S390 is not set
# CT_ARCH_SH is not set
# CT_ARCH_SPARC is not set
# CT_ARCH_TRICORE is not set
CT_ARCH_X86=y
# CT_ARCH_XTENSA is not set
CT_ARCH="x86"
CT_ARCH_CHOICE_KSYM="X86"
CT_ARCH_CPU=""
CT_ARCH_TUNE="core2"
CT_ARCH_X86_SHOW=y

#
# Options for x86
#
CT_ARCH_X86_PKG_KSYM=""
CT_ALL_ARCH_CHOICES="ALPHA ARC ARM AVR BPF C6X LM32 LOONGARCH M68K MICROBLAZE MIPS MOXIE MSP430 NIOS2 OPENRISC PARISC POWERPC PRU RISCV RX S390 SH SPARC TRICORE X86 XTENSA"
CT_ARCH_SUFFIX=""
# CT_OMIT_TARGET_VENDOR is not set

#
# Generic target options
#
# CT_MULTILIB is not set
CT_DEMULTILIB=y
CT_ARCH_USE_MMU=y
CT_ARCH_SUPPORTS_LIBSANITIZER=y
CT_ARCH_SUPPORTS_32=y
CT_ARCH_SUPPORTS_64=y
CT_ARCH_DEFAULT_32=y
CT_ARCH_BITNESS=32
CT_ARCH_32=y
# CT_ARCH_64 is not set
CT_ARCH_SUPPORTS_WITH_32_64=y

#
# Target optimisations
#
CT_ARCH_SUPPORTS_WITH_ARCH=y
CT_ARCH_SUPPORTS_WITH_CPU=y
CT_ARCH_SUPPORTS_WITH_TUNE=y
CT_ARCH_ARCH="pentium-m"
CT_TARGET_CFLAGS="-fPIC -DPIC"
CT_TARGET_LDFLAGS=""
# end of Target options

#
# Toolchain options
#

#
# General toolchain options
#
CT_USE_SYSROOT=y
CT_SYSROOT_NAME="sysroot"
CT_SYSROOT_DIR_PREFIX=""
# CT_STATIC_TOOLCHAIN is not set
CT_SHOW_CT_VERSION=y
CT_TOOLCHAIN_PKGVERSION=""
CT_TOOLCHAIN_BUGURL=""

#
# Tuple completion and aliasing
#
CT_TARGET_VENDOR="ffbuild"
CT_TARGET_ALIAS_SED_EXPR=""
CT_TARGET_ALIAS=""

#
# Toolchain type
#
# CT_NATIVE is not set
CT_CROSS=y
# CT_CROSS_NATIVE is not set
# CT_CANADIAN is not set
CT_TOOLCHAIN_TYPE="cross"

#
# Build system
#
CT_BUILD=""
CT_BUILD_PREFIX=""
CT_BUILD_SUFFIX=""

#
# Misc options
#
# CT_TOOLCHAIN_ENABLE_NLS is not set
CT_TOOLCHAIN_CMAKE_TOOLCHAIN_FILE=y
# end of Toolchain options

#
# Operating System
#
CT_KERNEL_SUPPORTS_SHARED_LIBS=y
# CT_KERNEL_BARE_METAL is not set
CT_KERNEL_LINUX=y
# CT_KERNEL_WINDOWS is not set
CT_KERNEL="linux"
CT_KERNEL_CHOICE_KSYM="LINUX"
CT_KERNEL_LINUX_SHOW=y

#
# Options for linux
#
CT_KERNEL_LINUX_PKG_KSYM="LINUX"
CT_LINUX_DIR_NAME="linux"
CT_LINUX_PKG_NAME="linux"
CT_LINUX_SRC_RELEASE=y
# CT_LINUX_SRC_DEVEL is not set
# CT_LINUX_SRC_CUSTOM is not set
CT_LINUX_PATCH_GLOBAL=y
# CT_LINUX_PATCH_BUNDLED is not set
# CT_LINUX_PATCH_LOCAL is not set
# CT_LINUX_PATCH_BUNDLED_LOCAL is not set
# CT_LINUX_PATCH_LOCAL_BUNDLED is not set
# CT_LINUX_PATCH_NONE is not set
CT_LINUX_PATCH_ORDER="global"
# CT_LINUX_V_6_18 is not set
# CT_LINUX_V_6_17 is not set
# CT_LINUX_V_6_16 is not set
# CT_LINUX_V_6_15 is not set
# CT_LINUX_V_6_14 is not set
# CT_LINUX_V_6_13 is not set
# CT_LINUX_V_6_12 is not set
# CT_LINUX_V_6_11 is not set
# CT_LINUX_V_6_10 is not set
# CT_LINUX_V_6_9 is not set
# CT_LINUX_V_6_8 is not set
# CT_LINUX_V_6_7 is not set
# CT_LINUX_V_6_6 is not set
# CT_LINUX_V_6_5 is not set
# CT_LINUX_V_6_4 is not set
# CT_LINUX_V_6_3 is not set
# CT_LINUX_V_6_2 is not set
# CT_LINUX_V_6_1 is not set
# CT_LINUX_V_6_0 is not set
# CT_LINUX_V_5_19 is not set
# CT_LINUX_V_5_18 is not set
# CT_LINUX_V_5_17 is not set
# CT_LINUX_V_5_16 is not set
# CT_LINUX_V_5_15 is not set
# CT_LINUX_V_5_14 is not set
# CT_LINUX_V_5_13 is not set
# CT_LINUX_V_5_12 is not set
# CT_LINUX_V_5_11 is not set
# CT_LINUX_V_5_10 is not set
# CT_LINUX_V_5_9 is not set
# CT_LINUX_V_5_8 is not set
# CT_LINUX_V_5_7 is not set
# CT_LINUX_V_5_5 is not set
# CT_LINUX_V_5_4 is not set
# CT_LINUX_V_5_3 is not set
# CT_LINUX_V_5_2 is not set
# CT_LINUX_V_5_1 is not set
# CT_LINUX_V_5_0 is not set
# CT_LINUX_V_4_20 is not set
# CT_LINUX_V_4_19 is not set
CT_LINUX_V_4_18=y
# CT_LINUX_V_4_17 is not set
# CT_LINUX_V_4_16 is not set
# CT_LINUX_V_4_15 is not set
# CT_LINUX_V_4_14 is not set
# CT_LINUX_V_4_13 is not set
# CT_LINUX_V_4_12 is not set
# CT_LINUX_V_4_11 is not set
# CT_LINUX_V_4_10 is not set
# CT_LINUX_V_4_9 is not set
# CT_LINUX_V_4_4 is not set
# CT_LINUX_V_4_1 is not set
# CT_LINUX_V_3_18 is not set
# CT_LINUX_V_3_16 is not set
# CT_LINUX_V_3_13 is not set
# CT_LINUX_V_3_12 is not set
# CT_LINUX_V_3_10 is not set
# CT_LINUX_V_3_4 is not set
# CT_LINUX_V_3_2 is not set
CT_LINUX_VERSION="4.18.20"
CT_LINUX_MIRRORS="$(CT_Mirrors kernel.org linux ${CT_LINUX_VERSION})"
CT_LINUX_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
CT_LINUX_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
CT_LINUX_ARCHIVE_FORMATS=".tar.xz .tar.gz"
CT_LINUX_SIGNATURE_FORMAT="unpacked/.sign"
CT_LINUX_5_19_or_older=y
CT_LINUX_older_than_5_19=y
CT_LINUX_5_12_or_older=y
CT_LINUX_older_than_5_12=y
CT_LINUX_5_5_or_older=y
CT_LINUX_older_than_5_5=y
CT_LINUX_5_3_or_older=y
CT_LINUX_older_than_5_3=y
CT_LINUX_later_than_4_8=y
CT_LINUX_4_8_or_later=y
CT_LINUX_later_than_3_7=y
CT_LINUX_3_7_or_later=y
CT_LINUX_later_than_3_2=y
CT_LINUX_3_2_or_later=y
CT_LINUX_REQUIRE_3_2_or_later=y
CT_KERNEL_has_rsync=y
CT_KERNEL_DEP_RSYNC=y
CT_KERNEL_LINUX_VERBOSITY_0=y
# CT_KERNEL_LINUX_VERBOSITY_1 is not set
# CT_KERNEL_LINUX_VERBOSITY_2 is not set
CT_KERNEL_LINUX_VERBOSE_LEVEL=0
# CT_KERNEL_LINUX_INSTALL_CHECK is not set
CT_ALL_KERNEL_CHOICES="BARE_METAL LINUX WINDOWS"

#
# Common kernel options
#
CT_SHARED_LIBS=y
# end of Operating System

#
# Binary utilities
#
CT_ARCH_BINFMT_ELF=y
CT_BINUTILS_BINUTILS=y
CT_BINUTILS="binutils"
CT_BINUTILS_CHOICE_KSYM="BINUTILS"
CT_BINUTILS_BINUTILS_SHOW=y

#
# Options for binutils
#
CT_BINUTILS_BINUTILS_PKG_KSYM="BINUTILS"
CT_BINUTILS_DIR_NAME="binutils"
CT_BINUTILS_USE_GNU=y
# CT_BINUTILS_USE_LINARO is not set
# CT_BINUTILS_USE_ORACLE is not set
CT_BINUTILS_USE="BINUTILS"
CT_BINUTILS_PKG_NAME="binutils"
CT_BINUTILS_SRC_RELEASE=y
# CT_BINUTILS_SRC_DEVEL is not set
# CT_BINUTILS_SRC_CUSTOM is not set
CT_BINUTILS_PATCH_GLOBAL=y
# CT_BINUTILS_PATCH_BUNDLED is not set
# CT_BINUTILS_PATCH_LOCAL is not set
# CT_BINUTILS_PATCH_BUNDLED_LOCAL is not set
# CT_BINUTILS_PATCH_LOCAL_BUNDLED is not set
# CT_BINUTILS_PATCH_NONE is not set
CT_BINUTILS_PATCH_ORDER="global"
CT_BINUTILS_V_2_46=y
# CT_BINUTILS_V_2_45 is not set
# CT_BINUTILS_V_2_44 is not set
# CT_BINUTILS_V_2_43 is not set
# CT_BINUTILS_V_2_42 is not set
# CT_BINUTILS_V_2_41 is not set
# CT_BINUTILS_V_2_40 is not set
# CT_BINUTILS_V_2_39 is not set
# CT_BINUTILS_V_2_38 is not set
# CT_BINUTILS_V_2_37 is not set
# CT_BINUTILS_V_2_36 is not set
# CT_BINUTILS_V_2_35 is not set
# CT_BINUTILS_V_2_34 is not set
# CT_BINUTILS_V_2_33 is not set
# CT_BINUTILS_V_2_32 is not set
# CT_BINUTILS_V_2_31 is not set
# CT_BINUTILS_V_2_30 is not set
# CT_BINUTILS_V_2_29 is not set
# CT_BINUTILS_V_2_28 is not set
# CT_BINUTILS_V_2_27 is not set
# CT_BINUTILS_V_2_26 is not set
CT_BINUTILS_VERSION="2.46.0"
CT_BINUTILS_MIRRORS="$(CT_Mirrors GNU binutils) $(CT_Mirrors sourceware binutils/releases)"
CT_BINUTILS_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
CT_BINUTILS_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
CT_BINUTILS_ARCHIVE_FORMATS=".tar.xz .tar.bz2 .tar.gz"
CT_BINUTILS_SIGNATURE_FORMAT="packed/.sig"
CT_BINUTILS_2_46_0_or_later=y
CT_BINUTILS_2_46_0_or_older=y
CT_BINUTILS_later_than_2_45=y
CT_BINUTILS_2_45_or_later=y
CT_BINUTILS_later_than_2_44=y
CT_BINUTILS_2_44_or_later=y
CT_BINUTILS_later_than_2_41=y
CT_BINUTILS_2_41_or_later=y
CT_BINUTILS_later_than_2_39=y
CT_BINUTILS_2_39_or_later=y
CT_BINUTILS_later_than_2_30=y
CT_BINUTILS_2_30_or_later=y
CT_BINUTILS_later_than_2_27=y
CT_BINUTILS_2_27_or_later=y
CT_BINUTILS_later_than_2_26=y
CT_BINUTILS_2_26_or_later=y

#
# GNU binutils
#
CT_BINUTILS_GOLD_SUPPORTS_ARCH=y
CT_BINUTILS_FORCE_LD_BFD_DEFAULT=y
CT_BINUTILS_LINKER_LD=y
CT_BINUTILS_LINKERS_LIST="ld"
CT_BINUTILS_LINKER_DEFAULT="bfd"
CT_BINUTILS_PLUGINS=y
CT_BINUTILS_RELRO=m
CT_BINUTILS_DETERMINISTIC_ARCHIVES=y
CT_BINUTILS_EXTRA_CONFIG_ARRAY=""
# CT_BINUTILS_FOR_TARGET is not set
# CT_BINUTILS_GPROFNG is not set
CT_ALL_BINUTILS_CHOICES="BINUTILS"
# end of Binary utilities

#
# C-library
#
CT_LIBC_GLIBC=y
# CT_LIBC_MUSL is not set
# CT_LIBC_UCLIBC_NG is not set
CT_LIBC="glibc"
CT_LIBC_CHOICE_KSYM="GLIBC"
CT_LIBC_GLIBC_SHOW=y

#
# Options for glibc
#
CT_LIBC_GLIBC_PKG_KSYM="GLIBC"
CT_GLIBC_DIR_NAME="glibc"
CT_GLIBC_USE_GNU=y
# CT_GLIBC_USE_ORACLE is not set
CT_GLIBC_USE="GLIBC"
CT_GLIBC_PKG_NAME="glibc"
CT_GLIBC_SRC_RELEASE=y
# CT_GLIBC_SRC_DEVEL is not set
# CT_GLIBC_SRC_CUSTOM is not set
CT_GLIBC_PATCH_GLOBAL=y
# CT_GLIBC_PATCH_BUNDLED is not set
# CT_GLIBC_PATCH_LOCAL is not set
# CT_GLIBC_PATCH_BUNDLED_LOCAL is not set
# CT_GLIBC_PATCH_LOCAL_BUNDLED is not set
# CT_GLIBC_PATCH_NONE is not set
CT_GLIBC_PATCH_ORDER="global"
# CT_GLIBC_V_2_43 is not set
# CT_GLIBC_V_2_42 is not set
# CT_GLIBC_V_2_41 is not set
# CT_GLIBC_V_2_40 is not set
# CT_GLIBC_V_2_39 is not set
# CT_GLIBC_V_2_38 is not set
# CT_GLIBC_V_2_37 is not set
# CT_GLIBC_V_2_36 is not set
# CT_GLIBC_V_2_35 is not set
# CT_GLIBC_V_2_34 is not set
# CT_GLIBC_V_2_33 is not set
# CT_GLIBC_V_2_32 is not set
# CT_GLIBC_V_2_31 is not set
# CT_GLIBC_V_2_30 is not set
# CT_GLIBC_V_2_29 is not set
CT_GLIBC_V_2_28=y
# CT_GLIBC_V_2_27 is not set
# CT_GLIBC_V_2_26 is not set
# CT_GLIBC_V_2_25 is not set
# CT_GLIBC_V_2_24 is not set
# CT_GLIBC_V_2_23 is not set
# CT_GLIBC_V_2_19 is not set
# CT_GLIBC_V_2_17 is not set
CT_GLIBC_VERSION="2.28"
CT_GLIBC_MIRRORS="$(CT_Mirrors GNU glibc)"
CT_GLIBC_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
CT_GLIBC_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
CT_GLIBC_ARCHIVE_FORMATS=".tar.xz .tar.bz2 .tar.gz"
CT_GLIBC_SIGNATURE_FORMAT="packed/.sig"
CT_GLIBC_2_43_or_older=y
CT_GLIBC_older_than_2_43=y
CT_GLIBC_2_42_or_older=y
CT_GLIBC_older_than_2_42=y
CT_GLIBC_2_41_or_older=y
CT_GLIBC_older_than_2_41=y
CT_GLIBC_2_38_or_older=y
CT_GLIBC_older_than_2_38=y
CT_GLIBC_2_37_or_older=y
CT_GLIBC_older_than_2_37=y
CT_GLIBC_2_36_or_older=y
CT_GLIBC_older_than_2_36=y
CT_GLIBC_2_34_or_older=y
CT_GLIBC_older_than_2_34=y
CT_GLIBC_2_32_or_older=y
CT_GLIBC_older_than_2_32=y
CT_GLIBC_2_31_or_older=y
CT_GLIBC_older_than_2_31=y
CT_GLIBC_2_30_or_older=y
CT_GLIBC_older_than_2_30=y
CT_GLIBC_2_29_or_older=y
CT_GLIBC_older_than_2_29=y
CT_GLIBC_2_28_or_later=y
CT_GLIBC_2_28_or_older=y
CT_GLIBC_later_than_2_27=y
CT_GLIBC_2_27_or_later=y
CT_GLIBC_later_than_2_26=y
CT_GLIBC_2_26_or_later=y
CT_GLIBC_later_than_2_25=y
CT_GLIBC_2_25_or_later=y
CT_GLIBC_later_than_2_24=y
CT_GLIBC_2_24_or_later=y
CT_GLIBC_later_than_2_23=y
CT_GLIBC_2_23_or_later=y
CT_GLIBC_later_than_2_20=y
CT_GLIBC_2_20_or_later=y
CT_GLIBC_later_than_2_17=y
CT_GLIBC_2_17_or_later=y
CT_GLIBC_later_than_2_14=y
CT_GLIBC_2_14_or_later=y
CT_GLIBC_DEP_KERNEL_HEADERS_VERSION=y
CT_GLIBC_DEP_BINUTILS=y
CT_GLIBC_DEP_GCC=y
CT_GLIBC_DEP_PYTHON=y
CT_GLIBC_DEP_MAKE_4_3=y
CT_GLIBC_SPARC_ALLOW_V7=y
CT_THREADS="nptl"
CT_GLIBC_BUILD_SSP=y
CT_GLIBC_HAS_LIBIDN_ADDON=y
# CT_GLIBC_USE_LIBIDN_ADDON is not set
CT_GLIBC_NO_SPARC_V8=y
CT_GLIBC_HAS_OBSOLETE_RPC=y
CT_GLIBC_EXTRA_CONFIG_ARRAY="--with-pic"
CT_GLIBC_CONFIGPARMS=""
# CT_GLIBC_ENABLE_DEBUG is not set
CT_GLIBC_EXTRA_CFLAGS="-fPIC -DPIC -no-pie"
CT_GLIBC_ENABLE_OBSOLETE_RPC=y
# CT_GLIBC_ENABLE_FORTIFIED_BUILD is not set
# CT_GLIBC_DISABLE_VERSIONING is not set
CT_GLIBC_OLDEST_ABI=""
CT_GLIBC_FORCE_UNWIND=y
# CT_GLIBC_LOCALES is not set
# CT_GLIBC_KERNEL_VERSION_NONE is not set
CT_GLIBC_KERNEL_VERSION_AS_HEADERS=y
# CT_GLIBC_KERNEL_VERSION_CHOSEN is not set
CT_GLIBC_MIN_KERNEL="4.18.20"
# CT_GLIBC_SSP_DEFAULT is not set
# CT_GLIBC_SSP_NO is not set
# CT_GLIBC_SSP_YES is not set
# CT_GLIBC_SSP_ALL is not set
CT_GLIBC_SSP_STRONG=y
CT_GLIBC_SSP="strong"
CT_GLIBC_ENABLE_COMMON_FLAG=y
CT_ALL_LIBC_CHOICES="AVR_LIBC GLIBC MINGW_W64 MOXIEBOX MUSL NEWLIB NONE PICOLIBC UCLIBC_NG"
CT_LIBC_SUPPORT_THREADS_ANY=y
CT_LIBC_SUPPORT_THREADS_NATIVE=y

#
# Common C library options
#
CT_THREADS_NATIVE=y
# CT_CREATE_LDSO_CONF is not set
CT_LIBC_XLDD=y
# end of C-library

#
# C compiler
#
CT_CC_CORE_NEEDED=y
CT_CC_SUPPORT_CXX=y
CT_CC_SUPPORT_FORTRAN=y
CT_CC_SUPPORT_ADA=y
CT_CC_SUPPORT_D=y
CT_CC_SUPPORT_JIT=y
CT_CC_SUPPORT_OBJC=y
CT_CC_SUPPORT_OBJCXX=y
CT_CC_SUPPORT_GOLANG=y
CT_CC_GCC=y
CT_CC="gcc"
CT_CC_CHOICE_KSYM="GCC"
CT_CC_GCC_SHOW=y

#
# Options for gcc
#
CT_CC_GCC_PKG_KSYM="GCC"
CT_GCC_DIR_NAME="gcc"
CT_GCC_USE_GNU=y
# CT_GCC_USE_LINARO is not set
# CT_GCC_USE_ORACLE is not set
CT_GCC_USE="GCC"
CT_GCC_PKG_NAME="gcc"
CT_GCC_SRC_RELEASE=y
# CT_GCC_SRC_DEVEL is not set
# CT_GCC_SRC_CUSTOM is not set
CT_GCC_PATCH_GLOBAL=y
# CT_GCC_PATCH_BUNDLED is not set
# CT_GCC_PATCH_LOCAL is not set
# CT_GCC_PATCH_BUNDLED_LOCAL is not set
# CT_GCC_PATCH_LOCAL_BUNDLED is not set
# CT_GCC_PATCH_NONE is not set
CT_GCC_PATCH_ORDER="global"
CT_GCC_V_15=y
# CT_GCC_V_14 is not set
# CT_GCC_V_13 is not set
# CT_GCC_V_12 is not set
# CT_GCC_V_11 is not set
# CT_GCC_V_10 is not set
# CT_GCC_V_9 is not set
# CT_GCC_V_8 is not set
# CT_GCC_V_7 is not set
# CT_GCC_V_6 is not set
# CT_GCC_V_5 is not set
# CT_GCC_V_4_9 is not set
CT_GCC_VERSION="15.2.0"
CT_GCC_MIRRORS="$(CT_Mirrors GNU gcc/gcc-${CT_GCC_VERSION}) $(CT_Mirrors sourceware gcc/releases/gcc-${CT_GCC_VERSION})"
CT_GCC_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
CT_GCC_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
CT_GCC_ARCHIVE_FORMATS=".tar.xz .tar.gz"
CT_GCC_SIGNATURE_FORMAT=""
CT_GCC_later_than_15=y
CT_GCC_15_or_later=y
CT_GCC_later_than_14=y
CT_GCC_14_or_later=y
CT_GCC_later_than_13=y
CT_GCC_13_or_later=y
CT_GCC_later_than_12=y
CT_GCC_12_or_later=y
CT_GCC_later_than_11=y
CT_GCC_11_or_later=y
CT_GCC_later_than_10=y
CT_GCC_10_or_later=y
CT_GCC_later_than_9=y
CT_GCC_9_or_later=y
CT_GCC_later_than_8=y
CT_GCC_8_or_later=y
CT_GCC_later_than_7=y
CT_GCC_7_or_later=y
CT_GCC_later_than_6=y
CT_GCC_6_or_later=y
CT_GCC_later_than_5=y
CT_GCC_5_or_later=y
CT_GCC_later_than_4_9=y
CT_GCC_4_9_or_later=y
CT_GCC_REQUIRE_4_9_or_later=y
CT_CC_GCC_ENABLE_PLUGINS=y
CT_CC_GCC_HAS_LIBMPX=y
CT_CC_GCC_ENABLE_CXX_FLAGS=""
CT_CC_GCC_CORE_EXTRA_CONFIG_ARRAY="--enable-host-shared --enable-default-ssp"
CT_CC_GCC_EXTRA_CONFIG_ARRAY="--enable-host-shared --enable-default-ssp --with-build-config=bootstrap-lto-lean --enable-link-serialization=2"
# CT_CC_GCC_STATIC_LIBSTDCXX is not set
# CT_CC_GCC_SYSTEM_ZLIB is not set
CT_CC_GCC_CONFIG_TLS=m

#
# Optimisation features
#
CT_CC_GCC_USE_GRAPHITE=y
CT_CC_GCC_USE_LTO=y
CT_CC_GCC_LTO_ZSTD=m

#
# Settings for libraries running on target
#
CT_CC_GCC_ENABLE_DEFAULT_PIE=y
# CT_CC_GCC_ENABLE_TARGET_OPTSPACE is not set
CT_CC_GCC_LIBSTDCXX=m
# CT_CC_GCC_LIBSTDCXX_HOSTED_DISABLE is not set
CT_CC_GCC_LIBSTDCXX_TARGET_CXXFLAGS="-O2 -pipe"
# CT_CC_GCC_LIBMUDFLAP is not set
CT_CC_GCC_LIBGOMP=y
CT_CC_GCC_LIBSSP=m
# CT_CC_GCC_LIBQUADMATH is not set
# CT_CC_GCC_LIBSANITIZER is not set
# CT_CC_GCC_LIBMPX is not set
# CT_CC_GCC_LIBSTDCXX_VERBOSE is not set

#
# Misc. obscure options.
#
CT_CC_CXA_ATEXIT=y
CT_CC_GCC_TM_CLONE_REGISTRY=m
# CT_CC_GCC_DISABLE_PCH is not set
CT_CC_GCC_SJLJ_EXCEPTIONS=m
CT_CC_GCC_LDBL_128=m
# CT_CC_GCC_BUILD_ID is not set
CT_CC_GCC_LNK_HASH_STYLE_DEFAULT=y
# CT_CC_GCC_LNK_HASH_STYLE_SYSV is not set
# CT_CC_GCC_LNK_HASH_STYLE_GNU is not set
# CT_CC_GCC_LNK_HASH_STYLE_BOTH is not set
CT_CC_GCC_LNK_HASH_STYLE=""
CT_CC_GCC_DEC_FLOATS_AUTO=y
# CT_CC_GCC_DEC_FLOATS_BID is not set
# CT_CC_GCC_DEC_FLOATS_DPD is not set
# CT_CC_GCC_DEC_FLOATS_NO is not set
CT_CC_GCC_DEC_FLOATS=""
CT_ALL_CC_CHOICES="GCC"

#
# Additional supported languages:
#
CT_CC_LANG_CXX=y
# CT_CC_LANG_FORTRAN is not set
# CT_CC_LANG_JIT is not set
# CT_CC_LANG_ADA is not set
# CT_CC_LANG_D is not set
# CT_CC_LANG_OBJC is not set
# CT_CC_LANG_OBJCXX is not set
# CT_CC_LANG_GOLANG is not set
CT_CC_LANG_OTHERS=""
# end of C compiler

#
# Linkers
#

#
# BFD enabled in binutils
#
CT_LINKER_MOLD=y
CT_LINKER_MOLD_PKG_KSYM="MOLD"
CT_MOLD_DIR_NAME="mold"
CT_MOLD_PKG_NAME="mold"
CT_MOLD_SRC_RELEASE=y
# CT_MOLD_SRC_DEVEL is not set
# CT_MOLD_SRC_CUSTOM is not set
CT_MOLD_PATCH_GLOBAL=y
# CT_MOLD_PATCH_BUNDLED is not set
# CT_MOLD_PATCH_LOCAL is not set
# CT_MOLD_PATCH_BUNDLED_LOCAL is not set
# CT_MOLD_PATCH_LOCAL_BUNDLED is not set
# CT_MOLD_PATCH_NONE is not set
CT_MOLD_PATCH_ORDER="global"
CT_MOLD_V_2_40_4=y
# CT_MOLD_V_2_39_1 is not set
# CT_MOLD_V_2_38_1 is not set
# CT_MOLD_V_2_37_1 is not set
# CT_MOLD_V_2_36_0 is not set
# CT_MOLD_V_2_33_0 is not set
# CT_MOLD_V_2_32_0 is not set
# CT_MOLD_V_2_31_0 is not set
CT_MOLD_VERSION="2.40.4"
CT_MOLD_MIRRORS="https://github.com/rui314/mold/archive/refs/tags"
CT_MOLD_ARCHIVE_FILENAME="v@{version}"
CT_MOLD_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
CT_MOLD_ARCHIVE_FORMATS=".tar.gz"
CT_MOLD_SIGNATURE_FORMAT=""
CT_LINKER_MOLD_has_cmake=y
CT_ALL_LINKER_CHOICES="MOLD"
# end of Linkers

#
# Debug facilities
#
# CT_DEBUG_DUMA is not set
# CT_DEBUG_GDB is not set
# CT_DEBUG_LTRACE is not set
# CT_DEBUG_STRACE is not set
CT_ALL_DEBUG_CHOICES="DUMA GDB LTRACE STRACE"
# end of Debug facilities

#
# Companion libraries
#
# CT_COMPLIBS_CHECK is not set
# CT_COMP_LIBS_CLOOG is not set
# CT_COMP_LIBS_EXPAT is not set
CT_COMP_LIBS_GETTEXT=y
CT_COMP_LIBS_GETTEXT_PKG_KSYM="GETTEXT"
CT_GETTEXT_DIR_NAME="gettext"
CT_GETTEXT_PKG_NAME="gettext"
CT_GETTEXT_SRC_RELEASE=y
# CT_GETTEXT_SRC_DEVEL is not set
# CT_GETTEXT_SRC_CUSTOM is not set
CT_GETTEXT_PATCH_GLOBAL=y
# CT_GETTEXT_PATCH_BUNDLED is not set
# CT_GETTEXT_PATCH_LOCAL is not set
# CT_GETTEXT_PATCH_BUNDLED_LOCAL is not set
# CT_GETTEXT_PATCH_LOCAL_BUNDLED is not set
# CT_GETTEXT_PATCH_NONE is not set
CT_GETTEXT_PATCH_ORDER="global"
CT_GETTEXT_V_0_26=y
# CT_GETTEXT_V_0_23_1 is not set
# CT_GETTEXT_V_0_22_5 is not set
# CT_GETTEXT_V_0_21 is not set
# CT_GETTEXT_V_0_20_1 is not set
# CT_GETTEXT_V_0_19_8_1 is not set
CT_GETTEXT_VERSION="0.26"
CT_GETTEXT_MIRRORS="$(CT_Mirrors GNU gettext)"
CT_GETTEXT_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
CT_GETTEXT_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
CT_GETTEXT_ARCHIVE_FORMATS=".tar.xz .tar.gz"
CT_GETTEXT_SIGNATURE_FORMAT="packed/.sig"
CT_GETTEXT_later_than_0_23=y
CT_GETTEXT_0_23_or_later=y
CT_GETTEXT_later_than_0_21=y
CT_GETTEXT_0_21_or_later=y
CT_GETTEXT_INCOMPATIBLE_WITH_UCLIBC_NG=y

#
# This version of gettext is not compatible with uClibc-NG. Select
#

#
# a different version if uClibc-NG is used on the target or (in a
#

#
# Canadian cross build) on the host.
#
CT_COMP_LIBS_GMP=y
CT_COMP_LIBS_GMP_PKG_KSYM="GMP"
CT_GMP_DIR_NAME="gmp"
CT_GMP_PKG_NAME="gmp"
CT_GMP_SRC_RELEASE=y
# CT_GMP_SRC_DEVEL is not set
# CT_GMP_SRC_CUSTOM is not set
CT_GMP_PATCH_GLOBAL=y
# CT_GMP_PATCH_BUNDLED is not set
# CT_GMP_PATCH_LOCAL is not set
# CT_GMP_PATCH_BUNDLED_LOCAL is not set
# CT_GMP_PATCH_LOCAL_BUNDLED is not set
# CT_GMP_PATCH_NONE is not set
CT_GMP_PATCH_ORDER="global"
CT_GMP_V_6_3=y
# CT_GMP_V_6_2 is not set
# CT_GMP_V_6_1 is not set
CT_GMP_VERSION="6.3.0"
CT_GMP_MIRRORS="https://gmplib.org/download/gmp https://gmplib.org/download/gmp/archive $(CT_Mirrors GNU gmp)"
CT_GMP_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
CT_GMP_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
CT_GMP_ARCHIVE_FORMATS=".tar.xz .tar.lz .tar.bz2"
CT_GMP_SIGNATURE_FORMAT="packed/.sig"
CT_GMP_EXTRA_CFLAGS="-std=gnu17"
CT_COMP_LIBS_ISL=y
CT_COMP_LIBS_ISL_PKG_KSYM="ISL"
CT_ISL_DIR_NAME="isl"
CT_ISL_PKG_NAME="isl"
CT_ISL_SRC_RELEASE=y
# CT_ISL_SRC_DEVEL is not set
# CT_ISL_SRC_CUSTOM is not set
CT_ISL_PATCH_GLOBAL=y
# CT_ISL_PATCH_BUNDLED is not set
# CT_ISL_PATCH_LOCAL is not set
# CT_ISL_PATCH_BUNDLED_LOCAL is not set
# CT_ISL_PATCH_LOCAL_BUNDLED is not set
# CT_ISL_PATCH_NONE is not set
CT_ISL_PATCH_ORDER="global"
CT_ISL_V_0_27=y
# CT_ISL_V_0_26 is not set
# CT_ISL_V_0_25 is not set
# CT_ISL_V_0_24 is not set
# CT_ISL_V_0_23 is not set
# CT_ISL_V_0_22 is not set
# CT_ISL_V_0_21 is not set
# CT_ISL_V_0_20 is not set
# CT_ISL_V_0_19 is not set
# CT_ISL_V_0_18 is not set
# CT_ISL_V_0_17 is not set
# CT_ISL_V_0_16 is not set
# CT_ISL_V_0_15 is not set
# CT_ISL_V_0_11 is not set
CT_ISL_VERSION="0.27"
CT_ISL_MIRRORS="https://libisl.sourceforge.io"
CT_ISL_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
CT_ISL_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
CT_ISL_ARCHIVE_FORMATS=".tar.xz .tar.bz2 .tar.gz"
CT_ISL_SIGNATURE_FORMAT=""
CT_ISL_later_than_0_18=y
CT_ISL_0_18_or_later=y
CT_ISL_later_than_0_15=y
CT_ISL_0_15_or_later=y
# CT_COMP_LIBS_LIBELF is not set
CT_COMP_LIBS_LIBICONV=y
CT_COMP_LIBS_LIBICONV_PKG_KSYM="LIBICONV"
CT_LIBICONV_DIR_NAME="libiconv"
CT_LIBICONV_PKG_NAME="libiconv"
CT_LIBICONV_SRC_RELEASE=y
# CT_LIBICONV_SRC_DEVEL is not set
# CT_LIBICONV_SRC_CUSTOM is not set
CT_LIBICONV_PATCH_GLOBAL=y
# CT_LIBICONV_PATCH_BUNDLED is not set
# CT_LIBICONV_PATCH_LOCAL is not set
# CT_LIBICONV_PATCH_BUNDLED_LOCAL is not set
# CT_LIBICONV_PATCH_LOCAL_BUNDLED is not set
# CT_LIBICONV_PATCH_NONE is not set
CT_LIBICONV_PATCH_ORDER="global"
CT_LIBICONV_V_1_18=y
# CT_LIBICONV_V_1_16 is not set
# CT_LIBICONV_V_1_15 is not set
CT_LIBICONV_VERSION="1.18"
CT_LIBICONV_MIRRORS="$(CT_Mirrors GNU libiconv)"
CT_LIBICONV_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
CT_LIBICONV_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
CT_LIBICONV_ARCHIVE_FORMATS=".tar.gz"
CT_LIBICONV_SIGNATURE_FORMAT="packed/.sig"
CT_COMP_LIBS_MPC=y
CT_COMP_LIBS_MPC_PKG_KSYM="MPC"
CT_MPC_DIR_NAME="mpc"
CT_MPC_PKG_NAME="mpc"
CT_MPC_SRC_RELEASE=y
# CT_MPC_SRC_DEVEL is not set
# CT_MPC_SRC_CUSTOM is not set
CT_MPC_PATCH_GLOBAL=y
# CT_MPC_PATCH_BUNDLED is not set
# CT_MPC_PATCH_LOCAL is not set
# CT_MPC_PATCH_BUNDLED_LOCAL is not set
# CT_MPC_PATCH_LOCAL_BUNDLED is not set
# CT_MPC_PATCH_NONE is not set
CT_MPC_PATCH_ORDER="global"
CT_MPC_V_1_3=y
CT_MPC_VERSION="1.3.1"
CT_MPC_MIRRORS="https://www.multiprecision.org/downloads $(CT_Mirrors GNU mpc)"
CT_MPC_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
CT_MPC_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
CT_MPC_ARCHIVE_FORMATS=".tar.gz"
CT_MPC_SIGNATURE_FORMAT="packed/.sig"
CT_COMP_LIBS_MPFR=y
CT_COMP_LIBS_MPFR_PKG_KSYM="MPFR"
CT_MPFR_DIR_NAME="mpfr"
CT_MPFR_PKG_NAME="mpfr"
CT_MPFR_SRC_RELEASE=y
# CT_MPFR_SRC_DEVEL is not set
# CT_MPFR_SRC_CUSTOM is not set
CT_MPFR_PATCH_GLOBAL=y
# CT_MPFR_PATCH_BUNDLED is not set
# CT_MPFR_PATCH_LOCAL is not set
# CT_MPFR_PATCH_BUNDLED_LOCAL is not set
# CT_MPFR_PATCH_LOCAL_BUNDLED is not set
# CT_MPFR_PATCH_NONE is not set
CT_MPFR_PATCH_ORDER="global"
CT_MPFR_V_4_2=y
CT_MPFR_VERSION="4.2.2"
CT_MPFR_MIRRORS="https://www.mpfr.org/mpfr-${CT_MPFR_VERSION} $(CT_Mirrors GNU mpfr)"
CT_MPFR_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
CT_MPFR_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
CT_MPFR_ARCHIVE_FORMATS=".tar.xz .tar.bz2 .tar.gz .zip"
CT_MPFR_SIGNATURE_FORMAT="packed/.asc"
CT_COMP_LIBS_NCURSES=y
CT_COMP_LIBS_NCURSES_PKG_KSYM="NCURSES"
CT_NCURSES_DIR_NAME="ncurses"
CT_NCURSES_PKG_NAME="ncurses"
CT_NCURSES_SRC_RELEASE=y
# CT_NCURSES_SRC_DEVEL is not set
# CT_NCURSES_SRC_CUSTOM is not set
CT_NCURSES_PATCH_GLOBAL=y
# CT_NCURSES_PATCH_BUNDLED is not set
# CT_NCURSES_PATCH_LOCAL is not set
# CT_NCURSES_PATCH_BUNDLED_LOCAL is not set
# CT_NCURSES_PATCH_LOCAL_BUNDLED is not set
# CT_NCURSES_PATCH_NONE is not set
CT_NCURSES_PATCH_ORDER="global"
CT_NCURSES_V_6_5=y
# CT_NCURSES_V_6_4 is not set
# CT_NCURSES_V_6_2 is not set
# CT_NCURSES_V_6_1 is not set
# CT_NCURSES_V_6_0 is not set
CT_NCURSES_VERSION="6.5"
CT_NCURSES_MIRRORS="https://invisible-mirror.net/archives/ncurses $(CT_Mirrors GNU ncurses)"
CT_NCURSES_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
CT_NCURSES_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
CT_NCURSES_ARCHIVE_FORMATS=".tar.gz"
CT_NCURSES_SIGNATURE_FORMAT="packed/.asc"
# CT_NCURSES_NEW_ABI is not set
CT_NCURSES_HOST_CONFIG_ARGS=""
CT_NCURSES_HOST_DISABLE_DB=y
CT_NCURSES_HOST_FALLBACKS="linux,xterm,xterm-color,xterm-256color,vt100"
CT_NCURSES_TARGET_CONFIG_ARGS=""
# CT_NCURSES_TARGET_DISABLE_DB is not set
CT_NCURSES_TARGET_FALLBACKS=""
CT_NCURSES_EXTRA_CFLAGS="-std=gnu17"
CT_COMP_LIBS_ZLIB=y
CT_COMP_LIBS_ZLIB_PKG_KSYM="ZLIB"
CT_ZLIB_DIR_NAME="zlib"
CT_ZLIB_PKG_NAME="zlib"
CT_ZLIB_SRC_RELEASE=y
# CT_ZLIB_SRC_DEVEL is not set
# CT_ZLIB_SRC_CUSTOM is not set
CT_ZLIB_PATCH_GLOBAL=y
# CT_ZLIB_PATCH_BUNDLED is not set
# CT_ZLIB_PATCH_LOCAL is not set
# CT_ZLIB_PATCH_BUNDLED_LOCAL is not set
# CT_ZLIB_PATCH_LOCAL_BUNDLED is not set
# CT_ZLIB_PATCH_NONE is not set
CT_ZLIB_PATCH_ORDER="global"
CT_ZLIB_V_1_3_1=y
# CT_ZLIB_V_1_2_13 is not set
CT_ZLIB_VERSION="1.3.1"
CT_ZLIB_MIRRORS="https://github.com/madler/zlib/releases/download/v${CT_ZLIB_VERSION} https://www.zlib.net/"
CT_ZLIB_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
CT_ZLIB_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
CT_ZLIB_ARCHIVE_FORMATS=".tar.xz .tar.gz"
CT_ZLIB_SIGNATURE_FORMAT="packed/.asc"
CT_COMP_LIBS_ZSTD=y
CT_COMP_LIBS_ZSTD_PKG_KSYM="ZSTD"
CT_ZSTD_DIR_NAME="zstd"
CT_ZSTD_PKG_NAME="zstd"
CT_ZSTD_SRC_RELEASE=y
# CT_ZSTD_SRC_DEVEL is not set
# CT_ZSTD_SRC_CUSTOM is not set
CT_ZSTD_PATCH_GLOBAL=y
# CT_ZSTD_PATCH_BUNDLED is not set
# CT_ZSTD_PATCH_LOCAL is not set
# CT_ZSTD_PATCH_BUNDLED_LOCAL is not set
# CT_ZSTD_PATCH_LOCAL_BUNDLED is not set
# CT_ZSTD_PATCH_NONE is not set
CT_ZSTD_PATCH_ORDER="global"
CT_ZSTD_V_1_5_7=y
# CT_ZSTD_V_1_5_6 is not set
# CT_ZSTD_V_1_5_5 is not set
# CT_ZSTD_V_1_5_2 is not set
CT_ZSTD_VERSION="1.5.7"
CT_ZSTD_MIRRORS="https://github.com/facebook/zstd/releases/download/v${CT_ZSTD_VERSION} https://downloads.sourceforge.net/project/zstandard.mirror/v${CT_ZSTD_VERSION}"
CT_ZSTD_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
CT_ZSTD_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
CT_ZSTD_ARCHIVE_FORMATS=".tar.gz"
CT_ZSTD_SIGNATURE_FORMAT="packed/.sig"
CT_ALL_COMP_LIBS_CHOICES="CLOOG EXPAT GETTEXT GMP GNUPRUMCU ISL LIBELF LIBICONV MPC MPFR NCURSES NEWLIB_NANO PICOLIBC ZLIB ZSTD"
CT_LIBICONV_NEEDED=y
CT_GETTEXT_NEEDED=y
CT_GMP_NEEDED=y
CT_MPFR_NEEDED=y
CT_ISL_NEEDED=y
CT_MPC_NEEDED=y
CT_NCURSES_NEEDED=y
CT_ZLIB_NEEDED=y
CT_ZSTD_NEEDED=y
CT_LIBICONV=y
CT_GETTEXT=y
CT_GMP=y
CT_MPFR=y
CT_ISL=y
CT_MPC=y
CT_NCURSES=y
CT_ZLIB=y
CT_ZSTD=y
# end of Companion libraries

#
# Companion tools
#
# CT_COMP_TOOLS_FOR_HOST is not set
# CT_COMP_TOOLS_AUTOCONF is not set
# CT_COMP_TOOLS_AUTOMAKE is not set
# CT_COMP_TOOLS_BISON is not set
# CT_COMP_TOOLS_DTC is not set
# CT_COMP_TOOLS_LIBTOOL is not set
# CT_COMP_TOOLS_M4 is not set
CT_COMP_TOOLS_MAKE=y
CT_COMP_TOOLS_MAKE_PKG_KSYM="MAKE"
CT_MAKE_DIR_NAME="make"
CT_MAKE_PKG_NAME="make"
CT_MAKE_SRC_RELEASE=y
# CT_MAKE_SRC_DEVEL is not set
# CT_MAKE_SRC_CUSTOM is not set
CT_MAKE_PATCH_GLOBAL=y
# CT_MAKE_PATCH_BUNDLED is not set
# CT_MAKE_PATCH_LOCAL is not set
# CT_MAKE_PATCH_BUNDLED_LOCAL is not set
# CT_MAKE_PATCH_LOCAL_BUNDLED is not set
# CT_MAKE_PATCH_NONE is not set
CT_MAKE_PATCH_ORDER="global"
CT_MAKE_V_4_3=y
CT_MAKE_VERSION="4.3"
CT_MAKE_MIRRORS="$(CT_Mirrors GNU make)"
CT_MAKE_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
CT_MAKE_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
CT_MAKE_ARCHIVE_FORMATS=".tar.lz .tar.gz"
CT_MAKE_SIGNATURE_FORMAT="packed/.sig"
CT_MAKE_4_4_or_older=y
CT_MAKE_older_than_4_4=y
CT_MAKE_REQUIRE_older_than_4_4=y
CT_MAKE_4_3_or_later=y
CT_MAKE_4_3_or_older=y
CT_MAKE_GMAKE_SYMLINK=y
CT_MAKE_GNUMAKE_SYMLINK=y
CT_ALL_COMP_TOOLS_CHOICES="AUTOCONF AUTOMAKE BISON DTC LIBTOOL M4 MAKE"
# end of Companion tools

#
# Test suite
#
# CT_TEST_SUITE_GCC is not set
# end of Test suite


================================================
FILE: images/base-linux32/gen-implib.sh
================================================
#!/bin/bash
set -e
if [[ $# != 2 ]]; then
    echo "Invalid arguments"
    exit 1
fi
IN="$1"
OUT="$2"

TMPDIR="$(mktemp -d)"
trap "rm -rf '$TMPDIR'" EXIT
cd "$TMPDIR"

set -x
python3 /opt/implib/implib-gen.py --target i686-linux-gnu --dlopen --lazy-load --verbose "$IN"
${FFBUILD_CROSS_PREFIX}gcc $CFLAGS $STAGE_CFLAGS -Wa,--noexecstack -DIMPLIB_HIDDEN_SHIMS -c *.tramp.S *.init.c
${FFBUILD_CROSS_PREFIX}ar -rcs "$OUT" *.tramp.o *.init.o


================================================
FILE: images/base-linux32/toolchain.cmake
================================================
set(CMAKE_SYSTEM_NAME Linux)
set(CMAKE_SYSTEM_PROCESSOR i686)
set(CMAKE_SYSTEM_VERSION 4.18.20)

set(triple i686-ffbuild-linux-gnu)

set(CMAKE_C_COMPILER ${triple}-gcc)
set(CMAKE_CXX_COMPILER ${triple}-g++)
set(CMAKE_RANLIB ${triple}-gcc-ranlib)
set(CMAKE_AR ${triple}-gcc-ar)

set(CMAKE_SYSROOT /opt/ct-ng/${triple}/sysroot)
set(CMAKE_FIND_ROOT_PATH /opt/ct-ng /opt/ct-ng/${triple}/sysroot /opt/ffbuild)

set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)


================================================
FILE: images/base-linux64/Dockerfile
================================================
ARG GH_REPO=ghcr.io/btbn/ffmpeg-builds
FROM $GH_REPO/base:latest

RUN --mount=src=ct-ng-config,dst=/.config \
    git clone --filter=blob:none https://github.com/crosstool-ng/crosstool-ng.git /ct-ng && cd /ct-ng && \
    ./bootstrap && \
    ./configure --enable-local && \
    make -j$(nproc) && \
    cp /.config .config && \
    ./ct-ng build && \
    cd / && \
    rm -rf ct-ng

# Prepare "cross" environment to heavily favour static builds
RUN \
    find /opt/ct-ng \( -type l \
        -and -name '*.so' \
        -and -not -ipath '*plugin*' \
        -and -not -name 'libdl.*' \
        -and -not -name 'libc.*' \
        -and -not -name 'libm.*' \
        -and -not -name 'libmvec.*' \
        -and -not -name 'librt.*' \
        -and -not -name 'libpthread.*' \
        \) -delete && \
    find /opt/ct-ng \( \
        -name 'libdl.a' \
        -or -name 'libc.a' \
        -or -name 'libm.a' \
        -or -name 'libmvec.a' \
        -or -name 'librt.a' \
        -or -name 'libpthread.a' \
        \) -delete && \
    mkdir /opt/ffbuild

ENV FFBUILD_TOOLCHAIN=x86_64-ffbuild-linux-gnu \
    FFBUILD_RUST_TARGET="x86_64-unknown-linux-gnu"

RUN \
    rustup default nightly && \
    echo "[unstable]\ntarget-applies-to-host = true\nhost-config = true\n" > "$CARGO_HOME"/config.toml && \
    echo "[target.$FFBUILD_RUST_TARGET]\nlinker = \"${FFBUILD_TOOLCHAIN}-gcc\"\nar = \"${FFBUILD_TOOLCHAIN}-gcc-ar\"\n" >> "$CARGO_HOME"/config.toml && \
    echo "[target.host]\nlinker = \"gcc\"\nar = \"ar\"\n" >> "$CARGO_HOME"/config.toml

ADD toolchain.cmake /toolchain.cmake
ADD cross.meson /cross.meson

ADD gen-implib.sh /usr/bin/gen-implib
RUN git clone --filter=blob:none --depth=1 https://github.com/yugr/Implib.so /opt/implib

ENV PATH="/opt/ct-ng/bin:${PATH}" \
    FFBUILD_TARGET_FLAGS="--pkg-config=pkg-config --cross-prefix=${FFBUILD_TOOLCHAIN}- --arch=x86_64 --target-os=linux" \
    FFBUILD_CROSS_PREFIX="${FFBUILD_TOOLCHAIN}-" \
    FFBUILD_PREFIX=/opt/ffbuild \
    FFBUILD_DESTDIR=/opt/ffdest \
    FFBUILD_DESTPREFIX=/opt/ffdest/opt/ffbuild \
    FFBUILD_CMAKE_TOOLCHAIN=/toolchain.cmake \
    PKG_CONFIG=pkg-config \
    PKG_CONFIG_LIBDIR=/opt/ffbuild/lib/pkgconfig:/opt/ffbuild/share/pkgconfig \
    CC="${FFBUILD_TOOLCHAIN}-gcc" \
    CXX="${FFBUILD_TOOLCHAIN}-g++" \
    LD="${FFBUILD_TOOLCHAIN}-ld" \
    AR="${FFBUILD_TOOLCHAIN}-gcc-ar" \
    RANLIB="${FFBUILD_TOOLCHAIN}-gcc-ranlib" \
    NM="${FFBUILD_TOOLCHAIN}-gcc-nm" \
    CFLAGS="-static-libgcc -static-libstdc++ -I/opt/ffbuild/include -O2 -pipe -fPIC -DPIC -D_FORTIFY_SOURCE=2 -fstack-protector-strong -fstack-clash-protection -pthread" \
    CXXFLAGS="-static-libgcc -static-libstdc++ -I/opt/ffbuild/include -O2 -pipe -fPIC -DPIC -D_FORTIFY_SOURCE=2 -fstack-protector-strong -fstack-clash-protection -pthread" \
    LDFLAGS="-static-libgcc -static-libstdc++ -L/opt/ffbuild/lib -O2 -pipe -fstack-protector-strong -fstack-clash-protection -Wl,-z,relro,-z,now -pthread -lm" \
    STAGE_CFLAGS="-fvisibility=hidden -fno-semantic-interposition" \
    STAGE_CXXFLAGS="-fvisibility=hidden -fno-semantic-interposition"


================================================
FILE: images/base-linux64/cross.meson
================================================
[binaries]
c = 'x86_64-ffbuild-linux-gnu-gcc'
cpp = 'x86_64-ffbuild-linux-gnu-g++'
ld = 'x86_64-ffbuild-linux-gnu-ld'
ar = 'x86_64-ffbuild-linux-gnu-gcc-ar'
ranlib = 'x86_64-ffbuild-linux-gnu-gcc-ranlib'
strip = 'x86_64-ffbuild-linux-gnu-strip'

[host_machine]
system = 'linux'
cpu_family = 'x86_64'
cpu = 'x86_64'
endian = 'little'


================================================
FILE: images/base-linux64/ct-ng-config
================================================
#
# Automatically generated file; DO NOT EDIT.
# crosstool-NG 1.28.0.23_185f348 Configuration
#
CT_CONFIGURE_has_static_link=y
CT_CONFIGURE_has_cxx11=y
CT_CONFIGURE_has_wget=y
CT_CONFIGURE_has_curl=y
CT_CONFIGURE_has_meson=y
CT_CONFIGURE_has_ninja=y
CT_CONFIGURE_has_make_3_81_or_newer=y
CT_CONFIGURE_has_make_4_0_or_newer=y
CT_CONFIGURE_has_make_4_4_or_newer=y
CT_CONFIGURE_has_libtool_2_4_or_newer=y
CT_CONFIGURE_has_libtoolize_2_4_or_newer=y
CT_CONFIGURE_has_autoconf_2_65_or_newer=y
CT_CONFIGURE_has_autoreconf_2_65_or_newer=y
CT_CONFIGURE_has_automake_1_15_or_newer=y
CT_CONFIGURE_has_gnu_m4_1_4_12_or_newer=y
CT_CONFIGURE_has_python_3_4_or_newer=y
CT_CONFIGURE_has_bison_2_7_or_newer=y
CT_CONFIGURE_has_bison_3_0_4_or_newer=y
CT_CONFIGURE_has_python=y
CT_CONFIGURE_has_dtc=y
CT_CONFIGURE_has_svn=y
CT_CONFIGURE_has_git=y
CT_CONFIGURE_has_md5sum=y
CT_CONFIGURE_has_sha1sum=y
CT_CONFIGURE_has_sha256sum=y
CT_CONFIGURE_has_sha512sum=y
CT_CONFIGURE_has_install_with_strip_program=y
CT_VERSION="1.28.0.23_185f348"
CT_VCHECK=""
CT_CONFIG_VERSION_ENV="4"
CT_CONFIG_VERSION_CURRENT="4"
CT_CONFIG_VERSION="4"
CT_MODULES=y

#
# Paths and misc options
#

#
# crosstool-NG behavior
#
CT_OBSOLETE=y
CT_EXPERIMENTAL=y
CT_ALLOW_BUILD_AS_ROOT=y
CT_ALLOW_BUILD_AS_ROOT_SURE=y
# CT_ENABLE_EXPERIMENTAL_BUNDLED_PATCHES is not set
# CT_DEBUG_CT is not set

#
# Paths
#
CT_LOCAL_TARBALLS_DIR="${HOME}/src"
# CT_SAVE_TARBALLS is not set
# CT_TARBALLS_BUILDROOT_LAYOUT is not set
CT_WORK_DIR="${CT_TOP_DIR}/build"
CT_BUILD_TOP_DIR="${CT_WORK_DIR:-${CT_TOP_DIR}/.build}/${CT_HOST:+HOST-${CT_HOST}/}${CT_TARGET}"
CT_BUILD_DIR="${CT_BUILD_TOP_DIR}/build"
CT_PREFIX_DIR="/opt/ct-ng"
CT_RM_RF_PREFIX_DIR=y
CT_REMOVE_DOCS=y
# CT_INSTALL_LICENSES is not set
# CT_PREFIX_DIR_RO is not set
CT_STRIP_HOST_TOOLCHAIN_EXECUTABLES=y
CT_STRIP_TARGET_TOOLCHAIN_EXECUTABLES=y
# CT_TARBALL_RESULT is not set

#
# Downloading
#
CT_DOWNLOAD_AGENT_WGET=y
# CT_DOWNLOAD_AGENT_CURL is not set
# CT_DOWNLOAD_AGENT_NONE is not set
# CT_FORBID_DOWNLOAD is not set
# CT_FORCE_DOWNLOAD is not set
CT_CONNECT_TIMEOUT=10
CT_DOWNLOAD_WGET_OPTIONS="--passive-ftp --tries=3 -nc --progress=dot:binary"
# CT_ONLY_DOWNLOAD is not set
# CT_USE_MIRROR is not set
CT_VERIFY_DOWNLOAD_DIGEST=y
CT_VERIFY_DOWNLOAD_DIGEST_SHA512=y
# CT_VERIFY_DOWNLOAD_DIGEST_SHA256 is not set
# CT_VERIFY_DOWNLOAD_DIGEST_SHA1 is not set
# CT_VERIFY_DOWNLOAD_DIGEST_MD5 is not set
CT_VERIFY_DOWNLOAD_DIGEST_ALG="sha512"
# CT_VERIFY_DOWNLOAD_SIGNATURE is not set

#
# Extracting
#
# CT_FORCE_EXTRACT is not set
CT_OVERRIDE_CONFIG_GUESS_SUB=y
# CT_ONLY_EXTRACT is not set
CT_PATCH_BUNDLED=y
# CT_PATCH_LOCAL is not set
# CT_PATCH_BUNDLED_LOCAL is not set
# CT_PATCH_LOCAL_BUNDLED is not set
# CT_PATCH_NONE is not set
CT_PATCH_ORDER="bundled"

#
# Build behavior
#
CT_PARALLEL_JOBS=0
CT_LOAD=""
CT_USE_PIPES=y
CT_EXTRA_CFLAGS_FOR_BUILD="-fPIC -DPIC"
CT_EXTRA_CXXFLAGS_FOR_BUILD="-fPIC -DPIC"
CT_EXTRA_LDFLAGS_FOR_BUILD=""
CT_EXTRA_CFLAGS_FOR_HOST="-fPIC -DPIC"
CT_EXTRA_LDFLAGS_FOR_HOST=""
# CT_CONFIG_SHELL_SH is not set
# CT_CONFIG_SHELL_ASH is not set
CT_CONFIG_SHELL_BASH=y
# CT_CONFIG_SHELL_CUSTOM is not set
CT_CONFIG_SHELL="${bash}"

#
# Logging
#
# CT_LOG_ERROR is not set
# CT_LOG_WARN is not set
# CT_LOG_INFO is not set
# CT_LOG_EXTRA is not set
# CT_LOG_ALL is not set
CT_LOG_DEBUG=y
CT_LOG_LEVEL_MAX="DEBUG"
# CT_LOG_SEE_TOOLS_WARN is not set
# CT_LOG_TO_FILE is not set
# end of Paths and misc options

#
# Target options
#
# CT_ARCH_ALPHA is not set
# CT_ARCH_ARC is not set
# CT_ARCH_ARM is not set
# CT_ARCH_AVR is not set
# CT_ARCH_BPF is not set
# CT_ARCH_C6X is not set
# CT_ARCH_LM32 is not set
# CT_ARCH_LOONGARCH is not set
# CT_ARCH_M68K is not set
# CT_ARCH_MICROBLAZE is not set
# CT_ARCH_MIPS is not set
# CT_ARCH_MOXIE is not set
# CT_ARCH_MSP430 is not set
# CT_ARCH_NIOS2 is not set
# CT_ARCH_OPENRISC is not set
# CT_ARCH_PARISC is not set
# CT_ARCH_POWERPC is not set
# CT_ARCH_PRU is not set
# CT_ARCH_RISCV is not set
# CT_ARCH_RX is not set
# CT_ARCH_S390 is not set
# CT_ARCH_SH is not set
# CT_ARCH_SPARC is not set
# CT_ARCH_TRICORE is not set
CT_ARCH_X86=y
# CT_ARCH_XTENSA is not set
CT_ARCH="x86"
CT_ARCH_CHOICE_KSYM="X86"
CT_ARCH_CPU=""
CT_ARCH_TUNE=""
CT_ARCH_X86_SHOW=y

#
# Options for x86
#
CT_ARCH_X86_PKG_KSYM=""
CT_ALL_ARCH_CHOICES="ALPHA ARC ARM AVR BPF C6X LM32 LOONGARCH M68K MICROBLAZE MIPS MOXIE MSP430 NIOS2 OPENRISC PARISC POWERPC PRU RISCV RX S390 SH SPARC TRICORE X86 XTENSA"
CT_ARCH_SUFFIX=""
# CT_OMIT_TARGET_VENDOR is not set

#
# Generic target options
#
# CT_MULTILIB is not set
CT_DEMULTILIB=y
CT_ARCH_USE_MMU=y
CT_ARCH_SUPPORTS_LIBSANITIZER=y
CT_ARCH_SUPPORTS_32=y
CT_ARCH_SUPPORTS_64=y
CT_ARCH_DEFAULT_32=y
CT_ARCH_BITNESS=64
# CT_ARCH_32 is not set
CT_ARCH_64=y
CT_ARCH_SUPPORTS_WITH_32_64=y

#
# Target optimisations
#
CT_ARCH_SUPPORTS_WITH_ARCH=y
CT_ARCH_SUPPORTS_WITH_CPU=y
CT_ARCH_SUPPORTS_WITH_TUNE=y
CT_ARCH_ARCH=""
CT_TARGET_CFLAGS="-fPIC -DPIC"
CT_TARGET_LDFLAGS=""
# end of Target options

#
# Toolchain options
#

#
# General toolchain options
#
CT_USE_SYSROOT=y
CT_SYSROOT_NAME="sysroot"
CT_SYSROOT_DIR_PREFIX=""
# CT_STATIC_TOOLCHAIN is not set
CT_SHOW_CT_VERSION=y
CT_TOOLCHAIN_PKGVERSION=""
CT_TOOLCHAIN_BUGURL=""

#
# Tuple completion and aliasing
#
CT_TARGET_VENDOR="ffbuild"
CT_TARGET_ALIAS_SED_EXPR=""
CT_TARGET_ALIAS=""

#
# Toolchain type
#
# CT_NATIVE is not set
CT_CROSS=y
# CT_CROSS_NATIVE is not set
# CT_CANADIAN is not set
CT_TOOLCHAIN_TYPE="cross"

#
# Build system
#
CT_BUILD=""
CT_BUILD_PREFIX=""
CT_BUILD_SUFFIX=""

#
# Misc options
#
# CT_TOOLCHAIN_ENABLE_NLS is not set
CT_TOOLCHAIN_CMAKE_TOOLCHAIN_FILE=y
# end of Toolchain options

#
# Operating System
#
CT_KERNEL_SUPPORTS_SHARED_LIBS=y
# CT_KERNEL_BARE_METAL is not set
CT_KERNEL_LINUX=y
# CT_KERNEL_WINDOWS is not set
CT_KERNEL="linux"
CT_KERNEL_CHOICE_KSYM="LINUX"
CT_KERNEL_LINUX_SHOW=y

#
# Options for linux
#
CT_KERNEL_LINUX_PKG_KSYM="LINUX"
CT_LINUX_DIR_NAME="linux"
CT_LINUX_PKG_NAME="linux"
CT_LINUX_SRC_RELEASE=y
# CT_LINUX_SRC_DEVEL is not set
# CT_LINUX_SRC_CUSTOM is not set
CT_LINUX_PATCH_GLOBAL=y
# CT_LINUX_PATCH_BUNDLED is not set
# CT_LINUX_PATCH_LOCAL is not set
# CT_LINUX_PATCH_BUNDLED_LOCAL is not set
# CT_LINUX_PATCH_LOCAL_BUNDLED is not set
# CT_LINUX_PATCH_NONE is not set
CT_LINUX_PATCH_ORDER="global"
# CT_LINUX_V_6_18 is not set
# CT_LINUX_V_6_17 is not set
# CT_LINUX_V_6_16 is not set
# CT_LINUX_V_6_15 is not set
# CT_LINUX_V_6_14 is not set
# CT_LINUX_V_6_13 is not set
# CT_LINUX_V_6_12 is not set
# CT_LINUX_V_6_11 is not set
# CT_LINUX_V_6_10 is not set
# CT_LINUX_V_6_9 is not set
# CT_LINUX_V_6_8 is not set
# CT_LINUX_V_6_7 is not set
# CT_LINUX_V_6_6 is not set
# CT_LINUX_V_6_5 is not set
# CT_LINUX_V_6_4 is not set
# CT_LINUX_V_6_3 is not set
# CT_LINUX_V_6_2 is not set
# CT_LINUX_V_6_1 is not set
# CT_LINUX_V_6_0 is not set
# CT_LINUX_V_5_19 is not set
# CT_LINUX_V_5_18 is not set
# CT_LINUX_V_5_17 is not set
# CT_LINUX_V_5_16 is not set
# CT_LINUX_V_5_15 is not set
# CT_LINUX_V_5_14 is not set
# CT_LINUX_V_5_13 is not set
# CT_LINUX_V_5_12 is not set
# CT_LINUX_V_5_11 is not set
# CT_LINUX_V_5_10 is not set
# CT_LINUX_V_5_9 is not set
# CT_LINUX_V_5_8 is not set
# CT_LINUX_V_5_7 is not set
# CT_LINUX_V_5_5 is not set
# CT_LINUX_V_5_4 is not set
# CT_LINUX_V_5_3 is not set
# CT_LINUX_V_5_2 is not set
# CT_LINUX_V_5_1 is not set
# CT_LINUX_V_5_0 is not set
# CT_LINUX_V_4_20 is not set
# CT_LINUX_V_4_19 is not set
CT_LINUX_V_4_18=y
# CT_LINUX_V_4_17 is not set
# CT_LINUX_V_4_16 is not set
# CT_LINUX_V_4_15 is not set
# CT_LINUX_V_4_14 is not set
# CT_LINUX_V_4_13 is not set
# CT_LINUX_V_4_12 is not set
# CT_LINUX_V_4_11 is not set
# CT_LINUX_V_4_10 is not set
# CT_LINUX_V_4_9 is not set
# CT_LINUX_V_4_4 is not set
# CT_LINUX_V_4_1 is not set
# CT_LINUX_V_3_18 is not set
# CT_LINUX_V_3_16 is not set
# CT_LINUX_V_3_13 is not set
# CT_LINUX_V_3_12 is not set
# CT_LINUX_V_3_10 is not set
# CT_LINUX_V_3_4 is not set
# CT_LINUX_V_3_2 is not set
CT_LINUX_VERSION="4.18.20"
CT_LINUX_MIRRORS="$(CT_Mirrors kernel.org linux ${CT_LINUX_VERSION})"
CT_LINUX_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
CT_LINUX_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
CT_LINUX_ARCHIVE_FORMATS=".tar.xz .tar.gz"
CT_LINUX_SIGNATURE_FORMAT="unpacked/.sign"
CT_LINUX_5_19_or_older=y
CT_LINUX_older_than_5_19=y
CT_LINUX_5_12_or_older=y
CT_LINUX_older_than_5_12=y
CT_LINUX_5_5_or_older=y
CT_LINUX_older_than_5_5=y
CT_LINUX_5_3_or_older=y
CT_LINUX_older_than_5_3=y
CT_LINUX_later_than_4_8=y
CT_LINUX_4_8_or_later=y
CT_LINUX_later_than_3_7=y
CT_LINUX_3_7_or_later=y
CT_LINUX_later_than_3_2=y
CT_LINUX_3_2_or_later=y
CT_LINUX_REQUIRE_3_2_or_later=y
CT_KERNEL_has_rsync=y
CT_KERNEL_DEP_RSYNC=y
CT_KERNEL_LINUX_VERBOSITY_0=y
# CT_KERNEL_LINUX_VERBOSITY_1 is not set
# CT_KERNEL_LINUX_VERBOSITY_2 is not set
CT_KERNEL_LINUX_VERBOSE_LEVEL=0
# CT_KERNEL_LINUX_INSTALL_CHECK is not set
CT_ALL_KERNEL_CHOICES="BARE_METAL LINUX WINDOWS"

#
# Common kernel options
#
CT_SHARED_LIBS=y
# end of Operating System

#
# Binary utilities
#
CT_ARCH_BINFMT_ELF=y
CT_BINUTILS_BINUTILS=y
CT_BINUTILS="binutils"
CT_BINUTILS_CHOICE_KSYM="BINUTILS"
CT_BINUTILS_BINUTILS_SHOW=y

#
# Options for binutils
#
CT_BINUTILS_BINUTILS_PKG_KSYM="BINUTILS"
CT_BINUTILS_DIR_NAME="binutils"
CT_BINUTILS_USE_GNU=y
# CT_BINUTILS_USE_LINARO is not set
# CT_BINUTILS_USE_ORACLE is not set
CT_BINUTILS_USE="BINUTILS"
CT_BINUTILS_PKG_NAME="binutils"
CT_BINUTILS_SRC_RELEASE=y
# CT_BINUTILS_SRC_DEVEL is not set
# CT_BINUTILS_SRC_CUSTOM is not set
CT_BINUTILS_PATCH_GLOBAL=y
# CT_BINUTILS_PATCH_BUNDLED is not set
# CT_BINUTILS_PATCH_LOCAL is not set
# CT_BINUTILS_PATCH_BUNDLED_LOCAL is not set
# CT_BINUTILS_PATCH_LOCAL_BUNDLED is not set
# CT_BINUTILS_PATCH_NONE is not set
CT_BINUTILS_PATCH_ORDER="global"
CT_BINUTILS_V_2_46=y
# CT_BINUTILS_V_2_45 is not set
# CT_BINUTILS_V_2_44 is not set
# CT_BINUTILS_V_2_43 is not set
# CT_BINUTILS_V_2_42 is not set
# CT_BINUTILS_V_2_41 is not set
# CT_BINUTILS_V_2_40 is not set
# CT_BINUTILS_V_2_39 is not set
# CT_BINUTILS_V_2_38 is not set
# CT_BINUTILS_V_2_37 is not set
# CT_BINUTILS_V_2_36 is not set
# CT_BINUTILS_V_2_35 is not set
# CT_BINUTILS_V_2_34 is not set
# CT_BINUTILS_V_2_33 is not set
# CT_BINUTILS_V_2_32 is not set
# CT_BINUTILS_V_2_31 is not set
# CT_BINUTILS_V_2_30 is not set
# CT_BINUTILS_V_2_29 is not set
# CT_BINUTILS_V_2_28 is not set
# CT_BINUTILS_V_2_27 is not set
# CT_BINUTILS_V_2_26 is not set
CT_BINUTILS_VERSION="2.46.0"
CT_BINUTILS_MIRRORS="$(CT_Mirrors GNU binutils) $(CT_Mirrors sourceware binutils/releases)"
CT_BINUTILS_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
CT_BINUTILS_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
CT_BINUTILS_ARCHIVE_FORMATS=".tar.xz .tar.bz2 .tar.gz"
CT_BINUTILS_SIGNATURE_FORMAT="packed/.sig"
CT_BINUTILS_2_46_0_or_later=y
CT_BINUTILS_2_46_0_or_older=y
CT_BINUTILS_later_than_2_45=y
CT_BINUTILS_2_45_or_later=y
CT_BINUTILS_later_than_2_44=y
CT_BINUTILS_2_44_or_later=y
CT_BINUTILS_later_than_2_41=y
CT_BINUTILS_2_41_or_later=y
CT_BINUTILS_later_than_2_39=y
CT_BINUTILS_2_39_or_later=y
CT_BINUTILS_later_than_2_30=y
CT_BINUTILS_2_30_or_later=y
CT_BINUTILS_later_than_2_27=y
CT_BINUTILS_2_27_or_later=y
CT_BINUTILS_later_than_2_26=y
CT_BINUTILS_2_26_or_later=y

#
# GNU binutils
#
CT_BINUTILS_GOLD_SUPPORTS_ARCH=y
CT_BINUTILS_FORCE_LD_BFD_DEFAULT=y
CT_BINUTILS_LINKER_LD=y
CT_BINUTILS_LINKERS_LIST="ld"
CT_BINUTILS_LINKER_DEFAULT="bfd"
CT_BINUTILS_PLUGINS=y
CT_BINUTILS_RELRO=m
CT_BINUTILS_DETERMINISTIC_ARCHIVES=y
CT_BINUTILS_EXTRA_CONFIG_ARRAY=""
# CT_BINUTILS_FOR_TARGET is not set
# CT_BINUTILS_GPROFNG is not set
CT_ALL_BINUTILS_CHOICES="BINUTILS"
# end of Binary utilities

#
# C-library
#
CT_LIBC_GLIBC=y
# CT_LIBC_MUSL is not set
# CT_LIBC_UCLIBC_NG is not set
CT_LIBC="glibc"
CT_LIBC_CHOICE_KSYM="GLIBC"
CT_LIBC_GLIBC_SHOW=y

#
# Options for glibc
#
CT_LIBC_GLIBC_PKG_KSYM="GLIBC"
CT_GLIBC_DIR_NAME="glibc"
CT_GLIBC_USE_GNU=y
# CT_GLIBC_USE_ORACLE is not set
CT_GLIBC_USE="GLIBC"
CT_GLIBC_PKG_NAME="glibc"
CT_GLIBC_SRC_RELEASE=y
# CT_GLIBC_SRC_DEVEL is not set
# CT_GLIBC_SRC_CUSTOM is not set
CT_GLIBC_PATCH_GLOBAL=y
# CT_GLIBC_PATCH_BUNDLED is not set
# CT_GLIBC_PATCH_LOCAL is not set
# CT_GLIBC_PATCH_BUNDLED_LOCAL is not set
# CT_GLIBC_PATCH_LOCAL_BUNDLED is not set
# CT_GLIBC_PATCH_NONE is not set
CT_GLIBC_PATCH_ORDER="global"
# CT_GLIBC_V_2_43 is not set
# CT_GLIBC_V_2_42 is not set
# CT_GLIBC_V_2_41 is not set
# CT_GLIBC_V_2_40 is not set
# CT_GLIBC_V_2_39 is not set
# CT_GLIBC_V_2_38 is not set
# CT_GLIBC_V_2_37 is not set
# CT_GLIBC_V_2_36 is not set
# CT_GLIBC_V_2_35 is not set
# CT_GLIBC_V_2_34 is not set
# CT_GLIBC_V_2_33 is not set
# CT_GLIBC_V_2_32 is not set
# CT_GLIBC_V_2_31 is not set
# CT_GLIBC_V_2_30 is not set
# CT_GLIBC_V_2_29 is not set
CT_GLIBC_V_2_28=y
# CT_GLIBC_V_2_27 is not set
# CT_GLIBC_V_2_26 is not set
# CT_GLIBC_V_2_25 is not set
# CT_GLIBC_V_2_24 is not set
# CT_GLIBC_V_2_23 is not set
# CT_GLIBC_V_2_19 is not set
# CT_GLIBC_V_2_17 is not set
CT_GLIBC_VERSION="2.28"
CT_GLIBC_MIRRORS="$(CT_Mirrors GNU glibc)"
CT_GLIBC_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
CT_GLIBC_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
CT_GLIBC_ARCHIVE_FORMATS=".tar.xz .tar.bz2 .tar.gz"
CT_GLIBC_SIGNATURE_FORMAT="packed/.sig"
CT_GLIBC_2_43_or_older=y
CT_GLIBC_older_than_2_43=y
CT_GLIBC_2_42_or_older=y
CT_GLIBC_older_than_2_42=y
CT_GLIBC_2_41_or_older=y
CT_GLIBC_older_than_2_41=y
CT_GLIBC_2_38_or_older=y
CT_GLIBC_older_than_2_38=y
CT_GLIBC_2_37_or_older=y
CT_GLIBC_older_than_2_37=y
CT_GLIBC_2_36_or_older=y
CT_GLIBC_older_than_2_36=y
CT_GLIBC_2_34_or_older=y
CT_GLIBC_older_than_2_34=y
CT_GLIBC_2_32_or_older=y
CT_GLIBC_older_than_2_32=y
CT_GLIBC_2_31_or_older=y
CT_GLIBC_older_than_2_31=y
CT_GLIBC_2_30_or_older=y
CT_GLIBC_older_than_2_30=y
CT_GLIBC_2_29_or_older=y
CT_GLIBC_older_than_2_29=y
CT_GLIBC_2_28_or_later=y
CT_GLIBC_2_28_or_older=y
CT_GLIBC_later_than_2_27=y
CT_GLIBC_2_27_or_later=y
CT_GLIBC_later_than_2_26=y
CT_GLIBC_2_26_or_later=y
CT_GLIBC_later_than_2_25=y
CT_GLIBC_2_25_or_later=y
CT_GLIBC_later_than_2_24=y
CT_GLIBC_2_24_or_later=y
CT_GLIBC_later_than_2_23=y
CT_GLIBC_2_23_or_later=y
CT_GLIBC_later_than_2_20=y
CT_GLIBC_2_20_or_later=y
CT_GLIBC_later_than_2_17=y
CT_GLIBC_2_17_or_later=y
CT_GLIBC_later_than_2_14=y
CT_GLIBC_2_14_or_later=y
CT_GLIBC_DEP_KERNEL_HEADERS_VERSION=y
CT_GLIBC_DEP_BINUTILS=y
CT_GLIBC_DEP_GCC=y
CT_GLIBC_DEP_PYTHON=y
CT_GLIBC_DEP_MAKE_4_3=y
CT_GLIBC_SPARC_ALLOW_V7=y
CT_THREADS="nptl"
CT_GLIBC_BUILD_SSP=y
CT_GLIBC_HAS_LIBIDN_ADDON=y
# CT_GLIBC_USE_LIBIDN_ADDON is not set
CT_GLIBC_NO_SPARC_V8=y
CT_GLIBC_HAS_OBSOLETE_RPC=y
CT_GLIBC_EXTRA_CONFIG_ARRAY="--with-pic"
CT_GLIBC_CONFIGPARMS=""
# CT_GLIBC_ENABLE_DEBUG is not set
CT_GLIBC_EXTRA_CFLAGS="-fPIC -DPIC -no-pie"
CT_GLIBC_ENABLE_OBSOLETE_RPC=y
# CT_GLIBC_ENABLE_FORTIFIED_BUILD is not set
# CT_GLIBC_DISABLE_VERSIONING is not set
CT_GLIBC_OLDEST_ABI=""
CT_GLIBC_FORCE_UNWIND=y
# CT_GLIBC_LOCALES is not set
# CT_GLIBC_KERNEL_VERSION_NONE is not set
CT_GLIBC_KERNEL_VERSION_AS_HEADERS=y
# CT_GLIBC_KERNEL_VERSION_CHOSEN is not set
CT_GLIBC_MIN_KERNEL="4.18.20"
# CT_GLIBC_SSP_DEFAULT is not set
# CT_GLIBC_SSP_NO is not set
# CT_GLIBC_SSP_YES is not set
# CT_GLIBC_SSP_ALL is not set
CT_GLIBC_SSP_STRONG=y
CT_GLIBC_SSP="strong"
CT_GLIBC_ENABLE_COMMON_FLAG=y
CT_ALL_LIBC_CHOICES="AVR_LIBC GLIBC MINGW_W64 MOXIEBOX MUSL NEWLIB NONE PICOLIBC UCLIBC_NG"
CT_LIBC_SUPPORT_THREADS_ANY=y
CT_LIBC_SUPPORT_THREADS_NATIVE=y

#
# Common C library options
#
CT_THREADS_NATIVE=y
# CT_CREATE_LDSO_CONF is not set
CT_LIBC_XLDD=y
# end of C-library

#
# C compiler
#
CT_CC_CORE_NEEDED=y
CT_CC_SUPPORT_CXX=y
CT_CC_SUPPORT_FORTRAN=y
CT_CC_SUPPORT_ADA=y
CT_CC_SUPPORT_D=y
CT_CC_SUPPORT_JIT=y
CT_CC_SUPPORT_OBJC=y
CT_CC_SUPPORT_OBJCXX=y
CT_CC_SUPPORT_GOLANG=y
CT_CC_GCC=y
CT_CC="gcc"
CT_CC_CHOICE_KSYM="GCC"
CT_CC_GCC_SHOW=y

#
# Options for gcc
#
CT_CC_GCC_PKG_KSYM="GCC"
CT_GCC_DIR_NAME="gcc"
CT_GCC_USE_GNU=y
# CT_GCC_USE_LINARO is not set
# CT_GCC_USE_ORACLE is not set
CT_GCC_USE="GCC"
CT_GCC_PKG_NAME="gcc"
CT_GCC_SRC_RELEASE=y
# CT_GCC_SRC_DEVEL is not set
# CT_GCC_SRC_CUSTOM is not set
CT_GCC_PATCH_GLOBAL=y
# CT_GCC_PATCH_BUNDLED is not set
# CT_GCC_PATCH_LOCAL is not set
# CT_GCC_PATCH_BUNDLED_LOCAL is not set
# CT_GCC_PATCH_LOCAL_BUNDLED is not set
# CT_GCC_PATCH_NONE is not set
CT_GCC_PATCH_ORDER="global"
CT_GCC_V_15=y
# CT_GCC_V_14 is not set
# CT_GCC_V_13 is not set
# CT_GCC_V_12 is not set
# CT_GCC_V_11 is not set
# CT_GCC_V_10 is not set
# CT_GCC_V_9 is not set
# CT_GCC_V_8 is not set
# CT_GCC_V_7 is not set
# CT_GCC_V_6 is not set
# CT_GCC_V_5 is not set
# CT_GCC_V_4_9 is not set
CT_GCC_VERSION="15.2.0"
CT_GCC_MIRRORS="$(CT_Mirrors GNU gcc/gcc-${CT_GCC_VERSION}) $(CT_Mirrors sourceware gcc/releases/gcc-${CT_GCC_VERSION})"
CT_GCC_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
CT_GCC_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
CT_GCC_ARCHIVE_FORMATS=".tar.xz .tar.gz"
CT_GCC_SIGNATURE_FORMAT=""
CT_GCC_later_than_15=y
CT_GCC_15_or_later=y
CT_GCC_later_than_14=y
CT_GCC_14_or_later=y
CT_GCC_later_than_13=y
CT_GCC_13_or_later=y
CT_GCC_later_than_12=y
CT_GCC_12_or_later=y
CT_GCC_later_than_11=y
CT_GCC_11_or_later=y
CT_GCC_later_than_10=y
CT_GCC_10_or_later=y
CT_GCC_later_than_9=y
CT_GCC_9_or_later=y
CT_GCC_later_than_8=y
CT_GCC_8_or_later=y
CT_GCC_later_than_7=y
CT_GCC_7_or_later=y
CT_GCC_later_than_6=y
CT_GCC_6_or_later=y
CT_GCC_later_than_5=y
CT_GCC_5_or_later=y
CT_GCC_later_than_4_9=y
CT_GCC_4_9_or_later=y
CT_GCC_REQUIRE_4_9_or_later=y
CT_CC_GCC_ENABLE_PLUGINS=y
CT_CC_GCC_HAS_LIBMPX=y
CT_CC_GCC_ENABLE_CXX_FLAGS=""
CT_CC_GCC_CORE_EXTRA_CONFIG_ARRAY="--enable-host-shared --enable-default-ssp"
CT_CC_GCC_EXTRA_CONFIG_ARRAY="--enable-host-shared --enable-default-ssp --with-build-config=bootstrap-lto-lean --enable-link-serialization=2"
# CT_CC_GCC_STATIC_LIBSTDCXX is not set
# CT_CC_GCC_SYSTEM_ZLIB is not set
CT_CC_GCC_CONFIG_TLS=m

#
# Optimisation features
#
CT_CC_GCC_USE_GRAPHITE=y
CT_CC_GCC_USE_LTO=y
CT_CC_GCC_LTO_ZSTD=m

#
# Settings for libraries running on target
#
CT_CC_GCC_ENABLE_DEFAULT_PIE=y
# CT_CC_GCC_ENABLE_TARGET_OPTSPACE is not set
CT_CC_GCC_LIBSTDCXX=m
# CT_CC_GCC_LIBSTDCXX_HOSTED_DISABLE is not set
CT_CC_GCC_LIBSTDCXX_TARGET_CXXFLAGS="-O2 -pipe"
# CT_CC_GCC_LIBMUDFLAP is not set
CT_CC_GCC_LIBGOMP=y
CT_CC_GCC_LIBSSP=m
# CT_CC_GCC_LIBQUADMATH is not set
# CT_CC_GCC_LIBSANITIZER is not set
# CT_CC_GCC_LIBMPX is not set
# CT_CC_GCC_LIBSTDCXX_VERBOSE is not set

#
# Misc. obscure options.
#
CT_CC_CXA_ATEXIT=y
CT_CC_GCC_TM_CLONE_REGISTRY=m
# CT_CC_GCC_DISABLE_PCH is not set
CT_CC_GCC_SJLJ_EXCEPTIONS=m
CT_CC_GCC_LDBL_128=m
# CT_CC_GCC_BUILD_ID is not set
CT_CC_GCC_LNK_HASH_STYLE_DEFAULT=y
# CT_CC_GCC_LNK_HASH_STYLE_SYSV is not set
# CT_CC_GCC_LNK_HASH_STYLE_GNU is not set
# CT_CC_GCC_LNK_HASH_STYLE_BOTH is not set
CT_CC_GCC_LNK_HASH_STYLE=""
CT_CC_GCC_DEC_FLOATS_AUTO=y
# CT_CC_GCC_DEC_FLOATS_BID is not set
# CT_CC_GCC_DEC_FLOATS_DPD is not set
# CT_CC_GCC_DEC_FLOATS_NO is not set
CT_CC_GCC_DEC_FLOATS=""
CT_ALL_CC_CHOICES="GCC"

#
# Additional supported languages:
#
CT_CC_LANG_CXX=y
# CT_CC_LANG_FORTRAN is not set
# CT_CC_LANG_JIT is not set
# CT_CC_LANG_ADA is not set
# CT_CC_LANG_D is not set
# CT_CC_LANG_OBJC is not set
# CT_CC_LANG_OBJCXX is not set
# CT_CC_LANG_GOLANG is not set
CT_CC_LANG_OTHERS=""
# end of C compiler

#
# Linkers
#

#
# BFD enabled in binutils
#
CT_LINKER_MOLD=y
CT_LINKER_MOLD_PKG_KSYM="MOLD"
CT_MOLD_DIR_NAME="mold"
CT_MOLD_PKG_NAME="mold"
CT_MOLD_SRC_RELEASE=y
# CT_MOLD_SRC_DEVEL is not set
# CT_MOLD_SRC_CUSTOM is not set
CT_MOLD_PATCH_GLOBAL=y
# CT_MOLD_PATCH_BUNDLED is not set
# CT_MOLD_PATCH_LOCAL is not set
# CT_MOLD_PATCH_BUNDLED_LOCAL is not set
# CT_MOLD_PATCH_LOCAL_BUNDLED is not set
# CT_MOLD_PATCH_NONE is not set
CT_MOLD_PATCH_ORDER="global"
CT_MOLD_V_2_40_4=y
# CT_MOLD_V_2_39_1 is not set
# CT_MOLD_V_2_38_1 is not set
# CT_MOLD_V_2_37_1 is not set
# CT_MOLD_V_2_36_0 is not set
# CT_MOLD_V_2_33_0 is not set
# CT_MOLD_V_2_32_0 is not set
# CT_MOLD_V_2_31_0 is not set
CT_MOLD_VERSION="2.40.4"
CT_MOLD_MIRRORS="https://github.com/rui314/mold/archive/refs/tags"
CT_MOLD_ARCHIVE_FILENAME="v@{version}"
CT_MOLD_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
CT_MOLD_ARCHIVE_FORMATS=".tar.gz"
CT_MOLD_SIGNATURE_FORMAT=""
CT_LINKER_MOLD_has_cmake=y
CT_ALL_LINKER_CHOICES="MOLD"
# end of Linkers

#
# Debug facilities
#
# CT_DEBUG_DUMA is not set
# CT_DEBUG_GDB is not set
# CT_DEBUG_LTRACE is not set
# CT_DEBUG_STRACE is not set
CT_ALL_DEBUG_CHOICES="DUMA GDB LTRACE STRACE"
# end of Debug facilities

#
# Companion libraries
#
# CT_COMPLIBS_CHECK is not set
# CT_COMP_LIBS_CLOOG is not set
# CT_COMP_LIBS_EXPAT is not set
CT_COMP_LIBS_GETTEXT=y
CT_COMP_LIBS_GETTEXT_PKG_KSYM="GETTEXT"
CT_GETTEXT_DIR_NAME="gettext"
CT_GETTEXT_PKG_NAME="gettext"
CT_GETTEXT_SRC_RELEASE=y
# CT_GETTEXT_SRC_DEVEL is not set
# CT_GETTEXT_SRC_CUSTOM is not set
CT_GETTEXT_PATCH_GLOBAL=y
# CT_GETTEXT_PATCH_BUNDLED is not set
# CT_GETTEXT_PATCH_LOCAL is not set
# CT_GETTEXT_PATCH_BUNDLED_LOCAL is not set
# CT_GETTEXT_PATCH_LOCAL_BUNDLED is not set
# CT_GETTEXT_PATCH_NONE is not set
CT_GETTEXT_PATCH_ORDER="global"
CT_GETTEXT_V_0_26=y
# CT_GETTEXT_V_0_23_1 is not set
# CT_GETTEXT_V_0_22_5 is not set
# CT_GETTEXT_V_0_21 is not set
# CT_GETTEXT_V_0_20_1 is not set
# CT_GETTEXT_V_0_19_8_1 is not set
CT_GETTEXT_VERSION="0.26"
CT_GETTEXT_MIRRORS="$(CT_Mirrors GNU gettext)"
CT_GETTEXT_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
CT_GETTEXT_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
CT_GETTEXT_ARCHIVE_FORMATS=".tar.xz .tar.gz"
CT_GETTEXT_SIGNATURE_FORMAT="packed/.sig"
CT_GETTEXT_later_than_0_23=y
CT_GETTEXT_0_23_or_later=y
CT_GETTEXT_later_than_0_21=y
CT_GETTEXT_0_21_or_later=y
CT_GETTEXT_INCOMPATIBLE_WITH_UCLIBC_NG=y

#
# This version of gettext is not compatible with uClibc-NG. Select
#

#
# a different version if uClibc-NG is used on the target or (in a
#

#
# Canadian cross build) on the host.
#
CT_COMP_LIBS_GMP=y
CT_COMP_LIBS_GMP_PKG_KSYM="GMP"
CT_GMP_DIR_NAME="gmp"
CT_GMP_PKG_NAME="gmp"
CT_GMP_SRC_RELEASE=y
# CT_GMP_SRC_DEVEL is not set
# CT_GMP_SRC_CUSTOM is not set
CT_GMP_PATCH_GLOBAL=y
# CT_GMP_PATCH_BUNDLED is not set
# CT_GMP_PATCH_LOCAL is not set
# CT_GMP_PATCH_BUNDLED_LOCAL is not set
# CT_GMP_PATCH_LOCAL_BUNDLED is not set
# CT_GMP_PATCH_NONE is not set
CT_GMP_PATCH_ORDER="global"
CT_GMP_V_6_3=y
# CT_GMP_V_6_2 is not set
# CT_GMP_V_6_1 is not set
CT_GMP_VERSION="6.3.0"
CT_GMP_MIRRORS="https://gmplib.org/download/gmp https://gmplib.org/download/gmp/archive $(CT_Mirrors GNU gmp)"
CT_GMP_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
CT_GMP_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
CT_GMP_ARCHIVE_FORMATS=".tar.xz .tar.lz .tar.bz2"
CT_GMP_SIGNATURE_FORMAT="packed/.sig"
CT_GMP_EXTRA_CFLAGS="-std=gnu17"
CT_COMP_LIBS_ISL=y
CT_COMP_LIBS_ISL_PKG_KSYM="ISL"
CT_ISL_DIR_NAME="isl"
CT_ISL_PKG_NAME="isl"
CT_ISL_SRC_RELEASE=y
# CT_ISL_SRC_DEVEL is not set
# CT_ISL_SRC_CUSTOM is not set
CT_ISL_PATCH_GLOBAL=y
# CT_ISL_PATCH_BUNDLED is not set
# CT_ISL_PATCH_LOCAL is not set
# CT_ISL_PATCH_BUNDLED_LOCAL is not set
# CT_ISL_PATCH_LOCAL_BUNDLED is not set
# CT_ISL_PATCH_NONE is not set
CT_ISL_PATCH_ORDER="global"
CT_ISL_V_0_27=y
# CT_ISL_V_0_26 is not set
# CT_ISL_V_0_25 is not set
# CT_ISL_V_0_24 is not set
# CT_ISL_V_0_23 is not set
# CT_ISL_V_0_22 is not set
# CT_ISL_V_0_21 is not set
# CT_ISL_V_0_20 is not set
# CT_ISL_V_0_19 is not set
# CT_ISL_V_0_18 is not set
# CT_ISL_V_0_17 is not set
# CT_ISL_V_0_16 is not set
# CT_ISL_V_0_15 is not set
# CT_ISL_V_0_11 is not set
CT_ISL_VERSION="0.27"
CT_ISL_MIRRORS="https://libisl.sourceforge.io"
CT_ISL_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
CT_ISL_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
CT_ISL_ARCHIVE_FORMATS=".tar.xz .tar.bz2 .tar.gz"
CT_ISL_SIGNATURE_FORMAT=""
CT_ISL_later_than_0_18=y
CT_ISL_0_18_or_later=y
CT_ISL_later_than_0_15=y
CT_ISL_0_15_or_later=y
# CT_COMP_LIBS_LIBELF is not set
CT_COMP_LIBS_LIBICONV=y
CT_COMP_LIBS_LIBICONV_PKG_KSYM="LIBICONV"
CT_LIBICONV_DIR_NAME="libiconv"
CT_LIBICONV_PKG_NAME="libiconv"
CT_LIBICONV_SRC_RELEASE=y
# CT_LIBICONV_SRC_DEVEL is not set
# CT_LIBICONV_SRC_CUSTOM is not set
CT_LIBICONV_PATCH_GLOBAL=y
# CT_LIBICONV_PATCH_BUNDLED is not set
# CT_LIBICONV_PATCH_LOCAL is not set
# CT_LIBICONV_PATCH_BUNDLED_LOCAL is not set
# CT_LIBICONV_PATCH_LOCAL_BUNDLED is not set
# CT_LIBICONV_PATCH_NONE is not set
CT_LIBICONV_PATCH_ORDER="global"
CT_LIBICONV_V_1_18=y
# CT_LIBICONV_V_1_16 is not set
# CT_LIBICONV_V_1_15 is not set
CT_LIBICONV_VERSION="1.18"
CT_LIBICONV_MIRRORS="$(CT_Mirrors GNU libiconv)"
CT_LIBICONV_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
CT_LIBICONV_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
CT_LIBICONV_ARCHIVE_FORMATS=".tar.gz"
CT_LIBICONV_SIGNATURE_FORMAT="packed/.sig"
CT_COMP_LIBS_MPC=y
CT_COMP_LIBS_MPC_PKG_KSYM="MPC"
CT_MPC_DIR_NAME="mpc"
CT_MPC_PKG_NAME="mpc"
CT_MPC_SRC_RELEASE=y
# CT_MPC_SRC_DEVEL is not set
# CT_MPC_SRC_CUSTOM is not set
CT_MPC_PATCH_GLOBAL=y
# CT_MPC_PATCH_BUNDLED is not set
# CT_MPC_PATCH_LOCAL is not set
# CT_MPC_PATCH_BUNDLED_LOCAL is not set
# CT_MPC_PATCH_LOCAL_BUNDLED is not set
# CT_MPC_PATCH_NONE is not set
CT_MPC_PATCH_ORDER="global"
CT_MPC_V_1_3=y
CT_MPC_VERSION="1.3.1"
CT_MPC_MIRRORS="https://www.multiprecision.org/downloads $(CT_Mirrors GNU mpc)"
CT_MPC_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
CT_MPC_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
CT_MPC_ARCHIVE_FORMATS=".tar.gz"
CT_MPC_SIGNATURE_FORMAT="packed/.sig"
CT_COMP_LIBS_MPFR=y
CT_COMP_LIBS_MPFR_PKG_KSYM="MPFR"
CT_MPFR_DIR_NAME="mpfr"
CT_MPFR_PKG_NAME="mpfr"
CT_MPFR_SRC_RELEASE=y
# CT_MPFR_SRC_DEVEL is not set
# CT_MPFR_SRC_CUSTOM is not set
CT_MPFR_PATCH_GLOBAL=y
# CT_MPFR_PATCH_BUNDLED is not set
# CT_MPFR_PATCH_LOCAL is not set
# CT_MPFR_PATCH_BUNDLED_LOCAL is not set
# CT_MPFR_PATCH_LOCAL_BUNDLED is not set
# CT_MPFR_PATCH_NONE is not set
CT_MPFR_PATCH_ORDER="global"
CT_MPFR_V_4_2=y
CT_MPFR_VERSION="4.2.2"
CT_MPFR_MIRRORS="https://www.mpfr.org/mpfr-${CT_MPFR_VERSION} $(CT_Mirrors GNU mpfr)"
CT_MPFR_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
CT_MPFR_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
CT_MPFR_ARCHIVE_FORMATS=".tar.xz .tar.bz2 .tar.gz .zip"
CT_MPFR_SIGNATURE_FORMAT="packed/.asc"
CT_COMP_LIBS_NCURSES=y
CT_COMP_LIBS_NCURSES_PKG_KSYM="NCURSES"
CT_NCURSES_DIR_NAME="ncurses"
CT_NCURSES_PKG_NAME="ncurses"
CT_NCURSES_SRC_RELEASE=y
# CT_NCURSES_SRC_DEVEL is not set
# CT_NCURSES_SRC_CUSTOM is not set
CT_NCURSES_PATCH_GLOBAL=y
# CT_NCURSES_PATCH_BUNDLED is not set
# CT_NCURSES_PATCH_LOCAL is not set
# CT_NCURSES_PATCH_BUNDLED_LOCAL is not set
# CT_NCURSES_PATCH_LOCAL_BUNDLED is not set
# CT_NCURSES_PATCH_NONE is not set
CT_NCURSES_PATCH_ORDER="global"
CT_NCURSES_V_6_5=y
# CT_NCURSES_V_6_4 is not set
# CT_NCURSES_V_6_2 is not set
# CT_NCURSES_V_6_1 is not set
# CT_NCURSES_V_6_0 is not set
CT_NCURSES_VERSION="6.5"
CT_NCURSES_MIRRORS="https://invisible-mirror.net/archives/ncurses $(CT_Mirrors GNU ncurses)"
CT_NCURSES_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
CT_NCURSES_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
CT_NCURSES_ARCHIVE_FORMATS=".tar.gz"
CT_NCURSES_SIGNATURE_FORMAT="packed/.asc"
# CT_NCURSES_NEW_ABI is not set
CT_NCURSES_HOST_CONFIG_ARGS=""
CT_NCURSES_HOST_DISABLE_DB=y
CT_NCURSES_HOST_FALLBACKS="linux,xterm,xterm-color,xterm-256color,vt100"
CT_NCURSES_TARGET_CONFIG_ARGS=""
# CT_NCURSES_TARGET_DISABLE_DB is not set
CT_NCURSES_TARGET_FALLBACKS=""
CT_NCURSES_EXTRA_CFLAGS="-std=gnu17"
CT_COMP_LIBS_ZLIB=y
CT_COMP_LIBS_ZLIB_PKG_KSYM="ZLIB"
CT_ZLIB_DIR_NAME="zlib"
CT_ZLIB_PKG_NAME="zlib"
CT_ZLIB_SRC_RELEASE=y
# CT_ZLIB_SRC_DEVEL is not set
# CT_ZLIB_SRC_CUSTOM is not set
CT_ZLIB_PATCH_GLOBAL=y
# CT_ZLIB_PATCH_BUNDLED is not set
# CT_ZLIB_PATCH_LOCAL is not set
# CT_ZLIB_PATCH_BUNDLED_LOCAL is not set
# CT_ZLIB_PATCH_LOCAL_BUNDLED is not set
# CT_ZLIB_PATCH_NONE is not set
CT_ZLIB_PATCH_ORDER="global"
CT_ZLIB_V_1_3_1=y
# CT_ZLIB_V_1_2_13 is not set
CT_ZLIB_VERSION="1.3.1"
CT_ZLIB_MIRRORS="https://github.com/madler/zlib/releases/download/v${CT_ZLIB_VERSION} https://www.zlib.net/"
CT_ZLIB_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
CT_ZLIB_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
CT_ZLIB_ARCHIVE_FORMATS=".tar.xz .tar.gz"
CT_ZLIB_SIGNATURE_FORMAT="packed/.asc"
CT_COMP_LIBS_ZSTD=y
CT_COMP_LIBS_ZSTD_PKG_KSYM="ZSTD"
CT_ZSTD_DIR_NAME="zstd"
CT_ZSTD_PKG_NAME="zstd"
CT_ZSTD_SRC_RELEASE=y
# CT_ZSTD_SRC_DEVEL is not set
# CT_ZSTD_SRC_CUSTOM is not set
CT_ZSTD_PATCH_GLOBAL=y
# CT_ZSTD_PATCH_BUNDLED is not set
# CT_ZSTD_PATCH_LOCAL is not set
# CT_ZSTD_PATCH_BUNDLED_LOCAL is not set
# CT_ZSTD_PATCH_LOCAL_BUNDLED is not set
# CT_ZSTD_PATCH_NONE is not set
CT_ZSTD_PATCH_ORDER="global"
CT_ZSTD_V_1_5_7=y
# CT_ZSTD_V_1_5_6 is not set
# CT_ZSTD_V_1_5_5 is not set
# CT_ZSTD_V_1_5_2 is not set
CT_ZSTD_VERSION="1.5.7"
CT_ZSTD_MIRRORS="https://github.com/facebook/zstd/releases/download/v${CT_ZSTD_VERSION} https://downloads.sourceforge.net/project/zstandard.mirror/v${CT_ZSTD_VERSION}"
CT_ZSTD_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
CT_ZSTD_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
CT_ZSTD_ARCHIVE_FORMATS=".tar.gz"
CT_ZSTD_SIGNATURE_FORMAT="packed/.sig"
CT_ALL_COMP_LIBS_CHOICES="CLOOG EXPAT GETTEXT GMP GNUPRUMCU ISL LIBELF LIBICONV MPC MPFR NCURSES NEWLIB_NANO PICOLIBC ZLIB ZSTD"
CT_LIBICONV_NEEDED=y
CT_GETTEXT_NEEDED=y
CT_GMP_NEEDED=y
CT_MPFR_NEEDED=y
CT_ISL_NEEDED=y
CT_MPC_NEEDED=y
CT_NCURSES_NEEDED=y
CT_ZLIB_NEEDED=y
CT_ZSTD_NEEDED=y
CT_LIBICONV=y
CT_GETTEXT=y
CT_GMP=y
CT_MPFR=y
CT_ISL=y
CT_MPC=y
CT_NCURSES=y
CT_ZLIB=y
CT_ZSTD=y
# end of Companion libraries

#
# Companion tools
#
# CT_COMP_TOOLS_FOR_HOST is not set
# CT_COMP_TOOLS_AUTOCONF is not set
# CT_COMP_TOOLS_AUTOMAKE is not set
# CT_COMP_TOOLS_BISON is not set
# CT_COMP_TOOLS_DTC is not set
# CT_COMP_TOOLS_LIBTOOL is not set
# CT_COMP_TOOLS_M4 is not set
CT_COMP_TOOLS_MAKE=y
CT_COMP_TOOLS_MAKE_PKG_KSYM="MAKE"
CT_MAKE_DIR_NAME="make"
CT_MAKE_PKG_NAME="make"
CT_MAKE_SRC_RELEASE=y
# CT_MAKE_SRC_DEVEL is not set
# CT_MAKE_SRC_CUSTOM is not set
CT_MAKE_PATCH_GLOBAL=y
# CT_MAKE_PATCH_BUNDLED is not set
# CT_MAKE_PATCH_LOCAL is not set
# CT_MAKE_PATCH_BUNDLED_LOCAL is not set
# CT_MAKE_PATCH_LOCAL_BUNDLED is not set
# CT_MAKE_PATCH_NONE is not set
CT_MAKE_PATCH_ORDER="global"
CT_MAKE_V_4_3=y
CT_MAKE_VERSION="4.3"
CT_MAKE_MIRRORS="$(CT_Mirrors GNU make)"
CT_MAKE_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
CT_MAKE_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
CT_MAKE_ARCHIVE_FORMATS=".tar.lz .tar.gz"
CT_MAKE_SIGNATURE_FORMAT="packed/.sig"
CT_MAKE_4_4_or_older=y
CT_MAKE_older_than_4_4=y
CT_MAKE_REQUIRE_older_than_4_4=y
CT_MAKE_4_3_or_later=y
CT_MAKE_4_3_or_older=y
CT_MAKE_GMAKE_SYMLINK=y
CT_MAKE_GNUMAKE_SYMLINK=y
CT_ALL_COMP_TOOLS_CHOICES="AUTOCONF AUTOMAKE BISON DTC LIBTOOL M4 MAKE"
# end of Companion tools

#
# Test suite
#
# CT_TEST_SUITE_GCC is not set
# end of Test suite


================================================
FILE: images/base-linux64/gen-implib.sh
================================================
#!/bin/bash
set -e
if [[ $# != 2 ]]; then
    echo "Invalid arguments"
    exit 1
fi
IN="$1"
OUT="$2"

TMPDIR="$(mktemp -d)"
trap "rm -rf '$TMPDIR'" EXIT
cd "$TMPDIR"

set -x
python3 /opt/implib/implib-gen.py --target x86_64-linux-gnu --dlopen --lazy-load --verbose "$IN"
${FFBUILD_CROSS_PREFIX}gcc $CFLAGS $STAGE_CFLAGS -Wa,--noexecstack -DIMPLIB_HIDDEN_SHIMS -c *.tramp.S *.init.c
${FFBUILD_CROSS_PREFIX}ar -rcs "$OUT" *.tramp.o *.init.o


================================================
FILE: images/base-linux64/toolchain.cmake
================================================
set(CMAKE_SYSTEM_NAME Linux)
set(CMAKE_SYSTEM_PROCESSOR x86_64)
set(CMAKE_SYSTEM_VERSION 4.18.20)

set(triple x86_64-ffbuild-linux-gnu)

set(CMAKE_C_COMPILER ${triple}-gcc)
set(CMAKE_CXX_COMPILER ${triple}-g++)
set(CMAKE_RANLIB ${triple}-gcc-ranlib)
set(CMAKE_AR ${triple}-gcc-ar)

set(CMAKE_SYSROOT /opt/ct-ng/${triple}/sysroot)
set(CMAKE_FIND_ROOT_PATH /opt/ct-ng /opt/ct-ng/${triple}/sysroot /opt/ffbuild)

set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)


================================================
FILE: images/base-linuxarm64/Dockerfile
================================================
ARG GH_REPO=ghcr.io/btbn/ffmpeg-builds
FROM $GH_REPO/base:latest

RUN --mount=src=ct-ng-config,dst=/.config \
    git clone --filter=blob:none https://github.com/crosstool-ng/crosstool-ng.git /ct-ng && cd /ct-ng && \
    ./bootstrap && \
    ./configure --enable-local && \
    make -j$(nproc) && \
    cp /.config .config && \
    ./ct-ng build && \
    cd / && \
    rm -rf ct-ng

# Prepare cross environment to heavily favour static builds
RUN \
    find /opt/ct-ng \( -type l \
        -and -name '*.so' \
        -and -not -ipath '*plugin*' \
        -and -not -name 'libdl.*' \
        -and -not -name 'libc.*' \
        -and -not -name 'libm.*' \
        -and -not -name 'libmvec.*' \
        -and -not -name 'librt.*' \
        -and -not -name 'libpthread.*' \
        \) -delete && \
    find /opt/ct-ng \( \
        -name 'libdl.a' \
        -or -name 'libc.a' \
        -or -name 'libm.a' \
        -or -name 'libmvec.a' \
        -or -name 'librt.a' \
        -or -name 'libpthread.a' \
        \) -delete && \
    mkdir /opt/ffbuild

ENV FFBUILD_TOOLCHAIN=aarch64-ffbuild-linux-gnu \
    FFBUILD_RUST_TARGET="aarch64-unknown-linux-gnu"

RUN \
    rustup target add "$FFBUILD_RUST_TARGET" && \
    echo "[target.$FFBUILD_RUST_TARGET]\nlinker = \"${FFBUILD_TOOLCHAIN}-gcc\"\nar = \"${FFBUILD_TOOLCHAIN}-gcc-ar\"\n" > "$CARGO_HOME"/config.toml

ADD toolchain.cmake /toolchain.cmake
ADD cross.meson /cross.meson

ADD gen-implib.sh /usr/bin/gen-implib
RUN git clone --filter=blob:none --depth=1 https://github.com/yugr/Implib.so /opt/implib

ENV PATH="/opt/ct-ng/bin:${PATH}" \
    QEMU_LD_PREFIX="/opt/ct-ng/${FFBUILD_TOOLCHAIN}/sysroot" \
    FFBUILD_TARGET_FLAGS="--pkg-config=pkg-config --cross-prefix=${FFBUILD_TOOLCHAIN}- --arch=aarch64 --cpu=armv8-a --target-os=linux" \
    FFBUILD_CROSS_PREFIX="${FFBUILD_TOOLCHAIN}-" \
    FFBUILD_PREFIX=/opt/ffbuild \
    FFBUILD_DESTDIR=/opt/ffdest \
    FFBUILD_DESTPREFIX=/opt/ffdest/opt/ffbuild \
    FFBUILD_CMAKE_TOOLCHAIN=/toolchain.cmake \
    PKG_CONFIG=pkg-config \
    PKG_CONFIG_LIBDIR=/opt/ffbuild/lib/pkgconfig:/opt/ffbuild/share/pkgconfig \
    CC="${FFBUILD_TOOLCHAIN}-gcc" \
    CXX="${FFBUILD_TOOLCHAIN}-g++" \
    LD="${FFBUILD_TOOLCHAIN}-ld" \
    AR="${FFBUILD_TOOLCHAIN}-gcc-ar" \
    RANLIB="${FFBUILD_TOOLCHAIN}-gcc-ranlib" \
    NM="${FFBUILD_TOOLCHAIN}-gcc-nm" \
    CFLAGS="-static-libgcc -static-libstdc++ -I/opt/ffbuild/include -O2 -pipe -march=armv8-a -fPIC -DPIC -D_FORTIFY_SOURCE=2 -fstack-protector-strong -fstack-clash-protection -pthread" \
    CXXFLAGS="-static-libgcc -static-libstdc++ -I/opt/ffbuild/include -O2 -pipe -march=armv8-a -fPIC -DPIC -D_FORTIFY_SOURCE=2 -fstack-protector-strong -fstack-clash-protection -pthread" \
    LDFLAGS="-static-libgcc -static-libstdc++ -L/opt/ffbuild/lib -O2 -pipe -march=armv8-a -fstack-protector-strong -fstack-clash-protection -Wl,-z,relro,-z,now -pthread -lm" \
    STAGE_CFLAGS="-fvisibility=hidden -fno-semantic-interposition" \
    STAGE_CXXFLAGS="-fvisibility=hidden -fno-semantic-interposition"


================================================
FILE: images/base-linuxarm64/cross.meson
================================================
[binaries]
c = 'aarch64-ffbuild-linux-gnu-gcc'
cpp = 'aarch64-ffbuild-linux-gnu-g++'
ld = 'aarch64-ffbuild-linux-gnu-ld'
ar = 'aarch64-ffbuild-linux-gnu-gcc-ar'
ranlib = 'aarch64-ffbuild-linux-gnu-gcc-ranlib'
strip = 'aarch64-ffbuild-linux-gnu-strip'

[host_machine]
system = 'linux'
cpu_family = 'aarch64'
cpu = 'aarch64'
endian = 'little'


================================================
FILE: images/base-linuxarm64/ct-ng-config
================================================
#
# Automatically generated file; DO NOT EDIT.
# crosstool-NG 1.28.0.23_185f348 Configuration
#
CT_CONFIGURE_has_static_link=y
CT_CONFIGURE_has_cxx11=y
CT_CONFIGURE_has_wget=y
CT_CONFIGURE_has_curl=y
CT_CONFIGURE_has_meson=y
CT_CONFIGURE_has_ninja=y
CT_CONFIGURE_has_make_3_81_or_newer=y
CT_CONFIGURE_has_make_4_0_or_newer=y
CT_CONFIGURE_has_make_4_4_or_newer=y
CT_CONFIGURE_has_libtool_2_4_or_newer=y
CT_CONFIGURE_has_libtoolize_2_4_or_newer=y
CT_CONFIGURE_has_autoconf_2_65_or_newer=y
CT_CONFIGURE_has_autoreconf_2_65_or_newer=y
CT_CONFIGURE_has_automake_1_15_or_newer=y
CT_CONFIGURE_has_gnu_m4_1_4_12_or_newer=y
CT_CONFIGURE_has_python_3_4_or_newer=y
CT_CONFIGURE_has_bison_2_7_or_newer=y
CT_CONFIGURE_has_bison_3_0_4_or_newer=y
CT_CONFIGURE_has_python=y
CT_CONFIGURE_has_dtc=y
CT_CONFIGURE_has_svn=y
CT_CONFIGURE_has_git=y
CT_CONFIGURE_has_md5sum=y
CT_CONFIGURE_has_sha1sum=y
CT_CONFIGURE_has_sha256sum=y
CT_CONFIGURE_has_sha512sum=y
CT_CONFIGURE_has_install_with_strip_program=y
CT_VERSION="1.28.0.23_185f348"
CT_VCHECK=""
CT_CONFIG_VERSION_ENV="4"
CT_CONFIG_VERSION_CURRENT="4"
CT_CONFIG_VERSION="4"
CT_MODULES=y

#
# Paths and misc options
#

#
# crosstool-NG behavior
#
CT_OBSOLETE=y
CT_EXPERIMENTAL=y
CT_ALLOW_BUILD_AS_ROOT=y
CT_ALLOW_BUILD_AS_ROOT_SURE=y
# CT_ENABLE_EXPERIMENTAL_BUNDLED_PATCHES is not set
# CT_DEBUG_CT is not set

#
# Paths
#
CT_LOCAL_TARBALLS_DIR="${HOME}/src"
# CT_SAVE_TARBALLS is not set
# CT_TARBALLS_BUILDROOT_LAYOUT is not set
CT_WORK_DIR="${CT_TOP_DIR}/build"
CT_BUILD_TOP_DIR="${CT_WORK_DIR:-${CT_TOP_DIR}/.build}/${CT_HOST:+HOST-${CT_HOST}/}${CT_TARGET}"
CT_BUILD_DIR="${CT_BUILD_TOP_DIR}/build"
CT_PREFIX_DIR="/opt/ct-ng"
CT_RM_RF_PREFIX_DIR=y
CT_REMOVE_DOCS=y
# CT_INSTALL_LICENSES is not set
# CT_PREFIX_DIR_RO is not set
CT_STRIP_HOST_TOOLCHAIN_EXECUTABLES=y
CT_STRIP_TARGET_TOOLCHAIN_EXECUTABLES=y
# CT_TARBALL_RESULT is not set

#
# Downloading
#
CT_DOWNLOAD_AGENT_WGET=y
# CT_DOWNLOAD_AGENT_CURL is not set
# CT_DOWNLOAD_AGENT_NONE is not set
# CT_FORBID_DOWNLOAD is not set
# CT_FORCE_DOWNLOAD is not set
CT_CONNECT_TIMEOUT=10
CT_DOWNLOAD_WGET_OPTIONS="--passive-ftp --tries=3 -nc --progress=dot:binary"
# CT_ONLY_DOWNLOAD is not set
# CT_USE_MIRROR is not set
CT_VERIFY_DOWNLOAD_DIGEST=y
CT_VERIFY_DOWNLOAD_DIGEST_SHA512=y
# CT_VERIFY_DOWNLOAD_DIGEST_SHA256 is not set
# CT_VERIFY_DOWNLOAD_DIGEST_SHA1 is not set
# CT_VERIFY_DOWNLOAD_DIGEST_MD5 is not set
CT_VERIFY_DOWNLOAD_DIGEST_ALG="sha512"
# CT_VERIFY_DOWNLOAD_SIGNATURE is not set

#
# Extracting
#
# CT_FORCE_EXTRACT is not set
CT_OVERRIDE_CONFIG_GUESS_SUB=y
# CT_ONLY_EXTRACT is not set
CT_PATCH_BUNDLED=y
# CT_PATCH_LOCAL is not set
# CT_PATCH_BUNDLED_LOCAL is not set
# CT_PATCH_LOCAL_BUNDLED is not set
# CT_PATCH_NONE is not set
CT_PATCH_ORDER="bundled"

#
# Build behavior
#
CT_PARALLEL_JOBS=0
CT_LOAD=""
CT_USE_PIPES=y
CT_EXTRA_CFLAGS_FOR_BUILD="-fPIC -DPIC"
CT_EXTRA_CXXFLAGS_FOR_BUILD="-fPIC -DPIC"
CT_EXTRA_LDFLAGS_FOR_BUILD=""
CT_EXTRA_CFLAGS_FOR_HOST="-fPIC -DPIC"
CT_EXTRA_LDFLAGS_FOR_HOST=""
# CT_CONFIG_SHELL_SH is not set
# CT_CONFIG_SHELL_ASH is not set
CT_CONFIG_SHELL_BASH=y
# CT_CONFIG_SHELL_CUSTOM is not set
CT_CONFIG_SHELL="${bash}"

#
# Logging
#
# CT_LOG_ERROR is not set
# CT_LOG_WARN is not set
# CT_LOG_INFO is not set
# CT_LOG_EXTRA is not set
# CT_LOG_ALL is not set
CT_LOG_DEBUG=y
CT_LOG_LEVEL_MAX="DEBUG"
# CT_LOG_SEE_TOOLS_WARN is not set
# CT_LOG_TO_FILE is not set
# end of Paths and misc options

#
# Target options
#
# CT_ARCH_ALPHA is not set
# CT_ARCH_ARC is not set
CT_ARCH_ARM=y
# CT_ARCH_AVR is not set
# CT_ARCH_BPF is not set
# CT_ARCH_C6X is not set
# CT_ARCH_LM32 is not set
# CT_ARCH_LOONGARCH is not set
# CT_ARCH_M68K is not set
# CT_ARCH_MICROBLAZE is not set
# CT_ARCH_MIPS is not set
# CT_ARCH_MOXIE is not set
# CT_ARCH_MSP430 is not set
# CT_ARCH_NIOS2 is not set
# CT_ARCH_OPENRISC is not set
# CT_ARCH_PARISC is not set
# CT_ARCH_POWERPC is not set
# CT_ARCH_PRU is not set
# CT_ARCH_RISCV is not set
# CT_ARCH_RX is not set
# CT_ARCH_S390 is not set
# CT_ARCH_SH is not set
# CT_ARCH_SPARC is not set
# CT_ARCH_TRICORE is not set
# CT_ARCH_X86 is not set
# CT_ARCH_XTENSA is not set
CT_ARCH="arm"
CT_ARCH_CHOICE_KSYM="ARM"
CT_ARCH_CPU=""
CT_ARCH_TUNE=""
CT_ARCH_ARM_SHOW=y

#
# Options for arm
#
CT_ARCH_ARM_PKG_KSYM=""
CT_ALL_ARCH_CHOICES="ALPHA ARC ARM AVR BPF C6X LM32 LOONGARCH M68K MICROBLAZE MIPS MOXIE MSP430 NIOS2 OPENRISC PARISC POWERPC PRU RISCV RX S390 SH SPARC TRICORE X86 XTENSA"
CT_ARCH_SUFFIX=""
# CT_OMIT_TARGET_VENDOR is not set

#
# Generic target options
#
# CT_MULTILIB is not set
CT_DEMULTILIB=y
CT_ARCH_SUPPORTS_BOTH_MMU=y
CT_ARCH_DEFAULT_HAS_MMU=y
CT_ARCH_USE_MMU=y
CT_ARCH_SUPPORTS_FLAT_FORMAT=y
CT_ARCH_SUPPORTS_LIBSANITIZER=y
CT_ARCH_SUPPORTS_EITHER_ENDIAN=y
CT_ARCH_DEFAULT_LE=y
# CT_ARCH_BE is not set
CT_ARCH_LE=y
CT_ARCH_ENDIAN="little"
CT_ARCH_SUPPORTS_32=y
CT_ARCH_SUPPORTS_64=y
CT_ARCH_DEFAULT_32=y
CT_ARCH_BITNESS=64
# CT_ARCH_32 is not set
CT_ARCH_64=y

#
# Target optimisations
#
CT_ARCH_SUPPORTS_WITH_ARCH=y
CT_ARCH_SUPPORTS_WITH_CPU=y
CT_ARCH_SUPPORTS_WITH_TUNE=y
CT_ARCH_EXCLUSIVE_WITH_CPU=y
CT_ARCH_ARCH=""
CT_TARGET_CFLAGS="-fPIC -DPIC"
CT_TARGET_LDFLAGS=""
# end of Target options

#
# Toolchain options
#

#
# General toolchain options
#
CT_USE_SYSROOT=y
CT_SYSROOT_NAME="sysroot"
CT_SYSROOT_DIR_PREFIX=""
# CT_STATIC_TOOLCHAIN is not set
CT_SHOW_CT_VERSION=y
CT_TOOLCHAIN_PKGVERSION=""
CT_TOOLCHAIN_BUGURL=""

#
# Tuple completion and aliasing
#
CT_TARGET_VENDOR="ffbuild"
CT_TARGET_ALIAS_SED_EXPR=""
CT_TARGET_ALIAS=""

#
# Toolchain type
#
# CT_NATIVE is not set
CT_CROSS=y
# CT_CROSS_NATIVE is not set
# CT_CANADIAN is not set
CT_TOOLCHAIN_TYPE="cross"

#
# Build system
#
CT_BUILD=""
CT_BUILD_PREFIX=""
CT_BUILD_SUFFIX=""

#
# Misc options
#
# CT_TOOLCHAIN_ENABLE_NLS is not set
CT_TOOLCHAIN_CMAKE_TOOLCHAIN_FILE=y
# end of Toolchain options

#
# Operating System
#
CT_KERNEL_SUPPORTS_SHARED_LIBS=y
# CT_KERNEL_BARE_METAL is not set
CT_KERNEL_LINUX=y
# CT_KERNEL_WINDOWS is not set
CT_KERNEL="linux"
CT_KERNEL_CHOICE_KSYM="LINUX"
CT_KERNEL_LINUX_SHOW=y

#
# Options for linux
#
CT_KERNEL_LINUX_PKG_KSYM="LINUX"
CT_LINUX_DIR_NAME="linux"
CT_LINUX_PKG_NAME="linux"
CT_LINUX_SRC_RELEASE=y
# CT_LINUX_SRC_DEVEL is not set
# CT_LINUX_SRC_CUSTOM is not set
CT_LINUX_PATCH_GLOBAL=y
# CT_LINUX_PATCH_BUNDLED is not set
# CT_LINUX_PATCH_LOCAL is not set
# CT_LINUX_PATCH_BUNDLED_LOCAL is not set
# CT_LINUX_PATCH_LOCAL_BUNDLED is not set
# CT_LINUX_PATCH_NONE is not set
CT_LINUX_PATCH_ORDER="global"
# CT_LINUX_V_6_18 is not set
# CT_LINUX_V_6_17 is not set
# CT_LINUX_V_6_16 is not set
# CT_LINUX_V_6_15 is not set
# CT_LINUX_V_6_14 is not set
# CT_LINUX_V_6_13 is not set
# CT_LINUX_V_6_12 is not set
# CT_LINUX_V_6_11 is not set
# CT_LINUX_V_6_10 is not set
# CT_LINUX_V_6_9 is not set
# CT_LINUX_V_6_8 is not set
# CT_LINUX_V_6_7 is not set
# CT_LINUX_V_6_6 is not set
# CT_LINUX_V_6_5 is not set
# CT_LINUX_V_6_4 is not set
# CT_LINUX_V_6_3 is not set
# CT_LINUX_V_6_2 is not set
# CT_LINUX_V_6_1 is not set
# CT_LINUX_V_6_0 is not set
# CT_LINUX_V_5_19 is not set
# CT_LINUX_V_5_18 is not set
# CT_LINUX_V_5_17 is not set
# CT_LINUX_V_5_16 is not set
# CT_LINUX_V_5_15 is not set
# CT_LINUX_V_5_14 is not set
# CT_LINUX_V_5_13 is not set
# CT_LINUX_V_5_12 is not set
# CT_LINUX_V_5_11 is not set
# CT_LINUX_V_5_10 is not set
# CT_LINUX_V_5_9 is not set
# CT_LINUX_V_5_8 is not set
# CT_LINUX_V_5_7 is not set
# CT_LINUX_V_5_5 is not set
# CT_LINUX_V_5_4 is not set
# CT_LINUX_V_5_3 is not set
# CT_LINUX_V_5_2 is not set
# CT_LINUX_V_5_1 is not set
# CT_LINUX_V_5_0 is not set
# CT_LINUX_V_4_20 is not set
# CT_LINUX_V_4_19 is not set
CT_LINUX_V_4_18=y
# CT_LINUX_V_4_17 is not set
# CT_LINUX_V_4_16 is not set
# CT_LINUX_V_4_15 is not set
# CT_LINUX_V_4_14 is not set
# CT_LINUX_V_4_13 is not set
# CT_LINUX_V_4_12 is not set
# CT_LINUX_V_4_11 is not set
# CT_LINUX_V_4_10 is not set
# CT_LINUX_V_4_9 is not set
# CT_LINUX_V_4_4 is not set
# CT_LINUX_V_4_1 is not set
# CT_LINUX_V_3_18 is not set
# CT_LINUX_V_3_16 is not set
# CT_LINUX_V_3_13 is not set
# CT_LINUX_V_3_12 is not set
# CT_LINUX_V_3_10 is not set
CT_LINUX_VERSION="4.18.20"
CT_LINUX_MIRRORS="$(CT_Mirrors kernel.org linux ${CT_LINUX_VERSION})"
CT_LINUX_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
CT_LINUX_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
CT_LINUX_ARCHIVE_FORMATS=".tar.xz .tar.gz"
CT_LINUX_SIGNATURE_FORMAT="unpacked/.sign"
CT_LINUX_5_19_or_older=y
CT_LINUX_older_than_5_19=y
CT_LINUX_5_12_or_older=y
CT_LINUX_older_than_5_12=y
CT_LINUX_5_5_or_older=y
CT_LINUX_older_than_5_5=y
CT_LINUX_5_3_or_older=y
CT_LINUX_older_than_5_3=y
CT_LINUX_later_than_4_8=y
CT_LINUX_4_8_or_later=y
CT_LINUX_later_than_3_7=y
CT_LINUX_3_7_or_later=y
CT_LINUX_REQUIRE_3_7_or_later=y
CT_LINUX_later_than_3_2=y
CT_LINUX_3_2_or_later=y
CT_LINUX_REQUIRE_3_2_or_later=y
CT_KERNEL_has_rsync=y
CT_KERNEL_DEP_RSYNC=y
CT_KERNEL_LINUX_VERBOSITY_0=y
# CT_KERNEL_LINUX_VERBOSITY_1 is not set
# CT_KERNEL_LINUX_VERBOSITY_2 is not set
CT_KERNEL_LINUX_VERBOSE_LEVEL=0
# CT_KERNEL_LINUX_INSTALL_CHECK is not set
CT_ALL_KERNEL_CHOICES="BARE_METAL LINUX WINDOWS"

#
# Common kernel options
#
CT_SHARED_LIBS=y
# end of Operating System

#
# Binary utilities
#
CT_ARCH_BINFMT_ELF=y
CT_BINUTILS_BINUTILS=y
CT_BINUTILS="binutils"
CT_BINUTILS_CHOICE_KSYM="BINUTILS"
CT_BINUTILS_BINUTILS_SHOW=y

#
# Options for binutils
#
CT_BINUTILS_BINUTILS_PKG_KSYM="BINUTILS"
CT_BINUTILS_DIR_NAME="binutils"
CT_BINUTILS_USE_GNU=y
# CT_BINUTILS_USE_LINARO is not set
# CT_BINUTILS_USE_ORACLE is not set
CT_BINUTILS_USE="BINUTILS"
CT_BINUTILS_PKG_NAME="binutils"
CT_BINUTILS_SRC_RELEASE=y
# CT_BINUTILS_SRC_DEVEL is not set
# CT_BINUTILS_SRC_CUSTOM is not set
CT_BINUTILS_PATCH_GLOBAL=y
# CT_BINUTILS_PATCH_BUNDLED is not set
# CT_BINUTILS_PATCH_LOCAL is not set
# CT_BINUTILS_PATCH_BUNDLED_LOCAL is not set
# CT_BINUTILS_PATCH_LOCAL_BUNDLED is not set
# CT_BINUTILS_PATCH_NONE is not set
CT_BINUTILS_PATCH_ORDER="global"
CT_BINUTILS_V_2_46=y
# CT_BINUTILS_V_2_45 is not set
# CT_BINUTILS_V_2_44 is not set
# CT_BINUTILS_V_2_43 is not set
# CT_BINUTILS_V_2_42 is not set
# CT_BINUTILS_V_2_41 is not set
# CT_BINUTILS_V_2_40 is not set
# CT_BINUTILS_V_2_39 is not set
# CT_BINUTILS_V_2_38 is not set
# CT_BINUTILS_V_2_37 is not set
# CT_BINUTILS_V_2_36 is not set
# CT_BINUTILS_V_2_35 is not set
# CT_BINUTILS_V_2_34 is not set
# CT_BINUTILS_V_2_33 is not set
# CT_BINUTILS_V_2_32 is not set
# CT_BINUTILS_V_2_31 is not set
# CT_BINUTILS_V_2_30 is not set
# CT_BINUTILS_V_2_29 is not set
# CT_BINUTILS_V_2_28 is not set
# CT_BINUTILS_V_2_27 is not set
# CT_BINUTILS_V_2_26 is not set
CT_BINUTILS_VERSION="2.46.0"
CT_BINUTILS_MIRRORS="$(CT_Mirrors GNU binutils) $(CT_Mirrors sourceware binutils/releases)"
CT_BINUTILS_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
CT_BINUTILS_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
CT_BINUTILS_ARCHIVE_FORMATS=".tar.xz .tar.bz2 .tar.gz"
CT_BINUTILS_SIGNATURE_FORMAT="packed/.sig"
CT_BINUTILS_2_46_0_or_later=y
CT_BINUTILS_2_46_0_or_older=y
CT_BINUTILS_later_than_2_45=y
CT_BINUTILS_2_45_or_later=y
CT_BINUTILS_later_than_2_44=y
CT_BINUTILS_2_44_or_later=y
CT_BINUTILS_later_than_2_41=y
CT_BINUTILS_2_41_or_later=y
CT_BINUTILS_later_than_2_39=y
CT_BINUTILS_2_39_or_later=y
CT_BINUTILS_later_than_2_30=y
CT_BINUTILS_2_30_or_later=y
CT_BINUTILS_later_than_2_27=y
CT_BINUTILS_2_27_or_later=y
CT_BINUTILS_later_than_2_26=y
CT_BINUTILS_2_26_or_later=y

#
# GNU binutils
#
CT_BINUTILS_GOLD_SUPPORTS_ARCH=y
CT_BINUTILS_FORCE_LD_BFD_DEFAULT=y
CT_BINUTILS_LINKER_LD=y
CT_BINUTILS_LINKERS_LIST="ld"
CT_BINUTILS_LINKER_DEFAULT="bfd"
CT_BINUTILS_PLUGINS=y
CT_BINUTILS_RELRO=m
CT_BINUTILS_DETERMINISTIC_ARCHIVES=y
CT_BINUTILS_EXTRA_CONFIG_ARRAY=""
# CT_BINUTILS_FOR_TARGET is not set
# CT_BINUTILS_GPROFNG is not set
CT_ALL_BINUTILS_CHOICES="BINUTILS"
# end of Binary utilities

#
# C-library
#
CT_LIBC_GLIBC=y
# CT_LIBC_MUSL is not set
# CT_LIBC_UCLIBC_NG is not set
CT_LIBC="glibc"
CT_LIBC_CHOICE_KSYM="GLIBC"
CT_LIBC_GLIBC_SHOW=y

#
# Options for glibc
#
CT_LIBC_GLIBC_PKG_KSYM="GLIBC"
CT_GLIBC_DIR_NAME="glibc"
CT_GLIBC_USE_GNU=y
# CT_GLIBC_USE_ORACLE is not set
CT_GLIBC_USE="GLIBC"
CT_GLIBC_PKG_NAME="glibc"
CT_GLIBC_SRC_RELEASE=y
# CT_GLIBC_SRC_DEVEL is not set
# CT_GLIBC_SRC_CUSTOM is not set
CT_GLIBC_PATCH_GLOBAL=y
# CT_GLIBC_PATCH_BUNDLED is not set
# CT_GLIBC_PATCH_LOCAL is not set
# CT_GLIBC_PATCH_BUNDLED_LOCAL is not set
# CT_GLIBC_PATCH_LOCAL_BUNDLED is not set
# CT_GLIBC_PATCH_NONE is not set
CT_GLIBC_PATCH_ORDER="global"
# CT_GLIBC_V_2_43 is not set
# CT_GLIBC_V_2_42 is not set
# CT_GLIBC_V_2_41 is not set
# CT_GLIBC_V_2_40 is not set
# CT_GLIBC_V_2_39 is not set
# CT_GLIBC_V_2_38 is not set
# CT_GLIBC_V_2_37 is not set
# CT_GLIBC_V_2_36 is not set
# CT_GLIBC_V_2_35 is not set
# CT_GLIBC_V_2_34 is not set
# CT_GLIBC_V_2_33 is not set
# CT_GLIBC_V_2_32 is not set
# CT_GLIBC_V_2_31 is not set
# CT_GLIBC_V_2_30 is not set
# CT_GLIBC_V_2_29 is not set
CT_GLIBC_V_2_28=y
# CT_GLIBC_V_2_27 is not set
# CT_GLIBC_V_2_26 is not set
# CT_GLIBC_V_2_25 is not set
# CT_GLIBC_V_2_24 is not set
# CT_GLIBC_V_2_23 is not set
# CT_GLIBC_V_2_19 is not set
# CT_GLIBC_V_2_17 is not set
CT_GLIBC_VERSION="2.28"
CT_GLIBC_MIRRORS="$(CT_Mirrors GNU glibc)"
CT_GLIBC_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
CT_GLIBC_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
CT_GLIBC_ARCHIVE_FORMATS=".tar.xz .tar.bz2 .tar.gz"
CT_GLIBC_SIGNATURE_FORMAT="packed/.sig"
CT_GLIBC_2_43_or_older=y
CT_GLIBC_older_than_2_43=y
CT_GLIBC_2_42_or_older=y
CT_GLIBC_older_than_2_42=y
CT_GLIBC_2_41_or_older=y
CT_GLIBC_older_than_2_41=y
CT_GLIBC_2_38_or_older=y
CT_GLIBC_older_than_2_38=y
CT_GLIBC_2_37_or_older=y
CT_GLIBC_older_than_2_37=y
CT_GLIBC_2_36_or_older=y
CT_GLIBC_older_than_2_36=y
CT_GLIBC_2_34_or_older=y
CT_GLIBC_older_than_2_34=y
CT_GLIBC_2_32_or_older=y
CT_GLIBC_older_than_2_32=y
CT_GLIBC_2_31_or_older=y
CT_GLIBC_older_than_2_31=y
CT_GLIBC_2_30_or_older=y
CT_GLIBC_older_than_2_30=y
CT_GLIBC_2_29_or_older=y
CT_GLIBC_older_than_2_29=y
CT_GLIBC_2_28_or_later=y
CT_GLIBC_2_28_or_older=y
CT_GLIBC_later_than_2_27=y
CT_GLIBC_2_27_or_later=y
CT_GLIBC_later_than_2_26=y
CT_GLIBC_2_26_or_later=y
CT_GLIBC_later_than_2_25=y
CT_GLIBC_2_25_or_later=y
CT_GLIBC_later_than_2_24=y
CT_GLIBC_2_24_or_later=y
CT_GLIBC_later_than_2_23=y
CT_GLIBC_2_23_or_later=y
CT_GLIBC_later_than_2_20=y
CT_GLIBC_2_20_or_later=y
CT_GLIBC_later_than_2_17=y
CT_GLIBC_2_17_or_later=y
CT_GLIBC_later_than_2_14=y
CT_GLIBC_2_14_or_later=y
CT_GLIBC_DEP_KERNEL_HEADERS_VERSION=y
CT_GLIBC_DEP_BINUTILS=y
CT_GLIBC_DEP_GCC=y
CT_GLIBC_DEP_PYTHON=y
CT_GLIBC_DEP_MAKE_4_3=y
CT_GLIBC_SPARC_ALLOW_V7=y
CT_THREADS="nptl"
CT_GLIBC_BUILD_SSP=y
CT_GLIBC_HAS_LIBIDN_ADDON=y
# CT_GLIBC_USE_LIBIDN_ADDON is not set
CT_GLIBC_NO_SPARC_V8=y
CT_GLIBC_HAS_OBSOLETE_RPC=y
CT_GLIBC_EXTRA_CONFIG_ARRAY="--with-pic"
CT_GLIBC_CONFIGPARMS=""
# CT_GLIBC_ENABLE_DEBUG is not set
CT_GLIBC_EXTRA_CFLAGS="-fPIC -DPIC"
CT_GLIBC_ENABLE_OBSOLETE_RPC=y
# CT_GLIBC_ENABLE_FORTIFIED_BUILD is not set
# CT_GLIBC_DISABLE_VERSIONING is not set
CT_GLIBC_OLDEST_ABI=""
CT_GLIBC_FORCE_UNWIND=y
# CT_GLIBC_LOCALES is not set
# CT_GLIBC_KERNEL_VERSION_NONE is not set
CT_GLIBC_KERNEL_VERSION_AS_HEADERS=y
# CT_GLIBC_KERNEL_VERSION_CHOSEN is not set
CT_GLIBC_MIN_KERNEL="4.18.20"
CT_GLIBC_SSP_DEFAULT=y
# CT_GLIBC_SSP_NO is not set
# CT_GLIBC_SSP_YES is not set
# CT_GLIBC_SSP_ALL is not set
# CT_GLIBC_SSP_STRONG is not set
CT_GLIBC_ENABLE_COMMON_FLAG=y
CT_ALL_LIBC_CHOICES="AVR_LIBC GLIBC MINGW_W64 MOXIEBOX MUSL NEWLIB NONE PICOLIBC UCLIBC_NG"
CT_LIBC_SUPPORT_THREADS_ANY=y
CT_LIBC_SUPPORT_THREADS_NATIVE=y

#
# Common C library options
#
CT_THREADS_NATIVE=y
# CT_CREATE_LDSO_CONF is not set
CT_LIBC_XLDD=y
# end of C-library

#
# C compiler
#
CT_CC_CORE_NEEDED=y
CT_CC_SUPPORT_CXX=y
CT_CC_SUPPORT_FORTRAN=y
CT_CC_SUPPORT_ADA=y
CT_CC_SUPPORT_D=y
CT_CC_SUPPORT_JIT=y
CT_CC_SUPPORT_OBJC=y
CT_CC_SUPPORT_OBJCXX=y
CT_CC_SUPPORT_GOLANG=y
CT_CC_GCC=y
CT_CC="gcc"
CT_CC_CHOICE_KSYM="GCC"
CT_CC_GCC_SHOW=y

#
# Options for gcc
#
CT_CC_GCC_PKG_KSYM="GCC"
CT_GCC_DIR_NAME="gcc"
CT_GCC_USE_GNU=y
# CT_GCC_USE_LINARO is not set
# CT_GCC_USE_ORACLE is not set
CT_GCC_USE="GCC"
CT_GCC_PKG_NAME="gcc"
CT_GCC_SRC_RELEASE=y
# CT_GCC_SRC_DEVEL is not set
# CT_GCC_SRC_CUSTOM is not set
CT_GCC_PATCH_GLOBAL=y
# CT_GCC_PATCH_BUNDLED is not set
# CT_GCC_PATCH_LOCAL is not set
# CT_GCC_PATCH_BUNDLED_LOCAL is not set
# CT_GCC_PATCH_LOCAL_BUNDLED is not set
# CT_GCC_PATCH_NONE is not set
CT_GCC_PATCH_ORDER="global"
CT_GCC_V_15=y
# CT_GCC_V_14 is not set
# CT_GCC_V_13 is not set
# CT_GCC_V_12 is not set
# CT_GCC_V_11 is not set
# CT_GCC_V_10 is not set
# CT_GCC_V_9 is not set
# CT_GCC_V_8 is not set
# CT_GCC_V_7 is not set
# CT_GCC_V_6 is not set
# CT_GCC_V_5 is not set
# CT_GCC_V_4_9 is not set
CT_GCC_VERSION="15.2.0"
CT_GCC_MIRRORS="$(CT_Mirrors GNU gcc/gcc-${CT_GCC_VERSION}) $(CT_Mirrors sourceware gcc/releases/gcc-${CT_GCC_VERSION})"
CT_GCC_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
CT_GCC_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
CT_GCC_ARCHIVE_FORMATS=".tar.xz .tar.gz"
CT_GCC_SIGNATURE_FORMAT=""
CT_GCC_later_than_15=y
CT_GCC_15_or_later=y
CT_GCC_later_than_14=y
CT_GCC_14_or_later=y
CT_GCC_later_than_13=y
CT_GCC_13_or_later=y
CT_GCC_later_than_12=y
CT_GCC_12_or_later=y
CT_GCC_later_than_11=y
CT_GCC_11_or_later=y
CT_GCC_later_than_10=y
CT_GCC_10_or_later=y
CT_GCC_later_than_9=y
CT_GCC_9_or_later=y
CT_GCC_later_than_8=y
CT_GCC_8_or_later=y
CT_GCC_later_than_7=y
CT_GCC_7_or_later=y
CT_GCC_later_than_6=y
CT_GCC_6_or_later=y
CT_GCC_later_than_5=y
CT_GCC_5_or_later=y
CT_GCC_later_than_4_9=y
CT_GCC_4_9_or_later=y
CT_GCC_REQUIRE_4_9_or_later=y
CT_CC_GCC_ENABLE_PLUGINS=y
CT_CC_GCC_HAS_LIBMPX=y
CT_CC_GCC_ENABLE_CXX_FLAGS=""
CT_CC_GCC_CORE_EXTRA_CONFIG_ARRAY="--enable-host-shared --enable-default-ssp"
CT_CC_GCC_EXTRA_CONFIG_ARRAY="--enable-host-shared --enable-default-ssp --with-build-config=bootstrap-lto-lean --enable-link-serialization=2"
# CT_CC_GCC_STATIC_LIBSTDCXX is not set
# CT_CC_GCC_SYSTEM_ZLIB is not set
CT_CC_GCC_CONFIG_TLS=m

#
# Optimisation features
#
CT_CC_GCC_USE_GRAPHITE=y
CT_CC_GCC_USE_LTO=y
CT_CC_GCC_LTO_ZSTD=m

#
# Settings for libraries running on target
#
CT_CC_GCC_ENABLE_DEFAULT_PIE=y
# CT_CC_GCC_ENABLE_TARGET_OPTSPACE is not set
CT_CC_GCC_LIBSTDCXX=m
# CT_CC_GCC_LIBSTDCXX_HOSTED_DISABLE is not set
CT_CC_GCC_LIBSTDCXX_TARGET_CXXFLAGS="-O2 -pipe"
# CT_CC_GCC_LIBMUDFLAP is not set
CT_CC_GCC_LIBGOMP=y
CT_CC_GCC_LIBSSP=m
# CT_CC_GCC_LIBQUADMATH is not set
# CT_CC_GCC_LIBSANITIZER is not set
# CT_CC_GCC_LIBSTDCXX_VERBOSE is not set

#
# Misc. obscure options.
#
CT_CC_CXA_ATEXIT=y
CT_CC_GCC_TM_CLONE_REGISTRY=m
# CT_CC_GCC_DISABLE_PCH is not set
CT_CC_GCC_SJLJ_EXCEPTIONS=m
CT_CC_GCC_LDBL_128=m
# CT_CC_GCC_BUILD_ID is not set
CT_CC_GCC_LNK_HASH_STYLE_DEFAULT=y
# CT_CC_GCC_LNK_HASH_STYLE_SYSV is not set
# CT_CC_GCC_LNK_HASH_STYLE_GNU is not set
# CT_CC_GCC_LNK_HASH_STYLE_BOTH is not set
CT_CC_GCC_LNK_HASH_STYLE=""
CT_CC_GCC_DEC_FLOATS_AUTO=y
# CT_CC_GCC_DEC_FLOATS_BID is not set
# CT_CC_GCC_DEC_FLOATS_DPD is not set
# CT_CC_GCC_DEC_FLOATS_NO is not set
CT_CC_GCC_DEC_FLOATS=""
CT_ALL_CC_CHOICES="GCC"

#
# Additional supported languages:
#
CT_CC_LANG_CXX=y
# CT_CC_LANG_FORTRAN is not set
# CT_CC_LANG_JIT is not set
# CT_CC_LANG_ADA is not set
# CT_CC_LANG_D is not set
# CT_CC_LANG_OBJC is not set
# CT_CC_LANG_OBJCXX is not set
# CT_CC_LANG_GOLANG is not set
CT_CC_LANG_OTHERS=""
# end of C compiler

#
# Linkers
#

#
# BFD enabled in binutils
#
CT_LINKER_MOLD=y
CT_LINKER_MOLD_PKG_KSYM="MOLD"
CT_MOLD_DIR_NAME="mold"
CT_MOLD_PKG_NAME="mold"
CT_MOLD_SRC_RELEASE=y
# CT_MOLD_SRC_DEVEL is not set
# CT_MOLD_SRC_CUSTOM is not set
CT_MOLD_PATCH_GLOBAL=y
# CT_MOLD_PATCH_BUNDLED is not set
# CT_MOLD_PATCH_LOCAL is not set
# CT_MOLD_PATCH_BUNDLED_LOCAL is not set
# CT_MOLD_PATCH_LOCAL_BUNDLED is not set
# CT_MOLD_PATCH_NONE is not set
CT_MOLD_PATCH_ORDER="global"
CT_MOLD_V_2_40_4=y
# CT_MOLD_V_2_39_1 is not set
# CT_MOLD_V_2_38_1 is not set
# CT_MOLD_V_2_37_1 is not set
# CT_MOLD_V_2_36_0 is not set
# CT_MOLD_V_2_33_0 is not set
# CT_MOLD_V_2_32_0 is not set
# CT_MOLD_V_2_31_0 is not set
CT_MOLD_VERSION="2.40.4"
CT_MOLD_MIRRORS="https://github.com/rui314/mold/archive/refs/tags"
CT_MOLD_ARCHIVE_FILENAME="v@{version}"
CT_MOLD_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
CT_MOLD_ARCHIVE_FORMATS=".tar.gz"
CT_MOLD_SIGNATURE_FORMAT=""
CT_LINKER_MOLD_has_cmake=y
CT_ALL_LINKER_CHOICES="MOLD"
# end of Linkers

#
# Debug facilities
#
# CT_DEBUG_DUMA is not set
# CT_DEBUG_GDB is not set
# CT_DEBUG_LTRACE is not set
# CT_DEBUG_STRACE is not set
CT_ALL_DEBUG_CHOICES="DUMA GDB LTRACE STRACE"
# end of Debug facilities

#
# Companion libraries
#
# CT_COMPLIBS_CHECK is not set
# CT_COMP_LIBS_CLOOG is not set
# CT_COMP_LIBS_EXPAT is not set
CT_COMP_LIBS_GETTEXT=y
CT_COMP_LIBS_GETTEXT_PKG_KSYM="GETTEXT"
CT_GETTEXT_DIR_NAME="gettext"
CT_GETTEXT_PKG_NAME="gettext"
CT_GETTEXT_SRC_RELEASE=y
# CT_GETTEXT_SRC_DEVEL is not set
# CT_GETTEXT_SRC_CUSTOM is not set
CT_GETTEXT_PATCH_GLOBAL=y
# CT_GETTEXT_PATCH_BUNDLED is not set
# CT_GETTEXT_PATCH_LOCAL is not set
# CT_GETTEXT_PATCH_BUNDLED_LOCAL is not set
# CT_GETTEXT_PATCH_LOCAL_BUNDLED is not set
# CT_GETTEXT_PATCH_NONE is not set
CT_GETTEXT_PATCH_ORDER="global"
CT_GETTEXT_V_0_26=y
# CT_GETTEXT_V_0_23_1 is not set
# CT_GETTEXT_V_0_22_5 is not set
# CT_GETTEXT_V_0_21 is not set
# CT_GETTEXT_V_0_20_1 is not set
# CT_GETTEXT_V_0_19_8_1 is not set
CT_GETTEXT_VERSION="0.26"
CT_GETTEXT_MIRRORS="$(CT_Mirrors GNU gettext)"
CT_GETTEXT_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
CT_GETTEXT_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
CT_GETTEXT_ARCHIVE_FORMATS=".tar.xz .tar.gz"
CT_GETTEXT_SIGNATURE_FORMAT="packed/.sig"
CT_GETTEXT_later_than_0_23=y
CT_GETTEXT_0_23_or_later=y
CT_GETTEXT_later_than_0_21=y
CT_GETTEXT_0_21_or_later=y
CT_GETTEXT_INCOMPATIBLE_WITH_UCLIBC_NG=y

#
# This version of gettext is not compatible with uClibc-NG. Select
#

#
# a different version if uClibc-NG is used on the target or (in a
#

#
# Canadian cross build) on the host.
#
CT_COMP_LIBS_GMP=y
CT_COMP_LIBS_GMP_PKG_KSYM="GMP"
CT_GMP_DIR_NAME="gmp"
CT_GMP_PKG_NAME="gmp"
CT_GMP_SRC_RELEASE=y
# CT_GMP_SRC_DEVEL is not set
# CT_GMP_SRC_CUSTOM is not set
CT_GMP_PATCH_GLOBAL=y
# CT_GMP_PATCH_BUNDLED is not set
# CT_GMP_PATCH_LOCAL is not set
# CT_GMP_PATCH_BUNDLED_LOCAL is not set
# CT_GMP_PATCH_LOCAL_BUNDLED is not set
# CT_GMP_PATCH_NONE is not set
CT_GMP_PATCH_ORDER="global"
CT_GMP_V_6_3=y
# CT_GMP_V_6_2 is not set
# CT_GMP_V_6_1 is not set
CT_GMP_VERSION="6.3.0"
CT_GMP_MIRRORS="https://gmplib.org/download/gmp https://gmplib.org/download/gmp/archive $(CT_Mirrors GNU gmp)"
CT_GMP_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
CT_GMP_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
CT_GMP_ARCHIVE_FORMATS=".tar.xz .tar.lz .tar.bz2"
CT_GMP_SIGNATURE_FORMAT="packed/.sig"
CT_GMP_EXTRA_CFLAGS="-std=gnu17"
CT_COMP_LIBS_ISL=y
CT_COMP_LIBS_ISL_PKG_KSYM="ISL"
CT_ISL_DIR_NAME="isl"
CT_ISL_PKG_NAME="isl"
CT_ISL_SRC_RELEASE=y
# CT_ISL_SRC_DEVEL is not set
# CT_ISL_SRC_CUSTOM is not set
CT_ISL_PATCH_GLOBAL=y
# CT_ISL_PATCH_BUNDLED is not set
# CT_ISL_PATCH_LOCAL is not set
# CT_ISL_PATCH_BUNDLED_LOCAL is not set
# CT_ISL_PATCH_LOCAL_BUNDLED is not set
# CT_ISL_PATCH_NONE is not set
CT_ISL_PATCH_ORDER="global"
CT_ISL_V_0_27=y
# CT_ISL_V_0_26 is not set
# CT_ISL_V_0_25 is not set
# CT_ISL_V_0_24 is not set
# CT_ISL_V_0_23 is not set
# CT_ISL_V_0_22 is not set
# CT_ISL_V_0_21 is not set
# CT_ISL_V_0_20 is not set
# CT_ISL_V_0_19 is not set
# CT_ISL_V_0_18 is not set
# CT_ISL_V_0_17 is not set
# CT_ISL_V_0_16 is not set
# CT_ISL_V_0_15 is not set
# CT_ISL_V_0_11 is not set
CT_ISL_VERSION="0.27"
CT_ISL_MIRRORS="https://libisl.sourceforge.io"
CT_ISL_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
CT_ISL_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
CT_ISL_ARCHIVE_FORMATS=".tar.xz .tar.bz2 .tar.gz"
CT_ISL_SIGNATURE_FORMAT=""
CT_ISL_later_than_0_18=y
CT_ISL_0_18_or_later=y
CT_ISL_later_than_0_15=y
CT_ISL_0_15_or_later=y
# CT_COMP_LIBS_LIBELF is not set
CT_COMP_LIBS_LIBICONV=y
CT_COMP_LIBS_LIBICONV_PKG_KSYM="LIBICONV"
CT_LIBICONV_DIR_NAME="libiconv"
CT_LIBICONV_PKG_NAME="libiconv"
CT_LIBICONV_SRC_RELEASE=y
# CT_LIBICONV_SRC_DEVEL is not set
# CT_LIBICONV_SRC_CUSTOM is not set
CT_LIBICONV_PATCH_GLOBAL=y
# CT_LIBICONV_PATCH_BUNDLED is not set
# CT_LIBICONV_PATCH_LOCAL is not set
# CT_LIBICONV_PATCH_BUNDLED_LOCAL is not set
# CT_LIBICONV_PATCH_LOCAL_BUNDLED is not set
# CT_LIBICONV_PATCH_NONE is not set
CT_LIBICONV_PATCH_ORDER="global"
CT_LIBICONV_V_1_18=y
# CT_LIBICONV_V_1_16 is not set
# CT_LIBICONV_V_1_15 is not set
CT_LIBICONV_VERSION="1.18"
CT_LIBICONV_MIRRORS="$(CT_Mirrors GNU libiconv)"
CT_LIBICONV_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
CT_LIBICONV_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
CT_LIBICONV_ARCHIVE_FORMATS=".tar.gz"
CT_LIBICONV_SIGNATURE_FORMAT="packed/.sig"
CT_COMP_LIBS_MPC=y
CT_COMP_LIBS_MPC_PKG_KSYM="MPC"
CT_MPC_DIR_NAME="mpc"
CT_MPC_PKG_NAME="mpc"
CT_MPC_SRC_RELEASE=y
# CT_MPC_SRC_DEVEL is not set
# CT_MPC_SRC_CUSTOM is not set
CT_MPC_PATCH_GLOBAL=y
# CT_MPC_PATCH_BUNDLED is not set
# CT_MPC_PATCH_LOCAL is not set
# CT_MPC_PATCH_BUNDLED_LOCAL is not set
# CT_MPC_PATCH_LOCAL_BUNDLED is not set
# CT_MPC_PATCH_NONE is not set
CT_MPC_PATCH_ORDER="global"
CT_MPC_V_1_3=y
CT_MPC_VERSION="1.3.1"
CT_MPC_MIRRORS="https://www.multiprecision.org/downloads $(CT_Mirrors GNU mpc)"
CT_MPC_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
CT_MPC_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
CT_MPC_ARCHIVE_FORMATS=".tar.gz"
CT_MPC_SIGNATURE_FORMAT="packed/.sig"
CT_COMP_LIBS_MPFR=y
CT_COMP_LIBS_MPFR_PKG_KSYM="MPFR"
CT_MPFR_DIR_NAME="mpfr"
CT_MPFR_PKG_NAME="mpfr"
CT_MPFR_SRC_RELEASE=y
# CT_MPFR_SRC_DEVEL is not set
# CT_MPFR_SRC_CUSTOM is not set
CT_MPFR_PATCH_GLOBAL=y
# CT_MPFR_PATCH_BUNDLED is not set
# CT_MPFR_PATCH_LOCAL is not set
# CT_MPFR_PATCH_BUNDLED_LOCAL is not set
# CT_MPFR_PATCH_LOCAL_BUNDLED is not set
# CT_MPFR_PATCH_NONE is not set
CT_MPFR_PATCH_ORDER="global"
CT_MPFR_V_4_2=y
CT_MPFR_VERSION="4.2.2"
CT_MPFR_MIRRORS="https://www.mpfr.org/mpfr-${CT_MPFR_VERSION} $(CT_Mirrors GNU mpfr)"
CT_MPFR_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
CT_MPFR_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
CT_MPFR_ARCHIVE_FORMATS=".tar.xz .tar.bz2 .tar.gz .zip"
CT_MPFR_SIGNATURE_FORMAT="packed/.asc"
CT_COMP_LIBS_NCURSES=y
CT_COMP_LIBS_NCURSES_PKG_KSYM="NCURSES"
CT_NCURSES_DIR_NAME="ncurses"
CT_NCURSES_PKG_NAME="ncurses"
CT_NCURSES_SRC_RELEASE=y
# CT_NCURSES_SRC_DEVEL is not set
# CT_NCURSES_SRC_CUSTOM is not set
CT_NCURSES_PATCH_GLOBAL=y
# CT_NCURSES_PATCH_BUNDLED is not set
# CT_NCURSES_PATCH_LOCAL is not set
# CT_NCURSES_PATCH_BUNDLED_LOCAL is not set
# CT_NCURSES_PATCH_LOCAL_BUNDLED is not set
# CT_NCURSES_PATCH_NONE is not set
CT_NCURSES_PATCH_ORDER="global"
CT_NCURSES_V_6_5=y
# CT_NCURSES_V_6_4 is not set
# CT_NCURSES_V_6_2 is not set
# CT_NCURSES_V_6_1 is not set
# CT_NCURSES_V_6_0 is not set
CT_NCURSES_VERSION="6.5"
CT_NCURSES_MIRRORS="https://invisible-mirror.net/archives/ncurses $(CT_Mirrors GNU ncurses)"
CT_NCURSES_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
CT_NCURSES_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
CT_NCURSES_ARCHIVE_FORMATS=".tar.gz"
CT_NCURSES_SIGNATURE_FORMAT="packed/.asc"
# CT_NCURSES_NEW_ABI is not set
CT_NCURSES_HOST_CONFIG_ARGS=""
CT_NCURSES_HOST_DISABLE_DB=y
CT_NCURSES_HOST_FALLBACKS="linux,xterm,xterm-color,xterm-256color,vt100"
CT_NCURSES_TARGET_CONFIG_ARGS=""
# CT_NCURSES_TARGET_DISABLE_DB is not set
CT_NCURSES_TARGET_FALLBACKS=""
CT_NCURSES_EXTRA_CFLAGS="-std=gnu17"
CT_COMP_LIBS_ZLIB=y
CT_COMP_LIBS_ZLIB_PKG_KSYM="ZLIB"
CT_ZLIB_DIR_NAME="zlib"
CT_ZLIB_PKG_NAME="zlib"
CT_ZLIB_SRC_RELEASE=y
# CT_ZLIB_SRC_DEVEL is not set
# CT_ZLIB_SRC_CUSTOM is not set
CT_ZLIB_PATCH_GLOBAL=y
# CT_ZLIB_PATCH_BUNDLED is not set
# CT_ZLIB_PATCH_LOCAL is not set
# CT_ZLIB_PATCH_BUNDLED_LOCAL is not set
# CT_ZLIB_PATCH_LOCAL_BUNDLED is not set
# CT_ZLIB_PATCH_NONE is not set
CT_ZLIB_PATCH_ORDER="global"
CT_ZLIB_V_1_3_1=y
# CT_ZLIB_V_1_2_13 is not set
CT_ZLIB_VERSION="1.3.1"
CT_ZLIB_MIRRORS="https://github.com/madler/zlib/releases/download/v${CT_ZLIB_VERSION} https://www.zlib.net/"
CT_ZLIB_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
CT_ZLIB_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
CT_ZLIB_ARCHIVE_FORMATS=".tar.xz .tar.gz"
CT_ZLIB_SIGNATURE_FORMAT="packed/.asc"
CT_COMP_LIBS_ZSTD=y
CT_COMP_LIBS_ZSTD_PKG_KSYM="ZSTD"
CT_ZSTD_DIR_NAME="zstd"
CT_ZSTD_PKG_NAME="zstd"
CT_ZSTD_SRC_RELEASE=y
# CT_ZSTD_SRC_DEVEL is not set
# CT_ZSTD_SRC_CUSTOM is not set
CT_ZSTD_PATCH_GLOBAL=y
# CT_ZSTD_PATCH_BUNDLED is not set
# CT_ZSTD_PATCH_LOCAL is not set
# CT_ZSTD_PATCH_BUNDLED_LOCAL is not set
# CT_ZSTD_PATCH_LOCAL_BUNDLED is not set
# CT_ZSTD_PATCH_NONE is not set
CT_ZSTD_PATCH_ORDER="global"
CT_ZSTD_V_1_5_7=y
# CT_ZSTD_V_1_5_6 is not set
# CT_ZSTD_V_1_5_5 is not set
# CT_ZSTD_V_1_5_2 is not set
CT_ZSTD_VERSION="1.5.7"
CT_ZSTD_MIRRORS="https://github.com/facebook/zstd/releases/download/v${CT_ZSTD_VERSION} https://downloads.sourceforge.net/project/zstandard.mirror/v${CT_ZSTD_VERSION}"
CT_ZSTD_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
CT_ZSTD_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
CT_ZSTD_ARCHIVE_FORMATS=".tar.gz"
CT_ZSTD_SIGNATURE_FORMAT="packed/.sig"
CT_ALL_COMP_LIBS_CHOICES="CLOOG EXPAT GETTEXT GMP GNUPRUMCU ISL LIBELF LIBICONV MPC MPFR NCURSES NEWLIB_NANO PICOLIBC ZLIB ZSTD"
CT_LIBICONV_NEEDED=y
CT_GETTEXT_NEEDED=y
CT_GMP_NEEDED=y
CT_MPFR_NEEDED=y
CT_ISL_NEEDED=y
CT_MPC_NEEDED=y
CT_NCURSES_NEEDED=y
CT_ZLIB_NEEDED=y
CT_ZSTD_NEEDED=y
CT_LIBICONV=y
CT_GETTEXT=y
CT_GMP=y
CT_MPFR=y
CT_ISL=y
CT_MPC=y
CT_NCURSES=y
CT_ZLIB=y
CT_ZSTD=y
# end of Companion libraries

#
# Companion tools
#
# CT_COMP_TOOLS_FOR_HOST is not set
# CT_COMP_TOOLS_AUTOCONF is not set
# CT_COMP_TOOLS_AUTOMAKE is not set
# CT_COMP_TOOLS_BISON is not set
# CT_COMP_TOOLS_DTC is not set
# CT_COMP_TOOLS_LIBTOOL is not set
# CT_COMP_TOOLS_M4 is not set
CT_COMP_TOOLS_MAKE=y
CT_COMP_TOOLS_MAKE_PKG_KSYM="MAKE"
CT_MAKE_DIR_NAME="make"
CT_MAKE_PKG_NAME="make"
CT_MAKE_SRC_RELEASE=y
# CT_MAKE_SRC_DEVEL is not set
# CT_MAKE_SRC_CUSTOM is not set
CT_MAKE_PATCH_GLOBAL=y
# CT_MAKE_PATCH_BUNDLED is not set
# CT_MAKE_PATCH_LOCAL is not set
# CT_MAKE_PATCH_BUNDLED_LOCAL is not set
# CT_MAKE_PATCH_LOCAL_BUNDLED is not set
# CT_MAKE_PATCH_NONE is not set
CT_MAKE_PATCH_ORDER="global"
CT_MAKE_V_4_3=y
CT_MAKE_VERSION="4.3"
CT_MAKE_MIRRORS="$(CT_Mirrors GNU make)"
CT_MAKE_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
CT_MAKE_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
CT_MAKE_ARCHIVE_FORMATS=".tar.lz .tar.gz"
CT_MAKE_SIGNATURE_FORMAT="packed/.sig"
CT_MAKE_4_4_or_older=y
CT_MAKE_older_than_4_4=y
CT_MAKE_REQUIRE_older_than_4_4=y
CT_MAKE_4_3_or_later=y
CT_MAKE_4_3_or_older=y
CT_MAKE_GMAKE_SYMLINK=y
CT_MAKE_GNUMAKE_SYMLINK=y
CT_ALL_COMP_TOOLS_CHOICES="AUTOCONF AUTOMAKE BISON DTC LIBTOOL M4 MAKE"
# end of Companion tools

#
# Test suite
#
# CT_TEST_SUITE_GCC is not set
# end of Test suite


================================================
FILE: images/base-linuxarm64/gen-implib.sh
================================================
#!/bin/bash
set -e
if [[ $# != 2 ]]; then
    echo "Invalid arguments"
    exit 1
fi
IN="$1"
OUT="$2"

TMPDIR="$(mktemp -d)"
trap "rm -rf '$TMPDIR'" EXIT
cd "$TMPDIR"

set -x
python3 /opt/implib/implib-gen.py --target aarch64-linux-gnu --dlopen --lazy-load --verbose "$IN"
${FFBUILD_CROSS_PREFIX}gcc $CFLAGS $STAGE_CFLAGS -Wa,--noexecstack -DIMPLIB_HIDDEN_SHIMS -c *.tramp.S *.init.c
${FFBUILD_CROSS_PREFIX}ar -rcs "$OUT" *.tramp.o *.init.o


================================================
FILE: images/base-linuxarm64/toolchain.cmake
================================================
set(CMAKE_SYSTEM_NAME Linux)
set(CMAKE_SYSTEM_PROCESSOR aarch64)
set(CMAKE_SYSTEM_VERSION 4.18.20)

set(triple aarch64-ffbuild-linux-gnu)

set(CMAKE_C_COMPILER ${triple}-gcc)
set(CMAKE_CXX_COMPILER ${triple}-g++)
set(CMAKE_RANLIB ${triple}-gcc-ranlib)
set(CMAKE_AR ${triple}-gcc-ar)

set(CMAKE_SYSROOT /opt/ct-ng/${triple}/sysroot)
set(CMAKE_FIND_ROOT_PATH /opt/ct-ng /opt/ct-ng/${triple}/sysroot /opt/ffbuild)

set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)


================================================
FILE: images/base-linuxmips64/Dockerfile
================================================
ARG GH_REPO=ghcr.io/btbn/ffmpeg-builds
FROM $GH_REPO/base:latest

RUN --mount=src=ct-ng-config,dst=/.config \
    git clone --filter=blob:none https://github.com/crosstool-ng/crosstool-ng.git /ct-ng && cd /ct-ng && \
    ./bootstrap && \
    ./configure --enable-local && \
    make -j$(nproc) && \
    cp /.config .config && \
    ./ct-ng build && \
    cd / && \
    rm -rf ct-ng

# Prepare cross environment to heavily favour static builds
RUN \
    find /opt/ct-ng \( -type l \
        -and -name '*.so' \
        -and -not -ipath '*plugin*' \
        -and -not -name 'libdl.*' \
        -and -not -name 'libc.*' \
        -and -not -name 'libm.*' \
        -and -not -name 'libmvec.*' \
        -and -not -name 'librt.*' \
        -and -not -name 'libpthread.*' \
        \) -delete && \
    find /opt/ct-ng \( \
        -name 'libdl.a' \
        -or -name 'libc.a' \
        -or -name 'libm.a' \
        -or -name 'libmvec.a' \
        -or -name 'librt.a' \
        -or -name 'libpthread.a' \
        \) -delete && \
    mkdir /opt/ffbuild

ENV FFBUILD_TOOLCHAIN=mips64-ffbuild-linux-gnu \
    FFBUILD_RUST_TARGET="mips64-unknown-linux-gnuabi64"

RUN \
    rustup default nightly && \
    rustup +nightly component add rust-src && \
    echo "[unstable]\nbuild-std = [\"core\", \"alloc\", \"std\", \"proc_macro\"]\n" > "$CARGO_HOME"/config.toml && \
    echo "[target.$FFBUILD_RUST_TARGET]\nlinker = \"${FFBUILD_TOOLCHAIN}-gcc\"\nar = \"${FFBUILD_TOOLCHAIN}-gcc-ar\"\n" > "$CARGO_HOME"/config.toml

ADD toolchain.cmake /toolchain.cmake
ADD cross.meson /cross.meson

ADD gen-implib.sh /usr/bin/gen-implib
RUN git clone --filter=blob:none --depth=1 https://github.com/yugr/Implib.so /opt/implib

ENV PATH="/opt/ct-ng/bin:${PATH}" \
    QEMU_LD_PREFIX="/opt/ct-ng/${FFBUILD_TOOLCHAIN}/sysroot" \
    FFBUILD_TARGET_FLAGS="--pkg-config=pkg-config --cross-prefix=${FFBUILD_TOOLCHAIN}- --arch=mips64 --cpu=mips64r2 --target-os=linux" \
    FFBUILD_CROSS_PREFIX="${FFBUILD_TOOLCHAIN}-" \
    FFBUILD_PREFIX=/opt/ffbuild \
    FFBUILD_DESTDIR=/opt/ffdest \
    FFBUILD_DESTPREFIX=/opt/ffdest/opt/ffbuild \
    FFBUILD_CMAKE_TOOLCHAIN=/toolchain.cmake \
    PKG_CONFIG=pkg-config \
    PKG_CONFIG_LIBDIR=/opt/ffbuild/lib/pkgconfig:/opt/ffbuild/share/pkgconfig \
    CC="${FFBUILD_TOOLCHAIN}-gcc" \
    CXX="${FFBUILD_TOOLCHAIN}-g++" \
    LD="${FFBUILD_TOOLCHAIN}-ld" \
    AR="${FFBUILD_TOOLCHAIN}-gcc-ar" \
    RANLIB="${FFBUILD_TOOLCHAIN}-gcc-ranlib" \
    NM="${FFBUILD_TOOLCHAIN}-gcc-nm" \
    CFLAGS="-static-libgcc -static-libstdc++ -I/opt/ffbuild/include -O2 -pipe -fPIC -DPIC -D_FORTIFY_SOURCE=2 -fstack-protector-strong -fstack-clash-protection -pthread" \
    CXXFLAGS="-static-libgcc -static-libstdc++ -I/opt/ffbuild/include -O2 -pipe -fPIC -DPIC -D_FORTIFY_SOURCE=2 -fstack-protector-strong -fstack-clash-protection -pthread" \
    LDFLAGS="-static-libgcc -static-libstdc++ -L/opt/ffbuild/lib -O2 -pipe -fstack-protector-strong -fstack-clash-protection -Wl,-z,relro,-z,now -pthread -lm" \
    STAGE_CFLAGS="-fvisibility=hidden -fno-semantic-interposition" \
    STAGE_CXXFLAGS="-fvisibility=hidden -fno-semantic-interposition"


================================================
FILE: images/base-linuxmips64/cross.meson
================================================
[binaries]
c = 'mips64-ffbuild-linux-gnu-gcc'
cpp = 'mips64-ffbuild-linux-gnu-g++'
ld = 'mips64-ffbuild-linux-gnu-ld'
ar = 'mips64-ffbuild-linux-gnu-gcc-ar'
ranlib = 'mips64-ffbuild-linux-gnu-gcc-ranlib'
strip = 'mips64-ffbuild-linux-gnu-strip'

[host_machine]
system = 'linux'
cpu_family = 'mips64'
cpu = 'mips64'
endian = 'big'


================================================
FILE: images/base-linuxmips64/ct-ng-config
================================================
#
# Automatically generated file; DO NOT EDIT.
# crosstool-NG 1.28.0.23_185f348 Configuration
#
CT_CONFIGURE_has_static_link=y
CT_CONFIGURE_has_cxx11=y
CT_CONFIGURE_has_wget=y
CT_CONFIGURE_has_curl=y
CT_CONFIGURE_has_meson=y
CT_CONFIGURE_has_ninja=y
CT_CONFIGURE_has_make_3_81_or_newer=y
CT_CONFIGURE_has_make_4_0_or_newer=y
CT_CONFIGURE_has_make_4_4_or_newer=y
CT_CONFIGURE_has_libtool_2_4_or_newer=y
CT_CONFIGURE_has_libtoolize_2_4_or_newer=y
CT_CONFIGURE_has_autoconf_2_65_or_newer=y
CT_CONFIGURE_has_autoreconf_2_65_or_newer=y
CT_CONFIGURE_has_automake_1_15_or_newer=y
CT_CONFIGURE_has_gnu_m4_1_4_12_or_newer=y
CT_CONFIGURE_has_python_3_4_or_newer=y
CT_CONFIGURE_has_bison_2_7_or_newer=y
CT_CONFIGURE_has_bison_3_0_4_or_newer=y
CT_CONFIGURE_has_python=y
CT_CONFIGURE_has_dtc=y
CT_CONFIGURE_has_svn=y
CT_CONFIGURE_has_git=y
CT_CONFIGURE_has_md5sum=y
CT_CONFIGURE_has_sha1sum=y
CT_CONFIGURE_has_sha256sum=y
CT_CONFIGURE_has_sha512sum=y
CT_CONFIGURE_has_install_with_strip_program=y
CT_VERSION="1.28.0.23_185f348"
CT_VCHECK=""
CT_CONFIG_VERSION_ENV="4"
CT_CONFIG_VERSION_CURRENT="4"
CT_CONFIG_VERSION="4"
CT_MODULES=y

#
# Paths and misc options
#

#
# crosstool-NG behavior
#
CT_OBSOLETE=y
CT_EXPERIMENTAL=y
CT_ALLOW_BUILD_AS_ROOT=y
CT_ALLOW_BUILD_AS_ROOT_SURE=y
# CT_ENABLE_EXPERIMENTAL_BUNDLED_PATCHES is not set
# CT_DEBUG_CT is not set

#
# Paths
#
CT_LOCAL_TARBALLS_DIR="${HOME}/src"
# CT_SAVE_TARBALLS is not set
# CT_TARBALLS_BUILDROOT_LAYOUT is not set
CT_WORK_DIR="${CT_TOP_DIR}/build"
CT_BUILD_TOP_DIR="${CT_WORK_DIR:-${CT_TOP_DIR}/.build}/${CT_HOST:+HOST-${CT_HOST}/}${CT_TARGET}"
CT_BUILD_DIR="${CT_BUILD_TOP_DIR}/build"
CT_PREFIX_DIR="/opt/ct-ng"
CT_RM_RF_PREFIX_DIR=y
CT_REMOVE_DOCS=y
# CT_INSTALL_LICENSES is not set
# CT_PREFIX_DIR_RO is not set
CT_STRIP_HOST_TOOLCHAIN_EXECUTABLES=y
CT_STRIP_TARGET_TOOLCHAIN_EXECUTABLES=y
# CT_TARBALL_RESULT is not set

#
# Downloading
#
CT_DOWNLOAD_AGENT_WGET=y
# CT_DOWNLOAD_AGENT_CURL is not set
# CT_DOWNLOAD_AGENT_NONE is not set
# CT_FORBID_DOWNLOAD is not set
# CT_FORCE_DOWNLOAD is not set
CT_CONNECT_TIMEOUT=10
CT_DOWNLOAD_WGET_OPTIONS="--passive-ftp --tries=3 -nc --progress=dot:binary"
# CT_ONLY_DOWNLOAD is not set
# CT_USE_MIRROR is not set
CT_VERIFY_DOWNLOAD_DIGEST=y
CT_VERIFY_DOWNLOAD_DIGEST_SHA512=y
# CT_VERIFY_DOWNLOAD_DIGEST_SHA256 is not set
# CT_VERIFY_DOWNLOAD_DIGEST_SHA1 is not set
# CT_VERIFY_DOWNLOAD_DIGEST_MD5 is not set
CT_VERIFY_DOWNLOAD_DIGEST_ALG="sha512"
# CT_VERIFY_DOWNLOAD_SIGNATURE is not set

#
# Extracting
#
# CT_FORCE_EXTRACT is not set
CT_OVERRIDE_CONFIG_GUESS_SUB=y
# CT_ONLY_EXTRACT is not set
CT_PATCH_BUNDLED=y
# CT_PATCH_LOCAL is not set
# CT_PATCH_BUNDLED_LOCAL is not set
# CT_PATCH_LOCAL_BUNDLED is not set
# CT_PATCH_NONE is not set
CT_PATCH_ORDER="bundled"

#
# Build behavior
#
CT_PARALLEL_JOBS=0
CT_LOAD=""
CT_USE_PIPES=y
CT_EXTRA_CFLAGS_FOR_BUILD="-fPIC -DPIC"
CT_EXTRA_CXXFLAGS_FOR_BUILD="-fPIC -DPIC"
CT_EXTRA_LDFLAGS_FOR_BUILD=""
CT_EXTRA_CFLAGS_FOR_HOST="-fPIC -DPIC"
CT_EXTRA_LDFLAGS_FOR_HOST=""
# CT_CONFIG_SHELL_SH is not set
# CT_CONFIG_SHELL_ASH is not set
CT_CONFIG_SHELL_BASH=y
# CT_CONFIG_SHELL_CUSTOM is not set
CT_CONFIG_SHELL="${bash}"

#
# Logging
#
# CT_LOG_ERROR is not set
# CT_LOG_WARN is not set
# CT_LOG_INFO is not set
# CT_LOG_EXTRA is not set
# CT_LOG_ALL is not set
CT_LOG_DEBUG=y
CT_LOG_LEVEL_MAX="DEBUG"
# CT_LOG_SEE_TOOLS_WARN is not set
# CT_LOG_TO_FILE is not set
# end of Paths and misc options

#
# Target options
#
# CT_ARCH_ALPHA is not set
# CT_ARCH_ARC is not set
# CT_ARCH_ARM is not set
# CT_ARCH_AVR is not set
# CT_ARCH_BPF is not set
# CT_ARCH_C6X is not set
# CT_ARCH_LM32 is not set
# CT_ARCH_LOONGARCH is not set
# CT_ARCH_M68K is not set
# CT_ARCH_MICROBLAZE is not set
CT_ARCH_MIPS=y
# CT_ARCH_MOXIE is not set
# CT_ARCH_MSP430 is not set
# CT_ARCH_NIOS2 is not set
# CT_ARCH_OPENRISC is not set
# CT_ARCH_PARISC is not set
# CT_ARCH_POWERPC is not set
# CT_ARCH_PRU is not set
# CT_ARCH_RISCV is not set
# CT_ARCH_RX is not set
# CT_ARCH_S390 is not set
# CT_ARCH_SH is not set
# CT_ARCH_SPARC is not set
# CT_ARCH_TRICORE is not set
# CT_ARCH_X86 is not set
# CT_ARCH_XTENSA is not set
CT_ARCH="mips"
CT_ARCH_CHOICE_KSYM="MIPS"
CT_ARCH_TUNE=""
CT_ARCH_MIPS_SHOW=y

#
# Options for mips
#
CT_ARCH_MIPS_PKG_KSYM=""
# CT_ARCH_mips_n32 is not set
CT_ARCH_mips_n64=y
CT_ARCH_mips_ABI="64"
CT_ALL_ARCH_CHOICES="ALPHA ARC ARM AVR BPF C6X LM32 LOONGARCH M68K MICROBLAZE MIPS MOXIE MSP430 NIOS2 OPENRISC PARISC POWERPC PRU RISCV RX S390 SH SPARC TRICORE X86 XTENSA"
CT_ARCH_SUFFIX=""
# CT_OMIT_TARGET_VENDOR is not set

#
# Generic target options
#
# CT_MULTILIB is not set
CT_DEMULTILIB=y
CT_ARCH_USE_MMU=y
CT_ARCH_SUPPORTS_LIBSANITIZER=y
CT_ARCH_SUPPORTS_EITHER_ENDIAN=y
CT_ARCH_DEFAULT_BE=y
CT_ARCH_BE=y
# CT_ARCH_LE is not set
CT_ARCH_ENDIAN="big"
CT_ARCH_SUPPORTS_32=y
CT_ARCH_SUPPORTS_64=y
CT_ARCH_DEFAULT_32=y
CT_ARCH_BITNESS=64
# CT_ARCH_32 is not set
CT_ARCH_64=y

#
# Target optimisations
#
CT_ARCH_SUPPORTS_WITH_ARCH=y
CT_ARCH_SUPPORTS_WITH_TUNE=y
CT_ARCH_SUPPORTS_WITH_FLOAT=y
CT_ARCH_ARCH="mips64r2"
CT_ARCH_FLOAT_AUTO=y
# CT_ARCH_FLOAT_HW is not set
# CT_ARCH_FLOAT_SW is not set
CT_TARGET_CFLAGS="-fPIC -DPIC"
CT_TARGET_LDFLAGS=""
CT_ARCH_FLOAT="auto"
# end of Target options

#
# Toolchain options
#

#
# General toolchain options
#
CT_USE_SYSROOT=y
CT_SYSROOT_NAME="sysroot"
CT_SYSROOT_DIR_PREFIX=""
# CT_STATIC_TOOLCHAIN is not set
CT_SHOW_CT_VERSION=y
CT_TOOLCHAIN_PKGVERSION=""
CT_TOOLCHAIN_BUGURL=""

#
# Tuple completion and aliasing
#
CT_TARGET_VENDOR="ffbuild"
CT_TARGET_ALIAS_SED_EXPR=""
CT_TARGET_ALIAS=""

#
# Toolchain type
#
# CT_NATIVE is not set
CT_CROSS=y
# CT_CROSS_NATIVE is not set
# CT_CANADIAN is not set
CT_TOOLCHAIN_TYPE="cross"

#
# Build system
#
CT_BUILD=""
CT_BUILD_PREFIX=""
CT_BUILD_SUFFIX=""

#
# Misc options
#
# CT_TOOLCHAIN_ENABLE_NLS is not set
CT_TOOLCHAIN_CMAKE_TOOLCHAIN_FILE=y
# end of Toolchain options

#
# Operating System
#
CT_KERNEL_SUPPORTS_SHARED_LIBS=y
# CT_KERNEL_BARE_METAL is not set
CT_KERNEL_LINUX=y
CT_KERNEL="linux"
CT_KERNEL_CHOICE_KSYM="LINUX"
CT_KERNEL_LINUX_SHOW=y

#
# Options for linux
#
CT_KERNEL_LINUX_PKG_KSYM="LINUX"
CT_LINUX_DIR_NAME="linux"
CT_LINUX_PKG_NAME="linux"
CT_LINUX_SRC_RELEASE=y
# CT_LINUX_SRC_DEVEL is not set
# CT_LINUX_SRC_CUSTOM is not set
CT_LINUX_PATCH_GLOBAL=y
# CT_LINUX_PATCH_BUNDLED is not set
# CT_LINUX_PATCH_LOCAL is not set
# CT_LINUX_PATCH_BUNDLED_LOCAL is not set
# CT_LINUX_PATCH_LOCAL_BUNDLED is not set
# CT_LINUX_PATCH_NONE is not set
CT_LINUX_PATCH_ORDER="global"
# CT_LINUX_V_6_18 is not set
# CT_LINUX_V_6_17 is not set
# CT_LINUX_V_6_16 is not set
# CT_LINUX_V_6_15 is not set
# CT_LINUX_V_6_14 is not set
# CT_LINUX_V_6_13 is not set
# CT_LINUX_V_6_12 is not set
# CT_LINUX_V_6_11 is not set
# CT_LINUX_V_6_10 is not set
# CT_LINUX_V_6_9 is not set
# CT_LINUX_V_6_8 is not set
# CT_LINUX_V_6_7 is not set
# CT_LINUX_V_6_6 is not set
# CT_LINUX_V_6_5 is not set
# CT_LINUX_V_6_4 is not set
# CT_LINUX_V_6_3 is not set
# CT_LINUX_V_6_2 is not set
# CT_LINUX_V_6_1 is not set
# CT_LINUX_V_6_0 is not set
# CT_LINUX_V_5_19 is not set
# CT_LINUX_V_5_18 is not set
# CT_LINUX_V_5_17 is not set
# CT_LINUX_V_5_16 is not set
# CT_LINUX_V_5_15 is not set
# CT_LINUX_V_5_14 is not set
# CT_LINUX_V_5_13 is not set
# CT_LINUX_V_5_12 is not set
# CT_LINUX_V_5_11 is not set
# CT_LINUX_V_5_10 is not set
# CT_LINUX_V_5_9 is not set
# CT_LINUX_V_5_8 is not set
# CT_LINUX_V_5_7 is not set
# CT_LINUX_V_5_5 is not set
# CT_LINUX_V_5_4 is not set
# CT_LINUX_V_5_3 is not set
# CT_LINUX_V_5_2 is not set
# CT_LINUX_V_5_1 is not set
# CT_LINUX_V_5_0 is not set
# CT_LINUX_V_4_20 is not set
# CT_LINUX_V_4_19 is not set
CT_LINUX_V_4_18=y
# CT_LINUX_V_4_17 is not set
# CT_LINUX_V_4_16 is not set
# CT_LINUX_V_4_15 is not set
# CT_LINUX_V_4_14 is not set
# CT_LINUX_V_4_13 is not set
# CT_LINUX_V_4_12 is not set
# CT_LINUX_V_4_11 is not set
# CT_LINUX_V_4_10 is not set
# CT_LINUX_V_4_9 is not set
# CT_LINUX_V_4_4 is not set
# CT_LINUX_V_4_1 is not set
# CT_LINUX_V_3_18 is not set
# CT_LINUX_V_3_16 is not set
# CT_LINUX_V_3_13 is not set
# CT_LINUX_V_3_12 is not set
# CT_LINUX_V_3_10 is not set
# CT_LINUX_V_3_4 is not set
# CT_LINUX_V_3_2 is not set
CT_LINUX_VERSION="4.18.20"
CT_LINUX_MIRRORS="$(CT_Mirrors kernel.org linux ${CT_LINUX_VERSION})"
CT_LINUX_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
CT_LINUX_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
CT_LINUX_ARCHIVE_FORMATS=".tar.xz .tar.gz"
CT_LINUX_SIGNATURE_FORMAT="unpacked/.sign"
CT_LINUX_5_19_or_older=y
CT_LINUX_older_than_5_19=y
CT_LINUX_5_12_or_older=y
CT_LINUX_older_than_5_12=y
CT_LINUX_5_5_or_older=y
CT_LINUX_older_than_5_5=y
CT_LINUX_5_3_or_older=y
CT_LINUX_older_than_5_3=y
CT_LINUX_later_than_4_8=y
CT_LINUX_4_8_or_later=y
CT_LINUX_later_than_3_7=y
CT_LINUX_3_7_or_later=y
CT_LINUX_later_than_3_2=y
CT_LINUX_3_2_or_later=y
CT_LINUX_REQUIRE_3_2_or_later=y
CT_KERNEL_has_rsync=y
CT_KERNEL_DEP_RSYNC=y
CT_KERNEL_LINUX_VERBOSITY_0=y
# CT_KERNEL_LINUX_VERBOSITY_1 is not set
# CT_KERNEL_LINUX_VERBOSITY_2 is not set
CT_KERNEL_LINUX_VERBOSE_LEVEL=0
# CT_KERNEL_LINUX_INSTALL_CHECK is not set
CT_ALL_KERNEL_CHOICES="BARE_METAL LINUX WINDOWS"

#
# Common kernel options
#
CT_SHARED_LIBS=y
# end of Operating System

#
# Binary utilities
#
CT_ARCH_BINFMT_ELF=y
CT_BINUTILS_BINUTILS=y
CT_BINUTILS="binutils"
CT_BINUTILS_CHOICE_KSYM="BINUTILS"
CT_BINUTILS_BINUTILS_SHOW=y

#
# Options for binutils
#
CT_BINUTILS_BINUTILS_PKG_KSYM="BINUTILS"
CT_BINUTILS_DIR_NAME="binutils"
CT_BINUTILS_USE_GNU=y
# CT_BINUTILS_USE_LINARO is not set
# CT_BINUTILS_USE_ORACLE is not set
CT_BINUTILS_USE="BINUTILS"
CT_BINUTILS_PKG_NAME="binutils"
CT_BINUTILS_SRC_RELEASE=y
# CT_BINUTILS_SRC_DEVEL is not set
# CT_BINUTILS_SRC_CUSTOM is not set
CT_BINUTILS_PATCH_GLOBAL=y
# CT_BINUTILS_PATCH_BUNDLED is not set
# CT_BINUTILS_PATCH_LOCAL is not set
# CT_BINUTILS_PATCH_BUNDLED_LOCAL is not set
# CT_BINUTILS_PATCH_LOCAL_BUNDLED is not set
# CT_BINUTILS_PATCH_NONE is not set
CT_BINUTILS_PATCH_ORDER="global"
CT_BINUTILS_V_2_46=y
# CT_BINUTILS_V_2_45 is not set
# CT_BINUTILS_V_2_44 is not set
# CT_BINUTILS_V_2_43 is not set
# CT_BINUTILS_V_2_42 is not set
# CT_BINUTILS_V_2_41 is not set
# CT_BINUTILS_V_2_40 is not set
# CT_BINUTILS_V_2_39 is not set
# CT_BINUTILS_V_2_38 is not set
# CT_BINUTILS_V_2_37 is not set
# CT_BINUTILS_V_2_36 is not set
# CT_BINUTILS_V_2_35 is not set
# CT_BINUTILS_V_2_34 is not set
# CT_BINUTILS_V_2_33 is not set
# CT_BINUTILS_V_2_32 is not set
# CT_BINUTILS_V_2_31 is not set
# CT_BINUTILS_V_2_30 is not set
# CT_BINUTILS_V_2_29 is not set
# CT_BINUTILS_V_2_28 is not set
# CT_BINUTILS_V_2_27 is not set
# CT_BINUTILS_V_2_26 is not set
CT_BINUTILS_VERSION="2.46.0"
CT_BINUTILS_MIRRORS="$(CT_Mirrors GNU binutils) $(CT_Mirrors sourceware binutils/releases)"
CT_BINUTILS_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
CT_BINUTILS_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
CT_BINUTILS_ARCHIVE_FORMATS=".tar.xz .tar.bz2 .tar.gz"
CT_BINUTILS_SIGNATURE_FORMAT="packed/.sig"
CT_BINUTILS_2_46_0_or_later=y
CT_BINUTILS_2_46_0_or_older=y
CT_BINUTILS_later_than_2_45=y
CT_BINUTILS_2_45_or_later=y
CT_BINUTILS_later_than_2_44=y
CT_BINUTILS_2_44_or_later=y
CT_BINUTILS_later_than_2_41=y
CT_BINUTILS_2_41_or_later=y
CT_BINUTILS_later_than_2_39=y
CT_BINUTILS_2_39_or_later=y
CT_BINUTILS_later_than_2_30=y
CT_BINUTILS_2_30_or_later=y
CT_BINUTILS_later_than_2_27=y
CT_BINUTILS_2_27_or_later=y
CT_BINUTILS_later_than_2_26=y
CT_BINUTILS_2_26_or_later=y

#
# GNU binutils
#
CT_BINUTILS_GOLD_SUPPORTS_ARCH=y
CT_BINUTILS_FORCE_LD_BFD_DEFAULT=y
CT_BINUTILS_LINKER_LD=y
CT_BINUTILS_LINKERS_LIST="ld"
CT_BINUTILS_LINKER_DEFAULT="bfd"
CT_BINUTILS_PLUGINS=y
CT_BINUTILS_RELRO=m
CT_BINUTILS_DETERMINISTIC_ARCHIVES=y
CT_BINUTILS_EXTRA_CONFIG_ARRAY=""
# CT_BINUTILS_FOR_TARGET is not set
# CT_BINUTILS_GPROFNG is not set
CT_ALL_BINUTILS_CHOICES="BINUTILS"
# end of Binary utilities

#
# C-library
#
CT_LIBC_GLIBC=y
# CT_LIBC_MUSL is not set
# CT_LIBC_UCLIBC_NG is not set
CT_LIBC="glibc"
CT_LIBC_CHOICE_KSYM="GLIBC"
CT_LIBC_GLIBC_SHOW=y

#
# Options for glibc
#
CT_LIBC_GLIBC_PKG_KSYM="GLIBC"
CT_GLIBC_DIR_NAME="glibc"
CT_GLIBC_USE_GNU=y
# CT_GLIBC_USE_ORACLE is not set
CT_GLIBC_USE="GLIBC"
CT_GLIBC_PKG_NAME="glibc"
CT_GLIBC_SRC_RELEASE=y
# CT_GLIBC_SRC_DEVEL is not set
# CT_GLIBC_SRC_CUSTOM is not set
CT_GLIBC_PATCH_GLOBAL=y
# CT_GLIBC_PATCH_BUNDLED is not set
# CT_GLIBC_PATCH_LOCAL is not set
# CT_GLIBC_PATCH_BUNDLED_LOCAL is not set
# CT_GLIBC_PATCH_LOCAL_BUNDLED is not set
# CT_GLIBC_PATCH_NONE is not set
CT_GLIBC_PATCH_ORDER="global"
# CT_GLIBC_V_2_43 is not set
# CT_GLIBC_V_2_42 is not set
# CT_GLIBC_V_2_41 is not set
# CT_GLIBC_V_2_40 is not set
# CT_GLIBC_V_2_39 is not set
# CT_GLIBC_V_2_38 is not set
# CT_GLIBC_V_2_37 is not set
# CT_GLIBC_V_2_36 is not set
# CT_GLIBC_V_2_35 is not set
# CT_GLIBC_V_2_34 is not set
# CT_GLIBC_V_2_33 is not set
# CT_GLIBC_V_2_32 is not set
# CT_GLIBC_V_2_31 is not set
# CT_GLIBC_V_2_30 is not set
# CT_GLIBC_V_2_29 is not set
CT_GLIBC_V_2_28=y
# CT_GLIBC_V_2_27 is not set
# CT_GLIBC_V_2_26 is not set
# CT_GLIBC_V_2_25 is not set
# CT_GLIBC_V_2_24 is not set
# CT_GLIBC_V_2_23 is not set
# CT_GLIBC_V_2_19 is not set
# CT_GLIBC_V_2_17 is not set
CT_GLIBC_VERSION="2.28"
CT_GLIBC_MIRRORS="$(CT_Mirrors GNU glibc)"
CT_GLIBC_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
CT_GLIBC_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
CT_GLIBC_ARCHIVE_FORMATS=".tar.xz .tar.bz2 .tar.gz"
CT_GLIBC_SIGNATURE_FORMAT="packed/.sig"
CT_GLIBC_2_43_or_older=y
CT_GLIBC_older_than_2_43=y
CT_GLIBC_2_42_or_older=y
CT_GLIBC_older_than_2_42=y
CT_GLIBC_2_41_or_older=y
CT_GLIBC_older_than_2_41=y
CT_GLIBC_2_38_or_older=y
CT_GLIBC_older_than_2_38=y
CT_GLIBC_2_37_or_older=y
CT_GLIBC_older_than_2_37=y
CT_GLIBC_2_36_or_older=y
CT_GLIBC_older_than_2_36=y
CT_GLIBC_2_34_or_older=y
CT_GLIBC_older_than_2_34=y
CT_GLIBC_2_32_or_older=y
CT_GLIBC_older_than_2_32=y
CT_GLIBC_2_31_or_older=y
CT_GLIBC_older_than_2_31=y
CT_GLIBC_2_30_or_older=y
CT_GLIBC_older_than_2_30=y
CT_GLIBC_2_29_or_older=y
CT_GLIBC_older_than_2_29=y
CT_GLIBC_2_28_or_later=y
CT_GLIBC_2_28_or_older=y
CT_GLIBC_later_than_2_27=y
CT_GLIBC_2_27_or_later=y
CT_GLIBC_later_than_2_26=y
CT_GLIBC_2_26_or_later=y
CT_GLIBC_later_than_2_25=y
CT_GLIBC_2_25_or_later=y
CT_GLIBC_later_than_2_24=y
CT_GLIBC_2_24_or_later=y
CT_GLIBC_later_than_2_23=y
CT_GLIBC_2_23_or_later=y
CT_GLIBC_later_than_2_20=y
CT_GLIBC_2_20_or_later=y
CT_GLIBC_later_than_2_17=y
CT_GLIBC_2_17_or_later=y
CT_GLIBC_later_than_2_14=y
CT_GLIBC_2_14_or_later=y
CT_GLIBC_DEP_KERNEL_HEADERS_VERSION=y
CT_GLIBC_DEP_BINUTILS=y
CT_GLIBC_DEP_GCC=y
CT_GLIBC_DEP_PYTHON=y
CT_GLIBC_DEP_MAKE_4_3=y
CT_GLIBC_SPARC_ALLOW_V7=y
CT_THREADS="nptl"
CT_GLIBC_BUILD_SSP=y
CT_GLIBC_HAS_LIBIDN_ADDON=y
# CT_GLIBC_USE_LIBIDN_ADDON is not set
CT_GLIBC_NO_SPARC_V8=y
CT_GLIBC_HAS_OBSOLETE_RPC=y
CT_GLIBC_EXTRA_CONFIG_ARRAY="--with-pic"
CT_GLIBC_CONFIGPARMS=""
# CT_GLIBC_ENABLE_DEBUG is not set
CT_GLIBC_EXTRA_CFLAGS="-fPIC -DPIC"
CT_GLIBC_ENABLE_OBSOLETE_RPC=y
# CT_GLIBC_ENABLE_FORTIFIED_BUILD is not set
# CT_GLIBC_DISABLE_VERSIONING is not set
CT_GLIBC_OLDEST_ABI=""
CT_GLIBC_FORCE_UNWIND=y
# CT_GLIBC_LOCALES is not set
# CT_GLIBC_KERNEL_VERSION_NONE is not set
CT_GLIBC_KERNEL_VERSION_AS_HEADERS=y
# CT_GLIBC_KERNEL_VERSION_CHOSEN is not set
CT_GLIBC_MIN_KERNEL="4.18.20"
CT_GLIBC_SSP_DEFAULT=y
# CT_GLIBC_SSP_NO is not set
# CT_GLIBC_SSP_YES is not set
# CT_GLIBC_SSP_ALL is not set
# CT_GLIBC_SSP_STRONG is not set
CT_GLIBC_ENABLE_COMMON_FLAG=y
CT_ALL_LIBC_CHOICES="AVR_LIBC GLIBC MINGW_W64 MOXIEBOX MUSL NEWLIB NONE PICOLIBC UCLIBC_NG"
CT_LIBC_SUPPORT_THREADS_ANY=y
CT_LIBC_SUPPORT_THREADS_NATIVE=y

#
# Common C library options
#
CT_THREADS_NATIVE=y
# CT_CREATE_LDSO_CONF is not set
CT_LIBC_XLDD=y
# end of C-library

#
# C compiler
#
CT_CC_CORE_NEEDED=y
CT_CC_SUPPORT_CXX=y
CT_CC_SUPPORT_FORTRAN=y
CT_CC_SUPPORT_ADA=y
CT_CC_SUPPORT_D=y
CT_CC_SUPPORT_JIT=y
CT_CC_SUPPORT_OBJC=y
CT_CC_SUPPORT_OBJCXX=y
CT_CC_SUPPORT_GOLANG=y
CT_CC_GCC=y
CT_CC="gcc"
CT_CC_CHOICE_KSYM="GCC"
CT_CC_GCC_SHOW=y

#
# Options for gcc
#
CT_CC_GCC_PKG_KSYM="GCC"
CT_GCC_DIR_NAME="gcc"
CT_GCC_USE_GNU=y
# CT_GCC_USE_LINARO is not set
# CT_GCC_USE_ORACLE is not set
CT_GCC_USE="GCC"
CT_GCC_PKG_NAME="gcc"
CT_GCC_SRC_RELEASE=y
# CT_GCC_SRC_DEVEL is not set
# CT_GCC_SRC_CUSTOM is not set
CT_GCC_PATCH_GLOBAL=y
# CT_GCC_PATCH_BUNDLED is not set
# CT_GCC_PATCH_LOCAL is not set
# CT_GCC_PATCH_BUNDLED_LOCAL is not set
# CT_GCC_PATCH_LOCAL_BUNDLED is not set
# CT_GCC_PATCH_NONE is not set
CT_GCC_PATCH_ORDER="global"
CT_GCC_V_15=y
# CT_GCC_V_14 is not set
# CT_GCC_V_13 is not set
# CT_GCC_V_12 is not set
# CT_GCC_V_11 is not set
# CT_GCC_V_10 is not set
# CT_GCC_V_9 is not set
# CT_GCC_V_8 is not set
# CT_GCC_V_7 is not set
# CT_GCC_V_6 is not set
# CT_GCC_V_5 is not set
# CT_GCC_V_4_9 is not set
CT_GCC_VERSION="15.2.0"
CT_GCC_MIRRORS="$(CT_Mirrors GNU gcc/gcc-${CT_GCC_VERSION}) $(CT_Mirrors sourceware gcc/releases/gcc-${CT_GCC_VERSION})"
CT_GCC_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
CT_GCC_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
CT_GCC_ARCHIVE_FORMATS=".tar.xz .tar.gz"
CT_GCC_SIGNATURE_FORMAT=""
CT_GCC_later_than_15=y
CT_GCC_15_or_later=y
CT_GCC_later_than_14=y
CT_GCC_14_or_later=y
CT_GCC_later_than_13=y
CT_GCC_13_or_later=y
CT_GCC_later_than_12=y
CT_GCC_12_or_later=y
CT_GCC_later_than_11=y
CT_GCC_11_or_later=y
CT_GCC_later_than_10=y
CT_GCC_10_or_later=y
CT_GCC_later_than_9=y
CT_GCC_9_or_later=y
CT_GCC_later_than_8=y
CT_GCC_8_or_later=y
CT_GCC_later_than_7=y
CT_GCC_7_or_later=y
CT_GCC_later_than_6=y
CT_GCC_6_or_later=y
CT_GCC_later_than_5=y
CT_GCC_5_or_later=y
CT_GCC_later_than_4_9=y
CT_GCC_4_9_or_later=y
CT_GCC_REQUIRE_4_9_or_later=y
CT_CC_GCC_ENABLE_PLUGINS=y
CT_CC_GCC_HAS_LIBMPX=y
CT_CC_GCC_ENABLE_CXX_FLAGS=""
CT_CC_GCC_CORE_EXTRA_CONFIG_ARRAY="--enable-host-shared --enable-default-ssp"
CT_CC_GCC_EXTRA_CONFIG_ARRAY="--enable-host-shared --enable-default-ssp --with-build-config=bootstrap-lto-lean --enable-link-serialization=2"
# CT_CC_GCC_STATIC_LIBSTDCXX is not set
# CT_CC_GCC_SYSTEM_ZLIB is not set
CT_CC_GCC_CONFIG_TLS=m

#
# Optimisation features
#
CT_CC_GCC_USE_GRAPHITE=y
CT_CC_GCC_USE_LTO=y
CT_CC_GCC_LTO_ZSTD=m

#
# Settings for libraries running on target
#
# CT_CC_GCC_ENABLE_TARGET_OPTSPACE is not set
CT_CC_GCC_LIBSTDCXX=m
# CT_CC_GCC_LIBSTDCXX_HOSTED_DISABLE is not set
CT_CC_GCC_LIBSTDCXX_TARGET_CXXFLAGS="-O2 -pipe"
# CT_CC_GCC_LIBMUDFLAP is not set
CT_CC_GCC_LIBGOMP=y
CT_CC_GCC_LIBSSP=m
# CT_CC_GCC_LIBQUADMATH is not set
# CT_CC_GCC_LIBSANITIZER is not set
# CT_CC_GCC_LIBSTDCXX_VERBOSE is not set

#
# Misc. obscure options.
#
CT_CC_CXA_ATEXIT=y
CT_CC_GCC_TM_CLONE_REGISTRY=m
# CT_CC_GCC_DISABLE_PCH is not set
CT_CC_GCC_SJLJ_EXCEPTIONS=m
CT_CC_GCC_LDBL_128=m
# CT_CC_GCC_BUILD_ID is not set
CT_CC_GCC_LNK_HASH_STYLE_DEFAULT=y
# CT_CC_GCC_LNK_HASH_STYLE_SYSV is not set
# CT_CC_GCC_LNK_HASH_STYLE_GNU is not set
# CT_CC_GCC_LNK_HASH_STYLE_BOTH is not set
CT_CC_GCC_LNK_HASH_STYLE=""
CT_CC_GCC_DEC_FLOATS_AUTO=y
# CT_CC_GCC_DEC_FLOATS_BID is not set
# CT_CC_GCC_DEC_FLOATS_DPD is not set
# CT_CC_GCC_DEC_FLOATS_NO is not set
CT_CC_GCC_DEC_FLOATS=""
CT_CC_GCC_HAS_ARCH_OPTIONS=y

#
# archictecture-specific options
#
CT_CC_GCC_mips_llsc=m
CT_CC_GCC_mips_synci=m
# CT_CC_GCC_mips_plt is not set
CT_ALL_CC_CHOICES="GCC"

#
# Additional supported languages:
#
CT_CC_LANG_CXX=y
# CT_CC_LANG_FORTRAN is not set
# CT_CC_LANG_JIT is not set
# CT_CC_LANG_ADA is not set
# CT_CC_LANG_D is not set
# CT_CC_LANG_OBJC is not set
# CT_CC_LANG_OBJCXX is not set
# CT_CC_LANG_GOLANG is not set
CT_CC_LANG_OTHERS=""
# end of C compiler

#
# Linkers
#

#
# BFD enabled in binutils
#
CT_LINKER_MOLD=y
CT_LINKER_MOLD_PKG_KSYM="MOLD"
CT_MOLD_DIR_NAME="mold"
CT_MOLD_PKG_NAME="mold"
CT_MOLD_SRC_RELEASE=y
# CT_MOLD_SRC_DEVEL is not set
# CT_MOLD_SRC_CUSTOM is not set
CT_MOLD_PATCH_GLOBAL=y
# CT_MOLD_PATCH_BUNDLED is not set
# CT_MOLD_PATCH_LOCAL is not set
# CT_MOLD_PATCH_BUNDLED_LOCAL is not set
# CT_MOLD_PATCH_LOCAL_BUNDLED is not set
# CT_MOLD_PATCH_NONE is not set
CT_MOLD_PATCH_ORDER="global"
CT_MOLD_V_2_40_4=y
# CT_MOLD_V_2_39_1 is not set
# CT_MOLD_V_2_38_1 is not set
# CT_MOLD_V_2_37_1 is not set
# CT_MOLD_V_2_36_0 is not set
# CT_MOLD_V_2_33_0 is not set
# CT_MOLD_V_2_32_0 is not set
# CT_MOLD_V_2_31_0 is not set
CT_MOLD_VERSION="2.40.4"
CT_MOLD_MIRRORS="https://github.com/rui314/mold/archive/refs/tags"
CT_MOLD_ARCHIVE_FILENAME="v@{version}"
CT_MOLD_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
CT_MOLD_ARCHIVE_FORMATS=".tar.gz"
CT_MOLD_SIGNATURE_FORMAT=""
CT_LINKER_MOLD_has_cmake=y
CT_ALL_LINKER_CHOICES="MOLD"
# end of Linkers

#
# Debug facilities
#
# CT_DEBUG_DUMA is not set
# CT_DEBUG_GDB is not set
# CT_DEBUG_LTRACE is not set
# CT_DEBUG_STRACE is not set
CT_ALL_DEBUG_CHOICES="DUMA GDB LTRACE STRACE"
# end of Debug facilities

#
# Companion libraries
#
# CT_COMPLIBS_CHECK is not set
# CT_COMP_LIBS_CLOOG is not set
# CT_COMP_LIBS_EXPAT is not set
CT_COMP_LIBS_GETTEXT=y
CT_COMP_LIBS_GETTEXT_PKG_KSYM="GETTEXT"
CT_GETTEXT_DIR_NAME="gettext"
CT_GETTEXT_PKG_NAME="gettext"
CT_GETTEXT_SRC_RELEASE=y
# CT_GETTEXT_SRC_DEVEL is not set
# CT_GETTEXT_SRC_CUSTOM is not set
CT_GETTEXT_PATCH_GLOBAL=y
# CT_GETTEXT_PATCH_BUNDLED is not set
# CT_GETTEXT_PATCH_LOCAL is not set
# CT_GETTEXT_PATCH_BUNDLED_LOCAL is not set
# CT_GETTEXT_PATCH_LOCAL_BUNDLED is not set
# CT_GETTEXT_PATCH_NONE is not set
CT_GETTEXT_PATCH_ORDER="global"
CT_GETTEXT_V_0_26=y
# CT_GETTEXT_V_0_23_1 is not set
# CT_GETTEXT_V_0_22_5 is not set
# CT_GETTEXT_V_0_21 is not set
# CT_GETTEXT_V_0_20_1 is not set
# CT_GETTEXT_V_0_19_8_1 is not set
CT_GETTEXT_VERSION="0.26"
CT_GETTEXT_MIRRORS="$(CT_Mirrors GNU gettext)"
CT_GETTEXT_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
CT_GETTEXT_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
CT_GETTEXT_ARCHIVE_FORMATS=".tar.xz .tar.gz"
CT_GETTEXT_SIGNATURE_FORMAT="packed/.sig"
CT_GETTEXT_later_than_0_23=y
CT_GETTEXT_0_23_or_later=y
CT_GETTEXT_later_than_0_21=y
CT_GETTEXT_0_21_or_later=y
CT_GETTEXT_INCOMPATIBLE_WITH_UCLIBC_NG=y

#
# This version of gettext is not compatible with uClibc-NG. Select
#

#
# a different version if uClibc-NG is used on the target or (in a
#

#
# Canadian cross build) on the host.
#
CT_COMP_LIBS_GMP=y
CT_COMP_LIBS_GMP_PKG_KSYM="GMP"
CT_GMP_DIR_NAME="gmp"
CT_GMP_PKG_NAME="gmp"
CT_GMP_SRC_RELEASE=y
# CT_GMP_SRC_DEVEL is not set
# CT_GMP_SRC_CUSTOM is not set
CT_GMP_PATCH_GLOBAL=y
# CT_GMP_PATCH_BUNDLED is not set
# CT_GMP_PATCH_LOCAL is not set
# CT_GMP_PATCH_BUNDLED_LOCAL is not set
# CT_GMP_PATCH_LOCAL_BUNDLED is not set
# CT_GMP_PATCH_NONE is not set
CT_GMP_PATCH_ORDER="global"
CT_GMP_V_6_3=y
# CT_GMP_V_6_2 is not set
# CT_GMP_V_6_1 is not set
CT_GMP_VERSION="6.3.0"
CT_GMP_MIRRORS="https://gmplib.org/download/gmp https://gmplib.org/download/gmp/archive $(CT_Mirrors GNU gmp)"
CT_GMP_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
CT_GMP_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
CT_GMP_ARCHIVE_FORMATS=".tar.xz .tar.lz .tar.bz2"
CT_GMP_SIGNATURE_FORMAT="packed/.sig"
CT_GMP_EXTRA_CFLAGS="-std=gnu17"
CT_COMP_LIBS_ISL=y
CT_COMP_LIBS_ISL_PKG_KSYM="ISL"
CT_ISL_DIR_NAME="isl"
CT_ISL_PKG_NAME="isl"
CT_ISL_SRC_RELEASE=y
# CT_ISL_SRC_DEVEL is not set
# CT_ISL_SRC_CUSTOM is not set
CT_ISL_PATCH_GLOBAL=y
# CT_ISL_PATCH_BUNDLED is not set
# CT_ISL_PATCH_LOCAL is not set
# CT_ISL_PATCH_BUNDLED_LOCAL is not set
# CT_ISL_PATCH_LOCAL_BUNDLED is not set
# CT_ISL_PATCH_NONE is not set
CT_ISL_PATCH_ORDER="global"
CT_ISL_V_0_27=y
# CT_ISL_V_0_26 is not set
# CT_ISL_V_0_25 is not set
# CT_ISL_V_0_24 is not set
# CT_ISL_V_0_23 is not set
# CT_ISL_V_0_22 is not set
# CT_ISL_V_0_21 is not set
# CT_ISL_V_0_20 is not set
# CT_ISL_V_0_19 is not set
# CT_ISL_V_0_18 is not set
# CT_ISL_V_0_17 is not set
# CT_ISL_V_0_16 is not set
# CT_ISL_V_0_15 is not set
# CT_ISL_V_0_11 is not set
CT_ISL_VERSION="0.27"
CT_ISL_MIRRORS="https://libisl.sourceforge.io"
CT_ISL_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
CT_ISL_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
CT_ISL_ARCHIVE_FORMATS=".tar.xz .tar.bz2 .tar.gz"
CT_ISL_SIGNATURE_FORMAT=""
CT_ISL_later_than_0_18=y
CT_ISL_0_18_or_later=y
CT_ISL_later_than_0_15=y
CT_ISL_0_15_or_later=y
# CT_COMP_LIBS_LIBELF is not set
CT_COMP_LIBS_LIBICONV=y
CT_COMP_LIBS_LIBICONV_PKG_KSYM="LIBICONV"
CT_LIBICONV_DIR_NAME="libiconv"
CT_LIBICONV_PKG_NAME="libiconv"
CT_LIBICONV_SRC_RELEASE=y
# CT_LIBICONV_SRC_DEVEL is not set
# CT_LIBICONV_SRC_CUSTOM is not set
CT_LIBICONV_PATCH_GLOBAL=y
# CT_LIBICONV_PATCH_BUNDLED is not set
# CT_LIBICONV_PATCH_LOCAL is not set
# CT_LIBICONV_PATCH_BUNDLED_LOCAL is not set
# CT_LIBICONV_PATCH_LOCAL_BUNDLED is not set
# CT_LIBICONV_PATCH_NONE is not set
CT_LIBICONV_PATCH_ORDER="global"
CT_LIBICONV_V_1_18=y
# CT_LIBICONV_V_1_16 is not set
# CT_LIBICONV_V_1_15 is not set
CT_LIBICONV_VERSION="1.18"
CT_LIBICONV_MIRRORS="$(CT_Mirrors GNU libiconv)"
CT_LIBICONV_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
CT_LIBICONV_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
CT_LIBICONV_ARCHIVE_FORMATS=".tar.gz"
CT_LIBICONV_SIGNATURE_FORMAT="packed/.sig"
CT_COMP_LIBS_MPC=y
CT_COMP_LIBS_MPC_PKG_KSYM="MPC"
CT_MPC_DIR_NAME="mpc"
CT_MPC_PKG_NAME="mpc"
CT_MPC_SRC_RELEASE=y
# CT_MPC_SRC_DEVEL is not set
# CT_MPC_SRC_CUSTOM is not set
CT_MPC_PATCH_GLOBAL=y
# CT_MPC_PATCH_BUNDLED is not set
# CT_MPC_PATCH_LOCAL is not set
# CT_MPC_PATCH_BUNDLED_LOCAL is not set
# CT_MPC_PATCH_LOCAL_BUNDLED is not set
# CT_MPC_PATCH_NONE is not set
CT_MPC_PATCH_ORDER="global"
CT_MPC_V_1_3=y
CT_MPC_VERSION="1.3.1"
CT_MPC_MIRRORS="https://www.multiprecision.org/downloads $(CT_Mirrors GNU mpc)"
CT_MPC_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
CT_MPC_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
CT_MPC_ARCHIVE_FORMATS=".tar.gz"
CT_MPC_SIGNATURE_FORMAT="packed/.sig"
CT_COMP_LIBS_MPFR=y
CT_COMP_LIBS_MPFR_PKG_KSYM="MPFR"
CT_MPFR_DIR_NAME="mpfr"
CT_MPFR_PKG_NAME="mpfr"
CT_MPFR_SRC_RELEASE=y
# CT_MPFR_SRC_DEVEL is not set
# CT_MPFR_SRC_CUSTOM is not set
CT_MPFR_PATCH_GLOBAL=y
# CT_MPFR_PATCH_BUNDLED is not set
# CT_MPFR_PATCH_LOCAL is not set
# CT_MPFR_PATCH_BUNDLED_LOCAL is not set
# CT_MPFR_PATCH_LOCAL_BUNDLED is not set
# CT_MPFR_PATCH_NONE is not set
CT_MPFR_PATCH_ORDER="global"
CT_MPFR_V_4_2=y
CT_MPFR_VERSION="4.2.2"
CT_MPFR_MIRRORS="https://www.mpfr.org/mpfr-${CT_MPFR_VERSION} $(CT_Mirrors GNU mpfr)"
CT_MPFR_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
CT_MPFR_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
CT_MPFR_ARCHIVE_FORMATS=".tar.xz .tar.bz2 .tar.gz .zip"
CT_MPFR_SIGNATURE_FORMAT="packed/.asc"
CT_COMP_LIBS_NCURSES=y
CT_COMP_LIBS_NCURSES_PKG_KSYM="NCURSES"
CT_NCURSES_DIR_NAME="ncurses"
CT_NCURSES_PKG_NAME="ncurses"
CT_NCURSES_SRC_RELEASE=y
# CT_NCURSES_SRC_DEVEL is not set
# CT_NCURSES_SRC_CUSTOM is not set
CT_NCURSES_PATCH_GLOBAL=y
# CT_NCURSES_PATCH_BUNDLED is not set
# CT_NCURSES_PATCH_LOCAL is not set
# CT_NCURSES_PATCH_BUNDLED_LOCAL is not set
# CT_NCURSES_PATCH_LOCAL_BUNDLED is not set
# CT_NCURSES_PATCH_NONE is not set
CT_NCURSES_PATCH_ORDER="global"
CT_NCURSES_V_6_5=y
# CT_NCURSES_V_6_4 is not set
# CT_NCURSES_V_6_2 is not set
# CT_NCURSES_V_6_1 is not set
# CT_NCURSES_V_6_0 is not set
CT_NCURSES_VERSION="6.5"
CT_NCURSES_MIRRORS="https://invisible-mirror.net/archives/ncurses $(CT_Mirrors GNU ncurses)"
CT_NCURSES_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
CT_NCURSES_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
CT_NCURSES_ARCHIVE_FORMATS=".tar.gz"
CT_NCURSES_SIGNATURE_FORMAT="packed/.asc"
# CT_NCURSES_NEW_ABI is not set
CT_NCURSES_HOST_CONFIG_ARGS=""
CT_NCURSES_HOST_DISABLE_DB=y
CT_NCURSES_HOST_FALLBACKS="linux,xterm,xterm-color,xterm-256color,vt100"
CT_NCURSES_TARGET_CONFIG_ARGS=""
# CT_NCURSES_TARGET_DISABLE_DB is not set
CT_NCURSES_TARGET_FALLBACKS=""
CT_NCURSES_EXTRA_CFLAGS="-std=gnu17"
CT_COMP_LIBS_ZLIB=y
CT_COMP_LIBS_ZLIB_PKG_KSYM="ZLIB"
CT_ZLIB_DIR_NAME="zlib"
CT_ZLIB_PKG_NAME="zlib"
CT_ZLIB_SRC_RELEASE=y
# CT_ZLIB_SRC_DEVEL is not set
# CT_ZLIB_SRC_CUSTOM is not set
CT_ZLIB_PATCH_GLOBAL=y
# CT_ZLIB_PATCH_BUNDLED is not set
# CT_ZLIB_PATCH_LOCAL is not set
# CT_ZLIB_PATCH_BUNDLED_LOCAL is not set
# CT_ZLIB_PATCH_LOCAL_BUNDLED is not set
# CT_ZLIB_PATCH_NONE is not set
CT_ZLIB_PATCH_ORDER="global"
CT_ZLIB_V_1_3_1=y
# CT_ZLIB_V_1_2_13 is not set
CT_ZLIB_VERSION="1.3.1"
CT_ZLIB_MIRRORS="https://github.com/madler/zlib/releases/download/v${CT_ZLIB_VERSION} https://www.zlib.net/"
CT_ZLIB_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
CT_ZLIB_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
CT_ZLIB_ARCHIVE_FORMATS=".tar.xz .tar.gz"
CT_ZLIB_SIGNATURE_FORMAT="packed/.asc"
CT_COMP_LIBS_ZSTD=y
CT_COMP_LIBS_ZSTD_PKG_KSYM="ZSTD"
CT_ZSTD_DIR_NAME="zstd"
CT_ZSTD_PKG_NAME="zstd"
CT_ZSTD_SRC_RELEASE=y
# CT_ZSTD_SRC_DEVEL is not set
# CT_ZSTD_SRC_CUSTOM is not set
CT_ZSTD_PATCH_GLOBAL=y
# CT_ZSTD_PATCH_BUNDLED is not set
# CT_ZSTD_PATCH_LOCAL is not set
# CT_ZSTD_PATCH_BUNDLED_LOCAL is not set
# CT_ZSTD_PATCH_LOCAL_BUNDLED is not set
# CT_ZSTD_PATCH_NONE is not set
CT_ZSTD_PATCH_ORDER="global"
CT_ZSTD_V_1_5_7=y
# CT_ZSTD_V_1_5_6 is not set
# CT_ZSTD_V_1_5_5 is not set
# CT_ZSTD_V_1_5_2 is not set
CT_ZSTD_VERSION="1.5.7"
CT_ZSTD_MIRRORS="https://github.com/facebook/zstd/releases/download/v${CT_ZSTD_VERSION} https://downloads.sourceforge.net/project/zstandard.mirror/v${CT_ZSTD_VERSION}"
CT_ZSTD_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
CT_ZSTD_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
CT_ZSTD_ARCHIVE_FORMATS=".tar.gz"
CT_ZSTD_SIGNATURE_FORMAT="packed/.sig"
CT_ALL_COMP_LIBS_CHOICES="CLOOG EXPAT GETTEXT GMP GNUPRUMCU ISL LIBELF LIBICONV MPC MPFR NCURSES NEWLIB_NANO PICOLIBC ZLIB ZSTD"
CT_LIBICONV_NEEDED=y
CT_GETTEXT_NEEDED=y
CT_GMP_NEEDED=y
CT_MPFR_NEEDED=y
CT_ISL_NEEDED=y
CT_MPC_NEEDED=y
CT_NCURSES_NEEDED=y
CT_ZLIB_NEEDED=y
CT_ZSTD_NEEDED=y
CT_LIBICONV=y
CT_GETTEXT=y
CT_GMP=y
CT_MPFR=y
CT_ISL=y
CT_MPC=y
CT_NCURSES=y
CT_ZLIB=y
CT_ZSTD=y
# end of Companion libraries

#
# Companion tools
#
# CT_COMP_TOOLS_FOR_HOST is not set
# CT_COMP_TOOLS_AUTOCONF is not set
# CT_COMP_TOOLS_AUTOMAKE is not set
# CT_COMP_TOOLS_BISON is not set
# CT_COMP_TOOLS_DTC is not set
# CT_COMP_TOOLS_LIBTOOL is not set
# CT_COMP_TOOLS_M4 is not set
CT_COMP_TOOLS_MAKE=y
CT_COMP_TOOLS_MAKE_PKG_KSYM="MAKE"
CT_MAKE_DIR_NAME="make"
CT_MAKE_PKG_NAME="make"
CT_MAKE_SRC_RELEASE=y
# CT_MAKE_SRC_DEVEL is not set
# CT_MAKE_SRC_CUSTOM is not set
CT_MAKE_PATCH_GLOBAL=y
# CT_MAKE_PATCH_BUNDLED is not set
# CT_MAKE_PATCH_LOCAL is not set
# CT_MAKE_PATCH_BUNDLED_LOCAL is not set
# CT_MAKE_PATCH_LOCAL_BUNDLED is not set
# CT_MAKE_PATCH_NONE is not set
CT_MAKE_PATCH_ORDER="global"
CT_MAKE_V_4_3=y
CT_MAKE_VERSION="4.3"
CT_MAKE_MIRRORS="$(CT_Mirrors GNU make)"
CT_MAKE_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
CT_MAKE_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
CT_MAKE_ARCHIVE_FORMATS=".tar.lz .tar.gz"
CT_MAKE_SIGNATURE_FORMAT="packed/.sig"
CT_MAKE_4_4_or_older=y
CT_MAKE_older_than_4_4=y
CT_MAKE_REQUIRE_older_than_4_4=y
CT_MAKE_4_3_or_later=y
CT_MAKE_4_3_or_older=y
CT_MAKE_GMAKE_SYMLINK=y
CT_MAKE_GNUMAKE_SYMLINK=y
CT_ALL_COMP_TOOLS_CHOICES="AUTOCONF AUTOMAKE BISON DTC LIBTOOL M4 MAKE"
# end of Companion tools

#
# Test suite
#
# CT_TEST_SUITE_GCC is not set
# end of Test suite


================================================
FILE: images/base-linuxmips64/gen-implib.sh
================================================
#!/bin/bash
set -e
if [[ $# != 2 ]]; then
    echo "Invalid arguments"
    exit 1
fi
IN="$1"
OUT="$2"

TMPDIR="$(mktemp -d)"
trap "rm -rf '$TMPDIR'" EXIT
cd "$TMPDIR"

set -x
python3 /opt/implib/implib-gen.py --target aarch64-linux-gnu --dlopen --lazy-load --verbose "$IN"
${FFBUILD_CROSS_PREFIX}gcc $CFLAGS $STAGE_CFLAGS -Wa,--noexecstack -DIMPLIB_HIDDEN_SHIMS -c *.tramp.S *.init.c
${FFBUILD_CROSS_PREFIX}ar -rcs "$OUT" *.tramp.o *.init.o


================================================
FILE: images/base-linuxmips64/toolchain.cmake
================================================
set(CMAKE_SYSTEM_NAME Linux)
set(CMAKE_SYSTEM_PROCESSOR mips64)
set(CMAKE_SYSTEM_VERSION 4.18.20)

set(triple mips64-ffbuild-linux-gnu)

set(CMAKE_C_COMPILER ${triple}-gcc)
set(CMAKE_CXX_COMPILER ${triple}-g++)
set(CMAKE_RANLIB ${triple}-gcc-ranlib)
set(CMAKE_AR ${triple}-gcc-ar)

set(CMAKE_SYSROOT /opt/ct-ng/${triple}/sysroot)
set(CMAKE_FIND_ROOT_PATH /opt/ct-ng /opt/ct-ng/${triple}/sysroot /opt/ffbuild)

set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)


================================================
FILE: images/base-linuxppc64/Dockerfile
================================================
ARG GH_REPO=ghcr.io/btbn/ffmpeg-builds
FROM $GH_REPO/base:latest

RUN --mount=src=ct-ng-config,dst=/.config \
    git clone --filter=blob:none https://github.com/crosstool-ng/crosstool-ng.git /ct-ng && cd /ct-ng && \
    ./bootstrap && \
    ./configure --enable-local && \
    make -j$(nproc) && \
    cp /.config .config && \
    ./ct-ng build && \
    cd / && \
    rm -rf ct-ng

# Prepare cross environment to heavily favour static builds
RUN \
    find /opt/ct-ng \( -type l \
        -and -name '*.so' \
        -and -not -ipath '*plugin*' \
        -and -not -name 'libdl.*' \
        -and -not -name 'libc.*' \
        -and -not -name 'libm.*' \
        -and -not -name 'libmvec.*' \
        -and -not -name 'librt.*' \
        -and -not -name 'libpthread.*' \
        \) -delete && \
    find /opt/ct-ng \( \
        -name 'libdl.a' \
        -or -name 'libc.a' \
        -or -name 'libm.a' \
        -or -name 'libmvec.a' \
        -or -name 'librt.a' \
        -or -name 'libpthread.a' \
        \) -delete && \
    mkdir /opt/ffbuild

ENV FFBUILD_TOOLCHAIN=powerpc64-ffbuild-linux-gnu \
    FFBUILD_RUST_TARGET="powerpc64-unknown-linux-gnu"

RUN \
    rustup target add "$FFBUILD_RUST_TARGET" && \
    echo "[target.$FFBUILD_RUST_TARGET]\nlinker = \"${FFBUILD_TOOLCHAIN}-gcc\"\nar = \"${FFBUILD_TOOLCHAIN}-gcc-ar\"\n" > "$CARGO_HOME"/config.toml

ADD toolchain.cmake /toolchain.cmake
ADD cross.meson /cross.meson

ADD gen-implib.sh /usr/bin/gen-implib
RUN git clone --filter=blob:none --depth=1 https://github.com/yugr/Implib.so /opt/implib

ENV PATH="/opt/ct-ng/bin:${PATH}" \
    QEMU_LD_PREFIX="/opt/ct-ng/${FFBUILD_TOOLCHAIN}/sysroot" \
    FFBUILD_TARGET_FLAGS="--pkg-config=pkg-config --cross-prefix=${FFBUILD_TOOLCHAIN}- --arch=ppc64 --cpu=power9 --target-os=linux" \
    FFBUILD_CROSS_PREFIX="${FFBUILD_TOOLCHAIN}-" \
    FFBUILD_PREFIX=/opt/ffbuild \
    FFBUILD_DESTDIR=/opt/ffdest \
    FFBUILD_DESTPREFIX=/opt/ffdest/opt/ffbuild \
    FFBUILD_CMAKE_TOOLCHAIN=/toolchain.cmake \
    PKG_CONFIG=pkg-config \
    PKG_CONFIG_LIBDIR=/opt/ffbuild/lib/pkgconfig:/opt/ffbuild/share/pkgconfig \
    CC="${FFBUILD_TOOLCHAIN}-gcc" \
    CXX="${FFBUILD_TOOLCHAIN}-g++" \
    LD="${FFBUILD_TOOLCHAIN}-ld" \
    AR="${FFBUILD_TOOLCHAIN}-gcc-ar" \
    RANLIB="${FFBUILD_TOOLCHAIN}-gcc-ranlib" \
    NM="${FFBUILD_TOOLCHAIN}-gcc-nm" \
    CFLAGS="-static-libgcc -static-libstdc++ -I/opt/ffbuild/include -O2 -pipe -fPIC -DPIC -D_FORTIFY_SOURCE=2 -fstack-protector-strong -fstack-clash-protection -pthread" \
    CXXFLAGS="-static-libgcc -static-libstdc++ -I/opt/ffbuild/include -O2 -pipe -fPIC -DPIC -D_FORTIFY_SOURCE=2 -fstack-protector-strong -fstack-clash-protection -pthread" \
    LDFLAGS="-static-libgcc -static-libstdc++ -L/opt/ffbuild/lib -O2 -pipe -fstack-protector-strong -fstack-clash-protection -Wl,-z,relro,-z,now -pthread -lm" \
    STAGE_CFLAGS="-fvisibility=hidden -fno-semantic-interposition" \
    STAGE_CXXFLAGS="-fvisibility=hidden -fno-semantic-interposition"


================================================
FILE: images/base-linuxppc64/cross.meson
================================================
[binaries]
c = 'powerpc64-ffbuild-linux-gnu-gcc'
cpp = 'powerpc64-ffbuild-linux-gnu-g++'
ld = 'powerpc64-ffbuild-linux-gnu-ld'
ar = 'powerpc64-ffbuild-linux-gnu-gcc-ar'
ranlib = 'powerpc64-ffbuild-linux-gnu-gcc-ranlib'
strip = 'powerpc64-ffbuild-linux-gnu-strip'

[host_machine]
system = 'linux'
cpu_family = 'ppc64'
cpu = 'ppc64'
endian = 'big'


================================================
FILE: images/base-linuxppc64/ct-ng-config
================================================
#
# Automatically generated file; DO NOT EDIT.
# crosstool-NG 1.28.0.23_185f348 Configuration
#
CT_CONFIGURE_has_static_link=y
CT_CONFIGURE_has_cxx11=y
CT_CONFIGURE_has_wget=y
CT_CONFIGURE_has_curl=y
CT_CONFIGURE_has_meson=y
CT_CONFIGURE_has_ninja=y
CT_CONFIGURE_has_make_3_81_or_newer=y
CT_CONFIGURE_has_make_4_0_or_newer=y
CT_CONFIGURE_has_make_4_4_or_newer=y
CT_CONFIGURE_has_libtool_2_4_or_newer=y
CT_CONFIGURE_has_libtoolize_2_4_or_newer=y
CT_CONFIGURE_has_autoconf_2_65_or_newer=y
CT_CONFIGURE_has_autoreconf_2_65_or_newer=y
CT_CONFIGURE_has_automake_1_15_or_newer=y
CT_CONFIGURE_has_gnu_m4_1_4_12_or_newer=y
CT_CONFIGURE_has_python_3_4_or_newer=y
CT_CONFIGURE_has_bison_2_7_or_newer=y
CT_CONFIGURE_has_bison_3_0_4_or_newer=y
CT_CONFIGURE_has_python=y
CT_CONFIGURE_has_dtc=y
CT_CONFIGURE_has_svn=y
CT_CONFIGURE_has_git=y
CT_CONFIGURE_has_md5sum=y
CT_CONFIGURE_has_sha1sum=y
CT_CONFIGURE_has_sha256sum=y
CT_CONFIGURE_has_sha512sum=y
CT_CONFIGURE_has_install_with_strip_program=y
CT_VERSION="1.28.0.23_185f348"
CT_VCHECK=""
CT_CONFIG_VERSION_ENV="4"
CT_CONFIG_VERSION_CURRENT="4"
CT_CONFIG_VERSION="4"
CT_MODULES=y

#
# Paths and misc options
#

#
# crosstool-NG behavior
#
CT_OBSOLETE=y
CT_EXPERIMENTAL=y
CT_ALLOW_BUILD_AS_ROOT=y
CT_ALLOW_BUILD_AS_ROOT_SURE=y
# CT_ENABLE_EXPERIMENTAL_BUNDLED_PATCHES is not set
# CT_DEBUG_CT is not set

#
# Paths
#
CT_LOCAL_TARBALLS_DIR="${HOME}/src"
# CT_SAVE_TARBALLS is not set
# CT_TARBALLS_BUILDROOT_LAYOUT is not set
CT_WORK_DIR="${CT_TOP_DIR}/build"
CT_BUILD_TOP_DIR="${CT_WORK_DIR:-${CT_TOP_DIR}/.build}/${CT_HOST:+HOST-${CT_HOST}/}${CT_TARGET}"
CT_BUILD_DIR="${CT_BUILD_TOP_DIR}/build"
CT_PREFIX_DIR="/opt/ct-ng"
CT_RM_RF_PREFIX_DIR=y
CT_REMOVE_DOCS=y
# CT_INSTALL_LICENSES is not set
# CT_PREFIX_DIR_RO is not set
CT_STRIP_HOST_TOOLCHAIN_EXECUTABLES=y
CT_STRIP_TARGET_TOOLCHAIN_EXECUTABLES=y
# CT_TARBALL_RESULT is not set

#
# Downloading
#
CT_DOWNLOAD_AGENT_WGET=y
# CT_DOWNLOAD_AGENT_CURL is not set
# CT_DOWNLOAD_AGENT_NONE is not set
# CT_FORBID_DOWNLOAD is not set
# CT_FORCE_DOWNLOAD is not set
CT_CONNECT_TIMEOUT=10
CT_DOWNLOAD_WGET_OPTIONS="--passive-ftp --tries=3 -nc --progress=dot:binary"
# CT_ONLY_DOWNLOAD is not set
# CT_USE_MIRROR is not set
CT_VERIFY_DOWNLOAD_DIGEST=y
CT_VERIFY_DOWNLOAD_DIGEST_SHA512=y
# CT_VERIFY_DOWNLOAD_DIGEST_SHA256 is not set
# CT_VERIFY_DOWNLOAD_DIGEST_SHA1 is not set
# CT_VERIFY_DOWNLOAD_DIGEST_MD5 is not set
CT_VERIFY_DOWNLOAD_DIGEST_ALG="sha512"
# CT_VERIFY_DOWNLOAD_SIGNATURE is not set

#
# Extracting
#
# CT_FORCE_EXTRACT is not set
CT_OVERRIDE_CONFIG_GUESS_SUB=y
# CT_ONLY_EXTRACT is not set
CT_PATCH_BUNDLED=y
# CT_PATCH_LOCAL is not set
# CT_PATCH_BUNDLED_LOCAL is not set
# CT_PATCH_LOCAL_BUNDLED is not set
# CT_PATCH_NONE is not set
CT_PATCH_ORDER="bundled"

#
# Build behavior
#
CT_PARALLEL_JOBS=0
CT_LOAD=""
CT_USE_PIPES=y
CT_EXTRA_CFLAGS_FOR_BUILD="-fPIC -DPIC"
CT_EXTRA_CXXFLAGS_FOR_BUILD="-fPIC -DPIC"
CT_EXTRA_LDFLAGS_FOR_BUILD=""
CT_EXTRA_CFLAGS_FOR_HOST="-fPIC -DPIC"
CT_EXTRA_LDFLAGS_FOR_HOST=""
# CT_CONFIG_SHELL_SH is not set
# CT_CONFIG_SHELL_ASH is not set
CT_CONFIG_SHELL_BASH=y
# CT_CONFIG_SHELL_CUSTOM is not set
CT_CONFIG_SHELL="${bash}"

#
# Logging
#
# CT_LOG_ERROR is not set
# CT_LOG_WARN is not set
# CT_LOG_INFO is not set
# CT_LOG_EXTRA is not set
# CT_LOG_ALL is not set
CT_LOG_DEBUG=y
CT_LOG_LEVEL_MAX="DEBUG"
# CT_LOG_SEE_TOOLS_WARN is not set
# CT_LOG_TO_FILE is not set
# end of Paths and misc options

#
# Target options
#
# CT_ARCH_ALPHA is not set
# CT_ARCH_ARC is not set
# CT_ARCH_ARM is not set
# CT_ARCH_AVR is not set
# CT_ARCH_BPF is not set
# CT_ARCH_C6X is not set
# CT_ARCH_LM32 is not set
# CT_ARCH_LOONGARCH is not set
# CT_ARCH_M68K is not set
# CT_ARCH_MICROBLAZE is not set
# CT_ARCH_MIPS is not set
# CT_ARCH_MOXIE is not set
# CT_ARCH_MSP430 is not set
# CT_ARCH_NIOS2 is not set
# CT_ARCH_OPENRISC is not set
# CT_ARCH_PARISC is not set
CT_ARCH_POWERPC=y
# CT_ARCH_PRU is not set
# CT_ARCH_RISCV is not set
# CT_ARCH_RX is not set
# CT_ARCH_S390 is not set
# CT_ARCH_SH is not set
# CT_ARCH_SPARC is not set
# CT_ARCH_TRICORE is not set
# CT_ARCH_X86 is not set
# CT_ARCH_XTENSA is not set
CT_ARCH="powerpc"
CT_ARCH_CHOICE_KSYM="POWERPC"
CT_ARCH_CPU="power9"
CT_ARCH_TUNE=""
CT_ARCH_POWERPC_SHOW=y

#
# Options for powerpc
#
CT_ARCH_POWERPC_PKG_KSYM=""
CT_ARCH_powerpc_ABI=""
CT_ARCH_powerpc_ABI_DEFAULT=y
# CT_ARCH_powerpc_ABI_SPE is not set
CT_ALL_ARCH_CHOICES="ALPHA ARC ARM AVR BPF C6X LM32 LOONGARCH M68K MICROBLAZE MIPS MOXIE MSP430 NIOS2 OPENRISC PARISC POWERPC PRU RISCV RX S390 SH SPARC TRICORE X86 XTENSA"
CT_ARCH_SUFFIX=""
# CT_OMIT_TARGET_VENDOR is not set

#
# Generic target options
#
# CT_MULTILIB is not set
CT_DEMULTILIB=y
CT_ARCH_USE_MMU=y
CT_ARCH_SUPPORTS_LIBSANITIZER=y
CT_ARCH_SUPPORTS_EITHER_ENDIAN=y
CT_ARCH_DEFAULT_BE=y
CT_ARCH_BE=y
# CT_ARCH_LE is not set
CT_ARCH_ENDIAN="big"
CT_ARCH_SUPPORTS_32=y
CT_ARCH_SUPPORTS_64=y
CT_ARCH_DEFAULT_32=y
CT_ARCH_BITNESS=64
# CT_ARCH_32 is not set
CT_ARCH_64=y
CT_ARCH_SUPPORTS_WITH_32_64=y

#
# Target optimisations
#
CT_ARCH_SUPPORTS_WITH_ABI=y
CT_ARCH_SUPPORTS_WITH_CPU=y
CT_ARCH_SUPPORTS_WITH_TUNE=y
CT_ARCH_SUPPORTS_WITH_FLOAT=y
CT_ARCH_ABI=""
CT_ARCH_FLOAT_AUTO=y
# CT_ARCH_FLOAT_HW is not set
# CT_ARCH_FLOAT_SW is not set
CT_TARGET_CFLAGS="-fPIC -DPIC"
CT_TARGET_LDFLAGS=""
CT_ARCH_FLOAT="auto"
# end of Target options

#
# Toolchain options
#

#
# General toolchain options
#
CT_USE_SYSROOT=y
CT_SYSROOT_NAME="sysroot"
CT_SYSROOT_DIR_PREFIX=""
# CT_STATIC_TOOLCHAIN is not set
CT_SHOW_CT_VERSION=y
CT_TOOLCHAIN_PKGVERSION=""
CT_TOOLCHAIN_BUGURL=""

#
# Tuple completion and aliasing
#
CT_TARGET_VENDOR="ffbuild"
CT_TARGET_ALIAS_SED_EXPR=""
CT_TARGET_ALIAS=""

#
# Toolchain type
#
# CT_NATIVE is not set
CT_CROSS=y
# CT_CROSS_NATIVE is not set
# CT_CANADIAN is not set
CT_TOOLCHAIN_TYPE="cross"

#
# Build system
#
CT_BUILD=""
CT_BUILD_PREFIX=""
CT_BUILD_SUFFIX=""

#
# Misc options
#
# CT_TOOLCHAIN_ENABLE_NLS is not set
CT_TOOLCHAIN_CMAKE_TOOLCHAIN_FILE=y
# end of Toolchain options

#
# Operating System
#
CT_KERNEL_SUPPORTS_SHARED_LIBS=y
# CT_KERNEL_BARE_METAL is not set
CT_KERNEL_LINUX=y
CT_KERNEL="linux"
CT_KERNEL_CHOICE_KSYM="LINUX"
CT_KERNEL_LINUX_SHOW=y

#
# Options for linux
#
CT_KERNEL_LINUX_PKG_KSYM="LINUX"
CT_LINUX_DIR_NAME="linux"
CT_LINUX_PKG_NAME="linux"
CT_LINUX_SRC_RELEASE=y
# CT_LINUX_SRC_DEVEL is not set
# CT_LINUX_SRC_CUSTOM is not set
CT_LINUX_PATCH_GLOBAL=y
# CT_LINUX_PATCH_BUNDLED is not set
# CT_LINUX_PATCH_LOCAL is not set
# CT_LINUX_PATCH_BUNDLED_LOCAL is not set
# CT_LINUX_PATCH_LOCAL_BUNDLED is not set
# CT_LINUX_PATCH_NONE is not set
CT_LINUX_PATCH_ORDER="global"
# CT_LINUX_V_6_18 is not set
# CT_LINUX_V_6_17 is not set
# CT_LINUX_V_6_16 is not set
# CT_LINUX_V_6_15 is not set
# CT_LINUX_V_6_14 is not set
# CT_LINUX_V_6_13 is not set
# CT_LINUX_V_6_12 is not set
# CT_LINUX_V_6_11 is not set
# CT_LINUX_V_6_10 is not set
# CT_LINUX_V_6_9 is not set
# CT_LINUX_V_6_8 is not set
# CT_LINUX_V_6_7 is not set
# CT_LINUX_V_6_6 is not set
# CT_LINUX_V_6_5 is not set
# CT_LINUX_V_6_4 is not set
# CT_LINUX_V_6_3 is not set
# CT_LINUX_V_6_2 is not set
# CT_LINUX_V_6_1 is not set
# CT_LINUX_V_6_0 is not set
# CT_LINUX_V_5_19 is not set
# CT_LINUX_V_5_18 is not set
# CT_LINUX_V_5_17 is not set
# CT_LINUX_V_5_16 is not set
# CT_LINUX_V_5_15 is not set
# CT_LINUX_V_5_14 is not set
# CT_LINUX_V_5_13 is not set
# CT_LINUX_V_5_12 is not set
# CT_LINUX_V_5_11 is not set
# CT_LINUX_V_5_10 is not set
# CT_LINUX_V_5_9 is not set
# CT_LINUX_V_5_8 is not set
# CT_LINUX_V_5_7 is not set
# CT_LINUX_V_5_5 is not set
# CT_LINUX_V_5_4 is not set
# CT_LINUX_V_5_3 is not set
# CT_LINUX_V_5_2 is not set
# CT_LINUX_V_5_1 is not set
# CT_LINUX_V_5_0 is not set
# CT_LINUX_V_4_20 is not set
# CT_LINUX_V_4_19 is not set
CT_LINUX_V_4_18=y
# CT_LINUX_V_4_17 is not set
# CT_LINUX_V_4_16 is not set
# CT_LINUX_V_4_15 is not set
# CT_LINUX_V_4_14 is not set
# CT_LINUX_V_4_13 is not set
# CT_LINUX_V_4_12 is not set
# CT_LINUX_V_4_11 is not set
# CT_LINUX_V_4_10 is not set
# CT_LINUX_V_4_9 is not set
# CT_LINUX_V_4_4 is not set
# CT_LINUX_V_4_1 is not set
# CT_LINUX_V_3_18 is not set
# CT_LINUX_V_3_16 is not set
# CT_LINUX_V_3_13 is not set
# CT_LINUX_V_3_12 is not set
# CT_LINUX_V_3_10 is not set
# CT_LINUX_V_3_4 is not set
# CT_LINUX_V_3_2 is not set
CT_LINUX_VERSION="4.18.20"
CT_LINUX_MIRRORS="$(CT_Mirrors kernel.org linux ${CT_LINUX_VERSION})"
CT_LINUX_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
CT_LINUX_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
CT_LINUX_ARCHIVE_FORMATS=".tar.xz .tar.gz"
CT_LINUX_SIGNATURE_FORMAT="unpacked/.sign"
CT_LINUX_5_19_or_older=y
CT_LINUX_older_than_5_19=y
CT_LINUX_5_12_or_older=y
CT_LINUX_older_than_5_12=y
CT_LINUX_5_5_or_older=y
CT_LINUX_older_than_5_5=y
CT_LINUX_5_3_or_older=y
CT_LINUX_older_than_5_3=y
CT_LINUX_later_than_4_8=y
CT_LINUX_4_8_or_later=y
CT_LINUX_later_than_3_7=y
CT_LINUX_3_7_or_later=y
CT_LINUX_later_than_3_2=y
CT_LINUX_3_2_or_later=y
CT_LINUX_REQUIRE_3_2_or_later=y
CT_KERNEL_has_rsync=y
CT_KERNEL_DEP_RSYNC=y
CT_KERNEL_LINUX_VERBOSITY_0=y
# CT_KERNEL_LINUX_VERBOSITY_1 is not set
# CT_KERNEL_LINUX_VERBOSITY_2 is not set
CT_KERNEL_LINUX_VERBOSE_LEVEL=0
# CT_KERNEL_LINUX_INSTALL_CHECK is not set
CT_ALL_KERNEL_CHOICES="BARE_METAL LINUX WINDOWS"

#
# Common kernel options
#
CT_SHARED_LIBS=y
# end of Operating System

#
# Binary utilities
#
CT_ARCH_BINFMT_ELF=y
CT_BINUTILS_BINUTILS=y
CT_BINUTILS="binutils"
CT_BINUTILS_CHOICE_KSYM="BINUTILS"
CT_BINUTILS_BINUTILS_SHOW=y

#
# Options for binutils
#
CT_BINUTILS_BINUTILS_PKG_KSYM="BINUTILS"
CT_BINUTILS_DIR_NAME="binutils"
CT_BINUTILS_USE_GNU=y
# CT_BINUTILS_USE_LINARO is not set
# CT_BINUTILS_USE_ORACLE is not set
CT_BINUTILS_USE="BINUTILS"
CT_BINUTILS_PKG_NAME="binutils"
CT_BINUTILS_SRC_RELEASE=y
# CT_BINUTILS_SRC_DEVEL is not set
# CT_BINUTILS_SRC_CUSTOM is not set
CT_BINUTILS_PATCH_GLOBAL=y
# CT_BINUTILS_PATCH_BUNDLED is not set
# CT_BINUTILS_PATCH_LOCAL is not set
# CT_BINUTILS_PATCH_BUNDLED_LOCAL is not set
# CT_BINUTILS_PATCH_LOCAL_BUNDLED is not set
# CT_BINUTILS_PATCH_NONE is not set
CT_BINUTILS_PATCH_ORDER="global"
CT_BINUTILS_V_2_46=y
# CT_BINUTILS_V_2_45 is not set
# CT_BINUTILS_V_2_44 is not set
# CT_BINUTILS_V_2_43 is not set
# CT_BINUTILS_V_2_42 is not set
# CT_BINUTILS_V_2_41 is not set
# CT_BINUTILS_V_2_40 is not set
# CT_BINUTILS_V_2_39 is not set
# CT_BINUTILS_V_2_38 is not set
# CT_BINUTILS_V_2_37 is not set
# CT_BINUTILS_V_2_36 is not set
# CT_BINUTILS_V_2_35 is not set
# CT_BINUTILS_V_2_34 is not set
# CT_BINUTILS_V_2_33 is not set
# CT_BINUTILS_V_2_32 is not set
# CT_BINUTILS_V_2_31 is not set
# CT_BINUTILS_V_2_30 is not set
# CT_BINUTILS_V_2_29 is not set
# CT_BINUTILS_V_2_28 is not set
# CT_BINUTILS_V_2_27 is not set
# CT_BINUTILS_V_2_26 is not set
CT_BINUTILS_VERSION="2.46.0"
CT_BINUTILS_MIRRORS="$(CT_Mirrors GNU binutils) $(CT_Mirrors sourceware binutils/releases)"
CT_BINUTILS_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
CT_BINUTILS_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
CT_BINUTILS_ARCHIVE_FORMATS=".tar.xz .tar.bz2 .tar.gz"
CT_BINUTILS_SIGNATURE_FORMAT="packed/.sig"
CT_BINUTILS_2_46_0_or_later=y
CT_BINUTILS_2_46_0_or_older=y
CT_BINUTILS_later_than_2_45=y
CT_BINUTILS_2_45_or_later=y
CT_BINUTILS_later_than_2_44=y
CT_BINUTILS_2_44_or_later=y
CT_BINUTILS_later_than_2_41=y
CT_BINUTILS_2_41_or_later=y
CT_BINUTILS_later_than_2_39=y
CT_BINUTILS_2_39_or_later=y
CT_BINUTILS_later_than_2_30=y
CT_BINUTILS_2_30_or_later=y
CT_BINUTILS_later_than_2_27=y
CT_BINUTILS_2_27_or_later=y
CT_BINUTILS_later_than_2_26=y
CT_BINUTILS_2_26_or_later=y

#
# GNU binutils
#
CT_BINUTILS_GOLD_SUPPORTS_ARCH=y
CT_BINUTILS_FORCE_LD_BFD_DEFAULT=y
CT_BINUTILS_LINKER_LD=y
CT_BINUTILS_LINKERS_LIST="ld"
CT_BINUTILS_LINKER_DEFAULT="bfd"
CT_BINUTILS_PLUGINS=y
CT_BINUTILS_RELRO=m
CT_BINUTILS_DETERMINISTIC_ARCHIVES=y
CT_BINUTILS_EXTRA_CONFIG_ARRAY=""
# CT_BINUTILS_FOR_TARGET is not set
# CT_BINUTILS_GPROFNG is not set
CT_ALL_BINUTILS_CHOICES="BINUTILS"
# end of Binary utilities

#
# C-library
#
CT_LIBC_GLIBC=y
# CT_LIBC_MUSL is not set
# CT_LIBC_UCLIBC_NG is not set
CT_LIBC="glibc"
CT_LIBC_CHOICE_KSYM="GLIBC"
CT_LIBC_GLIBC_SHOW=y

#
# Options for glibc
#
CT_LIBC_GLIBC_PKG_KSYM="GLIBC"
CT_GLIBC_DIR_NAME="glibc"
CT_GLIBC_USE_GNU=y
# CT_GLIBC_USE_ORACLE is not set
CT_GLIBC_USE="GLIBC"
CT_GLIBC_PKG_NAME="glibc"
CT_GLIBC_SRC_RELEASE=y
# CT_GLIBC_SRC_DEVEL is not set
# CT_GLIBC_SRC_CUSTOM is not set
CT_GLIBC_PATCH_GLOBAL=y
# CT_GLIBC_PATCH_BUNDLED is not set
# CT_GLIBC_PATCH_LOCAL is not set
# CT_GLIBC_PATCH_BUNDLED_LOCAL is not set
# CT_GLIBC_PATCH_LOCAL_BUNDLED is not set
# CT_GLIBC_PATCH_NONE is not set
CT_GLIBC_PATCH_ORDER="global"
# CT_GLIBC_V_2_43 is not set
# CT_GLIBC_V_2_42 is not set
# CT_GLIBC_V_2_41 is not set
# CT_GLIBC_V_2_40 is not set
# CT_GLIBC_V_2_39 is not set
# CT_GLIBC_V_2_38 is not set
# CT_GLIBC_V_2_37 is not set
# CT_GLIBC_V_2_36 is not set
# CT_GLIBC_V_2_35 is not set
# CT_GLIBC_V_2_34 is not set
# CT_GLIBC_V_2_33 is not set
# CT_GLIBC_V_2_32 is not set
# CT_GLIBC_V_2_31 is not set
# CT_GLIBC_V_2_30 is not set
# CT_GLIBC_V_2_29 is not set
CT_GLIBC_V_2_28=y
# CT_GLIBC_V_2_27 is not set
# CT_GLIBC_V_2_26 is not set
# CT_GLIBC_V_2_25 is not set
# CT_GLIBC_V_2_24 is not set
# CT_GLIBC_V_2_23 is not set
# CT_GLIBC_V_2_19 is not set
# CT_GLIBC_V_2_17 is not set
CT_GLIBC_VERSION="2.28"
CT_GLIBC_MIRRORS="$(CT_Mirrors GNU glibc)"
CT_GLIBC_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
CT_GLIBC_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
CT_GLIBC_ARCHIVE_FORMATS=".tar.xz .tar.bz2 .tar.gz"
CT_GLIBC_SIGNATURE_FORMAT="packed/.sig"
CT_GLIBC_2_43_or_older=y
CT_GLIBC_older_than_2_43=y
CT_GLIBC_2_42_or_older=y
CT_GLIBC_older_than_2_42=y
CT_GLIBC_2_41_or_older=y
CT_GLIBC_older_than_2_41=y
CT_GLIBC_2_38_or_older=y
CT_GLIBC_older_than_2_38=y
CT_GLIBC_2_37_or_older=y
CT_GLIBC_older_than_2_37=y
CT_GLIBC_2_36_or_older=y
CT_GLIBC_older_than_2_36=y
CT_GLIBC_2_34_or_older=y
CT_GLIBC_older_than_2_34=y
CT_GLIBC_2_32_or_older=y
CT_GLIBC_older_than_2_32=y
CT_GLIBC_2_31_or_older=y
CT_GLIBC_older_than_2_31=y
CT_GLIBC_2_30_or_older=y
CT_GLIBC_older_than_2_30=y
CT_GLIBC_2_29_or_older=y
CT_GLIBC_older_than_2_29=y
CT_GLIBC_2_28_or_later=y
CT_GLIBC_2_28_or_older=y
CT_GLIBC_later_than_2_27=y
CT_GLIBC_2_27_or_later=y
CT_GLIBC_later_than_2_26=y
CT_GLIBC_2_26_or_later=y
CT_GLIBC_later_than_2_25=y
CT_GLIBC_2_25_or_later=y
CT_GLIBC_later_than_2_24=y
CT_GLIBC_2_24_or_later=y
CT_GLIBC_later_than_2_23=y
CT_GLIBC_2_23_or_later=y
CT_GLIBC_later_than_2_20=y
CT_GLIBC_2_20_or_later=y
CT_GLIBC_later_than_2_17=y
CT_GLIBC_2_17_or_later=y
CT_GLIBC_later_than_2_14=y
CT_GLIBC_2_14_or_later=y
CT_GLIBC_DEP_KERNEL_HEADERS_VERSION=y
CT_GLIBC_DEP_BINUTILS=y
CT_GLIBC_DEP_GCC=y
CT_GLIBC_DEP_PYTHON=y
CT_GLIBC_DEP_MAKE_4_3=y
CT_GLIBC_SPARC_ALLOW_V7=y
CT_THREADS="nptl"
CT_GLIBC_BUILD_SSP=y
CT_GLIBC_HAS_LIBIDN_ADDON=y
# CT_GLIBC_USE_LIBIDN_ADDON is not set
CT_GLIBC_NO_SPARC_V8=y
CT_GLIBC_HAS_OBSOLETE_RPC=y
CT_GLIBC_EXTRA_CONFIG_ARRAY=
Download .txt
gitextract_szejd5_7/

├── .github/
│   ├── buildkit.toml
│   ├── dependabot.yml
│   └── workflows/
│       ├── build.yml
│       └── pr.yml
├── .gitignore
├── LICENSE
├── README.md
├── addins/
│   ├── 4.3.sh
│   ├── 4.4.sh
│   ├── 5.0.sh
│   ├── 5.1.sh
│   ├── 6.0.sh
│   ├── 6.1.sh
│   ├── 7.0.sh
│   ├── 7.1.sh
│   ├── 8.0.sh
│   ├── debug.sh
│   └── lto.sh
├── build.sh
├── download.sh
├── generate.sh
├── images/
│   ├── base/
│   │   ├── Dockerfile
│   │   ├── check-wget.sh
│   │   ├── git-mini-clone.sh
│   │   └── retry-tool.sh
│   ├── base-linux32/
│   │   ├── Dockerfile
│   │   ├── cross.meson
│   │   ├── ct-ng-config
│   │   ├── gen-implib.sh
│   │   └── toolchain.cmake
│   ├── base-linux64/
│   │   ├── Dockerfile
│   │   ├── cross.meson
│   │   ├── ct-ng-config
│   │   ├── gen-implib.sh
│   │   └── toolchain.cmake
│   ├── base-linuxarm64/
│   │   ├── Dockerfile
│   │   ├── cross.meson
│   │   ├── ct-ng-config
│   │   ├── gen-implib.sh
│   │   └── toolchain.cmake
│   ├── base-linuxmips64/
│   │   ├── Dockerfile
│   │   ├── cross.meson
│   │   ├── ct-ng-config
│   │   ├── gen-implib.sh
│   │   └── toolchain.cmake
│   ├── base-linuxppc64/
│   │   ├── Dockerfile
│   │   ├── cross.meson
│   │   ├── ct-ng-config
│   │   ├── gen-implib.sh
│   │   └── toolchain.cmake
│   ├── base-linuxriscv64/
│   │   ├── Dockerfile
│   │   ├── cross.meson
│   │   ├── ct-ng-config
│   │   ├── gen-implib.sh
│   │   └── toolchain.cmake
│   ├── base-win32/
│   │   ├── Dockerfile
│   │   ├── cross.meson
│   │   ├── ct-ng-config
│   │   └── toolchain.cmake
│   ├── base-win64/
│   │   ├── Dockerfile
│   │   ├── cross.meson
│   │   ├── ct-ng-config
│   │   └── toolchain.cmake
│   └── base-winarm64/
│       ├── Dockerfile
│       ├── cross.meson
│       └── toolchain.cmake
├── makeimage.sh
├── patches/
│   ├── aom/
│   │   └── 0001-Fall-back-to-built-in-vmaf-model-on-load-failure.patch
│   └── aribb24/
│       ├── 12.patch
│       ├── 13.patch
│       └── 17.patch
├── scripts.d/
│   ├── 10-mingw-std-threads.sh
│   ├── 10-mingw.sh
│   ├── 10-xorg-macros.sh
│   ├── 15-base.sh
│   ├── 20-libiconv.sh
│   ├── 20-zlib.sh
│   ├── 25-fftw3.sh
│   ├── 25-fribidi.sh
│   ├── 25-gmp.sh
│   ├── 25-libogg.sh
│   ├── 25-libxml2.sh
│   ├── 25-openssl.sh
│   ├── 25-xz.sh
│   ├── 45-fonts/
│   │   ├── 25-freetype.sh
│   │   ├── 35-fontconfig.sh
│   │   ├── 45-harfbuzz.sh
│   │   └── 50-freetype.sh
│   ├── 45-libsamplerate.sh
│   ├── 45-libudfread.sh
│   ├── 45-libunibreak.sh
│   ├── 45-libvorbis.sh
│   ├── 45-opencl.sh
│   ├── 45-pulseaudio.sh
│   ├── 45-vmaf.sh
│   ├── 45-x11/
│   │   ├── 10-xcbproto.sh
│   │   ├── 10-xproto.sh
│   │   ├── 10-xtrans.sh
│   │   ├── 20-libxau.sh
│   │   ├── 30-libxcb.sh
│   │   ├── 40-libx11.sh
│   │   ├── 50-libxext.sh
│   │   ├── 50-libxfixes.sh
│   │   ├── 50-libxi.sh
│   │   ├── 50-libxinerama.sh
│   │   ├── 50-libxrender.sh
│   │   ├── 50-libxscrnsaver.sh
│   │   ├── 50-libxxf86vm.sh
│   │   ├── 60-libglvnd.sh
│   │   ├── 60-libxcursor.sh
│   │   ├── 60-libxrandr.sh
│   │   ├── 60-libxv.sh
│   │   └── 99-finalize.sh
│   ├── 47-vulkan/
│   │   ├── 40-vulkan-headers.sh
│   │   ├── 45-vulkan-loader.sh
│   │   ├── 50-shaderc.sh
│   │   ├── 55-spirv-cross.sh
│   │   └── 99-enable.sh
│   ├── 50-amf.sh
│   ├── 50-aom.sh
│   ├── 50-aribb24/
│   │   ├── 25-libpng.sh
│   │   └── 50-libaribb24.sh
│   ├── 50-avisynth.sh
│   ├── 50-chromaprint.sh
│   ├── 50-dav1d.sh
│   ├── 50-davs2.sh
│   ├── 50-dvd/
│   │   ├── 30-libdvdcss.sh
│   │   ├── 40-libdvdread.sh
│   │   └── 50-libdvdnav.sh
│   ├── 50-fdk-aac.sh
│   ├── 50-ffnvcodec.sh
│   ├── 50-frei0r.sh
│   ├── 50-gme.sh
│   ├── 50-kvazaar.sh
│   ├── 50-lcevcdec.sh
│   ├── 50-libaribcaption.sh
│   ├── 50-libass.sh
│   ├── 50-libbluray.sh
│   ├── 50-libjxl/
│   │   ├── 45-brotli.sh
│   │   ├── 45-lcms2.sh
│   │   └── 50-libjxl.sh
│   ├── 50-libmp3lame.sh
│   ├── 50-libopus.sh
│   ├── 50-libplacebo.sh
│   ├── 50-librist/
│   │   ├── 40-mbedtls.sh
│   │   └── 50-librist.sh
│   ├── 50-libssh.sh
│   ├── 50-libtheora.sh
│   ├── 50-libvpx.sh
│   ├── 50-libwebp.sh
│   ├── 50-libzmq.sh
│   ├── 50-lilv/
│   │   ├── 96-lv2.sh
│   │   ├── 96-serd.sh
│   │   ├── 96-zix.sh
│   │   ├── 97-sord.sh
│   │   ├── 98-sratom.sh
│   │   └── 99-lilv.sh
│   ├── 50-onevpl.sh
│   ├── 50-openal.sh
│   ├── 50-openapv.sh
│   ├── 50-opencore-amr.sh
│   ├── 50-openh264.sh
│   ├── 50-openjpeg.sh
│   ├── 50-openmpt.sh
│   ├── 50-rav1e.sh
│   ├── 50-rubberband.sh
│   ├── 50-schannel.sh
│   ├── 50-sdl.sh
│   ├── 50-snappy.sh
│   ├── 50-soxr.sh
│   ├── 50-srt.sh
│   ├── 50-svtav1.sh
│   ├── 50-twolame.sh
│   ├── 50-uavs3d.sh
│   ├── 50-vaapi/
│   │   ├── 30-libpciaccess.sh
│   │   ├── 40-libdrm.sh
│   │   ├── 50-libva.sh
│   │   └── 99-finalize.sh
│   ├── 50-vidstab.sh
│   ├── 50-vvenc.sh
│   ├── 50-whisper.sh
│   ├── 50-x264.sh
│   ├── 50-x265.sh
│   ├── 50-xavs2.sh
│   ├── 50-xvid.sh
│   ├── 50-zimg.sh
│   ├── 50-zvbi.sh
│   ├── 99-rpath.sh
│   └── zz-final.sh
├── util/
│   ├── clean_cache.sh
│   ├── dl_functions.sh
│   ├── get_dl_cache_tag.sh
│   ├── prunetags.sh
│   ├── repack_latest.sh
│   ├── run_stage.sh
│   ├── update_scripts.sh
│   ├── update_wiki.sh
│   └── vars.sh
└── variants/
    ├── defaults-gpl-shared.sh
    ├── defaults-gpl.sh
    ├── defaults-lgpl-shared.sh
    ├── defaults-lgpl.sh
    ├── dl-only.sh
    ├── linux-install-shared.sh
    ├── linux-install-static.sh
    ├── linux32-gpl-shared.sh
    ├── linux32-gpl.sh
    ├── linux32-lgpl-shared.sh
    ├── linux32-lgpl.sh
    ├── linux32-nonfree-shared.sh
    ├── linux32-nonfree.sh
    ├── linux64-gpl-shared.sh
    ├── linux64-gpl.sh
    ├── linux64-lgpl-shared.sh
    ├── linux64-lgpl.sh
    ├── linux64-nonfree-shared.sh
    ├── linux64-nonfree.sh
    ├── linuxarm64-gpl-shared.sh
    ├── linuxarm64-gpl.sh
    ├── linuxarm64-lgpl-shared.sh
    ├── linuxarm64-lgpl.sh
    ├── linuxarm64-nonfree-shared.sh
    ├── linuxarm64-nonfree.sh
    ├── linuxmips64-gpl-shared.sh
    ├── linuxmips64-gpl.sh
    ├── linuxmips64-lgpl-shared.sh
    ├── linuxmips64-lgpl.sh
    ├── linuxmips64-nonfree-shared.sh
    ├── linuxmips64-nonfree.sh
    ├── linuxppc64-gpl-shared.sh
    ├── linuxppc64-gpl.sh
    ├── linuxppc64-lgpl-shared.sh
    ├── linuxppc64-lgpl.sh
    ├── linuxppc64-nonfree-shared.sh
    ├── linuxppc64-nonfree.sh
    ├── linuxriscv64-gpl-shared.sh
    ├── linuxriscv64-gpl.sh
    ├── linuxriscv64-lgpl-shared.sh
    ├── linuxriscv64-lgpl.sh
    ├── linuxriscv64-nonfree-shared.sh
    ├── linuxriscv64-nonfree.sh
    ├── win32-gpl-shared.sh
    ├── win32-gpl.sh
    ├── win32-lgpl-shared.sh
    ├── win32-lgpl.sh
    ├── win32-nonfree-shared.sh
    ├── win32-nonfree.sh
    ├── win64-gpl-shared.sh
    ├── win64-gpl.sh
    ├── win64-lgpl-shared.sh
    ├── win64-lgpl.sh
    ├── win64-nonfree-shared.sh
    ├── win64-nonfree.sh
    ├── winarm64-gpl-shared.sh
    ├── winarm64-gpl.sh
    ├── winarm64-lgpl-shared.sh
    ├── winarm64-lgpl.sh
    ├── winarm64-nonfree-shared.sh
    ├── winarm64-nonfree.sh
    ├── windows-install-shared.sh
    └── windows-install-static.sh
Condensed preview — 261 files, each showing path, character count, and a content snippet. Download the .json file or copy for the full structured content (494K chars).
[
  {
    "path": ".github/buildkit.toml",
    "chars": 35,
    "preview": "[worker.oci]\n  max-parallelism = 2\n"
  },
  {
    "path": ".github/dependabot.yml",
    "chars": 118,
    "preview": "version: 2\nupdates:\n  - package-ecosystem: \"github-actions\"\n    directory: \"/\"\n    schedule:\n      interval: \"weekly\"\n"
  },
  {
    "path": ".github/workflows/build.yml",
    "chars": 14433,
    "preview": "name: Build FFmpeg\n\non:\n  push:\n    paths-ignore:\n      - '**.md'\n      - 'LICENSE'\n  workflow_dispatch:\n    inputs:\n   "
  },
  {
    "path": ".github/workflows/pr.yml",
    "chars": 2166,
    "preview": "name: Test Full Build\non:\n  pull_request:\n    branches:\n      - master\n    paths-ignore:\n      - '**.md'\n      - 'LICENS"
  },
  {
    "path": ".gitignore",
    "chars": 44,
    "preview": "/Dockerfile*\n/ffbuild/\n/artifacts/\n/.cache/\n"
  },
  {
    "path": "LICENSE",
    "chars": 1064,
    "preview": "Copyright 2020-2021 BtbN <btbn@btbn.de>\n\nPermission is hereby granted, free of charge, to any person obtaining a copy of"
  },
  {
    "path": "README.md",
    "chars": 2759,
    "preview": "# FFmpeg Static Auto-Builds\n\nStatic Windows (x86_64) and Linux (x86_64) Builds of ffmpeg master and latest release branc"
  },
  {
    "path": "addins/4.3.sh",
    "chars": 37,
    "preview": "#!/bin/bash\nGIT_BRANCH=\"release/4.3\"\n"
  },
  {
    "path": "addins/4.4.sh",
    "chars": 37,
    "preview": "#!/bin/bash\nGIT_BRANCH=\"release/4.4\"\n"
  },
  {
    "path": "addins/5.0.sh",
    "chars": 37,
    "preview": "#!/bin/bash\nGIT_BRANCH=\"release/5.0\"\n"
  },
  {
    "path": "addins/5.1.sh",
    "chars": 37,
    "preview": "#!/bin/bash\nGIT_BRANCH=\"release/5.1\"\n"
  },
  {
    "path": "addins/6.0.sh",
    "chars": 37,
    "preview": "#!/bin/bash\nGIT_BRANCH=\"release/6.0\"\n"
  },
  {
    "path": "addins/6.1.sh",
    "chars": 37,
    "preview": "#!/bin/bash\nGIT_BRANCH=\"release/6.1\"\n"
  },
  {
    "path": "addins/7.0.sh",
    "chars": 37,
    "preview": "#!/bin/bash\nGIT_BRANCH=\"release/7.0\"\n"
  },
  {
    "path": "addins/7.1.sh",
    "chars": 37,
    "preview": "#!/bin/bash\nGIT_BRANCH=\"release/7.1\"\n"
  },
  {
    "path": "addins/8.0.sh",
    "chars": 37,
    "preview": "#!/bin/bash\nGIT_BRANCH=\"release/8.0\"\n"
  },
  {
    "path": "addins/debug.sh",
    "chars": 97,
    "preview": "#!/bin/bash\nFF_CONFIGURE=\"${FF_CONFIGURE/--disable-debug/} --optflags='-Og' --disable-stripping\"\n"
  },
  {
    "path": "addins/lto.sh",
    "chars": 355,
    "preview": "#!/bin/bash\nFF_CONFIGURE=\"$FF_CONFIGURE --enable-lto\"\n\nffbuild_dockeraddin() {\n    to_df 'ENV CFLAGS=\"$CFLAGS -flto=auto"
  },
  {
    "path": "build.sh",
    "chars": 2812,
    "preview": "#!/bin/bash\nset -xe\nshopt -s globstar\ncd \"$(dirname \"$0\")\"\nsource util/vars.sh\n\nsource \"variants/${TARGET}-${VARIANT}.sh"
  },
  {
    "path": "download.sh",
    "chars": 1579,
    "preview": "#!/bin/bash\nset -xe\ncd \"$(dirname \"$0\")\"\nsource util/vars.sh dl only\n\nif docker info -f \"{{println .SecurityOptions}}\" |"
  },
  {
    "path": "generate.sh",
    "chars": 6255,
    "preview": "#!/bin/bash\nset -e\nshopt -s globstar\ncd \"$(dirname \"$0\")\"\nsource util/vars.sh\n\nexport LC_ALL=C.UTF-8\n\nrm -f Dockerfile D"
  },
  {
    "path": "images/base/Dockerfile",
    "chars": 1731,
    "preview": "FROM ubuntu:25.10\n\nARG TARGETPLATFORM\n\nENV DEBIAN_FRONTEND=noninteractive\nRUN \\\n    apt-get -y update && \\\n    apt-get -"
  },
  {
    "path": "images/base/check-wget.sh",
    "chars": 203,
    "preview": "#!/bin/bash\nset -xe\nFNAME=\"$1\"\nURL=\"$2\"\nSHA512=\"$3\"\nSHAFILE=\"${FNAME}.sha512\"\nwget -O \"${FNAME}\" \"${URL}\"\ntrap \"rm -f ${"
  },
  {
    "path": "images/base/git-mini-clone.sh",
    "chars": 248,
    "preview": "#!/bin/bash\nset -xe\nREPO=\"$1\"\nREF=\"$2\"\nDEST=\"$3\"\ngit init \"$DEST\"\ngit -C \"$DEST\" remote add origin \"$REPO\"\n\nretry-tool g"
  },
  {
    "path": "images/base/retry-tool.sh",
    "chars": 416,
    "preview": "#!/bin/bash\nset -xe -o pipefail\n\nRETRY_COUNTER=0\nMAX_RETRY=10\nCUR_TIMEOUT=120\nwhile [[ $RETRY_COUNTER -lt $MAX_RETRY ]];"
  },
  {
    "path": "images/base-linux32/Dockerfile",
    "chars": 3091,
    "preview": "ARG GH_REPO=ghcr.io/fwgs/ffmpeg-builds\nFROM $GH_REPO/base:latest\n\nRUN --mount=src=ct-ng-config,dst=/.config \\\n    git cl"
  },
  {
    "path": "images/base-linux32/cross.meson",
    "chars": 316,
    "preview": "[binaries]\nc = 'i686-ffbuild-linux-gnu-gcc'\ncpp = 'i686-ffbuild-linux-gnu-g++'\nld = 'i686-ffbuild-linux-gnu-ld'\nar = 'i6"
  },
  {
    "path": "images/base-linux32/ct-ng-config",
    "chars": 30708,
    "preview": "#\n# Automatically generated file; DO NOT EDIT.\n# crosstool-NG 1.28.0.23_185f348 Configuration\n#\nCT_CONFIGURE_has_static_"
  },
  {
    "path": "images/base-linux32/gen-implib.sh",
    "chars": 438,
    "preview": "#!/bin/bash\nset -e\nif [[ $# != 2 ]]; then\n    echo \"Invalid arguments\"\n    exit 1\nfi\nIN=\"$1\"\nOUT=\"$2\"\n\nTMPDIR=\"$(mktemp "
  },
  {
    "path": "images/base-linux32/toolchain.cmake",
    "chars": 539,
    "preview": "set(CMAKE_SYSTEM_NAME Linux)\nset(CMAKE_SYSTEM_PROCESSOR i686)\nset(CMAKE_SYSTEM_VERSION 4.18.20)\n\nset(triple i686-ffbuild"
  },
  {
    "path": "images/base-linux64/Dockerfile",
    "chars": 3092,
    "preview": "ARG GH_REPO=ghcr.io/btbn/ffmpeg-builds\nFROM $GH_REPO/base:latest\n\nRUN --mount=src=ct-ng-config,dst=/.config \\\n    git cl"
  },
  {
    "path": "images/base-linux64/cross.meson",
    "chars": 333,
    "preview": "[binaries]\nc = 'x86_64-ffbuild-linux-gnu-gcc'\ncpp = 'x86_64-ffbuild-linux-gnu-g++'\nld = 'x86_64-ffbuild-linux-gnu-ld'\nar"
  },
  {
    "path": "images/base-linux64/ct-ng-config",
    "chars": 30694,
    "preview": "#\n# Automatically generated file; DO NOT EDIT.\n# crosstool-NG 1.28.0.23_185f348 Configuration\n#\nCT_CONFIGURE_has_static_"
  },
  {
    "path": "images/base-linux64/gen-implib.sh",
    "chars": 440,
    "preview": "#!/bin/bash\nset -e\nif [[ $# != 2 ]]; then\n    echo \"Invalid arguments\"\n    exit 1\nfi\nIN=\"$1\"\nOUT=\"$2\"\n\nTMPDIR=\"$(mktemp "
  },
  {
    "path": "images/base-linux64/toolchain.cmake",
    "chars": 543,
    "preview": "set(CMAKE_SYSTEM_NAME Linux)\nset(CMAKE_SYSTEM_PROCESSOR x86_64)\nset(CMAKE_SYSTEM_VERSION 4.18.20)\n\nset(triple x86_64-ffb"
  },
  {
    "path": "images/base-linuxarm64/Dockerfile",
    "chars": 3032,
    "preview": "ARG GH_REPO=ghcr.io/btbn/ffmpeg-builds\nFROM $GH_REPO/base:latest\n\nRUN --mount=src=ct-ng-config,dst=/.config \\\n    git cl"
  },
  {
    "path": "images/base-linuxarm64/cross.meson",
    "chars": 341,
    "preview": "[binaries]\nc = 'aarch64-ffbuild-linux-gnu-gcc'\ncpp = 'aarch64-ffbuild-linux-gnu-g++'\nld = 'aarch64-ffbuild-linux-gnu-ld'"
  },
  {
    "path": "images/base-linuxarm64/ct-ng-config",
    "chars": 30809,
    "preview": "#\n# Automatically generated file; DO NOT EDIT.\n# crosstool-NG 1.28.0.23_185f348 Configuration\n#\nCT_CONFIGURE_has_static_"
  },
  {
    "path": "images/base-linuxarm64/gen-implib.sh",
    "chars": 441,
    "preview": "#!/bin/bash\nset -e\nif [[ $# != 2 ]]; then\n    echo \"Invalid arguments\"\n    exit 1\nfi\nIN=\"$1\"\nOUT=\"$2\"\n\nTMPDIR=\"$(mktemp "
  },
  {
    "path": "images/base-linuxarm64/toolchain.cmake",
    "chars": 545,
    "preview": "set(CMAKE_SYSTEM_NAME Linux)\nset(CMAKE_SYSTEM_PROCESSOR aarch64)\nset(CMAKE_SYSTEM_VERSION 4.18.20)\n\nset(triple aarch64-f"
  },
  {
    "path": "images/base-linuxmips64/Dockerfile",
    "chars": 3137,
    "preview": "ARG GH_REPO=ghcr.io/btbn/ffmpeg-builds\nFROM $GH_REPO/base:latest\n\nRUN --mount=src=ct-ng-config,dst=/.config \\\n    git cl"
  },
  {
    "path": "images/base-linuxmips64/cross.meson",
    "chars": 330,
    "preview": "[binaries]\nc = 'mips64-ffbuild-linux-gnu-gcc'\ncpp = 'mips64-ffbuild-linux-gnu-g++'\nld = 'mips64-ffbuild-linux-gnu-ld'\nar"
  },
  {
    "path": "images/base-linuxmips64/ct-ng-config",
    "chars": 30971,
    "preview": "#\n# Automatically generated file; DO NOT EDIT.\n# crosstool-NG 1.28.0.23_185f348 Configuration\n#\nCT_CONFIGURE_has_static_"
  },
  {
    "path": "images/base-linuxmips64/gen-implib.sh",
    "chars": 441,
    "preview": "#!/bin/bash\nset -e\nif [[ $# != 2 ]]; then\n    echo \"Invalid arguments\"\n    exit 1\nfi\nIN=\"$1\"\nOUT=\"$2\"\n\nTMPDIR=\"$(mktemp "
  },
  {
    "path": "images/base-linuxmips64/toolchain.cmake",
    "chars": 543,
    "preview": "set(CMAKE_SYSTEM_NAME Linux)\nset(CMAKE_SYSTEM_PROCESSOR mips64)\nset(CMAKE_SYSTEM_VERSION 4.18.20)\n\nset(triple mips64-ffb"
  },
  {
    "path": "images/base-linuxppc64/Dockerfile",
    "chars": 2988,
    "preview": "ARG GH_REPO=ghcr.io/btbn/ffmpeg-builds\nFROM $GH_REPO/base:latest\n\nRUN --mount=src=ct-ng-config,dst=/.config \\\n    git cl"
  },
  {
    "path": "images/base-linuxppc64/cross.meson",
    "chars": 346,
    "preview": "[binaries]\nc = 'powerpc64-ffbuild-linux-gnu-gcc'\ncpp = 'powerpc64-ffbuild-linux-gnu-g++'\nld = 'powerpc64-ffbuild-linux-g"
  },
  {
    "path": "images/base-linuxppc64/ct-ng-config",
    "chars": 30961,
    "preview": "#\n# Automatically generated file; DO NOT EDIT.\n# crosstool-NG 1.28.0.23_185f348 Configuration\n#\nCT_CONFIGURE_has_static_"
  },
  {
    "path": "images/base-linuxppc64/gen-implib.sh",
    "chars": 441,
    "preview": "#!/bin/bash\nset -e\nif [[ $# != 2 ]]; then\n    echo \"Invalid arguments\"\n    exit 1\nfi\nIN=\"$1\"\nOUT=\"$2\"\n\nTMPDIR=\"$(mktemp "
  },
  {
    "path": "images/base-linuxppc64/toolchain.cmake",
    "chars": 545,
    "preview": "set(CMAKE_SYSTEM_NAME Linux)\nset(CMAKE_SYSTEM_PROCESSOR ppc64)\nset(CMAKE_SYSTEM_VERSION 4.18.20)\n\nset(triple powerpc64-f"
  },
  {
    "path": "images/base-linuxriscv64/Dockerfile",
    "chars": 2953,
    "preview": "ARG GH_REPO=ghcr.io/btbn/ffmpeg-builds\nFROM $GH_REPO/base:latest\n\nRUN --mount=src=ct-ng-config,dst=/.config \\\n    git cl"
  },
  {
    "path": "images/base-linuxriscv64/cross.meson",
    "chars": 341,
    "preview": "[binaries]\nc = 'riscv64-ffbuild-linux-gnu-gcc'\ncpp = 'riscv64-ffbuild-linux-gnu-g++'\nld = 'riscv64-ffbuild-linux-gnu-ld'"
  },
  {
    "path": "images/base-linuxriscv64/ct-ng-config",
    "chars": 30253,
    "preview": "#\n# Automatically generated file; DO NOT EDIT.\n# crosstool-NG 1.28.0.23_185f348 Configuration\n#\nCT_CONFIGURE_has_static_"
  },
  {
    "path": "images/base-linuxriscv64/gen-implib.sh",
    "chars": 441,
    "preview": "#!/bin/bash\nset -e\nif [[ $# != 2 ]]; then\n    echo \"Invalid arguments\"\n    exit 1\nfi\nIN=\"$1\"\nOUT=\"$2\"\n\nTMPDIR=\"$(mktemp "
  },
  {
    "path": "images/base-linuxriscv64/toolchain.cmake",
    "chars": 545,
    "preview": "set(CMAKE_SYSTEM_NAME Linux)\nset(CMAKE_SYSTEM_PROCESSOR riscv64)\nset(CMAKE_SYSTEM_VERSION 4.18.20)\n\nset(triple riscv64-f"
  },
  {
    "path": "images/base-win32/Dockerfile",
    "chars": 2402,
    "preview": "ARG GH_REPO=ghcr.io/btbn/ffmpeg-builds\nFROM $GH_REPO/base:latest\n\nRUN --mount=src=ct-ng-config,dst=/.config \\\n    git cl"
  },
  {
    "path": "images/base-win32/cross.meson",
    "chars": 391,
    "preview": "[binaries]\nc = 'i686-w64-mingw32-gcc'\ncpp = 'i686-w64-mingw32-g++'\nar = 'i686-w64-mingw32-gcc-ar'\nranlib = 'i686-w64-min"
  },
  {
    "path": "images/base-win32/ct-ng-config",
    "chars": 22720,
    "preview": "#\n# Automatically generated file; DO NOT EDIT.\n# crosstool-NG 1.28.0.23_185f348 Configuration\n#\nCT_CONFIGURE_has_static_"
  },
  {
    "path": "images/base-win32/toolchain.cmake",
    "chars": 572,
    "preview": "set(CMAKE_SYSTEM_NAME Windows)\nset(CMAKE_SYSTEM_PROCESSOR i686)\nset(CMAKE_SYSTEM_VERSION 6.1)\n\nset(triple i686-w64-mingw"
  },
  {
    "path": "images/base-win64/Dockerfile",
    "chars": 2363,
    "preview": "ARG GH_REPO=ghcr.io/btbn/ffmpeg-builds\nFROM $GH_REPO/base:latest\n\nRUN --mount=src=ct-ng-config,dst=/.config \\\n    git cl"
  },
  {
    "path": "images/base-win64/cross.meson",
    "chars": 410,
    "preview": "[binaries]\nc = 'x86_64-w64-mingw32-gcc'\ncpp = 'x86_64-w64-mingw32-g++'\nar = 'x86_64-w64-mingw32-gcc-ar'\nranlib = 'x86_64"
  },
  {
    "path": "images/base-win64/ct-ng-config",
    "chars": 22716,
    "preview": "#\n# Automatically generated file; DO NOT EDIT.\n# crosstool-NG 1.28.0.23_185f348 Configuration\n#\nCT_CONFIGURE_has_static_"
  },
  {
    "path": "images/base-win64/toolchain.cmake",
    "chars": 576,
    "preview": "set(CMAKE_SYSTEM_NAME Windows)\nset(CMAKE_SYSTEM_PROCESSOR x86_64)\nset(CMAKE_SYSTEM_VERSION 6.1)\n\nset(triple x86_64-w64-m"
  },
  {
    "path": "images/base-winarm64/Dockerfile",
    "chars": 2195,
    "preview": "ARG GH_REPO=ghcr.io/btbn/ffmpeg-builds\nFROM $GH_REPO/base:latest\n\nRUN \\\n    git clone --filter=blob:none https://github."
  },
  {
    "path": "images/base-winarm64/cross.meson",
    "chars": 427,
    "preview": "[binaries]\nc = 'aarch64-w64-mingw32-clang'\ncpp = 'aarch64-w64-mingw32-clang++'\nar = 'aarch64-w64-mingw32-llvm-ar'\nranlib"
  },
  {
    "path": "images/base-winarm64/toolchain.cmake",
    "chars": 597,
    "preview": "set(CMAKE_SYSTEM_NAME Windows)\nset(CMAKE_SYSTEM_PROCESSOR aarch64)\nset(CMAKE_SYSTEM_VERSION 10.0.22621.2428)\n\nset(triple"
  },
  {
    "path": "makeimage.sh",
    "chars": 2126,
    "preview": "#!/bin/bash\nset -xeo pipefail\ncd \"$(dirname \"$0\")\"\nsource util/vars.sh\n\nTMPCFG=\"$(mktemp --suffix=.toml)\"\ncat <<EOF >\"$T"
  },
  {
    "path": "patches/aom/0001-Fall-back-to-built-in-vmaf-model-on-load-failure.patch",
    "chars": 714,
    "preview": "From cc9db1c519dc00966ba8d8cdb4328698dfff9f80 Mon Sep 17 00:00:00 2001\nFrom: BtbN <btbn@btbn.de>\nDate: Thu, 15 Apr 2021 "
  },
  {
    "path": "patches/aribb24/12.patch",
    "chars": 1511,
    "preview": "From a5bcc6d17c20e18bdeec295089cc0cdfac9d35c8 Mon Sep 17 00:00:00 2001\nFrom: xtne6f <xt4ubq@gmail.com>\nDate: Thu, 7 Feb "
  },
  {
    "path": "patches/aribb24/13.patch",
    "chars": 713,
    "preview": "From facc51923d43f26dec09a9391566de7cba29f8db Mon Sep 17 00:00:00 2001\nFrom: =?UTF-8?q?Jan=20Ekstr=C3=B6m?= <jeebjp@gmai"
  },
  {
    "path": "patches/aribb24/17.patch",
    "chars": 6204,
    "preview": "From 58a34b8fabf4d0e9e1984fb603a97f52fb934a09 Mon Sep 17 00:00:00 2001\nFrom: scimmia9286 <scimmia9286@yahoo.co.jp>\nDate:"
  },
  {
    "path": "scripts.d/10-mingw-std-threads.sh",
    "chars": 354,
    "preview": "#!/bin/bash\n\nSCRIPT_REPO=\"https://github.com/meganz/mingw-std-threads.git\"\nSCRIPT_COMMIT=\"c931bac289dd431f1dd30fc4a5d1a7"
  },
  {
    "path": "scripts.d/10-mingw.sh",
    "chars": 3294,
    "preview": "#!/bin/bash\n\nSCRIPT_REPO=\"https://git.code.sf.net/p/mingw-w64/mingw-w64.git\"\nSCRIPT_COMMIT=\"59cd5ce805b12cdefced08ce567d"
  },
  {
    "path": "scripts.d/10-xorg-macros.sh",
    "chars": 614,
    "preview": "#!/bin/bash\n\nSCRIPT_REPO=\"https://gitlab.freedesktop.org/xorg/util/macros.git\"\nSCRIPT_COMMIT=\"a9d71e3fd8e6758b70be31c586"
  },
  {
    "path": "scripts.d/15-base.sh",
    "chars": 387,
    "preview": "#!/bin/bash\n\nSCRIPT_SKIP=\"1\"\n\nffbuild_depends() {\n    echo mingw\n    echo mingw-std-threads\n    echo xorg-macros\n}\n\nffbu"
  },
  {
    "path": "scripts.d/20-libiconv.sh",
    "chars": 1468,
    "preview": "#!/bin/bash\n\nSCRIPT_REPO=\"https://git.savannah.gnu.org/git/libiconv.git\"\nSCRIPT_MIRROR=\"git://git.git.savannah.gnu.org/l"
  },
  {
    "path": "scripts.d/20-zlib.sh",
    "chars": 454,
    "preview": "#!/bin/bash\n\nSCRIPT_REPO=\"https://github.com/madler/zlib.git\"\nSCRIPT_COMMIT=\"09a1572aa624e5ddb6c075dc013880de70b1b9b9\"\n\n"
  },
  {
    "path": "scripts.d/25-fftw3.sh",
    "chars": 1058,
    "preview": "#!/bin/bash\n\nSCRIPT_REPO=\"https://github.com/FFTW/fftw3.git\"\nSCRIPT_COMMIT=\"6c8f5c3e620ebc38262cd80ca6f65e9f85783d9e\"\n\nf"
  },
  {
    "path": "scripts.d/25-fribidi.sh",
    "chars": 893,
    "preview": "#!/bin/bash\n\nSCRIPT_REPO=\"https://github.com/fribidi/fribidi.git\"\nSCRIPT_COMMIT=\"b28f43bd3e8e31a5967830f721bab218c1aa114"
  },
  {
    "path": "scripts.d/25-gmp.sh",
    "chars": 743,
    "preview": "#!/bin/bash\n\nSCRIPT_REPO=\"https://github.com/BtbN/gmplib.git\"\nSCRIPT_COMMIT=\"9994908f090c694f8a152d660dc6852e0c48557a\"\n\n"
  },
  {
    "path": "scripts.d/25-libogg.sh",
    "chars": 610,
    "preview": "#!/bin/bash\n\nSCRIPT_REPO=\"https://github.com/xiph/ogg.git\"\nSCRIPT_COMMIT=\"06a5e0262cdc28aa4ae6797627a783b5010440f0\"\n\nffb"
  },
  {
    "path": "scripts.d/25-libxml2.sh",
    "chars": 798,
    "preview": "#!/bin/bash\n\nSCRIPT_REPO=\"https://github.com/GNOME/libxml2.git\"\nSCRIPT_COMMIT=\"8f5f02ba295a20dfc5ddd8de03894918c5870ec8\""
  },
  {
    "path": "scripts.d/25-openssl.sh",
    "chars": 2536,
    "preview": "#!/bin/bash\n\nSCRIPT_REPO=\"https://github.com/openssl/openssl.git\"\nSCRIPT_COMMIT=\"openssl-3.5.5\"\nSCRIPT_TAGFILTER=\"openss"
  },
  {
    "path": "scripts.d/25-xz.sh",
    "chars": 831,
    "preview": "#!/bin/bash\n\nSCRIPT_REPO=\"https://github.com/tukaani-project/xz.git\"\nSCRIPT_COMMIT=\"bfc5f12a84a2a9df774ed16cd6eb58fd5ab2"
  },
  {
    "path": "scripts.d/45-fonts/25-freetype.sh",
    "chars": 639,
    "preview": "#!/bin/bash\n\nSCRIPT_REPO=\"https://gitlab.freedesktop.org/freetype/freetype.git\"\nSCRIPT_COMMIT=\"264b5fbf5b912b39f98d038bf"
  },
  {
    "path": "scripts.d/45-fonts/35-fontconfig.sh",
    "chars": 1182,
    "preview": "#!/bin/bash\n\nSCRIPT_REPO=\"https://gitlab.freedesktop.org/fontconfig/fontconfig.git\"\nSCRIPT_COMMIT=\"bf0ff2ce21f45596d078f"
  },
  {
    "path": "scripts.d/45-fonts/45-harfbuzz.sh",
    "chars": 1127,
    "preview": "#!/bin/bash\n\nSCRIPT_REPO=\"https://github.com/harfbuzz/harfbuzz.git\"\nSCRIPT_COMMIT=\"5fc1d612f9327fe550d0f10efd2bbaf4cd8eb"
  },
  {
    "path": "scripts.d/45-fonts/50-freetype.sh",
    "chars": 814,
    "preview": "#!/bin/bash\n\nSCRIPT_REPO=\"https://gitlab.freedesktop.org/freetype/freetype.git\"\nSCRIPT_COMMIT=\"264b5fbf5b912b39f98d038bf"
  },
  {
    "path": "scripts.d/45-libsamplerate.sh",
    "chars": 519,
    "preview": "#!/bin/bash\n\nSCRIPT_REPO=\"https://github.com/libsndfile/libsamplerate.git\"\nSCRIPT_COMMIT=\"2ccde9568cca73c7b32c97fefca2e4"
  },
  {
    "path": "scripts.d/45-libudfread.sh",
    "chars": 879,
    "preview": "#!/bin/bash\n\nSCRIPT_REPO=\"https://code.videolan.org/videolan/libudfread.git\"\nSCRIPT_COMMIT=\"139a2194525f2745b98a98e4d8fa"
  },
  {
    "path": "scripts.d/45-libunibreak.sh",
    "chars": 626,
    "preview": "#!/bin/bash\n\nSCRIPT_REPO=\"https://github.com/adah1972/libunibreak.git\"\nSCRIPT_COMMIT=\"e8760630e8b73cf0187fc781383c2be136"
  },
  {
    "path": "scripts.d/45-libvorbis.sh",
    "chars": 782,
    "preview": "#!/bin/bash\n\nSCRIPT_REPO=\"https://github.com/xiph/vorbis.git\"\nSCRIPT_COMMIT=\"8de7001691d9177e30ff16a98b37b1e6fd15f7af\"\n\n"
  },
  {
    "path": "scripts.d/45-opencl.sh",
    "chars": 1979,
    "preview": "#!/bin/bash\n\nSCRIPT_REPO=\"https://github.com/KhronosGroup/OpenCL-Headers.git\"\nSCRIPT_COMMIT=\"e55138572c81dce15ffe402bd11"
  },
  {
    "path": "scripts.d/45-pulseaudio.sh",
    "chars": 1737,
    "preview": "#!/bin/bash\n\nSCRIPT_REPO=\"https://gitlab.freedesktop.org/pulseaudio/pulseaudio.git\"\nSCRIPT_COMMIT=\"b096704c0d42c5e784deb"
  },
  {
    "path": "scripts.d/45-vmaf.sh",
    "chars": 1167,
    "preview": "#!/bin/bash\n\nSCRIPT_REPO=\"https://github.com/Netflix/vmaf.git\"\nSCRIPT_COMMIT=\"7e16db0a2ccdd8547680b9ed0b3e52691e8ecee7\"\n"
  },
  {
    "path": "scripts.d/45-x11/10-xcbproto.sh",
    "chars": 588,
    "preview": "#!/bin/bash\n\nSCRIPT_REPO=\"https://gitlab.freedesktop.org/xorg/proto/xcbproto.git\"\nSCRIPT_COMMIT=\"cf7e2581b613802f2f8ec2a"
  },
  {
    "path": "scripts.d/45-x11/10-xproto.sh",
    "chars": 589,
    "preview": "#!/bin/bash\n\nSCRIPT_REPO=\"https://gitlab.freedesktop.org/xorg/proto/xorgproto.git\"\nSCRIPT_COMMIT=\"04482cdee458445eab7c6a"
  },
  {
    "path": "scripts.d/45-x11/10-xtrans.sh",
    "chars": 728,
    "preview": "#!/bin/bash\n\nSCRIPT_REPO=\"https://gitlab.freedesktop.org/xorg/lib/libxtrans.git\"\nSCRIPT_COMMIT=\"693d28a76024a2a0a28eef25"
  },
  {
    "path": "scripts.d/45-x11/20-libxau.sh",
    "chars": 834,
    "preview": "#!/bin/bash\n\nSCRIPT_REPO=\"https://gitlab.freedesktop.org/xorg/lib/libxau.git\"\nSCRIPT_COMMIT=\"3861176ca80013c867b32451075"
  },
  {
    "path": "scripts.d/45-x11/30-libxcb.sh",
    "chars": 1010,
    "preview": "#!/bin/bash\n\nSCRIPT_REPO=\"https://gitlab.freedesktop.org/xorg/lib/libxcb.git\"\nSCRIPT_COMMIT=\"dc3178bc887bbb7293c9de90597"
  },
  {
    "path": "scripts.d/45-x11/40-libx11.sh",
    "chars": 1242,
    "preview": "#!/bin/bash\n\nSCRIPT_REPO=\"https://gitlab.freedesktop.org/xorg/lib/libx11.git\"\nSCRIPT_COMMIT=\"6c75545a1deb51f5903992c52af"
  },
  {
    "path": "scripts.d/45-x11/50-libxext.sh",
    "chars": 1066,
    "preview": "#!/bin/bash\n\nSCRIPT_REPO=\"https://gitlab.freedesktop.org/xorg/lib/libxext.git\"\nSCRIPT_COMMIT=\"2a694ba264ccdb205909909abf"
  },
  {
    "path": "scripts.d/45-x11/50-libxfixes.sh",
    "chars": 846,
    "preview": "#!/bin/bash\n\nSCRIPT_REPO=\"https://gitlab.freedesktop.org/xorg/lib/libxfixes.git\"\nSCRIPT_COMMIT=\"55bb2d1d57d43e0595ce4539"
  },
  {
    "path": "scripts.d/45-x11/50-libxi.sh",
    "chars": 948,
    "preview": "#!/bin/bash\n\nSCRIPT_REPO=\"https://gitlab.freedesktop.org/xorg/lib/libxi.git\"\nSCRIPT_COMMIT=\"3103b5849d89335fd57b08b91ad6"
  },
  {
    "path": "scripts.d/45-x11/50-libxinerama.sh",
    "chars": 972,
    "preview": "#!/bin/bash\n\nSCRIPT_REPO=\"https://gitlab.freedesktop.org/xorg/lib/libxinerama.git\"\nSCRIPT_COMMIT=\"d7162b962710bc724b41ca"
  },
  {
    "path": "scripts.d/45-x11/50-libxrender.sh",
    "chars": 968,
    "preview": "#!/bin/bash\n\nSCRIPT_REPO=\"https://gitlab.freedesktop.org/xorg/lib/libxrender.git\"\nSCRIPT_COMMIT=\"f32afe9f877ae032c6bc9c2"
  },
  {
    "path": "scripts.d/45-x11/50-libxscrnsaver.sh",
    "chars": 959,
    "preview": "#!/bin/bash\n\nSCRIPT_REPO=\"https://gitlab.freedesktop.org/xorg/lib/libxscrnsaver.git\"\nSCRIPT_COMMIT=\"3f753e7a4050db083474"
  },
  {
    "path": "scripts.d/45-x11/50-libxxf86vm.sh",
    "chars": 968,
    "preview": "#!/bin/bash\n\nSCRIPT_REPO=\"https://gitlab.freedesktop.org/xorg/lib/libxxf86vm.git\"\nSCRIPT_COMMIT=\"c76fde6bffcc87e5dd98d81"
  },
  {
    "path": "scripts.d/45-x11/60-libglvnd.sh",
    "chars": 803,
    "preview": "#!/bin/bash\n\nSCRIPT_REPO=\"https://gitlab.freedesktop.org/glvnd/libglvnd.git\"\nSCRIPT_COMMIT=\"606f6627cf481ee6dcb32387edc0"
  },
  {
    "path": "scripts.d/45-x11/60-libxcursor.sh",
    "chars": 850,
    "preview": "#!/bin/bash\n\nSCRIPT_REPO=\"https://gitlab.freedesktop.org/xorg/lib/libxcursor.git\"\nSCRIPT_COMMIT=\"15efad7ccd035f5d1ddc8d4"
  },
  {
    "path": "scripts.d/45-x11/60-libxrandr.sh",
    "chars": 964,
    "preview": "#!/bin/bash\n\nSCRIPT_REPO=\"https://gitlab.freedesktop.org/xorg/lib/libxrandr.git\"\nSCRIPT_COMMIT=\"b8d952cebd42b779256922a8"
  },
  {
    "path": "scripts.d/45-x11/60-libxv.sh",
    "chars": 1114,
    "preview": "#!/bin/bash\n\nSCRIPT_REPO=\"https://gitlab.freedesktop.org/xorg/lib/libxv.git\"\nSCRIPT_COMMIT=\"f315ec50fcad9bdbaed46c3e78dc"
  },
  {
    "path": "scripts.d/45-x11/99-finalize.sh",
    "chars": 511,
    "preview": "#!/bin/bash\n\nSCRIPT_SKIP=\"1\"\n\nffbuild_enabled() {\n    [[ $TARGET != linux* ]] && return -1\n    return 0\n}\n\nffbuild_docke"
  },
  {
    "path": "scripts.d/47-vulkan/40-vulkan-headers.sh",
    "chars": 575,
    "preview": "#!/bin/bash\n\nSCRIPT_REPO=\"https://github.com/KhronosGroup/Vulkan-Headers.git\"\nSCRIPT_COMMIT=\"v1.4.346\"\nSCRIPT_TAGFILTER="
  },
  {
    "path": "scripts.d/47-vulkan/45-vulkan-loader.sh",
    "chars": 892,
    "preview": "#!/bin/bash\n\nSCRIPT_REPO=\"https://github.com/BtbN/Vulkan-Shim-Loader.git\"\nSCRIPT_COMMIT=\"65b3936528cd92eb4ea3de485d03f85"
  },
  {
    "path": "scripts.d/47-vulkan/50-shaderc.sh",
    "chars": 2173,
    "preview": "#!/bin/bash\n\nSCRIPT_REPO=\"https://github.com/google/shaderc.git\"\nSCRIPT_COMMIT=\"42c364eb27982ecfc9e00e384df205730e65b90c"
  },
  {
    "path": "scripts.d/47-vulkan/55-spirv-cross.sh",
    "chars": 1482,
    "preview": "#!/bin/bash\n\nSCRIPT_REPO=\"https://github.com/KhronosGroup/SPIRV-Cross.git\"\nSCRIPT_COMMIT=\"4d4b79bd7b69b07fabdeb06f849334"
  },
  {
    "path": "scripts.d/47-vulkan/99-enable.sh",
    "chars": 542,
    "preview": "#!/bin/bash\n\nSCRIPT_SKIP=\"1\"\n\nffbuild_enabled() {\n    (( $(ffbuild_ffver) > 404 )) || return -1\n    return 0\n}\n\nffbuild_"
  },
  {
    "path": "scripts.d/50-amf.sh",
    "chars": 474,
    "preview": "#!/bin/bash\n\nSCRIPT_REPO=\"https://github.com/GPUOpen-LibrariesAndSDKs/AMF.git\"\nSCRIPT_COMMIT=\"d0b3e6dd544a5f207bb6a12a1e"
  },
  {
    "path": "scripts.d/50-aom.sh",
    "chars": 1183,
    "preview": "#!/bin/bash\n\nSCRIPT_REPO=\"https://aomedia.googlesource.com/aom\"\nSCRIPT_COMMIT=\"399a9541cdda09e6217498e6b0476bcd62fddb79\""
  },
  {
    "path": "scripts.d/50-aribb24/25-libpng.sh",
    "chars": 726,
    "preview": "#!/bin/bash\n\nSCRIPT_REPO=\"https://github.com/glennrp/libpng.git\"\nSCRIPT_COMMIT=\"28cb99fe65f09e79703ac2c3008649e14c7b0844"
  },
  {
    "path": "scripts.d/50-aribb24/50-libaribb24.sh",
    "chars": 1185,
    "preview": "#!/bin/bash\n\nSCRIPT_REPO=\"https://github.com/nkoriyama/aribb24.git\"\nSCRIPT_COMMIT=\"5e9be272f96e00f15a2f3c5f8ba7e124862ae"
  },
  {
    "path": "scripts.d/50-avisynth.sh",
    "chars": 708,
    "preview": "#!/bin/bash\n\nSCRIPT_REPO=\"https://github.com/AviSynth/AviSynthPlus.git\"\nSCRIPT_COMMIT=\"a371d0ac95186c89c0e29d62a26ebc444"
  },
  {
    "path": "scripts.d/50-chromaprint.sh",
    "chars": 907,
    "preview": "#!/bin/bash\n\nSCRIPT_REPO=\"https://github.com/acoustid/chromaprint.git\"\nSCRIPT_COMMIT=\"6b13ce3a81ae931e7477c4856a86bece99"
  },
  {
    "path": "scripts.d/50-dav1d.sh",
    "chars": 824,
    "preview": "#!/bin/bash\n\nSCRIPT_REPO=\"https://code.videolan.org/videolan/dav1d.git\"\nSCRIPT_COMMIT=\"594d1601ff5a83b565a75cb96eff37db6"
  },
  {
    "path": "scripts.d/50-davs2.sh",
    "chars": 1171,
    "preview": "#!/bin/bash\n\nSCRIPT_REPO=\"https://github.com/pkuvcl/davs2.git\"\nSCRIPT_COMMIT=\"b41cf117452e2d73d827f02d3e30aa20f1c721ac\"\n"
  },
  {
    "path": "scripts.d/50-dvd/30-libdvdcss.sh",
    "chars": 1127,
    "preview": "#!/bin/bash\n\nSCRIPT_REPO=\"https://code.videolan.org/videolan/libdvdcss.git\"\nSCRIPT_COMMIT=\"2682a4a7ed782e700a5b920f6f85c"
  },
  {
    "path": "scripts.d/50-dvd/40-libdvdread.sh",
    "chars": 1076,
    "preview": "#!/bin/bash\n\nSCRIPT_REPO=\"https://code.videolan.org/videolan/libdvdread.git\"\nSCRIPT_COMMIT=\"a66aec4dd722dbfed0be3e26eb36"
  },
  {
    "path": "scripts.d/50-dvd/50-libdvdnav.sh",
    "chars": 1187,
    "preview": "#!/bin/bash\n\nSCRIPT_REPO=\"https://code.videolan.org/videolan/libdvdnav.git\"\nSCRIPT_COMMIT=\"cf112772bf626f76a913efca5b883"
  },
  {
    "path": "scripts.d/50-fdk-aac.sh",
    "chars": 799,
    "preview": "#!/bin/bash\n\nSCRIPT_REPO=\"https://github.com/mstorsjo/fdk-aac.git\"\nSCRIPT_COMMIT=\"d8e6b1a3aa606c450241632b64b703f21ea31c"
  },
  {
    "path": "scripts.d/50-ffnvcodec.sh",
    "chars": 1491,
    "preview": "#!/bin/bash\n\nSCRIPT_REPO=\"https://github.com/FFmpeg/nv-codec-headers.git\"\nSCRIPT_COMMIT=\"33a9ede8d9914299d9262539c576a15"
  },
  {
    "path": "scripts.d/50-frei0r.sh",
    "chars": 915,
    "preview": "#!/bin/bash\n\nSCRIPT_REPO=\"https://github.com/dyne/frei0r.git\"\nSCRIPT_COMMIT=\"ccbac4e6c448355d5b8b235d73a5cb06776583a9\"\n\n"
  },
  {
    "path": "scripts.d/50-gme.sh",
    "chars": 598,
    "preview": "#!/bin/bash\n\nSCRIPT_REPO=\"https://github.com/libgme/game-music-emu.git\"\nSCRIPT_COMMIT=\"265d8b90c9b46bd3b892443dee4da585a"
  },
  {
    "path": "scripts.d/50-kvazaar.sh",
    "chars": 911,
    "preview": "#!/bin/bash\n\nSCRIPT_REPO=\"https://github.com/ultravideo/kvazaar.git\"\nSCRIPT_COMMIT=\"c5bab996d340ffd78943a6456f981278bc74"
  },
  {
    "path": "scripts.d/50-lcevcdec.sh",
    "chars": 983,
    "preview": "#!/bin/bash\n\nSCRIPT_REPO=\"https://github.com/v-novaltd/LCEVCdec.git\"\nSCRIPT_COMMIT=\"655f029d0008f00da9c976567ea159437aa8"
  },
  {
    "path": "scripts.d/50-libaribcaption.sh",
    "chars": 1068,
    "preview": "#!/bin/bash\n\nSCRIPT_REPO=\"https://github.com/xqq/libaribcaption.git\"\nSCRIPT_COMMIT=\"27cf3cab26084d636905335d92c375ecbc36"
  },
  {
    "path": "scripts.d/50-libass.sh",
    "chars": 922,
    "preview": "#!/bin/bash\n\nSCRIPT_REPO=\"https://github.com/libass/libass.git\"\nSCRIPT_COMMIT=\"fadc390583f24eb5cf98f16925fd3adee50bca88\""
  },
  {
    "path": "scripts.d/50-libbluray.sh",
    "chars": 1261,
    "preview": "#!/bin/bash\n\nSCRIPT_REPO=\"https://code.videolan.org/videolan/libbluray.git\"\nSCRIPT_COMMIT=\"4dfb9b0123b006ce5d66592dc8058"
  },
  {
    "path": "scripts.d/50-libjxl/45-brotli.sh",
    "chars": 490,
    "preview": "#!/bin/bash\n\nSCRIPT_REPO=\"https://github.com/google/brotli.git\"\nSCRIPT_COMMIT=\"408457d9c5d2ae8a0b3a4889298bf0bab16089b1\""
  },
  {
    "path": "scripts.d/50-libjxl/45-lcms2.sh",
    "chars": 708,
    "preview": "#!/bin/bash\n\nSCRIPT_REPO=\"https://github.com/mm2/Little-CMS.git\"\nSCRIPT_COMMIT=\"e0641b1828d0a1af5ecb1b11fe22f24fceefd4bc"
  },
  {
    "path": "scripts.d/50-libjxl/50-libjxl.sh",
    "chars": 2360,
    "preview": "#!/bin/bash\n\nSCRIPT_REPO=\"https://github.com/libjxl/libjxl.git\"\nSCRIPT_COMMIT=\"58e60a059ea5700628585c4ed785e13480065b65\""
  },
  {
    "path": "scripts.d/50-libmp3lame.sh",
    "chars": 1064,
    "preview": "#!/bin/bash\n\nSCRIPT_REPO=\"https://svn.code.sf.net/p/lame/svn/trunk/lame\"\nSCRIPT_REV=\"6531\"\n\nffbuild_depends() {\n    echo"
  },
  {
    "path": "scripts.d/50-libopus.sh",
    "chars": 957,
    "preview": "#!/bin/bash\n\nSCRIPT_REPO=\"https://github.com/xiph/opus.git\"\nSCRIPT_COMMIT=\"2d862ea14b233e5a3f3afaf74d96050691af3cd5\"\n\nff"
  },
  {
    "path": "scripts.d/50-libplacebo.sh",
    "chars": 1517,
    "preview": "#!/bin/bash\n\nSCRIPT_REPO=\"https://code.videolan.org/videolan/libplacebo.git\"\nSCRIPT_COMMIT=\"33b5dfada6a84692912e4d41f673"
  },
  {
    "path": "scripts.d/50-librist/40-mbedtls.sh",
    "chars": 1162,
    "preview": "#!/bin/bash\n\nSCRIPT_REPO=\"https://github.com/ARMmbed/mbedtls.git\"\nSCRIPT_COMMIT=\"v3.6.5\"\nSCRIPT_TAGFILTER=\"v3.*\"\n\nffbuil"
  },
  {
    "path": "scripts.d/50-librist/50-librist.sh",
    "chars": 1123,
    "preview": "#!/bin/bash\n\nSCRIPT_REPO=\"https://code.videolan.org/rist/librist.git\"\nSCRIPT_COMMIT=\"6cb9b99f55076dffb84fe4a31c773aeb2d7"
  },
  {
    "path": "scripts.d/50-libssh.sh",
    "chars": 1061,
    "preview": "#!/bin/bash\n\nSCRIPT_REPO=\"https://gitlab.com/libssh/libssh-mirror.git\"\nSCRIPT_COMMIT=\"3154a4ab8d3277d1cabe028cd3c0841e94"
  },
  {
    "path": "scripts.d/50-libtheora.sh",
    "chars": 1000,
    "preview": "#!/bin/bash\n\nSCRIPT_REPO=\"https://github.com/xiph/theora.git\"\nSCRIPT_COMMIT=\"edfba372beb02ff70a1e2797d8cf561c242d0e0b\"\n\n"
  },
  {
    "path": "scripts.d/50-libvpx.sh",
    "chars": 1615,
    "preview": "#!/bin/bash\n\nSCRIPT_REPO=\"https://chromium.googlesource.com/webm/libvpx\"\nSCRIPT_COMMIT=\"42d580255a7b842c66f655f035ff3038"
  },
  {
    "path": "scripts.d/50-libwebp.sh",
    "chars": 954,
    "preview": "#!/bin/bash\n\nSCRIPT_REPO=\"https://chromium.googlesource.com/webm/libwebp\"\nSCRIPT_COMMIT=\"d25c11493a69cb81452db4f0d4d762a"
  },
  {
    "path": "scripts.d/50-libzmq.sh",
    "chars": 1094,
    "preview": "#!/bin/bash\n\nSCRIPT_REPO=\"https://github.com/zeromq/libzmq.git\"\nSCRIPT_COMMIT=\"66f512b432e3862bf691cd0a196a1fa80a31c230\""
  },
  {
    "path": "scripts.d/50-lilv/96-lv2.sh",
    "chars": 689,
    "preview": "#!/bin/bash\n\nSCRIPT_REPO=\"https://github.com/lv2/lv2.git\"\nSCRIPT_COMMIT=\"c19da82eb31164004e92648c40a52ec7dc428130\"\n\nffbu"
  },
  {
    "path": "scripts.d/50-lilv/96-serd.sh",
    "chars": 692,
    "preview": "#!/bin/bash\n\nSCRIPT_REPO=\"https://github.com/drobilla/serd.git\"\nSCRIPT_COMMIT=\"24474530f8acef5c6cdcefa00b0049367e5d3079\""
  },
  {
    "path": "scripts.d/50-lilv/96-zix.sh",
    "chars": 725,
    "preview": "#!/bin/bash\n\nSCRIPT_REPO=\"https://github.com/drobilla/zix.git\"\nSCRIPT_COMMIT=\"12e39bee28be568a38b83863f43e7250fa0fd3f6\"\n"
  },
  {
    "path": "scripts.d/50-lilv/97-sord.sh",
    "chars": 692,
    "preview": "#!/bin/bash\n\nSCRIPT_REPO=\"https://github.com/drobilla/sord.git\"\nSCRIPT_COMMIT=\"5ab719fdae9b6db1204974f749dc64e62d2029af\""
  },
  {
    "path": "scripts.d/50-lilv/98-sratom.sh",
    "chars": 664,
    "preview": "#!/bin/bash\n\nSCRIPT_REPO=\"https://github.com/lv2/sratom.git\"\nSCRIPT_COMMIT=\"68bd465f0de009d58ae39e89eb029c728e74751f\"\n\nf"
  },
  {
    "path": "scripts.d/50-lilv/99-lilv.sh",
    "chars": 815,
    "preview": "#!/bin/bash\n\nSCRIPT_REPO=\"https://github.com/lv2/lilv.git\"\nSCRIPT_COMMIT=\"2fd992e28d1032287b656a97566bedb1caed0000\"\n\nffb"
  },
  {
    "path": "scripts.d/50-onevpl.sh",
    "chars": 1094,
    "preview": "#!/bin/bash\n\nSCRIPT_REPO=\"https://github.com/intel/libvpl.git\"\nSCRIPT_COMMIT=\"778a66d6c6537f08eabb91955dbbf1bce3812894\"\n"
  },
  {
    "path": "scripts.d/50-openal.sh",
    "chars": 951,
    "preview": "#!/bin/bash\n\nSCRIPT_REPO=\"https://github.com/kcat/openal-soft.git\"\nSCRIPT_COMMIT=\"e091b6486e3e779263068389533caa1ba299b6"
  },
  {
    "path": "scripts.d/50-openapv.sh",
    "chars": 1258,
    "preview": "#!/bin/bash\n\nSCRIPT_REPO=\"https://github.com/AcademySoftwareFoundation/openapv.git\"\nSCRIPT_COMMIT=\"4974f041917b09f011502"
  },
  {
    "path": "scripts.d/50-opencore-amr.sh",
    "chars": 892,
    "preview": "#!/bin/bash\n\nSCRIPT_REPO=\"https://git.code.sf.net/p/opencore-amr/code\"\nSCRIPT_COMMIT=\"7dba8c32238418ce0b316a852b2224df58"
  },
  {
    "path": "scripts.d/50-openh264.sh",
    "chars": 1255,
    "preview": "#!/bin/bash\n\nSCRIPT_REPO=\"https://github.com/cisco/openh264.git\"\nSCRIPT_COMMIT=\"cf568c83f71a18778f9a16e344effaf40c11b752"
  },
  {
    "path": "scripts.d/50-openjpeg.sh",
    "chars": 633,
    "preview": "#!/bin/bash\n\nSCRIPT_REPO=\"https://github.com/uclouvain/openjpeg.git\"\nSCRIPT_COMMIT=\"d33cbecc148d3affcdf403211fddc2cc5d44"
  },
  {
    "path": "scripts.d/50-openmpt.sh",
    "chars": 1721,
    "preview": "#!/bin/bash\n\nSCRIPT_REPO=\"https://github.com/OpenMPT/openmpt.git\"\nSCRIPT_COMMIT=\"d2d91049d6bb4cc817965d52278a48293ea488f"
  },
  {
    "path": "scripts.d/50-rav1e.sh",
    "chars": 1469,
    "preview": "#!/bin/bash\n\nSCRIPT_REPO=\"https://github.com/xiph/rav1e.git\"\nSCRIPT_COMMIT=\"564ae3b0007ae2b06893fd7166bf88c5a84c5b63\"\n\nf"
  },
  {
    "path": "scripts.d/50-rubberband.sh",
    "chars": 891,
    "preview": "#!/bin/bash\n\nSCRIPT_REPO=\"https://github.com/breakfastquay/rubberband.git\"\nSCRIPT_COMMIT=\"e4296ac80b1170018a110bc326fd0d"
  },
  {
    "path": "scripts.d/50-schannel.sh",
    "chars": 378,
    "preview": "#!/bin/bash\n\nSCRIPT_SKIP=\"1\"\n\nffbuild_enabled() {\n    [[ $TARGET == win* ]]\n}\n\nffbuild_dockerdl() {\n    true\n}\n\nffbuild_"
  },
  {
    "path": "scripts.d/50-sdl.sh",
    "chars": 1987,
    "preview": "#!/bin/bash\n\nSCRIPT_REPO=\"https://github.com/libsdl-org/SDL.git\"\nSCRIPT_COMMIT=\"e0307aa05e79284a45a535b3e78728e7c42239cf"
  },
  {
    "path": "scripts.d/50-snappy.sh",
    "chars": 694,
    "preview": "#!/bin/bash\n\nSCRIPT_REPO=\"https://github.com/google/snappy.git\"\nSCRIPT_COMMIT=\"6281a07b7e08629884ec93a89fea6e05c62e599c\""
  },
  {
    "path": "scripts.d/50-soxr.sh",
    "chars": 1031,
    "preview": "#!/bin/bash\n\nSCRIPT_REPO=\"https://git.code.sf.net/p/soxr/code\"\nSCRIPT_COMMIT=\"945b592b70470e29f917f4de89b4281fbbd540c0\"\n"
  },
  {
    "path": "scripts.d/50-srt.sh",
    "chars": 783,
    "preview": "#!/bin/bash\n\nSCRIPT_REPO=\"https://github.com/Haivision/srt.git\"\nSCRIPT_COMMIT=\"f04c00cdd7a04a0f57b0bd8efb68d934c7d1b4ec\""
  },
  {
    "path": "scripts.d/50-svtav1.sh",
    "chars": 863,
    "preview": "#!/bin/bash\n\nSCRIPT_REPO=\"https://gitlab.com/AOMediaCodec/SVT-AV1.git\"\nSCRIPT_COMMIT=\"d0701ba0972df777d36a525d229a948d09"
  },
  {
    "path": "scripts.d/50-twolame.sh",
    "chars": 1173,
    "preview": "#!/bin/bash\n\nSCRIPT_REPO=\"https://github.com/njh/twolame.git\"\nSCRIPT_COMMIT=\"6fced852d4d5cfad58cf9dbe3ea619b08e87d398\"\n\n"
  },
  {
    "path": "scripts.d/50-uavs3d.sh",
    "chars": 858,
    "preview": "#!/bin/bash\n\nSCRIPT_REPO=\"https://github.com/uavs3/uavs3d.git\"\nSCRIPT_COMMIT=\"0e20d2c291853f196c68922a264bcd8471d75b68\"\n"
  },
  {
    "path": "scripts.d/50-vaapi/30-libpciaccess.sh",
    "chars": 1007,
    "preview": "#!/bin/bash\n\nSCRIPT_REPO=\"https://gitlab.freedesktop.org/xorg/lib/libpciaccess.git\"\nSCRIPT_COMMIT=\"38e6f15f839fba2c49982"
  },
  {
    "path": "scripts.d/50-vaapi/40-libdrm.sh",
    "chars": 1255,
    "preview": "#!/bin/bash\n\nSCRIPT_REPO=\"https://gitlab.freedesktop.org/mesa/drm.git\"\nSCRIPT_COMMIT=\"b9dea73dfa310bc945ae6f09004a08fd62"
  },
  {
    "path": "scripts.d/50-vaapi/50-libva.sh",
    "chars": 2375,
    "preview": "#!/bin/bash\n\nSCRIPT_REPO=\"https://github.com/intel/libva.git\"\nSCRIPT_COMMIT=\"9b1db46a3a11b6152a4fa2c3b3f1e93da2cb5edf\"\n\n"
  },
  {
    "path": "scripts.d/50-vaapi/99-finalize.sh",
    "chars": 309,
    "preview": "#!/bin/bash\n\nSCRIPT_SKIP=\"1\"\n\nffbuild_enabled() {\n    return 0\n}\n\nffbuild_dockerdl() {\n    true\n}\n\nffbuild_dockerbuild()"
  },
  {
    "path": "scripts.d/50-vidstab.sh",
    "chars": 898,
    "preview": "#!/bin/bash\n\nSCRIPT_REPO=\"https://github.com/georgmartius/vid.stab.git\"\nSCRIPT_COMMIT=\"92bc0b0f369f2a88aaacf25eac3a10f84"
  },
  {
    "path": "scripts.d/50-vvenc.sh",
    "chars": 1353,
    "preview": "#!/bin/bash\n\nSCRIPT_REPO=\"https://github.com/fraunhoferhhi/vvenc.git\"\nSCRIPT_COMMIT=\"f4c746c6fe8359e236da42e6fc5985d450c"
  },
  {
    "path": "scripts.d/50-whisper.sh",
    "chars": 1649,
    "preview": "#!/bin/bash\n\nSCRIPT_REPO=\"https://github.com/ggml-org/whisper.cpp.git\"\nSCRIPT_COMMIT=\"dc9611662265870df22a7230b7586176a9"
  },
  {
    "path": "scripts.d/50-x264.sh",
    "chars": 920,
    "preview": "#!/bin/bash\n\nSCRIPT_REPO=\"https://code.videolan.org/videolan/x264.git\"\nSCRIPT_COMMIT=\"0480cb05fa188d37ae87e8f4fd8f1aea37"
  },
  {
    "path": "scripts.d/50-x265.sh",
    "chars": 2107,
    "preview": "#!/bin/bash\n\nSCRIPT_REPO=\"https://bitbucket.org/multicoreware/x265_git.git\"\nSCRIPT_COMMIT=\"8be7dbf8159ddfceea4115675a6d4"
  },
  {
    "path": "scripts.d/50-xavs2.sh",
    "chars": 1474,
    "preview": "#!/bin/bash\n\nSCRIPT_REPO=\"https://github.com/pkuvcl/xavs2.git\"\nSCRIPT_COMMIT=\"eae1e8b9d12468059bdd7dee893508e470fa83d8\"\n"
  },
  {
    "path": "scripts.d/50-xvid.sh",
    "chars": 1290,
    "preview": "#!/bin/bash\n\nSCRIPT_REPO=\"https://svn.xvid.org/trunk/xvidcore\"\nSCRIPT_REV=\"2202\"\n\nffbuild_enabled() {\n    [[ $VARIANT =="
  },
  {
    "path": "scripts.d/50-zimg.sh",
    "chars": 824,
    "preview": "#!/bin/bash\n\nSCRIPT_REPO=\"https://github.com/sekrit-twc/zimg.git\"\nSCRIPT_COMMIT=\"bf3f425fc758dc8247924e3ea00afc93afd4ed7"
  },
  {
    "path": "scripts.d/50-zvbi.sh",
    "chars": 979,
    "preview": "#!/bin/bash\n\nSCRIPT_REPO=\"https://github.com/zapping-vbi/zvbi\"\nSCRIPT_COMMIT=\"41477c97c8edf7a01f1594b2a95b94f0117eed21\"\n"
  },
  {
    "path": "scripts.d/99-rpath.sh",
    "chars": 495,
    "preview": "#!/bin/bash\n\nSCRIPT_SKIP=\"1\"\n\nffbuild_enabled() {\n    [[ $TARGET == linux* ]]\n}\n\nffbuild_dockerfinal() {\n    return 0\n}\n"
  },
  {
    "path": "scripts.d/zz-final.sh",
    "chars": 1464,
    "preview": "#!/bin/bash\n\nSCRIPT_SKIP=\"1\"\n\nffbuild_depends() {\n    echo libiconv\n    echo zlib\n    echo fribidi\n    echo gmp\n    echo"
  },
  {
    "path": "util/clean_cache.sh",
    "chars": 161,
    "preview": "#!/bin/bash\nset -xe\ncd \"$(dirname \"$0\")\"/../.cache/downloads\nfind . $(printf \"! -name %s \" $(find . -type l -exec basena"
  },
  {
    "path": "util/dl_functions.sh",
    "chars": 140,
    "preview": "#!/bin/bash\n\ndefault_dl() {\n    echo \"git-mini-clone \\\"$SCRIPT_REPO\\\" \\\"$SCRIPT_COMMIT\\\" \\\"$1\\\"\"\n}\n\nffbuild_dockerdl() {"
  },
  {
    "path": "util/get_dl_cache_tag.sh",
    "chars": 102,
    "preview": "#!/bin/bash\nset -eo pipefail\ncd \"$(dirname \"$0\")\"\n../download.sh hashonly | sha256sum | cut -d\" \" -f1\n"
  },
  {
    "path": "util/prunetags.sh",
    "chars": 767,
    "preview": "#!/bin/bash\nset -e\ngit fetch --tags\nTAGS=( $(git tag -l \"autobuild-*\" | sort -r) )\n\nKEEP_LATEST=14\nKEEP_MONTHLY=24\n\nLATE"
  },
  {
    "path": "util/repack_latest.sh",
    "chars": 1591,
    "preview": "#!/bin/bash\nset -e\n\nif [[ $# -lt 2 ]]; then\n    echo \"Missing arguments\"\n    exit -1\nfi\n\nRELEASE_DIR=\"$(realpath \"$1\")\"\n"
  },
  {
    "path": "util/run_stage.sh",
    "chars": 1005,
    "preview": "#!/bin/bash\nset -xe\n\nexport RAW_CFLAGS=\"$CFLAGS\"\nexport RAW_CXXFLAGS=\"$CXXFLAGS\"\nexport RAW_LDFLAGS=\"$LDFLAGS\"\n[[ -n \"$S"
  },
  {
    "path": "util/update_scripts.sh",
    "chars": 3247,
    "preview": "#!/bin/bash\nset -eo pipefail\nshopt -s globstar\nexport LC_ALL=C\n\ncd \"$(dirname \"$0\")\"/..\n\nfor scr in scripts.d/**/*.sh; d"
  },
  {
    "path": "util/update_wiki.sh",
    "chars": 893,
    "preview": "#!/bin/bash\nset -e\n\nif [[ $# != 2 ]]; then\n    echo \"Missing arguments\"\n    exit -1\nfi\n\nif [[ -z \"$GITHUB_REPOSITORY\" ||"
  },
  {
    "path": "util/vars.sh",
    "chars": 2203,
    "preview": "#!/bin/bash\n\nif [[ $# -lt 2 ]]; then\n    echo \"Invalid Arguments\"\n    exit -1\nfi\n\nTARGET=\"$1\"\nVARIANT=\"$2\"\nshift 2\n\nif !"
  },
  {
    "path": "variants/defaults-gpl-shared.sh",
    "chars": 113,
    "preview": "#!/bin/bash\nsource \"$(dirname \"$BASH_SOURCE\")\"/defaults-gpl.sh\nFF_CONFIGURE+=\" --enable-shared --disable-static\"\n"
  },
  {
    "path": "variants/defaults-gpl.sh",
    "chars": 153,
    "preview": "FF_CONFIGURE=\"--enable-gpl --enable-version3 --disable-debug\"\nFF_CFLAGS=\"\"\nFF_CXXFLAGS=\"\"\nFF_LDFLAGS=\"\"\nGIT_BRANCH=\"mast"
  }
]

// ... and 61 more files (download for full content)

About this extraction

This page contains the full source code of the BtbN/FFmpeg-Builds GitHub repository, extracted and formatted as plain text for AI agents and large language models (LLMs). The extraction includes 261 files (443.0 KB), approximately 160.2k tokens. Use this with OpenClaw, Claude, ChatGPT, Cursor, Windsurf, or any other AI tool that accepts text input. You can copy the full output to your clipboard or download it as a .txt file.

Extracted by GitExtract — free GitHub repo to text converter for AI. Built by Nikandr Surkov.

Copied to clipboard!