[
  {
    "path": ".github/buildkit.toml",
    "content": "[worker.oci]\n  max-parallelism = 2\n"
  },
  {
    "path": ".github/dependabot.yml",
    "content": "version: 2\nupdates:\n  - package-ecosystem: \"github-actions\"\n    directory: \"/\"\n    schedule:\n      interval: \"weekly\"\n"
  },
  {
    "path": ".github/workflows/build.yml",
    "content": "name: Build FFmpeg\n\non:\n  push:\n    paths-ignore:\n      - '**.md'\n      - 'LICENSE'\n  workflow_dispatch:\n    inputs:\n      doRelease:\n        description: 'Publish new release'\n        type: boolean\n        default: false\n        required: false\n      buildOnly:\n        description: 'Only build ffmpeg'\n        type: boolean\n        default: false\n        required: false\n  schedule:\n    - cron: '0 12 * * *'\n\nenv:\n  DOCKER_BUILDKIT: 1\n\njobs:\n  pre_check:\n    name: Pre Checks\n    if: ${{ github.event.inputs.buildOnly != 'true' }}\n    runs-on: ubuntu-latest\n    steps:\n      - name: Repo Check\n        if: ${{ github.event_name == 'schedule' }}\n        run: |\n          if [[ \"$GITHUB_REPOSITORY\" != \"BtbN/FFmpeg-Builds\" ]]; then\n            echo \"When forking this repository to make your own builds, you have to adjust this check.\"\n            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.\"\n            echo \"This has been put in place due to the enormous amounts of traffic hundreds/thousands of parallel builds can cause on external infrastructure.\"\n            # 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):\n            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\"\n            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\"\n            echo '2. Use `find and replace` (ctrl+f) to replace `BtbN/FFmpeg-Builds` with your repository name' >> \"$GITHUB_STEP_SUMMARY\"\n            echo  >> \"$GITHUB_STEP_SUMMARY\" # adds blank line to markdown\n            echo \"This safeguard exists to  avoid overwhelming important open-source infrastructure (see https://github.com/BtbN/FFmpeg-Builds/issues/278)\" >> \"$GITHUB_STEP_SUMMARY\"\n            exit 1\n          fi\n          exit 0\n  build_base:\n    name: Build base image\n    if: ${{ github.event.inputs.buildOnly != 'true' }}\n    needs: pre_check\n    strategy:\n      fail-fast: false\n      matrix:\n        runner: [ubuntu-latest,ubuntu-24.04-arm]\n    runs-on: ${{ matrix.runner }}\n    steps:\n      - name: Free Disk-Space\n        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\n      - name: Checkout\n        uses: actions/checkout@v6\n      - name: Install buildx\n        uses: docker/setup-buildx-action@v4\n        with:\n          buildkitd-config: .github/buildkit.toml\n      - name: Login to Docker\n        uses: docker/login-action@v4\n        with:\n          registry: ghcr.io\n          username: ${{ github.actor }}\n          password: ${{ github.token }}\n      - name: Image Name\n        id: imagename\n        run: |\n          IMG=\"${GITHUB_REPOSITORY,,}/base\"\n          IMG=\"${IMG// /-}\"\n          echo \"name=ghcr.io/${IMG}\" >> $GITHUB_OUTPUT\n          echo \"rawname=${IMG#*/}\" >> $GITHUB_OUTPUT\n      - name: Stop Commands\n        run: T=\"$(echo -n ${{ github.token }} | sha256sum | head -c 64)\" && echo -e \"::add-mask::${T}\\n::stop-commands::${T}\"\n      - name: Build target base image\n        uses: docker/build-push-action@v7\n        with:\n          context: images/base\n          pull: true\n          push: true\n          provenance: false\n          tags: ${{ steps.imagename.outputs.name }}:latest${{ (contains(matrix.runner, 'arm') && '-arm') || '' }}\n          cache-to: type=registry,mode=max,ref=${{ steps.imagename.outputs.name }}:cache${{ (contains(matrix.runner, 'arm') && '-arm') || '' }}\n          cache-from: type=registry,ref=${{ steps.imagename.outputs.name }}:cache${{ (contains(matrix.runner, 'arm') && '-arm') || '' }}\n      - name: Get download cache key\n        if: ${{ !cancelled() && !contains(matrix.runner, 'arm') }}\n        id: dl_cache\n        run: |\n          echo \"dltagname=$(./util/get_dl_cache_tag.sh)\" >> $GITHUB_OUTPUT\n      - name: Cache\n        if: ${{ !cancelled() && !contains(matrix.runner, 'arm') }}\n        uses: actions/cache@v5\n        with:\n          path: .cache/downloads\n          key: download-cache-${{ steps.dl_cache.outputs.dltagname }}\n          restore-keys: |\n            download-cache-\n      - name: Update Cache\n        if: ${{ !cancelled() && !contains(matrix.runner, 'arm') }}\n        run: |\n          set -e\n          ./download.sh\n          ./util/clean_cache.sh\n          tar czf .cache/cache.tar.gz .cache/downloads/*\n      - name: Upload cache artifact\n        if: ${{ !cancelled() && !contains(matrix.runner, 'arm') }}\n        uses: actions/upload-artifact@v7\n        with:\n          name: download-cache\n          overwrite: true\n          path: .cache/cache.tar.gz\n      - name: Cleanup\n        continue-on-error: true\n        uses: BtbN/delete-untagged-ghcr-action@main\n        with:\n          token: ${{ github.token }}\n          package_name: ${{ steps.imagename.outputs.rawname }}\n          repository_owner: ${{ github.repository_owner }}\n          repository: ${{ github.repository }}\n          owner_type: user\n          untagged_only: true\n  build_target_bases:\n    name: Build target base image\n    if: ${{ github.event.inputs.buildOnly != 'true' }}\n    needs: build_base\n    runs-on: ubuntu-latest\n    strategy:\n      fail-fast: false\n      matrix:\n        target: [win32,win64,winarm64,linux32,linux64,linuxarm64,linuxppc64,linuxmips64,linuxriscv64]\n    steps:\n      - name: Free Disk-Space\n        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\n      - name: Checkout\n        uses: actions/checkout@v6\n      - name: Install buildx\n        uses: docker/setup-buildx-action@v4\n        with:\n          buildkitd-config: .github/buildkit.toml\n      - name: Login to Docker\n        uses: docker/login-action@v4\n        with:\n          registry: ghcr.io\n          username: ${{ github.actor }}\n          password: ${{ github.token }}\n      - name: Image Name\n        id: imagename\n        run: |\n          IMG=\"${GITHUB_REPOSITORY,,}/base-${{ matrix.target }}\"\n          IMG=\"${IMG// /-}\"\n          echo \"name=ghcr.io/${IMG}\" >> $GITHUB_OUTPUT\n          echo \"rawname=${IMG#*/}\" >> $GITHUB_OUTPUT\n          echo \"gh_repo=${GITHUB_REPOSITORY,,}\" >> $GITHUB_OUTPUT\n      - name: Stop Commands\n        run: T=\"$(echo -n ${{ github.token }} | sha256sum | head -c 64)\" && echo -e \"::add-mask::${T}\\n::stop-commands::${T}\"\n      - name: Build target base image\n        uses: docker/build-push-action@v7\n        with:\n          context: images/base-${{ matrix.target }}\n          pull: true\n          push: true\n          provenance: false\n          tags: ${{ steps.imagename.outputs.name }}:latest\n          cache-to: type=registry,mode=max,ref=${{ steps.imagename.outputs.name }}:cache\n          cache-from: type=registry,ref=${{ steps.imagename.outputs.name }}:cache\n          build-args: |\n            GH_REPO=ghcr.io/${{ steps.imagename.outputs.gh_repo }}\n      - name: Cleanup\n        continue-on-error: true\n        uses: BtbN/delete-untagged-ghcr-action@main\n        with:\n          token: ${{ github.token }}\n          package_name: ${{ steps.imagename.outputs.rawname }}\n          repository_owner: ${{ github.repository_owner }}\n          repository: ${{ github.repository }}\n          owner_type: user\n          untagged_only: true\n  build_targets:\n    name: Build target-variant image\n    if: ${{ github.event.inputs.buildOnly != 'true' }}\n    needs: build_target_bases\n    runs-on: ubuntu-latest\n    strategy:\n      fail-fast: false\n      matrix:\n        target: [win64,winarm64,linux64,linuxarm64]\n        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]\n        include:\n          - target: win64\n            variant: gpl 7.0\n          - target: win64\n            variant: gpl 6.1\n          - target: win64\n            variant: gpl 6.0\n          - target: win64\n            variant: gpl 5.1\n          - target: win64\n            variant: gpl 5.0\n          - target: win64\n            variant: gpl 4.4\n          - target: win64\n            variant: gpl 4.3\n    steps:\n      - name: Free Disk-Space\n        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\n      - name: Checkout\n        uses: actions/checkout@v6\n      - name: Install buildx\n        uses: docker/setup-buildx-action@v4\n        with:\n          buildkitd-config: .github/buildkit.toml\n      - name: Login to Docker\n        uses: docker/login-action@v4\n        with:\n          registry: ghcr.io\n          username: ${{ github.actor }}\n          password: ${{ github.token }}\n      - name: Image Name\n        id: imagename\n        run: |\n          IMG=\"${GITHUB_REPOSITORY,,}/${{ matrix.target }}-${{ matrix.variant }}\"\n          IMG=\"${IMG// /-}\"\n          echo \"name=ghcr.io/${IMG}\" >> $GITHUB_OUTPUT\n          echo \"rawname=${IMG#*/}\" >> $GITHUB_OUTPUT\n      - name: Get download cache key\n        id: dl_cache\n        run: |\n          echo \"dltagname=$(./util/get_dl_cache_tag.sh)\" >> $GITHUB_OUTPUT\n      - name: Stop Commands\n        run: T=\"$(echo -n ${{ github.token }} | sha256sum | head -c 64)\" && echo -e \"::add-mask::${T}\\n::stop-commands::${T}\"\n      - name: Generate Dockerfile\n        run: ./generate.sh ${{ matrix.target }} ${{ matrix.variant }}\n      - name: Cache\n        uses: actions/cache/restore@v5\n        with:\n          path: .cache/downloads\n          key: download-cache-${{ steps.dl_cache.outputs.dltagname }}\n          fail-on-cache-miss: true\n      - name: Build target base image\n        uses: docker/build-push-action@v7\n        with:\n          context: .\n          pull: true\n          push: true\n          provenance: false\n          tags: ${{ steps.imagename.outputs.name }}:latest\n          cache-to: type=registry,mode=max,ref=${{ steps.imagename.outputs.name }}:cache\n          cache-from: type=registry,ref=${{ steps.imagename.outputs.name }}:cache\n      - name: Cleanup\n        continue-on-error: true\n        uses: BtbN/delete-untagged-ghcr-action@main\n        with:\n          token: ${{ github.token }}\n          package_name: ${{ steps.imagename.outputs.rawname }}\n          repository_owner: ${{ github.repository_owner }}\n          repository: ${{ github.repository }}\n          owner_type: user\n          untagged_only: true\n  build_ffmpeg:\n    name: Build ffmpeg\n    if: ${{ ( github.event.inputs.buildOnly == 'true' && !cancelled() ) || success() }}\n    needs: build_targets\n    runs-on: ubuntu-latest\n    strategy:\n      fail-fast: false\n      matrix:\n        target: [win64,winarm64,linux64,linuxarm64]\n        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]\n    steps:\n      - name: Free Disk-Space\n        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\n      - name: Checkout\n        uses: actions/checkout@v6\n      - name: Login to Docker\n        uses: docker/login-action@v4\n        with:\n          registry: ghcr.io\n          username: ${{ github.actor }}\n          password: ${{ github.token }}\n      - name: Build ffmpeg\n        run: |\n          T=\"$(echo -n ${{ github.token }} | sha256sum | head -c 64)\" && echo -e \"::add-mask::${T}\\n::stop-commands::${T}\"\n          ./build.sh ${{ matrix.target }} ${{ matrix.variant }}\n      - name: Replace spaces in string\n        id: strs\n        run: |\n          SLUG=\"${{ matrix.target }}-${{ matrix.variant }}\"\n          echo \"artifact_slug=${SLUG// /-}\" >> $GITHUB_OUTPUT\n      - name: Upload artifacts\n        uses: actions/upload-artifact@v7\n        with:\n          name: ffmpeg-${{ steps.strs.outputs.artifact_slug }}\n          overwrite: true\n          path: artifacts/*\n  publish_release:\n    name: Publish release\n    if: ${{ !cancelled() && ( github.event_name == 'schedule' || github.event.inputs.doRelease == 'true' ) && needs.build_ffmpeg.result == 'success' }}\n    needs: build_ffmpeg\n    runs-on: ubuntu-latest\n    steps:\n      - name: Free Disk-Space\n        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\n      - name: Checkout\n        uses: actions/checkout@v6\n      - name: Download artifacts\n        uses: actions/download-artifact@v8\n        with:\n          pattern: ffmpeg-*\n          merge-multiple: true\n          path: artifacts\n      - name: Create release\n        id: create_release\n        run: |\n          set -xe\n          shopt -s nullglob\n          RELDATE=\"$(date +'%Y-%m-%d %H:%M')\"\n          NAME=\"Auto-Build $RELDATE\"\n          TAGNAME=\"autobuild-$(date +'%Y-%m-%d-%H-%M')\"\n          (cd artifacts && sha256sum *.{zip,tar.xz} > checksums.sha256)\n          gh release create \"$TAGNAME\" --target \"master\" --title \"$NAME\" artifacts/*.{zip,tar.xz} artifacts/checksums.*\n          echo \"tag_name=${TAGNAME}\" >> $GITHUB_OUTPUT\n          echo \"rel_date=${RELDATE}\" >> $GITHUB_OUTPUT\n        env:\n          GITHUB_TOKEN: ${{ github.token }}\n      - name: Update Latest\n        run: |\n          set -xe\n          shopt -s nullglob\n          mkdir latest_artifacts\n          ./util/repack_latest.sh latest_artifacts artifacts/*.{zip,tar.xz}\n          (cd latest_artifacts && sha256sum *.{zip,tar.xz} > checksums.sha256)\n          NAME=\"Latest Auto-Build (${{ steps.create_release.outputs.rel_date }})\"\n          TAGNAME=\"latest\"\n          gh release delete --cleanup-tag --yes \"$TAGNAME\" || true\n          sleep 15\n          gh release create \"$TAGNAME\" --target \"master\" --title \"$NAME\" latest_artifacts/*\n        env:\n          GITHUB_TOKEN: ${{ github.token }}\n      - name: Update Wiki\n        run: ./util/update_wiki.sh artifacts ${{ steps.create_release.outputs.tag_name }}\n        env:\n          GITHUB_TOKEN: ${{ github.token }}\n      - name: Prune old releases\n        run: ./util/prunetags.sh\n        env:\n          GITHUB_TOKEN: ${{ github.token }}\n"
  },
  {
    "path": ".github/workflows/pr.yml",
    "content": "name: Test Full Build\non:\n  pull_request:\n    branches:\n      - master\n    paths-ignore:\n      - '**.md'\n      - 'LICENSE'\n\nenv:\n  DOCKER_BUILDKIT: 1\n\njobs:\n  build:\n    name: Test Full Build\n    runs-on: ubuntu-24.04\n    strategy:\n      fail-fast: false\n      matrix:\n        target: [win64,linux64,linuxarm64]\n        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]\n        quickbuild: [1]\n        include:\n          - target: win64\n            variant: gpl\n            quickbuild: ''\n          - target: linux64\n            variant: gpl\n            quickbuild: ''\n          - target: linuxarm64\n            variant: gpl\n            quickbuild: ''\n    steps:\n      - name: Free Disk-Space\n        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\n      - name: Checkout\n        uses: actions/checkout@v6\n      - name: Install buildx\n        uses: docker/setup-buildx-action@v4\n        with:\n          buildkitd-config: .github/buildkit.toml\n          driver: docker\n      - name: Get download cache key\n        id: dl_cache\n        run: |\n          echo \"dltagname=$(./util/get_dl_cache_tag.sh)\" >> $GITHUB_OUTPUT\n      - name: Cache\n        uses: actions/cache/restore@v5\n        with:\n          path: .cache/downloads\n          key: download-cache-${{ steps.dl_cache.outputs.dltagname }}\n          restore-keys: |\n            download-cache-\n      - name: Build Image\n        run: ./makeimage.sh ${{ matrix.target }} ${{ matrix.variant }}\n        env:\n          QUICKBUILD: ${{ matrix.quickbuild }}\n      - name: Build ffmpeg\n        run: ./build.sh ${{ matrix.target }} ${{ matrix.variant }}\n      - name: Replace spaces in string\n        id: strs\n        run: |\n          SLUG=\"${{ matrix.target }}-${{ matrix.variant }}\"\n          echo \"artifact_slug=${SLUG// /-}\" >> $GITHUB_OUTPUT\n      - name: Upload artifacts\n        uses: actions/upload-artifact@v7\n        with:\n          name: ffmpeg-${{ steps.strs.outputs.artifact_slug }}\n          overwrite: true\n          path: artifacts/*\n"
  },
  {
    "path": ".gitignore",
    "content": "/Dockerfile*\n/ffbuild/\n/artifacts/\n/.cache/\n"
  },
  {
    "path": "LICENSE",
    "content": "Copyright 2020-2021 BtbN <btbn@btbn.de>\n\nPermission 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:\n\nThe above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n\nTHE 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.\n"
  },
  {
    "path": "README.md",
    "content": "# FFmpeg Static Auto-Builds\n\nStatic Windows (x86_64) and Linux (x86_64) Builds of ffmpeg master and latest release branch.\n\nWindows builds are targetting Windows 7 and newer, provided UCRT is installed.\nThe minimum supported version is Windows 10 22H2, no guarantees on anything older.\n\nLinux builds are targetting RHEL/CentOS 8 (glibc-2.28 + linux-4.18) and anything more recent.\n\n## Auto-Builds\n\nBuilds run daily at 12:00 UTC (or GitHubs idea of that time) and are automatically released on success.\n\n**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.**\n\n### Release Retention Policy\n\n- The last build of each month is kept for two years.\n- The last 14 daily builds are kept.\n- The special \"latest\" build floats and provides consistent URLs always pointing to the latest build.\n\n## Package List\n\nFor a list of included dependencies check the scripts.d directory.\nEvery file corresponds to its respective package.\n\n## How to make a build\n\n### Prerequisites\n\n* bash\n* docker\n\n### Build Image\n\n* `./makeimage.sh target variant [addin [addin] [addin] ...]`\n\n### Build FFmpeg\n\n* `./build.sh target variant [addin [addin] [addin] ...]`\n\nOn success, the resulting zip file will be in the `artifacts` subdir.\n\n### Targets, Variants and Addins\n\nAvailable targets:\n* `win64` (x86_64 Windows)\n* `win32` (x86 Windows)\n* `linux64` (x86_64 Linux, glibc>=2.28, linux>=4.18)\n* `linuxarm64` (arm64 (aarch64) Linux, glibc>=2.28, linux>=4.18)\n\nThe linuxarm64 target will not build some dependencies due to lack of arm64 (aarch64) architecture support or cross-compiling restrictions.\n\n* `davs2` and `xavs2`: aarch64 support is broken.\n* `libmfx` and `libva`: Library for Intel QSV, so there is no aarch64 support.\n\nAvailable variants:\n* `gpl` Includes all dependencies, even those that require full GPL instead of just LGPL.\n* `lgpl` Lacking libraries that are GPL-only. Most prominently libx264 and libx265.\n* `nonfree` Includes fdk-aac in addition to all the dependencies of the gpl variant.\n* `gpl-shared` Same as gpl, but comes with the libav* family of shared libs instead of pure static executables.\n* `lgpl-shared` Same again, but with the lgpl set of dependencies.\n* `nonfree-shared` Same again, but with the nonfree set of dependencies.\n\nAll of those can be optionally combined with any combination of addins:\n* `4.4`/`5.0`/`5.1`/`6.0`/`6.1`/`7.0`/`7.1` to build from the respective release branch instead of master.\n* `debug` to not strip debug symbols from the binaries. This increases the output size by about 250MB.\n* `lto` build all dependencies and ffmpeg with -flto=auto (HIGHLY EXPERIMENTAL, broken for Windows, sometimes works for Linux)\n"
  },
  {
    "path": "addins/4.3.sh",
    "content": "#!/bin/bash\nGIT_BRANCH=\"release/4.3\"\n"
  },
  {
    "path": "addins/4.4.sh",
    "content": "#!/bin/bash\nGIT_BRANCH=\"release/4.4\"\n"
  },
  {
    "path": "addins/5.0.sh",
    "content": "#!/bin/bash\nGIT_BRANCH=\"release/5.0\"\n"
  },
  {
    "path": "addins/5.1.sh",
    "content": "#!/bin/bash\nGIT_BRANCH=\"release/5.1\"\n"
  },
  {
    "path": "addins/6.0.sh",
    "content": "#!/bin/bash\nGIT_BRANCH=\"release/6.0\"\n"
  },
  {
    "path": "addins/6.1.sh",
    "content": "#!/bin/bash\nGIT_BRANCH=\"release/6.1\"\n"
  },
  {
    "path": "addins/7.0.sh",
    "content": "#!/bin/bash\nGIT_BRANCH=\"release/7.0\"\n"
  },
  {
    "path": "addins/7.1.sh",
    "content": "#!/bin/bash\nGIT_BRANCH=\"release/7.1\"\n"
  },
  {
    "path": "addins/8.0.sh",
    "content": "#!/bin/bash\nGIT_BRANCH=\"release/8.0\"\n"
  },
  {
    "path": "addins/debug.sh",
    "content": "#!/bin/bash\nFF_CONFIGURE=\"${FF_CONFIGURE/--disable-debug/} --optflags='-Og' --disable-stripping\"\n"
  },
  {
    "path": "addins/lto.sh",
    "content": "#!/bin/bash\nFF_CONFIGURE=\"$FF_CONFIGURE --enable-lto\"\n\nffbuild_dockeraddin() {\n    to_df 'ENV CFLAGS=\"$CFLAGS -flto=auto\" CXXFLAGS=\"$CXXFLAGS -flto=auto\" LDFLAGS=\"$LDFLAGS -flto=auto\"'\n    to_df 'ENV FFBUILD_TARGET_FLAGS=\"$FFBUILD_TARGET_FLAGS --ar=${FFBUILD_TOOLCHAIN}-gcc-ar --nm=${FFBUILD_TOOLCHAIN}-gcc-nm --ranlib=${FFBUILD_TOOLCHAIN}-gcc-ranlib\"'\n}\n"
  },
  {
    "path": "build.sh",
    "content": "#!/bin/bash\nset -xe\nshopt -s globstar\ncd \"$(dirname \"$0\")\"\nsource util/vars.sh\n\nsource \"variants/${TARGET}-${VARIANT}.sh\"\n\nfor addin in ${ADDINS[*]}; do\n    source \"addins/${addin}.sh\"\ndone\n\nif docker info -f \"{{println .SecurityOptions}}\" | grep rootless >/dev/null 2>&1; then\n    UIDARGS=()\nelse\n    UIDARGS=( -u \"$(id -u):$(id -g)\" )\nfi\n\nrm -rf ffbuild\nmkdir ffbuild\n\nFFMPEG_REPO=\"${FFMPEG_REPO:-https://github.com/FFmpeg/FFmpeg.git}\"\nFFMPEG_REPO=\"${FFMPEG_REPO_OVERRIDE:-$FFMPEG_REPO}\"\nGIT_BRANCH=\"${GIT_BRANCH:-master}\"\nGIT_BRANCH=\"${GIT_BRANCH_OVERRIDE:-$GIT_BRANCH}\"\n\nBUILD_SCRIPT=\"$(mktemp)\"\ntrap \"rm -f -- '$BUILD_SCRIPT'\" EXIT\n\ncat <<EOF >\"$BUILD_SCRIPT\"\n    set -xe\n    cd /ffbuild\n    rm -rf ffmpeg prefix\n\n    git clone --filter=blob:none --branch='$GIT_BRANCH' '$FFMPEG_REPO' ffmpeg\n    cd ffmpeg\n\n    ./configure --prefix=/ffbuild/prefix --pkg-config-flags=\"--static\" \\$FFBUILD_TARGET_FLAGS \\$FF_CONFIGURE \\\n        --extra-cflags=\"\\$FF_CFLAGS\" --extra-cxxflags=\"\\$FF_CXXFLAGS\" --extra-libs=\"\\$FF_LIBS\" \\\n        --extra-ldflags=\"\\$FF_LDFLAGS\" --extra-ldexeflags=\"\\$FF_LDEXEFLAGS\" \\\n        --cc=\"\\$CC\" --cxx=\"\\$CXX\" --ar=\"\\$AR\" --ranlib=\"\\$RANLIB\" --nm=\"\\$NM\" \\\n        --extra-version=\"\\$(date +%Y%m%d)\"\n    make -j\\$(nproc) V=1\n    make install install-doc\nEOF\n\n[[ -t 1 ]] && TTY_ARG=\"-t\" || TTY_ARG=\"\"\n\ndocker run --rm -i $TTY_ARG \"${UIDARGS[@]}\" -v \"$PWD/ffbuild\":/ffbuild -v \"$BUILD_SCRIPT\":/build.sh \"$IMAGE\" bash /build.sh\n\nif [[ -n \"$FFBUILD_OUTPUT_DIR\" ]]; then\n    mkdir -p \"$FFBUILD_OUTPUT_DIR\"\n    package_variant ffbuild/prefix \"$FFBUILD_OUTPUT_DIR\"\n    [[ -n \"$LICENSE_FILE\" ]] && cp \"ffbuild/ffmpeg/$LICENSE_FILE\" \"$FFBUILD_OUTPUT_DIR/LICENSE.txt\"\n    rm -rf ffbuild\n    exit 0\nfi\n\nmkdir -p artifacts\nARTIFACTS_PATH=\"$PWD/artifacts\"\nBUILD_NAME=\"ffmpeg-$(./ffbuild/ffmpeg/ffbuild/version.sh ffbuild/ffmpeg)-${TARGET}-${VARIANT}${ADDINS_STR:+-}${ADDINS_STR}\"\n\nmkdir -p \"ffbuild/pkgroot/$BUILD_NAME\"\npackage_variant ffbuild/prefix \"ffbuild/pkgroot/$BUILD_NAME\"\n\n[[ -n \"$LICENSE_FILE\" ]] && cp \"ffbuild/ffmpeg/$LICENSE_FILE\" \"ffbuild/pkgroot/$BUILD_NAME/LICENSE.txt\"\n\ncd ffbuild/pkgroot\nif [[ \"${TARGET}\" == win* ]]; then\n    OUTPUT_FNAME=\"${BUILD_NAME}.zip\"\n    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\"\nelse\n    OUTPUT_FNAME=\"${BUILD_NAME}.tar.xz\"\n    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\"\nfi\ncd -\n\nrm -rf ffbuild\n\nif [[ -n \"$GITHUB_ACTIONS\" ]]; then\n    echo \"build_name=${BUILD_NAME}\" >> \"$GITHUB_OUTPUT\"\n    echo \"${OUTPUT_FNAME}\" > \"${ARTIFACTS_PATH}/${TARGET}-${VARIANT}${ADDINS_STR:+-}${ADDINS_STR}.txt\"\nfi\n"
  },
  {
    "path": "download.sh",
    "content": "#!/bin/bash\nset -xe\ncd \"$(dirname \"$0\")\"\nsource util/vars.sh dl only\n\nif docker info -f \"{{println .SecurityOptions}}\" | grep rootless >/dev/null 2>&1; then\n    UIDARGS=()\nelse\n    UIDARGS=( -u \"$(id -u):$(id -g)\" )\nfi\n\n[[ -t 1 ]] && TTY_ARG=\"-t\" || TTY_ARG=\"\"\n\nDL_SCRIPT_DIR=\"$(mktemp -d)\"\ntrap \"rm -rf -- '$DL_SCRIPT_DIR'\" EXIT\n\nmkdir -p \"${PWD}\"/.cache/downloads\n\nfor STAGE in scripts.d/*.sh scripts.d/*/*.sh; do\n\tSTAGENAME=\"$(basename \"$STAGE\" | sed 's/.sh$//')\"\n\n\tcat <<-EOF >\"${DL_SCRIPT_DIR}/${STAGENAME}.sh\"\n\t\tset -xe -o pipefail\n\t\tshopt -s dotglob\n\n\t\tsource /dl_functions.sh\n\t\tsource \"/$STAGE\"\n\t\tSTG=\"\\$(ffbuild_dockerdl)\"\n\n\t\tif [[ -z \"\\$STG\" ]]; then\n\t\t\texit 0\n\t\tfi\n\n\t\tDLHASH=\"\\$(sha256sum <<<\"\\$STG\" | cut -d\" \" -f1)\"\n\t\tDLNAME=\"$STAGENAME\"\n\n\t\tif [[ \"$1\" == \"hashonly\" ]]; then\n\t\t\techo \"\\$DLHASH\"\n\t\t\texit 0\n\t\tfi\n\n\t\tTGT=\"/dldir/\\${DLNAME}_\\${DLHASH}.tar.xz\"\n\t\tif [[ -f \"\\$TGT\" ]]; then\n\t\t\trm -f \"/dldir/\\${DLNAME}.tar.xz\"\n\t\t\tln -s \"\\${DLNAME}_\\${DLHASH}.tar.xz\" \"/dldir/\\${DLNAME}.tar.xz\"\n\t\t\texit 0\n\t\tfi\n\n\t\tWORKDIR=\"\\$(mktemp -d)\"\n\t\ttrap \"rm -rf -- '\\$WORKDIR'\" EXIT\n\t\tcd \"\\$WORKDIR\"\n\n\t\teval \"set -e; \\$STG\"\n\n\t\ttar cpJf \"\\$TGT.tmp\" .\n\t\tmv \"\\$TGT.tmp\" \"\\$TGT\"\n\t\trm -f \"/dldir/\\${DLNAME}.tar.xz\"\n\t\tln -s \"\\${DLNAME}_\\${DLHASH}.tar.xz\" \"/dldir/\\${DLNAME}.tar.xz\"\n\tEOF\ndone\n\ndocker 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\" \\\n\tbash -c 'set -xe && for STAGE in /stages/*.sh; do bash $STAGE; done'\n"
  },
  {
    "path": "generate.sh",
    "content": "#!/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 Dockerfile.{dl,final,dl.final}\n\nlayername() {\n    printf \"layer-\"\n    basename \"$1\" | sed 's/.sh$//'\n}\n\nresolvestage() {\n    [[ -d \"$1\" ]] && local SCRIPTDIR=(\"$1\") || local SCRIPTDIR=(scripts.d/??-\"$1\")\n    if [[ -d \"${SCRIPTDIR[0]}\" ]]; then\n        echo scripts.d/??-\"${1}\"\n    else\n        echo scripts.d/??-\"${1}.sh\"\n    fi\n}\n\nresolvescript() {\n    local STAGE=\"$(resolvestage \"$1\")\"\n    if [[ -d \"$STAGE\" ]]; then\n        ls -1 \"$STAGE\"/*.sh | tail -n 1\n    else\n        echo \"$STAGE\"\n    fi\n}\n\nto_df() {\n    local _of=\"${TODF:-Dockerfile}\"\n    printf \"$@\" >> \"$_of\"\n    echo >> \"$_of\"\n}\n\n###\n### Generate main Dockerfile\n###\n\nexec_dockerstage() {\n    SCRIPT=\"$1\"\n    (\n        SELF=\"$SCRIPT\"\n        STAGENAME=\"$(basename \"$SCRIPT\" | sed 's/.sh$//')\"\n        source util/dl_functions.sh\n        source \"$SCRIPT\"\n\n        ffbuild_enabled || exit 0\n\n        to_df \"ENV SELF=\\\"$SELF\\\" STAGENAME=\\\"$STAGENAME\\\"\"\n\n        STG=\"$(ffbuild_dockerdl)\"\n        if [[ -n \"$STG\" ]]; then\n            HASH=\"$(sha256sum <<<\"$STG\" | cut -d\" \" -f1)\"\n            export SELFCACHE=\".cache/downloads/${STAGENAME}_${HASH}.tar.xz\"\n        fi\n\n        ffbuild_dockerstage || exit $?\n    )\n}\n\nget_stagedeps() {\n    [[ -d \"$1\" ]] && local SCRIPTDIR=(\"$1\") || local SCRIPTDIR=(scripts.d/??-\"$1\")\n    if [[ -d \"${SCRIPTDIR[0]}\" ]]; then\n        RESDEPS=()\n        for SUBSCRIPT in \"${SCRIPTDIR[0]}\"/*.sh; do\n            RESDEPS+=( $(get_stagedeps \"${SUBSCRIPT}\") )\n        done\n        tr ' ' '\\n' <<< \"${RESDEPS[@]}\" | sort -u\n    else\n        [[ -f \"$1\" ]] && SCRIPT=(\"$1\") || SCRIPT=(scripts.d/??-\"${1}.sh\")\n        SCRIPT=\"${SCRIPT[0]}\"\n        (\n            SELF=\"$SCRIPT\"\n            STAGENAME=\"$(basename \"$SCRIPT\" | sed 's/.sh$//')\"\n            source util/dl_functions.sh\n            source \"$SCRIPT\"\n\n            ffbuild_enabled || exit 0\n            ffbuild_depends\n        )\n    fi\n}\n\nget_stagedeps_recursive_internal() {\n    local CDEPS=($(get_stagedeps \"$1\"))\n    for CDEP in \"${CDEPS[@]}\"; do\n        get_stagedeps_recursive_internal \"$CDEP\"\n    done\n    printf '%s\\n' \"${CDEPS[@]}\"\n}\n\nget_stagedeps_recursive() {\n    declare -A ALREADY_PRINTED\n    for CDEP in $(get_stagedeps_recursive_internal \"$1\"); do\n        if ! [[ -v ALREADY_PRINTED[\"$CDEP\"] ]]; then\n            echo \"$CDEP\"\n            ALREADY_PRINTED[\"$CDEP\"]=\"1\"\n        fi\n    done\n}\n\nget_filled_deps() {\n    local CUR_DEPS=($(get_stagedeps \"$1\"))\n    local UNFILLED_DEPS=()\n    for DEP in \"${CUR_DEPS[@]}\"; do\n        [[ -v FILLED_DEPS[\"$DEP\"] ]] || UNFILLED_DEPS+=(\"$DEP\")\n    done\n    if [[ \"${#UNFILLED_DEPS[@]}\" -eq 0 ]]; then\n        echo \"$1\"\n    else\n        for DEP in \"${UNFILLED_DEPS[@]}\"; do\n            get_filled_deps \"$DEP\" | sort -u\n        done\n    fi\n}\n\nget_output() {\n    (\n        SELF=\"$1\"\n        source \"$1\"\n        if ffbuild_enabled; then\n            ffbuild_$2 || exit 0\n        else\n            ffbuild_un$2 || exit 0\n        fi\n    )\n}\n\nexport TODF=\"Dockerfile\"\n\nBASELAYER=\"base-layer\"\nto_df \"FROM ${REGISTRY}/${REPO}/base-${TARGET}:latest AS ${BASELAYER}\"\nto_df \"ENV TARGET=$TARGET VARIANT=$VARIANT REPO=$REPO ADDINS_STR=$ADDINS_STR FFVER=$(ffbuild_ffver)\"\nto_df \"COPY --link util/run_stage.sh /usr/bin/run_stage\"\n\nfor addin in \"${ADDINS[@]}\"; do\n(\n    source addins/\"${addin}.sh\"\n    type ffbuild_dockeraddin &>/dev/null && ffbuild_dockeraddin || true\n)\ndone\n\nENTRYSCRIPT=\"$(ls -1d scripts.d/* | tail -n 1)\"\ndeclare -A FILLED_DEPS\nwhile true; do\n    CURDEPS=($(get_filled_deps \"$ENTRYSCRIPT\" | sort -u))\n    if [[ \"${CURDEPS[@]}\" == \"$ENTRYSCRIPT\" ]]; then\n        break\n    fi\n    for CURDEP in \"${CURDEPS[@]}\"; do\n        FILLED_DEPS[\"$CURDEP\"]=\"1\"\n\n        SCRIPT=\"$(resolvescript \"$CURDEP\")\"\n        (\n            SELF=\"$SCRIPT\"\n            source \"$SCRIPT\"\n            ffbuild_enabled || exit $?\n            to_df \"FROM ${BASELAYER} AS ${CURDEP}\"\n        ) || continue\n\n        for SUBDEP in $(get_stagedeps_recursive \"${CURDEP}\"); do\n            SCRIPT=\"$(resolvescript \"$SUBDEP\")\"\n            (\n                SELF=\"$SCRIPT\"\n                SELFLAYER=\"$SUBDEP\"\n                source \"$SCRIPT\"\n                ffbuild_enabled || exit 0\n                ffbuild_dockerlayer || exit $?\n            )\n        done\n\n        STAGE=\"$(resolvestage \"$CURDEP\")\"\n        if [[ -d \"$STAGE\" ]]; then\n            for STAGE in \"${STAGE}\"/??-*.sh; do\n                exec_dockerstage \"$STAGE\"\n            done\n        else\n            exec_dockerstage \"$STAGE\"\n        fi\n    done\ndone\n\nsource \"variants/${TARGET}-${VARIANT}.sh\"\n\nfor addin in ${ADDINS[*]}; do\n    source \"addins/${addin}.sh\"\ndone\n\nCOMBINELAYER=\"combine-layer\"\nto_df \"FROM ${BASELAYER} AS ${COMBINELAYER}\"\nfor SUBDEP in $(get_stagedeps_recursive \"${ENTRYSCRIPT}\"); do\n    STAGE=\"$(resolvestage \"$SUBDEP\")\"\n    [[ -d \"$STAGE\" ]] && SCRIPTS=(\"${STAGE}\"/??-*.sh) || SCRIPTS=(\"${STAGE}\")\n\n    SCRIPT=\"${SCRIPTS[-1]}\"\n    (\n        SELF=\"$SCRIPT\"\n        COMBINING=\"1\"\n        SELFLAYER=\"$SUBDEP\"\n        source \"$SCRIPT\"\n        ffbuild_enabled || exit 0\n        ffbuild_dockerlayer || exit $?\n        TODF=\"Dockerfile.final\" PREVLAYER=\"$COMBINELAYER\" \\\n            ffbuild_dockerfinal || exit $?\n    )\n\n    for SCRIPT in \"${SCRIPTS[@]}\"; do\n        FF_CONFIGURE+=\" $(get_output \"$SCRIPT\" configure)\"\n        FF_CFLAGS+=\" $(get_output \"$SCRIPT\" cflags)\"\n        FF_CXXFLAGS+=\" $(get_output \"$SCRIPT\" cxxflags)\"\n        FF_LDFLAGS+=\" $(get_output \"$SCRIPT\" ldflags)\"\n        FF_LDEXEFLAGS+=\" $(get_output \"$SCRIPT\" ldexeflags)\"\n        FF_LIBS+=\" $(get_output \"$SCRIPT\" libs)\"\n    done\ndone\n\nto_df \"FROM ${BASELAYER}\"\nsort -u < Dockerfile.final >> Dockerfile\nrm Dockerfile.final\n\nFF_CONFIGURE=\"$(xargs <<< \"$FF_CONFIGURE\")\"\nFF_CFLAGS=\"$(xargs <<< \"$FF_CFLAGS\")\"\nFF_CXXFLAGS=\"$(xargs <<< \"$FF_CXXFLAGS\")\"\nFF_LDFLAGS=\"$(xargs <<< \"$FF_LDFLAGS\")\"\nFF_LDEXEFLAGS=\"$(xargs <<< \"$FF_LDEXEFLAGS\")\"\nFF_LIBS=\"$(xargs <<< \"$FF_LIBS\")\"\n\nto_df \"ENV \\\\\"\nto_df \"    FF_CONFIGURE=\\\"$FF_CONFIGURE\\\" \\\\\"\nto_df \"    FF_CFLAGS=\\\"$FF_CFLAGS\\\" \\\\\"\nto_df \"    FF_CXXFLAGS=\\\"$FF_CXXFLAGS\\\" \\\\\"\nto_df \"    FF_LDFLAGS=\\\"$FF_LDFLAGS\\\" \\\\\"\nto_df \"    FF_LDEXEFLAGS=\\\"$FF_LDEXEFLAGS\\\" \\\\\"\nto_df \"    FF_LIBS=\\\"$FF_LIBS\\\"\"\n"
  },
  {
    "path": "images/base/Dockerfile",
    "content": "FROM ubuntu:25.10\n\nARG TARGETPLATFORM\n\nENV DEBIAN_FRONTEND=noninteractive\nRUN \\\n    apt-get -y update && \\\n    apt-get -y dist-upgrade && \\\n    apt-get -y install --no-install-recommends \\\n        $([ \"$TARGETPLATFORM\" != \"linux/amd64\" ] || echo gcc-multilib g++-multilib) \\\n        build-essential yasm nasm \\\n        xxd pkgconf curl wget unzip zip git subversion mercurial rsync jq \\\n        autoconf automake libtool libtool-bin autopoint gettext cmake meson ninja-build \\\n        clang llvm lcov lld qemu-user \\\n        texinfo texi2html help2man flex bison groff \\\n        gperf itstool ragel libc6-dev zlib1g-dev libssl-dev \\\n        gtk-doc-tools gobject-introspection gawk \\\n        ocaml ocaml-findlib ocamlbuild libnum-ocaml-dev indent p7zip-full zstd \\\n        python3-setuptools python3-pip python3-venv python3-jinja2 python3-jsonschema python3-apt python3-dev python-is-python3 && \\\n    curl -fsSL https://deb.nodesource.com/setup_24.x | bash - && \\\n    apt-get -y install nodejs && \\\n    apt-get -y autoremove && \\\n    apt-get -y clean autoclean && \\\n    rm -rf /var/lib/apt/lists/* && \\\n    git config --global user.email \"builder@localhost\" && \\\n    git config --global user.name \"Builder\" && \\\n    git config --global advice.detachedHead false\n\nENV CARGO_HOME=\"/opt/cargo\" RUSTUP_HOME=\"/opt/rustup\" PATH=\"/opt/cargo/bin:${PATH}\"\nRUN curl https://sh.rustup.rs -sSf | bash -s -- -y --no-modify-path && \\\n    cargo install cargo-c && rm -rf \"${CARGO_HOME}\"/registry \"${CARGO_HOME}\"/git\n\nRUN --mount=src=.,dst=/input \\\n    for s in /input/*.sh; do cp $s /usr/bin/$(echo $s | sed -e 's|.*/||' -e 's/\\.sh$//'); done\n\nENV HOST_CC=\"gcc\" \\\n    HOST_CXX=\"g++\" \\\n    HOST_CFLAGS=\"-O2 -pipe\" \\\n    HOST_CXXFLAGS=\"-O2 -pipe\"\n"
  },
  {
    "path": "images/base/check-wget.sh",
    "content": "#!/bin/bash\nset -xe\nFNAME=\"$1\"\nURL=\"$2\"\nSHA512=\"$3\"\nSHAFILE=\"${FNAME}.sha512\"\nwget -O \"${FNAME}\" \"${URL}\"\ntrap \"rm -f ${SHAFILE}\" EXIT\necho \"${SHA512}  ${FNAME}\" > \"${SHAFILE}\"\nsha512sum -c \"${SHAFILE}\"\n"
  },
  {
    "path": "images/base/git-mini-clone.sh",
    "content": "#!/bin/bash\nset -xe\nREPO=\"$1\"\nREF=\"$2\"\nDEST=\"$3\"\ngit init \"$DEST\"\ngit -C \"$DEST\" remote add origin \"$REPO\"\n\nretry-tool git -C \"$DEST\" fetch --depth=1 origin \"$REF\"\n\ngit -C \"$DEST\" config advice.detachedHead false\ngit -C \"$DEST\" checkout FETCH_HEAD\n"
  },
  {
    "path": "images/base/retry-tool.sh",
    "content": "#!/bin/bash\nset -xe -o pipefail\n\nRETRY_COUNTER=0\nMAX_RETRY=10\nCUR_TIMEOUT=120\nwhile [[ $RETRY_COUNTER -lt $MAX_RETRY ]]; do\n    (timeout $CUR_TIMEOUT \"$@\") && break || sleep $(shuf -i 5-90 -n 1)\n    RETRY_COUNTER=$(( $RETRY_COUNTER + 1 ))\n    CUR_TIMEOUT=$(( $CUR_TIMEOUT + 60 ))\n    echo \"Retry $RETRY_COUNTER...\"\ndone\nif [[ $RETRY_COUNTER -ge $MAX_RETRY ]]; then\n    echo \"Max retry count exceeded.\"\n    exit 1\nfi\n"
  },
  {
    "path": "images/base-linux32/Dockerfile",
    "content": "ARG GH_REPO=ghcr.io/fwgs/ffmpeg-builds\nFROM $GH_REPO/base:latest\n\nRUN --mount=src=ct-ng-config,dst=/.config \\\n    git clone --filter=blob:none https://github.com/crosstool-ng/crosstool-ng.git /ct-ng && cd /ct-ng && \\\n    ./bootstrap && \\\n    ./configure --enable-local && \\\n    make -j$(nproc) && \\\n    cp /.config .config && \\\n    ./ct-ng build && \\\n    cd / && \\\n    rm -rf ct-ng\n\n# Prepare \"cross\" environment to heavily favour static builds\nRUN \\\n    find /opt/ct-ng \\( -type l \\\n        -and -name '*.so' \\\n        -and -not -ipath '*plugin*' \\\n        -and -not -name 'libdl.*' \\\n        -and -not -name 'libc.*' \\\n        -and -not -name 'libm.*' \\\n        -and -not -name 'libmvec.*' \\\n        -and -not -name 'librt.*' \\\n        -and -not -name 'libpthread.*' \\\n        \\) -delete && \\\n    find /opt/ct-ng \\( \\\n        -name 'libdl.a' \\\n        -or -name 'libc.a' \\\n        -or -name 'libm.a' \\\n        -or -name 'libmvec.a' \\\n        -or -name 'librt.a' \\\n        -or -name 'libpthread.a' \\\n        \\) -delete && \\\n    mkdir /opt/ffbuild\n\nENV FFBUILD_TOOLCHAIN=i686-ffbuild-linux-gnu \\\n    FFBUILD_RUST_TARGET=\"i686-unknown-linux-gnu\"\n\n#RUN \\\n#    rustup default nightly && \\\n#    echo \"[unstable]\\ntarget-applies-to-host = true\\nhost-config = true\\n\" > \"$CARGO_HOME\"/config.toml && \\\n#    echo \"[target.$FFBUILD_RUST_TARGET]\\nlinker = \\\"${FFBUILD_TOOLCHAIN}-gcc\\\"\\nar = \\\"${FFBUILD_TOOLCHAIN}-gcc-ar\\\"\\n\" >> \"$CARGO_HOME\"/config.toml && \\\n#    echo \"[target.host]\\nlinker = \\\"gcc\\\"\\nar = \\\"ar\\\"\\n\" >> \"$CARGO_HOME\"/config.toml\n\nADD toolchain.cmake /toolchain.cmake\nADD cross.meson /cross.meson\n\nADD gen-implib.sh /usr/bin/gen-implib\nRUN git clone --filter=blob:none --depth=1 https://github.com/yugr/Implib.so /opt/implib\n\nENV PATH=\"/opt/ct-ng/bin:${PATH}\" \\\n    FFBUILD_TARGET_FLAGS=\"--pkg-config=pkg-config --cross-prefix=${FFBUILD_TOOLCHAIN}- --arch=i686 --target-os=linux\" \\\n    FFBUILD_CROSS_PREFIX=\"${FFBUILD_TOOLCHAIN}-\" \\\n    FFBUILD_PREFIX=/opt/ffbuild \\\n    FFBUILD_DESTDIR=/opt/ffdest \\\n    FFBUILD_DESTPREFIX=/opt/ffdest/opt/ffbuild \\\n    FFBUILD_CMAKE_TOOLCHAIN=/toolchain.cmake \\\n    PKG_CONFIG=pkg-config \\\n    PKG_CONFIG_LIBDIR=/opt/ffbuild/lib/pkgconfig:/opt/ffbuild/share/pkgconfig \\\n    CC=\"${FFBUILD_TOOLCHAIN}-gcc\" \\\n    CXX=\"${FFBUILD_TOOLCHAIN}-g++\" \\\n    LD=\"${FFBUILD_TOOLCHAIN}-ld\" \\\n    AR=\"${FFBUILD_TOOLCHAIN}-gcc-ar\" \\\n    RANLIB=\"${FFBUILD_TOOLCHAIN}-gcc-ranlib\" \\\n    NM=\"${FFBUILD_TOOLCHAIN}-gcc-nm\" \\\n    CFLAGS=\"-static-libgcc -static-libstdc++ -I/opt/ffbuild/include -O2 -pipe -fPIC -DPIC -D_FORTIFY_SOURCE=2 -fstack-protector-strong -fstack-clash-protection -pthread\" \\\n    CXXFLAGS=\"-static-libgcc -static-libstdc++ -I/opt/ffbuild/include -O2 -pipe -fPIC -DPIC -D_FORTIFY_SOURCE=2 -fstack-protector-strong -fstack-clash-protection -pthread\" \\\n    LDFLAGS=\"-static-libgcc -static-libstdc++ -L/opt/ffbuild/lib -O2 -pipe -fstack-protector-strong -fstack-clash-protection -Wl,-z,relro,-z,now -pthread -lm\" \\\n    STAGE_CFLAGS=\"-fvisibility=hidden -fno-semantic-interposition\" \\\n    STAGE_CXXFLAGS=\"-fvisibility=hidden -fno-semantic-interposition\"\n"
  },
  {
    "path": "images/base-linux32/cross.meson",
    "content": "[binaries]\nc = 'i686-ffbuild-linux-gnu-gcc'\ncpp = 'i686-ffbuild-linux-gnu-g++'\nld = 'i686-ffbuild-linux-gnu-ld'\nar = 'i686-ffbuild-linux-gnu-gcc-ar'\nranlib = 'i686-ffbuild-linux-gnu-gcc-ranlib'\nstrip = 'i686-ffbuild-linux-gnu-strip'\n\n[host_machine]\nsystem = 'linux'\ncpu_family = 'x86'\ncpu = 'i686'\nendian = 'little'\n"
  },
  {
    "path": "images/base-linux32/ct-ng-config",
    "content": "#\n# Automatically generated file; DO NOT EDIT.\n# crosstool-NG 1.28.0.23_185f348 Configuration\n#\nCT_CONFIGURE_has_static_link=y\nCT_CONFIGURE_has_cxx11=y\nCT_CONFIGURE_has_wget=y\nCT_CONFIGURE_has_curl=y\nCT_CONFIGURE_has_meson=y\nCT_CONFIGURE_has_ninja=y\nCT_CONFIGURE_has_make_3_81_or_newer=y\nCT_CONFIGURE_has_make_4_0_or_newer=y\nCT_CONFIGURE_has_make_4_4_or_newer=y\nCT_CONFIGURE_has_libtool_2_4_or_newer=y\nCT_CONFIGURE_has_libtoolize_2_4_or_newer=y\nCT_CONFIGURE_has_autoconf_2_65_or_newer=y\nCT_CONFIGURE_has_autoreconf_2_65_or_newer=y\nCT_CONFIGURE_has_automake_1_15_or_newer=y\nCT_CONFIGURE_has_gnu_m4_1_4_12_or_newer=y\nCT_CONFIGURE_has_python_3_4_or_newer=y\nCT_CONFIGURE_has_bison_2_7_or_newer=y\nCT_CONFIGURE_has_bison_3_0_4_or_newer=y\nCT_CONFIGURE_has_python=y\nCT_CONFIGURE_has_dtc=y\nCT_CONFIGURE_has_svn=y\nCT_CONFIGURE_has_git=y\nCT_CONFIGURE_has_md5sum=y\nCT_CONFIGURE_has_sha1sum=y\nCT_CONFIGURE_has_sha256sum=y\nCT_CONFIGURE_has_sha512sum=y\nCT_CONFIGURE_has_install_with_strip_program=y\nCT_VERSION=\"1.28.0.23_185f348\"\nCT_VCHECK=\"\"\nCT_CONFIG_VERSION_ENV=\"4\"\nCT_CONFIG_VERSION_CURRENT=\"4\"\nCT_CONFIG_VERSION=\"4\"\nCT_MODULES=y\n\n#\n# Paths and misc options\n#\n\n#\n# crosstool-NG behavior\n#\nCT_OBSOLETE=y\nCT_EXPERIMENTAL=y\nCT_ALLOW_BUILD_AS_ROOT=y\nCT_ALLOW_BUILD_AS_ROOT_SURE=y\n# CT_ENABLE_EXPERIMENTAL_BUNDLED_PATCHES is not set\n# CT_DEBUG_CT is not set\n\n#\n# Paths\n#\nCT_LOCAL_TARBALLS_DIR=\"${HOME}/src\"\n# CT_SAVE_TARBALLS is not set\n# CT_TARBALLS_BUILDROOT_LAYOUT is not set\nCT_WORK_DIR=\"${CT_TOP_DIR}/build\"\nCT_BUILD_TOP_DIR=\"${CT_WORK_DIR:-${CT_TOP_DIR}/.build}/${CT_HOST:+HOST-${CT_HOST}/}${CT_TARGET}\"\nCT_BUILD_DIR=\"${CT_BUILD_TOP_DIR}/build\"\nCT_PREFIX_DIR=\"/opt/ct-ng\"\nCT_RM_RF_PREFIX_DIR=y\nCT_REMOVE_DOCS=y\n# CT_INSTALL_LICENSES is not set\n# CT_PREFIX_DIR_RO is not set\nCT_STRIP_HOST_TOOLCHAIN_EXECUTABLES=y\nCT_STRIP_TARGET_TOOLCHAIN_EXECUTABLES=y\n# CT_TARBALL_RESULT is not set\n\n#\n# Downloading\n#\nCT_DOWNLOAD_AGENT_WGET=y\n# CT_DOWNLOAD_AGENT_CURL is not set\n# CT_DOWNLOAD_AGENT_NONE is not set\n# CT_FORBID_DOWNLOAD is not set\n# CT_FORCE_DOWNLOAD is not set\nCT_CONNECT_TIMEOUT=10\nCT_DOWNLOAD_WGET_OPTIONS=\"--passive-ftp --tries=3 -nc --progress=dot:binary\"\n# CT_ONLY_DOWNLOAD is not set\n# CT_USE_MIRROR is not set\nCT_VERIFY_DOWNLOAD_DIGEST=y\nCT_VERIFY_DOWNLOAD_DIGEST_SHA512=y\n# CT_VERIFY_DOWNLOAD_DIGEST_SHA256 is not set\n# CT_VERIFY_DOWNLOAD_DIGEST_SHA1 is not set\n# CT_VERIFY_DOWNLOAD_DIGEST_MD5 is not set\nCT_VERIFY_DOWNLOAD_DIGEST_ALG=\"sha512\"\n# CT_VERIFY_DOWNLOAD_SIGNATURE is not set\n\n#\n# Extracting\n#\n# CT_FORCE_EXTRACT is not set\nCT_OVERRIDE_CONFIG_GUESS_SUB=y\n# CT_ONLY_EXTRACT is not set\nCT_PATCH_BUNDLED=y\n# CT_PATCH_LOCAL is not set\n# CT_PATCH_BUNDLED_LOCAL is not set\n# CT_PATCH_LOCAL_BUNDLED is not set\n# CT_PATCH_NONE is not set\nCT_PATCH_ORDER=\"bundled\"\n\n#\n# Build behavior\n#\nCT_PARALLEL_JOBS=0\nCT_LOAD=\"\"\nCT_USE_PIPES=y\nCT_EXTRA_CFLAGS_FOR_BUILD=\"-fPIC -DPIC\"\nCT_EXTRA_CXXFLAGS_FOR_BUILD=\"-fPIC -DPIC\"\nCT_EXTRA_LDFLAGS_FOR_BUILD=\"\"\nCT_EXTRA_CFLAGS_FOR_HOST=\"-fPIC -DPIC\"\nCT_EXTRA_LDFLAGS_FOR_HOST=\"\"\n# CT_CONFIG_SHELL_SH is not set\n# CT_CONFIG_SHELL_ASH is not set\nCT_CONFIG_SHELL_BASH=y\n# CT_CONFIG_SHELL_CUSTOM is not set\nCT_CONFIG_SHELL=\"${bash}\"\n\n#\n# Logging\n#\n# CT_LOG_ERROR is not set\n# CT_LOG_WARN is not set\n# CT_LOG_INFO is not set\n# CT_LOG_EXTRA is not set\n# CT_LOG_ALL is not set\nCT_LOG_DEBUG=y\nCT_LOG_LEVEL_MAX=\"DEBUG\"\n# CT_LOG_SEE_TOOLS_WARN is not set\n# CT_LOG_TO_FILE is not set\n# end of Paths and misc options\n\n#\n# Target options\n#\n# CT_ARCH_ALPHA is not set\n# CT_ARCH_ARC is not set\n# CT_ARCH_ARM is not set\n# CT_ARCH_AVR is not set\n# CT_ARCH_BPF is not set\n# CT_ARCH_C6X is not set\n# CT_ARCH_LM32 is not set\n# CT_ARCH_LOONGARCH is not set\n# CT_ARCH_M68K is not set\n# CT_ARCH_MICROBLAZE is not set\n# CT_ARCH_MIPS is not set\n# CT_ARCH_MOXIE is not set\n# CT_ARCH_MSP430 is not set\n# CT_ARCH_NIOS2 is not set\n# CT_ARCH_OPENRISC is not set\n# CT_ARCH_PARISC is not set\n# CT_ARCH_POWERPC is not set\n# CT_ARCH_PRU is not set\n# CT_ARCH_RISCV is not set\n# CT_ARCH_RX is not set\n# CT_ARCH_S390 is not set\n# CT_ARCH_SH is not set\n# CT_ARCH_SPARC is not set\n# CT_ARCH_TRICORE is not set\nCT_ARCH_X86=y\n# CT_ARCH_XTENSA is not set\nCT_ARCH=\"x86\"\nCT_ARCH_CHOICE_KSYM=\"X86\"\nCT_ARCH_CPU=\"\"\nCT_ARCH_TUNE=\"core2\"\nCT_ARCH_X86_SHOW=y\n\n#\n# Options for x86\n#\nCT_ARCH_X86_PKG_KSYM=\"\"\nCT_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\"\nCT_ARCH_SUFFIX=\"\"\n# CT_OMIT_TARGET_VENDOR is not set\n\n#\n# Generic target options\n#\n# CT_MULTILIB is not set\nCT_DEMULTILIB=y\nCT_ARCH_USE_MMU=y\nCT_ARCH_SUPPORTS_LIBSANITIZER=y\nCT_ARCH_SUPPORTS_32=y\nCT_ARCH_SUPPORTS_64=y\nCT_ARCH_DEFAULT_32=y\nCT_ARCH_BITNESS=32\nCT_ARCH_32=y\n# CT_ARCH_64 is not set\nCT_ARCH_SUPPORTS_WITH_32_64=y\n\n#\n# Target optimisations\n#\nCT_ARCH_SUPPORTS_WITH_ARCH=y\nCT_ARCH_SUPPORTS_WITH_CPU=y\nCT_ARCH_SUPPORTS_WITH_TUNE=y\nCT_ARCH_ARCH=\"pentium-m\"\nCT_TARGET_CFLAGS=\"-fPIC -DPIC\"\nCT_TARGET_LDFLAGS=\"\"\n# end of Target options\n\n#\n# Toolchain options\n#\n\n#\n# General toolchain options\n#\nCT_USE_SYSROOT=y\nCT_SYSROOT_NAME=\"sysroot\"\nCT_SYSROOT_DIR_PREFIX=\"\"\n# CT_STATIC_TOOLCHAIN is not set\nCT_SHOW_CT_VERSION=y\nCT_TOOLCHAIN_PKGVERSION=\"\"\nCT_TOOLCHAIN_BUGURL=\"\"\n\n#\n# Tuple completion and aliasing\n#\nCT_TARGET_VENDOR=\"ffbuild\"\nCT_TARGET_ALIAS_SED_EXPR=\"\"\nCT_TARGET_ALIAS=\"\"\n\n#\n# Toolchain type\n#\n# CT_NATIVE is not set\nCT_CROSS=y\n# CT_CROSS_NATIVE is not set\n# CT_CANADIAN is not set\nCT_TOOLCHAIN_TYPE=\"cross\"\n\n#\n# Build system\n#\nCT_BUILD=\"\"\nCT_BUILD_PREFIX=\"\"\nCT_BUILD_SUFFIX=\"\"\n\n#\n# Misc options\n#\n# CT_TOOLCHAIN_ENABLE_NLS is not set\nCT_TOOLCHAIN_CMAKE_TOOLCHAIN_FILE=y\n# end of Toolchain options\n\n#\n# Operating System\n#\nCT_KERNEL_SUPPORTS_SHARED_LIBS=y\n# CT_KERNEL_BARE_METAL is not set\nCT_KERNEL_LINUX=y\n# CT_KERNEL_WINDOWS is not set\nCT_KERNEL=\"linux\"\nCT_KERNEL_CHOICE_KSYM=\"LINUX\"\nCT_KERNEL_LINUX_SHOW=y\n\n#\n# Options for linux\n#\nCT_KERNEL_LINUX_PKG_KSYM=\"LINUX\"\nCT_LINUX_DIR_NAME=\"linux\"\nCT_LINUX_PKG_NAME=\"linux\"\nCT_LINUX_SRC_RELEASE=y\n# CT_LINUX_SRC_DEVEL is not set\n# CT_LINUX_SRC_CUSTOM is not set\nCT_LINUX_PATCH_GLOBAL=y\n# CT_LINUX_PATCH_BUNDLED is not set\n# CT_LINUX_PATCH_LOCAL is not set\n# CT_LINUX_PATCH_BUNDLED_LOCAL is not set\n# CT_LINUX_PATCH_LOCAL_BUNDLED is not set\n# CT_LINUX_PATCH_NONE is not set\nCT_LINUX_PATCH_ORDER=\"global\"\n# CT_LINUX_V_6_18 is not set\n# CT_LINUX_V_6_17 is not set\n# CT_LINUX_V_6_16 is not set\n# CT_LINUX_V_6_15 is not set\n# CT_LINUX_V_6_14 is not set\n# CT_LINUX_V_6_13 is not set\n# CT_LINUX_V_6_12 is not set\n# CT_LINUX_V_6_11 is not set\n# CT_LINUX_V_6_10 is not set\n# CT_LINUX_V_6_9 is not set\n# CT_LINUX_V_6_8 is not set\n# CT_LINUX_V_6_7 is not set\n# CT_LINUX_V_6_6 is not set\n# CT_LINUX_V_6_5 is not set\n# CT_LINUX_V_6_4 is not set\n# CT_LINUX_V_6_3 is not set\n# CT_LINUX_V_6_2 is not set\n# CT_LINUX_V_6_1 is not set\n# CT_LINUX_V_6_0 is not set\n# CT_LINUX_V_5_19 is not set\n# CT_LINUX_V_5_18 is not set\n# CT_LINUX_V_5_17 is not set\n# CT_LINUX_V_5_16 is not set\n# CT_LINUX_V_5_15 is not set\n# CT_LINUX_V_5_14 is not set\n# CT_LINUX_V_5_13 is not set\n# CT_LINUX_V_5_12 is not set\n# CT_LINUX_V_5_11 is not set\n# CT_LINUX_V_5_10 is not set\n# CT_LINUX_V_5_9 is not set\n# CT_LINUX_V_5_8 is not set\n# CT_LINUX_V_5_7 is not set\n# CT_LINUX_V_5_5 is not set\n# CT_LINUX_V_5_4 is not set\n# CT_LINUX_V_5_3 is not set\n# CT_LINUX_V_5_2 is not set\n# CT_LINUX_V_5_1 is not set\n# CT_LINUX_V_5_0 is not set\n# CT_LINUX_V_4_20 is not set\n# CT_LINUX_V_4_19 is not set\nCT_LINUX_V_4_18=y\n# CT_LINUX_V_4_17 is not set\n# CT_LINUX_V_4_16 is not set\n# CT_LINUX_V_4_15 is not set\n# CT_LINUX_V_4_14 is not set\n# CT_LINUX_V_4_13 is not set\n# CT_LINUX_V_4_12 is not set\n# CT_LINUX_V_4_11 is not set\n# CT_LINUX_V_4_10 is not set\n# CT_LINUX_V_4_9 is not set\n# CT_LINUX_V_4_4 is not set\n# CT_LINUX_V_4_1 is not set\n# CT_LINUX_V_3_18 is not set\n# CT_LINUX_V_3_16 is not set\n# CT_LINUX_V_3_13 is not set\n# CT_LINUX_V_3_12 is not set\n# CT_LINUX_V_3_10 is not set\n# CT_LINUX_V_3_4 is not set\n# CT_LINUX_V_3_2 is not set\nCT_LINUX_VERSION=\"4.18.20\"\nCT_LINUX_MIRRORS=\"$(CT_Mirrors kernel.org linux ${CT_LINUX_VERSION})\"\nCT_LINUX_ARCHIVE_FILENAME=\"@{pkg_name}-@{version}\"\nCT_LINUX_ARCHIVE_DIRNAME=\"@{pkg_name}-@{version}\"\nCT_LINUX_ARCHIVE_FORMATS=\".tar.xz .tar.gz\"\nCT_LINUX_SIGNATURE_FORMAT=\"unpacked/.sign\"\nCT_LINUX_5_19_or_older=y\nCT_LINUX_older_than_5_19=y\nCT_LINUX_5_12_or_older=y\nCT_LINUX_older_than_5_12=y\nCT_LINUX_5_5_or_older=y\nCT_LINUX_older_than_5_5=y\nCT_LINUX_5_3_or_older=y\nCT_LINUX_older_than_5_3=y\nCT_LINUX_later_than_4_8=y\nCT_LINUX_4_8_or_later=y\nCT_LINUX_later_than_3_7=y\nCT_LINUX_3_7_or_later=y\nCT_LINUX_later_than_3_2=y\nCT_LINUX_3_2_or_later=y\nCT_LINUX_REQUIRE_3_2_or_later=y\nCT_KERNEL_has_rsync=y\nCT_KERNEL_DEP_RSYNC=y\nCT_KERNEL_LINUX_VERBOSITY_0=y\n# CT_KERNEL_LINUX_VERBOSITY_1 is not set\n# CT_KERNEL_LINUX_VERBOSITY_2 is not set\nCT_KERNEL_LINUX_VERBOSE_LEVEL=0\n# CT_KERNEL_LINUX_INSTALL_CHECK is not set\nCT_ALL_KERNEL_CHOICES=\"BARE_METAL LINUX WINDOWS\"\n\n#\n# Common kernel options\n#\nCT_SHARED_LIBS=y\n# end of Operating System\n\n#\n# Binary utilities\n#\nCT_ARCH_BINFMT_ELF=y\nCT_BINUTILS_BINUTILS=y\nCT_BINUTILS=\"binutils\"\nCT_BINUTILS_CHOICE_KSYM=\"BINUTILS\"\nCT_BINUTILS_BINUTILS_SHOW=y\n\n#\n# Options for binutils\n#\nCT_BINUTILS_BINUTILS_PKG_KSYM=\"BINUTILS\"\nCT_BINUTILS_DIR_NAME=\"binutils\"\nCT_BINUTILS_USE_GNU=y\n# CT_BINUTILS_USE_LINARO is not set\n# CT_BINUTILS_USE_ORACLE is not set\nCT_BINUTILS_USE=\"BINUTILS\"\nCT_BINUTILS_PKG_NAME=\"binutils\"\nCT_BINUTILS_SRC_RELEASE=y\n# CT_BINUTILS_SRC_DEVEL is not set\n# CT_BINUTILS_SRC_CUSTOM is not set\nCT_BINUTILS_PATCH_GLOBAL=y\n# CT_BINUTILS_PATCH_BUNDLED is not set\n# CT_BINUTILS_PATCH_LOCAL is not set\n# CT_BINUTILS_PATCH_BUNDLED_LOCAL is not set\n# CT_BINUTILS_PATCH_LOCAL_BUNDLED is not set\n# CT_BINUTILS_PATCH_NONE is not set\nCT_BINUTILS_PATCH_ORDER=\"global\"\nCT_BINUTILS_V_2_46=y\n# CT_BINUTILS_V_2_45 is not set\n# CT_BINUTILS_V_2_44 is not set\n# CT_BINUTILS_V_2_43 is not set\n# CT_BINUTILS_V_2_42 is not set\n# CT_BINUTILS_V_2_41 is not set\n# CT_BINUTILS_V_2_40 is not set\n# CT_BINUTILS_V_2_39 is not set\n# CT_BINUTILS_V_2_38 is not set\n# CT_BINUTILS_V_2_37 is not set\n# CT_BINUTILS_V_2_36 is not set\n# CT_BINUTILS_V_2_35 is not set\n# CT_BINUTILS_V_2_34 is not set\n# CT_BINUTILS_V_2_33 is not set\n# CT_BINUTILS_V_2_32 is not set\n# CT_BINUTILS_V_2_31 is not set\n# CT_BINUTILS_V_2_30 is not set\n# CT_BINUTILS_V_2_29 is not set\n# CT_BINUTILS_V_2_28 is not set\n# CT_BINUTILS_V_2_27 is not set\n# CT_BINUTILS_V_2_26 is not set\nCT_BINUTILS_VERSION=\"2.46.0\"\nCT_BINUTILS_MIRRORS=\"$(CT_Mirrors GNU binutils) $(CT_Mirrors sourceware binutils/releases)\"\nCT_BINUTILS_ARCHIVE_FILENAME=\"@{pkg_name}-@{version}\"\nCT_BINUTILS_ARCHIVE_DIRNAME=\"@{pkg_name}-@{version}\"\nCT_BINUTILS_ARCHIVE_FORMATS=\".tar.xz .tar.bz2 .tar.gz\"\nCT_BINUTILS_SIGNATURE_FORMAT=\"packed/.sig\"\nCT_BINUTILS_2_46_0_or_later=y\nCT_BINUTILS_2_46_0_or_older=y\nCT_BINUTILS_later_than_2_45=y\nCT_BINUTILS_2_45_or_later=y\nCT_BINUTILS_later_than_2_44=y\nCT_BINUTILS_2_44_or_later=y\nCT_BINUTILS_later_than_2_41=y\nCT_BINUTILS_2_41_or_later=y\nCT_BINUTILS_later_than_2_39=y\nCT_BINUTILS_2_39_or_later=y\nCT_BINUTILS_later_than_2_30=y\nCT_BINUTILS_2_30_or_later=y\nCT_BINUTILS_later_than_2_27=y\nCT_BINUTILS_2_27_or_later=y\nCT_BINUTILS_later_than_2_26=y\nCT_BINUTILS_2_26_or_later=y\n\n#\n# GNU binutils\n#\nCT_BINUTILS_GOLD_SUPPORTS_ARCH=y\nCT_BINUTILS_FORCE_LD_BFD_DEFAULT=y\nCT_BINUTILS_LINKER_LD=y\nCT_BINUTILS_LINKERS_LIST=\"ld\"\nCT_BINUTILS_LINKER_DEFAULT=\"bfd\"\nCT_BINUTILS_PLUGINS=y\nCT_BINUTILS_RELRO=m\nCT_BINUTILS_DETERMINISTIC_ARCHIVES=y\nCT_BINUTILS_EXTRA_CONFIG_ARRAY=\"\"\n# CT_BINUTILS_FOR_TARGET is not set\n# CT_BINUTILS_GPROFNG is not set\nCT_ALL_BINUTILS_CHOICES=\"BINUTILS\"\n# end of Binary utilities\n\n#\n# C-library\n#\nCT_LIBC_GLIBC=y\n# CT_LIBC_MUSL is not set\n# CT_LIBC_UCLIBC_NG is not set\nCT_LIBC=\"glibc\"\nCT_LIBC_CHOICE_KSYM=\"GLIBC\"\nCT_LIBC_GLIBC_SHOW=y\n\n#\n# Options for glibc\n#\nCT_LIBC_GLIBC_PKG_KSYM=\"GLIBC\"\nCT_GLIBC_DIR_NAME=\"glibc\"\nCT_GLIBC_USE_GNU=y\n# CT_GLIBC_USE_ORACLE is not set\nCT_GLIBC_USE=\"GLIBC\"\nCT_GLIBC_PKG_NAME=\"glibc\"\nCT_GLIBC_SRC_RELEASE=y\n# CT_GLIBC_SRC_DEVEL is not set\n# CT_GLIBC_SRC_CUSTOM is not set\nCT_GLIBC_PATCH_GLOBAL=y\n# CT_GLIBC_PATCH_BUNDLED is not set\n# CT_GLIBC_PATCH_LOCAL is not set\n# CT_GLIBC_PATCH_BUNDLED_LOCAL is not set\n# CT_GLIBC_PATCH_LOCAL_BUNDLED is not set\n# CT_GLIBC_PATCH_NONE is not set\nCT_GLIBC_PATCH_ORDER=\"global\"\n# CT_GLIBC_V_2_43 is not set\n# CT_GLIBC_V_2_42 is not set\n# CT_GLIBC_V_2_41 is not set\n# CT_GLIBC_V_2_40 is not set\n# CT_GLIBC_V_2_39 is not set\n# CT_GLIBC_V_2_38 is not set\n# CT_GLIBC_V_2_37 is not set\n# CT_GLIBC_V_2_36 is not set\n# CT_GLIBC_V_2_35 is not set\n# CT_GLIBC_V_2_34 is not set\n# CT_GLIBC_V_2_33 is not set\n# CT_GLIBC_V_2_32 is not set\n# CT_GLIBC_V_2_31 is not set\n# CT_GLIBC_V_2_30 is not set\n# CT_GLIBC_V_2_29 is not set\nCT_GLIBC_V_2_28=y\n# CT_GLIBC_V_2_27 is not set\n# CT_GLIBC_V_2_26 is not set\n# CT_GLIBC_V_2_25 is not set\n# CT_GLIBC_V_2_24 is not set\n# CT_GLIBC_V_2_23 is not set\n# CT_GLIBC_V_2_19 is not set\n# CT_GLIBC_V_2_17 is not set\nCT_GLIBC_VERSION=\"2.28\"\nCT_GLIBC_MIRRORS=\"$(CT_Mirrors GNU glibc)\"\nCT_GLIBC_ARCHIVE_FILENAME=\"@{pkg_name}-@{version}\"\nCT_GLIBC_ARCHIVE_DIRNAME=\"@{pkg_name}-@{version}\"\nCT_GLIBC_ARCHIVE_FORMATS=\".tar.xz .tar.bz2 .tar.gz\"\nCT_GLIBC_SIGNATURE_FORMAT=\"packed/.sig\"\nCT_GLIBC_2_43_or_older=y\nCT_GLIBC_older_than_2_43=y\nCT_GLIBC_2_42_or_older=y\nCT_GLIBC_older_than_2_42=y\nCT_GLIBC_2_41_or_older=y\nCT_GLIBC_older_than_2_41=y\nCT_GLIBC_2_38_or_older=y\nCT_GLIBC_older_than_2_38=y\nCT_GLIBC_2_37_or_older=y\nCT_GLIBC_older_than_2_37=y\nCT_GLIBC_2_36_or_older=y\nCT_GLIBC_older_than_2_36=y\nCT_GLIBC_2_34_or_older=y\nCT_GLIBC_older_than_2_34=y\nCT_GLIBC_2_32_or_older=y\nCT_GLIBC_older_than_2_32=y\nCT_GLIBC_2_31_or_older=y\nCT_GLIBC_older_than_2_31=y\nCT_GLIBC_2_30_or_older=y\nCT_GLIBC_older_than_2_30=y\nCT_GLIBC_2_29_or_older=y\nCT_GLIBC_older_than_2_29=y\nCT_GLIBC_2_28_or_later=y\nCT_GLIBC_2_28_or_older=y\nCT_GLIBC_later_than_2_27=y\nCT_GLIBC_2_27_or_later=y\nCT_GLIBC_later_than_2_26=y\nCT_GLIBC_2_26_or_later=y\nCT_GLIBC_later_than_2_25=y\nCT_GLIBC_2_25_or_later=y\nCT_GLIBC_later_than_2_24=y\nCT_GLIBC_2_24_or_later=y\nCT_GLIBC_later_than_2_23=y\nCT_GLIBC_2_23_or_later=y\nCT_GLIBC_later_than_2_20=y\nCT_GLIBC_2_20_or_later=y\nCT_GLIBC_later_than_2_17=y\nCT_GLIBC_2_17_or_later=y\nCT_GLIBC_later_than_2_14=y\nCT_GLIBC_2_14_or_later=y\nCT_GLIBC_DEP_KERNEL_HEADERS_VERSION=y\nCT_GLIBC_DEP_BINUTILS=y\nCT_GLIBC_DEP_GCC=y\nCT_GLIBC_DEP_PYTHON=y\nCT_GLIBC_DEP_MAKE_4_3=y\nCT_GLIBC_SPARC_ALLOW_V7=y\nCT_THREADS=\"nptl\"\nCT_GLIBC_BUILD_SSP=y\nCT_GLIBC_HAS_LIBIDN_ADDON=y\n# CT_GLIBC_USE_LIBIDN_ADDON is not set\nCT_GLIBC_NO_SPARC_V8=y\nCT_GLIBC_HAS_OBSOLETE_RPC=y\nCT_GLIBC_EXTRA_CONFIG_ARRAY=\"--with-pic\"\nCT_GLIBC_CONFIGPARMS=\"\"\n# CT_GLIBC_ENABLE_DEBUG is not set\nCT_GLIBC_EXTRA_CFLAGS=\"-fPIC -DPIC -no-pie\"\nCT_GLIBC_ENABLE_OBSOLETE_RPC=y\n# CT_GLIBC_ENABLE_FORTIFIED_BUILD is not set\n# CT_GLIBC_DISABLE_VERSIONING is not set\nCT_GLIBC_OLDEST_ABI=\"\"\nCT_GLIBC_FORCE_UNWIND=y\n# CT_GLIBC_LOCALES is not set\n# CT_GLIBC_KERNEL_VERSION_NONE is not set\nCT_GLIBC_KERNEL_VERSION_AS_HEADERS=y\n# CT_GLIBC_KERNEL_VERSION_CHOSEN is not set\nCT_GLIBC_MIN_KERNEL=\"4.18.20\"\n# CT_GLIBC_SSP_DEFAULT is not set\n# CT_GLIBC_SSP_NO is not set\n# CT_GLIBC_SSP_YES is not set\n# CT_GLIBC_SSP_ALL is not set\nCT_GLIBC_SSP_STRONG=y\nCT_GLIBC_SSP=\"strong\"\nCT_GLIBC_ENABLE_COMMON_FLAG=y\nCT_ALL_LIBC_CHOICES=\"AVR_LIBC GLIBC MINGW_W64 MOXIEBOX MUSL NEWLIB NONE PICOLIBC UCLIBC_NG\"\nCT_LIBC_SUPPORT_THREADS_ANY=y\nCT_LIBC_SUPPORT_THREADS_NATIVE=y\n\n#\n# Common C library options\n#\nCT_THREADS_NATIVE=y\n# CT_CREATE_LDSO_CONF is not set\nCT_LIBC_XLDD=y\n# end of C-library\n\n#\n# C compiler\n#\nCT_CC_CORE_NEEDED=y\nCT_CC_SUPPORT_CXX=y\nCT_CC_SUPPORT_FORTRAN=y\nCT_CC_SUPPORT_ADA=y\nCT_CC_SUPPORT_D=y\nCT_CC_SUPPORT_JIT=y\nCT_CC_SUPPORT_OBJC=y\nCT_CC_SUPPORT_OBJCXX=y\nCT_CC_SUPPORT_GOLANG=y\nCT_CC_GCC=y\nCT_CC=\"gcc\"\nCT_CC_CHOICE_KSYM=\"GCC\"\nCT_CC_GCC_SHOW=y\n\n#\n# Options for gcc\n#\nCT_CC_GCC_PKG_KSYM=\"GCC\"\nCT_GCC_DIR_NAME=\"gcc\"\nCT_GCC_USE_GNU=y\n# CT_GCC_USE_LINARO is not set\n# CT_GCC_USE_ORACLE is not set\nCT_GCC_USE=\"GCC\"\nCT_GCC_PKG_NAME=\"gcc\"\nCT_GCC_SRC_RELEASE=y\n# CT_GCC_SRC_DEVEL is not set\n# CT_GCC_SRC_CUSTOM is not set\nCT_GCC_PATCH_GLOBAL=y\n# CT_GCC_PATCH_BUNDLED is not set\n# CT_GCC_PATCH_LOCAL is not set\n# CT_GCC_PATCH_BUNDLED_LOCAL is not set\n# CT_GCC_PATCH_LOCAL_BUNDLED is not set\n# CT_GCC_PATCH_NONE is not set\nCT_GCC_PATCH_ORDER=\"global\"\nCT_GCC_V_15=y\n# CT_GCC_V_14 is not set\n# CT_GCC_V_13 is not set\n# CT_GCC_V_12 is not set\n# CT_GCC_V_11 is not set\n# CT_GCC_V_10 is not set\n# CT_GCC_V_9 is not set\n# CT_GCC_V_8 is not set\n# CT_GCC_V_7 is not set\n# CT_GCC_V_6 is not set\n# CT_GCC_V_5 is not set\n# CT_GCC_V_4_9 is not set\nCT_GCC_VERSION=\"15.2.0\"\nCT_GCC_MIRRORS=\"$(CT_Mirrors GNU gcc/gcc-${CT_GCC_VERSION}) $(CT_Mirrors sourceware gcc/releases/gcc-${CT_GCC_VERSION})\"\nCT_GCC_ARCHIVE_FILENAME=\"@{pkg_name}-@{version}\"\nCT_GCC_ARCHIVE_DIRNAME=\"@{pkg_name}-@{version}\"\nCT_GCC_ARCHIVE_FORMATS=\".tar.xz .tar.gz\"\nCT_GCC_SIGNATURE_FORMAT=\"\"\nCT_GCC_later_than_15=y\nCT_GCC_15_or_later=y\nCT_GCC_later_than_14=y\nCT_GCC_14_or_later=y\nCT_GCC_later_than_13=y\nCT_GCC_13_or_later=y\nCT_GCC_later_than_12=y\nCT_GCC_12_or_later=y\nCT_GCC_later_than_11=y\nCT_GCC_11_or_later=y\nCT_GCC_later_than_10=y\nCT_GCC_10_or_later=y\nCT_GCC_later_than_9=y\nCT_GCC_9_or_later=y\nCT_GCC_later_than_8=y\nCT_GCC_8_or_later=y\nCT_GCC_later_than_7=y\nCT_GCC_7_or_later=y\nCT_GCC_later_than_6=y\nCT_GCC_6_or_later=y\nCT_GCC_later_than_5=y\nCT_GCC_5_or_later=y\nCT_GCC_later_than_4_9=y\nCT_GCC_4_9_or_later=y\nCT_GCC_REQUIRE_4_9_or_later=y\nCT_CC_GCC_ENABLE_PLUGINS=y\nCT_CC_GCC_HAS_LIBMPX=y\nCT_CC_GCC_ENABLE_CXX_FLAGS=\"\"\nCT_CC_GCC_CORE_EXTRA_CONFIG_ARRAY=\"--enable-host-shared --enable-default-ssp\"\nCT_CC_GCC_EXTRA_CONFIG_ARRAY=\"--enable-host-shared --enable-default-ssp --with-build-config=bootstrap-lto-lean --enable-link-serialization=2\"\n# CT_CC_GCC_STATIC_LIBSTDCXX is not set\n# CT_CC_GCC_SYSTEM_ZLIB is not set\nCT_CC_GCC_CONFIG_TLS=m\n\n#\n# Optimisation features\n#\nCT_CC_GCC_USE_GRAPHITE=y\nCT_CC_GCC_USE_LTO=y\nCT_CC_GCC_LTO_ZSTD=m\n\n#\n# Settings for libraries running on target\n#\nCT_CC_GCC_ENABLE_DEFAULT_PIE=y\n# CT_CC_GCC_ENABLE_TARGET_OPTSPACE is not set\nCT_CC_GCC_LIBSTDCXX=m\n# CT_CC_GCC_LIBSTDCXX_HOSTED_DISABLE is not set\nCT_CC_GCC_LIBSTDCXX_TARGET_CXXFLAGS=\"-O2 -pipe\"\n# CT_CC_GCC_LIBMUDFLAP is not set\nCT_CC_GCC_LIBGOMP=y\nCT_CC_GCC_LIBSSP=m\n# CT_CC_GCC_LIBQUADMATH is not set\n# CT_CC_GCC_LIBSANITIZER is not set\n# CT_CC_GCC_LIBMPX is not set\n# CT_CC_GCC_LIBSTDCXX_VERBOSE is not set\n\n#\n# Misc. obscure options.\n#\nCT_CC_CXA_ATEXIT=y\nCT_CC_GCC_TM_CLONE_REGISTRY=m\n# CT_CC_GCC_DISABLE_PCH is not set\nCT_CC_GCC_SJLJ_EXCEPTIONS=m\nCT_CC_GCC_LDBL_128=m\n# CT_CC_GCC_BUILD_ID is not set\nCT_CC_GCC_LNK_HASH_STYLE_DEFAULT=y\n# CT_CC_GCC_LNK_HASH_STYLE_SYSV is not set\n# CT_CC_GCC_LNK_HASH_STYLE_GNU is not set\n# CT_CC_GCC_LNK_HASH_STYLE_BOTH is not set\nCT_CC_GCC_LNK_HASH_STYLE=\"\"\nCT_CC_GCC_DEC_FLOATS_AUTO=y\n# CT_CC_GCC_DEC_FLOATS_BID is not set\n# CT_CC_GCC_DEC_FLOATS_DPD is not set\n# CT_CC_GCC_DEC_FLOATS_NO is not set\nCT_CC_GCC_DEC_FLOATS=\"\"\nCT_ALL_CC_CHOICES=\"GCC\"\n\n#\n# Additional supported languages:\n#\nCT_CC_LANG_CXX=y\n# CT_CC_LANG_FORTRAN is not set\n# CT_CC_LANG_JIT is not set\n# CT_CC_LANG_ADA is not set\n# CT_CC_LANG_D is not set\n# CT_CC_LANG_OBJC is not set\n# CT_CC_LANG_OBJCXX is not set\n# CT_CC_LANG_GOLANG is not set\nCT_CC_LANG_OTHERS=\"\"\n# end of C compiler\n\n#\n# Linkers\n#\n\n#\n# BFD enabled in binutils\n#\nCT_LINKER_MOLD=y\nCT_LINKER_MOLD_PKG_KSYM=\"MOLD\"\nCT_MOLD_DIR_NAME=\"mold\"\nCT_MOLD_PKG_NAME=\"mold\"\nCT_MOLD_SRC_RELEASE=y\n# CT_MOLD_SRC_DEVEL is not set\n# CT_MOLD_SRC_CUSTOM is not set\nCT_MOLD_PATCH_GLOBAL=y\n# CT_MOLD_PATCH_BUNDLED is not set\n# CT_MOLD_PATCH_LOCAL is not set\n# CT_MOLD_PATCH_BUNDLED_LOCAL is not set\n# CT_MOLD_PATCH_LOCAL_BUNDLED is not set\n# CT_MOLD_PATCH_NONE is not set\nCT_MOLD_PATCH_ORDER=\"global\"\nCT_MOLD_V_2_40_4=y\n# CT_MOLD_V_2_39_1 is not set\n# CT_MOLD_V_2_38_1 is not set\n# CT_MOLD_V_2_37_1 is not set\n# CT_MOLD_V_2_36_0 is not set\n# CT_MOLD_V_2_33_0 is not set\n# CT_MOLD_V_2_32_0 is not set\n# CT_MOLD_V_2_31_0 is not set\nCT_MOLD_VERSION=\"2.40.4\"\nCT_MOLD_MIRRORS=\"https://github.com/rui314/mold/archive/refs/tags\"\nCT_MOLD_ARCHIVE_FILENAME=\"v@{version}\"\nCT_MOLD_ARCHIVE_DIRNAME=\"@{pkg_name}-@{version}\"\nCT_MOLD_ARCHIVE_FORMATS=\".tar.gz\"\nCT_MOLD_SIGNATURE_FORMAT=\"\"\nCT_LINKER_MOLD_has_cmake=y\nCT_ALL_LINKER_CHOICES=\"MOLD\"\n# end of Linkers\n\n#\n# Debug facilities\n#\n# CT_DEBUG_DUMA is not set\n# CT_DEBUG_GDB is not set\n# CT_DEBUG_LTRACE is not set\n# CT_DEBUG_STRACE is not set\nCT_ALL_DEBUG_CHOICES=\"DUMA GDB LTRACE STRACE\"\n# end of Debug facilities\n\n#\n# Companion libraries\n#\n# CT_COMPLIBS_CHECK is not set\n# CT_COMP_LIBS_CLOOG is not set\n# CT_COMP_LIBS_EXPAT is not set\nCT_COMP_LIBS_GETTEXT=y\nCT_COMP_LIBS_GETTEXT_PKG_KSYM=\"GETTEXT\"\nCT_GETTEXT_DIR_NAME=\"gettext\"\nCT_GETTEXT_PKG_NAME=\"gettext\"\nCT_GETTEXT_SRC_RELEASE=y\n# CT_GETTEXT_SRC_DEVEL is not set\n# CT_GETTEXT_SRC_CUSTOM is not set\nCT_GETTEXT_PATCH_GLOBAL=y\n# CT_GETTEXT_PATCH_BUNDLED is not set\n# CT_GETTEXT_PATCH_LOCAL is not set\n# CT_GETTEXT_PATCH_BUNDLED_LOCAL is not set\n# CT_GETTEXT_PATCH_LOCAL_BUNDLED is not set\n# CT_GETTEXT_PATCH_NONE is not set\nCT_GETTEXT_PATCH_ORDER=\"global\"\nCT_GETTEXT_V_0_26=y\n# CT_GETTEXT_V_0_23_1 is not set\n# CT_GETTEXT_V_0_22_5 is not set\n# CT_GETTEXT_V_0_21 is not set\n# CT_GETTEXT_V_0_20_1 is not set\n# CT_GETTEXT_V_0_19_8_1 is not set\nCT_GETTEXT_VERSION=\"0.26\"\nCT_GETTEXT_MIRRORS=\"$(CT_Mirrors GNU gettext)\"\nCT_GETTEXT_ARCHIVE_FILENAME=\"@{pkg_name}-@{version}\"\nCT_GETTEXT_ARCHIVE_DIRNAME=\"@{pkg_name}-@{version}\"\nCT_GETTEXT_ARCHIVE_FORMATS=\".tar.xz .tar.gz\"\nCT_GETTEXT_SIGNATURE_FORMAT=\"packed/.sig\"\nCT_GETTEXT_later_than_0_23=y\nCT_GETTEXT_0_23_or_later=y\nCT_GETTEXT_later_than_0_21=y\nCT_GETTEXT_0_21_or_later=y\nCT_GETTEXT_INCOMPATIBLE_WITH_UCLIBC_NG=y\n\n#\n# This version of gettext is not compatible with uClibc-NG. Select\n#\n\n#\n# a different version if uClibc-NG is used on the target or (in a\n#\n\n#\n# Canadian cross build) on the host.\n#\nCT_COMP_LIBS_GMP=y\nCT_COMP_LIBS_GMP_PKG_KSYM=\"GMP\"\nCT_GMP_DIR_NAME=\"gmp\"\nCT_GMP_PKG_NAME=\"gmp\"\nCT_GMP_SRC_RELEASE=y\n# CT_GMP_SRC_DEVEL is not set\n# CT_GMP_SRC_CUSTOM is not set\nCT_GMP_PATCH_GLOBAL=y\n# CT_GMP_PATCH_BUNDLED is not set\n# CT_GMP_PATCH_LOCAL is not set\n# CT_GMP_PATCH_BUNDLED_LOCAL is not set\n# CT_GMP_PATCH_LOCAL_BUNDLED is not set\n# CT_GMP_PATCH_NONE is not set\nCT_GMP_PATCH_ORDER=\"global\"\nCT_GMP_V_6_3=y\n# CT_GMP_V_6_2 is not set\n# CT_GMP_V_6_1 is not set\nCT_GMP_VERSION=\"6.3.0\"\nCT_GMP_MIRRORS=\"https://gmplib.org/download/gmp https://gmplib.org/download/gmp/archive $(CT_Mirrors GNU gmp)\"\nCT_GMP_ARCHIVE_FILENAME=\"@{pkg_name}-@{version}\"\nCT_GMP_ARCHIVE_DIRNAME=\"@{pkg_name}-@{version}\"\nCT_GMP_ARCHIVE_FORMATS=\".tar.xz .tar.lz .tar.bz2\"\nCT_GMP_SIGNATURE_FORMAT=\"packed/.sig\"\nCT_GMP_EXTRA_CFLAGS=\"-std=gnu17\"\nCT_COMP_LIBS_ISL=y\nCT_COMP_LIBS_ISL_PKG_KSYM=\"ISL\"\nCT_ISL_DIR_NAME=\"isl\"\nCT_ISL_PKG_NAME=\"isl\"\nCT_ISL_SRC_RELEASE=y\n# CT_ISL_SRC_DEVEL is not set\n# CT_ISL_SRC_CUSTOM is not set\nCT_ISL_PATCH_GLOBAL=y\n# CT_ISL_PATCH_BUNDLED is not set\n# CT_ISL_PATCH_LOCAL is not set\n# CT_ISL_PATCH_BUNDLED_LOCAL is not set\n# CT_ISL_PATCH_LOCAL_BUNDLED is not set\n# CT_ISL_PATCH_NONE is not set\nCT_ISL_PATCH_ORDER=\"global\"\nCT_ISL_V_0_27=y\n# CT_ISL_V_0_26 is not set\n# CT_ISL_V_0_25 is not set\n# CT_ISL_V_0_24 is not set\n# CT_ISL_V_0_23 is not set\n# CT_ISL_V_0_22 is not set\n# CT_ISL_V_0_21 is not set\n# CT_ISL_V_0_20 is not set\n# CT_ISL_V_0_19 is not set\n# CT_ISL_V_0_18 is not set\n# CT_ISL_V_0_17 is not set\n# CT_ISL_V_0_16 is not set\n# CT_ISL_V_0_15 is not set\n# CT_ISL_V_0_11 is not set\nCT_ISL_VERSION=\"0.27\"\nCT_ISL_MIRRORS=\"https://libisl.sourceforge.io\"\nCT_ISL_ARCHIVE_FILENAME=\"@{pkg_name}-@{version}\"\nCT_ISL_ARCHIVE_DIRNAME=\"@{pkg_name}-@{version}\"\nCT_ISL_ARCHIVE_FORMATS=\".tar.xz .tar.bz2 .tar.gz\"\nCT_ISL_SIGNATURE_FORMAT=\"\"\nCT_ISL_later_than_0_18=y\nCT_ISL_0_18_or_later=y\nCT_ISL_later_than_0_15=y\nCT_ISL_0_15_or_later=y\n# CT_COMP_LIBS_LIBELF is not set\nCT_COMP_LIBS_LIBICONV=y\nCT_COMP_LIBS_LIBICONV_PKG_KSYM=\"LIBICONV\"\nCT_LIBICONV_DIR_NAME=\"libiconv\"\nCT_LIBICONV_PKG_NAME=\"libiconv\"\nCT_LIBICONV_SRC_RELEASE=y\n# CT_LIBICONV_SRC_DEVEL is not set\n# CT_LIBICONV_SRC_CUSTOM is not set\nCT_LIBICONV_PATCH_GLOBAL=y\n# CT_LIBICONV_PATCH_BUNDLED is not set\n# CT_LIBICONV_PATCH_LOCAL is not set\n# CT_LIBICONV_PATCH_BUNDLED_LOCAL is not set\n# CT_LIBICONV_PATCH_LOCAL_BUNDLED is not set\n# CT_LIBICONV_PATCH_NONE is not set\nCT_LIBICONV_PATCH_ORDER=\"global\"\nCT_LIBICONV_V_1_18=y\n# CT_LIBICONV_V_1_16 is not set\n# CT_LIBICONV_V_1_15 is not set\nCT_LIBICONV_VERSION=\"1.18\"\nCT_LIBICONV_MIRRORS=\"$(CT_Mirrors GNU libiconv)\"\nCT_LIBICONV_ARCHIVE_FILENAME=\"@{pkg_name}-@{version}\"\nCT_LIBICONV_ARCHIVE_DIRNAME=\"@{pkg_name}-@{version}\"\nCT_LIBICONV_ARCHIVE_FORMATS=\".tar.gz\"\nCT_LIBICONV_SIGNATURE_FORMAT=\"packed/.sig\"\nCT_COMP_LIBS_MPC=y\nCT_COMP_LIBS_MPC_PKG_KSYM=\"MPC\"\nCT_MPC_DIR_NAME=\"mpc\"\nCT_MPC_PKG_NAME=\"mpc\"\nCT_MPC_SRC_RELEASE=y\n# CT_MPC_SRC_DEVEL is not set\n# CT_MPC_SRC_CUSTOM is not set\nCT_MPC_PATCH_GLOBAL=y\n# CT_MPC_PATCH_BUNDLED is not set\n# CT_MPC_PATCH_LOCAL is not set\n# CT_MPC_PATCH_BUNDLED_LOCAL is not set\n# CT_MPC_PATCH_LOCAL_BUNDLED is not set\n# CT_MPC_PATCH_NONE is not set\nCT_MPC_PATCH_ORDER=\"global\"\nCT_MPC_V_1_3=y\nCT_MPC_VERSION=\"1.3.1\"\nCT_MPC_MIRRORS=\"https://www.multiprecision.org/downloads $(CT_Mirrors GNU mpc)\"\nCT_MPC_ARCHIVE_FILENAME=\"@{pkg_name}-@{version}\"\nCT_MPC_ARCHIVE_DIRNAME=\"@{pkg_name}-@{version}\"\nCT_MPC_ARCHIVE_FORMATS=\".tar.gz\"\nCT_MPC_SIGNATURE_FORMAT=\"packed/.sig\"\nCT_COMP_LIBS_MPFR=y\nCT_COMP_LIBS_MPFR_PKG_KSYM=\"MPFR\"\nCT_MPFR_DIR_NAME=\"mpfr\"\nCT_MPFR_PKG_NAME=\"mpfr\"\nCT_MPFR_SRC_RELEASE=y\n# CT_MPFR_SRC_DEVEL is not set\n# CT_MPFR_SRC_CUSTOM is not set\nCT_MPFR_PATCH_GLOBAL=y\n# CT_MPFR_PATCH_BUNDLED is not set\n# CT_MPFR_PATCH_LOCAL is not set\n# CT_MPFR_PATCH_BUNDLED_LOCAL is not set\n# CT_MPFR_PATCH_LOCAL_BUNDLED is not set\n# CT_MPFR_PATCH_NONE is not set\nCT_MPFR_PATCH_ORDER=\"global\"\nCT_MPFR_V_4_2=y\nCT_MPFR_VERSION=\"4.2.2\"\nCT_MPFR_MIRRORS=\"https://www.mpfr.org/mpfr-${CT_MPFR_VERSION} $(CT_Mirrors GNU mpfr)\"\nCT_MPFR_ARCHIVE_FILENAME=\"@{pkg_name}-@{version}\"\nCT_MPFR_ARCHIVE_DIRNAME=\"@{pkg_name}-@{version}\"\nCT_MPFR_ARCHIVE_FORMATS=\".tar.xz .tar.bz2 .tar.gz .zip\"\nCT_MPFR_SIGNATURE_FORMAT=\"packed/.asc\"\nCT_COMP_LIBS_NCURSES=y\nCT_COMP_LIBS_NCURSES_PKG_KSYM=\"NCURSES\"\nCT_NCURSES_DIR_NAME=\"ncurses\"\nCT_NCURSES_PKG_NAME=\"ncurses\"\nCT_NCURSES_SRC_RELEASE=y\n# CT_NCURSES_SRC_DEVEL is not set\n# CT_NCURSES_SRC_CUSTOM is not set\nCT_NCURSES_PATCH_GLOBAL=y\n# CT_NCURSES_PATCH_BUNDLED is not set\n# CT_NCURSES_PATCH_LOCAL is not set\n# CT_NCURSES_PATCH_BUNDLED_LOCAL is not set\n# CT_NCURSES_PATCH_LOCAL_BUNDLED is not set\n# CT_NCURSES_PATCH_NONE is not set\nCT_NCURSES_PATCH_ORDER=\"global\"\nCT_NCURSES_V_6_5=y\n# CT_NCURSES_V_6_4 is not set\n# CT_NCURSES_V_6_2 is not set\n# CT_NCURSES_V_6_1 is not set\n# CT_NCURSES_V_6_0 is not set\nCT_NCURSES_VERSION=\"6.5\"\nCT_NCURSES_MIRRORS=\"https://invisible-mirror.net/archives/ncurses $(CT_Mirrors GNU ncurses)\"\nCT_NCURSES_ARCHIVE_FILENAME=\"@{pkg_name}-@{version}\"\nCT_NCURSES_ARCHIVE_DIRNAME=\"@{pkg_name}-@{version}\"\nCT_NCURSES_ARCHIVE_FORMATS=\".tar.gz\"\nCT_NCURSES_SIGNATURE_FORMAT=\"packed/.asc\"\n# CT_NCURSES_NEW_ABI is not set\nCT_NCURSES_HOST_CONFIG_ARGS=\"\"\nCT_NCURSES_HOST_DISABLE_DB=y\nCT_NCURSES_HOST_FALLBACKS=\"linux,xterm,xterm-color,xterm-256color,vt100\"\nCT_NCURSES_TARGET_CONFIG_ARGS=\"\"\n# CT_NCURSES_TARGET_DISABLE_DB is not set\nCT_NCURSES_TARGET_FALLBACKS=\"\"\nCT_NCURSES_EXTRA_CFLAGS=\"-std=gnu17\"\nCT_COMP_LIBS_ZLIB=y\nCT_COMP_LIBS_ZLIB_PKG_KSYM=\"ZLIB\"\nCT_ZLIB_DIR_NAME=\"zlib\"\nCT_ZLIB_PKG_NAME=\"zlib\"\nCT_ZLIB_SRC_RELEASE=y\n# CT_ZLIB_SRC_DEVEL is not set\n# CT_ZLIB_SRC_CUSTOM is not set\nCT_ZLIB_PATCH_GLOBAL=y\n# CT_ZLIB_PATCH_BUNDLED is not set\n# CT_ZLIB_PATCH_LOCAL is not set\n# CT_ZLIB_PATCH_BUNDLED_LOCAL is not set\n# CT_ZLIB_PATCH_LOCAL_BUNDLED is not set\n# CT_ZLIB_PATCH_NONE is not set\nCT_ZLIB_PATCH_ORDER=\"global\"\nCT_ZLIB_V_1_3_1=y\n# CT_ZLIB_V_1_2_13 is not set\nCT_ZLIB_VERSION=\"1.3.1\"\nCT_ZLIB_MIRRORS=\"https://github.com/madler/zlib/releases/download/v${CT_ZLIB_VERSION} https://www.zlib.net/\"\nCT_ZLIB_ARCHIVE_FILENAME=\"@{pkg_name}-@{version}\"\nCT_ZLIB_ARCHIVE_DIRNAME=\"@{pkg_name}-@{version}\"\nCT_ZLIB_ARCHIVE_FORMATS=\".tar.xz .tar.gz\"\nCT_ZLIB_SIGNATURE_FORMAT=\"packed/.asc\"\nCT_COMP_LIBS_ZSTD=y\nCT_COMP_LIBS_ZSTD_PKG_KSYM=\"ZSTD\"\nCT_ZSTD_DIR_NAME=\"zstd\"\nCT_ZSTD_PKG_NAME=\"zstd\"\nCT_ZSTD_SRC_RELEASE=y\n# CT_ZSTD_SRC_DEVEL is not set\n# CT_ZSTD_SRC_CUSTOM is not set\nCT_ZSTD_PATCH_GLOBAL=y\n# CT_ZSTD_PATCH_BUNDLED is not set\n# CT_ZSTD_PATCH_LOCAL is not set\n# CT_ZSTD_PATCH_BUNDLED_LOCAL is not set\n# CT_ZSTD_PATCH_LOCAL_BUNDLED is not set\n# CT_ZSTD_PATCH_NONE is not set\nCT_ZSTD_PATCH_ORDER=\"global\"\nCT_ZSTD_V_1_5_7=y\n# CT_ZSTD_V_1_5_6 is not set\n# CT_ZSTD_V_1_5_5 is not set\n# CT_ZSTD_V_1_5_2 is not set\nCT_ZSTD_VERSION=\"1.5.7\"\nCT_ZSTD_MIRRORS=\"https://github.com/facebook/zstd/releases/download/v${CT_ZSTD_VERSION} https://downloads.sourceforge.net/project/zstandard.mirror/v${CT_ZSTD_VERSION}\"\nCT_ZSTD_ARCHIVE_FILENAME=\"@{pkg_name}-@{version}\"\nCT_ZSTD_ARCHIVE_DIRNAME=\"@{pkg_name}-@{version}\"\nCT_ZSTD_ARCHIVE_FORMATS=\".tar.gz\"\nCT_ZSTD_SIGNATURE_FORMAT=\"packed/.sig\"\nCT_ALL_COMP_LIBS_CHOICES=\"CLOOG EXPAT GETTEXT GMP GNUPRUMCU ISL LIBELF LIBICONV MPC MPFR NCURSES NEWLIB_NANO PICOLIBC ZLIB ZSTD\"\nCT_LIBICONV_NEEDED=y\nCT_GETTEXT_NEEDED=y\nCT_GMP_NEEDED=y\nCT_MPFR_NEEDED=y\nCT_ISL_NEEDED=y\nCT_MPC_NEEDED=y\nCT_NCURSES_NEEDED=y\nCT_ZLIB_NEEDED=y\nCT_ZSTD_NEEDED=y\nCT_LIBICONV=y\nCT_GETTEXT=y\nCT_GMP=y\nCT_MPFR=y\nCT_ISL=y\nCT_MPC=y\nCT_NCURSES=y\nCT_ZLIB=y\nCT_ZSTD=y\n# end of Companion libraries\n\n#\n# Companion tools\n#\n# CT_COMP_TOOLS_FOR_HOST is not set\n# CT_COMP_TOOLS_AUTOCONF is not set\n# CT_COMP_TOOLS_AUTOMAKE is not set\n# CT_COMP_TOOLS_BISON is not set\n# CT_COMP_TOOLS_DTC is not set\n# CT_COMP_TOOLS_LIBTOOL is not set\n# CT_COMP_TOOLS_M4 is not set\nCT_COMP_TOOLS_MAKE=y\nCT_COMP_TOOLS_MAKE_PKG_KSYM=\"MAKE\"\nCT_MAKE_DIR_NAME=\"make\"\nCT_MAKE_PKG_NAME=\"make\"\nCT_MAKE_SRC_RELEASE=y\n# CT_MAKE_SRC_DEVEL is not set\n# CT_MAKE_SRC_CUSTOM is not set\nCT_MAKE_PATCH_GLOBAL=y\n# CT_MAKE_PATCH_BUNDLED is not set\n# CT_MAKE_PATCH_LOCAL is not set\n# CT_MAKE_PATCH_BUNDLED_LOCAL is not set\n# CT_MAKE_PATCH_LOCAL_BUNDLED is not set\n# CT_MAKE_PATCH_NONE is not set\nCT_MAKE_PATCH_ORDER=\"global\"\nCT_MAKE_V_4_3=y\nCT_MAKE_VERSION=\"4.3\"\nCT_MAKE_MIRRORS=\"$(CT_Mirrors GNU make)\"\nCT_MAKE_ARCHIVE_FILENAME=\"@{pkg_name}-@{version}\"\nCT_MAKE_ARCHIVE_DIRNAME=\"@{pkg_name}-@{version}\"\nCT_MAKE_ARCHIVE_FORMATS=\".tar.lz .tar.gz\"\nCT_MAKE_SIGNATURE_FORMAT=\"packed/.sig\"\nCT_MAKE_4_4_or_older=y\nCT_MAKE_older_than_4_4=y\nCT_MAKE_REQUIRE_older_than_4_4=y\nCT_MAKE_4_3_or_later=y\nCT_MAKE_4_3_or_older=y\nCT_MAKE_GMAKE_SYMLINK=y\nCT_MAKE_GNUMAKE_SYMLINK=y\nCT_ALL_COMP_TOOLS_CHOICES=\"AUTOCONF AUTOMAKE BISON DTC LIBTOOL M4 MAKE\"\n# end of Companion tools\n\n#\n# Test suite\n#\n# CT_TEST_SUITE_GCC is not set\n# end of Test suite\n"
  },
  {
    "path": "images/base-linux32/gen-implib.sh",
    "content": "#!/bin/bash\nset -e\nif [[ $# != 2 ]]; then\n    echo \"Invalid arguments\"\n    exit 1\nfi\nIN=\"$1\"\nOUT=\"$2\"\n\nTMPDIR=\"$(mktemp -d)\"\ntrap \"rm -rf '$TMPDIR'\" EXIT\ncd \"$TMPDIR\"\n\nset -x\npython3 /opt/implib/implib-gen.py --target i686-linux-gnu --dlopen --lazy-load --verbose \"$IN\"\n${FFBUILD_CROSS_PREFIX}gcc $CFLAGS $STAGE_CFLAGS -Wa,--noexecstack -DIMPLIB_HIDDEN_SHIMS -c *.tramp.S *.init.c\n${FFBUILD_CROSS_PREFIX}ar -rcs \"$OUT\" *.tramp.o *.init.o\n"
  },
  {
    "path": "images/base-linux32/toolchain.cmake",
    "content": "set(CMAKE_SYSTEM_NAME Linux)\nset(CMAKE_SYSTEM_PROCESSOR i686)\nset(CMAKE_SYSTEM_VERSION 4.18.20)\n\nset(triple i686-ffbuild-linux-gnu)\n\nset(CMAKE_C_COMPILER ${triple}-gcc)\nset(CMAKE_CXX_COMPILER ${triple}-g++)\nset(CMAKE_RANLIB ${triple}-gcc-ranlib)\nset(CMAKE_AR ${triple}-gcc-ar)\n\nset(CMAKE_SYSROOT /opt/ct-ng/${triple}/sysroot)\nset(CMAKE_FIND_ROOT_PATH /opt/ct-ng /opt/ct-ng/${triple}/sysroot /opt/ffbuild)\n\nset(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)\nset(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)\nset(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)\n"
  },
  {
    "path": "images/base-linux64/Dockerfile",
    "content": "ARG GH_REPO=ghcr.io/btbn/ffmpeg-builds\nFROM $GH_REPO/base:latest\n\nRUN --mount=src=ct-ng-config,dst=/.config \\\n    git clone --filter=blob:none https://github.com/crosstool-ng/crosstool-ng.git /ct-ng && cd /ct-ng && \\\n    ./bootstrap && \\\n    ./configure --enable-local && \\\n    make -j$(nproc) && \\\n    cp /.config .config && \\\n    ./ct-ng build && \\\n    cd / && \\\n    rm -rf ct-ng\n\n# Prepare \"cross\" environment to heavily favour static builds\nRUN \\\n    find /opt/ct-ng \\( -type l \\\n        -and -name '*.so' \\\n        -and -not -ipath '*plugin*' \\\n        -and -not -name 'libdl.*' \\\n        -and -not -name 'libc.*' \\\n        -and -not -name 'libm.*' \\\n        -and -not -name 'libmvec.*' \\\n        -and -not -name 'librt.*' \\\n        -and -not -name 'libpthread.*' \\\n        \\) -delete && \\\n    find /opt/ct-ng \\( \\\n        -name 'libdl.a' \\\n        -or -name 'libc.a' \\\n        -or -name 'libm.a' \\\n        -or -name 'libmvec.a' \\\n        -or -name 'librt.a' \\\n        -or -name 'libpthread.a' \\\n        \\) -delete && \\\n    mkdir /opt/ffbuild\n\nENV FFBUILD_TOOLCHAIN=x86_64-ffbuild-linux-gnu \\\n    FFBUILD_RUST_TARGET=\"x86_64-unknown-linux-gnu\"\n\nRUN \\\n    rustup default nightly && \\\n    echo \"[unstable]\\ntarget-applies-to-host = true\\nhost-config = true\\n\" > \"$CARGO_HOME\"/config.toml && \\\n    echo \"[target.$FFBUILD_RUST_TARGET]\\nlinker = \\\"${FFBUILD_TOOLCHAIN}-gcc\\\"\\nar = \\\"${FFBUILD_TOOLCHAIN}-gcc-ar\\\"\\n\" >> \"$CARGO_HOME\"/config.toml && \\\n    echo \"[target.host]\\nlinker = \\\"gcc\\\"\\nar = \\\"ar\\\"\\n\" >> \"$CARGO_HOME\"/config.toml\n\nADD toolchain.cmake /toolchain.cmake\nADD cross.meson /cross.meson\n\nADD gen-implib.sh /usr/bin/gen-implib\nRUN git clone --filter=blob:none --depth=1 https://github.com/yugr/Implib.so /opt/implib\n\nENV PATH=\"/opt/ct-ng/bin:${PATH}\" \\\n    FFBUILD_TARGET_FLAGS=\"--pkg-config=pkg-config --cross-prefix=${FFBUILD_TOOLCHAIN}- --arch=x86_64 --target-os=linux\" \\\n    FFBUILD_CROSS_PREFIX=\"${FFBUILD_TOOLCHAIN}-\" \\\n    FFBUILD_PREFIX=/opt/ffbuild \\\n    FFBUILD_DESTDIR=/opt/ffdest \\\n    FFBUILD_DESTPREFIX=/opt/ffdest/opt/ffbuild \\\n    FFBUILD_CMAKE_TOOLCHAIN=/toolchain.cmake \\\n    PKG_CONFIG=pkg-config \\\n    PKG_CONFIG_LIBDIR=/opt/ffbuild/lib/pkgconfig:/opt/ffbuild/share/pkgconfig \\\n    CC=\"${FFBUILD_TOOLCHAIN}-gcc\" \\\n    CXX=\"${FFBUILD_TOOLCHAIN}-g++\" \\\n    LD=\"${FFBUILD_TOOLCHAIN}-ld\" \\\n    AR=\"${FFBUILD_TOOLCHAIN}-gcc-ar\" \\\n    RANLIB=\"${FFBUILD_TOOLCHAIN}-gcc-ranlib\" \\\n    NM=\"${FFBUILD_TOOLCHAIN}-gcc-nm\" \\\n    CFLAGS=\"-static-libgcc -static-libstdc++ -I/opt/ffbuild/include -O2 -pipe -fPIC -DPIC -D_FORTIFY_SOURCE=2 -fstack-protector-strong -fstack-clash-protection -pthread\" \\\n    CXXFLAGS=\"-static-libgcc -static-libstdc++ -I/opt/ffbuild/include -O2 -pipe -fPIC -DPIC -D_FORTIFY_SOURCE=2 -fstack-protector-strong -fstack-clash-protection -pthread\" \\\n    LDFLAGS=\"-static-libgcc -static-libstdc++ -L/opt/ffbuild/lib -O2 -pipe -fstack-protector-strong -fstack-clash-protection -Wl,-z,relro,-z,now -pthread -lm\" \\\n    STAGE_CFLAGS=\"-fvisibility=hidden -fno-semantic-interposition\" \\\n    STAGE_CXXFLAGS=\"-fvisibility=hidden -fno-semantic-interposition\"\n"
  },
  {
    "path": "images/base-linux64/cross.meson",
    "content": "[binaries]\nc = 'x86_64-ffbuild-linux-gnu-gcc'\ncpp = 'x86_64-ffbuild-linux-gnu-g++'\nld = 'x86_64-ffbuild-linux-gnu-ld'\nar = 'x86_64-ffbuild-linux-gnu-gcc-ar'\nranlib = 'x86_64-ffbuild-linux-gnu-gcc-ranlib'\nstrip = 'x86_64-ffbuild-linux-gnu-strip'\n\n[host_machine]\nsystem = 'linux'\ncpu_family = 'x86_64'\ncpu = 'x86_64'\nendian = 'little'\n"
  },
  {
    "path": "images/base-linux64/ct-ng-config",
    "content": "#\n# Automatically generated file; DO NOT EDIT.\n# crosstool-NG 1.28.0.23_185f348 Configuration\n#\nCT_CONFIGURE_has_static_link=y\nCT_CONFIGURE_has_cxx11=y\nCT_CONFIGURE_has_wget=y\nCT_CONFIGURE_has_curl=y\nCT_CONFIGURE_has_meson=y\nCT_CONFIGURE_has_ninja=y\nCT_CONFIGURE_has_make_3_81_or_newer=y\nCT_CONFIGURE_has_make_4_0_or_newer=y\nCT_CONFIGURE_has_make_4_4_or_newer=y\nCT_CONFIGURE_has_libtool_2_4_or_newer=y\nCT_CONFIGURE_has_libtoolize_2_4_or_newer=y\nCT_CONFIGURE_has_autoconf_2_65_or_newer=y\nCT_CONFIGURE_has_autoreconf_2_65_or_newer=y\nCT_CONFIGURE_has_automake_1_15_or_newer=y\nCT_CONFIGURE_has_gnu_m4_1_4_12_or_newer=y\nCT_CONFIGURE_has_python_3_4_or_newer=y\nCT_CONFIGURE_has_bison_2_7_or_newer=y\nCT_CONFIGURE_has_bison_3_0_4_or_newer=y\nCT_CONFIGURE_has_python=y\nCT_CONFIGURE_has_dtc=y\nCT_CONFIGURE_has_svn=y\nCT_CONFIGURE_has_git=y\nCT_CONFIGURE_has_md5sum=y\nCT_CONFIGURE_has_sha1sum=y\nCT_CONFIGURE_has_sha256sum=y\nCT_CONFIGURE_has_sha512sum=y\nCT_CONFIGURE_has_install_with_strip_program=y\nCT_VERSION=\"1.28.0.23_185f348\"\nCT_VCHECK=\"\"\nCT_CONFIG_VERSION_ENV=\"4\"\nCT_CONFIG_VERSION_CURRENT=\"4\"\nCT_CONFIG_VERSION=\"4\"\nCT_MODULES=y\n\n#\n# Paths and misc options\n#\n\n#\n# crosstool-NG behavior\n#\nCT_OBSOLETE=y\nCT_EXPERIMENTAL=y\nCT_ALLOW_BUILD_AS_ROOT=y\nCT_ALLOW_BUILD_AS_ROOT_SURE=y\n# CT_ENABLE_EXPERIMENTAL_BUNDLED_PATCHES is not set\n# CT_DEBUG_CT is not set\n\n#\n# Paths\n#\nCT_LOCAL_TARBALLS_DIR=\"${HOME}/src\"\n# CT_SAVE_TARBALLS is not set\n# CT_TARBALLS_BUILDROOT_LAYOUT is not set\nCT_WORK_DIR=\"${CT_TOP_DIR}/build\"\nCT_BUILD_TOP_DIR=\"${CT_WORK_DIR:-${CT_TOP_DIR}/.build}/${CT_HOST:+HOST-${CT_HOST}/}${CT_TARGET}\"\nCT_BUILD_DIR=\"${CT_BUILD_TOP_DIR}/build\"\nCT_PREFIX_DIR=\"/opt/ct-ng\"\nCT_RM_RF_PREFIX_DIR=y\nCT_REMOVE_DOCS=y\n# CT_INSTALL_LICENSES is not set\n# CT_PREFIX_DIR_RO is not set\nCT_STRIP_HOST_TOOLCHAIN_EXECUTABLES=y\nCT_STRIP_TARGET_TOOLCHAIN_EXECUTABLES=y\n# CT_TARBALL_RESULT is not set\n\n#\n# Downloading\n#\nCT_DOWNLOAD_AGENT_WGET=y\n# CT_DOWNLOAD_AGENT_CURL is not set\n# CT_DOWNLOAD_AGENT_NONE is not set\n# CT_FORBID_DOWNLOAD is not set\n# CT_FORCE_DOWNLOAD is not set\nCT_CONNECT_TIMEOUT=10\nCT_DOWNLOAD_WGET_OPTIONS=\"--passive-ftp --tries=3 -nc --progress=dot:binary\"\n# CT_ONLY_DOWNLOAD is not set\n# CT_USE_MIRROR is not set\nCT_VERIFY_DOWNLOAD_DIGEST=y\nCT_VERIFY_DOWNLOAD_DIGEST_SHA512=y\n# CT_VERIFY_DOWNLOAD_DIGEST_SHA256 is not set\n# CT_VERIFY_DOWNLOAD_DIGEST_SHA1 is not set\n# CT_VERIFY_DOWNLOAD_DIGEST_MD5 is not set\nCT_VERIFY_DOWNLOAD_DIGEST_ALG=\"sha512\"\n# CT_VERIFY_DOWNLOAD_SIGNATURE is not set\n\n#\n# Extracting\n#\n# CT_FORCE_EXTRACT is not set\nCT_OVERRIDE_CONFIG_GUESS_SUB=y\n# CT_ONLY_EXTRACT is not set\nCT_PATCH_BUNDLED=y\n# CT_PATCH_LOCAL is not set\n# CT_PATCH_BUNDLED_LOCAL is not set\n# CT_PATCH_LOCAL_BUNDLED is not set\n# CT_PATCH_NONE is not set\nCT_PATCH_ORDER=\"bundled\"\n\n#\n# Build behavior\n#\nCT_PARALLEL_JOBS=0\nCT_LOAD=\"\"\nCT_USE_PIPES=y\nCT_EXTRA_CFLAGS_FOR_BUILD=\"-fPIC -DPIC\"\nCT_EXTRA_CXXFLAGS_FOR_BUILD=\"-fPIC -DPIC\"\nCT_EXTRA_LDFLAGS_FOR_BUILD=\"\"\nCT_EXTRA_CFLAGS_FOR_HOST=\"-fPIC -DPIC\"\nCT_EXTRA_LDFLAGS_FOR_HOST=\"\"\n# CT_CONFIG_SHELL_SH is not set\n# CT_CONFIG_SHELL_ASH is not set\nCT_CONFIG_SHELL_BASH=y\n# CT_CONFIG_SHELL_CUSTOM is not set\nCT_CONFIG_SHELL=\"${bash}\"\n\n#\n# Logging\n#\n# CT_LOG_ERROR is not set\n# CT_LOG_WARN is not set\n# CT_LOG_INFO is not set\n# CT_LOG_EXTRA is not set\n# CT_LOG_ALL is not set\nCT_LOG_DEBUG=y\nCT_LOG_LEVEL_MAX=\"DEBUG\"\n# CT_LOG_SEE_TOOLS_WARN is not set\n# CT_LOG_TO_FILE is not set\n# end of Paths and misc options\n\n#\n# Target options\n#\n# CT_ARCH_ALPHA is not set\n# CT_ARCH_ARC is not set\n# CT_ARCH_ARM is not set\n# CT_ARCH_AVR is not set\n# CT_ARCH_BPF is not set\n# CT_ARCH_C6X is not set\n# CT_ARCH_LM32 is not set\n# CT_ARCH_LOONGARCH is not set\n# CT_ARCH_M68K is not set\n# CT_ARCH_MICROBLAZE is not set\n# CT_ARCH_MIPS is not set\n# CT_ARCH_MOXIE is not set\n# CT_ARCH_MSP430 is not set\n# CT_ARCH_NIOS2 is not set\n# CT_ARCH_OPENRISC is not set\n# CT_ARCH_PARISC is not set\n# CT_ARCH_POWERPC is not set\n# CT_ARCH_PRU is not set\n# CT_ARCH_RISCV is not set\n# CT_ARCH_RX is not set\n# CT_ARCH_S390 is not set\n# CT_ARCH_SH is not set\n# CT_ARCH_SPARC is not set\n# CT_ARCH_TRICORE is not set\nCT_ARCH_X86=y\n# CT_ARCH_XTENSA is not set\nCT_ARCH=\"x86\"\nCT_ARCH_CHOICE_KSYM=\"X86\"\nCT_ARCH_CPU=\"\"\nCT_ARCH_TUNE=\"\"\nCT_ARCH_X86_SHOW=y\n\n#\n# Options for x86\n#\nCT_ARCH_X86_PKG_KSYM=\"\"\nCT_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\"\nCT_ARCH_SUFFIX=\"\"\n# CT_OMIT_TARGET_VENDOR is not set\n\n#\n# Generic target options\n#\n# CT_MULTILIB is not set\nCT_DEMULTILIB=y\nCT_ARCH_USE_MMU=y\nCT_ARCH_SUPPORTS_LIBSANITIZER=y\nCT_ARCH_SUPPORTS_32=y\nCT_ARCH_SUPPORTS_64=y\nCT_ARCH_DEFAULT_32=y\nCT_ARCH_BITNESS=64\n# CT_ARCH_32 is not set\nCT_ARCH_64=y\nCT_ARCH_SUPPORTS_WITH_32_64=y\n\n#\n# Target optimisations\n#\nCT_ARCH_SUPPORTS_WITH_ARCH=y\nCT_ARCH_SUPPORTS_WITH_CPU=y\nCT_ARCH_SUPPORTS_WITH_TUNE=y\nCT_ARCH_ARCH=\"\"\nCT_TARGET_CFLAGS=\"-fPIC -DPIC\"\nCT_TARGET_LDFLAGS=\"\"\n# end of Target options\n\n#\n# Toolchain options\n#\n\n#\n# General toolchain options\n#\nCT_USE_SYSROOT=y\nCT_SYSROOT_NAME=\"sysroot\"\nCT_SYSROOT_DIR_PREFIX=\"\"\n# CT_STATIC_TOOLCHAIN is not set\nCT_SHOW_CT_VERSION=y\nCT_TOOLCHAIN_PKGVERSION=\"\"\nCT_TOOLCHAIN_BUGURL=\"\"\n\n#\n# Tuple completion and aliasing\n#\nCT_TARGET_VENDOR=\"ffbuild\"\nCT_TARGET_ALIAS_SED_EXPR=\"\"\nCT_TARGET_ALIAS=\"\"\n\n#\n# Toolchain type\n#\n# CT_NATIVE is not set\nCT_CROSS=y\n# CT_CROSS_NATIVE is not set\n# CT_CANADIAN is not set\nCT_TOOLCHAIN_TYPE=\"cross\"\n\n#\n# Build system\n#\nCT_BUILD=\"\"\nCT_BUILD_PREFIX=\"\"\nCT_BUILD_SUFFIX=\"\"\n\n#\n# Misc options\n#\n# CT_TOOLCHAIN_ENABLE_NLS is not set\nCT_TOOLCHAIN_CMAKE_TOOLCHAIN_FILE=y\n# end of Toolchain options\n\n#\n# Operating System\n#\nCT_KERNEL_SUPPORTS_SHARED_LIBS=y\n# CT_KERNEL_BARE_METAL is not set\nCT_KERNEL_LINUX=y\n# CT_KERNEL_WINDOWS is not set\nCT_KERNEL=\"linux\"\nCT_KERNEL_CHOICE_KSYM=\"LINUX\"\nCT_KERNEL_LINUX_SHOW=y\n\n#\n# Options for linux\n#\nCT_KERNEL_LINUX_PKG_KSYM=\"LINUX\"\nCT_LINUX_DIR_NAME=\"linux\"\nCT_LINUX_PKG_NAME=\"linux\"\nCT_LINUX_SRC_RELEASE=y\n# CT_LINUX_SRC_DEVEL is not set\n# CT_LINUX_SRC_CUSTOM is not set\nCT_LINUX_PATCH_GLOBAL=y\n# CT_LINUX_PATCH_BUNDLED is not set\n# CT_LINUX_PATCH_LOCAL is not set\n# CT_LINUX_PATCH_BUNDLED_LOCAL is not set\n# CT_LINUX_PATCH_LOCAL_BUNDLED is not set\n# CT_LINUX_PATCH_NONE is not set\nCT_LINUX_PATCH_ORDER=\"global\"\n# CT_LINUX_V_6_18 is not set\n# CT_LINUX_V_6_17 is not set\n# CT_LINUX_V_6_16 is not set\n# CT_LINUX_V_6_15 is not set\n# CT_LINUX_V_6_14 is not set\n# CT_LINUX_V_6_13 is not set\n# CT_LINUX_V_6_12 is not set\n# CT_LINUX_V_6_11 is not set\n# CT_LINUX_V_6_10 is not set\n# CT_LINUX_V_6_9 is not set\n# CT_LINUX_V_6_8 is not set\n# CT_LINUX_V_6_7 is not set\n# CT_LINUX_V_6_6 is not set\n# CT_LINUX_V_6_5 is not set\n# CT_LINUX_V_6_4 is not set\n# CT_LINUX_V_6_3 is not set\n# CT_LINUX_V_6_2 is not set\n# CT_LINUX_V_6_1 is not set\n# CT_LINUX_V_6_0 is not set\n# CT_LINUX_V_5_19 is not set\n# CT_LINUX_V_5_18 is not set\n# CT_LINUX_V_5_17 is not set\n# CT_LINUX_V_5_16 is not set\n# CT_LINUX_V_5_15 is not set\n# CT_LINUX_V_5_14 is not set\n# CT_LINUX_V_5_13 is not set\n# CT_LINUX_V_5_12 is not set\n# CT_LINUX_V_5_11 is not set\n# CT_LINUX_V_5_10 is not set\n# CT_LINUX_V_5_9 is not set\n# CT_LINUX_V_5_8 is not set\n# CT_LINUX_V_5_7 is not set\n# CT_LINUX_V_5_5 is not set\n# CT_LINUX_V_5_4 is not set\n# CT_LINUX_V_5_3 is not set\n# CT_LINUX_V_5_2 is not set\n# CT_LINUX_V_5_1 is not set\n# CT_LINUX_V_5_0 is not set\n# CT_LINUX_V_4_20 is not set\n# CT_LINUX_V_4_19 is not set\nCT_LINUX_V_4_18=y\n# CT_LINUX_V_4_17 is not set\n# CT_LINUX_V_4_16 is not set\n# CT_LINUX_V_4_15 is not set\n# CT_LINUX_V_4_14 is not set\n# CT_LINUX_V_4_13 is not set\n# CT_LINUX_V_4_12 is not set\n# CT_LINUX_V_4_11 is not set\n# CT_LINUX_V_4_10 is not set\n# CT_LINUX_V_4_9 is not set\n# CT_LINUX_V_4_4 is not set\n# CT_LINUX_V_4_1 is not set\n# CT_LINUX_V_3_18 is not set\n# CT_LINUX_V_3_16 is not set\n# CT_LINUX_V_3_13 is not set\n# CT_LINUX_V_3_12 is not set\n# CT_LINUX_V_3_10 is not set\n# CT_LINUX_V_3_4 is not set\n# CT_LINUX_V_3_2 is not set\nCT_LINUX_VERSION=\"4.18.20\"\nCT_LINUX_MIRRORS=\"$(CT_Mirrors kernel.org linux ${CT_LINUX_VERSION})\"\nCT_LINUX_ARCHIVE_FILENAME=\"@{pkg_name}-@{version}\"\nCT_LINUX_ARCHIVE_DIRNAME=\"@{pkg_name}-@{version}\"\nCT_LINUX_ARCHIVE_FORMATS=\".tar.xz .tar.gz\"\nCT_LINUX_SIGNATURE_FORMAT=\"unpacked/.sign\"\nCT_LINUX_5_19_or_older=y\nCT_LINUX_older_than_5_19=y\nCT_LINUX_5_12_or_older=y\nCT_LINUX_older_than_5_12=y\nCT_LINUX_5_5_or_older=y\nCT_LINUX_older_than_5_5=y\nCT_LINUX_5_3_or_older=y\nCT_LINUX_older_than_5_3=y\nCT_LINUX_later_than_4_8=y\nCT_LINUX_4_8_or_later=y\nCT_LINUX_later_than_3_7=y\nCT_LINUX_3_7_or_later=y\nCT_LINUX_later_than_3_2=y\nCT_LINUX_3_2_or_later=y\nCT_LINUX_REQUIRE_3_2_or_later=y\nCT_KERNEL_has_rsync=y\nCT_KERNEL_DEP_RSYNC=y\nCT_KERNEL_LINUX_VERBOSITY_0=y\n# CT_KERNEL_LINUX_VERBOSITY_1 is not set\n# CT_KERNEL_LINUX_VERBOSITY_2 is not set\nCT_KERNEL_LINUX_VERBOSE_LEVEL=0\n# CT_KERNEL_LINUX_INSTALL_CHECK is not set\nCT_ALL_KERNEL_CHOICES=\"BARE_METAL LINUX WINDOWS\"\n\n#\n# Common kernel options\n#\nCT_SHARED_LIBS=y\n# end of Operating System\n\n#\n# Binary utilities\n#\nCT_ARCH_BINFMT_ELF=y\nCT_BINUTILS_BINUTILS=y\nCT_BINUTILS=\"binutils\"\nCT_BINUTILS_CHOICE_KSYM=\"BINUTILS\"\nCT_BINUTILS_BINUTILS_SHOW=y\n\n#\n# Options for binutils\n#\nCT_BINUTILS_BINUTILS_PKG_KSYM=\"BINUTILS\"\nCT_BINUTILS_DIR_NAME=\"binutils\"\nCT_BINUTILS_USE_GNU=y\n# CT_BINUTILS_USE_LINARO is not set\n# CT_BINUTILS_USE_ORACLE is not set\nCT_BINUTILS_USE=\"BINUTILS\"\nCT_BINUTILS_PKG_NAME=\"binutils\"\nCT_BINUTILS_SRC_RELEASE=y\n# CT_BINUTILS_SRC_DEVEL is not set\n# CT_BINUTILS_SRC_CUSTOM is not set\nCT_BINUTILS_PATCH_GLOBAL=y\n# CT_BINUTILS_PATCH_BUNDLED is not set\n# CT_BINUTILS_PATCH_LOCAL is not set\n# CT_BINUTILS_PATCH_BUNDLED_LOCAL is not set\n# CT_BINUTILS_PATCH_LOCAL_BUNDLED is not set\n# CT_BINUTILS_PATCH_NONE is not set\nCT_BINUTILS_PATCH_ORDER=\"global\"\nCT_BINUTILS_V_2_46=y\n# CT_BINUTILS_V_2_45 is not set\n# CT_BINUTILS_V_2_44 is not set\n# CT_BINUTILS_V_2_43 is not set\n# CT_BINUTILS_V_2_42 is not set\n# CT_BINUTILS_V_2_41 is not set\n# CT_BINUTILS_V_2_40 is not set\n# CT_BINUTILS_V_2_39 is not set\n# CT_BINUTILS_V_2_38 is not set\n# CT_BINUTILS_V_2_37 is not set\n# CT_BINUTILS_V_2_36 is not set\n# CT_BINUTILS_V_2_35 is not set\n# CT_BINUTILS_V_2_34 is not set\n# CT_BINUTILS_V_2_33 is not set\n# CT_BINUTILS_V_2_32 is not set\n# CT_BINUTILS_V_2_31 is not set\n# CT_BINUTILS_V_2_30 is not set\n# CT_BINUTILS_V_2_29 is not set\n# CT_BINUTILS_V_2_28 is not set\n# CT_BINUTILS_V_2_27 is not set\n# CT_BINUTILS_V_2_26 is not set\nCT_BINUTILS_VERSION=\"2.46.0\"\nCT_BINUTILS_MIRRORS=\"$(CT_Mirrors GNU binutils) $(CT_Mirrors sourceware binutils/releases)\"\nCT_BINUTILS_ARCHIVE_FILENAME=\"@{pkg_name}-@{version}\"\nCT_BINUTILS_ARCHIVE_DIRNAME=\"@{pkg_name}-@{version}\"\nCT_BINUTILS_ARCHIVE_FORMATS=\".tar.xz .tar.bz2 .tar.gz\"\nCT_BINUTILS_SIGNATURE_FORMAT=\"packed/.sig\"\nCT_BINUTILS_2_46_0_or_later=y\nCT_BINUTILS_2_46_0_or_older=y\nCT_BINUTILS_later_than_2_45=y\nCT_BINUTILS_2_45_or_later=y\nCT_BINUTILS_later_than_2_44=y\nCT_BINUTILS_2_44_or_later=y\nCT_BINUTILS_later_than_2_41=y\nCT_BINUTILS_2_41_or_later=y\nCT_BINUTILS_later_than_2_39=y\nCT_BINUTILS_2_39_or_later=y\nCT_BINUTILS_later_than_2_30=y\nCT_BINUTILS_2_30_or_later=y\nCT_BINUTILS_later_than_2_27=y\nCT_BINUTILS_2_27_or_later=y\nCT_BINUTILS_later_than_2_26=y\nCT_BINUTILS_2_26_or_later=y\n\n#\n# GNU binutils\n#\nCT_BINUTILS_GOLD_SUPPORTS_ARCH=y\nCT_BINUTILS_FORCE_LD_BFD_DEFAULT=y\nCT_BINUTILS_LINKER_LD=y\nCT_BINUTILS_LINKERS_LIST=\"ld\"\nCT_BINUTILS_LINKER_DEFAULT=\"bfd\"\nCT_BINUTILS_PLUGINS=y\nCT_BINUTILS_RELRO=m\nCT_BINUTILS_DETERMINISTIC_ARCHIVES=y\nCT_BINUTILS_EXTRA_CONFIG_ARRAY=\"\"\n# CT_BINUTILS_FOR_TARGET is not set\n# CT_BINUTILS_GPROFNG is not set\nCT_ALL_BINUTILS_CHOICES=\"BINUTILS\"\n# end of Binary utilities\n\n#\n# C-library\n#\nCT_LIBC_GLIBC=y\n# CT_LIBC_MUSL is not set\n# CT_LIBC_UCLIBC_NG is not set\nCT_LIBC=\"glibc\"\nCT_LIBC_CHOICE_KSYM=\"GLIBC\"\nCT_LIBC_GLIBC_SHOW=y\n\n#\n# Options for glibc\n#\nCT_LIBC_GLIBC_PKG_KSYM=\"GLIBC\"\nCT_GLIBC_DIR_NAME=\"glibc\"\nCT_GLIBC_USE_GNU=y\n# CT_GLIBC_USE_ORACLE is not set\nCT_GLIBC_USE=\"GLIBC\"\nCT_GLIBC_PKG_NAME=\"glibc\"\nCT_GLIBC_SRC_RELEASE=y\n# CT_GLIBC_SRC_DEVEL is not set\n# CT_GLIBC_SRC_CUSTOM is not set\nCT_GLIBC_PATCH_GLOBAL=y\n# CT_GLIBC_PATCH_BUNDLED is not set\n# CT_GLIBC_PATCH_LOCAL is not set\n# CT_GLIBC_PATCH_BUNDLED_LOCAL is not set\n# CT_GLIBC_PATCH_LOCAL_BUNDLED is not set\n# CT_GLIBC_PATCH_NONE is not set\nCT_GLIBC_PATCH_ORDER=\"global\"\n# CT_GLIBC_V_2_43 is not set\n# CT_GLIBC_V_2_42 is not set\n# CT_GLIBC_V_2_41 is not set\n# CT_GLIBC_V_2_40 is not set\n# CT_GLIBC_V_2_39 is not set\n# CT_GLIBC_V_2_38 is not set\n# CT_GLIBC_V_2_37 is not set\n# CT_GLIBC_V_2_36 is not set\n# CT_GLIBC_V_2_35 is not set\n# CT_GLIBC_V_2_34 is not set\n# CT_GLIBC_V_2_33 is not set\n# CT_GLIBC_V_2_32 is not set\n# CT_GLIBC_V_2_31 is not set\n# CT_GLIBC_V_2_30 is not set\n# CT_GLIBC_V_2_29 is not set\nCT_GLIBC_V_2_28=y\n# CT_GLIBC_V_2_27 is not set\n# CT_GLIBC_V_2_26 is not set\n# CT_GLIBC_V_2_25 is not set\n# CT_GLIBC_V_2_24 is not set\n# CT_GLIBC_V_2_23 is not set\n# CT_GLIBC_V_2_19 is not set\n# CT_GLIBC_V_2_17 is not set\nCT_GLIBC_VERSION=\"2.28\"\nCT_GLIBC_MIRRORS=\"$(CT_Mirrors GNU glibc)\"\nCT_GLIBC_ARCHIVE_FILENAME=\"@{pkg_name}-@{version}\"\nCT_GLIBC_ARCHIVE_DIRNAME=\"@{pkg_name}-@{version}\"\nCT_GLIBC_ARCHIVE_FORMATS=\".tar.xz .tar.bz2 .tar.gz\"\nCT_GLIBC_SIGNATURE_FORMAT=\"packed/.sig\"\nCT_GLIBC_2_43_or_older=y\nCT_GLIBC_older_than_2_43=y\nCT_GLIBC_2_42_or_older=y\nCT_GLIBC_older_than_2_42=y\nCT_GLIBC_2_41_or_older=y\nCT_GLIBC_older_than_2_41=y\nCT_GLIBC_2_38_or_older=y\nCT_GLIBC_older_than_2_38=y\nCT_GLIBC_2_37_or_older=y\nCT_GLIBC_older_than_2_37=y\nCT_GLIBC_2_36_or_older=y\nCT_GLIBC_older_than_2_36=y\nCT_GLIBC_2_34_or_older=y\nCT_GLIBC_older_than_2_34=y\nCT_GLIBC_2_32_or_older=y\nCT_GLIBC_older_than_2_32=y\nCT_GLIBC_2_31_or_older=y\nCT_GLIBC_older_than_2_31=y\nCT_GLIBC_2_30_or_older=y\nCT_GLIBC_older_than_2_30=y\nCT_GLIBC_2_29_or_older=y\nCT_GLIBC_older_than_2_29=y\nCT_GLIBC_2_28_or_later=y\nCT_GLIBC_2_28_or_older=y\nCT_GLIBC_later_than_2_27=y\nCT_GLIBC_2_27_or_later=y\nCT_GLIBC_later_than_2_26=y\nCT_GLIBC_2_26_or_later=y\nCT_GLIBC_later_than_2_25=y\nCT_GLIBC_2_25_or_later=y\nCT_GLIBC_later_than_2_24=y\nCT_GLIBC_2_24_or_later=y\nCT_GLIBC_later_than_2_23=y\nCT_GLIBC_2_23_or_later=y\nCT_GLIBC_later_than_2_20=y\nCT_GLIBC_2_20_or_later=y\nCT_GLIBC_later_than_2_17=y\nCT_GLIBC_2_17_or_later=y\nCT_GLIBC_later_than_2_14=y\nCT_GLIBC_2_14_or_later=y\nCT_GLIBC_DEP_KERNEL_HEADERS_VERSION=y\nCT_GLIBC_DEP_BINUTILS=y\nCT_GLIBC_DEP_GCC=y\nCT_GLIBC_DEP_PYTHON=y\nCT_GLIBC_DEP_MAKE_4_3=y\nCT_GLIBC_SPARC_ALLOW_V7=y\nCT_THREADS=\"nptl\"\nCT_GLIBC_BUILD_SSP=y\nCT_GLIBC_HAS_LIBIDN_ADDON=y\n# CT_GLIBC_USE_LIBIDN_ADDON is not set\nCT_GLIBC_NO_SPARC_V8=y\nCT_GLIBC_HAS_OBSOLETE_RPC=y\nCT_GLIBC_EXTRA_CONFIG_ARRAY=\"--with-pic\"\nCT_GLIBC_CONFIGPARMS=\"\"\n# CT_GLIBC_ENABLE_DEBUG is not set\nCT_GLIBC_EXTRA_CFLAGS=\"-fPIC -DPIC -no-pie\"\nCT_GLIBC_ENABLE_OBSOLETE_RPC=y\n# CT_GLIBC_ENABLE_FORTIFIED_BUILD is not set\n# CT_GLIBC_DISABLE_VERSIONING is not set\nCT_GLIBC_OLDEST_ABI=\"\"\nCT_GLIBC_FORCE_UNWIND=y\n# CT_GLIBC_LOCALES is not set\n# CT_GLIBC_KERNEL_VERSION_NONE is not set\nCT_GLIBC_KERNEL_VERSION_AS_HEADERS=y\n# CT_GLIBC_KERNEL_VERSION_CHOSEN is not set\nCT_GLIBC_MIN_KERNEL=\"4.18.20\"\n# CT_GLIBC_SSP_DEFAULT is not set\n# CT_GLIBC_SSP_NO is not set\n# CT_GLIBC_SSP_YES is not set\n# CT_GLIBC_SSP_ALL is not set\nCT_GLIBC_SSP_STRONG=y\nCT_GLIBC_SSP=\"strong\"\nCT_GLIBC_ENABLE_COMMON_FLAG=y\nCT_ALL_LIBC_CHOICES=\"AVR_LIBC GLIBC MINGW_W64 MOXIEBOX MUSL NEWLIB NONE PICOLIBC UCLIBC_NG\"\nCT_LIBC_SUPPORT_THREADS_ANY=y\nCT_LIBC_SUPPORT_THREADS_NATIVE=y\n\n#\n# Common C library options\n#\nCT_THREADS_NATIVE=y\n# CT_CREATE_LDSO_CONF is not set\nCT_LIBC_XLDD=y\n# end of C-library\n\n#\n# C compiler\n#\nCT_CC_CORE_NEEDED=y\nCT_CC_SUPPORT_CXX=y\nCT_CC_SUPPORT_FORTRAN=y\nCT_CC_SUPPORT_ADA=y\nCT_CC_SUPPORT_D=y\nCT_CC_SUPPORT_JIT=y\nCT_CC_SUPPORT_OBJC=y\nCT_CC_SUPPORT_OBJCXX=y\nCT_CC_SUPPORT_GOLANG=y\nCT_CC_GCC=y\nCT_CC=\"gcc\"\nCT_CC_CHOICE_KSYM=\"GCC\"\nCT_CC_GCC_SHOW=y\n\n#\n# Options for gcc\n#\nCT_CC_GCC_PKG_KSYM=\"GCC\"\nCT_GCC_DIR_NAME=\"gcc\"\nCT_GCC_USE_GNU=y\n# CT_GCC_USE_LINARO is not set\n# CT_GCC_USE_ORACLE is not set\nCT_GCC_USE=\"GCC\"\nCT_GCC_PKG_NAME=\"gcc\"\nCT_GCC_SRC_RELEASE=y\n# CT_GCC_SRC_DEVEL is not set\n# CT_GCC_SRC_CUSTOM is not set\nCT_GCC_PATCH_GLOBAL=y\n# CT_GCC_PATCH_BUNDLED is not set\n# CT_GCC_PATCH_LOCAL is not set\n# CT_GCC_PATCH_BUNDLED_LOCAL is not set\n# CT_GCC_PATCH_LOCAL_BUNDLED is not set\n# CT_GCC_PATCH_NONE is not set\nCT_GCC_PATCH_ORDER=\"global\"\nCT_GCC_V_15=y\n# CT_GCC_V_14 is not set\n# CT_GCC_V_13 is not set\n# CT_GCC_V_12 is not set\n# CT_GCC_V_11 is not set\n# CT_GCC_V_10 is not set\n# CT_GCC_V_9 is not set\n# CT_GCC_V_8 is not set\n# CT_GCC_V_7 is not set\n# CT_GCC_V_6 is not set\n# CT_GCC_V_5 is not set\n# CT_GCC_V_4_9 is not set\nCT_GCC_VERSION=\"15.2.0\"\nCT_GCC_MIRRORS=\"$(CT_Mirrors GNU gcc/gcc-${CT_GCC_VERSION}) $(CT_Mirrors sourceware gcc/releases/gcc-${CT_GCC_VERSION})\"\nCT_GCC_ARCHIVE_FILENAME=\"@{pkg_name}-@{version}\"\nCT_GCC_ARCHIVE_DIRNAME=\"@{pkg_name}-@{version}\"\nCT_GCC_ARCHIVE_FORMATS=\".tar.xz .tar.gz\"\nCT_GCC_SIGNATURE_FORMAT=\"\"\nCT_GCC_later_than_15=y\nCT_GCC_15_or_later=y\nCT_GCC_later_than_14=y\nCT_GCC_14_or_later=y\nCT_GCC_later_than_13=y\nCT_GCC_13_or_later=y\nCT_GCC_later_than_12=y\nCT_GCC_12_or_later=y\nCT_GCC_later_than_11=y\nCT_GCC_11_or_later=y\nCT_GCC_later_than_10=y\nCT_GCC_10_or_later=y\nCT_GCC_later_than_9=y\nCT_GCC_9_or_later=y\nCT_GCC_later_than_8=y\nCT_GCC_8_or_later=y\nCT_GCC_later_than_7=y\nCT_GCC_7_or_later=y\nCT_GCC_later_than_6=y\nCT_GCC_6_or_later=y\nCT_GCC_later_than_5=y\nCT_GCC_5_or_later=y\nCT_GCC_later_than_4_9=y\nCT_GCC_4_9_or_later=y\nCT_GCC_REQUIRE_4_9_or_later=y\nCT_CC_GCC_ENABLE_PLUGINS=y\nCT_CC_GCC_HAS_LIBMPX=y\nCT_CC_GCC_ENABLE_CXX_FLAGS=\"\"\nCT_CC_GCC_CORE_EXTRA_CONFIG_ARRAY=\"--enable-host-shared --enable-default-ssp\"\nCT_CC_GCC_EXTRA_CONFIG_ARRAY=\"--enable-host-shared --enable-default-ssp --with-build-config=bootstrap-lto-lean --enable-link-serialization=2\"\n# CT_CC_GCC_STATIC_LIBSTDCXX is not set\n# CT_CC_GCC_SYSTEM_ZLIB is not set\nCT_CC_GCC_CONFIG_TLS=m\n\n#\n# Optimisation features\n#\nCT_CC_GCC_USE_GRAPHITE=y\nCT_CC_GCC_USE_LTO=y\nCT_CC_GCC_LTO_ZSTD=m\n\n#\n# Settings for libraries running on target\n#\nCT_CC_GCC_ENABLE_DEFAULT_PIE=y\n# CT_CC_GCC_ENABLE_TARGET_OPTSPACE is not set\nCT_CC_GCC_LIBSTDCXX=m\n# CT_CC_GCC_LIBSTDCXX_HOSTED_DISABLE is not set\nCT_CC_GCC_LIBSTDCXX_TARGET_CXXFLAGS=\"-O2 -pipe\"\n# CT_CC_GCC_LIBMUDFLAP is not set\nCT_CC_GCC_LIBGOMP=y\nCT_CC_GCC_LIBSSP=m\n# CT_CC_GCC_LIBQUADMATH is not set\n# CT_CC_GCC_LIBSANITIZER is not set\n# CT_CC_GCC_LIBMPX is not set\n# CT_CC_GCC_LIBSTDCXX_VERBOSE is not set\n\n#\n# Misc. obscure options.\n#\nCT_CC_CXA_ATEXIT=y\nCT_CC_GCC_TM_CLONE_REGISTRY=m\n# CT_CC_GCC_DISABLE_PCH is not set\nCT_CC_GCC_SJLJ_EXCEPTIONS=m\nCT_CC_GCC_LDBL_128=m\n# CT_CC_GCC_BUILD_ID is not set\nCT_CC_GCC_LNK_HASH_STYLE_DEFAULT=y\n# CT_CC_GCC_LNK_HASH_STYLE_SYSV is not set\n# CT_CC_GCC_LNK_HASH_STYLE_GNU is not set\n# CT_CC_GCC_LNK_HASH_STYLE_BOTH is not set\nCT_CC_GCC_LNK_HASH_STYLE=\"\"\nCT_CC_GCC_DEC_FLOATS_AUTO=y\n# CT_CC_GCC_DEC_FLOATS_BID is not set\n# CT_CC_GCC_DEC_FLOATS_DPD is not set\n# CT_CC_GCC_DEC_FLOATS_NO is not set\nCT_CC_GCC_DEC_FLOATS=\"\"\nCT_ALL_CC_CHOICES=\"GCC\"\n\n#\n# Additional supported languages:\n#\nCT_CC_LANG_CXX=y\n# CT_CC_LANG_FORTRAN is not set\n# CT_CC_LANG_JIT is not set\n# CT_CC_LANG_ADA is not set\n# CT_CC_LANG_D is not set\n# CT_CC_LANG_OBJC is not set\n# CT_CC_LANG_OBJCXX is not set\n# CT_CC_LANG_GOLANG is not set\nCT_CC_LANG_OTHERS=\"\"\n# end of C compiler\n\n#\n# Linkers\n#\n\n#\n# BFD enabled in binutils\n#\nCT_LINKER_MOLD=y\nCT_LINKER_MOLD_PKG_KSYM=\"MOLD\"\nCT_MOLD_DIR_NAME=\"mold\"\nCT_MOLD_PKG_NAME=\"mold\"\nCT_MOLD_SRC_RELEASE=y\n# CT_MOLD_SRC_DEVEL is not set\n# CT_MOLD_SRC_CUSTOM is not set\nCT_MOLD_PATCH_GLOBAL=y\n# CT_MOLD_PATCH_BUNDLED is not set\n# CT_MOLD_PATCH_LOCAL is not set\n# CT_MOLD_PATCH_BUNDLED_LOCAL is not set\n# CT_MOLD_PATCH_LOCAL_BUNDLED is not set\n# CT_MOLD_PATCH_NONE is not set\nCT_MOLD_PATCH_ORDER=\"global\"\nCT_MOLD_V_2_40_4=y\n# CT_MOLD_V_2_39_1 is not set\n# CT_MOLD_V_2_38_1 is not set\n# CT_MOLD_V_2_37_1 is not set\n# CT_MOLD_V_2_36_0 is not set\n# CT_MOLD_V_2_33_0 is not set\n# CT_MOLD_V_2_32_0 is not set\n# CT_MOLD_V_2_31_0 is not set\nCT_MOLD_VERSION=\"2.40.4\"\nCT_MOLD_MIRRORS=\"https://github.com/rui314/mold/archive/refs/tags\"\nCT_MOLD_ARCHIVE_FILENAME=\"v@{version}\"\nCT_MOLD_ARCHIVE_DIRNAME=\"@{pkg_name}-@{version}\"\nCT_MOLD_ARCHIVE_FORMATS=\".tar.gz\"\nCT_MOLD_SIGNATURE_FORMAT=\"\"\nCT_LINKER_MOLD_has_cmake=y\nCT_ALL_LINKER_CHOICES=\"MOLD\"\n# end of Linkers\n\n#\n# Debug facilities\n#\n# CT_DEBUG_DUMA is not set\n# CT_DEBUG_GDB is not set\n# CT_DEBUG_LTRACE is not set\n# CT_DEBUG_STRACE is not set\nCT_ALL_DEBUG_CHOICES=\"DUMA GDB LTRACE STRACE\"\n# end of Debug facilities\n\n#\n# Companion libraries\n#\n# CT_COMPLIBS_CHECK is not set\n# CT_COMP_LIBS_CLOOG is not set\n# CT_COMP_LIBS_EXPAT is not set\nCT_COMP_LIBS_GETTEXT=y\nCT_COMP_LIBS_GETTEXT_PKG_KSYM=\"GETTEXT\"\nCT_GETTEXT_DIR_NAME=\"gettext\"\nCT_GETTEXT_PKG_NAME=\"gettext\"\nCT_GETTEXT_SRC_RELEASE=y\n# CT_GETTEXT_SRC_DEVEL is not set\n# CT_GETTEXT_SRC_CUSTOM is not set\nCT_GETTEXT_PATCH_GLOBAL=y\n# CT_GETTEXT_PATCH_BUNDLED is not set\n# CT_GETTEXT_PATCH_LOCAL is not set\n# CT_GETTEXT_PATCH_BUNDLED_LOCAL is not set\n# CT_GETTEXT_PATCH_LOCAL_BUNDLED is not set\n# CT_GETTEXT_PATCH_NONE is not set\nCT_GETTEXT_PATCH_ORDER=\"global\"\nCT_GETTEXT_V_0_26=y\n# CT_GETTEXT_V_0_23_1 is not set\n# CT_GETTEXT_V_0_22_5 is not set\n# CT_GETTEXT_V_0_21 is not set\n# CT_GETTEXT_V_0_20_1 is not set\n# CT_GETTEXT_V_0_19_8_1 is not set\nCT_GETTEXT_VERSION=\"0.26\"\nCT_GETTEXT_MIRRORS=\"$(CT_Mirrors GNU gettext)\"\nCT_GETTEXT_ARCHIVE_FILENAME=\"@{pkg_name}-@{version}\"\nCT_GETTEXT_ARCHIVE_DIRNAME=\"@{pkg_name}-@{version}\"\nCT_GETTEXT_ARCHIVE_FORMATS=\".tar.xz .tar.gz\"\nCT_GETTEXT_SIGNATURE_FORMAT=\"packed/.sig\"\nCT_GETTEXT_later_than_0_23=y\nCT_GETTEXT_0_23_or_later=y\nCT_GETTEXT_later_than_0_21=y\nCT_GETTEXT_0_21_or_later=y\nCT_GETTEXT_INCOMPATIBLE_WITH_UCLIBC_NG=y\n\n#\n# This version of gettext is not compatible with uClibc-NG. Select\n#\n\n#\n# a different version if uClibc-NG is used on the target or (in a\n#\n\n#\n# Canadian cross build) on the host.\n#\nCT_COMP_LIBS_GMP=y\nCT_COMP_LIBS_GMP_PKG_KSYM=\"GMP\"\nCT_GMP_DIR_NAME=\"gmp\"\nCT_GMP_PKG_NAME=\"gmp\"\nCT_GMP_SRC_RELEASE=y\n# CT_GMP_SRC_DEVEL is not set\n# CT_GMP_SRC_CUSTOM is not set\nCT_GMP_PATCH_GLOBAL=y\n# CT_GMP_PATCH_BUNDLED is not set\n# CT_GMP_PATCH_LOCAL is not set\n# CT_GMP_PATCH_BUNDLED_LOCAL is not set\n# CT_GMP_PATCH_LOCAL_BUNDLED is not set\n# CT_GMP_PATCH_NONE is not set\nCT_GMP_PATCH_ORDER=\"global\"\nCT_GMP_V_6_3=y\n# CT_GMP_V_6_2 is not set\n# CT_GMP_V_6_1 is not set\nCT_GMP_VERSION=\"6.3.0\"\nCT_GMP_MIRRORS=\"https://gmplib.org/download/gmp https://gmplib.org/download/gmp/archive $(CT_Mirrors GNU gmp)\"\nCT_GMP_ARCHIVE_FILENAME=\"@{pkg_name}-@{version}\"\nCT_GMP_ARCHIVE_DIRNAME=\"@{pkg_name}-@{version}\"\nCT_GMP_ARCHIVE_FORMATS=\".tar.xz .tar.lz .tar.bz2\"\nCT_GMP_SIGNATURE_FORMAT=\"packed/.sig\"\nCT_GMP_EXTRA_CFLAGS=\"-std=gnu17\"\nCT_COMP_LIBS_ISL=y\nCT_COMP_LIBS_ISL_PKG_KSYM=\"ISL\"\nCT_ISL_DIR_NAME=\"isl\"\nCT_ISL_PKG_NAME=\"isl\"\nCT_ISL_SRC_RELEASE=y\n# CT_ISL_SRC_DEVEL is not set\n# CT_ISL_SRC_CUSTOM is not set\nCT_ISL_PATCH_GLOBAL=y\n# CT_ISL_PATCH_BUNDLED is not set\n# CT_ISL_PATCH_LOCAL is not set\n# CT_ISL_PATCH_BUNDLED_LOCAL is not set\n# CT_ISL_PATCH_LOCAL_BUNDLED is not set\n# CT_ISL_PATCH_NONE is not set\nCT_ISL_PATCH_ORDER=\"global\"\nCT_ISL_V_0_27=y\n# CT_ISL_V_0_26 is not set\n# CT_ISL_V_0_25 is not set\n# CT_ISL_V_0_24 is not set\n# CT_ISL_V_0_23 is not set\n# CT_ISL_V_0_22 is not set\n# CT_ISL_V_0_21 is not set\n# CT_ISL_V_0_20 is not set\n# CT_ISL_V_0_19 is not set\n# CT_ISL_V_0_18 is not set\n# CT_ISL_V_0_17 is not set\n# CT_ISL_V_0_16 is not set\n# CT_ISL_V_0_15 is not set\n# CT_ISL_V_0_11 is not set\nCT_ISL_VERSION=\"0.27\"\nCT_ISL_MIRRORS=\"https://libisl.sourceforge.io\"\nCT_ISL_ARCHIVE_FILENAME=\"@{pkg_name}-@{version}\"\nCT_ISL_ARCHIVE_DIRNAME=\"@{pkg_name}-@{version}\"\nCT_ISL_ARCHIVE_FORMATS=\".tar.xz .tar.bz2 .tar.gz\"\nCT_ISL_SIGNATURE_FORMAT=\"\"\nCT_ISL_later_than_0_18=y\nCT_ISL_0_18_or_later=y\nCT_ISL_later_than_0_15=y\nCT_ISL_0_15_or_later=y\n# CT_COMP_LIBS_LIBELF is not set\nCT_COMP_LIBS_LIBICONV=y\nCT_COMP_LIBS_LIBICONV_PKG_KSYM=\"LIBICONV\"\nCT_LIBICONV_DIR_NAME=\"libiconv\"\nCT_LIBICONV_PKG_NAME=\"libiconv\"\nCT_LIBICONV_SRC_RELEASE=y\n# CT_LIBICONV_SRC_DEVEL is not set\n# CT_LIBICONV_SRC_CUSTOM is not set\nCT_LIBICONV_PATCH_GLOBAL=y\n# CT_LIBICONV_PATCH_BUNDLED is not set\n# CT_LIBICONV_PATCH_LOCAL is not set\n# CT_LIBICONV_PATCH_BUNDLED_LOCAL is not set\n# CT_LIBICONV_PATCH_LOCAL_BUNDLED is not set\n# CT_LIBICONV_PATCH_NONE is not set\nCT_LIBICONV_PATCH_ORDER=\"global\"\nCT_LIBICONV_V_1_18=y\n# CT_LIBICONV_V_1_16 is not set\n# CT_LIBICONV_V_1_15 is not set\nCT_LIBICONV_VERSION=\"1.18\"\nCT_LIBICONV_MIRRORS=\"$(CT_Mirrors GNU libiconv)\"\nCT_LIBICONV_ARCHIVE_FILENAME=\"@{pkg_name}-@{version}\"\nCT_LIBICONV_ARCHIVE_DIRNAME=\"@{pkg_name}-@{version}\"\nCT_LIBICONV_ARCHIVE_FORMATS=\".tar.gz\"\nCT_LIBICONV_SIGNATURE_FORMAT=\"packed/.sig\"\nCT_COMP_LIBS_MPC=y\nCT_COMP_LIBS_MPC_PKG_KSYM=\"MPC\"\nCT_MPC_DIR_NAME=\"mpc\"\nCT_MPC_PKG_NAME=\"mpc\"\nCT_MPC_SRC_RELEASE=y\n# CT_MPC_SRC_DEVEL is not set\n# CT_MPC_SRC_CUSTOM is not set\nCT_MPC_PATCH_GLOBAL=y\n# CT_MPC_PATCH_BUNDLED is not set\n# CT_MPC_PATCH_LOCAL is not set\n# CT_MPC_PATCH_BUNDLED_LOCAL is not set\n# CT_MPC_PATCH_LOCAL_BUNDLED is not set\n# CT_MPC_PATCH_NONE is not set\nCT_MPC_PATCH_ORDER=\"global\"\nCT_MPC_V_1_3=y\nCT_MPC_VERSION=\"1.3.1\"\nCT_MPC_MIRRORS=\"https://www.multiprecision.org/downloads $(CT_Mirrors GNU mpc)\"\nCT_MPC_ARCHIVE_FILENAME=\"@{pkg_name}-@{version}\"\nCT_MPC_ARCHIVE_DIRNAME=\"@{pkg_name}-@{version}\"\nCT_MPC_ARCHIVE_FORMATS=\".tar.gz\"\nCT_MPC_SIGNATURE_FORMAT=\"packed/.sig\"\nCT_COMP_LIBS_MPFR=y\nCT_COMP_LIBS_MPFR_PKG_KSYM=\"MPFR\"\nCT_MPFR_DIR_NAME=\"mpfr\"\nCT_MPFR_PKG_NAME=\"mpfr\"\nCT_MPFR_SRC_RELEASE=y\n# CT_MPFR_SRC_DEVEL is not set\n# CT_MPFR_SRC_CUSTOM is not set\nCT_MPFR_PATCH_GLOBAL=y\n# CT_MPFR_PATCH_BUNDLED is not set\n# CT_MPFR_PATCH_LOCAL is not set\n# CT_MPFR_PATCH_BUNDLED_LOCAL is not set\n# CT_MPFR_PATCH_LOCAL_BUNDLED is not set\n# CT_MPFR_PATCH_NONE is not set\nCT_MPFR_PATCH_ORDER=\"global\"\nCT_MPFR_V_4_2=y\nCT_MPFR_VERSION=\"4.2.2\"\nCT_MPFR_MIRRORS=\"https://www.mpfr.org/mpfr-${CT_MPFR_VERSION} $(CT_Mirrors GNU mpfr)\"\nCT_MPFR_ARCHIVE_FILENAME=\"@{pkg_name}-@{version}\"\nCT_MPFR_ARCHIVE_DIRNAME=\"@{pkg_name}-@{version}\"\nCT_MPFR_ARCHIVE_FORMATS=\".tar.xz .tar.bz2 .tar.gz .zip\"\nCT_MPFR_SIGNATURE_FORMAT=\"packed/.asc\"\nCT_COMP_LIBS_NCURSES=y\nCT_COMP_LIBS_NCURSES_PKG_KSYM=\"NCURSES\"\nCT_NCURSES_DIR_NAME=\"ncurses\"\nCT_NCURSES_PKG_NAME=\"ncurses\"\nCT_NCURSES_SRC_RELEASE=y\n# CT_NCURSES_SRC_DEVEL is not set\n# CT_NCURSES_SRC_CUSTOM is not set\nCT_NCURSES_PATCH_GLOBAL=y\n# CT_NCURSES_PATCH_BUNDLED is not set\n# CT_NCURSES_PATCH_LOCAL is not set\n# CT_NCURSES_PATCH_BUNDLED_LOCAL is not set\n# CT_NCURSES_PATCH_LOCAL_BUNDLED is not set\n# CT_NCURSES_PATCH_NONE is not set\nCT_NCURSES_PATCH_ORDER=\"global\"\nCT_NCURSES_V_6_5=y\n# CT_NCURSES_V_6_4 is not set\n# CT_NCURSES_V_6_2 is not set\n# CT_NCURSES_V_6_1 is not set\n# CT_NCURSES_V_6_0 is not set\nCT_NCURSES_VERSION=\"6.5\"\nCT_NCURSES_MIRRORS=\"https://invisible-mirror.net/archives/ncurses $(CT_Mirrors GNU ncurses)\"\nCT_NCURSES_ARCHIVE_FILENAME=\"@{pkg_name}-@{version}\"\nCT_NCURSES_ARCHIVE_DIRNAME=\"@{pkg_name}-@{version}\"\nCT_NCURSES_ARCHIVE_FORMATS=\".tar.gz\"\nCT_NCURSES_SIGNATURE_FORMAT=\"packed/.asc\"\n# CT_NCURSES_NEW_ABI is not set\nCT_NCURSES_HOST_CONFIG_ARGS=\"\"\nCT_NCURSES_HOST_DISABLE_DB=y\nCT_NCURSES_HOST_FALLBACKS=\"linux,xterm,xterm-color,xterm-256color,vt100\"\nCT_NCURSES_TARGET_CONFIG_ARGS=\"\"\n# CT_NCURSES_TARGET_DISABLE_DB is not set\nCT_NCURSES_TARGET_FALLBACKS=\"\"\nCT_NCURSES_EXTRA_CFLAGS=\"-std=gnu17\"\nCT_COMP_LIBS_ZLIB=y\nCT_COMP_LIBS_ZLIB_PKG_KSYM=\"ZLIB\"\nCT_ZLIB_DIR_NAME=\"zlib\"\nCT_ZLIB_PKG_NAME=\"zlib\"\nCT_ZLIB_SRC_RELEASE=y\n# CT_ZLIB_SRC_DEVEL is not set\n# CT_ZLIB_SRC_CUSTOM is not set\nCT_ZLIB_PATCH_GLOBAL=y\n# CT_ZLIB_PATCH_BUNDLED is not set\n# CT_ZLIB_PATCH_LOCAL is not set\n# CT_ZLIB_PATCH_BUNDLED_LOCAL is not set\n# CT_ZLIB_PATCH_LOCAL_BUNDLED is not set\n# CT_ZLIB_PATCH_NONE is not set\nCT_ZLIB_PATCH_ORDER=\"global\"\nCT_ZLIB_V_1_3_1=y\n# CT_ZLIB_V_1_2_13 is not set\nCT_ZLIB_VERSION=\"1.3.1\"\nCT_ZLIB_MIRRORS=\"https://github.com/madler/zlib/releases/download/v${CT_ZLIB_VERSION} https://www.zlib.net/\"\nCT_ZLIB_ARCHIVE_FILENAME=\"@{pkg_name}-@{version}\"\nCT_ZLIB_ARCHIVE_DIRNAME=\"@{pkg_name}-@{version}\"\nCT_ZLIB_ARCHIVE_FORMATS=\".tar.xz .tar.gz\"\nCT_ZLIB_SIGNATURE_FORMAT=\"packed/.asc\"\nCT_COMP_LIBS_ZSTD=y\nCT_COMP_LIBS_ZSTD_PKG_KSYM=\"ZSTD\"\nCT_ZSTD_DIR_NAME=\"zstd\"\nCT_ZSTD_PKG_NAME=\"zstd\"\nCT_ZSTD_SRC_RELEASE=y\n# CT_ZSTD_SRC_DEVEL is not set\n# CT_ZSTD_SRC_CUSTOM is not set\nCT_ZSTD_PATCH_GLOBAL=y\n# CT_ZSTD_PATCH_BUNDLED is not set\n# CT_ZSTD_PATCH_LOCAL is not set\n# CT_ZSTD_PATCH_BUNDLED_LOCAL is not set\n# CT_ZSTD_PATCH_LOCAL_BUNDLED is not set\n# CT_ZSTD_PATCH_NONE is not set\nCT_ZSTD_PATCH_ORDER=\"global\"\nCT_ZSTD_V_1_5_7=y\n# CT_ZSTD_V_1_5_6 is not set\n# CT_ZSTD_V_1_5_5 is not set\n# CT_ZSTD_V_1_5_2 is not set\nCT_ZSTD_VERSION=\"1.5.7\"\nCT_ZSTD_MIRRORS=\"https://github.com/facebook/zstd/releases/download/v${CT_ZSTD_VERSION} https://downloads.sourceforge.net/project/zstandard.mirror/v${CT_ZSTD_VERSION}\"\nCT_ZSTD_ARCHIVE_FILENAME=\"@{pkg_name}-@{version}\"\nCT_ZSTD_ARCHIVE_DIRNAME=\"@{pkg_name}-@{version}\"\nCT_ZSTD_ARCHIVE_FORMATS=\".tar.gz\"\nCT_ZSTD_SIGNATURE_FORMAT=\"packed/.sig\"\nCT_ALL_COMP_LIBS_CHOICES=\"CLOOG EXPAT GETTEXT GMP GNUPRUMCU ISL LIBELF LIBICONV MPC MPFR NCURSES NEWLIB_NANO PICOLIBC ZLIB ZSTD\"\nCT_LIBICONV_NEEDED=y\nCT_GETTEXT_NEEDED=y\nCT_GMP_NEEDED=y\nCT_MPFR_NEEDED=y\nCT_ISL_NEEDED=y\nCT_MPC_NEEDED=y\nCT_NCURSES_NEEDED=y\nCT_ZLIB_NEEDED=y\nCT_ZSTD_NEEDED=y\nCT_LIBICONV=y\nCT_GETTEXT=y\nCT_GMP=y\nCT_MPFR=y\nCT_ISL=y\nCT_MPC=y\nCT_NCURSES=y\nCT_ZLIB=y\nCT_ZSTD=y\n# end of Companion libraries\n\n#\n# Companion tools\n#\n# CT_COMP_TOOLS_FOR_HOST is not set\n# CT_COMP_TOOLS_AUTOCONF is not set\n# CT_COMP_TOOLS_AUTOMAKE is not set\n# CT_COMP_TOOLS_BISON is not set\n# CT_COMP_TOOLS_DTC is not set\n# CT_COMP_TOOLS_LIBTOOL is not set\n# CT_COMP_TOOLS_M4 is not set\nCT_COMP_TOOLS_MAKE=y\nCT_COMP_TOOLS_MAKE_PKG_KSYM=\"MAKE\"\nCT_MAKE_DIR_NAME=\"make\"\nCT_MAKE_PKG_NAME=\"make\"\nCT_MAKE_SRC_RELEASE=y\n# CT_MAKE_SRC_DEVEL is not set\n# CT_MAKE_SRC_CUSTOM is not set\nCT_MAKE_PATCH_GLOBAL=y\n# CT_MAKE_PATCH_BUNDLED is not set\n# CT_MAKE_PATCH_LOCAL is not set\n# CT_MAKE_PATCH_BUNDLED_LOCAL is not set\n# CT_MAKE_PATCH_LOCAL_BUNDLED is not set\n# CT_MAKE_PATCH_NONE is not set\nCT_MAKE_PATCH_ORDER=\"global\"\nCT_MAKE_V_4_3=y\nCT_MAKE_VERSION=\"4.3\"\nCT_MAKE_MIRRORS=\"$(CT_Mirrors GNU make)\"\nCT_MAKE_ARCHIVE_FILENAME=\"@{pkg_name}-@{version}\"\nCT_MAKE_ARCHIVE_DIRNAME=\"@{pkg_name}-@{version}\"\nCT_MAKE_ARCHIVE_FORMATS=\".tar.lz .tar.gz\"\nCT_MAKE_SIGNATURE_FORMAT=\"packed/.sig\"\nCT_MAKE_4_4_or_older=y\nCT_MAKE_older_than_4_4=y\nCT_MAKE_REQUIRE_older_than_4_4=y\nCT_MAKE_4_3_or_later=y\nCT_MAKE_4_3_or_older=y\nCT_MAKE_GMAKE_SYMLINK=y\nCT_MAKE_GNUMAKE_SYMLINK=y\nCT_ALL_COMP_TOOLS_CHOICES=\"AUTOCONF AUTOMAKE BISON DTC LIBTOOL M4 MAKE\"\n# end of Companion tools\n\n#\n# Test suite\n#\n# CT_TEST_SUITE_GCC is not set\n# end of Test suite\n"
  },
  {
    "path": "images/base-linux64/gen-implib.sh",
    "content": "#!/bin/bash\nset -e\nif [[ $# != 2 ]]; then\n    echo \"Invalid arguments\"\n    exit 1\nfi\nIN=\"$1\"\nOUT=\"$2\"\n\nTMPDIR=\"$(mktemp -d)\"\ntrap \"rm -rf '$TMPDIR'\" EXIT\ncd \"$TMPDIR\"\n\nset -x\npython3 /opt/implib/implib-gen.py --target x86_64-linux-gnu --dlopen --lazy-load --verbose \"$IN\"\n${FFBUILD_CROSS_PREFIX}gcc $CFLAGS $STAGE_CFLAGS -Wa,--noexecstack -DIMPLIB_HIDDEN_SHIMS -c *.tramp.S *.init.c\n${FFBUILD_CROSS_PREFIX}ar -rcs \"$OUT\" *.tramp.o *.init.o\n"
  },
  {
    "path": "images/base-linux64/toolchain.cmake",
    "content": "set(CMAKE_SYSTEM_NAME Linux)\nset(CMAKE_SYSTEM_PROCESSOR x86_64)\nset(CMAKE_SYSTEM_VERSION 4.18.20)\n\nset(triple x86_64-ffbuild-linux-gnu)\n\nset(CMAKE_C_COMPILER ${triple}-gcc)\nset(CMAKE_CXX_COMPILER ${triple}-g++)\nset(CMAKE_RANLIB ${triple}-gcc-ranlib)\nset(CMAKE_AR ${triple}-gcc-ar)\n\nset(CMAKE_SYSROOT /opt/ct-ng/${triple}/sysroot)\nset(CMAKE_FIND_ROOT_PATH /opt/ct-ng /opt/ct-ng/${triple}/sysroot /opt/ffbuild)\n\nset(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)\nset(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)\nset(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)\n"
  },
  {
    "path": "images/base-linuxarm64/Dockerfile",
    "content": "ARG GH_REPO=ghcr.io/btbn/ffmpeg-builds\nFROM $GH_REPO/base:latest\n\nRUN --mount=src=ct-ng-config,dst=/.config \\\n    git clone --filter=blob:none https://github.com/crosstool-ng/crosstool-ng.git /ct-ng && cd /ct-ng && \\\n    ./bootstrap && \\\n    ./configure --enable-local && \\\n    make -j$(nproc) && \\\n    cp /.config .config && \\\n    ./ct-ng build && \\\n    cd / && \\\n    rm -rf ct-ng\n\n# Prepare cross environment to heavily favour static builds\nRUN \\\n    find /opt/ct-ng \\( -type l \\\n        -and -name '*.so' \\\n        -and -not -ipath '*plugin*' \\\n        -and -not -name 'libdl.*' \\\n        -and -not -name 'libc.*' \\\n        -and -not -name 'libm.*' \\\n        -and -not -name 'libmvec.*' \\\n        -and -not -name 'librt.*' \\\n        -and -not -name 'libpthread.*' \\\n        \\) -delete && \\\n    find /opt/ct-ng \\( \\\n        -name 'libdl.a' \\\n        -or -name 'libc.a' \\\n        -or -name 'libm.a' \\\n        -or -name 'libmvec.a' \\\n        -or -name 'librt.a' \\\n        -or -name 'libpthread.a' \\\n        \\) -delete && \\\n    mkdir /opt/ffbuild\n\nENV FFBUILD_TOOLCHAIN=aarch64-ffbuild-linux-gnu \\\n    FFBUILD_RUST_TARGET=\"aarch64-unknown-linux-gnu\"\n\nRUN \\\n    rustup target add \"$FFBUILD_RUST_TARGET\" && \\\n    echo \"[target.$FFBUILD_RUST_TARGET]\\nlinker = \\\"${FFBUILD_TOOLCHAIN}-gcc\\\"\\nar = \\\"${FFBUILD_TOOLCHAIN}-gcc-ar\\\"\\n\" > \"$CARGO_HOME\"/config.toml\n\nADD toolchain.cmake /toolchain.cmake\nADD cross.meson /cross.meson\n\nADD gen-implib.sh /usr/bin/gen-implib\nRUN git clone --filter=blob:none --depth=1 https://github.com/yugr/Implib.so /opt/implib\n\nENV PATH=\"/opt/ct-ng/bin:${PATH}\" \\\n    QEMU_LD_PREFIX=\"/opt/ct-ng/${FFBUILD_TOOLCHAIN}/sysroot\" \\\n    FFBUILD_TARGET_FLAGS=\"--pkg-config=pkg-config --cross-prefix=${FFBUILD_TOOLCHAIN}- --arch=aarch64 --cpu=armv8-a --target-os=linux\" \\\n    FFBUILD_CROSS_PREFIX=\"${FFBUILD_TOOLCHAIN}-\" \\\n    FFBUILD_PREFIX=/opt/ffbuild \\\n    FFBUILD_DESTDIR=/opt/ffdest \\\n    FFBUILD_DESTPREFIX=/opt/ffdest/opt/ffbuild \\\n    FFBUILD_CMAKE_TOOLCHAIN=/toolchain.cmake \\\n    PKG_CONFIG=pkg-config \\\n    PKG_CONFIG_LIBDIR=/opt/ffbuild/lib/pkgconfig:/opt/ffbuild/share/pkgconfig \\\n    CC=\"${FFBUILD_TOOLCHAIN}-gcc\" \\\n    CXX=\"${FFBUILD_TOOLCHAIN}-g++\" \\\n    LD=\"${FFBUILD_TOOLCHAIN}-ld\" \\\n    AR=\"${FFBUILD_TOOLCHAIN}-gcc-ar\" \\\n    RANLIB=\"${FFBUILD_TOOLCHAIN}-gcc-ranlib\" \\\n    NM=\"${FFBUILD_TOOLCHAIN}-gcc-nm\" \\\n    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\" \\\n    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\" \\\n    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\" \\\n    STAGE_CFLAGS=\"-fvisibility=hidden -fno-semantic-interposition\" \\\n    STAGE_CXXFLAGS=\"-fvisibility=hidden -fno-semantic-interposition\"\n"
  },
  {
    "path": "images/base-linuxarm64/cross.meson",
    "content": "[binaries]\nc = 'aarch64-ffbuild-linux-gnu-gcc'\ncpp = 'aarch64-ffbuild-linux-gnu-g++'\nld = 'aarch64-ffbuild-linux-gnu-ld'\nar = 'aarch64-ffbuild-linux-gnu-gcc-ar'\nranlib = 'aarch64-ffbuild-linux-gnu-gcc-ranlib'\nstrip = 'aarch64-ffbuild-linux-gnu-strip'\n\n[host_machine]\nsystem = 'linux'\ncpu_family = 'aarch64'\ncpu = 'aarch64'\nendian = 'little'\n"
  },
  {
    "path": "images/base-linuxarm64/ct-ng-config",
    "content": "#\n# Automatically generated file; DO NOT EDIT.\n# crosstool-NG 1.28.0.23_185f348 Configuration\n#\nCT_CONFIGURE_has_static_link=y\nCT_CONFIGURE_has_cxx11=y\nCT_CONFIGURE_has_wget=y\nCT_CONFIGURE_has_curl=y\nCT_CONFIGURE_has_meson=y\nCT_CONFIGURE_has_ninja=y\nCT_CONFIGURE_has_make_3_81_or_newer=y\nCT_CONFIGURE_has_make_4_0_or_newer=y\nCT_CONFIGURE_has_make_4_4_or_newer=y\nCT_CONFIGURE_has_libtool_2_4_or_newer=y\nCT_CONFIGURE_has_libtoolize_2_4_or_newer=y\nCT_CONFIGURE_has_autoconf_2_65_or_newer=y\nCT_CONFIGURE_has_autoreconf_2_65_or_newer=y\nCT_CONFIGURE_has_automake_1_15_or_newer=y\nCT_CONFIGURE_has_gnu_m4_1_4_12_or_newer=y\nCT_CONFIGURE_has_python_3_4_or_newer=y\nCT_CONFIGURE_has_bison_2_7_or_newer=y\nCT_CONFIGURE_has_bison_3_0_4_or_newer=y\nCT_CONFIGURE_has_python=y\nCT_CONFIGURE_has_dtc=y\nCT_CONFIGURE_has_svn=y\nCT_CONFIGURE_has_git=y\nCT_CONFIGURE_has_md5sum=y\nCT_CONFIGURE_has_sha1sum=y\nCT_CONFIGURE_has_sha256sum=y\nCT_CONFIGURE_has_sha512sum=y\nCT_CONFIGURE_has_install_with_strip_program=y\nCT_VERSION=\"1.28.0.23_185f348\"\nCT_VCHECK=\"\"\nCT_CONFIG_VERSION_ENV=\"4\"\nCT_CONFIG_VERSION_CURRENT=\"4\"\nCT_CONFIG_VERSION=\"4\"\nCT_MODULES=y\n\n#\n# Paths and misc options\n#\n\n#\n# crosstool-NG behavior\n#\nCT_OBSOLETE=y\nCT_EXPERIMENTAL=y\nCT_ALLOW_BUILD_AS_ROOT=y\nCT_ALLOW_BUILD_AS_ROOT_SURE=y\n# CT_ENABLE_EXPERIMENTAL_BUNDLED_PATCHES is not set\n# CT_DEBUG_CT is not set\n\n#\n# Paths\n#\nCT_LOCAL_TARBALLS_DIR=\"${HOME}/src\"\n# CT_SAVE_TARBALLS is not set\n# CT_TARBALLS_BUILDROOT_LAYOUT is not set\nCT_WORK_DIR=\"${CT_TOP_DIR}/build\"\nCT_BUILD_TOP_DIR=\"${CT_WORK_DIR:-${CT_TOP_DIR}/.build}/${CT_HOST:+HOST-${CT_HOST}/}${CT_TARGET}\"\nCT_BUILD_DIR=\"${CT_BUILD_TOP_DIR}/build\"\nCT_PREFIX_DIR=\"/opt/ct-ng\"\nCT_RM_RF_PREFIX_DIR=y\nCT_REMOVE_DOCS=y\n# CT_INSTALL_LICENSES is not set\n# CT_PREFIX_DIR_RO is not set\nCT_STRIP_HOST_TOOLCHAIN_EXECUTABLES=y\nCT_STRIP_TARGET_TOOLCHAIN_EXECUTABLES=y\n# CT_TARBALL_RESULT is not set\n\n#\n# Downloading\n#\nCT_DOWNLOAD_AGENT_WGET=y\n# CT_DOWNLOAD_AGENT_CURL is not set\n# CT_DOWNLOAD_AGENT_NONE is not set\n# CT_FORBID_DOWNLOAD is not set\n# CT_FORCE_DOWNLOAD is not set\nCT_CONNECT_TIMEOUT=10\nCT_DOWNLOAD_WGET_OPTIONS=\"--passive-ftp --tries=3 -nc --progress=dot:binary\"\n# CT_ONLY_DOWNLOAD is not set\n# CT_USE_MIRROR is not set\nCT_VERIFY_DOWNLOAD_DIGEST=y\nCT_VERIFY_DOWNLOAD_DIGEST_SHA512=y\n# CT_VERIFY_DOWNLOAD_DIGEST_SHA256 is not set\n# CT_VERIFY_DOWNLOAD_DIGEST_SHA1 is not set\n# CT_VERIFY_DOWNLOAD_DIGEST_MD5 is not set\nCT_VERIFY_DOWNLOAD_DIGEST_ALG=\"sha512\"\n# CT_VERIFY_DOWNLOAD_SIGNATURE is not set\n\n#\n# Extracting\n#\n# CT_FORCE_EXTRACT is not set\nCT_OVERRIDE_CONFIG_GUESS_SUB=y\n# CT_ONLY_EXTRACT is not set\nCT_PATCH_BUNDLED=y\n# CT_PATCH_LOCAL is not set\n# CT_PATCH_BUNDLED_LOCAL is not set\n# CT_PATCH_LOCAL_BUNDLED is not set\n# CT_PATCH_NONE is not set\nCT_PATCH_ORDER=\"bundled\"\n\n#\n# Build behavior\n#\nCT_PARALLEL_JOBS=0\nCT_LOAD=\"\"\nCT_USE_PIPES=y\nCT_EXTRA_CFLAGS_FOR_BUILD=\"-fPIC -DPIC\"\nCT_EXTRA_CXXFLAGS_FOR_BUILD=\"-fPIC -DPIC\"\nCT_EXTRA_LDFLAGS_FOR_BUILD=\"\"\nCT_EXTRA_CFLAGS_FOR_HOST=\"-fPIC -DPIC\"\nCT_EXTRA_LDFLAGS_FOR_HOST=\"\"\n# CT_CONFIG_SHELL_SH is not set\n# CT_CONFIG_SHELL_ASH is not set\nCT_CONFIG_SHELL_BASH=y\n# CT_CONFIG_SHELL_CUSTOM is not set\nCT_CONFIG_SHELL=\"${bash}\"\n\n#\n# Logging\n#\n# CT_LOG_ERROR is not set\n# CT_LOG_WARN is not set\n# CT_LOG_INFO is not set\n# CT_LOG_EXTRA is not set\n# CT_LOG_ALL is not set\nCT_LOG_DEBUG=y\nCT_LOG_LEVEL_MAX=\"DEBUG\"\n# CT_LOG_SEE_TOOLS_WARN is not set\n# CT_LOG_TO_FILE is not set\n# end of Paths and misc options\n\n#\n# Target options\n#\n# CT_ARCH_ALPHA is not set\n# CT_ARCH_ARC is not set\nCT_ARCH_ARM=y\n# CT_ARCH_AVR is not set\n# CT_ARCH_BPF is not set\n# CT_ARCH_C6X is not set\n# CT_ARCH_LM32 is not set\n# CT_ARCH_LOONGARCH is not set\n# CT_ARCH_M68K is not set\n# CT_ARCH_MICROBLAZE is not set\n# CT_ARCH_MIPS is not set\n# CT_ARCH_MOXIE is not set\n# CT_ARCH_MSP430 is not set\n# CT_ARCH_NIOS2 is not set\n# CT_ARCH_OPENRISC is not set\n# CT_ARCH_PARISC is not set\n# CT_ARCH_POWERPC is not set\n# CT_ARCH_PRU is not set\n# CT_ARCH_RISCV is not set\n# CT_ARCH_RX is not set\n# CT_ARCH_S390 is not set\n# CT_ARCH_SH is not set\n# CT_ARCH_SPARC is not set\n# CT_ARCH_TRICORE is not set\n# CT_ARCH_X86 is not set\n# CT_ARCH_XTENSA is not set\nCT_ARCH=\"arm\"\nCT_ARCH_CHOICE_KSYM=\"ARM\"\nCT_ARCH_CPU=\"\"\nCT_ARCH_TUNE=\"\"\nCT_ARCH_ARM_SHOW=y\n\n#\n# Options for arm\n#\nCT_ARCH_ARM_PKG_KSYM=\"\"\nCT_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\"\nCT_ARCH_SUFFIX=\"\"\n# CT_OMIT_TARGET_VENDOR is not set\n\n#\n# Generic target options\n#\n# CT_MULTILIB is not set\nCT_DEMULTILIB=y\nCT_ARCH_SUPPORTS_BOTH_MMU=y\nCT_ARCH_DEFAULT_HAS_MMU=y\nCT_ARCH_USE_MMU=y\nCT_ARCH_SUPPORTS_FLAT_FORMAT=y\nCT_ARCH_SUPPORTS_LIBSANITIZER=y\nCT_ARCH_SUPPORTS_EITHER_ENDIAN=y\nCT_ARCH_DEFAULT_LE=y\n# CT_ARCH_BE is not set\nCT_ARCH_LE=y\nCT_ARCH_ENDIAN=\"little\"\nCT_ARCH_SUPPORTS_32=y\nCT_ARCH_SUPPORTS_64=y\nCT_ARCH_DEFAULT_32=y\nCT_ARCH_BITNESS=64\n# CT_ARCH_32 is not set\nCT_ARCH_64=y\n\n#\n# Target optimisations\n#\nCT_ARCH_SUPPORTS_WITH_ARCH=y\nCT_ARCH_SUPPORTS_WITH_CPU=y\nCT_ARCH_SUPPORTS_WITH_TUNE=y\nCT_ARCH_EXCLUSIVE_WITH_CPU=y\nCT_ARCH_ARCH=\"\"\nCT_TARGET_CFLAGS=\"-fPIC -DPIC\"\nCT_TARGET_LDFLAGS=\"\"\n# end of Target options\n\n#\n# Toolchain options\n#\n\n#\n# General toolchain options\n#\nCT_USE_SYSROOT=y\nCT_SYSROOT_NAME=\"sysroot\"\nCT_SYSROOT_DIR_PREFIX=\"\"\n# CT_STATIC_TOOLCHAIN is not set\nCT_SHOW_CT_VERSION=y\nCT_TOOLCHAIN_PKGVERSION=\"\"\nCT_TOOLCHAIN_BUGURL=\"\"\n\n#\n# Tuple completion and aliasing\n#\nCT_TARGET_VENDOR=\"ffbuild\"\nCT_TARGET_ALIAS_SED_EXPR=\"\"\nCT_TARGET_ALIAS=\"\"\n\n#\n# Toolchain type\n#\n# CT_NATIVE is not set\nCT_CROSS=y\n# CT_CROSS_NATIVE is not set\n# CT_CANADIAN is not set\nCT_TOOLCHAIN_TYPE=\"cross\"\n\n#\n# Build system\n#\nCT_BUILD=\"\"\nCT_BUILD_PREFIX=\"\"\nCT_BUILD_SUFFIX=\"\"\n\n#\n# Misc options\n#\n# CT_TOOLCHAIN_ENABLE_NLS is not set\nCT_TOOLCHAIN_CMAKE_TOOLCHAIN_FILE=y\n# end of Toolchain options\n\n#\n# Operating System\n#\nCT_KERNEL_SUPPORTS_SHARED_LIBS=y\n# CT_KERNEL_BARE_METAL is not set\nCT_KERNEL_LINUX=y\n# CT_KERNEL_WINDOWS is not set\nCT_KERNEL=\"linux\"\nCT_KERNEL_CHOICE_KSYM=\"LINUX\"\nCT_KERNEL_LINUX_SHOW=y\n\n#\n# Options for linux\n#\nCT_KERNEL_LINUX_PKG_KSYM=\"LINUX\"\nCT_LINUX_DIR_NAME=\"linux\"\nCT_LINUX_PKG_NAME=\"linux\"\nCT_LINUX_SRC_RELEASE=y\n# CT_LINUX_SRC_DEVEL is not set\n# CT_LINUX_SRC_CUSTOM is not set\nCT_LINUX_PATCH_GLOBAL=y\n# CT_LINUX_PATCH_BUNDLED is not set\n# CT_LINUX_PATCH_LOCAL is not set\n# CT_LINUX_PATCH_BUNDLED_LOCAL is not set\n# CT_LINUX_PATCH_LOCAL_BUNDLED is not set\n# CT_LINUX_PATCH_NONE is not set\nCT_LINUX_PATCH_ORDER=\"global\"\n# CT_LINUX_V_6_18 is not set\n# CT_LINUX_V_6_17 is not set\n# CT_LINUX_V_6_16 is not set\n# CT_LINUX_V_6_15 is not set\n# CT_LINUX_V_6_14 is not set\n# CT_LINUX_V_6_13 is not set\n# CT_LINUX_V_6_12 is not set\n# CT_LINUX_V_6_11 is not set\n# CT_LINUX_V_6_10 is not set\n# CT_LINUX_V_6_9 is not set\n# CT_LINUX_V_6_8 is not set\n# CT_LINUX_V_6_7 is not set\n# CT_LINUX_V_6_6 is not set\n# CT_LINUX_V_6_5 is not set\n# CT_LINUX_V_6_4 is not set\n# CT_LINUX_V_6_3 is not set\n# CT_LINUX_V_6_2 is not set\n# CT_LINUX_V_6_1 is not set\n# CT_LINUX_V_6_0 is not set\n# CT_LINUX_V_5_19 is not set\n# CT_LINUX_V_5_18 is not set\n# CT_LINUX_V_5_17 is not set\n# CT_LINUX_V_5_16 is not set\n# CT_LINUX_V_5_15 is not set\n# CT_LINUX_V_5_14 is not set\n# CT_LINUX_V_5_13 is not set\n# CT_LINUX_V_5_12 is not set\n# CT_LINUX_V_5_11 is not set\n# CT_LINUX_V_5_10 is not set\n# CT_LINUX_V_5_9 is not set\n# CT_LINUX_V_5_8 is not set\n# CT_LINUX_V_5_7 is not set\n# CT_LINUX_V_5_5 is not set\n# CT_LINUX_V_5_4 is not set\n# CT_LINUX_V_5_3 is not set\n# CT_LINUX_V_5_2 is not set\n# CT_LINUX_V_5_1 is not set\n# CT_LINUX_V_5_0 is not set\n# CT_LINUX_V_4_20 is not set\n# CT_LINUX_V_4_19 is not set\nCT_LINUX_V_4_18=y\n# CT_LINUX_V_4_17 is not set\n# CT_LINUX_V_4_16 is not set\n# CT_LINUX_V_4_15 is not set\n# CT_LINUX_V_4_14 is not set\n# CT_LINUX_V_4_13 is not set\n# CT_LINUX_V_4_12 is not set\n# CT_LINUX_V_4_11 is not set\n# CT_LINUX_V_4_10 is not set\n# CT_LINUX_V_4_9 is not set\n# CT_LINUX_V_4_4 is not set\n# CT_LINUX_V_4_1 is not set\n# CT_LINUX_V_3_18 is not set\n# CT_LINUX_V_3_16 is not set\n# CT_LINUX_V_3_13 is not set\n# CT_LINUX_V_3_12 is not set\n# CT_LINUX_V_3_10 is not set\nCT_LINUX_VERSION=\"4.18.20\"\nCT_LINUX_MIRRORS=\"$(CT_Mirrors kernel.org linux ${CT_LINUX_VERSION})\"\nCT_LINUX_ARCHIVE_FILENAME=\"@{pkg_name}-@{version}\"\nCT_LINUX_ARCHIVE_DIRNAME=\"@{pkg_name}-@{version}\"\nCT_LINUX_ARCHIVE_FORMATS=\".tar.xz .tar.gz\"\nCT_LINUX_SIGNATURE_FORMAT=\"unpacked/.sign\"\nCT_LINUX_5_19_or_older=y\nCT_LINUX_older_than_5_19=y\nCT_LINUX_5_12_or_older=y\nCT_LINUX_older_than_5_12=y\nCT_LINUX_5_5_or_older=y\nCT_LINUX_older_than_5_5=y\nCT_LINUX_5_3_or_older=y\nCT_LINUX_older_than_5_3=y\nCT_LINUX_later_than_4_8=y\nCT_LINUX_4_8_or_later=y\nCT_LINUX_later_than_3_7=y\nCT_LINUX_3_7_or_later=y\nCT_LINUX_REQUIRE_3_7_or_later=y\nCT_LINUX_later_than_3_2=y\nCT_LINUX_3_2_or_later=y\nCT_LINUX_REQUIRE_3_2_or_later=y\nCT_KERNEL_has_rsync=y\nCT_KERNEL_DEP_RSYNC=y\nCT_KERNEL_LINUX_VERBOSITY_0=y\n# CT_KERNEL_LINUX_VERBOSITY_1 is not set\n# CT_KERNEL_LINUX_VERBOSITY_2 is not set\nCT_KERNEL_LINUX_VERBOSE_LEVEL=0\n# CT_KERNEL_LINUX_INSTALL_CHECK is not set\nCT_ALL_KERNEL_CHOICES=\"BARE_METAL LINUX WINDOWS\"\n\n#\n# Common kernel options\n#\nCT_SHARED_LIBS=y\n# end of Operating System\n\n#\n# Binary utilities\n#\nCT_ARCH_BINFMT_ELF=y\nCT_BINUTILS_BINUTILS=y\nCT_BINUTILS=\"binutils\"\nCT_BINUTILS_CHOICE_KSYM=\"BINUTILS\"\nCT_BINUTILS_BINUTILS_SHOW=y\n\n#\n# Options for binutils\n#\nCT_BINUTILS_BINUTILS_PKG_KSYM=\"BINUTILS\"\nCT_BINUTILS_DIR_NAME=\"binutils\"\nCT_BINUTILS_USE_GNU=y\n# CT_BINUTILS_USE_LINARO is not set\n# CT_BINUTILS_USE_ORACLE is not set\nCT_BINUTILS_USE=\"BINUTILS\"\nCT_BINUTILS_PKG_NAME=\"binutils\"\nCT_BINUTILS_SRC_RELEASE=y\n# CT_BINUTILS_SRC_DEVEL is not set\n# CT_BINUTILS_SRC_CUSTOM is not set\nCT_BINUTILS_PATCH_GLOBAL=y\n# CT_BINUTILS_PATCH_BUNDLED is not set\n# CT_BINUTILS_PATCH_LOCAL is not set\n# CT_BINUTILS_PATCH_BUNDLED_LOCAL is not set\n# CT_BINUTILS_PATCH_LOCAL_BUNDLED is not set\n# CT_BINUTILS_PATCH_NONE is not set\nCT_BINUTILS_PATCH_ORDER=\"global\"\nCT_BINUTILS_V_2_46=y\n# CT_BINUTILS_V_2_45 is not set\n# CT_BINUTILS_V_2_44 is not set\n# CT_BINUTILS_V_2_43 is not set\n# CT_BINUTILS_V_2_42 is not set\n# CT_BINUTILS_V_2_41 is not set\n# CT_BINUTILS_V_2_40 is not set\n# CT_BINUTILS_V_2_39 is not set\n# CT_BINUTILS_V_2_38 is not set\n# CT_BINUTILS_V_2_37 is not set\n# CT_BINUTILS_V_2_36 is not set\n# CT_BINUTILS_V_2_35 is not set\n# CT_BINUTILS_V_2_34 is not set\n# CT_BINUTILS_V_2_33 is not set\n# CT_BINUTILS_V_2_32 is not set\n# CT_BINUTILS_V_2_31 is not set\n# CT_BINUTILS_V_2_30 is not set\n# CT_BINUTILS_V_2_29 is not set\n# CT_BINUTILS_V_2_28 is not set\n# CT_BINUTILS_V_2_27 is not set\n# CT_BINUTILS_V_2_26 is not set\nCT_BINUTILS_VERSION=\"2.46.0\"\nCT_BINUTILS_MIRRORS=\"$(CT_Mirrors GNU binutils) $(CT_Mirrors sourceware binutils/releases)\"\nCT_BINUTILS_ARCHIVE_FILENAME=\"@{pkg_name}-@{version}\"\nCT_BINUTILS_ARCHIVE_DIRNAME=\"@{pkg_name}-@{version}\"\nCT_BINUTILS_ARCHIVE_FORMATS=\".tar.xz .tar.bz2 .tar.gz\"\nCT_BINUTILS_SIGNATURE_FORMAT=\"packed/.sig\"\nCT_BINUTILS_2_46_0_or_later=y\nCT_BINUTILS_2_46_0_or_older=y\nCT_BINUTILS_later_than_2_45=y\nCT_BINUTILS_2_45_or_later=y\nCT_BINUTILS_later_than_2_44=y\nCT_BINUTILS_2_44_or_later=y\nCT_BINUTILS_later_than_2_41=y\nCT_BINUTILS_2_41_or_later=y\nCT_BINUTILS_later_than_2_39=y\nCT_BINUTILS_2_39_or_later=y\nCT_BINUTILS_later_than_2_30=y\nCT_BINUTILS_2_30_or_later=y\nCT_BINUTILS_later_than_2_27=y\nCT_BINUTILS_2_27_or_later=y\nCT_BINUTILS_later_than_2_26=y\nCT_BINUTILS_2_26_or_later=y\n\n#\n# GNU binutils\n#\nCT_BINUTILS_GOLD_SUPPORTS_ARCH=y\nCT_BINUTILS_FORCE_LD_BFD_DEFAULT=y\nCT_BINUTILS_LINKER_LD=y\nCT_BINUTILS_LINKERS_LIST=\"ld\"\nCT_BINUTILS_LINKER_DEFAULT=\"bfd\"\nCT_BINUTILS_PLUGINS=y\nCT_BINUTILS_RELRO=m\nCT_BINUTILS_DETERMINISTIC_ARCHIVES=y\nCT_BINUTILS_EXTRA_CONFIG_ARRAY=\"\"\n# CT_BINUTILS_FOR_TARGET is not set\n# CT_BINUTILS_GPROFNG is not set\nCT_ALL_BINUTILS_CHOICES=\"BINUTILS\"\n# end of Binary utilities\n\n#\n# C-library\n#\nCT_LIBC_GLIBC=y\n# CT_LIBC_MUSL is not set\n# CT_LIBC_UCLIBC_NG is not set\nCT_LIBC=\"glibc\"\nCT_LIBC_CHOICE_KSYM=\"GLIBC\"\nCT_LIBC_GLIBC_SHOW=y\n\n#\n# Options for glibc\n#\nCT_LIBC_GLIBC_PKG_KSYM=\"GLIBC\"\nCT_GLIBC_DIR_NAME=\"glibc\"\nCT_GLIBC_USE_GNU=y\n# CT_GLIBC_USE_ORACLE is not set\nCT_GLIBC_USE=\"GLIBC\"\nCT_GLIBC_PKG_NAME=\"glibc\"\nCT_GLIBC_SRC_RELEASE=y\n# CT_GLIBC_SRC_DEVEL is not set\n# CT_GLIBC_SRC_CUSTOM is not set\nCT_GLIBC_PATCH_GLOBAL=y\n# CT_GLIBC_PATCH_BUNDLED is not set\n# CT_GLIBC_PATCH_LOCAL is not set\n# CT_GLIBC_PATCH_BUNDLED_LOCAL is not set\n# CT_GLIBC_PATCH_LOCAL_BUNDLED is not set\n# CT_GLIBC_PATCH_NONE is not set\nCT_GLIBC_PATCH_ORDER=\"global\"\n# CT_GLIBC_V_2_43 is not set\n# CT_GLIBC_V_2_42 is not set\n# CT_GLIBC_V_2_41 is not set\n# CT_GLIBC_V_2_40 is not set\n# CT_GLIBC_V_2_39 is not set\n# CT_GLIBC_V_2_38 is not set\n# CT_GLIBC_V_2_37 is not set\n# CT_GLIBC_V_2_36 is not set\n# CT_GLIBC_V_2_35 is not set\n# CT_GLIBC_V_2_34 is not set\n# CT_GLIBC_V_2_33 is not set\n# CT_GLIBC_V_2_32 is not set\n# CT_GLIBC_V_2_31 is not set\n# CT_GLIBC_V_2_30 is not set\n# CT_GLIBC_V_2_29 is not set\nCT_GLIBC_V_2_28=y\n# CT_GLIBC_V_2_27 is not set\n# CT_GLIBC_V_2_26 is not set\n# CT_GLIBC_V_2_25 is not set\n# CT_GLIBC_V_2_24 is not set\n# CT_GLIBC_V_2_23 is not set\n# CT_GLIBC_V_2_19 is not set\n# CT_GLIBC_V_2_17 is not set\nCT_GLIBC_VERSION=\"2.28\"\nCT_GLIBC_MIRRORS=\"$(CT_Mirrors GNU glibc)\"\nCT_GLIBC_ARCHIVE_FILENAME=\"@{pkg_name}-@{version}\"\nCT_GLIBC_ARCHIVE_DIRNAME=\"@{pkg_name}-@{version}\"\nCT_GLIBC_ARCHIVE_FORMATS=\".tar.xz .tar.bz2 .tar.gz\"\nCT_GLIBC_SIGNATURE_FORMAT=\"packed/.sig\"\nCT_GLIBC_2_43_or_older=y\nCT_GLIBC_older_than_2_43=y\nCT_GLIBC_2_42_or_older=y\nCT_GLIBC_older_than_2_42=y\nCT_GLIBC_2_41_or_older=y\nCT_GLIBC_older_than_2_41=y\nCT_GLIBC_2_38_or_older=y\nCT_GLIBC_older_than_2_38=y\nCT_GLIBC_2_37_or_older=y\nCT_GLIBC_older_than_2_37=y\nCT_GLIBC_2_36_or_older=y\nCT_GLIBC_older_than_2_36=y\nCT_GLIBC_2_34_or_older=y\nCT_GLIBC_older_than_2_34=y\nCT_GLIBC_2_32_or_older=y\nCT_GLIBC_older_than_2_32=y\nCT_GLIBC_2_31_or_older=y\nCT_GLIBC_older_than_2_31=y\nCT_GLIBC_2_30_or_older=y\nCT_GLIBC_older_than_2_30=y\nCT_GLIBC_2_29_or_older=y\nCT_GLIBC_older_than_2_29=y\nCT_GLIBC_2_28_or_later=y\nCT_GLIBC_2_28_or_older=y\nCT_GLIBC_later_than_2_27=y\nCT_GLIBC_2_27_or_later=y\nCT_GLIBC_later_than_2_26=y\nCT_GLIBC_2_26_or_later=y\nCT_GLIBC_later_than_2_25=y\nCT_GLIBC_2_25_or_later=y\nCT_GLIBC_later_than_2_24=y\nCT_GLIBC_2_24_or_later=y\nCT_GLIBC_later_than_2_23=y\nCT_GLIBC_2_23_or_later=y\nCT_GLIBC_later_than_2_20=y\nCT_GLIBC_2_20_or_later=y\nCT_GLIBC_later_than_2_17=y\nCT_GLIBC_2_17_or_later=y\nCT_GLIBC_later_than_2_14=y\nCT_GLIBC_2_14_or_later=y\nCT_GLIBC_DEP_KERNEL_HEADERS_VERSION=y\nCT_GLIBC_DEP_BINUTILS=y\nCT_GLIBC_DEP_GCC=y\nCT_GLIBC_DEP_PYTHON=y\nCT_GLIBC_DEP_MAKE_4_3=y\nCT_GLIBC_SPARC_ALLOW_V7=y\nCT_THREADS=\"nptl\"\nCT_GLIBC_BUILD_SSP=y\nCT_GLIBC_HAS_LIBIDN_ADDON=y\n# CT_GLIBC_USE_LIBIDN_ADDON is not set\nCT_GLIBC_NO_SPARC_V8=y\nCT_GLIBC_HAS_OBSOLETE_RPC=y\nCT_GLIBC_EXTRA_CONFIG_ARRAY=\"--with-pic\"\nCT_GLIBC_CONFIGPARMS=\"\"\n# CT_GLIBC_ENABLE_DEBUG is not set\nCT_GLIBC_EXTRA_CFLAGS=\"-fPIC -DPIC\"\nCT_GLIBC_ENABLE_OBSOLETE_RPC=y\n# CT_GLIBC_ENABLE_FORTIFIED_BUILD is not set\n# CT_GLIBC_DISABLE_VERSIONING is not set\nCT_GLIBC_OLDEST_ABI=\"\"\nCT_GLIBC_FORCE_UNWIND=y\n# CT_GLIBC_LOCALES is not set\n# CT_GLIBC_KERNEL_VERSION_NONE is not set\nCT_GLIBC_KERNEL_VERSION_AS_HEADERS=y\n# CT_GLIBC_KERNEL_VERSION_CHOSEN is not set\nCT_GLIBC_MIN_KERNEL=\"4.18.20\"\nCT_GLIBC_SSP_DEFAULT=y\n# CT_GLIBC_SSP_NO is not set\n# CT_GLIBC_SSP_YES is not set\n# CT_GLIBC_SSP_ALL is not set\n# CT_GLIBC_SSP_STRONG is not set\nCT_GLIBC_ENABLE_COMMON_FLAG=y\nCT_ALL_LIBC_CHOICES=\"AVR_LIBC GLIBC MINGW_W64 MOXIEBOX MUSL NEWLIB NONE PICOLIBC UCLIBC_NG\"\nCT_LIBC_SUPPORT_THREADS_ANY=y\nCT_LIBC_SUPPORT_THREADS_NATIVE=y\n\n#\n# Common C library options\n#\nCT_THREADS_NATIVE=y\n# CT_CREATE_LDSO_CONF is not set\nCT_LIBC_XLDD=y\n# end of C-library\n\n#\n# C compiler\n#\nCT_CC_CORE_NEEDED=y\nCT_CC_SUPPORT_CXX=y\nCT_CC_SUPPORT_FORTRAN=y\nCT_CC_SUPPORT_ADA=y\nCT_CC_SUPPORT_D=y\nCT_CC_SUPPORT_JIT=y\nCT_CC_SUPPORT_OBJC=y\nCT_CC_SUPPORT_OBJCXX=y\nCT_CC_SUPPORT_GOLANG=y\nCT_CC_GCC=y\nCT_CC=\"gcc\"\nCT_CC_CHOICE_KSYM=\"GCC\"\nCT_CC_GCC_SHOW=y\n\n#\n# Options for gcc\n#\nCT_CC_GCC_PKG_KSYM=\"GCC\"\nCT_GCC_DIR_NAME=\"gcc\"\nCT_GCC_USE_GNU=y\n# CT_GCC_USE_LINARO is not set\n# CT_GCC_USE_ORACLE is not set\nCT_GCC_USE=\"GCC\"\nCT_GCC_PKG_NAME=\"gcc\"\nCT_GCC_SRC_RELEASE=y\n# CT_GCC_SRC_DEVEL is not set\n# CT_GCC_SRC_CUSTOM is not set\nCT_GCC_PATCH_GLOBAL=y\n# CT_GCC_PATCH_BUNDLED is not set\n# CT_GCC_PATCH_LOCAL is not set\n# CT_GCC_PATCH_BUNDLED_LOCAL is not set\n# CT_GCC_PATCH_LOCAL_BUNDLED is not set\n# CT_GCC_PATCH_NONE is not set\nCT_GCC_PATCH_ORDER=\"global\"\nCT_GCC_V_15=y\n# CT_GCC_V_14 is not set\n# CT_GCC_V_13 is not set\n# CT_GCC_V_12 is not set\n# CT_GCC_V_11 is not set\n# CT_GCC_V_10 is not set\n# CT_GCC_V_9 is not set\n# CT_GCC_V_8 is not set\n# CT_GCC_V_7 is not set\n# CT_GCC_V_6 is not set\n# CT_GCC_V_5 is not set\n# CT_GCC_V_4_9 is not set\nCT_GCC_VERSION=\"15.2.0\"\nCT_GCC_MIRRORS=\"$(CT_Mirrors GNU gcc/gcc-${CT_GCC_VERSION}) $(CT_Mirrors sourceware gcc/releases/gcc-${CT_GCC_VERSION})\"\nCT_GCC_ARCHIVE_FILENAME=\"@{pkg_name}-@{version}\"\nCT_GCC_ARCHIVE_DIRNAME=\"@{pkg_name}-@{version}\"\nCT_GCC_ARCHIVE_FORMATS=\".tar.xz .tar.gz\"\nCT_GCC_SIGNATURE_FORMAT=\"\"\nCT_GCC_later_than_15=y\nCT_GCC_15_or_later=y\nCT_GCC_later_than_14=y\nCT_GCC_14_or_later=y\nCT_GCC_later_than_13=y\nCT_GCC_13_or_later=y\nCT_GCC_later_than_12=y\nCT_GCC_12_or_later=y\nCT_GCC_later_than_11=y\nCT_GCC_11_or_later=y\nCT_GCC_later_than_10=y\nCT_GCC_10_or_later=y\nCT_GCC_later_than_9=y\nCT_GCC_9_or_later=y\nCT_GCC_later_than_8=y\nCT_GCC_8_or_later=y\nCT_GCC_later_than_7=y\nCT_GCC_7_or_later=y\nCT_GCC_later_than_6=y\nCT_GCC_6_or_later=y\nCT_GCC_later_than_5=y\nCT_GCC_5_or_later=y\nCT_GCC_later_than_4_9=y\nCT_GCC_4_9_or_later=y\nCT_GCC_REQUIRE_4_9_or_later=y\nCT_CC_GCC_ENABLE_PLUGINS=y\nCT_CC_GCC_HAS_LIBMPX=y\nCT_CC_GCC_ENABLE_CXX_FLAGS=\"\"\nCT_CC_GCC_CORE_EXTRA_CONFIG_ARRAY=\"--enable-host-shared --enable-default-ssp\"\nCT_CC_GCC_EXTRA_CONFIG_ARRAY=\"--enable-host-shared --enable-default-ssp --with-build-config=bootstrap-lto-lean --enable-link-serialization=2\"\n# CT_CC_GCC_STATIC_LIBSTDCXX is not set\n# CT_CC_GCC_SYSTEM_ZLIB is not set\nCT_CC_GCC_CONFIG_TLS=m\n\n#\n# Optimisation features\n#\nCT_CC_GCC_USE_GRAPHITE=y\nCT_CC_GCC_USE_LTO=y\nCT_CC_GCC_LTO_ZSTD=m\n\n#\n# Settings for libraries running on target\n#\nCT_CC_GCC_ENABLE_DEFAULT_PIE=y\n# CT_CC_GCC_ENABLE_TARGET_OPTSPACE is not set\nCT_CC_GCC_LIBSTDCXX=m\n# CT_CC_GCC_LIBSTDCXX_HOSTED_DISABLE is not set\nCT_CC_GCC_LIBSTDCXX_TARGET_CXXFLAGS=\"-O2 -pipe\"\n# CT_CC_GCC_LIBMUDFLAP is not set\nCT_CC_GCC_LIBGOMP=y\nCT_CC_GCC_LIBSSP=m\n# CT_CC_GCC_LIBQUADMATH is not set\n# CT_CC_GCC_LIBSANITIZER is not set\n# CT_CC_GCC_LIBSTDCXX_VERBOSE is not set\n\n#\n# Misc. obscure options.\n#\nCT_CC_CXA_ATEXIT=y\nCT_CC_GCC_TM_CLONE_REGISTRY=m\n# CT_CC_GCC_DISABLE_PCH is not set\nCT_CC_GCC_SJLJ_EXCEPTIONS=m\nCT_CC_GCC_LDBL_128=m\n# CT_CC_GCC_BUILD_ID is not set\nCT_CC_GCC_LNK_HASH_STYLE_DEFAULT=y\n# CT_CC_GCC_LNK_HASH_STYLE_SYSV is not set\n# CT_CC_GCC_LNK_HASH_STYLE_GNU is not set\n# CT_CC_GCC_LNK_HASH_STYLE_BOTH is not set\nCT_CC_GCC_LNK_HASH_STYLE=\"\"\nCT_CC_GCC_DEC_FLOATS_AUTO=y\n# CT_CC_GCC_DEC_FLOATS_BID is not set\n# CT_CC_GCC_DEC_FLOATS_DPD is not set\n# CT_CC_GCC_DEC_FLOATS_NO is not set\nCT_CC_GCC_DEC_FLOATS=\"\"\nCT_ALL_CC_CHOICES=\"GCC\"\n\n#\n# Additional supported languages:\n#\nCT_CC_LANG_CXX=y\n# CT_CC_LANG_FORTRAN is not set\n# CT_CC_LANG_JIT is not set\n# CT_CC_LANG_ADA is not set\n# CT_CC_LANG_D is not set\n# CT_CC_LANG_OBJC is not set\n# CT_CC_LANG_OBJCXX is not set\n# CT_CC_LANG_GOLANG is not set\nCT_CC_LANG_OTHERS=\"\"\n# end of C compiler\n\n#\n# Linkers\n#\n\n#\n# BFD enabled in binutils\n#\nCT_LINKER_MOLD=y\nCT_LINKER_MOLD_PKG_KSYM=\"MOLD\"\nCT_MOLD_DIR_NAME=\"mold\"\nCT_MOLD_PKG_NAME=\"mold\"\nCT_MOLD_SRC_RELEASE=y\n# CT_MOLD_SRC_DEVEL is not set\n# CT_MOLD_SRC_CUSTOM is not set\nCT_MOLD_PATCH_GLOBAL=y\n# CT_MOLD_PATCH_BUNDLED is not set\n# CT_MOLD_PATCH_LOCAL is not set\n# CT_MOLD_PATCH_BUNDLED_LOCAL is not set\n# CT_MOLD_PATCH_LOCAL_BUNDLED is not set\n# CT_MOLD_PATCH_NONE is not set\nCT_MOLD_PATCH_ORDER=\"global\"\nCT_MOLD_V_2_40_4=y\n# CT_MOLD_V_2_39_1 is not set\n# CT_MOLD_V_2_38_1 is not set\n# CT_MOLD_V_2_37_1 is not set\n# CT_MOLD_V_2_36_0 is not set\n# CT_MOLD_V_2_33_0 is not set\n# CT_MOLD_V_2_32_0 is not set\n# CT_MOLD_V_2_31_0 is not set\nCT_MOLD_VERSION=\"2.40.4\"\nCT_MOLD_MIRRORS=\"https://github.com/rui314/mold/archive/refs/tags\"\nCT_MOLD_ARCHIVE_FILENAME=\"v@{version}\"\nCT_MOLD_ARCHIVE_DIRNAME=\"@{pkg_name}-@{version}\"\nCT_MOLD_ARCHIVE_FORMATS=\".tar.gz\"\nCT_MOLD_SIGNATURE_FORMAT=\"\"\nCT_LINKER_MOLD_has_cmake=y\nCT_ALL_LINKER_CHOICES=\"MOLD\"\n# end of Linkers\n\n#\n# Debug facilities\n#\n# CT_DEBUG_DUMA is not set\n# CT_DEBUG_GDB is not set\n# CT_DEBUG_LTRACE is not set\n# CT_DEBUG_STRACE is not set\nCT_ALL_DEBUG_CHOICES=\"DUMA GDB LTRACE STRACE\"\n# end of Debug facilities\n\n#\n# Companion libraries\n#\n# CT_COMPLIBS_CHECK is not set\n# CT_COMP_LIBS_CLOOG is not set\n# CT_COMP_LIBS_EXPAT is not set\nCT_COMP_LIBS_GETTEXT=y\nCT_COMP_LIBS_GETTEXT_PKG_KSYM=\"GETTEXT\"\nCT_GETTEXT_DIR_NAME=\"gettext\"\nCT_GETTEXT_PKG_NAME=\"gettext\"\nCT_GETTEXT_SRC_RELEASE=y\n# CT_GETTEXT_SRC_DEVEL is not set\n# CT_GETTEXT_SRC_CUSTOM is not set\nCT_GETTEXT_PATCH_GLOBAL=y\n# CT_GETTEXT_PATCH_BUNDLED is not set\n# CT_GETTEXT_PATCH_LOCAL is not set\n# CT_GETTEXT_PATCH_BUNDLED_LOCAL is not set\n# CT_GETTEXT_PATCH_LOCAL_BUNDLED is not set\n# CT_GETTEXT_PATCH_NONE is not set\nCT_GETTEXT_PATCH_ORDER=\"global\"\nCT_GETTEXT_V_0_26=y\n# CT_GETTEXT_V_0_23_1 is not set\n# CT_GETTEXT_V_0_22_5 is not set\n# CT_GETTEXT_V_0_21 is not set\n# CT_GETTEXT_V_0_20_1 is not set\n# CT_GETTEXT_V_0_19_8_1 is not set\nCT_GETTEXT_VERSION=\"0.26\"\nCT_GETTEXT_MIRRORS=\"$(CT_Mirrors GNU gettext)\"\nCT_GETTEXT_ARCHIVE_FILENAME=\"@{pkg_name}-@{version}\"\nCT_GETTEXT_ARCHIVE_DIRNAME=\"@{pkg_name}-@{version}\"\nCT_GETTEXT_ARCHIVE_FORMATS=\".tar.xz .tar.gz\"\nCT_GETTEXT_SIGNATURE_FORMAT=\"packed/.sig\"\nCT_GETTEXT_later_than_0_23=y\nCT_GETTEXT_0_23_or_later=y\nCT_GETTEXT_later_than_0_21=y\nCT_GETTEXT_0_21_or_later=y\nCT_GETTEXT_INCOMPATIBLE_WITH_UCLIBC_NG=y\n\n#\n# This version of gettext is not compatible with uClibc-NG. Select\n#\n\n#\n# a different version if uClibc-NG is used on the target or (in a\n#\n\n#\n# Canadian cross build) on the host.\n#\nCT_COMP_LIBS_GMP=y\nCT_COMP_LIBS_GMP_PKG_KSYM=\"GMP\"\nCT_GMP_DIR_NAME=\"gmp\"\nCT_GMP_PKG_NAME=\"gmp\"\nCT_GMP_SRC_RELEASE=y\n# CT_GMP_SRC_DEVEL is not set\n# CT_GMP_SRC_CUSTOM is not set\nCT_GMP_PATCH_GLOBAL=y\n# CT_GMP_PATCH_BUNDLED is not set\n# CT_GMP_PATCH_LOCAL is not set\n# CT_GMP_PATCH_BUNDLED_LOCAL is not set\n# CT_GMP_PATCH_LOCAL_BUNDLED is not set\n# CT_GMP_PATCH_NONE is not set\nCT_GMP_PATCH_ORDER=\"global\"\nCT_GMP_V_6_3=y\n# CT_GMP_V_6_2 is not set\n# CT_GMP_V_6_1 is not set\nCT_GMP_VERSION=\"6.3.0\"\nCT_GMP_MIRRORS=\"https://gmplib.org/download/gmp https://gmplib.org/download/gmp/archive $(CT_Mirrors GNU gmp)\"\nCT_GMP_ARCHIVE_FILENAME=\"@{pkg_name}-@{version}\"\nCT_GMP_ARCHIVE_DIRNAME=\"@{pkg_name}-@{version}\"\nCT_GMP_ARCHIVE_FORMATS=\".tar.xz .tar.lz .tar.bz2\"\nCT_GMP_SIGNATURE_FORMAT=\"packed/.sig\"\nCT_GMP_EXTRA_CFLAGS=\"-std=gnu17\"\nCT_COMP_LIBS_ISL=y\nCT_COMP_LIBS_ISL_PKG_KSYM=\"ISL\"\nCT_ISL_DIR_NAME=\"isl\"\nCT_ISL_PKG_NAME=\"isl\"\nCT_ISL_SRC_RELEASE=y\n# CT_ISL_SRC_DEVEL is not set\n# CT_ISL_SRC_CUSTOM is not set\nCT_ISL_PATCH_GLOBAL=y\n# CT_ISL_PATCH_BUNDLED is not set\n# CT_ISL_PATCH_LOCAL is not set\n# CT_ISL_PATCH_BUNDLED_LOCAL is not set\n# CT_ISL_PATCH_LOCAL_BUNDLED is not set\n# CT_ISL_PATCH_NONE is not set\nCT_ISL_PATCH_ORDER=\"global\"\nCT_ISL_V_0_27=y\n# CT_ISL_V_0_26 is not set\n# CT_ISL_V_0_25 is not set\n# CT_ISL_V_0_24 is not set\n# CT_ISL_V_0_23 is not set\n# CT_ISL_V_0_22 is not set\n# CT_ISL_V_0_21 is not set\n# CT_ISL_V_0_20 is not set\n# CT_ISL_V_0_19 is not set\n# CT_ISL_V_0_18 is not set\n# CT_ISL_V_0_17 is not set\n# CT_ISL_V_0_16 is not set\n# CT_ISL_V_0_15 is not set\n# CT_ISL_V_0_11 is not set\nCT_ISL_VERSION=\"0.27\"\nCT_ISL_MIRRORS=\"https://libisl.sourceforge.io\"\nCT_ISL_ARCHIVE_FILENAME=\"@{pkg_name}-@{version}\"\nCT_ISL_ARCHIVE_DIRNAME=\"@{pkg_name}-@{version}\"\nCT_ISL_ARCHIVE_FORMATS=\".tar.xz .tar.bz2 .tar.gz\"\nCT_ISL_SIGNATURE_FORMAT=\"\"\nCT_ISL_later_than_0_18=y\nCT_ISL_0_18_or_later=y\nCT_ISL_later_than_0_15=y\nCT_ISL_0_15_or_later=y\n# CT_COMP_LIBS_LIBELF is not set\nCT_COMP_LIBS_LIBICONV=y\nCT_COMP_LIBS_LIBICONV_PKG_KSYM=\"LIBICONV\"\nCT_LIBICONV_DIR_NAME=\"libiconv\"\nCT_LIBICONV_PKG_NAME=\"libiconv\"\nCT_LIBICONV_SRC_RELEASE=y\n# CT_LIBICONV_SRC_DEVEL is not set\n# CT_LIBICONV_SRC_CUSTOM is not set\nCT_LIBICONV_PATCH_GLOBAL=y\n# CT_LIBICONV_PATCH_BUNDLED is not set\n# CT_LIBICONV_PATCH_LOCAL is not set\n# CT_LIBICONV_PATCH_BUNDLED_LOCAL is not set\n# CT_LIBICONV_PATCH_LOCAL_BUNDLED is not set\n# CT_LIBICONV_PATCH_NONE is not set\nCT_LIBICONV_PATCH_ORDER=\"global\"\nCT_LIBICONV_V_1_18=y\n# CT_LIBICONV_V_1_16 is not set\n# CT_LIBICONV_V_1_15 is not set\nCT_LIBICONV_VERSION=\"1.18\"\nCT_LIBICONV_MIRRORS=\"$(CT_Mirrors GNU libiconv)\"\nCT_LIBICONV_ARCHIVE_FILENAME=\"@{pkg_name}-@{version}\"\nCT_LIBICONV_ARCHIVE_DIRNAME=\"@{pkg_name}-@{version}\"\nCT_LIBICONV_ARCHIVE_FORMATS=\".tar.gz\"\nCT_LIBICONV_SIGNATURE_FORMAT=\"packed/.sig\"\nCT_COMP_LIBS_MPC=y\nCT_COMP_LIBS_MPC_PKG_KSYM=\"MPC\"\nCT_MPC_DIR_NAME=\"mpc\"\nCT_MPC_PKG_NAME=\"mpc\"\nCT_MPC_SRC_RELEASE=y\n# CT_MPC_SRC_DEVEL is not set\n# CT_MPC_SRC_CUSTOM is not set\nCT_MPC_PATCH_GLOBAL=y\n# CT_MPC_PATCH_BUNDLED is not set\n# CT_MPC_PATCH_LOCAL is not set\n# CT_MPC_PATCH_BUNDLED_LOCAL is not set\n# CT_MPC_PATCH_LOCAL_BUNDLED is not set\n# CT_MPC_PATCH_NONE is not set\nCT_MPC_PATCH_ORDER=\"global\"\nCT_MPC_V_1_3=y\nCT_MPC_VERSION=\"1.3.1\"\nCT_MPC_MIRRORS=\"https://www.multiprecision.org/downloads $(CT_Mirrors GNU mpc)\"\nCT_MPC_ARCHIVE_FILENAME=\"@{pkg_name}-@{version}\"\nCT_MPC_ARCHIVE_DIRNAME=\"@{pkg_name}-@{version}\"\nCT_MPC_ARCHIVE_FORMATS=\".tar.gz\"\nCT_MPC_SIGNATURE_FORMAT=\"packed/.sig\"\nCT_COMP_LIBS_MPFR=y\nCT_COMP_LIBS_MPFR_PKG_KSYM=\"MPFR\"\nCT_MPFR_DIR_NAME=\"mpfr\"\nCT_MPFR_PKG_NAME=\"mpfr\"\nCT_MPFR_SRC_RELEASE=y\n# CT_MPFR_SRC_DEVEL is not set\n# CT_MPFR_SRC_CUSTOM is not set\nCT_MPFR_PATCH_GLOBAL=y\n# CT_MPFR_PATCH_BUNDLED is not set\n# CT_MPFR_PATCH_LOCAL is not set\n# CT_MPFR_PATCH_BUNDLED_LOCAL is not set\n# CT_MPFR_PATCH_LOCAL_BUNDLED is not set\n# CT_MPFR_PATCH_NONE is not set\nCT_MPFR_PATCH_ORDER=\"global\"\nCT_MPFR_V_4_2=y\nCT_MPFR_VERSION=\"4.2.2\"\nCT_MPFR_MIRRORS=\"https://www.mpfr.org/mpfr-${CT_MPFR_VERSION} $(CT_Mirrors GNU mpfr)\"\nCT_MPFR_ARCHIVE_FILENAME=\"@{pkg_name}-@{version}\"\nCT_MPFR_ARCHIVE_DIRNAME=\"@{pkg_name}-@{version}\"\nCT_MPFR_ARCHIVE_FORMATS=\".tar.xz .tar.bz2 .tar.gz .zip\"\nCT_MPFR_SIGNATURE_FORMAT=\"packed/.asc\"\nCT_COMP_LIBS_NCURSES=y\nCT_COMP_LIBS_NCURSES_PKG_KSYM=\"NCURSES\"\nCT_NCURSES_DIR_NAME=\"ncurses\"\nCT_NCURSES_PKG_NAME=\"ncurses\"\nCT_NCURSES_SRC_RELEASE=y\n# CT_NCURSES_SRC_DEVEL is not set\n# CT_NCURSES_SRC_CUSTOM is not set\nCT_NCURSES_PATCH_GLOBAL=y\n# CT_NCURSES_PATCH_BUNDLED is not set\n# CT_NCURSES_PATCH_LOCAL is not set\n# CT_NCURSES_PATCH_BUNDLED_LOCAL is not set\n# CT_NCURSES_PATCH_LOCAL_BUNDLED is not set\n# CT_NCURSES_PATCH_NONE is not set\nCT_NCURSES_PATCH_ORDER=\"global\"\nCT_NCURSES_V_6_5=y\n# CT_NCURSES_V_6_4 is not set\n# CT_NCURSES_V_6_2 is not set\n# CT_NCURSES_V_6_1 is not set\n# CT_NCURSES_V_6_0 is not set\nCT_NCURSES_VERSION=\"6.5\"\nCT_NCURSES_MIRRORS=\"https://invisible-mirror.net/archives/ncurses $(CT_Mirrors GNU ncurses)\"\nCT_NCURSES_ARCHIVE_FILENAME=\"@{pkg_name}-@{version}\"\nCT_NCURSES_ARCHIVE_DIRNAME=\"@{pkg_name}-@{version}\"\nCT_NCURSES_ARCHIVE_FORMATS=\".tar.gz\"\nCT_NCURSES_SIGNATURE_FORMAT=\"packed/.asc\"\n# CT_NCURSES_NEW_ABI is not set\nCT_NCURSES_HOST_CONFIG_ARGS=\"\"\nCT_NCURSES_HOST_DISABLE_DB=y\nCT_NCURSES_HOST_FALLBACKS=\"linux,xterm,xterm-color,xterm-256color,vt100\"\nCT_NCURSES_TARGET_CONFIG_ARGS=\"\"\n# CT_NCURSES_TARGET_DISABLE_DB is not set\nCT_NCURSES_TARGET_FALLBACKS=\"\"\nCT_NCURSES_EXTRA_CFLAGS=\"-std=gnu17\"\nCT_COMP_LIBS_ZLIB=y\nCT_COMP_LIBS_ZLIB_PKG_KSYM=\"ZLIB\"\nCT_ZLIB_DIR_NAME=\"zlib\"\nCT_ZLIB_PKG_NAME=\"zlib\"\nCT_ZLIB_SRC_RELEASE=y\n# CT_ZLIB_SRC_DEVEL is not set\n# CT_ZLIB_SRC_CUSTOM is not set\nCT_ZLIB_PATCH_GLOBAL=y\n# CT_ZLIB_PATCH_BUNDLED is not set\n# CT_ZLIB_PATCH_LOCAL is not set\n# CT_ZLIB_PATCH_BUNDLED_LOCAL is not set\n# CT_ZLIB_PATCH_LOCAL_BUNDLED is not set\n# CT_ZLIB_PATCH_NONE is not set\nCT_ZLIB_PATCH_ORDER=\"global\"\nCT_ZLIB_V_1_3_1=y\n# CT_ZLIB_V_1_2_13 is not set\nCT_ZLIB_VERSION=\"1.3.1\"\nCT_ZLIB_MIRRORS=\"https://github.com/madler/zlib/releases/download/v${CT_ZLIB_VERSION} https://www.zlib.net/\"\nCT_ZLIB_ARCHIVE_FILENAME=\"@{pkg_name}-@{version}\"\nCT_ZLIB_ARCHIVE_DIRNAME=\"@{pkg_name}-@{version}\"\nCT_ZLIB_ARCHIVE_FORMATS=\".tar.xz .tar.gz\"\nCT_ZLIB_SIGNATURE_FORMAT=\"packed/.asc\"\nCT_COMP_LIBS_ZSTD=y\nCT_COMP_LIBS_ZSTD_PKG_KSYM=\"ZSTD\"\nCT_ZSTD_DIR_NAME=\"zstd\"\nCT_ZSTD_PKG_NAME=\"zstd\"\nCT_ZSTD_SRC_RELEASE=y\n# CT_ZSTD_SRC_DEVEL is not set\n# CT_ZSTD_SRC_CUSTOM is not set\nCT_ZSTD_PATCH_GLOBAL=y\n# CT_ZSTD_PATCH_BUNDLED is not set\n# CT_ZSTD_PATCH_LOCAL is not set\n# CT_ZSTD_PATCH_BUNDLED_LOCAL is not set\n# CT_ZSTD_PATCH_LOCAL_BUNDLED is not set\n# CT_ZSTD_PATCH_NONE is not set\nCT_ZSTD_PATCH_ORDER=\"global\"\nCT_ZSTD_V_1_5_7=y\n# CT_ZSTD_V_1_5_6 is not set\n# CT_ZSTD_V_1_5_5 is not set\n# CT_ZSTD_V_1_5_2 is not set\nCT_ZSTD_VERSION=\"1.5.7\"\nCT_ZSTD_MIRRORS=\"https://github.com/facebook/zstd/releases/download/v${CT_ZSTD_VERSION} https://downloads.sourceforge.net/project/zstandard.mirror/v${CT_ZSTD_VERSION}\"\nCT_ZSTD_ARCHIVE_FILENAME=\"@{pkg_name}-@{version}\"\nCT_ZSTD_ARCHIVE_DIRNAME=\"@{pkg_name}-@{version}\"\nCT_ZSTD_ARCHIVE_FORMATS=\".tar.gz\"\nCT_ZSTD_SIGNATURE_FORMAT=\"packed/.sig\"\nCT_ALL_COMP_LIBS_CHOICES=\"CLOOG EXPAT GETTEXT GMP GNUPRUMCU ISL LIBELF LIBICONV MPC MPFR NCURSES NEWLIB_NANO PICOLIBC ZLIB ZSTD\"\nCT_LIBICONV_NEEDED=y\nCT_GETTEXT_NEEDED=y\nCT_GMP_NEEDED=y\nCT_MPFR_NEEDED=y\nCT_ISL_NEEDED=y\nCT_MPC_NEEDED=y\nCT_NCURSES_NEEDED=y\nCT_ZLIB_NEEDED=y\nCT_ZSTD_NEEDED=y\nCT_LIBICONV=y\nCT_GETTEXT=y\nCT_GMP=y\nCT_MPFR=y\nCT_ISL=y\nCT_MPC=y\nCT_NCURSES=y\nCT_ZLIB=y\nCT_ZSTD=y\n# end of Companion libraries\n\n#\n# Companion tools\n#\n# CT_COMP_TOOLS_FOR_HOST is not set\n# CT_COMP_TOOLS_AUTOCONF is not set\n# CT_COMP_TOOLS_AUTOMAKE is not set\n# CT_COMP_TOOLS_BISON is not set\n# CT_COMP_TOOLS_DTC is not set\n# CT_COMP_TOOLS_LIBTOOL is not set\n# CT_COMP_TOOLS_M4 is not set\nCT_COMP_TOOLS_MAKE=y\nCT_COMP_TOOLS_MAKE_PKG_KSYM=\"MAKE\"\nCT_MAKE_DIR_NAME=\"make\"\nCT_MAKE_PKG_NAME=\"make\"\nCT_MAKE_SRC_RELEASE=y\n# CT_MAKE_SRC_DEVEL is not set\n# CT_MAKE_SRC_CUSTOM is not set\nCT_MAKE_PATCH_GLOBAL=y\n# CT_MAKE_PATCH_BUNDLED is not set\n# CT_MAKE_PATCH_LOCAL is not set\n# CT_MAKE_PATCH_BUNDLED_LOCAL is not set\n# CT_MAKE_PATCH_LOCAL_BUNDLED is not set\n# CT_MAKE_PATCH_NONE is not set\nCT_MAKE_PATCH_ORDER=\"global\"\nCT_MAKE_V_4_3=y\nCT_MAKE_VERSION=\"4.3\"\nCT_MAKE_MIRRORS=\"$(CT_Mirrors GNU make)\"\nCT_MAKE_ARCHIVE_FILENAME=\"@{pkg_name}-@{version}\"\nCT_MAKE_ARCHIVE_DIRNAME=\"@{pkg_name}-@{version}\"\nCT_MAKE_ARCHIVE_FORMATS=\".tar.lz .tar.gz\"\nCT_MAKE_SIGNATURE_FORMAT=\"packed/.sig\"\nCT_MAKE_4_4_or_older=y\nCT_MAKE_older_than_4_4=y\nCT_MAKE_REQUIRE_older_than_4_4=y\nCT_MAKE_4_3_or_later=y\nCT_MAKE_4_3_or_older=y\nCT_MAKE_GMAKE_SYMLINK=y\nCT_MAKE_GNUMAKE_SYMLINK=y\nCT_ALL_COMP_TOOLS_CHOICES=\"AUTOCONF AUTOMAKE BISON DTC LIBTOOL M4 MAKE\"\n# end of Companion tools\n\n#\n# Test suite\n#\n# CT_TEST_SUITE_GCC is not set\n# end of Test suite\n"
  },
  {
    "path": "images/base-linuxarm64/gen-implib.sh",
    "content": "#!/bin/bash\nset -e\nif [[ $# != 2 ]]; then\n    echo \"Invalid arguments\"\n    exit 1\nfi\nIN=\"$1\"\nOUT=\"$2\"\n\nTMPDIR=\"$(mktemp -d)\"\ntrap \"rm -rf '$TMPDIR'\" EXIT\ncd \"$TMPDIR\"\n\nset -x\npython3 /opt/implib/implib-gen.py --target aarch64-linux-gnu --dlopen --lazy-load --verbose \"$IN\"\n${FFBUILD_CROSS_PREFIX}gcc $CFLAGS $STAGE_CFLAGS -Wa,--noexecstack -DIMPLIB_HIDDEN_SHIMS -c *.tramp.S *.init.c\n${FFBUILD_CROSS_PREFIX}ar -rcs \"$OUT\" *.tramp.o *.init.o\n"
  },
  {
    "path": "images/base-linuxarm64/toolchain.cmake",
    "content": "set(CMAKE_SYSTEM_NAME Linux)\nset(CMAKE_SYSTEM_PROCESSOR aarch64)\nset(CMAKE_SYSTEM_VERSION 4.18.20)\n\nset(triple aarch64-ffbuild-linux-gnu)\n\nset(CMAKE_C_COMPILER ${triple}-gcc)\nset(CMAKE_CXX_COMPILER ${triple}-g++)\nset(CMAKE_RANLIB ${triple}-gcc-ranlib)\nset(CMAKE_AR ${triple}-gcc-ar)\n\nset(CMAKE_SYSROOT /opt/ct-ng/${triple}/sysroot)\nset(CMAKE_FIND_ROOT_PATH /opt/ct-ng /opt/ct-ng/${triple}/sysroot /opt/ffbuild)\n\nset(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)\nset(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)\nset(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)\n"
  },
  {
    "path": "images/base-linuxmips64/Dockerfile",
    "content": "ARG GH_REPO=ghcr.io/btbn/ffmpeg-builds\nFROM $GH_REPO/base:latest\n\nRUN --mount=src=ct-ng-config,dst=/.config \\\n    git clone --filter=blob:none https://github.com/crosstool-ng/crosstool-ng.git /ct-ng && cd /ct-ng && \\\n    ./bootstrap && \\\n    ./configure --enable-local && \\\n    make -j$(nproc) && \\\n    cp /.config .config && \\\n    ./ct-ng build && \\\n    cd / && \\\n    rm -rf ct-ng\n\n# Prepare cross environment to heavily favour static builds\nRUN \\\n    find /opt/ct-ng \\( -type l \\\n        -and -name '*.so' \\\n        -and -not -ipath '*plugin*' \\\n        -and -not -name 'libdl.*' \\\n        -and -not -name 'libc.*' \\\n        -and -not -name 'libm.*' \\\n        -and -not -name 'libmvec.*' \\\n        -and -not -name 'librt.*' \\\n        -and -not -name 'libpthread.*' \\\n        \\) -delete && \\\n    find /opt/ct-ng \\( \\\n        -name 'libdl.a' \\\n        -or -name 'libc.a' \\\n        -or -name 'libm.a' \\\n        -or -name 'libmvec.a' \\\n        -or -name 'librt.a' \\\n        -or -name 'libpthread.a' \\\n        \\) -delete && \\\n    mkdir /opt/ffbuild\n\nENV FFBUILD_TOOLCHAIN=mips64-ffbuild-linux-gnu \\\n    FFBUILD_RUST_TARGET=\"mips64-unknown-linux-gnuabi64\"\n\nRUN \\\n    rustup default nightly && \\\n    rustup +nightly component add rust-src && \\\n    echo \"[unstable]\\nbuild-std = [\\\"core\\\", \\\"alloc\\\", \\\"std\\\", \\\"proc_macro\\\"]\\n\" > \"$CARGO_HOME\"/config.toml && \\\n    echo \"[target.$FFBUILD_RUST_TARGET]\\nlinker = \\\"${FFBUILD_TOOLCHAIN}-gcc\\\"\\nar = \\\"${FFBUILD_TOOLCHAIN}-gcc-ar\\\"\\n\" > \"$CARGO_HOME\"/config.toml\n\nADD toolchain.cmake /toolchain.cmake\nADD cross.meson /cross.meson\n\nADD gen-implib.sh /usr/bin/gen-implib\nRUN git clone --filter=blob:none --depth=1 https://github.com/yugr/Implib.so /opt/implib\n\nENV PATH=\"/opt/ct-ng/bin:${PATH}\" \\\n    QEMU_LD_PREFIX=\"/opt/ct-ng/${FFBUILD_TOOLCHAIN}/sysroot\" \\\n    FFBUILD_TARGET_FLAGS=\"--pkg-config=pkg-config --cross-prefix=${FFBUILD_TOOLCHAIN}- --arch=mips64 --cpu=mips64r2 --target-os=linux\" \\\n    FFBUILD_CROSS_PREFIX=\"${FFBUILD_TOOLCHAIN}-\" \\\n    FFBUILD_PREFIX=/opt/ffbuild \\\n    FFBUILD_DESTDIR=/opt/ffdest \\\n    FFBUILD_DESTPREFIX=/opt/ffdest/opt/ffbuild \\\n    FFBUILD_CMAKE_TOOLCHAIN=/toolchain.cmake \\\n    PKG_CONFIG=pkg-config \\\n    PKG_CONFIG_LIBDIR=/opt/ffbuild/lib/pkgconfig:/opt/ffbuild/share/pkgconfig \\\n    CC=\"${FFBUILD_TOOLCHAIN}-gcc\" \\\n    CXX=\"${FFBUILD_TOOLCHAIN}-g++\" \\\n    LD=\"${FFBUILD_TOOLCHAIN}-ld\" \\\n    AR=\"${FFBUILD_TOOLCHAIN}-gcc-ar\" \\\n    RANLIB=\"${FFBUILD_TOOLCHAIN}-gcc-ranlib\" \\\n    NM=\"${FFBUILD_TOOLCHAIN}-gcc-nm\" \\\n    CFLAGS=\"-static-libgcc -static-libstdc++ -I/opt/ffbuild/include -O2 -pipe -fPIC -DPIC -D_FORTIFY_SOURCE=2 -fstack-protector-strong -fstack-clash-protection -pthread\" \\\n    CXXFLAGS=\"-static-libgcc -static-libstdc++ -I/opt/ffbuild/include -O2 -pipe -fPIC -DPIC -D_FORTIFY_SOURCE=2 -fstack-protector-strong -fstack-clash-protection -pthread\" \\\n    LDFLAGS=\"-static-libgcc -static-libstdc++ -L/opt/ffbuild/lib -O2 -pipe -fstack-protector-strong -fstack-clash-protection -Wl,-z,relro,-z,now -pthread -lm\" \\\n    STAGE_CFLAGS=\"-fvisibility=hidden -fno-semantic-interposition\" \\\n    STAGE_CXXFLAGS=\"-fvisibility=hidden -fno-semantic-interposition\"\n"
  },
  {
    "path": "images/base-linuxmips64/cross.meson",
    "content": "[binaries]\nc = 'mips64-ffbuild-linux-gnu-gcc'\ncpp = 'mips64-ffbuild-linux-gnu-g++'\nld = 'mips64-ffbuild-linux-gnu-ld'\nar = 'mips64-ffbuild-linux-gnu-gcc-ar'\nranlib = 'mips64-ffbuild-linux-gnu-gcc-ranlib'\nstrip = 'mips64-ffbuild-linux-gnu-strip'\n\n[host_machine]\nsystem = 'linux'\ncpu_family = 'mips64'\ncpu = 'mips64'\nendian = 'big'\n"
  },
  {
    "path": "images/base-linuxmips64/ct-ng-config",
    "content": "#\n# Automatically generated file; DO NOT EDIT.\n# crosstool-NG 1.28.0.23_185f348 Configuration\n#\nCT_CONFIGURE_has_static_link=y\nCT_CONFIGURE_has_cxx11=y\nCT_CONFIGURE_has_wget=y\nCT_CONFIGURE_has_curl=y\nCT_CONFIGURE_has_meson=y\nCT_CONFIGURE_has_ninja=y\nCT_CONFIGURE_has_make_3_81_or_newer=y\nCT_CONFIGURE_has_make_4_0_or_newer=y\nCT_CONFIGURE_has_make_4_4_or_newer=y\nCT_CONFIGURE_has_libtool_2_4_or_newer=y\nCT_CONFIGURE_has_libtoolize_2_4_or_newer=y\nCT_CONFIGURE_has_autoconf_2_65_or_newer=y\nCT_CONFIGURE_has_autoreconf_2_65_or_newer=y\nCT_CONFIGURE_has_automake_1_15_or_newer=y\nCT_CONFIGURE_has_gnu_m4_1_4_12_or_newer=y\nCT_CONFIGURE_has_python_3_4_or_newer=y\nCT_CONFIGURE_has_bison_2_7_or_newer=y\nCT_CONFIGURE_has_bison_3_0_4_or_newer=y\nCT_CONFIGURE_has_python=y\nCT_CONFIGURE_has_dtc=y\nCT_CONFIGURE_has_svn=y\nCT_CONFIGURE_has_git=y\nCT_CONFIGURE_has_md5sum=y\nCT_CONFIGURE_has_sha1sum=y\nCT_CONFIGURE_has_sha256sum=y\nCT_CONFIGURE_has_sha512sum=y\nCT_CONFIGURE_has_install_with_strip_program=y\nCT_VERSION=\"1.28.0.23_185f348\"\nCT_VCHECK=\"\"\nCT_CONFIG_VERSION_ENV=\"4\"\nCT_CONFIG_VERSION_CURRENT=\"4\"\nCT_CONFIG_VERSION=\"4\"\nCT_MODULES=y\n\n#\n# Paths and misc options\n#\n\n#\n# crosstool-NG behavior\n#\nCT_OBSOLETE=y\nCT_EXPERIMENTAL=y\nCT_ALLOW_BUILD_AS_ROOT=y\nCT_ALLOW_BUILD_AS_ROOT_SURE=y\n# CT_ENABLE_EXPERIMENTAL_BUNDLED_PATCHES is not set\n# CT_DEBUG_CT is not set\n\n#\n# Paths\n#\nCT_LOCAL_TARBALLS_DIR=\"${HOME}/src\"\n# CT_SAVE_TARBALLS is not set\n# CT_TARBALLS_BUILDROOT_LAYOUT is not set\nCT_WORK_DIR=\"${CT_TOP_DIR}/build\"\nCT_BUILD_TOP_DIR=\"${CT_WORK_DIR:-${CT_TOP_DIR}/.build}/${CT_HOST:+HOST-${CT_HOST}/}${CT_TARGET}\"\nCT_BUILD_DIR=\"${CT_BUILD_TOP_DIR}/build\"\nCT_PREFIX_DIR=\"/opt/ct-ng\"\nCT_RM_RF_PREFIX_DIR=y\nCT_REMOVE_DOCS=y\n# CT_INSTALL_LICENSES is not set\n# CT_PREFIX_DIR_RO is not set\nCT_STRIP_HOST_TOOLCHAIN_EXECUTABLES=y\nCT_STRIP_TARGET_TOOLCHAIN_EXECUTABLES=y\n# CT_TARBALL_RESULT is not set\n\n#\n# Downloading\n#\nCT_DOWNLOAD_AGENT_WGET=y\n# CT_DOWNLOAD_AGENT_CURL is not set\n# CT_DOWNLOAD_AGENT_NONE is not set\n# CT_FORBID_DOWNLOAD is not set\n# CT_FORCE_DOWNLOAD is not set\nCT_CONNECT_TIMEOUT=10\nCT_DOWNLOAD_WGET_OPTIONS=\"--passive-ftp --tries=3 -nc --progress=dot:binary\"\n# CT_ONLY_DOWNLOAD is not set\n# CT_USE_MIRROR is not set\nCT_VERIFY_DOWNLOAD_DIGEST=y\nCT_VERIFY_DOWNLOAD_DIGEST_SHA512=y\n# CT_VERIFY_DOWNLOAD_DIGEST_SHA256 is not set\n# CT_VERIFY_DOWNLOAD_DIGEST_SHA1 is not set\n# CT_VERIFY_DOWNLOAD_DIGEST_MD5 is not set\nCT_VERIFY_DOWNLOAD_DIGEST_ALG=\"sha512\"\n# CT_VERIFY_DOWNLOAD_SIGNATURE is not set\n\n#\n# Extracting\n#\n# CT_FORCE_EXTRACT is not set\nCT_OVERRIDE_CONFIG_GUESS_SUB=y\n# CT_ONLY_EXTRACT is not set\nCT_PATCH_BUNDLED=y\n# CT_PATCH_LOCAL is not set\n# CT_PATCH_BUNDLED_LOCAL is not set\n# CT_PATCH_LOCAL_BUNDLED is not set\n# CT_PATCH_NONE is not set\nCT_PATCH_ORDER=\"bundled\"\n\n#\n# Build behavior\n#\nCT_PARALLEL_JOBS=0\nCT_LOAD=\"\"\nCT_USE_PIPES=y\nCT_EXTRA_CFLAGS_FOR_BUILD=\"-fPIC -DPIC\"\nCT_EXTRA_CXXFLAGS_FOR_BUILD=\"-fPIC -DPIC\"\nCT_EXTRA_LDFLAGS_FOR_BUILD=\"\"\nCT_EXTRA_CFLAGS_FOR_HOST=\"-fPIC -DPIC\"\nCT_EXTRA_LDFLAGS_FOR_HOST=\"\"\n# CT_CONFIG_SHELL_SH is not set\n# CT_CONFIG_SHELL_ASH is not set\nCT_CONFIG_SHELL_BASH=y\n# CT_CONFIG_SHELL_CUSTOM is not set\nCT_CONFIG_SHELL=\"${bash}\"\n\n#\n# Logging\n#\n# CT_LOG_ERROR is not set\n# CT_LOG_WARN is not set\n# CT_LOG_INFO is not set\n# CT_LOG_EXTRA is not set\n# CT_LOG_ALL is not set\nCT_LOG_DEBUG=y\nCT_LOG_LEVEL_MAX=\"DEBUG\"\n# CT_LOG_SEE_TOOLS_WARN is not set\n# CT_LOG_TO_FILE is not set\n# end of Paths and misc options\n\n#\n# Target options\n#\n# CT_ARCH_ALPHA is not set\n# CT_ARCH_ARC is not set\n# CT_ARCH_ARM is not set\n# CT_ARCH_AVR is not set\n# CT_ARCH_BPF is not set\n# CT_ARCH_C6X is not set\n# CT_ARCH_LM32 is not set\n# CT_ARCH_LOONGARCH is not set\n# CT_ARCH_M68K is not set\n# CT_ARCH_MICROBLAZE is not set\nCT_ARCH_MIPS=y\n# CT_ARCH_MOXIE is not set\n# CT_ARCH_MSP430 is not set\n# CT_ARCH_NIOS2 is not set\n# CT_ARCH_OPENRISC is not set\n# CT_ARCH_PARISC is not set\n# CT_ARCH_POWERPC is not set\n# CT_ARCH_PRU is not set\n# CT_ARCH_RISCV is not set\n# CT_ARCH_RX is not set\n# CT_ARCH_S390 is not set\n# CT_ARCH_SH is not set\n# CT_ARCH_SPARC is not set\n# CT_ARCH_TRICORE is not set\n# CT_ARCH_X86 is not set\n# CT_ARCH_XTENSA is not set\nCT_ARCH=\"mips\"\nCT_ARCH_CHOICE_KSYM=\"MIPS\"\nCT_ARCH_TUNE=\"\"\nCT_ARCH_MIPS_SHOW=y\n\n#\n# Options for mips\n#\nCT_ARCH_MIPS_PKG_KSYM=\"\"\n# CT_ARCH_mips_n32 is not set\nCT_ARCH_mips_n64=y\nCT_ARCH_mips_ABI=\"64\"\nCT_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\"\nCT_ARCH_SUFFIX=\"\"\n# CT_OMIT_TARGET_VENDOR is not set\n\n#\n# Generic target options\n#\n# CT_MULTILIB is not set\nCT_DEMULTILIB=y\nCT_ARCH_USE_MMU=y\nCT_ARCH_SUPPORTS_LIBSANITIZER=y\nCT_ARCH_SUPPORTS_EITHER_ENDIAN=y\nCT_ARCH_DEFAULT_BE=y\nCT_ARCH_BE=y\n# CT_ARCH_LE is not set\nCT_ARCH_ENDIAN=\"big\"\nCT_ARCH_SUPPORTS_32=y\nCT_ARCH_SUPPORTS_64=y\nCT_ARCH_DEFAULT_32=y\nCT_ARCH_BITNESS=64\n# CT_ARCH_32 is not set\nCT_ARCH_64=y\n\n#\n# Target optimisations\n#\nCT_ARCH_SUPPORTS_WITH_ARCH=y\nCT_ARCH_SUPPORTS_WITH_TUNE=y\nCT_ARCH_SUPPORTS_WITH_FLOAT=y\nCT_ARCH_ARCH=\"mips64r2\"\nCT_ARCH_FLOAT_AUTO=y\n# CT_ARCH_FLOAT_HW is not set\n# CT_ARCH_FLOAT_SW is not set\nCT_TARGET_CFLAGS=\"-fPIC -DPIC\"\nCT_TARGET_LDFLAGS=\"\"\nCT_ARCH_FLOAT=\"auto\"\n# end of Target options\n\n#\n# Toolchain options\n#\n\n#\n# General toolchain options\n#\nCT_USE_SYSROOT=y\nCT_SYSROOT_NAME=\"sysroot\"\nCT_SYSROOT_DIR_PREFIX=\"\"\n# CT_STATIC_TOOLCHAIN is not set\nCT_SHOW_CT_VERSION=y\nCT_TOOLCHAIN_PKGVERSION=\"\"\nCT_TOOLCHAIN_BUGURL=\"\"\n\n#\n# Tuple completion and aliasing\n#\nCT_TARGET_VENDOR=\"ffbuild\"\nCT_TARGET_ALIAS_SED_EXPR=\"\"\nCT_TARGET_ALIAS=\"\"\n\n#\n# Toolchain type\n#\n# CT_NATIVE is not set\nCT_CROSS=y\n# CT_CROSS_NATIVE is not set\n# CT_CANADIAN is not set\nCT_TOOLCHAIN_TYPE=\"cross\"\n\n#\n# Build system\n#\nCT_BUILD=\"\"\nCT_BUILD_PREFIX=\"\"\nCT_BUILD_SUFFIX=\"\"\n\n#\n# Misc options\n#\n# CT_TOOLCHAIN_ENABLE_NLS is not set\nCT_TOOLCHAIN_CMAKE_TOOLCHAIN_FILE=y\n# end of Toolchain options\n\n#\n# Operating System\n#\nCT_KERNEL_SUPPORTS_SHARED_LIBS=y\n# CT_KERNEL_BARE_METAL is not set\nCT_KERNEL_LINUX=y\nCT_KERNEL=\"linux\"\nCT_KERNEL_CHOICE_KSYM=\"LINUX\"\nCT_KERNEL_LINUX_SHOW=y\n\n#\n# Options for linux\n#\nCT_KERNEL_LINUX_PKG_KSYM=\"LINUX\"\nCT_LINUX_DIR_NAME=\"linux\"\nCT_LINUX_PKG_NAME=\"linux\"\nCT_LINUX_SRC_RELEASE=y\n# CT_LINUX_SRC_DEVEL is not set\n# CT_LINUX_SRC_CUSTOM is not set\nCT_LINUX_PATCH_GLOBAL=y\n# CT_LINUX_PATCH_BUNDLED is not set\n# CT_LINUX_PATCH_LOCAL is not set\n# CT_LINUX_PATCH_BUNDLED_LOCAL is not set\n# CT_LINUX_PATCH_LOCAL_BUNDLED is not set\n# CT_LINUX_PATCH_NONE is not set\nCT_LINUX_PATCH_ORDER=\"global\"\n# CT_LINUX_V_6_18 is not set\n# CT_LINUX_V_6_17 is not set\n# CT_LINUX_V_6_16 is not set\n# CT_LINUX_V_6_15 is not set\n# CT_LINUX_V_6_14 is not set\n# CT_LINUX_V_6_13 is not set\n# CT_LINUX_V_6_12 is not set\n# CT_LINUX_V_6_11 is not set\n# CT_LINUX_V_6_10 is not set\n# CT_LINUX_V_6_9 is not set\n# CT_LINUX_V_6_8 is not set\n# CT_LINUX_V_6_7 is not set\n# CT_LINUX_V_6_6 is not set\n# CT_LINUX_V_6_5 is not set\n# CT_LINUX_V_6_4 is not set\n# CT_LINUX_V_6_3 is not set\n# CT_LINUX_V_6_2 is not set\n# CT_LINUX_V_6_1 is not set\n# CT_LINUX_V_6_0 is not set\n# CT_LINUX_V_5_19 is not set\n# CT_LINUX_V_5_18 is not set\n# CT_LINUX_V_5_17 is not set\n# CT_LINUX_V_5_16 is not set\n# CT_LINUX_V_5_15 is not set\n# CT_LINUX_V_5_14 is not set\n# CT_LINUX_V_5_13 is not set\n# CT_LINUX_V_5_12 is not set\n# CT_LINUX_V_5_11 is not set\n# CT_LINUX_V_5_10 is not set\n# CT_LINUX_V_5_9 is not set\n# CT_LINUX_V_5_8 is not set\n# CT_LINUX_V_5_7 is not set\n# CT_LINUX_V_5_5 is not set\n# CT_LINUX_V_5_4 is not set\n# CT_LINUX_V_5_3 is not set\n# CT_LINUX_V_5_2 is not set\n# CT_LINUX_V_5_1 is not set\n# CT_LINUX_V_5_0 is not set\n# CT_LINUX_V_4_20 is not set\n# CT_LINUX_V_4_19 is not set\nCT_LINUX_V_4_18=y\n# CT_LINUX_V_4_17 is not set\n# CT_LINUX_V_4_16 is not set\n# CT_LINUX_V_4_15 is not set\n# CT_LINUX_V_4_14 is not set\n# CT_LINUX_V_4_13 is not set\n# CT_LINUX_V_4_12 is not set\n# CT_LINUX_V_4_11 is not set\n# CT_LINUX_V_4_10 is not set\n# CT_LINUX_V_4_9 is not set\n# CT_LINUX_V_4_4 is not set\n# CT_LINUX_V_4_1 is not set\n# CT_LINUX_V_3_18 is not set\n# CT_LINUX_V_3_16 is not set\n# CT_LINUX_V_3_13 is not set\n# CT_LINUX_V_3_12 is not set\n# CT_LINUX_V_3_10 is not set\n# CT_LINUX_V_3_4 is not set\n# CT_LINUX_V_3_2 is not set\nCT_LINUX_VERSION=\"4.18.20\"\nCT_LINUX_MIRRORS=\"$(CT_Mirrors kernel.org linux ${CT_LINUX_VERSION})\"\nCT_LINUX_ARCHIVE_FILENAME=\"@{pkg_name}-@{version}\"\nCT_LINUX_ARCHIVE_DIRNAME=\"@{pkg_name}-@{version}\"\nCT_LINUX_ARCHIVE_FORMATS=\".tar.xz .tar.gz\"\nCT_LINUX_SIGNATURE_FORMAT=\"unpacked/.sign\"\nCT_LINUX_5_19_or_older=y\nCT_LINUX_older_than_5_19=y\nCT_LINUX_5_12_or_older=y\nCT_LINUX_older_than_5_12=y\nCT_LINUX_5_5_or_older=y\nCT_LINUX_older_than_5_5=y\nCT_LINUX_5_3_or_older=y\nCT_LINUX_older_than_5_3=y\nCT_LINUX_later_than_4_8=y\nCT_LINUX_4_8_or_later=y\nCT_LINUX_later_than_3_7=y\nCT_LINUX_3_7_or_later=y\nCT_LINUX_later_than_3_2=y\nCT_LINUX_3_2_or_later=y\nCT_LINUX_REQUIRE_3_2_or_later=y\nCT_KERNEL_has_rsync=y\nCT_KERNEL_DEP_RSYNC=y\nCT_KERNEL_LINUX_VERBOSITY_0=y\n# CT_KERNEL_LINUX_VERBOSITY_1 is not set\n# CT_KERNEL_LINUX_VERBOSITY_2 is not set\nCT_KERNEL_LINUX_VERBOSE_LEVEL=0\n# CT_KERNEL_LINUX_INSTALL_CHECK is not set\nCT_ALL_KERNEL_CHOICES=\"BARE_METAL LINUX WINDOWS\"\n\n#\n# Common kernel options\n#\nCT_SHARED_LIBS=y\n# end of Operating System\n\n#\n# Binary utilities\n#\nCT_ARCH_BINFMT_ELF=y\nCT_BINUTILS_BINUTILS=y\nCT_BINUTILS=\"binutils\"\nCT_BINUTILS_CHOICE_KSYM=\"BINUTILS\"\nCT_BINUTILS_BINUTILS_SHOW=y\n\n#\n# Options for binutils\n#\nCT_BINUTILS_BINUTILS_PKG_KSYM=\"BINUTILS\"\nCT_BINUTILS_DIR_NAME=\"binutils\"\nCT_BINUTILS_USE_GNU=y\n# CT_BINUTILS_USE_LINARO is not set\n# CT_BINUTILS_USE_ORACLE is not set\nCT_BINUTILS_USE=\"BINUTILS\"\nCT_BINUTILS_PKG_NAME=\"binutils\"\nCT_BINUTILS_SRC_RELEASE=y\n# CT_BINUTILS_SRC_DEVEL is not set\n# CT_BINUTILS_SRC_CUSTOM is not set\nCT_BINUTILS_PATCH_GLOBAL=y\n# CT_BINUTILS_PATCH_BUNDLED is not set\n# CT_BINUTILS_PATCH_LOCAL is not set\n# CT_BINUTILS_PATCH_BUNDLED_LOCAL is not set\n# CT_BINUTILS_PATCH_LOCAL_BUNDLED is not set\n# CT_BINUTILS_PATCH_NONE is not set\nCT_BINUTILS_PATCH_ORDER=\"global\"\nCT_BINUTILS_V_2_46=y\n# CT_BINUTILS_V_2_45 is not set\n# CT_BINUTILS_V_2_44 is not set\n# CT_BINUTILS_V_2_43 is not set\n# CT_BINUTILS_V_2_42 is not set\n# CT_BINUTILS_V_2_41 is not set\n# CT_BINUTILS_V_2_40 is not set\n# CT_BINUTILS_V_2_39 is not set\n# CT_BINUTILS_V_2_38 is not set\n# CT_BINUTILS_V_2_37 is not set\n# CT_BINUTILS_V_2_36 is not set\n# CT_BINUTILS_V_2_35 is not set\n# CT_BINUTILS_V_2_34 is not set\n# CT_BINUTILS_V_2_33 is not set\n# CT_BINUTILS_V_2_32 is not set\n# CT_BINUTILS_V_2_31 is not set\n# CT_BINUTILS_V_2_30 is not set\n# CT_BINUTILS_V_2_29 is not set\n# CT_BINUTILS_V_2_28 is not set\n# CT_BINUTILS_V_2_27 is not set\n# CT_BINUTILS_V_2_26 is not set\nCT_BINUTILS_VERSION=\"2.46.0\"\nCT_BINUTILS_MIRRORS=\"$(CT_Mirrors GNU binutils) $(CT_Mirrors sourceware binutils/releases)\"\nCT_BINUTILS_ARCHIVE_FILENAME=\"@{pkg_name}-@{version}\"\nCT_BINUTILS_ARCHIVE_DIRNAME=\"@{pkg_name}-@{version}\"\nCT_BINUTILS_ARCHIVE_FORMATS=\".tar.xz .tar.bz2 .tar.gz\"\nCT_BINUTILS_SIGNATURE_FORMAT=\"packed/.sig\"\nCT_BINUTILS_2_46_0_or_later=y\nCT_BINUTILS_2_46_0_or_older=y\nCT_BINUTILS_later_than_2_45=y\nCT_BINUTILS_2_45_or_later=y\nCT_BINUTILS_later_than_2_44=y\nCT_BINUTILS_2_44_or_later=y\nCT_BINUTILS_later_than_2_41=y\nCT_BINUTILS_2_41_or_later=y\nCT_BINUTILS_later_than_2_39=y\nCT_BINUTILS_2_39_or_later=y\nCT_BINUTILS_later_than_2_30=y\nCT_BINUTILS_2_30_or_later=y\nCT_BINUTILS_later_than_2_27=y\nCT_BINUTILS_2_27_or_later=y\nCT_BINUTILS_later_than_2_26=y\nCT_BINUTILS_2_26_or_later=y\n\n#\n# GNU binutils\n#\nCT_BINUTILS_GOLD_SUPPORTS_ARCH=y\nCT_BINUTILS_FORCE_LD_BFD_DEFAULT=y\nCT_BINUTILS_LINKER_LD=y\nCT_BINUTILS_LINKERS_LIST=\"ld\"\nCT_BINUTILS_LINKER_DEFAULT=\"bfd\"\nCT_BINUTILS_PLUGINS=y\nCT_BINUTILS_RELRO=m\nCT_BINUTILS_DETERMINISTIC_ARCHIVES=y\nCT_BINUTILS_EXTRA_CONFIG_ARRAY=\"\"\n# CT_BINUTILS_FOR_TARGET is not set\n# CT_BINUTILS_GPROFNG is not set\nCT_ALL_BINUTILS_CHOICES=\"BINUTILS\"\n# end of Binary utilities\n\n#\n# C-library\n#\nCT_LIBC_GLIBC=y\n# CT_LIBC_MUSL is not set\n# CT_LIBC_UCLIBC_NG is not set\nCT_LIBC=\"glibc\"\nCT_LIBC_CHOICE_KSYM=\"GLIBC\"\nCT_LIBC_GLIBC_SHOW=y\n\n#\n# Options for glibc\n#\nCT_LIBC_GLIBC_PKG_KSYM=\"GLIBC\"\nCT_GLIBC_DIR_NAME=\"glibc\"\nCT_GLIBC_USE_GNU=y\n# CT_GLIBC_USE_ORACLE is not set\nCT_GLIBC_USE=\"GLIBC\"\nCT_GLIBC_PKG_NAME=\"glibc\"\nCT_GLIBC_SRC_RELEASE=y\n# CT_GLIBC_SRC_DEVEL is not set\n# CT_GLIBC_SRC_CUSTOM is not set\nCT_GLIBC_PATCH_GLOBAL=y\n# CT_GLIBC_PATCH_BUNDLED is not set\n# CT_GLIBC_PATCH_LOCAL is not set\n# CT_GLIBC_PATCH_BUNDLED_LOCAL is not set\n# CT_GLIBC_PATCH_LOCAL_BUNDLED is not set\n# CT_GLIBC_PATCH_NONE is not set\nCT_GLIBC_PATCH_ORDER=\"global\"\n# CT_GLIBC_V_2_43 is not set\n# CT_GLIBC_V_2_42 is not set\n# CT_GLIBC_V_2_41 is not set\n# CT_GLIBC_V_2_40 is not set\n# CT_GLIBC_V_2_39 is not set\n# CT_GLIBC_V_2_38 is not set\n# CT_GLIBC_V_2_37 is not set\n# CT_GLIBC_V_2_36 is not set\n# CT_GLIBC_V_2_35 is not set\n# CT_GLIBC_V_2_34 is not set\n# CT_GLIBC_V_2_33 is not set\n# CT_GLIBC_V_2_32 is not set\n# CT_GLIBC_V_2_31 is not set\n# CT_GLIBC_V_2_30 is not set\n# CT_GLIBC_V_2_29 is not set\nCT_GLIBC_V_2_28=y\n# CT_GLIBC_V_2_27 is not set\n# CT_GLIBC_V_2_26 is not set\n# CT_GLIBC_V_2_25 is not set\n# CT_GLIBC_V_2_24 is not set\n# CT_GLIBC_V_2_23 is not set\n# CT_GLIBC_V_2_19 is not set\n# CT_GLIBC_V_2_17 is not set\nCT_GLIBC_VERSION=\"2.28\"\nCT_GLIBC_MIRRORS=\"$(CT_Mirrors GNU glibc)\"\nCT_GLIBC_ARCHIVE_FILENAME=\"@{pkg_name}-@{version}\"\nCT_GLIBC_ARCHIVE_DIRNAME=\"@{pkg_name}-@{version}\"\nCT_GLIBC_ARCHIVE_FORMATS=\".tar.xz .tar.bz2 .tar.gz\"\nCT_GLIBC_SIGNATURE_FORMAT=\"packed/.sig\"\nCT_GLIBC_2_43_or_older=y\nCT_GLIBC_older_than_2_43=y\nCT_GLIBC_2_42_or_older=y\nCT_GLIBC_older_than_2_42=y\nCT_GLIBC_2_41_or_older=y\nCT_GLIBC_older_than_2_41=y\nCT_GLIBC_2_38_or_older=y\nCT_GLIBC_older_than_2_38=y\nCT_GLIBC_2_37_or_older=y\nCT_GLIBC_older_than_2_37=y\nCT_GLIBC_2_36_or_older=y\nCT_GLIBC_older_than_2_36=y\nCT_GLIBC_2_34_or_older=y\nCT_GLIBC_older_than_2_34=y\nCT_GLIBC_2_32_or_older=y\nCT_GLIBC_older_than_2_32=y\nCT_GLIBC_2_31_or_older=y\nCT_GLIBC_older_than_2_31=y\nCT_GLIBC_2_30_or_older=y\nCT_GLIBC_older_than_2_30=y\nCT_GLIBC_2_29_or_older=y\nCT_GLIBC_older_than_2_29=y\nCT_GLIBC_2_28_or_later=y\nCT_GLIBC_2_28_or_older=y\nCT_GLIBC_later_than_2_27=y\nCT_GLIBC_2_27_or_later=y\nCT_GLIBC_later_than_2_26=y\nCT_GLIBC_2_26_or_later=y\nCT_GLIBC_later_than_2_25=y\nCT_GLIBC_2_25_or_later=y\nCT_GLIBC_later_than_2_24=y\nCT_GLIBC_2_24_or_later=y\nCT_GLIBC_later_than_2_23=y\nCT_GLIBC_2_23_or_later=y\nCT_GLIBC_later_than_2_20=y\nCT_GLIBC_2_20_or_later=y\nCT_GLIBC_later_than_2_17=y\nCT_GLIBC_2_17_or_later=y\nCT_GLIBC_later_than_2_14=y\nCT_GLIBC_2_14_or_later=y\nCT_GLIBC_DEP_KERNEL_HEADERS_VERSION=y\nCT_GLIBC_DEP_BINUTILS=y\nCT_GLIBC_DEP_GCC=y\nCT_GLIBC_DEP_PYTHON=y\nCT_GLIBC_DEP_MAKE_4_3=y\nCT_GLIBC_SPARC_ALLOW_V7=y\nCT_THREADS=\"nptl\"\nCT_GLIBC_BUILD_SSP=y\nCT_GLIBC_HAS_LIBIDN_ADDON=y\n# CT_GLIBC_USE_LIBIDN_ADDON is not set\nCT_GLIBC_NO_SPARC_V8=y\nCT_GLIBC_HAS_OBSOLETE_RPC=y\nCT_GLIBC_EXTRA_CONFIG_ARRAY=\"--with-pic\"\nCT_GLIBC_CONFIGPARMS=\"\"\n# CT_GLIBC_ENABLE_DEBUG is not set\nCT_GLIBC_EXTRA_CFLAGS=\"-fPIC -DPIC\"\nCT_GLIBC_ENABLE_OBSOLETE_RPC=y\n# CT_GLIBC_ENABLE_FORTIFIED_BUILD is not set\n# CT_GLIBC_DISABLE_VERSIONING is not set\nCT_GLIBC_OLDEST_ABI=\"\"\nCT_GLIBC_FORCE_UNWIND=y\n# CT_GLIBC_LOCALES is not set\n# CT_GLIBC_KERNEL_VERSION_NONE is not set\nCT_GLIBC_KERNEL_VERSION_AS_HEADERS=y\n# CT_GLIBC_KERNEL_VERSION_CHOSEN is not set\nCT_GLIBC_MIN_KERNEL=\"4.18.20\"\nCT_GLIBC_SSP_DEFAULT=y\n# CT_GLIBC_SSP_NO is not set\n# CT_GLIBC_SSP_YES is not set\n# CT_GLIBC_SSP_ALL is not set\n# CT_GLIBC_SSP_STRONG is not set\nCT_GLIBC_ENABLE_COMMON_FLAG=y\nCT_ALL_LIBC_CHOICES=\"AVR_LIBC GLIBC MINGW_W64 MOXIEBOX MUSL NEWLIB NONE PICOLIBC UCLIBC_NG\"\nCT_LIBC_SUPPORT_THREADS_ANY=y\nCT_LIBC_SUPPORT_THREADS_NATIVE=y\n\n#\n# Common C library options\n#\nCT_THREADS_NATIVE=y\n# CT_CREATE_LDSO_CONF is not set\nCT_LIBC_XLDD=y\n# end of C-library\n\n#\n# C compiler\n#\nCT_CC_CORE_NEEDED=y\nCT_CC_SUPPORT_CXX=y\nCT_CC_SUPPORT_FORTRAN=y\nCT_CC_SUPPORT_ADA=y\nCT_CC_SUPPORT_D=y\nCT_CC_SUPPORT_JIT=y\nCT_CC_SUPPORT_OBJC=y\nCT_CC_SUPPORT_OBJCXX=y\nCT_CC_SUPPORT_GOLANG=y\nCT_CC_GCC=y\nCT_CC=\"gcc\"\nCT_CC_CHOICE_KSYM=\"GCC\"\nCT_CC_GCC_SHOW=y\n\n#\n# Options for gcc\n#\nCT_CC_GCC_PKG_KSYM=\"GCC\"\nCT_GCC_DIR_NAME=\"gcc\"\nCT_GCC_USE_GNU=y\n# CT_GCC_USE_LINARO is not set\n# CT_GCC_USE_ORACLE is not set\nCT_GCC_USE=\"GCC\"\nCT_GCC_PKG_NAME=\"gcc\"\nCT_GCC_SRC_RELEASE=y\n# CT_GCC_SRC_DEVEL is not set\n# CT_GCC_SRC_CUSTOM is not set\nCT_GCC_PATCH_GLOBAL=y\n# CT_GCC_PATCH_BUNDLED is not set\n# CT_GCC_PATCH_LOCAL is not set\n# CT_GCC_PATCH_BUNDLED_LOCAL is not set\n# CT_GCC_PATCH_LOCAL_BUNDLED is not set\n# CT_GCC_PATCH_NONE is not set\nCT_GCC_PATCH_ORDER=\"global\"\nCT_GCC_V_15=y\n# CT_GCC_V_14 is not set\n# CT_GCC_V_13 is not set\n# CT_GCC_V_12 is not set\n# CT_GCC_V_11 is not set\n# CT_GCC_V_10 is not set\n# CT_GCC_V_9 is not set\n# CT_GCC_V_8 is not set\n# CT_GCC_V_7 is not set\n# CT_GCC_V_6 is not set\n# CT_GCC_V_5 is not set\n# CT_GCC_V_4_9 is not set\nCT_GCC_VERSION=\"15.2.0\"\nCT_GCC_MIRRORS=\"$(CT_Mirrors GNU gcc/gcc-${CT_GCC_VERSION}) $(CT_Mirrors sourceware gcc/releases/gcc-${CT_GCC_VERSION})\"\nCT_GCC_ARCHIVE_FILENAME=\"@{pkg_name}-@{version}\"\nCT_GCC_ARCHIVE_DIRNAME=\"@{pkg_name}-@{version}\"\nCT_GCC_ARCHIVE_FORMATS=\".tar.xz .tar.gz\"\nCT_GCC_SIGNATURE_FORMAT=\"\"\nCT_GCC_later_than_15=y\nCT_GCC_15_or_later=y\nCT_GCC_later_than_14=y\nCT_GCC_14_or_later=y\nCT_GCC_later_than_13=y\nCT_GCC_13_or_later=y\nCT_GCC_later_than_12=y\nCT_GCC_12_or_later=y\nCT_GCC_later_than_11=y\nCT_GCC_11_or_later=y\nCT_GCC_later_than_10=y\nCT_GCC_10_or_later=y\nCT_GCC_later_than_9=y\nCT_GCC_9_or_later=y\nCT_GCC_later_than_8=y\nCT_GCC_8_or_later=y\nCT_GCC_later_than_7=y\nCT_GCC_7_or_later=y\nCT_GCC_later_than_6=y\nCT_GCC_6_or_later=y\nCT_GCC_later_than_5=y\nCT_GCC_5_or_later=y\nCT_GCC_later_than_4_9=y\nCT_GCC_4_9_or_later=y\nCT_GCC_REQUIRE_4_9_or_later=y\nCT_CC_GCC_ENABLE_PLUGINS=y\nCT_CC_GCC_HAS_LIBMPX=y\nCT_CC_GCC_ENABLE_CXX_FLAGS=\"\"\nCT_CC_GCC_CORE_EXTRA_CONFIG_ARRAY=\"--enable-host-shared --enable-default-ssp\"\nCT_CC_GCC_EXTRA_CONFIG_ARRAY=\"--enable-host-shared --enable-default-ssp --with-build-config=bootstrap-lto-lean --enable-link-serialization=2\"\n# CT_CC_GCC_STATIC_LIBSTDCXX is not set\n# CT_CC_GCC_SYSTEM_ZLIB is not set\nCT_CC_GCC_CONFIG_TLS=m\n\n#\n# Optimisation features\n#\nCT_CC_GCC_USE_GRAPHITE=y\nCT_CC_GCC_USE_LTO=y\nCT_CC_GCC_LTO_ZSTD=m\n\n#\n# Settings for libraries running on target\n#\n# CT_CC_GCC_ENABLE_TARGET_OPTSPACE is not set\nCT_CC_GCC_LIBSTDCXX=m\n# CT_CC_GCC_LIBSTDCXX_HOSTED_DISABLE is not set\nCT_CC_GCC_LIBSTDCXX_TARGET_CXXFLAGS=\"-O2 -pipe\"\n# CT_CC_GCC_LIBMUDFLAP is not set\nCT_CC_GCC_LIBGOMP=y\nCT_CC_GCC_LIBSSP=m\n# CT_CC_GCC_LIBQUADMATH is not set\n# CT_CC_GCC_LIBSANITIZER is not set\n# CT_CC_GCC_LIBSTDCXX_VERBOSE is not set\n\n#\n# Misc. obscure options.\n#\nCT_CC_CXA_ATEXIT=y\nCT_CC_GCC_TM_CLONE_REGISTRY=m\n# CT_CC_GCC_DISABLE_PCH is not set\nCT_CC_GCC_SJLJ_EXCEPTIONS=m\nCT_CC_GCC_LDBL_128=m\n# CT_CC_GCC_BUILD_ID is not set\nCT_CC_GCC_LNK_HASH_STYLE_DEFAULT=y\n# CT_CC_GCC_LNK_HASH_STYLE_SYSV is not set\n# CT_CC_GCC_LNK_HASH_STYLE_GNU is not set\n# CT_CC_GCC_LNK_HASH_STYLE_BOTH is not set\nCT_CC_GCC_LNK_HASH_STYLE=\"\"\nCT_CC_GCC_DEC_FLOATS_AUTO=y\n# CT_CC_GCC_DEC_FLOATS_BID is not set\n# CT_CC_GCC_DEC_FLOATS_DPD is not set\n# CT_CC_GCC_DEC_FLOATS_NO is not set\nCT_CC_GCC_DEC_FLOATS=\"\"\nCT_CC_GCC_HAS_ARCH_OPTIONS=y\n\n#\n# archictecture-specific options\n#\nCT_CC_GCC_mips_llsc=m\nCT_CC_GCC_mips_synci=m\n# CT_CC_GCC_mips_plt is not set\nCT_ALL_CC_CHOICES=\"GCC\"\n\n#\n# Additional supported languages:\n#\nCT_CC_LANG_CXX=y\n# CT_CC_LANG_FORTRAN is not set\n# CT_CC_LANG_JIT is not set\n# CT_CC_LANG_ADA is not set\n# CT_CC_LANG_D is not set\n# CT_CC_LANG_OBJC is not set\n# CT_CC_LANG_OBJCXX is not set\n# CT_CC_LANG_GOLANG is not set\nCT_CC_LANG_OTHERS=\"\"\n# end of C compiler\n\n#\n# Linkers\n#\n\n#\n# BFD enabled in binutils\n#\nCT_LINKER_MOLD=y\nCT_LINKER_MOLD_PKG_KSYM=\"MOLD\"\nCT_MOLD_DIR_NAME=\"mold\"\nCT_MOLD_PKG_NAME=\"mold\"\nCT_MOLD_SRC_RELEASE=y\n# CT_MOLD_SRC_DEVEL is not set\n# CT_MOLD_SRC_CUSTOM is not set\nCT_MOLD_PATCH_GLOBAL=y\n# CT_MOLD_PATCH_BUNDLED is not set\n# CT_MOLD_PATCH_LOCAL is not set\n# CT_MOLD_PATCH_BUNDLED_LOCAL is not set\n# CT_MOLD_PATCH_LOCAL_BUNDLED is not set\n# CT_MOLD_PATCH_NONE is not set\nCT_MOLD_PATCH_ORDER=\"global\"\nCT_MOLD_V_2_40_4=y\n# CT_MOLD_V_2_39_1 is not set\n# CT_MOLD_V_2_38_1 is not set\n# CT_MOLD_V_2_37_1 is not set\n# CT_MOLD_V_2_36_0 is not set\n# CT_MOLD_V_2_33_0 is not set\n# CT_MOLD_V_2_32_0 is not set\n# CT_MOLD_V_2_31_0 is not set\nCT_MOLD_VERSION=\"2.40.4\"\nCT_MOLD_MIRRORS=\"https://github.com/rui314/mold/archive/refs/tags\"\nCT_MOLD_ARCHIVE_FILENAME=\"v@{version}\"\nCT_MOLD_ARCHIVE_DIRNAME=\"@{pkg_name}-@{version}\"\nCT_MOLD_ARCHIVE_FORMATS=\".tar.gz\"\nCT_MOLD_SIGNATURE_FORMAT=\"\"\nCT_LINKER_MOLD_has_cmake=y\nCT_ALL_LINKER_CHOICES=\"MOLD\"\n# end of Linkers\n\n#\n# Debug facilities\n#\n# CT_DEBUG_DUMA is not set\n# CT_DEBUG_GDB is not set\n# CT_DEBUG_LTRACE is not set\n# CT_DEBUG_STRACE is not set\nCT_ALL_DEBUG_CHOICES=\"DUMA GDB LTRACE STRACE\"\n# end of Debug facilities\n\n#\n# Companion libraries\n#\n# CT_COMPLIBS_CHECK is not set\n# CT_COMP_LIBS_CLOOG is not set\n# CT_COMP_LIBS_EXPAT is not set\nCT_COMP_LIBS_GETTEXT=y\nCT_COMP_LIBS_GETTEXT_PKG_KSYM=\"GETTEXT\"\nCT_GETTEXT_DIR_NAME=\"gettext\"\nCT_GETTEXT_PKG_NAME=\"gettext\"\nCT_GETTEXT_SRC_RELEASE=y\n# CT_GETTEXT_SRC_DEVEL is not set\n# CT_GETTEXT_SRC_CUSTOM is not set\nCT_GETTEXT_PATCH_GLOBAL=y\n# CT_GETTEXT_PATCH_BUNDLED is not set\n# CT_GETTEXT_PATCH_LOCAL is not set\n# CT_GETTEXT_PATCH_BUNDLED_LOCAL is not set\n# CT_GETTEXT_PATCH_LOCAL_BUNDLED is not set\n# CT_GETTEXT_PATCH_NONE is not set\nCT_GETTEXT_PATCH_ORDER=\"global\"\nCT_GETTEXT_V_0_26=y\n# CT_GETTEXT_V_0_23_1 is not set\n# CT_GETTEXT_V_0_22_5 is not set\n# CT_GETTEXT_V_0_21 is not set\n# CT_GETTEXT_V_0_20_1 is not set\n# CT_GETTEXT_V_0_19_8_1 is not set\nCT_GETTEXT_VERSION=\"0.26\"\nCT_GETTEXT_MIRRORS=\"$(CT_Mirrors GNU gettext)\"\nCT_GETTEXT_ARCHIVE_FILENAME=\"@{pkg_name}-@{version}\"\nCT_GETTEXT_ARCHIVE_DIRNAME=\"@{pkg_name}-@{version}\"\nCT_GETTEXT_ARCHIVE_FORMATS=\".tar.xz .tar.gz\"\nCT_GETTEXT_SIGNATURE_FORMAT=\"packed/.sig\"\nCT_GETTEXT_later_than_0_23=y\nCT_GETTEXT_0_23_or_later=y\nCT_GETTEXT_later_than_0_21=y\nCT_GETTEXT_0_21_or_later=y\nCT_GETTEXT_INCOMPATIBLE_WITH_UCLIBC_NG=y\n\n#\n# This version of gettext is not compatible with uClibc-NG. Select\n#\n\n#\n# a different version if uClibc-NG is used on the target or (in a\n#\n\n#\n# Canadian cross build) on the host.\n#\nCT_COMP_LIBS_GMP=y\nCT_COMP_LIBS_GMP_PKG_KSYM=\"GMP\"\nCT_GMP_DIR_NAME=\"gmp\"\nCT_GMP_PKG_NAME=\"gmp\"\nCT_GMP_SRC_RELEASE=y\n# CT_GMP_SRC_DEVEL is not set\n# CT_GMP_SRC_CUSTOM is not set\nCT_GMP_PATCH_GLOBAL=y\n# CT_GMP_PATCH_BUNDLED is not set\n# CT_GMP_PATCH_LOCAL is not set\n# CT_GMP_PATCH_BUNDLED_LOCAL is not set\n# CT_GMP_PATCH_LOCAL_BUNDLED is not set\n# CT_GMP_PATCH_NONE is not set\nCT_GMP_PATCH_ORDER=\"global\"\nCT_GMP_V_6_3=y\n# CT_GMP_V_6_2 is not set\n# CT_GMP_V_6_1 is not set\nCT_GMP_VERSION=\"6.3.0\"\nCT_GMP_MIRRORS=\"https://gmplib.org/download/gmp https://gmplib.org/download/gmp/archive $(CT_Mirrors GNU gmp)\"\nCT_GMP_ARCHIVE_FILENAME=\"@{pkg_name}-@{version}\"\nCT_GMP_ARCHIVE_DIRNAME=\"@{pkg_name}-@{version}\"\nCT_GMP_ARCHIVE_FORMATS=\".tar.xz .tar.lz .tar.bz2\"\nCT_GMP_SIGNATURE_FORMAT=\"packed/.sig\"\nCT_GMP_EXTRA_CFLAGS=\"-std=gnu17\"\nCT_COMP_LIBS_ISL=y\nCT_COMP_LIBS_ISL_PKG_KSYM=\"ISL\"\nCT_ISL_DIR_NAME=\"isl\"\nCT_ISL_PKG_NAME=\"isl\"\nCT_ISL_SRC_RELEASE=y\n# CT_ISL_SRC_DEVEL is not set\n# CT_ISL_SRC_CUSTOM is not set\nCT_ISL_PATCH_GLOBAL=y\n# CT_ISL_PATCH_BUNDLED is not set\n# CT_ISL_PATCH_LOCAL is not set\n# CT_ISL_PATCH_BUNDLED_LOCAL is not set\n# CT_ISL_PATCH_LOCAL_BUNDLED is not set\n# CT_ISL_PATCH_NONE is not set\nCT_ISL_PATCH_ORDER=\"global\"\nCT_ISL_V_0_27=y\n# CT_ISL_V_0_26 is not set\n# CT_ISL_V_0_25 is not set\n# CT_ISL_V_0_24 is not set\n# CT_ISL_V_0_23 is not set\n# CT_ISL_V_0_22 is not set\n# CT_ISL_V_0_21 is not set\n# CT_ISL_V_0_20 is not set\n# CT_ISL_V_0_19 is not set\n# CT_ISL_V_0_18 is not set\n# CT_ISL_V_0_17 is not set\n# CT_ISL_V_0_16 is not set\n# CT_ISL_V_0_15 is not set\n# CT_ISL_V_0_11 is not set\nCT_ISL_VERSION=\"0.27\"\nCT_ISL_MIRRORS=\"https://libisl.sourceforge.io\"\nCT_ISL_ARCHIVE_FILENAME=\"@{pkg_name}-@{version}\"\nCT_ISL_ARCHIVE_DIRNAME=\"@{pkg_name}-@{version}\"\nCT_ISL_ARCHIVE_FORMATS=\".tar.xz .tar.bz2 .tar.gz\"\nCT_ISL_SIGNATURE_FORMAT=\"\"\nCT_ISL_later_than_0_18=y\nCT_ISL_0_18_or_later=y\nCT_ISL_later_than_0_15=y\nCT_ISL_0_15_or_later=y\n# CT_COMP_LIBS_LIBELF is not set\nCT_COMP_LIBS_LIBICONV=y\nCT_COMP_LIBS_LIBICONV_PKG_KSYM=\"LIBICONV\"\nCT_LIBICONV_DIR_NAME=\"libiconv\"\nCT_LIBICONV_PKG_NAME=\"libiconv\"\nCT_LIBICONV_SRC_RELEASE=y\n# CT_LIBICONV_SRC_DEVEL is not set\n# CT_LIBICONV_SRC_CUSTOM is not set\nCT_LIBICONV_PATCH_GLOBAL=y\n# CT_LIBICONV_PATCH_BUNDLED is not set\n# CT_LIBICONV_PATCH_LOCAL is not set\n# CT_LIBICONV_PATCH_BUNDLED_LOCAL is not set\n# CT_LIBICONV_PATCH_LOCAL_BUNDLED is not set\n# CT_LIBICONV_PATCH_NONE is not set\nCT_LIBICONV_PATCH_ORDER=\"global\"\nCT_LIBICONV_V_1_18=y\n# CT_LIBICONV_V_1_16 is not set\n# CT_LIBICONV_V_1_15 is not set\nCT_LIBICONV_VERSION=\"1.18\"\nCT_LIBICONV_MIRRORS=\"$(CT_Mirrors GNU libiconv)\"\nCT_LIBICONV_ARCHIVE_FILENAME=\"@{pkg_name}-@{version}\"\nCT_LIBICONV_ARCHIVE_DIRNAME=\"@{pkg_name}-@{version}\"\nCT_LIBICONV_ARCHIVE_FORMATS=\".tar.gz\"\nCT_LIBICONV_SIGNATURE_FORMAT=\"packed/.sig\"\nCT_COMP_LIBS_MPC=y\nCT_COMP_LIBS_MPC_PKG_KSYM=\"MPC\"\nCT_MPC_DIR_NAME=\"mpc\"\nCT_MPC_PKG_NAME=\"mpc\"\nCT_MPC_SRC_RELEASE=y\n# CT_MPC_SRC_DEVEL is not set\n# CT_MPC_SRC_CUSTOM is not set\nCT_MPC_PATCH_GLOBAL=y\n# CT_MPC_PATCH_BUNDLED is not set\n# CT_MPC_PATCH_LOCAL is not set\n# CT_MPC_PATCH_BUNDLED_LOCAL is not set\n# CT_MPC_PATCH_LOCAL_BUNDLED is not set\n# CT_MPC_PATCH_NONE is not set\nCT_MPC_PATCH_ORDER=\"global\"\nCT_MPC_V_1_3=y\nCT_MPC_VERSION=\"1.3.1\"\nCT_MPC_MIRRORS=\"https://www.multiprecision.org/downloads $(CT_Mirrors GNU mpc)\"\nCT_MPC_ARCHIVE_FILENAME=\"@{pkg_name}-@{version}\"\nCT_MPC_ARCHIVE_DIRNAME=\"@{pkg_name}-@{version}\"\nCT_MPC_ARCHIVE_FORMATS=\".tar.gz\"\nCT_MPC_SIGNATURE_FORMAT=\"packed/.sig\"\nCT_COMP_LIBS_MPFR=y\nCT_COMP_LIBS_MPFR_PKG_KSYM=\"MPFR\"\nCT_MPFR_DIR_NAME=\"mpfr\"\nCT_MPFR_PKG_NAME=\"mpfr\"\nCT_MPFR_SRC_RELEASE=y\n# CT_MPFR_SRC_DEVEL is not set\n# CT_MPFR_SRC_CUSTOM is not set\nCT_MPFR_PATCH_GLOBAL=y\n# CT_MPFR_PATCH_BUNDLED is not set\n# CT_MPFR_PATCH_LOCAL is not set\n# CT_MPFR_PATCH_BUNDLED_LOCAL is not set\n# CT_MPFR_PATCH_LOCAL_BUNDLED is not set\n# CT_MPFR_PATCH_NONE is not set\nCT_MPFR_PATCH_ORDER=\"global\"\nCT_MPFR_V_4_2=y\nCT_MPFR_VERSION=\"4.2.2\"\nCT_MPFR_MIRRORS=\"https://www.mpfr.org/mpfr-${CT_MPFR_VERSION} $(CT_Mirrors GNU mpfr)\"\nCT_MPFR_ARCHIVE_FILENAME=\"@{pkg_name}-@{version}\"\nCT_MPFR_ARCHIVE_DIRNAME=\"@{pkg_name}-@{version}\"\nCT_MPFR_ARCHIVE_FORMATS=\".tar.xz .tar.bz2 .tar.gz .zip\"\nCT_MPFR_SIGNATURE_FORMAT=\"packed/.asc\"\nCT_COMP_LIBS_NCURSES=y\nCT_COMP_LIBS_NCURSES_PKG_KSYM=\"NCURSES\"\nCT_NCURSES_DIR_NAME=\"ncurses\"\nCT_NCURSES_PKG_NAME=\"ncurses\"\nCT_NCURSES_SRC_RELEASE=y\n# CT_NCURSES_SRC_DEVEL is not set\n# CT_NCURSES_SRC_CUSTOM is not set\nCT_NCURSES_PATCH_GLOBAL=y\n# CT_NCURSES_PATCH_BUNDLED is not set\n# CT_NCURSES_PATCH_LOCAL is not set\n# CT_NCURSES_PATCH_BUNDLED_LOCAL is not set\n# CT_NCURSES_PATCH_LOCAL_BUNDLED is not set\n# CT_NCURSES_PATCH_NONE is not set\nCT_NCURSES_PATCH_ORDER=\"global\"\nCT_NCURSES_V_6_5=y\n# CT_NCURSES_V_6_4 is not set\n# CT_NCURSES_V_6_2 is not set\n# CT_NCURSES_V_6_1 is not set\n# CT_NCURSES_V_6_0 is not set\nCT_NCURSES_VERSION=\"6.5\"\nCT_NCURSES_MIRRORS=\"https://invisible-mirror.net/archives/ncurses $(CT_Mirrors GNU ncurses)\"\nCT_NCURSES_ARCHIVE_FILENAME=\"@{pkg_name}-@{version}\"\nCT_NCURSES_ARCHIVE_DIRNAME=\"@{pkg_name}-@{version}\"\nCT_NCURSES_ARCHIVE_FORMATS=\".tar.gz\"\nCT_NCURSES_SIGNATURE_FORMAT=\"packed/.asc\"\n# CT_NCURSES_NEW_ABI is not set\nCT_NCURSES_HOST_CONFIG_ARGS=\"\"\nCT_NCURSES_HOST_DISABLE_DB=y\nCT_NCURSES_HOST_FALLBACKS=\"linux,xterm,xterm-color,xterm-256color,vt100\"\nCT_NCURSES_TARGET_CONFIG_ARGS=\"\"\n# CT_NCURSES_TARGET_DISABLE_DB is not set\nCT_NCURSES_TARGET_FALLBACKS=\"\"\nCT_NCURSES_EXTRA_CFLAGS=\"-std=gnu17\"\nCT_COMP_LIBS_ZLIB=y\nCT_COMP_LIBS_ZLIB_PKG_KSYM=\"ZLIB\"\nCT_ZLIB_DIR_NAME=\"zlib\"\nCT_ZLIB_PKG_NAME=\"zlib\"\nCT_ZLIB_SRC_RELEASE=y\n# CT_ZLIB_SRC_DEVEL is not set\n# CT_ZLIB_SRC_CUSTOM is not set\nCT_ZLIB_PATCH_GLOBAL=y\n# CT_ZLIB_PATCH_BUNDLED is not set\n# CT_ZLIB_PATCH_LOCAL is not set\n# CT_ZLIB_PATCH_BUNDLED_LOCAL is not set\n# CT_ZLIB_PATCH_LOCAL_BUNDLED is not set\n# CT_ZLIB_PATCH_NONE is not set\nCT_ZLIB_PATCH_ORDER=\"global\"\nCT_ZLIB_V_1_3_1=y\n# CT_ZLIB_V_1_2_13 is not set\nCT_ZLIB_VERSION=\"1.3.1\"\nCT_ZLIB_MIRRORS=\"https://github.com/madler/zlib/releases/download/v${CT_ZLIB_VERSION} https://www.zlib.net/\"\nCT_ZLIB_ARCHIVE_FILENAME=\"@{pkg_name}-@{version}\"\nCT_ZLIB_ARCHIVE_DIRNAME=\"@{pkg_name}-@{version}\"\nCT_ZLIB_ARCHIVE_FORMATS=\".tar.xz .tar.gz\"\nCT_ZLIB_SIGNATURE_FORMAT=\"packed/.asc\"\nCT_COMP_LIBS_ZSTD=y\nCT_COMP_LIBS_ZSTD_PKG_KSYM=\"ZSTD\"\nCT_ZSTD_DIR_NAME=\"zstd\"\nCT_ZSTD_PKG_NAME=\"zstd\"\nCT_ZSTD_SRC_RELEASE=y\n# CT_ZSTD_SRC_DEVEL is not set\n# CT_ZSTD_SRC_CUSTOM is not set\nCT_ZSTD_PATCH_GLOBAL=y\n# CT_ZSTD_PATCH_BUNDLED is not set\n# CT_ZSTD_PATCH_LOCAL is not set\n# CT_ZSTD_PATCH_BUNDLED_LOCAL is not set\n# CT_ZSTD_PATCH_LOCAL_BUNDLED is not set\n# CT_ZSTD_PATCH_NONE is not set\nCT_ZSTD_PATCH_ORDER=\"global\"\nCT_ZSTD_V_1_5_7=y\n# CT_ZSTD_V_1_5_6 is not set\n# CT_ZSTD_V_1_5_5 is not set\n# CT_ZSTD_V_1_5_2 is not set\nCT_ZSTD_VERSION=\"1.5.7\"\nCT_ZSTD_MIRRORS=\"https://github.com/facebook/zstd/releases/download/v${CT_ZSTD_VERSION} https://downloads.sourceforge.net/project/zstandard.mirror/v${CT_ZSTD_VERSION}\"\nCT_ZSTD_ARCHIVE_FILENAME=\"@{pkg_name}-@{version}\"\nCT_ZSTD_ARCHIVE_DIRNAME=\"@{pkg_name}-@{version}\"\nCT_ZSTD_ARCHIVE_FORMATS=\".tar.gz\"\nCT_ZSTD_SIGNATURE_FORMAT=\"packed/.sig\"\nCT_ALL_COMP_LIBS_CHOICES=\"CLOOG EXPAT GETTEXT GMP GNUPRUMCU ISL LIBELF LIBICONV MPC MPFR NCURSES NEWLIB_NANO PICOLIBC ZLIB ZSTD\"\nCT_LIBICONV_NEEDED=y\nCT_GETTEXT_NEEDED=y\nCT_GMP_NEEDED=y\nCT_MPFR_NEEDED=y\nCT_ISL_NEEDED=y\nCT_MPC_NEEDED=y\nCT_NCURSES_NEEDED=y\nCT_ZLIB_NEEDED=y\nCT_ZSTD_NEEDED=y\nCT_LIBICONV=y\nCT_GETTEXT=y\nCT_GMP=y\nCT_MPFR=y\nCT_ISL=y\nCT_MPC=y\nCT_NCURSES=y\nCT_ZLIB=y\nCT_ZSTD=y\n# end of Companion libraries\n\n#\n# Companion tools\n#\n# CT_COMP_TOOLS_FOR_HOST is not set\n# CT_COMP_TOOLS_AUTOCONF is not set\n# CT_COMP_TOOLS_AUTOMAKE is not set\n# CT_COMP_TOOLS_BISON is not set\n# CT_COMP_TOOLS_DTC is not set\n# CT_COMP_TOOLS_LIBTOOL is not set\n# CT_COMP_TOOLS_M4 is not set\nCT_COMP_TOOLS_MAKE=y\nCT_COMP_TOOLS_MAKE_PKG_KSYM=\"MAKE\"\nCT_MAKE_DIR_NAME=\"make\"\nCT_MAKE_PKG_NAME=\"make\"\nCT_MAKE_SRC_RELEASE=y\n# CT_MAKE_SRC_DEVEL is not set\n# CT_MAKE_SRC_CUSTOM is not set\nCT_MAKE_PATCH_GLOBAL=y\n# CT_MAKE_PATCH_BUNDLED is not set\n# CT_MAKE_PATCH_LOCAL is not set\n# CT_MAKE_PATCH_BUNDLED_LOCAL is not set\n# CT_MAKE_PATCH_LOCAL_BUNDLED is not set\n# CT_MAKE_PATCH_NONE is not set\nCT_MAKE_PATCH_ORDER=\"global\"\nCT_MAKE_V_4_3=y\nCT_MAKE_VERSION=\"4.3\"\nCT_MAKE_MIRRORS=\"$(CT_Mirrors GNU make)\"\nCT_MAKE_ARCHIVE_FILENAME=\"@{pkg_name}-@{version}\"\nCT_MAKE_ARCHIVE_DIRNAME=\"@{pkg_name}-@{version}\"\nCT_MAKE_ARCHIVE_FORMATS=\".tar.lz .tar.gz\"\nCT_MAKE_SIGNATURE_FORMAT=\"packed/.sig\"\nCT_MAKE_4_4_or_older=y\nCT_MAKE_older_than_4_4=y\nCT_MAKE_REQUIRE_older_than_4_4=y\nCT_MAKE_4_3_or_later=y\nCT_MAKE_4_3_or_older=y\nCT_MAKE_GMAKE_SYMLINK=y\nCT_MAKE_GNUMAKE_SYMLINK=y\nCT_ALL_COMP_TOOLS_CHOICES=\"AUTOCONF AUTOMAKE BISON DTC LIBTOOL M4 MAKE\"\n# end of Companion tools\n\n#\n# Test suite\n#\n# CT_TEST_SUITE_GCC is not set\n# end of Test suite\n"
  },
  {
    "path": "images/base-linuxmips64/gen-implib.sh",
    "content": "#!/bin/bash\nset -e\nif [[ $# != 2 ]]; then\n    echo \"Invalid arguments\"\n    exit 1\nfi\nIN=\"$1\"\nOUT=\"$2\"\n\nTMPDIR=\"$(mktemp -d)\"\ntrap \"rm -rf '$TMPDIR'\" EXIT\ncd \"$TMPDIR\"\n\nset -x\npython3 /opt/implib/implib-gen.py --target aarch64-linux-gnu --dlopen --lazy-load --verbose \"$IN\"\n${FFBUILD_CROSS_PREFIX}gcc $CFLAGS $STAGE_CFLAGS -Wa,--noexecstack -DIMPLIB_HIDDEN_SHIMS -c *.tramp.S *.init.c\n${FFBUILD_CROSS_PREFIX}ar -rcs \"$OUT\" *.tramp.o *.init.o\n"
  },
  {
    "path": "images/base-linuxmips64/toolchain.cmake",
    "content": "set(CMAKE_SYSTEM_NAME Linux)\nset(CMAKE_SYSTEM_PROCESSOR mips64)\nset(CMAKE_SYSTEM_VERSION 4.18.20)\n\nset(triple mips64-ffbuild-linux-gnu)\n\nset(CMAKE_C_COMPILER ${triple}-gcc)\nset(CMAKE_CXX_COMPILER ${triple}-g++)\nset(CMAKE_RANLIB ${triple}-gcc-ranlib)\nset(CMAKE_AR ${triple}-gcc-ar)\n\nset(CMAKE_SYSROOT /opt/ct-ng/${triple}/sysroot)\nset(CMAKE_FIND_ROOT_PATH /opt/ct-ng /opt/ct-ng/${triple}/sysroot /opt/ffbuild)\n\nset(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)\nset(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)\nset(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)\n"
  },
  {
    "path": "images/base-linuxppc64/Dockerfile",
    "content": "ARG GH_REPO=ghcr.io/btbn/ffmpeg-builds\nFROM $GH_REPO/base:latest\n\nRUN --mount=src=ct-ng-config,dst=/.config \\\n    git clone --filter=blob:none https://github.com/crosstool-ng/crosstool-ng.git /ct-ng && cd /ct-ng && \\\n    ./bootstrap && \\\n    ./configure --enable-local && \\\n    make -j$(nproc) && \\\n    cp /.config .config && \\\n    ./ct-ng build && \\\n    cd / && \\\n    rm -rf ct-ng\n\n# Prepare cross environment to heavily favour static builds\nRUN \\\n    find /opt/ct-ng \\( -type l \\\n        -and -name '*.so' \\\n        -and -not -ipath '*plugin*' \\\n        -and -not -name 'libdl.*' \\\n        -and -not -name 'libc.*' \\\n        -and -not -name 'libm.*' \\\n        -and -not -name 'libmvec.*' \\\n        -and -not -name 'librt.*' \\\n        -and -not -name 'libpthread.*' \\\n        \\) -delete && \\\n    find /opt/ct-ng \\( \\\n        -name 'libdl.a' \\\n        -or -name 'libc.a' \\\n        -or -name 'libm.a' \\\n        -or -name 'libmvec.a' \\\n        -or -name 'librt.a' \\\n        -or -name 'libpthread.a' \\\n        \\) -delete && \\\n    mkdir /opt/ffbuild\n\nENV FFBUILD_TOOLCHAIN=powerpc64-ffbuild-linux-gnu \\\n    FFBUILD_RUST_TARGET=\"powerpc64-unknown-linux-gnu\"\n\nRUN \\\n    rustup target add \"$FFBUILD_RUST_TARGET\" && \\\n    echo \"[target.$FFBUILD_RUST_TARGET]\\nlinker = \\\"${FFBUILD_TOOLCHAIN}-gcc\\\"\\nar = \\\"${FFBUILD_TOOLCHAIN}-gcc-ar\\\"\\n\" > \"$CARGO_HOME\"/config.toml\n\nADD toolchain.cmake /toolchain.cmake\nADD cross.meson /cross.meson\n\nADD gen-implib.sh /usr/bin/gen-implib\nRUN git clone --filter=blob:none --depth=1 https://github.com/yugr/Implib.so /opt/implib\n\nENV PATH=\"/opt/ct-ng/bin:${PATH}\" \\\n    QEMU_LD_PREFIX=\"/opt/ct-ng/${FFBUILD_TOOLCHAIN}/sysroot\" \\\n    FFBUILD_TARGET_FLAGS=\"--pkg-config=pkg-config --cross-prefix=${FFBUILD_TOOLCHAIN}- --arch=ppc64 --cpu=power9 --target-os=linux\" \\\n    FFBUILD_CROSS_PREFIX=\"${FFBUILD_TOOLCHAIN}-\" \\\n    FFBUILD_PREFIX=/opt/ffbuild \\\n    FFBUILD_DESTDIR=/opt/ffdest \\\n    FFBUILD_DESTPREFIX=/opt/ffdest/opt/ffbuild \\\n    FFBUILD_CMAKE_TOOLCHAIN=/toolchain.cmake \\\n    PKG_CONFIG=pkg-config \\\n    PKG_CONFIG_LIBDIR=/opt/ffbuild/lib/pkgconfig:/opt/ffbuild/share/pkgconfig \\\n    CC=\"${FFBUILD_TOOLCHAIN}-gcc\" \\\n    CXX=\"${FFBUILD_TOOLCHAIN}-g++\" \\\n    LD=\"${FFBUILD_TOOLCHAIN}-ld\" \\\n    AR=\"${FFBUILD_TOOLCHAIN}-gcc-ar\" \\\n    RANLIB=\"${FFBUILD_TOOLCHAIN}-gcc-ranlib\" \\\n    NM=\"${FFBUILD_TOOLCHAIN}-gcc-nm\" \\\n    CFLAGS=\"-static-libgcc -static-libstdc++ -I/opt/ffbuild/include -O2 -pipe -fPIC -DPIC -D_FORTIFY_SOURCE=2 -fstack-protector-strong -fstack-clash-protection -pthread\" \\\n    CXXFLAGS=\"-static-libgcc -static-libstdc++ -I/opt/ffbuild/include -O2 -pipe -fPIC -DPIC -D_FORTIFY_SOURCE=2 -fstack-protector-strong -fstack-clash-protection -pthread\" \\\n    LDFLAGS=\"-static-libgcc -static-libstdc++ -L/opt/ffbuild/lib -O2 -pipe -fstack-protector-strong -fstack-clash-protection -Wl,-z,relro,-z,now -pthread -lm\" \\\n    STAGE_CFLAGS=\"-fvisibility=hidden -fno-semantic-interposition\" \\\n    STAGE_CXXFLAGS=\"-fvisibility=hidden -fno-semantic-interposition\"\n"
  },
  {
    "path": "images/base-linuxppc64/cross.meson",
    "content": "[binaries]\nc = 'powerpc64-ffbuild-linux-gnu-gcc'\ncpp = 'powerpc64-ffbuild-linux-gnu-g++'\nld = 'powerpc64-ffbuild-linux-gnu-ld'\nar = 'powerpc64-ffbuild-linux-gnu-gcc-ar'\nranlib = 'powerpc64-ffbuild-linux-gnu-gcc-ranlib'\nstrip = 'powerpc64-ffbuild-linux-gnu-strip'\n\n[host_machine]\nsystem = 'linux'\ncpu_family = 'ppc64'\ncpu = 'ppc64'\nendian = 'big'\n"
  },
  {
    "path": "images/base-linuxppc64/ct-ng-config",
    "content": "#\n# Automatically generated file; DO NOT EDIT.\n# crosstool-NG 1.28.0.23_185f348 Configuration\n#\nCT_CONFIGURE_has_static_link=y\nCT_CONFIGURE_has_cxx11=y\nCT_CONFIGURE_has_wget=y\nCT_CONFIGURE_has_curl=y\nCT_CONFIGURE_has_meson=y\nCT_CONFIGURE_has_ninja=y\nCT_CONFIGURE_has_make_3_81_or_newer=y\nCT_CONFIGURE_has_make_4_0_or_newer=y\nCT_CONFIGURE_has_make_4_4_or_newer=y\nCT_CONFIGURE_has_libtool_2_4_or_newer=y\nCT_CONFIGURE_has_libtoolize_2_4_or_newer=y\nCT_CONFIGURE_has_autoconf_2_65_or_newer=y\nCT_CONFIGURE_has_autoreconf_2_65_or_newer=y\nCT_CONFIGURE_has_automake_1_15_or_newer=y\nCT_CONFIGURE_has_gnu_m4_1_4_12_or_newer=y\nCT_CONFIGURE_has_python_3_4_or_newer=y\nCT_CONFIGURE_has_bison_2_7_or_newer=y\nCT_CONFIGURE_has_bison_3_0_4_or_newer=y\nCT_CONFIGURE_has_python=y\nCT_CONFIGURE_has_dtc=y\nCT_CONFIGURE_has_svn=y\nCT_CONFIGURE_has_git=y\nCT_CONFIGURE_has_md5sum=y\nCT_CONFIGURE_has_sha1sum=y\nCT_CONFIGURE_has_sha256sum=y\nCT_CONFIGURE_has_sha512sum=y\nCT_CONFIGURE_has_install_with_strip_program=y\nCT_VERSION=\"1.28.0.23_185f348\"\nCT_VCHECK=\"\"\nCT_CONFIG_VERSION_ENV=\"4\"\nCT_CONFIG_VERSION_CURRENT=\"4\"\nCT_CONFIG_VERSION=\"4\"\nCT_MODULES=y\n\n#\n# Paths and misc options\n#\n\n#\n# crosstool-NG behavior\n#\nCT_OBSOLETE=y\nCT_EXPERIMENTAL=y\nCT_ALLOW_BUILD_AS_ROOT=y\nCT_ALLOW_BUILD_AS_ROOT_SURE=y\n# CT_ENABLE_EXPERIMENTAL_BUNDLED_PATCHES is not set\n# CT_DEBUG_CT is not set\n\n#\n# Paths\n#\nCT_LOCAL_TARBALLS_DIR=\"${HOME}/src\"\n# CT_SAVE_TARBALLS is not set\n# CT_TARBALLS_BUILDROOT_LAYOUT is not set\nCT_WORK_DIR=\"${CT_TOP_DIR}/build\"\nCT_BUILD_TOP_DIR=\"${CT_WORK_DIR:-${CT_TOP_DIR}/.build}/${CT_HOST:+HOST-${CT_HOST}/}${CT_TARGET}\"\nCT_BUILD_DIR=\"${CT_BUILD_TOP_DIR}/build\"\nCT_PREFIX_DIR=\"/opt/ct-ng\"\nCT_RM_RF_PREFIX_DIR=y\nCT_REMOVE_DOCS=y\n# CT_INSTALL_LICENSES is not set\n# CT_PREFIX_DIR_RO is not set\nCT_STRIP_HOST_TOOLCHAIN_EXECUTABLES=y\nCT_STRIP_TARGET_TOOLCHAIN_EXECUTABLES=y\n# CT_TARBALL_RESULT is not set\n\n#\n# Downloading\n#\nCT_DOWNLOAD_AGENT_WGET=y\n# CT_DOWNLOAD_AGENT_CURL is not set\n# CT_DOWNLOAD_AGENT_NONE is not set\n# CT_FORBID_DOWNLOAD is not set\n# CT_FORCE_DOWNLOAD is not set\nCT_CONNECT_TIMEOUT=10\nCT_DOWNLOAD_WGET_OPTIONS=\"--passive-ftp --tries=3 -nc --progress=dot:binary\"\n# CT_ONLY_DOWNLOAD is not set\n# CT_USE_MIRROR is not set\nCT_VERIFY_DOWNLOAD_DIGEST=y\nCT_VERIFY_DOWNLOAD_DIGEST_SHA512=y\n# CT_VERIFY_DOWNLOAD_DIGEST_SHA256 is not set\n# CT_VERIFY_DOWNLOAD_DIGEST_SHA1 is not set\n# CT_VERIFY_DOWNLOAD_DIGEST_MD5 is not set\nCT_VERIFY_DOWNLOAD_DIGEST_ALG=\"sha512\"\n# CT_VERIFY_DOWNLOAD_SIGNATURE is not set\n\n#\n# Extracting\n#\n# CT_FORCE_EXTRACT is not set\nCT_OVERRIDE_CONFIG_GUESS_SUB=y\n# CT_ONLY_EXTRACT is not set\nCT_PATCH_BUNDLED=y\n# CT_PATCH_LOCAL is not set\n# CT_PATCH_BUNDLED_LOCAL is not set\n# CT_PATCH_LOCAL_BUNDLED is not set\n# CT_PATCH_NONE is not set\nCT_PATCH_ORDER=\"bundled\"\n\n#\n# Build behavior\n#\nCT_PARALLEL_JOBS=0\nCT_LOAD=\"\"\nCT_USE_PIPES=y\nCT_EXTRA_CFLAGS_FOR_BUILD=\"-fPIC -DPIC\"\nCT_EXTRA_CXXFLAGS_FOR_BUILD=\"-fPIC -DPIC\"\nCT_EXTRA_LDFLAGS_FOR_BUILD=\"\"\nCT_EXTRA_CFLAGS_FOR_HOST=\"-fPIC -DPIC\"\nCT_EXTRA_LDFLAGS_FOR_HOST=\"\"\n# CT_CONFIG_SHELL_SH is not set\n# CT_CONFIG_SHELL_ASH is not set\nCT_CONFIG_SHELL_BASH=y\n# CT_CONFIG_SHELL_CUSTOM is not set\nCT_CONFIG_SHELL=\"${bash}\"\n\n#\n# Logging\n#\n# CT_LOG_ERROR is not set\n# CT_LOG_WARN is not set\n# CT_LOG_INFO is not set\n# CT_LOG_EXTRA is not set\n# CT_LOG_ALL is not set\nCT_LOG_DEBUG=y\nCT_LOG_LEVEL_MAX=\"DEBUG\"\n# CT_LOG_SEE_TOOLS_WARN is not set\n# CT_LOG_TO_FILE is not set\n# end of Paths and misc options\n\n#\n# Target options\n#\n# CT_ARCH_ALPHA is not set\n# CT_ARCH_ARC is not set\n# CT_ARCH_ARM is not set\n# CT_ARCH_AVR is not set\n# CT_ARCH_BPF is not set\n# CT_ARCH_C6X is not set\n# CT_ARCH_LM32 is not set\n# CT_ARCH_LOONGARCH is not set\n# CT_ARCH_M68K is not set\n# CT_ARCH_MICROBLAZE is not set\n# CT_ARCH_MIPS is not set\n# CT_ARCH_MOXIE is not set\n# CT_ARCH_MSP430 is not set\n# CT_ARCH_NIOS2 is not set\n# CT_ARCH_OPENRISC is not set\n# CT_ARCH_PARISC is not set\nCT_ARCH_POWERPC=y\n# CT_ARCH_PRU is not set\n# CT_ARCH_RISCV is not set\n# CT_ARCH_RX is not set\n# CT_ARCH_S390 is not set\n# CT_ARCH_SH is not set\n# CT_ARCH_SPARC is not set\n# CT_ARCH_TRICORE is not set\n# CT_ARCH_X86 is not set\n# CT_ARCH_XTENSA is not set\nCT_ARCH=\"powerpc\"\nCT_ARCH_CHOICE_KSYM=\"POWERPC\"\nCT_ARCH_CPU=\"power9\"\nCT_ARCH_TUNE=\"\"\nCT_ARCH_POWERPC_SHOW=y\n\n#\n# Options for powerpc\n#\nCT_ARCH_POWERPC_PKG_KSYM=\"\"\nCT_ARCH_powerpc_ABI=\"\"\nCT_ARCH_powerpc_ABI_DEFAULT=y\n# CT_ARCH_powerpc_ABI_SPE is not set\nCT_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\"\nCT_ARCH_SUFFIX=\"\"\n# CT_OMIT_TARGET_VENDOR is not set\n\n#\n# Generic target options\n#\n# CT_MULTILIB is not set\nCT_DEMULTILIB=y\nCT_ARCH_USE_MMU=y\nCT_ARCH_SUPPORTS_LIBSANITIZER=y\nCT_ARCH_SUPPORTS_EITHER_ENDIAN=y\nCT_ARCH_DEFAULT_BE=y\nCT_ARCH_BE=y\n# CT_ARCH_LE is not set\nCT_ARCH_ENDIAN=\"big\"\nCT_ARCH_SUPPORTS_32=y\nCT_ARCH_SUPPORTS_64=y\nCT_ARCH_DEFAULT_32=y\nCT_ARCH_BITNESS=64\n# CT_ARCH_32 is not set\nCT_ARCH_64=y\nCT_ARCH_SUPPORTS_WITH_32_64=y\n\n#\n# Target optimisations\n#\nCT_ARCH_SUPPORTS_WITH_ABI=y\nCT_ARCH_SUPPORTS_WITH_CPU=y\nCT_ARCH_SUPPORTS_WITH_TUNE=y\nCT_ARCH_SUPPORTS_WITH_FLOAT=y\nCT_ARCH_ABI=\"\"\nCT_ARCH_FLOAT_AUTO=y\n# CT_ARCH_FLOAT_HW is not set\n# CT_ARCH_FLOAT_SW is not set\nCT_TARGET_CFLAGS=\"-fPIC -DPIC\"\nCT_TARGET_LDFLAGS=\"\"\nCT_ARCH_FLOAT=\"auto\"\n# end of Target options\n\n#\n# Toolchain options\n#\n\n#\n# General toolchain options\n#\nCT_USE_SYSROOT=y\nCT_SYSROOT_NAME=\"sysroot\"\nCT_SYSROOT_DIR_PREFIX=\"\"\n# CT_STATIC_TOOLCHAIN is not set\nCT_SHOW_CT_VERSION=y\nCT_TOOLCHAIN_PKGVERSION=\"\"\nCT_TOOLCHAIN_BUGURL=\"\"\n\n#\n# Tuple completion and aliasing\n#\nCT_TARGET_VENDOR=\"ffbuild\"\nCT_TARGET_ALIAS_SED_EXPR=\"\"\nCT_TARGET_ALIAS=\"\"\n\n#\n# Toolchain type\n#\n# CT_NATIVE is not set\nCT_CROSS=y\n# CT_CROSS_NATIVE is not set\n# CT_CANADIAN is not set\nCT_TOOLCHAIN_TYPE=\"cross\"\n\n#\n# Build system\n#\nCT_BUILD=\"\"\nCT_BUILD_PREFIX=\"\"\nCT_BUILD_SUFFIX=\"\"\n\n#\n# Misc options\n#\n# CT_TOOLCHAIN_ENABLE_NLS is not set\nCT_TOOLCHAIN_CMAKE_TOOLCHAIN_FILE=y\n# end of Toolchain options\n\n#\n# Operating System\n#\nCT_KERNEL_SUPPORTS_SHARED_LIBS=y\n# CT_KERNEL_BARE_METAL is not set\nCT_KERNEL_LINUX=y\nCT_KERNEL=\"linux\"\nCT_KERNEL_CHOICE_KSYM=\"LINUX\"\nCT_KERNEL_LINUX_SHOW=y\n\n#\n# Options for linux\n#\nCT_KERNEL_LINUX_PKG_KSYM=\"LINUX\"\nCT_LINUX_DIR_NAME=\"linux\"\nCT_LINUX_PKG_NAME=\"linux\"\nCT_LINUX_SRC_RELEASE=y\n# CT_LINUX_SRC_DEVEL is not set\n# CT_LINUX_SRC_CUSTOM is not set\nCT_LINUX_PATCH_GLOBAL=y\n# CT_LINUX_PATCH_BUNDLED is not set\n# CT_LINUX_PATCH_LOCAL is not set\n# CT_LINUX_PATCH_BUNDLED_LOCAL is not set\n# CT_LINUX_PATCH_LOCAL_BUNDLED is not set\n# CT_LINUX_PATCH_NONE is not set\nCT_LINUX_PATCH_ORDER=\"global\"\n# CT_LINUX_V_6_18 is not set\n# CT_LINUX_V_6_17 is not set\n# CT_LINUX_V_6_16 is not set\n# CT_LINUX_V_6_15 is not set\n# CT_LINUX_V_6_14 is not set\n# CT_LINUX_V_6_13 is not set\n# CT_LINUX_V_6_12 is not set\n# CT_LINUX_V_6_11 is not set\n# CT_LINUX_V_6_10 is not set\n# CT_LINUX_V_6_9 is not set\n# CT_LINUX_V_6_8 is not set\n# CT_LINUX_V_6_7 is not set\n# CT_LINUX_V_6_6 is not set\n# CT_LINUX_V_6_5 is not set\n# CT_LINUX_V_6_4 is not set\n# CT_LINUX_V_6_3 is not set\n# CT_LINUX_V_6_2 is not set\n# CT_LINUX_V_6_1 is not set\n# CT_LINUX_V_6_0 is not set\n# CT_LINUX_V_5_19 is not set\n# CT_LINUX_V_5_18 is not set\n# CT_LINUX_V_5_17 is not set\n# CT_LINUX_V_5_16 is not set\n# CT_LINUX_V_5_15 is not set\n# CT_LINUX_V_5_14 is not set\n# CT_LINUX_V_5_13 is not set\n# CT_LINUX_V_5_12 is not set\n# CT_LINUX_V_5_11 is not set\n# CT_LINUX_V_5_10 is not set\n# CT_LINUX_V_5_9 is not set\n# CT_LINUX_V_5_8 is not set\n# CT_LINUX_V_5_7 is not set\n# CT_LINUX_V_5_5 is not set\n# CT_LINUX_V_5_4 is not set\n# CT_LINUX_V_5_3 is not set\n# CT_LINUX_V_5_2 is not set\n# CT_LINUX_V_5_1 is not set\n# CT_LINUX_V_5_0 is not set\n# CT_LINUX_V_4_20 is not set\n# CT_LINUX_V_4_19 is not set\nCT_LINUX_V_4_18=y\n# CT_LINUX_V_4_17 is not set\n# CT_LINUX_V_4_16 is not set\n# CT_LINUX_V_4_15 is not set\n# CT_LINUX_V_4_14 is not set\n# CT_LINUX_V_4_13 is not set\n# CT_LINUX_V_4_12 is not set\n# CT_LINUX_V_4_11 is not set\n# CT_LINUX_V_4_10 is not set\n# CT_LINUX_V_4_9 is not set\n# CT_LINUX_V_4_4 is not set\n# CT_LINUX_V_4_1 is not set\n# CT_LINUX_V_3_18 is not set\n# CT_LINUX_V_3_16 is not set\n# CT_LINUX_V_3_13 is not set\n# CT_LINUX_V_3_12 is not set\n# CT_LINUX_V_3_10 is not set\n# CT_LINUX_V_3_4 is not set\n# CT_LINUX_V_3_2 is not set\nCT_LINUX_VERSION=\"4.18.20\"\nCT_LINUX_MIRRORS=\"$(CT_Mirrors kernel.org linux ${CT_LINUX_VERSION})\"\nCT_LINUX_ARCHIVE_FILENAME=\"@{pkg_name}-@{version}\"\nCT_LINUX_ARCHIVE_DIRNAME=\"@{pkg_name}-@{version}\"\nCT_LINUX_ARCHIVE_FORMATS=\".tar.xz .tar.gz\"\nCT_LINUX_SIGNATURE_FORMAT=\"unpacked/.sign\"\nCT_LINUX_5_19_or_older=y\nCT_LINUX_older_than_5_19=y\nCT_LINUX_5_12_or_older=y\nCT_LINUX_older_than_5_12=y\nCT_LINUX_5_5_or_older=y\nCT_LINUX_older_than_5_5=y\nCT_LINUX_5_3_or_older=y\nCT_LINUX_older_than_5_3=y\nCT_LINUX_later_than_4_8=y\nCT_LINUX_4_8_or_later=y\nCT_LINUX_later_than_3_7=y\nCT_LINUX_3_7_or_later=y\nCT_LINUX_later_than_3_2=y\nCT_LINUX_3_2_or_later=y\nCT_LINUX_REQUIRE_3_2_or_later=y\nCT_KERNEL_has_rsync=y\nCT_KERNEL_DEP_RSYNC=y\nCT_KERNEL_LINUX_VERBOSITY_0=y\n# CT_KERNEL_LINUX_VERBOSITY_1 is not set\n# CT_KERNEL_LINUX_VERBOSITY_2 is not set\nCT_KERNEL_LINUX_VERBOSE_LEVEL=0\n# CT_KERNEL_LINUX_INSTALL_CHECK is not set\nCT_ALL_KERNEL_CHOICES=\"BARE_METAL LINUX WINDOWS\"\n\n#\n# Common kernel options\n#\nCT_SHARED_LIBS=y\n# end of Operating System\n\n#\n# Binary utilities\n#\nCT_ARCH_BINFMT_ELF=y\nCT_BINUTILS_BINUTILS=y\nCT_BINUTILS=\"binutils\"\nCT_BINUTILS_CHOICE_KSYM=\"BINUTILS\"\nCT_BINUTILS_BINUTILS_SHOW=y\n\n#\n# Options for binutils\n#\nCT_BINUTILS_BINUTILS_PKG_KSYM=\"BINUTILS\"\nCT_BINUTILS_DIR_NAME=\"binutils\"\nCT_BINUTILS_USE_GNU=y\n# CT_BINUTILS_USE_LINARO is not set\n# CT_BINUTILS_USE_ORACLE is not set\nCT_BINUTILS_USE=\"BINUTILS\"\nCT_BINUTILS_PKG_NAME=\"binutils\"\nCT_BINUTILS_SRC_RELEASE=y\n# CT_BINUTILS_SRC_DEVEL is not set\n# CT_BINUTILS_SRC_CUSTOM is not set\nCT_BINUTILS_PATCH_GLOBAL=y\n# CT_BINUTILS_PATCH_BUNDLED is not set\n# CT_BINUTILS_PATCH_LOCAL is not set\n# CT_BINUTILS_PATCH_BUNDLED_LOCAL is not set\n# CT_BINUTILS_PATCH_LOCAL_BUNDLED is not set\n# CT_BINUTILS_PATCH_NONE is not set\nCT_BINUTILS_PATCH_ORDER=\"global\"\nCT_BINUTILS_V_2_46=y\n# CT_BINUTILS_V_2_45 is not set\n# CT_BINUTILS_V_2_44 is not set\n# CT_BINUTILS_V_2_43 is not set\n# CT_BINUTILS_V_2_42 is not set\n# CT_BINUTILS_V_2_41 is not set\n# CT_BINUTILS_V_2_40 is not set\n# CT_BINUTILS_V_2_39 is not set\n# CT_BINUTILS_V_2_38 is not set\n# CT_BINUTILS_V_2_37 is not set\n# CT_BINUTILS_V_2_36 is not set\n# CT_BINUTILS_V_2_35 is not set\n# CT_BINUTILS_V_2_34 is not set\n# CT_BINUTILS_V_2_33 is not set\n# CT_BINUTILS_V_2_32 is not set\n# CT_BINUTILS_V_2_31 is not set\n# CT_BINUTILS_V_2_30 is not set\n# CT_BINUTILS_V_2_29 is not set\n# CT_BINUTILS_V_2_28 is not set\n# CT_BINUTILS_V_2_27 is not set\n# CT_BINUTILS_V_2_26 is not set\nCT_BINUTILS_VERSION=\"2.46.0\"\nCT_BINUTILS_MIRRORS=\"$(CT_Mirrors GNU binutils) $(CT_Mirrors sourceware binutils/releases)\"\nCT_BINUTILS_ARCHIVE_FILENAME=\"@{pkg_name}-@{version}\"\nCT_BINUTILS_ARCHIVE_DIRNAME=\"@{pkg_name}-@{version}\"\nCT_BINUTILS_ARCHIVE_FORMATS=\".tar.xz .tar.bz2 .tar.gz\"\nCT_BINUTILS_SIGNATURE_FORMAT=\"packed/.sig\"\nCT_BINUTILS_2_46_0_or_later=y\nCT_BINUTILS_2_46_0_or_older=y\nCT_BINUTILS_later_than_2_45=y\nCT_BINUTILS_2_45_or_later=y\nCT_BINUTILS_later_than_2_44=y\nCT_BINUTILS_2_44_or_later=y\nCT_BINUTILS_later_than_2_41=y\nCT_BINUTILS_2_41_or_later=y\nCT_BINUTILS_later_than_2_39=y\nCT_BINUTILS_2_39_or_later=y\nCT_BINUTILS_later_than_2_30=y\nCT_BINUTILS_2_30_or_later=y\nCT_BINUTILS_later_than_2_27=y\nCT_BINUTILS_2_27_or_later=y\nCT_BINUTILS_later_than_2_26=y\nCT_BINUTILS_2_26_or_later=y\n\n#\n# GNU binutils\n#\nCT_BINUTILS_GOLD_SUPPORTS_ARCH=y\nCT_BINUTILS_FORCE_LD_BFD_DEFAULT=y\nCT_BINUTILS_LINKER_LD=y\nCT_BINUTILS_LINKERS_LIST=\"ld\"\nCT_BINUTILS_LINKER_DEFAULT=\"bfd\"\nCT_BINUTILS_PLUGINS=y\nCT_BINUTILS_RELRO=m\nCT_BINUTILS_DETERMINISTIC_ARCHIVES=y\nCT_BINUTILS_EXTRA_CONFIG_ARRAY=\"\"\n# CT_BINUTILS_FOR_TARGET is not set\n# CT_BINUTILS_GPROFNG is not set\nCT_ALL_BINUTILS_CHOICES=\"BINUTILS\"\n# end of Binary utilities\n\n#\n# C-library\n#\nCT_LIBC_GLIBC=y\n# CT_LIBC_MUSL is not set\n# CT_LIBC_UCLIBC_NG is not set\nCT_LIBC=\"glibc\"\nCT_LIBC_CHOICE_KSYM=\"GLIBC\"\nCT_LIBC_GLIBC_SHOW=y\n\n#\n# Options for glibc\n#\nCT_LIBC_GLIBC_PKG_KSYM=\"GLIBC\"\nCT_GLIBC_DIR_NAME=\"glibc\"\nCT_GLIBC_USE_GNU=y\n# CT_GLIBC_USE_ORACLE is not set\nCT_GLIBC_USE=\"GLIBC\"\nCT_GLIBC_PKG_NAME=\"glibc\"\nCT_GLIBC_SRC_RELEASE=y\n# CT_GLIBC_SRC_DEVEL is not set\n# CT_GLIBC_SRC_CUSTOM is not set\nCT_GLIBC_PATCH_GLOBAL=y\n# CT_GLIBC_PATCH_BUNDLED is not set\n# CT_GLIBC_PATCH_LOCAL is not set\n# CT_GLIBC_PATCH_BUNDLED_LOCAL is not set\n# CT_GLIBC_PATCH_LOCAL_BUNDLED is not set\n# CT_GLIBC_PATCH_NONE is not set\nCT_GLIBC_PATCH_ORDER=\"global\"\n# CT_GLIBC_V_2_43 is not set\n# CT_GLIBC_V_2_42 is not set\n# CT_GLIBC_V_2_41 is not set\n# CT_GLIBC_V_2_40 is not set\n# CT_GLIBC_V_2_39 is not set\n# CT_GLIBC_V_2_38 is not set\n# CT_GLIBC_V_2_37 is not set\n# CT_GLIBC_V_2_36 is not set\n# CT_GLIBC_V_2_35 is not set\n# CT_GLIBC_V_2_34 is not set\n# CT_GLIBC_V_2_33 is not set\n# CT_GLIBC_V_2_32 is not set\n# CT_GLIBC_V_2_31 is not set\n# CT_GLIBC_V_2_30 is not set\n# CT_GLIBC_V_2_29 is not set\nCT_GLIBC_V_2_28=y\n# CT_GLIBC_V_2_27 is not set\n# CT_GLIBC_V_2_26 is not set\n# CT_GLIBC_V_2_25 is not set\n# CT_GLIBC_V_2_24 is not set\n# CT_GLIBC_V_2_23 is not set\n# CT_GLIBC_V_2_19 is not set\n# CT_GLIBC_V_2_17 is not set\nCT_GLIBC_VERSION=\"2.28\"\nCT_GLIBC_MIRRORS=\"$(CT_Mirrors GNU glibc)\"\nCT_GLIBC_ARCHIVE_FILENAME=\"@{pkg_name}-@{version}\"\nCT_GLIBC_ARCHIVE_DIRNAME=\"@{pkg_name}-@{version}\"\nCT_GLIBC_ARCHIVE_FORMATS=\".tar.xz .tar.bz2 .tar.gz\"\nCT_GLIBC_SIGNATURE_FORMAT=\"packed/.sig\"\nCT_GLIBC_2_43_or_older=y\nCT_GLIBC_older_than_2_43=y\nCT_GLIBC_2_42_or_older=y\nCT_GLIBC_older_than_2_42=y\nCT_GLIBC_2_41_or_older=y\nCT_GLIBC_older_than_2_41=y\nCT_GLIBC_2_38_or_older=y\nCT_GLIBC_older_than_2_38=y\nCT_GLIBC_2_37_or_older=y\nCT_GLIBC_older_than_2_37=y\nCT_GLIBC_2_36_or_older=y\nCT_GLIBC_older_than_2_36=y\nCT_GLIBC_2_34_or_older=y\nCT_GLIBC_older_than_2_34=y\nCT_GLIBC_2_32_or_older=y\nCT_GLIBC_older_than_2_32=y\nCT_GLIBC_2_31_or_older=y\nCT_GLIBC_older_than_2_31=y\nCT_GLIBC_2_30_or_older=y\nCT_GLIBC_older_than_2_30=y\nCT_GLIBC_2_29_or_older=y\nCT_GLIBC_older_than_2_29=y\nCT_GLIBC_2_28_or_later=y\nCT_GLIBC_2_28_or_older=y\nCT_GLIBC_later_than_2_27=y\nCT_GLIBC_2_27_or_later=y\nCT_GLIBC_later_than_2_26=y\nCT_GLIBC_2_26_or_later=y\nCT_GLIBC_later_than_2_25=y\nCT_GLIBC_2_25_or_later=y\nCT_GLIBC_later_than_2_24=y\nCT_GLIBC_2_24_or_later=y\nCT_GLIBC_later_than_2_23=y\nCT_GLIBC_2_23_or_later=y\nCT_GLIBC_later_than_2_20=y\nCT_GLIBC_2_20_or_later=y\nCT_GLIBC_later_than_2_17=y\nCT_GLIBC_2_17_or_later=y\nCT_GLIBC_later_than_2_14=y\nCT_GLIBC_2_14_or_later=y\nCT_GLIBC_DEP_KERNEL_HEADERS_VERSION=y\nCT_GLIBC_DEP_BINUTILS=y\nCT_GLIBC_DEP_GCC=y\nCT_GLIBC_DEP_PYTHON=y\nCT_GLIBC_DEP_MAKE_4_3=y\nCT_GLIBC_SPARC_ALLOW_V7=y\nCT_THREADS=\"nptl\"\nCT_GLIBC_BUILD_SSP=y\nCT_GLIBC_HAS_LIBIDN_ADDON=y\n# CT_GLIBC_USE_LIBIDN_ADDON is not set\nCT_GLIBC_NO_SPARC_V8=y\nCT_GLIBC_HAS_OBSOLETE_RPC=y\nCT_GLIBC_EXTRA_CONFIG_ARRAY=\"--with-pic\"\nCT_GLIBC_CONFIGPARMS=\"\"\n# CT_GLIBC_ENABLE_DEBUG is not set\nCT_GLIBC_EXTRA_CFLAGS=\"-fPIC -DPIC\"\nCT_GLIBC_ENABLE_OBSOLETE_RPC=y\n# CT_GLIBC_ENABLE_FORTIFIED_BUILD is not set\n# CT_GLIBC_DISABLE_VERSIONING is not set\nCT_GLIBC_OLDEST_ABI=\"\"\nCT_GLIBC_FORCE_UNWIND=y\n# CT_GLIBC_LOCALES is not set\n# CT_GLIBC_KERNEL_VERSION_NONE is not set\nCT_GLIBC_KERNEL_VERSION_AS_HEADERS=y\n# CT_GLIBC_KERNEL_VERSION_CHOSEN is not set\nCT_GLIBC_MIN_KERNEL=\"4.18.20\"\nCT_GLIBC_SSP_DEFAULT=y\n# CT_GLIBC_SSP_NO is not set\n# CT_GLIBC_SSP_YES is not set\n# CT_GLIBC_SSP_ALL is not set\n# CT_GLIBC_SSP_STRONG is not set\nCT_GLIBC_ENABLE_COMMON_FLAG=y\nCT_ALL_LIBC_CHOICES=\"AVR_LIBC GLIBC MINGW_W64 MOXIEBOX MUSL NEWLIB NONE PICOLIBC UCLIBC_NG\"\nCT_LIBC_SUPPORT_THREADS_ANY=y\nCT_LIBC_SUPPORT_THREADS_NATIVE=y\n\n#\n# Common C library options\n#\nCT_THREADS_NATIVE=y\n# CT_CREATE_LDSO_CONF is not set\nCT_LIBC_XLDD=y\n# end of C-library\n\n#\n# C compiler\n#\nCT_CC_CORE_NEEDED=y\nCT_CC_SUPPORT_CXX=y\nCT_CC_SUPPORT_FORTRAN=y\nCT_CC_SUPPORT_ADA=y\nCT_CC_SUPPORT_D=y\nCT_CC_SUPPORT_JIT=y\nCT_CC_SUPPORT_OBJC=y\nCT_CC_SUPPORT_OBJCXX=y\nCT_CC_SUPPORT_GOLANG=y\nCT_CC_GCC=y\nCT_CC=\"gcc\"\nCT_CC_CHOICE_KSYM=\"GCC\"\nCT_CC_GCC_SHOW=y\n\n#\n# Options for gcc\n#\nCT_CC_GCC_PKG_KSYM=\"GCC\"\nCT_GCC_DIR_NAME=\"gcc\"\nCT_GCC_USE_GNU=y\n# CT_GCC_USE_LINARO is not set\n# CT_GCC_USE_ORACLE is not set\nCT_GCC_USE=\"GCC\"\nCT_GCC_PKG_NAME=\"gcc\"\nCT_GCC_SRC_RELEASE=y\n# CT_GCC_SRC_DEVEL is not set\n# CT_GCC_SRC_CUSTOM is not set\nCT_GCC_PATCH_GLOBAL=y\n# CT_GCC_PATCH_BUNDLED is not set\n# CT_GCC_PATCH_LOCAL is not set\n# CT_GCC_PATCH_BUNDLED_LOCAL is not set\n# CT_GCC_PATCH_LOCAL_BUNDLED is not set\n# CT_GCC_PATCH_NONE is not set\nCT_GCC_PATCH_ORDER=\"global\"\nCT_GCC_V_15=y\n# CT_GCC_V_14 is not set\n# CT_GCC_V_13 is not set\n# CT_GCC_V_12 is not set\n# CT_GCC_V_11 is not set\n# CT_GCC_V_10 is not set\n# CT_GCC_V_9 is not set\n# CT_GCC_V_8 is not set\n# CT_GCC_V_7 is not set\n# CT_GCC_V_6 is not set\n# CT_GCC_V_5 is not set\n# CT_GCC_V_4_9 is not set\nCT_GCC_VERSION=\"15.2.0\"\nCT_GCC_MIRRORS=\"$(CT_Mirrors GNU gcc/gcc-${CT_GCC_VERSION}) $(CT_Mirrors sourceware gcc/releases/gcc-${CT_GCC_VERSION})\"\nCT_GCC_ARCHIVE_FILENAME=\"@{pkg_name}-@{version}\"\nCT_GCC_ARCHIVE_DIRNAME=\"@{pkg_name}-@{version}\"\nCT_GCC_ARCHIVE_FORMATS=\".tar.xz .tar.gz\"\nCT_GCC_SIGNATURE_FORMAT=\"\"\nCT_GCC_later_than_15=y\nCT_GCC_15_or_later=y\nCT_GCC_later_than_14=y\nCT_GCC_14_or_later=y\nCT_GCC_later_than_13=y\nCT_GCC_13_or_later=y\nCT_GCC_later_than_12=y\nCT_GCC_12_or_later=y\nCT_GCC_later_than_11=y\nCT_GCC_11_or_later=y\nCT_GCC_later_than_10=y\nCT_GCC_10_or_later=y\nCT_GCC_later_than_9=y\nCT_GCC_9_or_later=y\nCT_GCC_later_than_8=y\nCT_GCC_8_or_later=y\nCT_GCC_later_than_7=y\nCT_GCC_7_or_later=y\nCT_GCC_later_than_6=y\nCT_GCC_6_or_later=y\nCT_GCC_later_than_5=y\nCT_GCC_5_or_later=y\nCT_GCC_later_than_4_9=y\nCT_GCC_4_9_or_later=y\nCT_GCC_REQUIRE_4_9_or_later=y\nCT_CC_GCC_ENABLE_PLUGINS=y\nCT_CC_GCC_HAS_LIBMPX=y\nCT_CC_GCC_ENABLE_CXX_FLAGS=\"\"\nCT_CC_GCC_CORE_EXTRA_CONFIG_ARRAY=\"--enable-host-shared --enable-default-ssp\"\nCT_CC_GCC_EXTRA_CONFIG_ARRAY=\"--enable-host-shared --enable-default-ssp --with-build-config=bootstrap-lto-lean --enable-link-serialization=2\"\n# CT_CC_GCC_STATIC_LIBSTDCXX is not set\n# CT_CC_GCC_SYSTEM_ZLIB is not set\nCT_CC_GCC_CONFIG_TLS=m\n\n#\n# Optimisation features\n#\nCT_CC_GCC_USE_GRAPHITE=y\nCT_CC_GCC_USE_LTO=y\nCT_CC_GCC_LTO_ZSTD=m\n\n#\n# Settings for libraries running on target\n#\nCT_CC_GCC_ENABLE_DEFAULT_PIE=y\n# CT_CC_GCC_ENABLE_TARGET_OPTSPACE is not set\nCT_CC_GCC_LIBSTDCXX=m\n# CT_CC_GCC_LIBSTDCXX_HOSTED_DISABLE is not set\nCT_CC_GCC_LIBSTDCXX_TARGET_CXXFLAGS=\"-O2 -pipe\"\n# CT_CC_GCC_LIBMUDFLAP is not set\nCT_CC_GCC_LIBGOMP=y\nCT_CC_GCC_LIBSSP=m\n# CT_CC_GCC_LIBQUADMATH is not set\n# CT_CC_GCC_LIBSANITIZER is not set\n# CT_CC_GCC_LIBSTDCXX_VERBOSE is not set\n\n#\n# Misc. obscure options.\n#\nCT_CC_CXA_ATEXIT=y\nCT_CC_GCC_TM_CLONE_REGISTRY=m\n# CT_CC_GCC_DISABLE_PCH is not set\nCT_CC_GCC_SJLJ_EXCEPTIONS=m\nCT_CC_GCC_LDBL_128=m\n# CT_CC_GCC_BUILD_ID is not set\nCT_CC_GCC_LNK_HASH_STYLE_DEFAULT=y\n# CT_CC_GCC_LNK_HASH_STYLE_SYSV is not set\n# CT_CC_GCC_LNK_HASH_STYLE_GNU is not set\n# CT_CC_GCC_LNK_HASH_STYLE_BOTH is not set\nCT_CC_GCC_LNK_HASH_STYLE=\"\"\nCT_CC_GCC_DEC_FLOATS_AUTO=y\n# CT_CC_GCC_DEC_FLOATS_BID is not set\n# CT_CC_GCC_DEC_FLOATS_DPD is not set\n# CT_CC_GCC_DEC_FLOATS_NO is not set\nCT_CC_GCC_DEC_FLOATS=\"\"\nCT_ALL_CC_CHOICES=\"GCC\"\n\n#\n# Additional supported languages:\n#\nCT_CC_LANG_CXX=y\n# CT_CC_LANG_FORTRAN is not set\n# CT_CC_LANG_JIT is not set\n# CT_CC_LANG_ADA is not set\n# CT_CC_LANG_D is not set\n# CT_CC_LANG_OBJC is not set\n# CT_CC_LANG_OBJCXX is not set\n# CT_CC_LANG_GOLANG is not set\nCT_CC_LANG_OTHERS=\"\"\n# end of C compiler\n\n#\n# Linkers\n#\n\n#\n# BFD enabled in binutils\n#\nCT_LINKER_MOLD=y\nCT_LINKER_MOLD_PKG_KSYM=\"MOLD\"\nCT_MOLD_DIR_NAME=\"mold\"\nCT_MOLD_PKG_NAME=\"mold\"\nCT_MOLD_SRC_RELEASE=y\n# CT_MOLD_SRC_DEVEL is not set\n# CT_MOLD_SRC_CUSTOM is not set\nCT_MOLD_PATCH_GLOBAL=y\n# CT_MOLD_PATCH_BUNDLED is not set\n# CT_MOLD_PATCH_LOCAL is not set\n# CT_MOLD_PATCH_BUNDLED_LOCAL is not set\n# CT_MOLD_PATCH_LOCAL_BUNDLED is not set\n# CT_MOLD_PATCH_NONE is not set\nCT_MOLD_PATCH_ORDER=\"global\"\nCT_MOLD_V_2_40_4=y\n# CT_MOLD_V_2_39_1 is not set\n# CT_MOLD_V_2_38_1 is not set\n# CT_MOLD_V_2_37_1 is not set\n# CT_MOLD_V_2_36_0 is not set\n# CT_MOLD_V_2_33_0 is not set\n# CT_MOLD_V_2_32_0 is not set\n# CT_MOLD_V_2_31_0 is not set\nCT_MOLD_VERSION=\"2.40.4\"\nCT_MOLD_MIRRORS=\"https://github.com/rui314/mold/archive/refs/tags\"\nCT_MOLD_ARCHIVE_FILENAME=\"v@{version}\"\nCT_MOLD_ARCHIVE_DIRNAME=\"@{pkg_name}-@{version}\"\nCT_MOLD_ARCHIVE_FORMATS=\".tar.gz\"\nCT_MOLD_SIGNATURE_FORMAT=\"\"\nCT_LINKER_MOLD_has_cmake=y\nCT_ALL_LINKER_CHOICES=\"MOLD\"\n# end of Linkers\n\n#\n# Debug facilities\n#\n# CT_DEBUG_DUMA is not set\n# CT_DEBUG_GDB is not set\n# CT_DEBUG_LTRACE is not set\n# CT_DEBUG_STRACE is not set\nCT_ALL_DEBUG_CHOICES=\"DUMA GDB LTRACE STRACE\"\n# end of Debug facilities\n\n#\n# Companion libraries\n#\n# CT_COMPLIBS_CHECK is not set\n# CT_COMP_LIBS_CLOOG is not set\n# CT_COMP_LIBS_EXPAT is not set\nCT_COMP_LIBS_GETTEXT=y\nCT_COMP_LIBS_GETTEXT_PKG_KSYM=\"GETTEXT\"\nCT_GETTEXT_DIR_NAME=\"gettext\"\nCT_GETTEXT_PKG_NAME=\"gettext\"\nCT_GETTEXT_SRC_RELEASE=y\n# CT_GETTEXT_SRC_DEVEL is not set\n# CT_GETTEXT_SRC_CUSTOM is not set\nCT_GETTEXT_PATCH_GLOBAL=y\n# CT_GETTEXT_PATCH_BUNDLED is not set\n# CT_GETTEXT_PATCH_LOCAL is not set\n# CT_GETTEXT_PATCH_BUNDLED_LOCAL is not set\n# CT_GETTEXT_PATCH_LOCAL_BUNDLED is not set\n# CT_GETTEXT_PATCH_NONE is not set\nCT_GETTEXT_PATCH_ORDER=\"global\"\nCT_GETTEXT_V_0_26=y\n# CT_GETTEXT_V_0_23_1 is not set\n# CT_GETTEXT_V_0_22_5 is not set\n# CT_GETTEXT_V_0_21 is not set\n# CT_GETTEXT_V_0_20_1 is not set\n# CT_GETTEXT_V_0_19_8_1 is not set\nCT_GETTEXT_VERSION=\"0.26\"\nCT_GETTEXT_MIRRORS=\"$(CT_Mirrors GNU gettext)\"\nCT_GETTEXT_ARCHIVE_FILENAME=\"@{pkg_name}-@{version}\"\nCT_GETTEXT_ARCHIVE_DIRNAME=\"@{pkg_name}-@{version}\"\nCT_GETTEXT_ARCHIVE_FORMATS=\".tar.xz .tar.gz\"\nCT_GETTEXT_SIGNATURE_FORMAT=\"packed/.sig\"\nCT_GETTEXT_later_than_0_23=y\nCT_GETTEXT_0_23_or_later=y\nCT_GETTEXT_later_than_0_21=y\nCT_GETTEXT_0_21_or_later=y\nCT_GETTEXT_INCOMPATIBLE_WITH_UCLIBC_NG=y\n\n#\n# This version of gettext is not compatible with uClibc-NG. Select\n#\n\n#\n# a different version if uClibc-NG is used on the target or (in a\n#\n\n#\n# Canadian cross build) on the host.\n#\nCT_COMP_LIBS_GMP=y\nCT_COMP_LIBS_GMP_PKG_KSYM=\"GMP\"\nCT_GMP_DIR_NAME=\"gmp\"\nCT_GMP_PKG_NAME=\"gmp\"\nCT_GMP_SRC_RELEASE=y\n# CT_GMP_SRC_DEVEL is not set\n# CT_GMP_SRC_CUSTOM is not set\nCT_GMP_PATCH_GLOBAL=y\n# CT_GMP_PATCH_BUNDLED is not set\n# CT_GMP_PATCH_LOCAL is not set\n# CT_GMP_PATCH_BUNDLED_LOCAL is not set\n# CT_GMP_PATCH_LOCAL_BUNDLED is not set\n# CT_GMP_PATCH_NONE is not set\nCT_GMP_PATCH_ORDER=\"global\"\nCT_GMP_V_6_3=y\n# CT_GMP_V_6_2 is not set\n# CT_GMP_V_6_1 is not set\nCT_GMP_VERSION=\"6.3.0\"\nCT_GMP_MIRRORS=\"https://gmplib.org/download/gmp https://gmplib.org/download/gmp/archive $(CT_Mirrors GNU gmp)\"\nCT_GMP_ARCHIVE_FILENAME=\"@{pkg_name}-@{version}\"\nCT_GMP_ARCHIVE_DIRNAME=\"@{pkg_name}-@{version}\"\nCT_GMP_ARCHIVE_FORMATS=\".tar.xz .tar.lz .tar.bz2\"\nCT_GMP_SIGNATURE_FORMAT=\"packed/.sig\"\nCT_GMP_EXTRA_CFLAGS=\"-std=gnu17\"\nCT_COMP_LIBS_ISL=y\nCT_COMP_LIBS_ISL_PKG_KSYM=\"ISL\"\nCT_ISL_DIR_NAME=\"isl\"\nCT_ISL_PKG_NAME=\"isl\"\nCT_ISL_SRC_RELEASE=y\n# CT_ISL_SRC_DEVEL is not set\n# CT_ISL_SRC_CUSTOM is not set\nCT_ISL_PATCH_GLOBAL=y\n# CT_ISL_PATCH_BUNDLED is not set\n# CT_ISL_PATCH_LOCAL is not set\n# CT_ISL_PATCH_BUNDLED_LOCAL is not set\n# CT_ISL_PATCH_LOCAL_BUNDLED is not set\n# CT_ISL_PATCH_NONE is not set\nCT_ISL_PATCH_ORDER=\"global\"\nCT_ISL_V_0_27=y\n# CT_ISL_V_0_26 is not set\n# CT_ISL_V_0_25 is not set\n# CT_ISL_V_0_24 is not set\n# CT_ISL_V_0_23 is not set\n# CT_ISL_V_0_22 is not set\n# CT_ISL_V_0_21 is not set\n# CT_ISL_V_0_20 is not set\n# CT_ISL_V_0_19 is not set\n# CT_ISL_V_0_18 is not set\n# CT_ISL_V_0_17 is not set\n# CT_ISL_V_0_16 is not set\n# CT_ISL_V_0_15 is not set\n# CT_ISL_V_0_11 is not set\nCT_ISL_VERSION=\"0.27\"\nCT_ISL_MIRRORS=\"https://libisl.sourceforge.io\"\nCT_ISL_ARCHIVE_FILENAME=\"@{pkg_name}-@{version}\"\nCT_ISL_ARCHIVE_DIRNAME=\"@{pkg_name}-@{version}\"\nCT_ISL_ARCHIVE_FORMATS=\".tar.xz .tar.bz2 .tar.gz\"\nCT_ISL_SIGNATURE_FORMAT=\"\"\nCT_ISL_later_than_0_18=y\nCT_ISL_0_18_or_later=y\nCT_ISL_later_than_0_15=y\nCT_ISL_0_15_or_later=y\n# CT_COMP_LIBS_LIBELF is not set\nCT_COMP_LIBS_LIBICONV=y\nCT_COMP_LIBS_LIBICONV_PKG_KSYM=\"LIBICONV\"\nCT_LIBICONV_DIR_NAME=\"libiconv\"\nCT_LIBICONV_PKG_NAME=\"libiconv\"\nCT_LIBICONV_SRC_RELEASE=y\n# CT_LIBICONV_SRC_DEVEL is not set\n# CT_LIBICONV_SRC_CUSTOM is not set\nCT_LIBICONV_PATCH_GLOBAL=y\n# CT_LIBICONV_PATCH_BUNDLED is not set\n# CT_LIBICONV_PATCH_LOCAL is not set\n# CT_LIBICONV_PATCH_BUNDLED_LOCAL is not set\n# CT_LIBICONV_PATCH_LOCAL_BUNDLED is not set\n# CT_LIBICONV_PATCH_NONE is not set\nCT_LIBICONV_PATCH_ORDER=\"global\"\nCT_LIBICONV_V_1_18=y\n# CT_LIBICONV_V_1_16 is not set\n# CT_LIBICONV_V_1_15 is not set\nCT_LIBICONV_VERSION=\"1.18\"\nCT_LIBICONV_MIRRORS=\"$(CT_Mirrors GNU libiconv)\"\nCT_LIBICONV_ARCHIVE_FILENAME=\"@{pkg_name}-@{version}\"\nCT_LIBICONV_ARCHIVE_DIRNAME=\"@{pkg_name}-@{version}\"\nCT_LIBICONV_ARCHIVE_FORMATS=\".tar.gz\"\nCT_LIBICONV_SIGNATURE_FORMAT=\"packed/.sig\"\nCT_COMP_LIBS_MPC=y\nCT_COMP_LIBS_MPC_PKG_KSYM=\"MPC\"\nCT_MPC_DIR_NAME=\"mpc\"\nCT_MPC_PKG_NAME=\"mpc\"\nCT_MPC_SRC_RELEASE=y\n# CT_MPC_SRC_DEVEL is not set\n# CT_MPC_SRC_CUSTOM is not set\nCT_MPC_PATCH_GLOBAL=y\n# CT_MPC_PATCH_BUNDLED is not set\n# CT_MPC_PATCH_LOCAL is not set\n# CT_MPC_PATCH_BUNDLED_LOCAL is not set\n# CT_MPC_PATCH_LOCAL_BUNDLED is not set\n# CT_MPC_PATCH_NONE is not set\nCT_MPC_PATCH_ORDER=\"global\"\nCT_MPC_V_1_3=y\nCT_MPC_VERSION=\"1.3.1\"\nCT_MPC_MIRRORS=\"https://www.multiprecision.org/downloads $(CT_Mirrors GNU mpc)\"\nCT_MPC_ARCHIVE_FILENAME=\"@{pkg_name}-@{version}\"\nCT_MPC_ARCHIVE_DIRNAME=\"@{pkg_name}-@{version}\"\nCT_MPC_ARCHIVE_FORMATS=\".tar.gz\"\nCT_MPC_SIGNATURE_FORMAT=\"packed/.sig\"\nCT_COMP_LIBS_MPFR=y\nCT_COMP_LIBS_MPFR_PKG_KSYM=\"MPFR\"\nCT_MPFR_DIR_NAME=\"mpfr\"\nCT_MPFR_PKG_NAME=\"mpfr\"\nCT_MPFR_SRC_RELEASE=y\n# CT_MPFR_SRC_DEVEL is not set\n# CT_MPFR_SRC_CUSTOM is not set\nCT_MPFR_PATCH_GLOBAL=y\n# CT_MPFR_PATCH_BUNDLED is not set\n# CT_MPFR_PATCH_LOCAL is not set\n# CT_MPFR_PATCH_BUNDLED_LOCAL is not set\n# CT_MPFR_PATCH_LOCAL_BUNDLED is not set\n# CT_MPFR_PATCH_NONE is not set\nCT_MPFR_PATCH_ORDER=\"global\"\nCT_MPFR_V_4_2=y\nCT_MPFR_VERSION=\"4.2.2\"\nCT_MPFR_MIRRORS=\"https://www.mpfr.org/mpfr-${CT_MPFR_VERSION} $(CT_Mirrors GNU mpfr)\"\nCT_MPFR_ARCHIVE_FILENAME=\"@{pkg_name}-@{version}\"\nCT_MPFR_ARCHIVE_DIRNAME=\"@{pkg_name}-@{version}\"\nCT_MPFR_ARCHIVE_FORMATS=\".tar.xz .tar.bz2 .tar.gz .zip\"\nCT_MPFR_SIGNATURE_FORMAT=\"packed/.asc\"\nCT_COMP_LIBS_NCURSES=y\nCT_COMP_LIBS_NCURSES_PKG_KSYM=\"NCURSES\"\nCT_NCURSES_DIR_NAME=\"ncurses\"\nCT_NCURSES_PKG_NAME=\"ncurses\"\nCT_NCURSES_SRC_RELEASE=y\n# CT_NCURSES_SRC_DEVEL is not set\n# CT_NCURSES_SRC_CUSTOM is not set\nCT_NCURSES_PATCH_GLOBAL=y\n# CT_NCURSES_PATCH_BUNDLED is not set\n# CT_NCURSES_PATCH_LOCAL is not set\n# CT_NCURSES_PATCH_BUNDLED_LOCAL is not set\n# CT_NCURSES_PATCH_LOCAL_BUNDLED is not set\n# CT_NCURSES_PATCH_NONE is not set\nCT_NCURSES_PATCH_ORDER=\"global\"\nCT_NCURSES_V_6_5=y\n# CT_NCURSES_V_6_4 is not set\n# CT_NCURSES_V_6_2 is not set\n# CT_NCURSES_V_6_1 is not set\n# CT_NCURSES_V_6_0 is not set\nCT_NCURSES_VERSION=\"6.5\"\nCT_NCURSES_MIRRORS=\"https://invisible-mirror.net/archives/ncurses $(CT_Mirrors GNU ncurses)\"\nCT_NCURSES_ARCHIVE_FILENAME=\"@{pkg_name}-@{version}\"\nCT_NCURSES_ARCHIVE_DIRNAME=\"@{pkg_name}-@{version}\"\nCT_NCURSES_ARCHIVE_FORMATS=\".tar.gz\"\nCT_NCURSES_SIGNATURE_FORMAT=\"packed/.asc\"\n# CT_NCURSES_NEW_ABI is not set\nCT_NCURSES_HOST_CONFIG_ARGS=\"\"\nCT_NCURSES_HOST_DISABLE_DB=y\nCT_NCURSES_HOST_FALLBACKS=\"linux,xterm,xterm-color,xterm-256color,vt100\"\nCT_NCURSES_TARGET_CONFIG_ARGS=\"\"\n# CT_NCURSES_TARGET_DISABLE_DB is not set\nCT_NCURSES_TARGET_FALLBACKS=\"\"\nCT_NCURSES_EXTRA_CFLAGS=\"-std=gnu17\"\nCT_COMP_LIBS_ZLIB=y\nCT_COMP_LIBS_ZLIB_PKG_KSYM=\"ZLIB\"\nCT_ZLIB_DIR_NAME=\"zlib\"\nCT_ZLIB_PKG_NAME=\"zlib\"\nCT_ZLIB_SRC_RELEASE=y\n# CT_ZLIB_SRC_DEVEL is not set\n# CT_ZLIB_SRC_CUSTOM is not set\nCT_ZLIB_PATCH_GLOBAL=y\n# CT_ZLIB_PATCH_BUNDLED is not set\n# CT_ZLIB_PATCH_LOCAL is not set\n# CT_ZLIB_PATCH_BUNDLED_LOCAL is not set\n# CT_ZLIB_PATCH_LOCAL_BUNDLED is not set\n# CT_ZLIB_PATCH_NONE is not set\nCT_ZLIB_PATCH_ORDER=\"global\"\nCT_ZLIB_V_1_3_1=y\n# CT_ZLIB_V_1_2_13 is not set\nCT_ZLIB_VERSION=\"1.3.1\"\nCT_ZLIB_MIRRORS=\"https://github.com/madler/zlib/releases/download/v${CT_ZLIB_VERSION} https://www.zlib.net/\"\nCT_ZLIB_ARCHIVE_FILENAME=\"@{pkg_name}-@{version}\"\nCT_ZLIB_ARCHIVE_DIRNAME=\"@{pkg_name}-@{version}\"\nCT_ZLIB_ARCHIVE_FORMATS=\".tar.xz .tar.gz\"\nCT_ZLIB_SIGNATURE_FORMAT=\"packed/.asc\"\nCT_COMP_LIBS_ZSTD=y\nCT_COMP_LIBS_ZSTD_PKG_KSYM=\"ZSTD\"\nCT_ZSTD_DIR_NAME=\"zstd\"\nCT_ZSTD_PKG_NAME=\"zstd\"\nCT_ZSTD_SRC_RELEASE=y\n# CT_ZSTD_SRC_DEVEL is not set\n# CT_ZSTD_SRC_CUSTOM is not set\nCT_ZSTD_PATCH_GLOBAL=y\n# CT_ZSTD_PATCH_BUNDLED is not set\n# CT_ZSTD_PATCH_LOCAL is not set\n# CT_ZSTD_PATCH_BUNDLED_LOCAL is not set\n# CT_ZSTD_PATCH_LOCAL_BUNDLED is not set\n# CT_ZSTD_PATCH_NONE is not set\nCT_ZSTD_PATCH_ORDER=\"global\"\nCT_ZSTD_V_1_5_7=y\n# CT_ZSTD_V_1_5_6 is not set\n# CT_ZSTD_V_1_5_5 is not set\n# CT_ZSTD_V_1_5_2 is not set\nCT_ZSTD_VERSION=\"1.5.7\"\nCT_ZSTD_MIRRORS=\"https://github.com/facebook/zstd/releases/download/v${CT_ZSTD_VERSION} https://downloads.sourceforge.net/project/zstandard.mirror/v${CT_ZSTD_VERSION}\"\nCT_ZSTD_ARCHIVE_FILENAME=\"@{pkg_name}-@{version}\"\nCT_ZSTD_ARCHIVE_DIRNAME=\"@{pkg_name}-@{version}\"\nCT_ZSTD_ARCHIVE_FORMATS=\".tar.gz\"\nCT_ZSTD_SIGNATURE_FORMAT=\"packed/.sig\"\nCT_ALL_COMP_LIBS_CHOICES=\"CLOOG EXPAT GETTEXT GMP GNUPRUMCU ISL LIBELF LIBICONV MPC MPFR NCURSES NEWLIB_NANO PICOLIBC ZLIB ZSTD\"\nCT_LIBICONV_NEEDED=y\nCT_GETTEXT_NEEDED=y\nCT_GMP_NEEDED=y\nCT_MPFR_NEEDED=y\nCT_ISL_NEEDED=y\nCT_MPC_NEEDED=y\nCT_NCURSES_NEEDED=y\nCT_ZLIB_NEEDED=y\nCT_ZSTD_NEEDED=y\nCT_LIBICONV=y\nCT_GETTEXT=y\nCT_GMP=y\nCT_MPFR=y\nCT_ISL=y\nCT_MPC=y\nCT_NCURSES=y\nCT_ZLIB=y\nCT_ZSTD=y\n# end of Companion libraries\n\n#\n# Companion tools\n#\n# CT_COMP_TOOLS_FOR_HOST is not set\n# CT_COMP_TOOLS_AUTOCONF is not set\n# CT_COMP_TOOLS_AUTOMAKE is not set\n# CT_COMP_TOOLS_BISON is not set\n# CT_COMP_TOOLS_DTC is not set\n# CT_COMP_TOOLS_LIBTOOL is not set\n# CT_COMP_TOOLS_M4 is not set\nCT_COMP_TOOLS_MAKE=y\nCT_COMP_TOOLS_MAKE_PKG_KSYM=\"MAKE\"\nCT_MAKE_DIR_NAME=\"make\"\nCT_MAKE_PKG_NAME=\"make\"\nCT_MAKE_SRC_RELEASE=y\n# CT_MAKE_SRC_DEVEL is not set\n# CT_MAKE_SRC_CUSTOM is not set\nCT_MAKE_PATCH_GLOBAL=y\n# CT_MAKE_PATCH_BUNDLED is not set\n# CT_MAKE_PATCH_LOCAL is not set\n# CT_MAKE_PATCH_BUNDLED_LOCAL is not set\n# CT_MAKE_PATCH_LOCAL_BUNDLED is not set\n# CT_MAKE_PATCH_NONE is not set\nCT_MAKE_PATCH_ORDER=\"global\"\nCT_MAKE_V_4_3=y\nCT_MAKE_VERSION=\"4.3\"\nCT_MAKE_MIRRORS=\"$(CT_Mirrors GNU make)\"\nCT_MAKE_ARCHIVE_FILENAME=\"@{pkg_name}-@{version}\"\nCT_MAKE_ARCHIVE_DIRNAME=\"@{pkg_name}-@{version}\"\nCT_MAKE_ARCHIVE_FORMATS=\".tar.lz .tar.gz\"\nCT_MAKE_SIGNATURE_FORMAT=\"packed/.sig\"\nCT_MAKE_4_4_or_older=y\nCT_MAKE_older_than_4_4=y\nCT_MAKE_REQUIRE_older_than_4_4=y\nCT_MAKE_4_3_or_later=y\nCT_MAKE_4_3_or_older=y\nCT_MAKE_GMAKE_SYMLINK=y\nCT_MAKE_GNUMAKE_SYMLINK=y\nCT_ALL_COMP_TOOLS_CHOICES=\"AUTOCONF AUTOMAKE BISON DTC LIBTOOL M4 MAKE\"\n# end of Companion tools\n\n#\n# Test suite\n#\n# CT_TEST_SUITE_GCC is not set\n# end of Test suite\n"
  },
  {
    "path": "images/base-linuxppc64/gen-implib.sh",
    "content": "#!/bin/bash\nset -e\nif [[ $# != 2 ]]; then\n    echo \"Invalid arguments\"\n    exit 1\nfi\nIN=\"$1\"\nOUT=\"$2\"\n\nTMPDIR=\"$(mktemp -d)\"\ntrap \"rm -rf '$TMPDIR'\" EXIT\ncd \"$TMPDIR\"\n\nset -x\npython3 /opt/implib/implib-gen.py --target aarch64-linux-gnu --dlopen --lazy-load --verbose \"$IN\"\n${FFBUILD_CROSS_PREFIX}gcc $CFLAGS $STAGE_CFLAGS -Wa,--noexecstack -DIMPLIB_HIDDEN_SHIMS -c *.tramp.S *.init.c\n${FFBUILD_CROSS_PREFIX}ar -rcs \"$OUT\" *.tramp.o *.init.o\n"
  },
  {
    "path": "images/base-linuxppc64/toolchain.cmake",
    "content": "set(CMAKE_SYSTEM_NAME Linux)\nset(CMAKE_SYSTEM_PROCESSOR ppc64)\nset(CMAKE_SYSTEM_VERSION 4.18.20)\n\nset(triple powerpc64-ffbuild-linux-gnu)\n\nset(CMAKE_C_COMPILER ${triple}-gcc)\nset(CMAKE_CXX_COMPILER ${triple}-g++)\nset(CMAKE_RANLIB ${triple}-gcc-ranlib)\nset(CMAKE_AR ${triple}-gcc-ar)\n\nset(CMAKE_SYSROOT /opt/ct-ng/${triple}/sysroot)\nset(CMAKE_FIND_ROOT_PATH /opt/ct-ng /opt/ct-ng/${triple}/sysroot /opt/ffbuild)\n\nset(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)\nset(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)\nset(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)\n"
  },
  {
    "path": "images/base-linuxriscv64/Dockerfile",
    "content": "ARG GH_REPO=ghcr.io/btbn/ffmpeg-builds\nFROM $GH_REPO/base:latest\n\nRUN --mount=src=ct-ng-config,dst=/.config \\\n    git clone --filter=blob:none https://github.com/crosstool-ng/crosstool-ng.git /ct-ng && cd /ct-ng && \\\n    ./bootstrap && \\\n    ./configure --enable-local && \\\n    make -j$(nproc) && \\\n    cp /.config .config && \\\n    ./ct-ng build && \\\n    cd / && \\\n    rm -rf ct-ng\n\n# Prepare cross environment to heavily favour static builds\nRUN \\\n    find /opt/ct-ng \\( -type l \\\n        -and -name '*.so' \\\n        -and -not -ipath '*plugin*' \\\n        -and -not -name 'libdl.*' \\\n        -and -not -name 'libc.*' \\\n        -and -not -name 'libm.*' \\\n        -and -not -name 'libmvec.*' \\\n        -and -not -name 'librt.*' \\\n        -and -not -name 'libpthread.*' \\\n        \\) -delete && \\\n    find /opt/ct-ng \\( \\\n        -name 'libdl.a' \\\n        -or -name 'libc.a' \\\n        -or -name 'libm.a' \\\n        -or -name 'libmvec.a' \\\n        -or -name 'librt.a' \\\n        \\) -delete && \\\n    mkdir /opt/ffbuild\n\nENV FFBUILD_TOOLCHAIN=riscv64-ffbuild-linux-gnu \\\n    FFBUILD_RUST_TARGET=\"riscv64gc-unknown-linux-gnu\"\n\nRUN \\\n    rustup target add \"$FFBUILD_RUST_TARGET\" && \\\n    echo \"[target.$FFBUILD_RUST_TARGET]\\nlinker = \\\"${FFBUILD_TOOLCHAIN}-gcc\\\"\\nar = \\\"${FFBUILD_TOOLCHAIN}-gcc-ar\\\"\\n\" > \"$CARGO_HOME\"/config.toml\n\nADD toolchain.cmake /toolchain.cmake\nADD cross.meson /cross.meson\n\nADD gen-implib.sh /usr/bin/gen-implib\nRUN git clone --filter=blob:none --depth=1 https://github.com/yugr/Implib.so /opt/implib\n\nENV PATH=\"/opt/ct-ng/bin:${PATH}\" \\\n    QEMU_LD_PREFIX=\"/opt/ct-ng/${FFBUILD_TOOLCHAIN}/sysroot\" \\\n    FFBUILD_TARGET_FLAGS=\"--pkg-config=pkg-config --cross-prefix=${FFBUILD_TOOLCHAIN}- --arch=riscv64 --cpu=rv64gc --target-os=linux\" \\\n    FFBUILD_CROSS_PREFIX=\"${FFBUILD_TOOLCHAIN}-\" \\\n    FFBUILD_PREFIX=/opt/ffbuild \\\n    FFBUILD_DESTDIR=/opt/ffdest \\\n    FFBUILD_DESTPREFIX=/opt/ffdest/opt/ffbuild \\\n    FFBUILD_CMAKE_TOOLCHAIN=/toolchain.cmake \\\n    PKG_CONFIG=pkg-config \\\n    PKG_CONFIG_LIBDIR=/opt/ffbuild/lib/pkgconfig:/opt/ffbuild/share/pkgconfig \\\n    CC=\"${FFBUILD_TOOLCHAIN}-gcc\" \\\n    CXX=\"${FFBUILD_TOOLCHAIN}-g++\" \\\n    LD=\"${FFBUILD_TOOLCHAIN}-ld\" \\\n    AR=\"${FFBUILD_TOOLCHAIN}-gcc-ar\" \\\n    RANLIB=\"${FFBUILD_TOOLCHAIN}-gcc-ranlib\" \\\n    NM=\"${FFBUILD_TOOLCHAIN}-gcc-nm\" \\\n    CFLAGS=\"-static-libgcc -static-libstdc++ -I/opt/ffbuild/include -O2 -pipe -fPIC -DPIC -D_FORTIFY_SOURCE=2 -fstack-protector-strong -fstack-clash-protection -pthread\" \\\n    CXXFLAGS=\"-static-libgcc -static-libstdc++ -I/opt/ffbuild/include -O2 -pipe -fPIC -DPIC -D_FORTIFY_SOURCE=2 -fstack-protector-strong -fstack-clash-protection -pthread\" \\\n    LDFLAGS=\"-static-libgcc -static-libstdc++ -L/opt/ffbuild/lib -O2 -pipe -fstack-protector-strong -fstack-clash-protection -Wl,-z,relro,-z,now -pthread -lm\" \\\n    STAGE_CFLAGS=\"-fvisibility=hidden -fno-semantic-interposition\" \\\n    STAGE_CXXFLAGS=\"-fvisibility=hidden -fno-semantic-interposition\"\n"
  },
  {
    "path": "images/base-linuxriscv64/cross.meson",
    "content": "[binaries]\nc = 'riscv64-ffbuild-linux-gnu-gcc'\ncpp = 'riscv64-ffbuild-linux-gnu-g++'\nld = 'riscv64-ffbuild-linux-gnu-ld'\nar = 'riscv64-ffbuild-linux-gnu-gcc-ar'\nranlib = 'riscv64-ffbuild-linux-gnu-gcc-ranlib'\nstrip = 'riscv64-ffbuild-linux-gnu-strip'\n\n[host_machine]\nsystem = 'linux'\ncpu_family = 'riscv64'\ncpu = 'riscv64'\nendian = 'little'\n"
  },
  {
    "path": "images/base-linuxriscv64/ct-ng-config",
    "content": "#\n# Automatically generated file; DO NOT EDIT.\n# crosstool-NG 1.28.0.23_185f348 Configuration\n#\nCT_CONFIGURE_has_static_link=y\nCT_CONFIGURE_has_cxx11=y\nCT_CONFIGURE_has_wget=y\nCT_CONFIGURE_has_curl=y\nCT_CONFIGURE_has_meson=y\nCT_CONFIGURE_has_ninja=y\nCT_CONFIGURE_has_make_3_81_or_newer=y\nCT_CONFIGURE_has_make_4_0_or_newer=y\nCT_CONFIGURE_has_make_4_4_or_newer=y\nCT_CONFIGURE_has_libtool_2_4_or_newer=y\nCT_CONFIGURE_has_libtoolize_2_4_or_newer=y\nCT_CONFIGURE_has_autoconf_2_65_or_newer=y\nCT_CONFIGURE_has_autoreconf_2_65_or_newer=y\nCT_CONFIGURE_has_automake_1_15_or_newer=y\nCT_CONFIGURE_has_gnu_m4_1_4_12_or_newer=y\nCT_CONFIGURE_has_python_3_4_or_newer=y\nCT_CONFIGURE_has_bison_2_7_or_newer=y\nCT_CONFIGURE_has_bison_3_0_4_or_newer=y\nCT_CONFIGURE_has_python=y\nCT_CONFIGURE_has_dtc=y\nCT_CONFIGURE_has_svn=y\nCT_CONFIGURE_has_git=y\nCT_CONFIGURE_has_md5sum=y\nCT_CONFIGURE_has_sha1sum=y\nCT_CONFIGURE_has_sha256sum=y\nCT_CONFIGURE_has_sha512sum=y\nCT_CONFIGURE_has_install_with_strip_program=y\nCT_VERSION=\"1.28.0.23_185f348\"\nCT_VCHECK=\"\"\nCT_CONFIG_VERSION_ENV=\"4\"\nCT_CONFIG_VERSION_CURRENT=\"4\"\nCT_CONFIG_VERSION=\"4\"\nCT_MODULES=y\n\n#\n# Paths and misc options\n#\n\n#\n# crosstool-NG behavior\n#\nCT_OBSOLETE=y\nCT_EXPERIMENTAL=y\nCT_ALLOW_BUILD_AS_ROOT=y\nCT_ALLOW_BUILD_AS_ROOT_SURE=y\n# CT_ENABLE_EXPERIMENTAL_BUNDLED_PATCHES is not set\n# CT_DEBUG_CT is not set\n\n#\n# Paths\n#\nCT_LOCAL_TARBALLS_DIR=\"${HOME}/src\"\n# CT_SAVE_TARBALLS is not set\n# CT_TARBALLS_BUILDROOT_LAYOUT is not set\nCT_WORK_DIR=\"${CT_TOP_DIR}/build\"\nCT_BUILD_TOP_DIR=\"${CT_WORK_DIR:-${CT_TOP_DIR}/.build}/${CT_HOST:+HOST-${CT_HOST}/}${CT_TARGET}\"\nCT_BUILD_DIR=\"${CT_BUILD_TOP_DIR}/build\"\nCT_PREFIX_DIR=\"/opt/ct-ng\"\nCT_RM_RF_PREFIX_DIR=y\nCT_REMOVE_DOCS=y\n# CT_INSTALL_LICENSES is not set\n# CT_PREFIX_DIR_RO is not set\nCT_STRIP_HOST_TOOLCHAIN_EXECUTABLES=y\nCT_STRIP_TARGET_TOOLCHAIN_EXECUTABLES=y\n# CT_TARBALL_RESULT is not set\n\n#\n# Downloading\n#\nCT_DOWNLOAD_AGENT_WGET=y\n# CT_DOWNLOAD_AGENT_CURL is not set\n# CT_DOWNLOAD_AGENT_NONE is not set\n# CT_FORBID_DOWNLOAD is not set\n# CT_FORCE_DOWNLOAD is not set\nCT_CONNECT_TIMEOUT=10\nCT_DOWNLOAD_WGET_OPTIONS=\"--passive-ftp --tries=3 -nc --progress=dot:binary\"\n# CT_ONLY_DOWNLOAD is not set\n# CT_USE_MIRROR is not set\nCT_VERIFY_DOWNLOAD_DIGEST=y\nCT_VERIFY_DOWNLOAD_DIGEST_SHA512=y\n# CT_VERIFY_DOWNLOAD_DIGEST_SHA256 is not set\n# CT_VERIFY_DOWNLOAD_DIGEST_SHA1 is not set\n# CT_VERIFY_DOWNLOAD_DIGEST_MD5 is not set\nCT_VERIFY_DOWNLOAD_DIGEST_ALG=\"sha512\"\n# CT_VERIFY_DOWNLOAD_SIGNATURE is not set\n\n#\n# Extracting\n#\n# CT_FORCE_EXTRACT is not set\nCT_OVERRIDE_CONFIG_GUESS_SUB=y\n# CT_ONLY_EXTRACT is not set\nCT_PATCH_BUNDLED=y\n# CT_PATCH_LOCAL is not set\n# CT_PATCH_BUNDLED_LOCAL is not set\n# CT_PATCH_LOCAL_BUNDLED is not set\n# CT_PATCH_NONE is not set\nCT_PATCH_ORDER=\"bundled\"\n\n#\n# Build behavior\n#\nCT_PARALLEL_JOBS=0\nCT_LOAD=\"\"\nCT_USE_PIPES=y\nCT_EXTRA_CFLAGS_FOR_BUILD=\"-fPIC -DPIC\"\nCT_EXTRA_CXXFLAGS_FOR_BUILD=\"-fPIC -DPIC\"\nCT_EXTRA_LDFLAGS_FOR_BUILD=\"\"\nCT_EXTRA_CFLAGS_FOR_HOST=\"-fPIC -DPIC\"\nCT_EXTRA_LDFLAGS_FOR_HOST=\"\"\n# CT_CONFIG_SHELL_SH is not set\n# CT_CONFIG_SHELL_ASH is not set\nCT_CONFIG_SHELL_BASH=y\n# CT_CONFIG_SHELL_CUSTOM is not set\nCT_CONFIG_SHELL=\"${bash}\"\n\n#\n# Logging\n#\n# CT_LOG_ERROR is not set\n# CT_LOG_WARN is not set\n# CT_LOG_INFO is not set\n# CT_LOG_EXTRA is not set\n# CT_LOG_ALL is not set\nCT_LOG_DEBUG=y\nCT_LOG_LEVEL_MAX=\"DEBUG\"\n# CT_LOG_SEE_TOOLS_WARN is not set\n# CT_LOG_TO_FILE is not set\n# end of Paths and misc options\n\n#\n# Target options\n#\n# CT_ARCH_ALPHA is not set\n# CT_ARCH_ARC is not set\n# CT_ARCH_ARM is not set\n# CT_ARCH_AVR is not set\n# CT_ARCH_BPF is not set\n# CT_ARCH_C6X is not set\n# CT_ARCH_LM32 is not set\n# CT_ARCH_LOONGARCH is not set\n# CT_ARCH_M68K is not set\n# CT_ARCH_MICROBLAZE is not set\n# CT_ARCH_MIPS is not set\n# CT_ARCH_MOXIE is not set\n# CT_ARCH_MSP430 is not set\n# CT_ARCH_NIOS2 is not set\n# CT_ARCH_OPENRISC is not set\n# CT_ARCH_PARISC is not set\n# CT_ARCH_POWERPC is not set\n# CT_ARCH_PRU is not set\nCT_ARCH_RISCV=y\n# CT_ARCH_RX is not set\n# CT_ARCH_S390 is not set\n# CT_ARCH_SH is not set\n# CT_ARCH_SPARC is not set\n# CT_ARCH_TRICORE is not set\n# CT_ARCH_X86 is not set\n# CT_ARCH_XTENSA is not set\nCT_ARCH=\"riscv\"\nCT_ARCH_CHOICE_KSYM=\"RISCV\"\nCT_ARCH_TUNE=\"\"\nCT_ARCH_RISCV_SHOW=y\n\n#\n# Options for riscv\n#\nCT_ARCH_RISCV_PKG_KSYM=\"\"\nCT_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\"\nCT_ARCH_SUFFIX=\"\"\n# CT_OMIT_TARGET_VENDOR is not set\n\n#\n# Generic target options\n#\n# CT_MULTILIB is not set\nCT_DEMULTILIB=y\nCT_ARCH_SUPPORTS_BOTH_MMU=y\nCT_ARCH_USE_MMU=y\nCT_ARCH_SUPPORTS_LIBSANITIZER=y\nCT_ARCH_SUPPORTS_32=y\nCT_ARCH_SUPPORTS_64=y\nCT_ARCH_DEFAULT_32=y\nCT_ARCH_BITNESS=64\n# CT_ARCH_32 is not set\nCT_ARCH_64=y\n\n#\n# Target optimisations\n#\nCT_ARCH_SUPPORTS_WITH_ARCH=y\nCT_ARCH_SUPPORTS_WITH_ABI=y\nCT_ARCH_SUPPORTS_WITH_TUNE=y\nCT_ARCH_ARCH=\"rv64gc\"\nCT_ARCH_ABI=\"lp64d\"\nCT_TARGET_CFLAGS=\"-fPIC -DPIC\"\nCT_TARGET_LDFLAGS=\"\"\n# end of Target options\n\n#\n# Toolchain options\n#\n\n#\n# General toolchain options\n#\nCT_USE_SYSROOT=y\nCT_SYSROOT_NAME=\"sysroot\"\nCT_SYSROOT_DIR_PREFIX=\"\"\n# CT_STATIC_TOOLCHAIN is not set\nCT_SHOW_CT_VERSION=y\nCT_TOOLCHAIN_PKGVERSION=\"\"\nCT_TOOLCHAIN_BUGURL=\"\"\n\n#\n# Tuple completion and aliasing\n#\nCT_TARGET_VENDOR=\"ffbuild\"\nCT_TARGET_ALIAS_SED_EXPR=\"\"\nCT_TARGET_ALIAS=\"\"\n\n#\n# Toolchain type\n#\n# CT_NATIVE is not set\nCT_CROSS=y\n# CT_CROSS_NATIVE is not set\n# CT_CANADIAN is not set\nCT_TOOLCHAIN_TYPE=\"cross\"\n\n#\n# Build system\n#\nCT_BUILD=\"\"\nCT_BUILD_PREFIX=\"\"\nCT_BUILD_SUFFIX=\"\"\n\n#\n# Misc options\n#\n# CT_TOOLCHAIN_ENABLE_NLS is not set\nCT_TOOLCHAIN_CMAKE_TOOLCHAIN_FILE=y\n# end of Toolchain options\n\n#\n# Operating System\n#\nCT_KERNEL_SUPPORTS_SHARED_LIBS=y\n# CT_KERNEL_BARE_METAL is not set\nCT_KERNEL_LINUX=y\nCT_KERNEL=\"linux\"\nCT_KERNEL_CHOICE_KSYM=\"LINUX\"\nCT_KERNEL_LINUX_SHOW=y\n\n#\n# Options for linux\n#\nCT_KERNEL_LINUX_PKG_KSYM=\"LINUX\"\nCT_LINUX_DIR_NAME=\"linux\"\nCT_LINUX_PKG_NAME=\"linux\"\nCT_LINUX_SRC_RELEASE=y\n# CT_LINUX_SRC_DEVEL is not set\n# CT_LINUX_SRC_CUSTOM is not set\nCT_LINUX_PATCH_GLOBAL=y\n# CT_LINUX_PATCH_BUNDLED is not set\n# CT_LINUX_PATCH_LOCAL is not set\n# CT_LINUX_PATCH_BUNDLED_LOCAL is not set\n# CT_LINUX_PATCH_LOCAL_BUNDLED is not set\n# CT_LINUX_PATCH_NONE is not set\nCT_LINUX_PATCH_ORDER=\"global\"\n# CT_LINUX_V_6_18 is not set\n# CT_LINUX_V_6_17 is not set\n# CT_LINUX_V_6_16 is not set\n# CT_LINUX_V_6_15 is not set\n# CT_LINUX_V_6_14 is not set\n# CT_LINUX_V_6_13 is not set\n# CT_LINUX_V_6_12 is not set\n# CT_LINUX_V_6_11 is not set\n# CT_LINUX_V_6_10 is not set\n# CT_LINUX_V_6_9 is not set\n# CT_LINUX_V_6_8 is not set\n# CT_LINUX_V_6_7 is not set\n# CT_LINUX_V_6_6 is not set\n# CT_LINUX_V_6_5 is not set\n# CT_LINUX_V_6_4 is not set\n# CT_LINUX_V_6_3 is not set\n# CT_LINUX_V_6_2 is not set\nCT_LINUX_V_6_1=y\n# CT_LINUX_V_6_0 is not set\n# CT_LINUX_V_5_19 is not set\n# CT_LINUX_V_5_18 is not set\n# CT_LINUX_V_5_17 is not set\n# CT_LINUX_V_5_16 is not set\n# CT_LINUX_V_5_15 is not set\n# CT_LINUX_V_5_14 is not set\n# CT_LINUX_V_5_13 is not set\n# CT_LINUX_V_5_12 is not set\n# CT_LINUX_V_5_11 is not set\n# CT_LINUX_V_5_10 is not set\n# CT_LINUX_V_5_9 is not set\n# CT_LINUX_V_5_8 is not set\n# CT_LINUX_V_5_7 is not set\n# CT_LINUX_V_5_5 is not set\n# CT_LINUX_V_5_4 is not set\n# CT_LINUX_V_5_3 is not set\n# CT_LINUX_V_5_2 is not set\n# CT_LINUX_V_5_1 is not set\n# CT_LINUX_V_5_0 is not set\n# CT_LINUX_V_4_20 is not set\n# CT_LINUX_V_4_19 is not set\n# CT_LINUX_V_4_18 is not set\n# CT_LINUX_V_4_17 is not set\n# CT_LINUX_V_4_16 is not set\n# CT_LINUX_V_4_15 is not set\n# CT_LINUX_V_4_14 is not set\n# CT_LINUX_V_4_13 is not set\n# CT_LINUX_V_4_12 is not set\n# CT_LINUX_V_4_11 is not set\n# CT_LINUX_V_4_10 is not set\n# CT_LINUX_V_4_9 is not set\n# CT_LINUX_V_4_4 is not set\n# CT_LINUX_V_4_1 is not set\n# CT_LINUX_V_3_18 is not set\n# CT_LINUX_V_3_16 is not set\n# CT_LINUX_V_3_13 is not set\n# CT_LINUX_V_3_12 is not set\n# CT_LINUX_V_3_10 is not set\n# CT_LINUX_V_3_4 is not set\n# CT_LINUX_V_3_2 is not set\nCT_LINUX_VERSION=\"6.1.159\"\nCT_LINUX_MIRRORS=\"$(CT_Mirrors kernel.org linux ${CT_LINUX_VERSION})\"\nCT_LINUX_ARCHIVE_FILENAME=\"@{pkg_name}-@{version}\"\nCT_LINUX_ARCHIVE_DIRNAME=\"@{pkg_name}-@{version}\"\nCT_LINUX_ARCHIVE_FORMATS=\".tar.xz .tar.gz\"\nCT_LINUX_SIGNATURE_FORMAT=\"unpacked/.sign\"\nCT_LINUX_later_than_5_19=y\nCT_LINUX_5_19_or_later=y\nCT_LINUX_later_than_5_12=y\nCT_LINUX_5_12_or_later=y\nCT_LINUX_later_than_5_5=y\nCT_LINUX_5_5_or_later=y\nCT_LINUX_later_than_5_3=y\nCT_LINUX_5_3_or_later=y\nCT_LINUX_later_than_4_8=y\nCT_LINUX_4_8_or_later=y\nCT_LINUX_later_than_3_7=y\nCT_LINUX_3_7_or_later=y\nCT_LINUX_later_than_3_2=y\nCT_LINUX_3_2_or_later=y\nCT_LINUX_REQUIRE_3_2_or_later=y\nCT_KERNEL_has_rsync=y\nCT_KERNEL_DEP_RSYNC=y\nCT_KERNEL_LINUX_VERBOSITY_0=y\n# CT_KERNEL_LINUX_VERBOSITY_1 is not set\n# CT_KERNEL_LINUX_VERBOSITY_2 is not set\nCT_KERNEL_LINUX_VERBOSE_LEVEL=0\nCT_ALL_KERNEL_CHOICES=\"BARE_METAL LINUX WINDOWS\"\n\n#\n# Common kernel options\n#\nCT_SHARED_LIBS=y\n# end of Operating System\n\n#\n# Binary utilities\n#\nCT_ARCH_BINFMT_ELF=y\nCT_BINUTILS_BINUTILS=y\nCT_BINUTILS=\"binutils\"\nCT_BINUTILS_CHOICE_KSYM=\"BINUTILS\"\nCT_BINUTILS_BINUTILS_SHOW=y\n\n#\n# Options for binutils\n#\nCT_BINUTILS_BINUTILS_PKG_KSYM=\"BINUTILS\"\nCT_BINUTILS_DIR_NAME=\"binutils\"\nCT_BINUTILS_USE_GNU=y\n# CT_BINUTILS_USE_LINARO is not set\n# CT_BINUTILS_USE_ORACLE is not set\nCT_BINUTILS_USE=\"BINUTILS\"\nCT_BINUTILS_PKG_NAME=\"binutils\"\nCT_BINUTILS_SRC_RELEASE=y\n# CT_BINUTILS_SRC_DEVEL is not set\n# CT_BINUTILS_SRC_CUSTOM is not set\nCT_BINUTILS_PATCH_GLOBAL=y\n# CT_BINUTILS_PATCH_BUNDLED is not set\n# CT_BINUTILS_PATCH_LOCAL is not set\n# CT_BINUTILS_PATCH_BUNDLED_LOCAL is not set\n# CT_BINUTILS_PATCH_LOCAL_BUNDLED is not set\n# CT_BINUTILS_PATCH_NONE is not set\nCT_BINUTILS_PATCH_ORDER=\"global\"\nCT_BINUTILS_V_2_46=y\n# CT_BINUTILS_V_2_45 is not set\n# CT_BINUTILS_V_2_44 is not set\n# CT_BINUTILS_V_2_43 is not set\n# CT_BINUTILS_V_2_42 is not set\n# CT_BINUTILS_V_2_41 is not set\n# CT_BINUTILS_V_2_40 is not set\n# CT_BINUTILS_V_2_39 is not set\n# CT_BINUTILS_V_2_38 is not set\n# CT_BINUTILS_V_2_37 is not set\n# CT_BINUTILS_V_2_36 is not set\n# CT_BINUTILS_V_2_35 is not set\n# CT_BINUTILS_V_2_34 is not set\n# CT_BINUTILS_V_2_33 is not set\n# CT_BINUTILS_V_2_32 is not set\n# CT_BINUTILS_V_2_31 is not set\n# CT_BINUTILS_V_2_30 is not set\n# CT_BINUTILS_V_2_29 is not set\n# CT_BINUTILS_V_2_28 is not set\n# CT_BINUTILS_V_2_27 is not set\n# CT_BINUTILS_V_2_26 is not set\nCT_BINUTILS_VERSION=\"2.46.0\"\nCT_BINUTILS_MIRRORS=\"$(CT_Mirrors GNU binutils) $(CT_Mirrors sourceware binutils/releases)\"\nCT_BINUTILS_ARCHIVE_FILENAME=\"@{pkg_name}-@{version}\"\nCT_BINUTILS_ARCHIVE_DIRNAME=\"@{pkg_name}-@{version}\"\nCT_BINUTILS_ARCHIVE_FORMATS=\".tar.xz .tar.bz2 .tar.gz\"\nCT_BINUTILS_SIGNATURE_FORMAT=\"packed/.sig\"\nCT_BINUTILS_2_46_0_or_later=y\nCT_BINUTILS_2_46_0_or_older=y\nCT_BINUTILS_later_than_2_45=y\nCT_BINUTILS_2_45_or_later=y\nCT_BINUTILS_later_than_2_44=y\nCT_BINUTILS_2_44_or_later=y\nCT_BINUTILS_later_than_2_41=y\nCT_BINUTILS_2_41_or_later=y\nCT_BINUTILS_later_than_2_39=y\nCT_BINUTILS_2_39_or_later=y\nCT_BINUTILS_later_than_2_30=y\nCT_BINUTILS_2_30_or_later=y\nCT_BINUTILS_later_than_2_27=y\nCT_BINUTILS_2_27_or_later=y\nCT_BINUTILS_later_than_2_26=y\nCT_BINUTILS_2_26_or_later=y\n\n#\n# GNU binutils\n#\nCT_BINUTILS_FORCE_LD_BFD_DEFAULT=y\nCT_BINUTILS_LINKER_LD=y\nCT_BINUTILS_LINKERS_LIST=\"ld\"\nCT_BINUTILS_LINKER_DEFAULT=\"bfd\"\nCT_BINUTILS_PLUGINS=y\nCT_BINUTILS_RELRO=m\nCT_BINUTILS_DETERMINISTIC_ARCHIVES=y\nCT_BINUTILS_EXTRA_CONFIG_ARRAY=\"\"\n# CT_BINUTILS_FOR_TARGET is not set\n# CT_BINUTILS_GPROFNG is not set\nCT_ALL_BINUTILS_CHOICES=\"BINUTILS\"\n# end of Binary utilities\n\n#\n# C-library\n#\nCT_LIBC_GLIBC=y\n# CT_LIBC_MUSL is not set\n# CT_LIBC_UCLIBC_NG is not set\nCT_LIBC=\"glibc\"\nCT_LIBC_CHOICE_KSYM=\"GLIBC\"\nCT_LIBC_GLIBC_SHOW=y\n\n#\n# Options for glibc\n#\nCT_LIBC_GLIBC_PKG_KSYM=\"GLIBC\"\nCT_GLIBC_DIR_NAME=\"glibc\"\nCT_GLIBC_USE_GNU=y\n# CT_GLIBC_USE_ORACLE is not set\nCT_GLIBC_USE=\"GLIBC\"\nCT_GLIBC_PKG_NAME=\"glibc\"\nCT_GLIBC_SRC_RELEASE=y\n# CT_GLIBC_SRC_DEVEL is not set\n# CT_GLIBC_SRC_CUSTOM is not set\nCT_GLIBC_PATCH_GLOBAL=y\n# CT_GLIBC_PATCH_BUNDLED is not set\n# CT_GLIBC_PATCH_LOCAL is not set\n# CT_GLIBC_PATCH_BUNDLED_LOCAL is not set\n# CT_GLIBC_PATCH_LOCAL_BUNDLED is not set\n# CT_GLIBC_PATCH_NONE is not set\nCT_GLIBC_PATCH_ORDER=\"global\"\n# CT_GLIBC_V_2_43 is not set\n# CT_GLIBC_V_2_42 is not set\n# CT_GLIBC_V_2_41 is not set\n# CT_GLIBC_V_2_40 is not set\n# CT_GLIBC_V_2_39 is not set\n# CT_GLIBC_V_2_38 is not set\n# CT_GLIBC_V_2_37 is not set\nCT_GLIBC_V_2_36=y\n# CT_GLIBC_V_2_35 is not set\n# CT_GLIBC_V_2_34 is not set\n# CT_GLIBC_V_2_33 is not set\n# CT_GLIBC_V_2_32 is not set\n# CT_GLIBC_V_2_31 is not set\n# CT_GLIBC_V_2_30 is not set\n# CT_GLIBC_V_2_29 is not set\nCT_GLIBC_VERSION=\"2.36\"\nCT_GLIBC_MIRRORS=\"$(CT_Mirrors GNU glibc)\"\nCT_GLIBC_ARCHIVE_FILENAME=\"@{pkg_name}-@{version}\"\nCT_GLIBC_ARCHIVE_DIRNAME=\"@{pkg_name}-@{version}\"\nCT_GLIBC_ARCHIVE_FORMATS=\".tar.xz .tar.bz2 .tar.gz\"\nCT_GLIBC_SIGNATURE_FORMAT=\"packed/.sig\"\nCT_GLIBC_2_43_or_older=y\nCT_GLIBC_older_than_2_43=y\nCT_GLIBC_2_42_or_older=y\nCT_GLIBC_older_than_2_42=y\nCT_GLIBC_2_41_or_older=y\nCT_GLIBC_older_than_2_41=y\nCT_GLIBC_2_38_or_older=y\nCT_GLIBC_older_than_2_38=y\nCT_GLIBC_2_37_or_older=y\nCT_GLIBC_older_than_2_37=y\nCT_GLIBC_2_36_or_later=y\nCT_GLIBC_2_36_or_older=y\nCT_GLIBC_later_than_2_34=y\nCT_GLIBC_2_34_or_later=y\nCT_GLIBC_later_than_2_32=y\nCT_GLIBC_2_32_or_later=y\nCT_GLIBC_later_than_2_31=y\nCT_GLIBC_2_31_or_later=y\nCT_GLIBC_later_than_2_30=y\nCT_GLIBC_2_30_or_later=y\nCT_GLIBC_later_than_2_29=y\nCT_GLIBC_2_29_or_later=y\nCT_GLIBC_REQUIRE_2_29_or_later=y\nCT_GLIBC_later_than_2_28=y\nCT_GLIBC_2_28_or_later=y\nCT_GLIBC_later_than_2_27=y\nCT_GLIBC_2_27_or_later=y\nCT_GLIBC_later_than_2_26=y\nCT_GLIBC_2_26_or_later=y\nCT_GLIBC_later_than_2_25=y\nCT_GLIBC_2_25_or_later=y\nCT_GLIBC_later_than_2_24=y\nCT_GLIBC_2_24_or_later=y\nCT_GLIBC_later_than_2_23=y\nCT_GLIBC_2_23_or_later=y\nCT_GLIBC_later_than_2_20=y\nCT_GLIBC_2_20_or_later=y\nCT_GLIBC_later_than_2_17=y\nCT_GLIBC_2_17_or_later=y\nCT_GLIBC_later_than_2_14=y\nCT_GLIBC_2_14_or_later=y\nCT_GLIBC_DEP_KERNEL_HEADERS_VERSION=y\nCT_GLIBC_DEP_BINUTILS=y\nCT_GLIBC_DEP_GCC=y\nCT_GLIBC_DEP_PYTHON=y\nCT_THREADS=\"nptl\"\nCT_GLIBC_BUILD_SSP=y\nCT_GLIBC_HAS_LIBIDN_ADDON=y\n# CT_GLIBC_USE_LIBIDN_ADDON is not set\nCT_GLIBC_NO_SPARC_V8=y\nCT_GLIBC_EXTRA_CONFIG_ARRAY=\"--with-pic\"\nCT_GLIBC_CONFIGPARMS=\"\"\n# CT_GLIBC_ENABLE_DEBUG is not set\nCT_GLIBC_EXTRA_CFLAGS=\"-fPIC -DPIC\"\n# CT_GLIBC_ENABLE_FORTIFIED_BUILD is not set\n# CT_GLIBC_DISABLE_VERSIONING is not set\nCT_GLIBC_OLDEST_ABI=\"\"\nCT_GLIBC_FORCE_UNWIND=y\n# CT_GLIBC_LOCALES is not set\n# CT_GLIBC_KERNEL_VERSION_NONE is not set\nCT_GLIBC_KERNEL_VERSION_AS_HEADERS=y\n# CT_GLIBC_KERNEL_VERSION_CHOSEN is not set\nCT_GLIBC_MIN_KERNEL=\"6.1.159\"\nCT_GLIBC_SSP_DEFAULT=y\n# CT_GLIBC_SSP_NO is not set\n# CT_GLIBC_SSP_YES is not set\n# CT_GLIBC_SSP_ALL is not set\n# CT_GLIBC_SSP_STRONG is not set\nCT_GLIBC_ENABLE_COMMON_FLAG=y\nCT_ALL_LIBC_CHOICES=\"AVR_LIBC GLIBC MINGW_W64 MOXIEBOX MUSL NEWLIB NONE PICOLIBC UCLIBC_NG\"\nCT_LIBC_SUPPORT_THREADS_ANY=y\nCT_LIBC_SUPPORT_THREADS_NATIVE=y\n\n#\n# Common C library options\n#\nCT_THREADS_NATIVE=y\n# CT_CREATE_LDSO_CONF is not set\nCT_LIBC_XLDD=y\n# end of C-library\n\n#\n# C compiler\n#\nCT_CC_CORE_NEEDED=y\nCT_CC_SUPPORT_CXX=y\nCT_CC_SUPPORT_FORTRAN=y\nCT_CC_SUPPORT_ADA=y\nCT_CC_SUPPORT_D=y\nCT_CC_SUPPORT_JIT=y\nCT_CC_SUPPORT_OBJC=y\nCT_CC_SUPPORT_OBJCXX=y\nCT_CC_SUPPORT_GOLANG=y\nCT_CC_GCC=y\nCT_CC=\"gcc\"\nCT_CC_CHOICE_KSYM=\"GCC\"\nCT_CC_GCC_SHOW=y\n\n#\n# Options for gcc\n#\nCT_CC_GCC_PKG_KSYM=\"GCC\"\nCT_GCC_DIR_NAME=\"gcc\"\nCT_GCC_USE_GNU=y\n# CT_GCC_USE_LINARO is not set\n# CT_GCC_USE_ORACLE is not set\nCT_GCC_USE=\"GCC\"\nCT_GCC_PKG_NAME=\"gcc\"\nCT_GCC_SRC_RELEASE=y\n# CT_GCC_SRC_DEVEL is not set\n# CT_GCC_SRC_CUSTOM is not set\nCT_GCC_PATCH_GLOBAL=y\n# CT_GCC_PATCH_BUNDLED is not set\n# CT_GCC_PATCH_LOCAL is not set\n# CT_GCC_PATCH_BUNDLED_LOCAL is not set\n# CT_GCC_PATCH_LOCAL_BUNDLED is not set\n# CT_GCC_PATCH_NONE is not set\nCT_GCC_PATCH_ORDER=\"global\"\nCT_GCC_V_15=y\n# CT_GCC_V_14 is not set\n# CT_GCC_V_13 is not set\n# CT_GCC_V_12 is not set\n# CT_GCC_V_11 is not set\n# CT_GCC_V_10 is not set\n# CT_GCC_V_9 is not set\n# CT_GCC_V_8 is not set\n# CT_GCC_V_7 is not set\nCT_GCC_VERSION=\"15.2.0\"\nCT_GCC_MIRRORS=\"$(CT_Mirrors GNU gcc/gcc-${CT_GCC_VERSION}) $(CT_Mirrors sourceware gcc/releases/gcc-${CT_GCC_VERSION})\"\nCT_GCC_ARCHIVE_FILENAME=\"@{pkg_name}-@{version}\"\nCT_GCC_ARCHIVE_DIRNAME=\"@{pkg_name}-@{version}\"\nCT_GCC_ARCHIVE_FORMATS=\".tar.xz .tar.gz\"\nCT_GCC_SIGNATURE_FORMAT=\"\"\nCT_GCC_later_than_15=y\nCT_GCC_15_or_later=y\nCT_GCC_later_than_14=y\nCT_GCC_14_or_later=y\nCT_GCC_later_than_13=y\nCT_GCC_13_or_later=y\nCT_GCC_later_than_12=y\nCT_GCC_12_or_later=y\nCT_GCC_later_than_11=y\nCT_GCC_11_or_later=y\nCT_GCC_later_than_10=y\nCT_GCC_10_or_later=y\nCT_GCC_later_than_9=y\nCT_GCC_9_or_later=y\nCT_GCC_later_than_8=y\nCT_GCC_8_or_later=y\nCT_GCC_later_than_7=y\nCT_GCC_7_or_later=y\nCT_GCC_REQUIRE_7_or_later=y\nCT_GCC_later_than_6=y\nCT_GCC_6_or_later=y\nCT_GCC_REQUIRE_6_or_later=y\nCT_GCC_later_than_5=y\nCT_GCC_5_or_later=y\nCT_GCC_REQUIRE_5_or_later=y\nCT_GCC_later_than_4_9=y\nCT_GCC_4_9_or_later=y\nCT_GCC_REQUIRE_4_9_or_later=y\nCT_CC_GCC_ENABLE_PLUGINS=y\nCT_CC_GCC_HAS_LIBMPX=y\nCT_CC_GCC_ENABLE_CXX_FLAGS=\"\"\nCT_CC_GCC_CORE_EXTRA_CONFIG_ARRAY=\"--enable-host-shared --enable-default-ssp\"\nCT_CC_GCC_EXTRA_CONFIG_ARRAY=\"--enable-host-shared --enable-default-ssp --with-build-config=bootstrap-lto-lean --enable-link-serialization=2\"\n# CT_CC_GCC_STATIC_LIBSTDCXX is not set\n# CT_CC_GCC_SYSTEM_ZLIB is not set\nCT_CC_GCC_CONFIG_TLS=m\n\n#\n# Optimisation features\n#\nCT_CC_GCC_USE_GRAPHITE=y\nCT_CC_GCC_USE_LTO=y\nCT_CC_GCC_LTO_ZSTD=m\n\n#\n# Settings for libraries running on target\n#\n# CT_CC_GCC_ENABLE_DEFAULT_PIE is not set\n# CT_CC_GCC_ENABLE_TARGET_OPTSPACE is not set\nCT_CC_GCC_LIBSTDCXX=m\n# CT_CC_GCC_LIBSTDCXX_HOSTED_DISABLE is not set\nCT_CC_GCC_LIBSTDCXX_TARGET_CXXFLAGS=\"-O2 -pipe\"\n# CT_CC_GCC_LIBMUDFLAP is not set\nCT_CC_GCC_LIBGOMP=y\nCT_CC_GCC_LIBSSP=m\n# CT_CC_GCC_LIBQUADMATH is not set\n# CT_CC_GCC_LIBSANITIZER is not set\n# CT_CC_GCC_LIBSTDCXX_VERBOSE is not set\n\n#\n# Misc. obscure options.\n#\nCT_CC_CXA_ATEXIT=y\nCT_CC_GCC_TM_CLONE_REGISTRY=m\n# CT_CC_GCC_DISABLE_PCH is not set\nCT_CC_GCC_SJLJ_EXCEPTIONS=m\nCT_CC_GCC_LDBL_128=m\n# CT_CC_GCC_BUILD_ID is not set\nCT_CC_GCC_LNK_HASH_STYLE_DEFAULT=y\n# CT_CC_GCC_LNK_HASH_STYLE_SYSV is not set\n# CT_CC_GCC_LNK_HASH_STYLE_GNU is not set\n# CT_CC_GCC_LNK_HASH_STYLE_BOTH is not set\nCT_CC_GCC_LNK_HASH_STYLE=\"\"\nCT_CC_GCC_DEC_FLOATS_AUTO=y\n# CT_CC_GCC_DEC_FLOATS_BID is not set\n# CT_CC_GCC_DEC_FLOATS_DPD is not set\n# CT_CC_GCC_DEC_FLOATS_NO is not set\nCT_CC_GCC_DEC_FLOATS=\"\"\nCT_ALL_CC_CHOICES=\"GCC\"\n\n#\n# Additional supported languages:\n#\nCT_CC_LANG_CXX=y\n# CT_CC_LANG_FORTRAN is not set\n# CT_CC_LANG_JIT is not set\n# CT_CC_LANG_ADA is not set\n# CT_CC_LANG_D is not set\n# CT_CC_LANG_OBJC is not set\n# CT_CC_LANG_OBJCXX is not set\n# CT_CC_LANG_GOLANG is not set\nCT_CC_LANG_OTHERS=\"\"\n# end of C compiler\n\n#\n# Linkers\n#\n\n#\n# BFD enabled in binutils\n#\nCT_LINKER_MOLD=y\nCT_LINKER_MOLD_PKG_KSYM=\"MOLD\"\nCT_MOLD_DIR_NAME=\"mold\"\nCT_MOLD_PKG_NAME=\"mold\"\nCT_MOLD_SRC_RELEASE=y\n# CT_MOLD_SRC_DEVEL is not set\n# CT_MOLD_SRC_CUSTOM is not set\nCT_MOLD_PATCH_GLOBAL=y\n# CT_MOLD_PATCH_BUNDLED is not set\n# CT_MOLD_PATCH_LOCAL is not set\n# CT_MOLD_PATCH_BUNDLED_LOCAL is not set\n# CT_MOLD_PATCH_LOCAL_BUNDLED is not set\n# CT_MOLD_PATCH_NONE is not set\nCT_MOLD_PATCH_ORDER=\"global\"\nCT_MOLD_V_2_40_4=y\n# CT_MOLD_V_2_39_1 is not set\n# CT_MOLD_V_2_38_1 is not set\n# CT_MOLD_V_2_37_1 is not set\n# CT_MOLD_V_2_36_0 is not set\n# CT_MOLD_V_2_33_0 is not set\n# CT_MOLD_V_2_32_0 is not set\n# CT_MOLD_V_2_31_0 is not set\nCT_MOLD_VERSION=\"2.40.4\"\nCT_MOLD_MIRRORS=\"https://github.com/rui314/mold/archive/refs/tags\"\nCT_MOLD_ARCHIVE_FILENAME=\"v@{version}\"\nCT_MOLD_ARCHIVE_DIRNAME=\"@{pkg_name}-@{version}\"\nCT_MOLD_ARCHIVE_FORMATS=\".tar.gz\"\nCT_MOLD_SIGNATURE_FORMAT=\"\"\nCT_LINKER_MOLD_has_cmake=y\nCT_ALL_LINKER_CHOICES=\"MOLD\"\n# end of Linkers\n\n#\n# Debug facilities\n#\n# CT_DEBUG_DUMA is not set\n# CT_DEBUG_GDB is not set\n# CT_DEBUG_LTRACE is not set\n# CT_DEBUG_STRACE is not set\nCT_ALL_DEBUG_CHOICES=\"DUMA GDB LTRACE STRACE\"\n# end of Debug facilities\n\n#\n# Companion libraries\n#\n# CT_COMPLIBS_CHECK is not set\n# CT_COMP_LIBS_CLOOG is not set\n# CT_COMP_LIBS_EXPAT is not set\nCT_COMP_LIBS_GETTEXT=y\nCT_COMP_LIBS_GETTEXT_PKG_KSYM=\"GETTEXT\"\nCT_GETTEXT_DIR_NAME=\"gettext\"\nCT_GETTEXT_PKG_NAME=\"gettext\"\nCT_GETTEXT_SRC_RELEASE=y\n# CT_GETTEXT_SRC_DEVEL is not set\n# CT_GETTEXT_SRC_CUSTOM is not set\nCT_GETTEXT_PATCH_GLOBAL=y\n# CT_GETTEXT_PATCH_BUNDLED is not set\n# CT_GETTEXT_PATCH_LOCAL is not set\n# CT_GETTEXT_PATCH_BUNDLED_LOCAL is not set\n# CT_GETTEXT_PATCH_LOCAL_BUNDLED is not set\n# CT_GETTEXT_PATCH_NONE is not set\nCT_GETTEXT_PATCH_ORDER=\"global\"\nCT_GETTEXT_V_0_26=y\n# CT_GETTEXT_V_0_23_1 is not set\n# CT_GETTEXT_V_0_22_5 is not set\n# CT_GETTEXT_V_0_21 is not set\n# CT_GETTEXT_V_0_20_1 is not set\n# CT_GETTEXT_V_0_19_8_1 is not set\nCT_GETTEXT_VERSION=\"0.26\"\nCT_GETTEXT_MIRRORS=\"$(CT_Mirrors GNU gettext)\"\nCT_GETTEXT_ARCHIVE_FILENAME=\"@{pkg_name}-@{version}\"\nCT_GETTEXT_ARCHIVE_DIRNAME=\"@{pkg_name}-@{version}\"\nCT_GETTEXT_ARCHIVE_FORMATS=\".tar.xz .tar.gz\"\nCT_GETTEXT_SIGNATURE_FORMAT=\"packed/.sig\"\nCT_GETTEXT_later_than_0_23=y\nCT_GETTEXT_0_23_or_later=y\nCT_GETTEXT_later_than_0_21=y\nCT_GETTEXT_0_21_or_later=y\nCT_GETTEXT_INCOMPATIBLE_WITH_UCLIBC_NG=y\n\n#\n# This version of gettext is not compatible with uClibc-NG. Select\n#\n\n#\n# a different version if uClibc-NG is used on the target or (in a\n#\n\n#\n# Canadian cross build) on the host.\n#\nCT_COMP_LIBS_GMP=y\nCT_COMP_LIBS_GMP_PKG_KSYM=\"GMP\"\nCT_GMP_DIR_NAME=\"gmp\"\nCT_GMP_PKG_NAME=\"gmp\"\nCT_GMP_SRC_RELEASE=y\n# CT_GMP_SRC_DEVEL is not set\n# CT_GMP_SRC_CUSTOM is not set\nCT_GMP_PATCH_GLOBAL=y\n# CT_GMP_PATCH_BUNDLED is not set\n# CT_GMP_PATCH_LOCAL is not set\n# CT_GMP_PATCH_BUNDLED_LOCAL is not set\n# CT_GMP_PATCH_LOCAL_BUNDLED is not set\n# CT_GMP_PATCH_NONE is not set\nCT_GMP_PATCH_ORDER=\"global\"\nCT_GMP_V_6_3=y\n# CT_GMP_V_6_2 is not set\n# CT_GMP_V_6_1 is not set\nCT_GMP_VERSION=\"6.3.0\"\nCT_GMP_MIRRORS=\"https://gmplib.org/download/gmp https://gmplib.org/download/gmp/archive $(CT_Mirrors GNU gmp)\"\nCT_GMP_ARCHIVE_FILENAME=\"@{pkg_name}-@{version}\"\nCT_GMP_ARCHIVE_DIRNAME=\"@{pkg_name}-@{version}\"\nCT_GMP_ARCHIVE_FORMATS=\".tar.xz .tar.lz .tar.bz2\"\nCT_GMP_SIGNATURE_FORMAT=\"packed/.sig\"\nCT_GMP_EXTRA_CFLAGS=\"-std=gnu17\"\nCT_COMP_LIBS_ISL=y\nCT_COMP_LIBS_ISL_PKG_KSYM=\"ISL\"\nCT_ISL_DIR_NAME=\"isl\"\nCT_ISL_PKG_NAME=\"isl\"\nCT_ISL_SRC_RELEASE=y\n# CT_ISL_SRC_DEVEL is not set\n# CT_ISL_SRC_CUSTOM is not set\nCT_ISL_PATCH_GLOBAL=y\n# CT_ISL_PATCH_BUNDLED is not set\n# CT_ISL_PATCH_LOCAL is not set\n# CT_ISL_PATCH_BUNDLED_LOCAL is not set\n# CT_ISL_PATCH_LOCAL_BUNDLED is not set\n# CT_ISL_PATCH_NONE is not set\nCT_ISL_PATCH_ORDER=\"global\"\nCT_ISL_V_0_27=y\n# CT_ISL_V_0_26 is not set\n# CT_ISL_V_0_25 is not set\n# CT_ISL_V_0_24 is not set\n# CT_ISL_V_0_23 is not set\n# CT_ISL_V_0_22 is not set\n# CT_ISL_V_0_21 is not set\n# CT_ISL_V_0_20 is not set\n# CT_ISL_V_0_19 is not set\n# CT_ISL_V_0_18 is not set\n# CT_ISL_V_0_17 is not set\n# CT_ISL_V_0_16 is not set\n# CT_ISL_V_0_15 is not set\n# CT_ISL_V_0_11 is not set\nCT_ISL_VERSION=\"0.27\"\nCT_ISL_MIRRORS=\"https://libisl.sourceforge.io\"\nCT_ISL_ARCHIVE_FILENAME=\"@{pkg_name}-@{version}\"\nCT_ISL_ARCHIVE_DIRNAME=\"@{pkg_name}-@{version}\"\nCT_ISL_ARCHIVE_FORMATS=\".tar.xz .tar.bz2 .tar.gz\"\nCT_ISL_SIGNATURE_FORMAT=\"\"\nCT_ISL_later_than_0_18=y\nCT_ISL_0_18_or_later=y\nCT_ISL_later_than_0_15=y\nCT_ISL_0_15_or_later=y\n# CT_COMP_LIBS_LIBELF is not set\nCT_COMP_LIBS_LIBICONV=y\nCT_COMP_LIBS_LIBICONV_PKG_KSYM=\"LIBICONV\"\nCT_LIBICONV_DIR_NAME=\"libiconv\"\nCT_LIBICONV_PKG_NAME=\"libiconv\"\nCT_LIBICONV_SRC_RELEASE=y\n# CT_LIBICONV_SRC_DEVEL is not set\n# CT_LIBICONV_SRC_CUSTOM is not set\nCT_LIBICONV_PATCH_GLOBAL=y\n# CT_LIBICONV_PATCH_BUNDLED is not set\n# CT_LIBICONV_PATCH_LOCAL is not set\n# CT_LIBICONV_PATCH_BUNDLED_LOCAL is not set\n# CT_LIBICONV_PATCH_LOCAL_BUNDLED is not set\n# CT_LIBICONV_PATCH_NONE is not set\nCT_LIBICONV_PATCH_ORDER=\"global\"\nCT_LIBICONV_V_1_18=y\n# CT_LIBICONV_V_1_16 is not set\n# CT_LIBICONV_V_1_15 is not set\nCT_LIBICONV_VERSION=\"1.18\"\nCT_LIBICONV_MIRRORS=\"$(CT_Mirrors GNU libiconv)\"\nCT_LIBICONV_ARCHIVE_FILENAME=\"@{pkg_name}-@{version}\"\nCT_LIBICONV_ARCHIVE_DIRNAME=\"@{pkg_name}-@{version}\"\nCT_LIBICONV_ARCHIVE_FORMATS=\".tar.gz\"\nCT_LIBICONV_SIGNATURE_FORMAT=\"packed/.sig\"\nCT_COMP_LIBS_MPC=y\nCT_COMP_LIBS_MPC_PKG_KSYM=\"MPC\"\nCT_MPC_DIR_NAME=\"mpc\"\nCT_MPC_PKG_NAME=\"mpc\"\nCT_MPC_SRC_RELEASE=y\n# CT_MPC_SRC_DEVEL is not set\n# CT_MPC_SRC_CUSTOM is not set\nCT_MPC_PATCH_GLOBAL=y\n# CT_MPC_PATCH_BUNDLED is not set\n# CT_MPC_PATCH_LOCAL is not set\n# CT_MPC_PATCH_BUNDLED_LOCAL is not set\n# CT_MPC_PATCH_LOCAL_BUNDLED is not set\n# CT_MPC_PATCH_NONE is not set\nCT_MPC_PATCH_ORDER=\"global\"\nCT_MPC_V_1_3=y\nCT_MPC_VERSION=\"1.3.1\"\nCT_MPC_MIRRORS=\"https://www.multiprecision.org/downloads $(CT_Mirrors GNU mpc)\"\nCT_MPC_ARCHIVE_FILENAME=\"@{pkg_name}-@{version}\"\nCT_MPC_ARCHIVE_DIRNAME=\"@{pkg_name}-@{version}\"\nCT_MPC_ARCHIVE_FORMATS=\".tar.gz\"\nCT_MPC_SIGNATURE_FORMAT=\"packed/.sig\"\nCT_COMP_LIBS_MPFR=y\nCT_COMP_LIBS_MPFR_PKG_KSYM=\"MPFR\"\nCT_MPFR_DIR_NAME=\"mpfr\"\nCT_MPFR_PKG_NAME=\"mpfr\"\nCT_MPFR_SRC_RELEASE=y\n# CT_MPFR_SRC_DEVEL is not set\n# CT_MPFR_SRC_CUSTOM is not set\nCT_MPFR_PATCH_GLOBAL=y\n# CT_MPFR_PATCH_BUNDLED is not set\n# CT_MPFR_PATCH_LOCAL is not set\n# CT_MPFR_PATCH_BUNDLED_LOCAL is not set\n# CT_MPFR_PATCH_LOCAL_BUNDLED is not set\n# CT_MPFR_PATCH_NONE is not set\nCT_MPFR_PATCH_ORDER=\"global\"\nCT_MPFR_V_4_2=y\nCT_MPFR_VERSION=\"4.2.2\"\nCT_MPFR_MIRRORS=\"https://www.mpfr.org/mpfr-${CT_MPFR_VERSION} $(CT_Mirrors GNU mpfr)\"\nCT_MPFR_ARCHIVE_FILENAME=\"@{pkg_name}-@{version}\"\nCT_MPFR_ARCHIVE_DIRNAME=\"@{pkg_name}-@{version}\"\nCT_MPFR_ARCHIVE_FORMATS=\".tar.xz .tar.bz2 .tar.gz .zip\"\nCT_MPFR_SIGNATURE_FORMAT=\"packed/.asc\"\nCT_COMP_LIBS_NCURSES=y\nCT_COMP_LIBS_NCURSES_PKG_KSYM=\"NCURSES\"\nCT_NCURSES_DIR_NAME=\"ncurses\"\nCT_NCURSES_PKG_NAME=\"ncurses\"\nCT_NCURSES_SRC_RELEASE=y\n# CT_NCURSES_SRC_DEVEL is not set\n# CT_NCURSES_SRC_CUSTOM is not set\nCT_NCURSES_PATCH_GLOBAL=y\n# CT_NCURSES_PATCH_BUNDLED is not set\n# CT_NCURSES_PATCH_LOCAL is not set\n# CT_NCURSES_PATCH_BUNDLED_LOCAL is not set\n# CT_NCURSES_PATCH_LOCAL_BUNDLED is not set\n# CT_NCURSES_PATCH_NONE is not set\nCT_NCURSES_PATCH_ORDER=\"global\"\nCT_NCURSES_V_6_5=y\n# CT_NCURSES_V_6_4 is not set\n# CT_NCURSES_V_6_2 is not set\n# CT_NCURSES_V_6_1 is not set\n# CT_NCURSES_V_6_0 is not set\nCT_NCURSES_VERSION=\"6.5\"\nCT_NCURSES_MIRRORS=\"https://invisible-mirror.net/archives/ncurses $(CT_Mirrors GNU ncurses)\"\nCT_NCURSES_ARCHIVE_FILENAME=\"@{pkg_name}-@{version}\"\nCT_NCURSES_ARCHIVE_DIRNAME=\"@{pkg_name}-@{version}\"\nCT_NCURSES_ARCHIVE_FORMATS=\".tar.gz\"\nCT_NCURSES_SIGNATURE_FORMAT=\"packed/.asc\"\n# CT_NCURSES_NEW_ABI is not set\nCT_NCURSES_HOST_CONFIG_ARGS=\"\"\nCT_NCURSES_HOST_DISABLE_DB=y\nCT_NCURSES_HOST_FALLBACKS=\"linux,xterm,xterm-color,xterm-256color,vt100\"\nCT_NCURSES_TARGET_CONFIG_ARGS=\"\"\n# CT_NCURSES_TARGET_DISABLE_DB is not set\nCT_NCURSES_TARGET_FALLBACKS=\"\"\nCT_NCURSES_EXTRA_CFLAGS=\"-std=gnu17\"\nCT_COMP_LIBS_ZLIB=y\nCT_COMP_LIBS_ZLIB_PKG_KSYM=\"ZLIB\"\nCT_ZLIB_DIR_NAME=\"zlib\"\nCT_ZLIB_PKG_NAME=\"zlib\"\nCT_ZLIB_SRC_RELEASE=y\n# CT_ZLIB_SRC_DEVEL is not set\n# CT_ZLIB_SRC_CUSTOM is not set\nCT_ZLIB_PATCH_GLOBAL=y\n# CT_ZLIB_PATCH_BUNDLED is not set\n# CT_ZLIB_PATCH_LOCAL is not set\n# CT_ZLIB_PATCH_BUNDLED_LOCAL is not set\n# CT_ZLIB_PATCH_LOCAL_BUNDLED is not set\n# CT_ZLIB_PATCH_NONE is not set\nCT_ZLIB_PATCH_ORDER=\"global\"\nCT_ZLIB_V_1_3_1=y\n# CT_ZLIB_V_1_2_13 is not set\nCT_ZLIB_VERSION=\"1.3.1\"\nCT_ZLIB_MIRRORS=\"https://github.com/madler/zlib/releases/download/v${CT_ZLIB_VERSION} https://www.zlib.net/\"\nCT_ZLIB_ARCHIVE_FILENAME=\"@{pkg_name}-@{version}\"\nCT_ZLIB_ARCHIVE_DIRNAME=\"@{pkg_name}-@{version}\"\nCT_ZLIB_ARCHIVE_FORMATS=\".tar.xz .tar.gz\"\nCT_ZLIB_SIGNATURE_FORMAT=\"packed/.asc\"\nCT_COMP_LIBS_ZSTD=y\nCT_COMP_LIBS_ZSTD_PKG_KSYM=\"ZSTD\"\nCT_ZSTD_DIR_NAME=\"zstd\"\nCT_ZSTD_PKG_NAME=\"zstd\"\nCT_ZSTD_SRC_RELEASE=y\n# CT_ZSTD_SRC_DEVEL is not set\n# CT_ZSTD_SRC_CUSTOM is not set\nCT_ZSTD_PATCH_GLOBAL=y\n# CT_ZSTD_PATCH_BUNDLED is not set\n# CT_ZSTD_PATCH_LOCAL is not set\n# CT_ZSTD_PATCH_BUNDLED_LOCAL is not set\n# CT_ZSTD_PATCH_LOCAL_BUNDLED is not set\n# CT_ZSTD_PATCH_NONE is not set\nCT_ZSTD_PATCH_ORDER=\"global\"\nCT_ZSTD_V_1_5_7=y\n# CT_ZSTD_V_1_5_6 is not set\n# CT_ZSTD_V_1_5_5 is not set\n# CT_ZSTD_V_1_5_2 is not set\nCT_ZSTD_VERSION=\"1.5.7\"\nCT_ZSTD_MIRRORS=\"https://github.com/facebook/zstd/releases/download/v${CT_ZSTD_VERSION} https://downloads.sourceforge.net/project/zstandard.mirror/v${CT_ZSTD_VERSION}\"\nCT_ZSTD_ARCHIVE_FILENAME=\"@{pkg_name}-@{version}\"\nCT_ZSTD_ARCHIVE_DIRNAME=\"@{pkg_name}-@{version}\"\nCT_ZSTD_ARCHIVE_FORMATS=\".tar.gz\"\nCT_ZSTD_SIGNATURE_FORMAT=\"packed/.sig\"\nCT_ALL_COMP_LIBS_CHOICES=\"CLOOG EXPAT GETTEXT GMP GNUPRUMCU ISL LIBELF LIBICONV MPC MPFR NCURSES NEWLIB_NANO PICOLIBC ZLIB ZSTD\"\nCT_LIBICONV_NEEDED=y\nCT_GETTEXT_NEEDED=y\nCT_GMP_NEEDED=y\nCT_MPFR_NEEDED=y\nCT_ISL_NEEDED=y\nCT_MPC_NEEDED=y\nCT_NCURSES_NEEDED=y\nCT_ZLIB_NEEDED=y\nCT_ZSTD_NEEDED=y\nCT_LIBICONV=y\nCT_GETTEXT=y\nCT_GMP=y\nCT_MPFR=y\nCT_ISL=y\nCT_MPC=y\nCT_NCURSES=y\nCT_ZLIB=y\nCT_ZSTD=y\n# end of Companion libraries\n\n#\n# Companion tools\n#\n# CT_COMP_TOOLS_FOR_HOST is not set\n# CT_COMP_TOOLS_AUTOCONF is not set\n# CT_COMP_TOOLS_AUTOMAKE is not set\n# CT_COMP_TOOLS_BISON is not set\n# CT_COMP_TOOLS_DTC is not set\n# CT_COMP_TOOLS_LIBTOOL is not set\n# CT_COMP_TOOLS_M4 is not set\nCT_COMP_TOOLS_MAKE=y\nCT_COMP_TOOLS_MAKE_PKG_KSYM=\"MAKE\"\nCT_MAKE_DIR_NAME=\"make\"\nCT_MAKE_PKG_NAME=\"make\"\nCT_MAKE_SRC_RELEASE=y\n# CT_MAKE_SRC_DEVEL is not set\n# CT_MAKE_SRC_CUSTOM is not set\nCT_MAKE_PATCH_GLOBAL=y\n# CT_MAKE_PATCH_BUNDLED is not set\n# CT_MAKE_PATCH_LOCAL is not set\n# CT_MAKE_PATCH_BUNDLED_LOCAL is not set\n# CT_MAKE_PATCH_LOCAL_BUNDLED is not set\n# CT_MAKE_PATCH_NONE is not set\nCT_MAKE_PATCH_ORDER=\"global\"\n# CT_MAKE_V_4_4 is not set\nCT_MAKE_V_4_3=y\nCT_MAKE_VERSION=\"4.3\"\nCT_MAKE_MIRRORS=\"$(CT_Mirrors GNU make)\"\nCT_MAKE_ARCHIVE_FILENAME=\"@{pkg_name}-@{version}\"\nCT_MAKE_ARCHIVE_DIRNAME=\"@{pkg_name}-@{version}\"\nCT_MAKE_ARCHIVE_FORMATS=\".tar.lz .tar.gz\"\nCT_MAKE_SIGNATURE_FORMAT=\"packed/.sig\"\nCT_MAKE_4_4_or_older=y\nCT_MAKE_older_than_4_4=y\nCT_MAKE_4_3_or_later=y\nCT_MAKE_4_3_or_older=y\nCT_MAKE_GMAKE_SYMLINK=y\nCT_MAKE_GNUMAKE_SYMLINK=y\nCT_ALL_COMP_TOOLS_CHOICES=\"AUTOCONF AUTOMAKE BISON DTC LIBTOOL M4 MAKE\"\n# end of Companion tools\n\n#\n# Test suite\n#\n# CT_TEST_SUITE_GCC is not set\n# end of Test suite\n"
  },
  {
    "path": "images/base-linuxriscv64/gen-implib.sh",
    "content": "#!/bin/bash\nset -e\nif [[ $# != 2 ]]; then\n    echo \"Invalid arguments\"\n    exit 1\nfi\nIN=\"$1\"\nOUT=\"$2\"\n\nTMPDIR=\"$(mktemp -d)\"\ntrap \"rm -rf '$TMPDIR'\" EXIT\ncd \"$TMPDIR\"\n\nset -x\npython3 /opt/implib/implib-gen.py --target aarch64-linux-gnu --dlopen --lazy-load --verbose \"$IN\"\n${FFBUILD_CROSS_PREFIX}gcc $CFLAGS $STAGE_CFLAGS -Wa,--noexecstack -DIMPLIB_HIDDEN_SHIMS -c *.tramp.S *.init.c\n${FFBUILD_CROSS_PREFIX}ar -rcs \"$OUT\" *.tramp.o *.init.o\n"
  },
  {
    "path": "images/base-linuxriscv64/toolchain.cmake",
    "content": "set(CMAKE_SYSTEM_NAME Linux)\nset(CMAKE_SYSTEM_PROCESSOR riscv64)\nset(CMAKE_SYSTEM_VERSION 4.18.20)\n\nset(triple riscv64-ffbuild-linux-gnu)\n\nset(CMAKE_C_COMPILER ${triple}-gcc)\nset(CMAKE_CXX_COMPILER ${triple}-g++)\nset(CMAKE_RANLIB ${triple}-gcc-ranlib)\nset(CMAKE_AR ${triple}-gcc-ar)\n\nset(CMAKE_SYSROOT /opt/ct-ng/${triple}/sysroot)\nset(CMAKE_FIND_ROOT_PATH /opt/ct-ng /opt/ct-ng/${triple}/sysroot /opt/ffbuild)\n\nset(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)\nset(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)\nset(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)\n"
  },
  {
    "path": "images/base-win32/Dockerfile",
    "content": "ARG GH_REPO=ghcr.io/btbn/ffmpeg-builds\nFROM $GH_REPO/base:latest\n\nRUN --mount=src=ct-ng-config,dst=/.config \\\n    git clone --filter=blob:none https://github.com/crosstool-ng/crosstool-ng.git /ct-ng && cd /ct-ng && \\\n    ./bootstrap && \\\n    ./configure --enable-local && \\\n    make -j$(nproc) && \\\n    cp /.config .config && \\\n    ./ct-ng build && \\\n    cd / && \\\n    rm -rf ct-ng\n\n# Prepare \"cross\" environment to heavily favour static builds\nRUN \\\n    find /opt/ct-ng \\( \\\n        -name \"*.dll\" \\\n        -or -name \"*.dll.a\" \\\n        \\) -delete && \\\n    mkdir /opt/ffbuild\n\nRUN \\\n    dpkg --add-architecture i386 && \\\n    apt-get -y update && \\\n    apt-get -y install --no-install-recommends wine32 wine-stable && \\\n    apt-get -y clean autoclean && \\\n    rm -rf /var/lib/apt/lists/*\n\nENV FFBUILD_TOOLCHAIN=i686-w64-mingw32 \\\n    FFBUILD_RUST_TARGET=i686-pc-windows-gnu\n\nRUN \\\n    rustup target add \"$FFBUILD_RUST_TARGET\" && \\\n    echo \"[target.$FFBUILD_RUST_TARGET]\\nlinker = \\\"${FFBUILD_TOOLCHAIN}-gcc\\\"\\nar = \\\"${FFBUILD_TOOLCHAIN}-gcc-ar\\\"\\n\" > \"$CARGO_HOME\"/config.toml\n\nADD toolchain.cmake /toolchain.cmake\nADD cross.meson /cross.meson\n\nENV PATH=\"/opt/ct-ng/bin:${PATH}\" \\\n    FFBUILD_TARGET_FLAGS=\"--pkg-config=pkg-config --cross-prefix=${FFBUILD_TOOLCHAIN}- --arch=i686 --target-os=mingw32\" \\\n    FFBUILD_CROSS_PREFIX=${FFBUILD_TOOLCHAIN}- \\\n    FFBUILD_PREFIX=/opt/ffbuild \\\n    FFBUILD_DESTDIR=/opt/ffdest \\\n    FFBUILD_DESTPREFIX=/opt/ffdest/opt/ffbuild \\\n    FFBUILD_CMAKE_TOOLCHAIN=/toolchain.cmake \\\n    PKG_CONFIG=pkg-config \\\n    PKG_CONFIG_LIBDIR=/opt/ffbuild/lib/pkgconfig:/opt/ffbuild/share/pkgconfig \\\n    CC=\"${FFBUILD_TOOLCHAIN}-gcc\" \\\n    CXX=\"${FFBUILD_TOOLCHAIN}-g++\" \\\n    LD=\"${FFBUILD_TOOLCHAIN}-ld\" \\\n    AR=\"${FFBUILD_TOOLCHAIN}-gcc-ar\" \\\n    RANLIB=\"${FFBUILD_TOOLCHAIN}-gcc-ranlib\" \\\n    NM=\"${FFBUILD_TOOLCHAIN}-gcc-nm\" \\\n    DLLTOOL=\"${FFBUILD_TOOLCHAIN}-dlltool\" \\\n    GENDEF=\"${FFBUILD_TOOLCHAIN}-gendef\" \\\n    CFLAGS=\"-static-libgcc -static-libstdc++ -I/opt/ffbuild/include -O2 -pipe -D_FORTIFY_SOURCE=2 -fstack-protector-strong\" \\\n    CXXFLAGS=\"-static-libgcc -static-libstdc++ -I/opt/ffbuild/include -O2 -pipe -D_FORTIFY_SOURCE=2 -fstack-protector-strong\" \\\n    LDFLAGS=\"-static-libgcc -static-libstdc++ -L/opt/ffbuild/lib -O2 -pipe -fstack-protector-strong\" \\\n    STAGE_CFLAGS=\"-fno-semantic-interposition\" \\\n    STAGE_CXXFLAGS=\"-fno-semantic-interposition\"\n"
  },
  {
    "path": "images/base-win32/cross.meson",
    "content": "[binaries]\nc = 'i686-w64-mingw32-gcc'\ncpp = 'i686-w64-mingw32-g++'\nar = 'i686-w64-mingw32-gcc-ar'\nranlib = 'i686-w64-mingw32-gcc-ranlib'\nstrip = 'i686-w64-mingw32-strip'\nwindres = 'i686-w64-mingw32-windres'\ndlltool = 'i686-w64-mingw32-dlltool'\nexe_wrapper = ['wine']\n\n[properties]\nneeds_exe_wrapper = true\n\n[host_machine]\nsystem = 'windows'\ncpu_family = 'x86'\ncpu = 'i686'\nendian = 'little'\n"
  },
  {
    "path": "images/base-win32/ct-ng-config",
    "content": "#\n# Automatically generated file; DO NOT EDIT.\n# crosstool-NG 1.28.0.23_185f348 Configuration\n#\nCT_CONFIGURE_has_static_link=y\nCT_CONFIGURE_has_cxx11=y\nCT_CONFIGURE_has_wget=y\nCT_CONFIGURE_has_curl=y\nCT_CONFIGURE_has_meson=y\nCT_CONFIGURE_has_ninja=y\nCT_CONFIGURE_has_make_3_81_or_newer=y\nCT_CONFIGURE_has_make_4_0_or_newer=y\nCT_CONFIGURE_has_make_4_4_or_newer=y\nCT_CONFIGURE_has_libtool_2_4_or_newer=y\nCT_CONFIGURE_has_libtoolize_2_4_or_newer=y\nCT_CONFIGURE_has_autoconf_2_65_or_newer=y\nCT_CONFIGURE_has_autoreconf_2_65_or_newer=y\nCT_CONFIGURE_has_automake_1_15_or_newer=y\nCT_CONFIGURE_has_gnu_m4_1_4_12_or_newer=y\nCT_CONFIGURE_has_python_3_4_or_newer=y\nCT_CONFIGURE_has_bison_2_7_or_newer=y\nCT_CONFIGURE_has_bison_3_0_4_or_newer=y\nCT_CONFIGURE_has_python=y\nCT_CONFIGURE_has_dtc=y\nCT_CONFIGURE_has_svn=y\nCT_CONFIGURE_has_git=y\nCT_CONFIGURE_has_md5sum=y\nCT_CONFIGURE_has_sha1sum=y\nCT_CONFIGURE_has_sha256sum=y\nCT_CONFIGURE_has_sha512sum=y\nCT_CONFIGURE_has_install_with_strip_program=y\nCT_VERSION=\"1.28.0.23_185f348\"\nCT_VCHECK=\"\"\nCT_CONFIG_VERSION_ENV=\"4\"\nCT_CONFIG_VERSION_CURRENT=\"4\"\nCT_CONFIG_VERSION=\"4\"\nCT_MODULES=y\n\n#\n# Paths and misc options\n#\n\n#\n# crosstool-NG behavior\n#\n# CT_OBSOLETE is not set\nCT_EXPERIMENTAL=y\nCT_ALLOW_BUILD_AS_ROOT=y\nCT_ALLOW_BUILD_AS_ROOT_SURE=y\n# CT_ENABLE_EXPERIMENTAL_BUNDLED_PATCHES is not set\n# CT_DEBUG_CT is not set\n\n#\n# Paths\n#\nCT_LOCAL_TARBALLS_DIR=\"${HOME}/src\"\n# CT_SAVE_TARBALLS is not set\n# CT_TARBALLS_BUILDROOT_LAYOUT is not set\nCT_WORK_DIR=\"${CT_TOP_DIR}/build\"\nCT_BUILD_TOP_DIR=\"${CT_WORK_DIR:-${CT_TOP_DIR}/.build}/${CT_HOST:+HOST-${CT_HOST}/}${CT_TARGET}\"\nCT_BUILD_DIR=\"${CT_BUILD_TOP_DIR}/build\"\nCT_PREFIX_DIR=\"/opt/ct-ng\"\nCT_RM_RF_PREFIX_DIR=y\nCT_REMOVE_DOCS=y\n# CT_INSTALL_LICENSES is not set\n# CT_PREFIX_DIR_RO is not set\nCT_STRIP_HOST_TOOLCHAIN_EXECUTABLES=y\nCT_STRIP_TARGET_TOOLCHAIN_EXECUTABLES=y\n# CT_TARBALL_RESULT is not set\n\n#\n# Downloading\n#\nCT_DOWNLOAD_AGENT_WGET=y\n# CT_DOWNLOAD_AGENT_CURL is not set\n# CT_DOWNLOAD_AGENT_NONE is not set\n# CT_FORBID_DOWNLOAD is not set\n# CT_FORCE_DOWNLOAD is not set\nCT_CONNECT_TIMEOUT=10\nCT_DOWNLOAD_WGET_OPTIONS=\"--passive-ftp --tries=3 -nc --progress=dot:binary\"\n# CT_ONLY_DOWNLOAD is not set\n# CT_USE_MIRROR is not set\nCT_VERIFY_DOWNLOAD_DIGEST=y\nCT_VERIFY_DOWNLOAD_DIGEST_SHA512=y\n# CT_VERIFY_DOWNLOAD_DIGEST_SHA256 is not set\n# CT_VERIFY_DOWNLOAD_DIGEST_SHA1 is not set\n# CT_VERIFY_DOWNLOAD_DIGEST_MD5 is not set\nCT_VERIFY_DOWNLOAD_DIGEST_ALG=\"sha512\"\n# CT_VERIFY_DOWNLOAD_SIGNATURE is not set\n\n#\n# Extracting\n#\n# CT_FORCE_EXTRACT is not set\nCT_OVERRIDE_CONFIG_GUESS_SUB=y\n# CT_ONLY_EXTRACT is not set\nCT_PATCH_BUNDLED=y\n# CT_PATCH_LOCAL is not set\n# CT_PATCH_BUNDLED_LOCAL is not set\n# CT_PATCH_LOCAL_BUNDLED is not set\n# CT_PATCH_NONE is not set\nCT_PATCH_ORDER=\"bundled\"\n\n#\n# Build behavior\n#\nCT_PARALLEL_JOBS=0\nCT_LOAD=\"\"\nCT_USE_PIPES=y\nCT_EXTRA_CFLAGS_FOR_BUILD=\"\"\nCT_EXTRA_CXXFLAGS_FOR_BUILD=\"\"\nCT_EXTRA_LDFLAGS_FOR_BUILD=\"\"\nCT_EXTRA_CFLAGS_FOR_HOST=\"\"\nCT_EXTRA_LDFLAGS_FOR_HOST=\"\"\n# CT_CONFIG_SHELL_SH is not set\n# CT_CONFIG_SHELL_ASH is not set\nCT_CONFIG_SHELL_BASH=y\n# CT_CONFIG_SHELL_CUSTOM is not set\nCT_CONFIG_SHELL=\"${bash}\"\n\n#\n# Logging\n#\n# CT_LOG_ERROR is not set\n# CT_LOG_WARN is not set\n# CT_LOG_INFO is not set\n# CT_LOG_EXTRA is not set\n# CT_LOG_ALL is not set\nCT_LOG_DEBUG=y\nCT_LOG_LEVEL_MAX=\"DEBUG\"\n# CT_LOG_SEE_TOOLS_WARN is not set\n# CT_LOG_TO_FILE is not set\n# end of Paths and misc options\n\n#\n# Target options\n#\n# CT_ARCH_ALPHA is not set\n# CT_ARCH_ARC is not set\n# CT_ARCH_ARM is not set\n# CT_ARCH_AVR is not set\n# CT_ARCH_BPF is not set\n# CT_ARCH_C6X is not set\n# CT_ARCH_LM32 is not set\n# CT_ARCH_LOONGARCH is not set\n# CT_ARCH_M68K is not set\n# CT_ARCH_MICROBLAZE is not set\n# CT_ARCH_MIPS is not set\n# CT_ARCH_MOXIE is not set\n# CT_ARCH_MSP430 is not set\n# CT_ARCH_NIOS2 is not set\n# CT_ARCH_OPENRISC is not set\n# CT_ARCH_PARISC is not set\n# CT_ARCH_POWERPC is not set\n# CT_ARCH_PRU is not set\n# CT_ARCH_RISCV is not set\n# CT_ARCH_RX is not set\n# CT_ARCH_S390 is not set\n# CT_ARCH_SH is not set\n# CT_ARCH_SPARC is not set\n# CT_ARCH_TRICORE is not set\nCT_ARCH_X86=y\n# CT_ARCH_XTENSA is not set\nCT_ARCH=\"x86\"\nCT_ARCH_CHOICE_KSYM=\"X86\"\nCT_ARCH_CPU=\"\"\nCT_ARCH_TUNE=\"\"\nCT_ARCH_X86_SHOW=y\n\n#\n# Options for x86\n#\nCT_ARCH_X86_PKG_KSYM=\"\"\nCT_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\"\nCT_ARCH_SUFFIX=\"\"\n# CT_OMIT_TARGET_VENDOR is not set\n\n#\n# Generic target options\n#\n# CT_MULTILIB is not set\nCT_DEMULTILIB=y\nCT_ARCH_USE_MMU=y\nCT_ARCH_SUPPORTS_LIBSANITIZER=y\nCT_ARCH_SUPPORTS_32=y\nCT_ARCH_SUPPORTS_64=y\nCT_ARCH_DEFAULT_32=y\nCT_ARCH_BITNESS=32\nCT_ARCH_32=y\n# CT_ARCH_64 is not set\nCT_ARCH_SUPPORTS_WITH_32_64=y\n\n#\n# Target optimisations\n#\nCT_ARCH_SUPPORTS_WITH_ARCH=y\nCT_ARCH_SUPPORTS_WITH_CPU=y\nCT_ARCH_SUPPORTS_WITH_TUNE=y\nCT_ARCH_ARCH=\"i686\"\nCT_TARGET_CFLAGS=\"\"\nCT_TARGET_LDFLAGS=\"\"\n# end of Target options\n\n#\n# Toolchain options\n#\n\n#\n# General toolchain options\n#\nCT_FORCE_SYSROOT=y\nCT_USE_SYSROOT=y\nCT_SYSROOT_NAME=\"sysroot\"\nCT_SYSROOT_DIR_PREFIX=\"\"\nCT_WANTS_STATIC_LINK=y\nCT_WANTS_STATIC_LINK_CXX=y\n# CT_STATIC_TOOLCHAIN is not set\nCT_SHOW_CT_VERSION=y\nCT_TOOLCHAIN_PKGVERSION=\"\"\nCT_TOOLCHAIN_BUGURL=\"\"\n\n#\n# Tuple completion and aliasing\n#\nCT_TARGET_VENDOR=\"w64\"\nCT_TARGET_ALIAS_SED_EXPR=\"\"\nCT_TARGET_ALIAS=\"\"\n\n#\n# Toolchain type\n#\n# CT_NATIVE is not set\nCT_CROSS=y\n# CT_CROSS_NATIVE is not set\n# CT_CANADIAN is not set\nCT_TOOLCHAIN_TYPE=\"cross\"\n\n#\n# Build system\n#\nCT_BUILD=\"\"\nCT_BUILD_PREFIX=\"\"\nCT_BUILD_SUFFIX=\"\"\n\n#\n# Misc options\n#\n# CT_TOOLCHAIN_ENABLE_NLS is not set\nCT_TOOLCHAIN_CMAKE_TOOLCHAIN_FILE=y\n# end of Toolchain options\n\n#\n# Operating System\n#\nCT_WINDOWS=y\nCT_KERNEL_SUPPORTS_SHARED_LIBS=y\n# CT_KERNEL_BARE_METAL is not set\n# CT_KERNEL_LINUX is not set\nCT_KERNEL_WINDOWS=y\nCT_KERNEL=\"windows\"\nCT_KERNEL_CHOICE_KSYM=\"WINDOWS\"\nCT_KERNEL_WINDOWS_SHOW=y\n\n#\n# Options for windows\n#\nCT_KERNEL_WINDOWS_PKG_KSYM=\"\"\nCT_ALL_KERNEL_CHOICES=\"BARE_METAL LINUX WINDOWS\"\n\n#\n# Common kernel options\n#\nCT_SHARED_LIBS=y\n# end of Operating System\n\n#\n# Binary utilities\n#\nCT_ARCH_BINFMT_ELF=y\nCT_BINUTILS_BINUTILS=y\nCT_BINUTILS=\"binutils\"\nCT_BINUTILS_CHOICE_KSYM=\"BINUTILS\"\nCT_BINUTILS_BINUTILS_SHOW=y\n\n#\n# Options for binutils\n#\nCT_BINUTILS_BINUTILS_PKG_KSYM=\"BINUTILS\"\nCT_BINUTILS_DIR_NAME=\"binutils\"\nCT_BINUTILS_USE_GNU=y\n# CT_BINUTILS_USE_LINARO is not set\n# CT_BINUTILS_USE_ORACLE is not set\nCT_BINUTILS_USE=\"BINUTILS\"\nCT_BINUTILS_PKG_NAME=\"binutils\"\nCT_BINUTILS_SRC_RELEASE=y\n# CT_BINUTILS_SRC_DEVEL is not set\n# CT_BINUTILS_SRC_CUSTOM is not set\nCT_BINUTILS_PATCH_GLOBAL=y\n# CT_BINUTILS_PATCH_BUNDLED is not set\n# CT_BINUTILS_PATCH_LOCAL is not set\n# CT_BINUTILS_PATCH_BUNDLED_LOCAL is not set\n# CT_BINUTILS_PATCH_LOCAL_BUNDLED is not set\n# CT_BINUTILS_PATCH_NONE is not set\nCT_BINUTILS_PATCH_ORDER=\"global\"\nCT_BINUTILS_V_2_46=y\n# CT_BINUTILS_V_2_45 is not set\n# CT_BINUTILS_V_2_44 is not set\n# CT_BINUTILS_V_2_43 is not set\n# CT_BINUTILS_V_2_42 is not set\n# CT_BINUTILS_V_2_41 is not set\n# CT_BINUTILS_V_2_40 is not set\n# CT_BINUTILS_V_2_39 is not set\n# CT_BINUTILS_V_2_38 is not set\n# CT_BINUTILS_V_2_37 is not set\n# CT_BINUTILS_V_2_36 is not set\n# CT_BINUTILS_V_2_35 is not set\n# CT_BINUTILS_V_2_34 is not set\n# CT_BINUTILS_V_2_33 is not set\n# CT_BINUTILS_V_2_32 is not set\n# CT_BINUTILS_V_2_31 is not set\n# CT_BINUTILS_V_2_30 is not set\n# CT_BINUTILS_V_2_29 is not set\n# CT_BINUTILS_V_2_28 is not set\n# CT_BINUTILS_V_2_27 is not set\n# CT_BINUTILS_V_2_26 is not set\nCT_BINUTILS_VERSION=\"2.46.0\"\nCT_BINUTILS_MIRRORS=\"$(CT_Mirrors GNU binutils) $(CT_Mirrors sourceware binutils/releases)\"\nCT_BINUTILS_ARCHIVE_FILENAME=\"@{pkg_name}-@{version}\"\nCT_BINUTILS_ARCHIVE_DIRNAME=\"@{pkg_name}-@{version}\"\nCT_BINUTILS_ARCHIVE_FORMATS=\".tar.xz .tar.bz2 .tar.gz\"\nCT_BINUTILS_SIGNATURE_FORMAT=\"packed/.sig\"\nCT_BINUTILS_2_46_0_or_later=y\nCT_BINUTILS_2_46_0_or_older=y\nCT_BINUTILS_later_than_2_45=y\nCT_BINUTILS_2_45_or_later=y\nCT_BINUTILS_later_than_2_44=y\nCT_BINUTILS_2_44_or_later=y\nCT_BINUTILS_later_than_2_41=y\nCT_BINUTILS_2_41_or_later=y\nCT_BINUTILS_later_than_2_39=y\nCT_BINUTILS_2_39_or_later=y\nCT_BINUTILS_later_than_2_30=y\nCT_BINUTILS_2_30_or_later=y\nCT_BINUTILS_later_than_2_27=y\nCT_BINUTILS_2_27_or_later=y\nCT_BINUTILS_later_than_2_26=y\nCT_BINUTILS_2_26_or_later=y\n\n#\n# GNU binutils\n#\nCT_BINUTILS_GOLD_SUPPORTS_ARCH=y\nCT_BINUTILS_FORCE_LD_BFD_DEFAULT=y\nCT_BINUTILS_LINKER_LD=y\nCT_BINUTILS_LINKERS_LIST=\"ld\"\nCT_BINUTILS_LINKER_DEFAULT=\"bfd\"\nCT_BINUTILS_PLUGINS=y\nCT_BINUTILS_RELRO=m\nCT_BINUTILS_DETERMINISTIC_ARCHIVES=y\nCT_BINUTILS_EXTRA_CONFIG_ARRAY=\"\"\n# CT_BINUTILS_FOR_TARGET is not set\n# CT_BINUTILS_GPROFNG is not set\nCT_ALL_BINUTILS_CHOICES=\"BINUTILS\"\n# end of Binary utilities\n\n#\n# C-library\n#\nCT_LIBC_MINGW_W64=y\nCT_LIBC=\"mingw-w64\"\nCT_LIBC_CHOICE_KSYM=\"MINGW_W64\"\nCT_THREADS=\"posix\"\nCT_LIBC_MINGW_W64_SHOW=y\n\n#\n# Options for mingw-w64\n#\nCT_LIBC_MINGW_W64_PKG_KSYM=\"MINGW_W64\"\nCT_MINGW_W64_DIR_NAME=\"mingw-w64\"\nCT_MINGW_W64_PKG_NAME=\"mingw-w64\"\nCT_MINGW_W64_SRC_RELEASE=y\n# CT_MINGW_W64_SRC_DEVEL is not set\n# CT_MINGW_W64_SRC_CUSTOM is not set\nCT_MINGW_W64_PATCH_GLOBAL=y\n# CT_MINGW_W64_PATCH_BUNDLED is not set\n# CT_MINGW_W64_PATCH_LOCAL is not set\n# CT_MINGW_W64_PATCH_BUNDLED_LOCAL is not set\n# CT_MINGW_W64_PATCH_LOCAL_BUNDLED is not set\n# CT_MINGW_W64_PATCH_NONE is not set\nCT_MINGW_W64_PATCH_ORDER=\"global\"\nCT_MINGW_W64_V_V13_0=y\n# CT_MINGW_W64_V_V12_0 is not set\n# CT_MINGW_W64_V_V11_0 is not set\n# CT_MINGW_W64_V_V10_0 is not set\n# CT_MINGW_W64_V_V9_0 is not set\n# CT_MINGW_W64_V_V8_0 is not set\n# CT_MINGW_W64_V_V7_0 is not set\n# CT_MINGW_W64_V_V6_0 is not set\n# CT_MINGW_W64_V_V5_0 is not set\n# CT_MINGW_W64_V_V4_0 is not set\nCT_MINGW_W64_VERSION=\"v13.0.0\"\nCT_MINGW_W64_MIRRORS=\"http://downloads.sourceforge.net/sourceforge/mingw-w64 https://downloads.sourceforge.net/project/mingw-w64/mingw-w64/mingw-w64-release/\"\nCT_MINGW_W64_ARCHIVE_FILENAME=\"@{pkg_name}-@{version}\"\nCT_MINGW_W64_ARCHIVE_DIRNAME=\"@{pkg_name}-@{version}\"\nCT_MINGW_W64_ARCHIVE_FORMATS=\".tar.bz2 .zip\"\nCT_MINGW_W64_SIGNATURE_FORMAT=\"packed/.sig\"\nCT_MINGW_SECURE_API=y\n# CT_MINGW_DEFAULT_MSVCRT_DEFAULT is not set\n# CT_MINGW_DEFAULT_MSVCRT_MSVCRT is not set\nCT_MINGW_DEFAULT_MSVCRT_UCRT=y\n# CT_MINGW_DEFAULT_MSVCRT_CUSTOM is not set\nCT_MINGW_DIRECTX=y\nCT_MINGW_DDK=y\nCT_MINGW_TOOLS=y\nCT_MINGW_TOOL_LIST_ARRAY=\"gendef genidl genlib genpeimg widl\"\nCT_ALL_LIBC_CHOICES=\"AVR_LIBC GLIBC MINGW_W64 MOXIEBOX MUSL NEWLIB NONE PICOLIBC UCLIBC_NG\"\nCT_LIBC_SUPPORT_THREADS_ANY=y\nCT_LIBC_SUPPORT_THREADS_NATIVE=y\nCT_LIBC_SUPPORT_THREADS_POSIX=y\n\n#\n# Common C library options\n#\n# CT_THREADS_NATIVE is not set\nCT_THREADS_POSIX=y\n# CT_CREATE_LDSO_CONF is not set\nCT_LIBC_XLDD=y\n# end of C-library\n\n#\n# C compiler\n#\nCT_CC_CORE_NEEDED=y\nCT_CC_SUPPORT_CXX=y\nCT_CC_SUPPORT_FORTRAN=y\nCT_CC_SUPPORT_ADA=y\nCT_CC_SUPPORT_D=y\nCT_CC_SUPPORT_JIT=y\nCT_CC_SUPPORT_OBJC=y\nCT_CC_SUPPORT_OBJCXX=y\nCT_CC_SUPPORT_GOLANG=y\nCT_CC_GCC=y\nCT_CC=\"gcc\"\nCT_CC_CHOICE_KSYM=\"GCC\"\nCT_CC_GCC_SHOW=y\n\n#\n# Options for gcc\n#\nCT_CC_GCC_PKG_KSYM=\"GCC\"\nCT_GCC_DIR_NAME=\"gcc\"\nCT_GCC_USE_GNU=y\n# CT_GCC_USE_LINARO is not set\n# CT_GCC_USE_ORACLE is not set\nCT_GCC_USE=\"GCC\"\nCT_GCC_PKG_NAME=\"gcc\"\nCT_GCC_SRC_RELEASE=y\n# CT_GCC_SRC_DEVEL is not set\n# CT_GCC_SRC_CUSTOM is not set\nCT_GCC_PATCH_GLOBAL=y\n# CT_GCC_PATCH_BUNDLED is not set\n# CT_GCC_PATCH_LOCAL is not set\n# CT_GCC_PATCH_BUNDLED_LOCAL is not set\n# CT_GCC_PATCH_LOCAL_BUNDLED is not set\n# CT_GCC_PATCH_NONE is not set\nCT_GCC_PATCH_ORDER=\"global\"\nCT_GCC_V_15=y\n# CT_GCC_V_14 is not set\n# CT_GCC_V_13 is not set\n# CT_GCC_V_12 is not set\n# CT_GCC_V_11 is not set\n# CT_GCC_V_10 is not set\n# CT_GCC_V_9 is not set\n# CT_GCC_V_8 is not set\n# CT_GCC_V_7 is not set\n# CT_GCC_V_6 is not set\n# CT_GCC_V_5 is not set\n# CT_GCC_V_4_9 is not set\nCT_GCC_VERSION=\"15.2.0\"\nCT_GCC_MIRRORS=\"$(CT_Mirrors GNU gcc/gcc-${CT_GCC_VERSION}) $(CT_Mirrors sourceware gcc/releases/gcc-${CT_GCC_VERSION})\"\nCT_GCC_ARCHIVE_FILENAME=\"@{pkg_name}-@{version}\"\nCT_GCC_ARCHIVE_DIRNAME=\"@{pkg_name}-@{version}\"\nCT_GCC_ARCHIVE_FORMATS=\".tar.xz .tar.gz\"\nCT_GCC_SIGNATURE_FORMAT=\"\"\nCT_GCC_later_than_15=y\nCT_GCC_15_or_later=y\nCT_GCC_later_than_14=y\nCT_GCC_14_or_later=y\nCT_GCC_later_than_13=y\nCT_GCC_13_or_later=y\nCT_GCC_later_than_12=y\nCT_GCC_12_or_later=y\nCT_GCC_later_than_11=y\nCT_GCC_11_or_later=y\nCT_GCC_later_than_10=y\nCT_GCC_10_or_later=y\nCT_GCC_later_than_9=y\nCT_GCC_9_or_later=y\nCT_GCC_later_than_8=y\nCT_GCC_8_or_later=y\nCT_GCC_later_than_7=y\nCT_GCC_7_or_later=y\nCT_GCC_later_than_6=y\nCT_GCC_6_or_later=y\nCT_GCC_later_than_5=y\nCT_GCC_5_or_later=y\nCT_GCC_later_than_4_9=y\nCT_GCC_4_9_or_later=y\nCT_CC_GCC_ENABLE_PLUGINS=y\nCT_CC_GCC_HAS_LIBMPX=y\nCT_CC_GCC_ENABLE_CXX_FLAGS=\"\"\nCT_CC_GCC_CORE_EXTRA_CONFIG_ARRAY=\"--enable-default-ssp\"\nCT_CC_GCC_EXTRA_CONFIG_ARRAY=\"--enable-default-ssp --with-build-config=bootstrap-lto-lean --enable-link-serialization=2\"\nCT_CC_GCC_STATIC_LIBSTDCXX=y\nCT_CC_GCC_SYSTEM_ZLIB=y\nCT_CC_GCC_CONFIG_TLS=m\n\n#\n# Optimisation features\n#\nCT_CC_GCC_USE_GRAPHITE=y\nCT_CC_GCC_USE_LTO=y\nCT_CC_GCC_LTO_ZSTD=m\n\n#\n# Settings for libraries running on target\n#\n# CT_CC_GCC_ENABLE_TARGET_OPTSPACE is not set\nCT_CC_GCC_LIBSTDCXX=m\n# CT_CC_GCC_LIBSTDCXX_HOSTED_DISABLE is not set\nCT_CC_GCC_LIBSTDCXX_TARGET_CXXFLAGS=\"-O2 -pipe\"\n# CT_CC_GCC_LIBMUDFLAP is not set\nCT_CC_GCC_LIBGOMP=y\nCT_CC_GCC_LIBSSP=m\n# CT_CC_GCC_LIBQUADMATH is not set\n# CT_CC_GCC_LIBSTDCXX_VERBOSE is not set\n\n#\n# Misc. obscure options.\n#\nCT_CC_CXA_ATEXIT=y\nCT_CC_GCC_TM_CLONE_REGISTRY=m\n# CT_CC_GCC_DISABLE_PCH is not set\nCT_CC_GCC_SJLJ_EXCEPTIONS=m\nCT_CC_GCC_LDBL_128=m\n# CT_CC_GCC_BUILD_ID is not set\nCT_CC_GCC_LNK_HASH_STYLE_DEFAULT=y\n# CT_CC_GCC_LNK_HASH_STYLE_SYSV is not set\n# CT_CC_GCC_LNK_HASH_STYLE_GNU is not set\n# CT_CC_GCC_LNK_HASH_STYLE_BOTH is not set\nCT_CC_GCC_LNK_HASH_STYLE=\"\"\nCT_CC_GCC_DEC_FLOATS_AUTO=y\n# CT_CC_GCC_DEC_FLOATS_BID is not set\n# CT_CC_GCC_DEC_FLOATS_DPD is not set\n# CT_CC_GCC_DEC_FLOATS_NO is not set\nCT_CC_GCC_DEC_FLOATS=\"\"\nCT_ALL_CC_CHOICES=\"GCC\"\n\n#\n# Additional supported languages:\n#\nCT_CC_LANG_CXX=y\n# CT_CC_LANG_FORTRAN is not set\n# CT_CC_LANG_JIT is not set\n# CT_CC_LANG_ADA is not set\n# CT_CC_LANG_D is not set\n# CT_CC_LANG_OBJC is not set\n# CT_CC_LANG_OBJCXX is not set\n# CT_CC_LANG_GOLANG is not set\nCT_CC_LANG_OTHERS=\"\"\n# end of C compiler\n\n#\n# Linkers\n#\n\n#\n# BFD enabled in binutils\n#\nCT_LINKER_MOLD=y\nCT_LINKER_MOLD_PKG_KSYM=\"MOLD\"\nCT_MOLD_DIR_NAME=\"mold\"\nCT_MOLD_PKG_NAME=\"mold\"\nCT_MOLD_SRC_RELEASE=y\n# CT_MOLD_SRC_DEVEL is not set\n# CT_MOLD_SRC_CUSTOM is not set\nCT_MOLD_PATCH_GLOBAL=y\n# CT_MOLD_PATCH_BUNDLED is not set\n# CT_MOLD_PATCH_LOCAL is not set\n# CT_MOLD_PATCH_BUNDLED_LOCAL is not set\n# CT_MOLD_PATCH_LOCAL_BUNDLED is not set\n# CT_MOLD_PATCH_NONE is not set\nCT_MOLD_PATCH_ORDER=\"global\"\nCT_MOLD_V_2_40_4=y\n# CT_MOLD_V_2_39_1 is not set\n# CT_MOLD_V_2_38_1 is not set\n# CT_MOLD_V_2_37_1 is not set\n# CT_MOLD_V_2_36_0 is not set\nCT_MOLD_VERSION=\"2.40.4\"\nCT_MOLD_MIRRORS=\"https://github.com/rui314/mold/archive/refs/tags\"\nCT_MOLD_ARCHIVE_FILENAME=\"v@{version}\"\nCT_MOLD_ARCHIVE_DIRNAME=\"@{pkg_name}-@{version}\"\nCT_MOLD_ARCHIVE_FORMATS=\".tar.gz\"\nCT_MOLD_SIGNATURE_FORMAT=\"\"\nCT_LINKER_MOLD_has_cmake=y\nCT_ALL_LINKER_CHOICES=\"MOLD\"\n# end of Linkers\n\n#\n# Debug facilities\n#\n# CT_DEBUG_DUMA is not set\n# CT_DEBUG_GDB is not set\n# CT_DEBUG_LTRACE is not set\n# CT_DEBUG_STRACE is not set\nCT_ALL_DEBUG_CHOICES=\"DUMA GDB LTRACE STRACE\"\n# end of Debug facilities\n\n#\n# Companion libraries\n#\n# CT_COMPLIBS_CHECK is not set\n# CT_COMP_LIBS_CLOOG is not set\n# CT_COMP_LIBS_EXPAT is not set\nCT_COMP_LIBS_GETTEXT=y\nCT_COMP_LIBS_GETTEXT_PKG_KSYM=\"GETTEXT\"\nCT_GETTEXT_DIR_NAME=\"gettext\"\nCT_GETTEXT_PKG_NAME=\"gettext\"\nCT_GETTEXT_SRC_RELEASE=y\n# CT_GETTEXT_SRC_DEVEL is not set\n# CT_GETTEXT_SRC_CUSTOM is not set\nCT_GETTEXT_PATCH_GLOBAL=y\n# CT_GETTEXT_PATCH_BUNDLED is not set\n# CT_GETTEXT_PATCH_LOCAL is not set\n# CT_GETTEXT_PATCH_BUNDLED_LOCAL is not set\n# CT_GETTEXT_PATCH_LOCAL_BUNDLED is not set\n# CT_GETTEXT_PATCH_NONE is not set\nCT_GETTEXT_PATCH_ORDER=\"global\"\nCT_GETTEXT_V_0_26=y\n# CT_GETTEXT_V_0_23_1 is not set\n# CT_GETTEXT_V_0_22_5 is not set\n# CT_GETTEXT_V_0_21 is not set\n# CT_GETTEXT_V_0_20_1 is not set\n# CT_GETTEXT_V_0_19_8_1 is not set\nCT_GETTEXT_VERSION=\"0.26\"\nCT_GETTEXT_MIRRORS=\"$(CT_Mirrors GNU gettext)\"\nCT_GETTEXT_ARCHIVE_FILENAME=\"@{pkg_name}-@{version}\"\nCT_GETTEXT_ARCHIVE_DIRNAME=\"@{pkg_name}-@{version}\"\nCT_GETTEXT_ARCHIVE_FORMATS=\".tar.xz .tar.gz\"\nCT_GETTEXT_SIGNATURE_FORMAT=\"packed/.sig\"\nCT_GETTEXT_later_than_0_23=y\nCT_GETTEXT_0_23_or_later=y\nCT_GETTEXT_later_than_0_21=y\nCT_GETTEXT_0_21_or_later=y\nCT_GETTEXT_INCOMPATIBLE_WITH_UCLIBC_NG=y\n\n#\n# This version of gettext is not compatible with uClibc-NG. Select\n#\n\n#\n# a different version if uClibc-NG is used on the target or (in a\n#\n\n#\n# Canadian cross build) on the host.\n#\nCT_COMP_LIBS_GMP=y\nCT_COMP_LIBS_GMP_PKG_KSYM=\"GMP\"\nCT_GMP_DIR_NAME=\"gmp\"\nCT_GMP_PKG_NAME=\"gmp\"\nCT_GMP_SRC_RELEASE=y\n# CT_GMP_SRC_DEVEL is not set\n# CT_GMP_SRC_CUSTOM is not set\nCT_GMP_PATCH_GLOBAL=y\n# CT_GMP_PATCH_BUNDLED is not set\n# CT_GMP_PATCH_LOCAL is not set\n# CT_GMP_PATCH_BUNDLED_LOCAL is not set\n# CT_GMP_PATCH_LOCAL_BUNDLED is not set\n# CT_GMP_PATCH_NONE is not set\nCT_GMP_PATCH_ORDER=\"global\"\nCT_GMP_V_6_3=y\n# CT_GMP_V_6_2 is not set\n# CT_GMP_V_6_1 is not set\nCT_GMP_VERSION=\"6.3.0\"\nCT_GMP_MIRRORS=\"https://gmplib.org/download/gmp https://gmplib.org/download/gmp/archive $(CT_Mirrors GNU gmp)\"\nCT_GMP_ARCHIVE_FILENAME=\"@{pkg_name}-@{version}\"\nCT_GMP_ARCHIVE_DIRNAME=\"@{pkg_name}-@{version}\"\nCT_GMP_ARCHIVE_FORMATS=\".tar.xz .tar.lz .tar.bz2\"\nCT_GMP_SIGNATURE_FORMAT=\"packed/.sig\"\nCT_GMP_EXTRA_CFLAGS=\"-std=gnu17\"\nCT_COMP_LIBS_ISL=y\nCT_COMP_LIBS_ISL_PKG_KSYM=\"ISL\"\nCT_ISL_DIR_NAME=\"isl\"\nCT_ISL_PKG_NAME=\"isl\"\nCT_ISL_SRC_RELEASE=y\n# CT_ISL_SRC_DEVEL is not set\n# CT_ISL_SRC_CUSTOM is not set\nCT_ISL_PATCH_GLOBAL=y\n# CT_ISL_PATCH_BUNDLED is not set\n# CT_ISL_PATCH_LOCAL is not set\n# CT_ISL_PATCH_BUNDLED_LOCAL is not set\n# CT_ISL_PATCH_LOCAL_BUNDLED is not set\n# CT_ISL_PATCH_NONE is not set\nCT_ISL_PATCH_ORDER=\"global\"\nCT_ISL_V_0_27=y\n# CT_ISL_V_0_26 is not set\n# CT_ISL_V_0_25 is not set\n# CT_ISL_V_0_24 is not set\n# CT_ISL_V_0_23 is not set\n# CT_ISL_V_0_22 is not set\n# CT_ISL_V_0_21 is not set\n# CT_ISL_V_0_20 is not set\n# CT_ISL_V_0_19 is not set\n# CT_ISL_V_0_18 is not set\n# CT_ISL_V_0_17 is not set\n# CT_ISL_V_0_16 is not set\n# CT_ISL_V_0_15 is not set\nCT_ISL_VERSION=\"0.27\"\nCT_ISL_MIRRORS=\"https://libisl.sourceforge.io\"\nCT_ISL_ARCHIVE_FILENAME=\"@{pkg_name}-@{version}\"\nCT_ISL_ARCHIVE_DIRNAME=\"@{pkg_name}-@{version}\"\nCT_ISL_ARCHIVE_FORMATS=\".tar.xz .tar.bz2 .tar.gz\"\nCT_ISL_SIGNATURE_FORMAT=\"\"\nCT_ISL_later_than_0_18=y\nCT_ISL_0_18_or_later=y\nCT_ISL_later_than_0_15=y\nCT_ISL_0_15_or_later=y\n# CT_COMP_LIBS_LIBELF is not set\n# CT_COMP_LIBS_LIBICONV is not set\nCT_COMP_LIBS_MPC=y\nCT_COMP_LIBS_MPC_PKG_KSYM=\"MPC\"\nCT_MPC_DIR_NAME=\"mpc\"\nCT_MPC_PKG_NAME=\"mpc\"\nCT_MPC_SRC_RELEASE=y\n# CT_MPC_SRC_DEVEL is not set\n# CT_MPC_SRC_CUSTOM is not set\nCT_MPC_PATCH_GLOBAL=y\n# CT_MPC_PATCH_BUNDLED is not set\n# CT_MPC_PATCH_LOCAL is not set\n# CT_MPC_PATCH_BUNDLED_LOCAL is not set\n# CT_MPC_PATCH_LOCAL_BUNDLED is not set\n# CT_MPC_PATCH_NONE is not set\nCT_MPC_PATCH_ORDER=\"global\"\nCT_MPC_V_1_3=y\nCT_MPC_VERSION=\"1.3.1\"\nCT_MPC_MIRRORS=\"https://www.multiprecision.org/downloads $(CT_Mirrors GNU mpc)\"\nCT_MPC_ARCHIVE_FILENAME=\"@{pkg_name}-@{version}\"\nCT_MPC_ARCHIVE_DIRNAME=\"@{pkg_name}-@{version}\"\nCT_MPC_ARCHIVE_FORMATS=\".tar.gz\"\nCT_MPC_SIGNATURE_FORMAT=\"packed/.sig\"\nCT_COMP_LIBS_MPFR=y\nCT_COMP_LIBS_MPFR_PKG_KSYM=\"MPFR\"\nCT_MPFR_DIR_NAME=\"mpfr\"\nCT_MPFR_PKG_NAME=\"mpfr\"\nCT_MPFR_SRC_RELEASE=y\n# CT_MPFR_SRC_DEVEL is not set\n# CT_MPFR_SRC_CUSTOM is not set\nCT_MPFR_PATCH_GLOBAL=y\n# CT_MPFR_PATCH_BUNDLED is not set\n# CT_MPFR_PATCH_LOCAL is not set\n# CT_MPFR_PATCH_BUNDLED_LOCAL is not set\n# CT_MPFR_PATCH_LOCAL_BUNDLED is not set\n# CT_MPFR_PATCH_NONE is not set\nCT_MPFR_PATCH_ORDER=\"global\"\nCT_MPFR_V_4_2=y\nCT_MPFR_VERSION=\"4.2.2\"\nCT_MPFR_MIRRORS=\"https://www.mpfr.org/mpfr-${CT_MPFR_VERSION} $(CT_Mirrors GNU mpfr)\"\nCT_MPFR_ARCHIVE_FILENAME=\"@{pkg_name}-@{version}\"\nCT_MPFR_ARCHIVE_DIRNAME=\"@{pkg_name}-@{version}\"\nCT_MPFR_ARCHIVE_FORMATS=\".tar.xz .tar.bz2 .tar.gz .zip\"\nCT_MPFR_SIGNATURE_FORMAT=\"packed/.asc\"\n# CT_COMP_LIBS_NCURSES is not set\nCT_COMP_LIBS_ZLIB=y\nCT_COMP_LIBS_ZLIB_PKG_KSYM=\"ZLIB\"\nCT_ZLIB_DIR_NAME=\"zlib\"\nCT_ZLIB_PKG_NAME=\"zlib\"\nCT_ZLIB_SRC_RELEASE=y\n# CT_ZLIB_SRC_DEVEL is not set\n# CT_ZLIB_SRC_CUSTOM is not set\nCT_ZLIB_PATCH_GLOBAL=y\n# CT_ZLIB_PATCH_BUNDLED is not set\n# CT_ZLIB_PATCH_LOCAL is not set\n# CT_ZLIB_PATCH_BUNDLED_LOCAL is not set\n# CT_ZLIB_PATCH_LOCAL_BUNDLED is not set\n# CT_ZLIB_PATCH_NONE is not set\nCT_ZLIB_PATCH_ORDER=\"global\"\nCT_ZLIB_V_1_3_1=y\n# CT_ZLIB_V_1_2_13 is not set\nCT_ZLIB_VERSION=\"1.3.1\"\nCT_ZLIB_MIRRORS=\"https://github.com/madler/zlib/releases/download/v${CT_ZLIB_VERSION} https://www.zlib.net/\"\nCT_ZLIB_ARCHIVE_FILENAME=\"@{pkg_name}-@{version}\"\nCT_ZLIB_ARCHIVE_DIRNAME=\"@{pkg_name}-@{version}\"\nCT_ZLIB_ARCHIVE_FORMATS=\".tar.xz .tar.gz\"\nCT_ZLIB_SIGNATURE_FORMAT=\"packed/.asc\"\nCT_COMP_LIBS_ZSTD=y\nCT_COMP_LIBS_ZSTD_PKG_KSYM=\"ZSTD\"\nCT_ZSTD_DIR_NAME=\"zstd\"\nCT_ZSTD_PKG_NAME=\"zstd\"\nCT_ZSTD_SRC_RELEASE=y\n# CT_ZSTD_SRC_DEVEL is not set\n# CT_ZSTD_SRC_CUSTOM is not set\nCT_ZSTD_PATCH_GLOBAL=y\n# CT_ZSTD_PATCH_BUNDLED is not set\n# CT_ZSTD_PATCH_LOCAL is not set\n# CT_ZSTD_PATCH_BUNDLED_LOCAL is not set\n# CT_ZSTD_PATCH_LOCAL_BUNDLED is not set\n# CT_ZSTD_PATCH_NONE is not set\nCT_ZSTD_PATCH_ORDER=\"global\"\nCT_ZSTD_V_1_5_7=y\n# CT_ZSTD_V_1_5_6 is not set\n# CT_ZSTD_V_1_5_5 is not set\n# CT_ZSTD_V_1_5_2 is not set\nCT_ZSTD_VERSION=\"1.5.7\"\nCT_ZSTD_MIRRORS=\"https://github.com/facebook/zstd/releases/download/v${CT_ZSTD_VERSION} https://downloads.sourceforge.net/project/zstandard.mirror/v${CT_ZSTD_VERSION}\"\nCT_ZSTD_ARCHIVE_FILENAME=\"@{pkg_name}-@{version}\"\nCT_ZSTD_ARCHIVE_DIRNAME=\"@{pkg_name}-@{version}\"\nCT_ZSTD_ARCHIVE_FORMATS=\".tar.gz\"\nCT_ZSTD_SIGNATURE_FORMAT=\"packed/.sig\"\nCT_ALL_COMP_LIBS_CHOICES=\"CLOOG EXPAT GETTEXT GMP GNUPRUMCU ISL LIBELF LIBICONV MPC MPFR NCURSES NEWLIB_NANO PICOLIBC ZLIB ZSTD\"\n# CT_LIBICONV_NEEDED is not set\n# CT_GETTEXT_NEEDED is not set\nCT_GMP_NEEDED=y\nCT_MPFR_NEEDED=y\nCT_ISL_NEEDED=y\nCT_MPC_NEEDED=y\nCT_ZLIB_NEEDED=y\nCT_ZSTD_NEEDED=y\nCT_GMP=y\nCT_MPFR=y\nCT_ISL=y\nCT_MPC=y\nCT_ZLIB=y\nCT_ZSTD=y\n# end of Companion libraries\n\n#\n# Companion tools\n#\n# CT_COMP_TOOLS_FOR_HOST is not set\n# CT_COMP_TOOLS_AUTOCONF is not set\n# CT_COMP_TOOLS_AUTOMAKE is not set\n# CT_COMP_TOOLS_BISON is not set\n# CT_COMP_TOOLS_DTC is not set\n# CT_COMP_TOOLS_LIBTOOL is not set\n# CT_COMP_TOOLS_M4 is not set\n# CT_COMP_TOOLS_MAKE is not set\nCT_ALL_COMP_TOOLS_CHOICES=\"AUTOCONF AUTOMAKE BISON DTC LIBTOOL M4 MAKE\"\n# end of Companion tools\n\n#\n# Test suite\n#\n# CT_TEST_SUITE_GCC is not set\n# end of Test suite\n"
  },
  {
    "path": "images/base-win32/toolchain.cmake",
    "content": "set(CMAKE_SYSTEM_NAME Windows)\nset(CMAKE_SYSTEM_PROCESSOR i686)\nset(CMAKE_SYSTEM_VERSION 6.1)\n\nset(triple i686-w64-mingw32)\n\nset(CMAKE_C_COMPILER ${triple}-gcc)\nset(CMAKE_CXX_COMPILER ${triple}-g++)\nset(CMAKE_RC_COMPILER ${triple}-windres)\nset(CMAKE_RANLIB ${triple}-gcc-ranlib)\nset(CMAKE_AR ${triple}-gcc-ar)\n\nset(CMAKE_SYSROOT /opt/ct-ng/${triple}/sysroot)\nset(CMAKE_FIND_ROOT_PATH /opt/ct-ng /opt/ct-ng/${triple}/sysroot /opt/ffbuild)\n\nset(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)\nset(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)\nset(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)\n"
  },
  {
    "path": "images/base-win64/Dockerfile",
    "content": "ARG GH_REPO=ghcr.io/btbn/ffmpeg-builds\nFROM $GH_REPO/base:latest\n\nRUN --mount=src=ct-ng-config,dst=/.config \\\n    git clone --filter=blob:none https://github.com/crosstool-ng/crosstool-ng.git /ct-ng && cd /ct-ng && \\\n    ./bootstrap && \\\n    ./configure --enable-local && \\\n    make -j$(nproc) && \\\n    cp /.config .config && \\\n    ./ct-ng build && \\\n    cd / && \\\n    rm -rf ct-ng\n\n# Prepare \"cross\" environment to heavily favour static builds\nRUN \\\n    find /opt/ct-ng \\( \\\n        -name \"*.dll\" \\\n        -or -name \"*.dll.a\" \\\n        \\) -delete && \\\n    mkdir /opt/ffbuild\n\nRUN \\\n    apt-get -y update && \\\n    apt-get -y install --no-install-recommends wine-stable && \\\n    apt-get -y clean autoclean && \\\n    rm -rf /var/lib/apt/lists/*\n\nENV FFBUILD_TOOLCHAIN=x86_64-w64-mingw32 \\\n    FFBUILD_RUST_TARGET=x86_64-pc-windows-gnu\n\nRUN \\\n    rustup target add \"$FFBUILD_RUST_TARGET\" && \\\n    echo \"[target.$FFBUILD_RUST_TARGET]\\nlinker = \\\"${FFBUILD_TOOLCHAIN}-gcc\\\"\\nar = \\\"${FFBUILD_TOOLCHAIN}-gcc-ar\\\"\\n\" > \"$CARGO_HOME\"/config.toml\n\nADD toolchain.cmake /toolchain.cmake\nADD cross.meson /cross.meson\n\nENV PATH=\"/opt/ct-ng/bin:${PATH}\" \\\n    FFBUILD_TARGET_FLAGS=\"--pkg-config=pkg-config --cross-prefix=${FFBUILD_TOOLCHAIN}- --arch=x86_64 --target-os=mingw32\" \\\n    FFBUILD_CROSS_PREFIX=${FFBUILD_TOOLCHAIN}- \\\n    FFBUILD_PREFIX=/opt/ffbuild \\\n    FFBUILD_DESTDIR=/opt/ffdest \\\n    FFBUILD_DESTPREFIX=/opt/ffdest/opt/ffbuild \\\n    FFBUILD_CMAKE_TOOLCHAIN=/toolchain.cmake \\\n    PKG_CONFIG=pkg-config \\\n    PKG_CONFIG_LIBDIR=/opt/ffbuild/lib/pkgconfig:/opt/ffbuild/share/pkgconfig \\\n    CC=\"${FFBUILD_TOOLCHAIN}-gcc\" \\\n    CXX=\"${FFBUILD_TOOLCHAIN}-g++\" \\\n    LD=\"${FFBUILD_TOOLCHAIN}-ld\" \\\n    AR=\"${FFBUILD_TOOLCHAIN}-gcc-ar\" \\\n    RANLIB=\"${FFBUILD_TOOLCHAIN}-gcc-ranlib\" \\\n    NM=\"${FFBUILD_TOOLCHAIN}-gcc-nm\" \\\n    DLLTOOL=\"${FFBUILD_TOOLCHAIN}-dlltool\" \\\n    GENDEF=\"${FFBUILD_TOOLCHAIN}-gendef\" \\\n    CFLAGS=\"-static-libgcc -static-libstdc++ -I/opt/ffbuild/include -O2 -pipe -D_FORTIFY_SOURCE=2 -fstack-protector-strong\" \\\n    CXXFLAGS=\"-static-libgcc -static-libstdc++ -I/opt/ffbuild/include -O2 -pipe -D_FORTIFY_SOURCE=2 -fstack-protector-strong\" \\\n    LDFLAGS=\"-static-libgcc -static-libstdc++ -L/opt/ffbuild/lib -O2 -pipe -fstack-protector-strong\" \\\n    STAGE_CFLAGS=\"-fno-semantic-interposition\" \\\n    STAGE_CXXFLAGS=\"-fno-semantic-interposition\"\n"
  },
  {
    "path": "images/base-win64/cross.meson",
    "content": "[binaries]\nc = 'x86_64-w64-mingw32-gcc'\ncpp = 'x86_64-w64-mingw32-g++'\nar = 'x86_64-w64-mingw32-gcc-ar'\nranlib = 'x86_64-w64-mingw32-gcc-ranlib'\nstrip = 'x86_64-w64-mingw32-strip'\nwindres = 'x86_64-w64-mingw32-windres'\ndlltool = 'x86_64-w64-mingw32-dlltool'\nexe_wrapper = ['wine']\n\n[properties]\nneeds_exe_wrapper = true\n\n[host_machine]\nsystem = 'windows'\ncpu_family = 'x86_64'\ncpu = 'x86_64'\nendian = 'little'\n"
  },
  {
    "path": "images/base-win64/ct-ng-config",
    "content": "#\n# Automatically generated file; DO NOT EDIT.\n# crosstool-NG 1.28.0.23_185f348 Configuration\n#\nCT_CONFIGURE_has_static_link=y\nCT_CONFIGURE_has_cxx11=y\nCT_CONFIGURE_has_wget=y\nCT_CONFIGURE_has_curl=y\nCT_CONFIGURE_has_meson=y\nCT_CONFIGURE_has_ninja=y\nCT_CONFIGURE_has_make_3_81_or_newer=y\nCT_CONFIGURE_has_make_4_0_or_newer=y\nCT_CONFIGURE_has_make_4_4_or_newer=y\nCT_CONFIGURE_has_libtool_2_4_or_newer=y\nCT_CONFIGURE_has_libtoolize_2_4_or_newer=y\nCT_CONFIGURE_has_autoconf_2_65_or_newer=y\nCT_CONFIGURE_has_autoreconf_2_65_or_newer=y\nCT_CONFIGURE_has_automake_1_15_or_newer=y\nCT_CONFIGURE_has_gnu_m4_1_4_12_or_newer=y\nCT_CONFIGURE_has_python_3_4_or_newer=y\nCT_CONFIGURE_has_bison_2_7_or_newer=y\nCT_CONFIGURE_has_bison_3_0_4_or_newer=y\nCT_CONFIGURE_has_python=y\nCT_CONFIGURE_has_dtc=y\nCT_CONFIGURE_has_svn=y\nCT_CONFIGURE_has_git=y\nCT_CONFIGURE_has_md5sum=y\nCT_CONFIGURE_has_sha1sum=y\nCT_CONFIGURE_has_sha256sum=y\nCT_CONFIGURE_has_sha512sum=y\nCT_CONFIGURE_has_install_with_strip_program=y\nCT_VERSION=\"1.28.0.23_185f348\"\nCT_VCHECK=\"\"\nCT_CONFIG_VERSION_ENV=\"4\"\nCT_CONFIG_VERSION_CURRENT=\"4\"\nCT_CONFIG_VERSION=\"4\"\nCT_MODULES=y\n\n#\n# Paths and misc options\n#\n\n#\n# crosstool-NG behavior\n#\n# CT_OBSOLETE is not set\nCT_EXPERIMENTAL=y\nCT_ALLOW_BUILD_AS_ROOT=y\nCT_ALLOW_BUILD_AS_ROOT_SURE=y\n# CT_ENABLE_EXPERIMENTAL_BUNDLED_PATCHES is not set\n# CT_DEBUG_CT is not set\n\n#\n# Paths\n#\nCT_LOCAL_TARBALLS_DIR=\"${HOME}/src\"\n# CT_SAVE_TARBALLS is not set\n# CT_TARBALLS_BUILDROOT_LAYOUT is not set\nCT_WORK_DIR=\"${CT_TOP_DIR}/build\"\nCT_BUILD_TOP_DIR=\"${CT_WORK_DIR:-${CT_TOP_DIR}/.build}/${CT_HOST:+HOST-${CT_HOST}/}${CT_TARGET}\"\nCT_BUILD_DIR=\"${CT_BUILD_TOP_DIR}/build\"\nCT_PREFIX_DIR=\"/opt/ct-ng\"\nCT_RM_RF_PREFIX_DIR=y\nCT_REMOVE_DOCS=y\n# CT_INSTALL_LICENSES is not set\n# CT_PREFIX_DIR_RO is not set\nCT_STRIP_HOST_TOOLCHAIN_EXECUTABLES=y\nCT_STRIP_TARGET_TOOLCHAIN_EXECUTABLES=y\n# CT_TARBALL_RESULT is not set\n\n#\n# Downloading\n#\nCT_DOWNLOAD_AGENT_WGET=y\n# CT_DOWNLOAD_AGENT_CURL is not set\n# CT_DOWNLOAD_AGENT_NONE is not set\n# CT_FORBID_DOWNLOAD is not set\n# CT_FORCE_DOWNLOAD is not set\nCT_CONNECT_TIMEOUT=10\nCT_DOWNLOAD_WGET_OPTIONS=\"--passive-ftp --tries=3 -nc --progress=dot:binary\"\n# CT_ONLY_DOWNLOAD is not set\n# CT_USE_MIRROR is not set\nCT_VERIFY_DOWNLOAD_DIGEST=y\nCT_VERIFY_DOWNLOAD_DIGEST_SHA512=y\n# CT_VERIFY_DOWNLOAD_DIGEST_SHA256 is not set\n# CT_VERIFY_DOWNLOAD_DIGEST_SHA1 is not set\n# CT_VERIFY_DOWNLOAD_DIGEST_MD5 is not set\nCT_VERIFY_DOWNLOAD_DIGEST_ALG=\"sha512\"\n# CT_VERIFY_DOWNLOAD_SIGNATURE is not set\n\n#\n# Extracting\n#\n# CT_FORCE_EXTRACT is not set\nCT_OVERRIDE_CONFIG_GUESS_SUB=y\n# CT_ONLY_EXTRACT is not set\nCT_PATCH_BUNDLED=y\n# CT_PATCH_LOCAL is not set\n# CT_PATCH_BUNDLED_LOCAL is not set\n# CT_PATCH_LOCAL_BUNDLED is not set\n# CT_PATCH_NONE is not set\nCT_PATCH_ORDER=\"bundled\"\n\n#\n# Build behavior\n#\nCT_PARALLEL_JOBS=0\nCT_LOAD=\"\"\nCT_USE_PIPES=y\nCT_EXTRA_CFLAGS_FOR_BUILD=\"\"\nCT_EXTRA_CXXFLAGS_FOR_BUILD=\"\"\nCT_EXTRA_LDFLAGS_FOR_BUILD=\"\"\nCT_EXTRA_CFLAGS_FOR_HOST=\"\"\nCT_EXTRA_LDFLAGS_FOR_HOST=\"\"\n# CT_CONFIG_SHELL_SH is not set\n# CT_CONFIG_SHELL_ASH is not set\nCT_CONFIG_SHELL_BASH=y\n# CT_CONFIG_SHELL_CUSTOM is not set\nCT_CONFIG_SHELL=\"${bash}\"\n\n#\n# Logging\n#\n# CT_LOG_ERROR is not set\n# CT_LOG_WARN is not set\n# CT_LOG_INFO is not set\n# CT_LOG_EXTRA is not set\n# CT_LOG_ALL is not set\nCT_LOG_DEBUG=y\nCT_LOG_LEVEL_MAX=\"DEBUG\"\n# CT_LOG_SEE_TOOLS_WARN is not set\n# CT_LOG_TO_FILE is not set\n# end of Paths and misc options\n\n#\n# Target options\n#\n# CT_ARCH_ALPHA is not set\n# CT_ARCH_ARC is not set\n# CT_ARCH_ARM is not set\n# CT_ARCH_AVR is not set\n# CT_ARCH_BPF is not set\n# CT_ARCH_C6X is not set\n# CT_ARCH_LM32 is not set\n# CT_ARCH_LOONGARCH is not set\n# CT_ARCH_M68K is not set\n# CT_ARCH_MICROBLAZE is not set\n# CT_ARCH_MIPS is not set\n# CT_ARCH_MOXIE is not set\n# CT_ARCH_MSP430 is not set\n# CT_ARCH_NIOS2 is not set\n# CT_ARCH_OPENRISC is not set\n# CT_ARCH_PARISC is not set\n# CT_ARCH_POWERPC is not set\n# CT_ARCH_PRU is not set\n# CT_ARCH_RISCV is not set\n# CT_ARCH_RX is not set\n# CT_ARCH_S390 is not set\n# CT_ARCH_SH is not set\n# CT_ARCH_SPARC is not set\n# CT_ARCH_TRICORE is not set\nCT_ARCH_X86=y\n# CT_ARCH_XTENSA is not set\nCT_ARCH=\"x86\"\nCT_ARCH_CHOICE_KSYM=\"X86\"\nCT_ARCH_CPU=\"\"\nCT_ARCH_TUNE=\"\"\nCT_ARCH_X86_SHOW=y\n\n#\n# Options for x86\n#\nCT_ARCH_X86_PKG_KSYM=\"\"\nCT_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\"\nCT_ARCH_SUFFIX=\"\"\n# CT_OMIT_TARGET_VENDOR is not set\n\n#\n# Generic target options\n#\n# CT_MULTILIB is not set\nCT_DEMULTILIB=y\nCT_ARCH_USE_MMU=y\nCT_ARCH_SUPPORTS_LIBSANITIZER=y\nCT_ARCH_SUPPORTS_32=y\nCT_ARCH_SUPPORTS_64=y\nCT_ARCH_DEFAULT_32=y\nCT_ARCH_BITNESS=64\n# CT_ARCH_32 is not set\nCT_ARCH_64=y\nCT_ARCH_SUPPORTS_WITH_32_64=y\n\n#\n# Target optimisations\n#\nCT_ARCH_SUPPORTS_WITH_ARCH=y\nCT_ARCH_SUPPORTS_WITH_CPU=y\nCT_ARCH_SUPPORTS_WITH_TUNE=y\nCT_ARCH_ARCH=\"\"\nCT_TARGET_CFLAGS=\"\"\nCT_TARGET_LDFLAGS=\"\"\n# end of Target options\n\n#\n# Toolchain options\n#\n\n#\n# General toolchain options\n#\nCT_FORCE_SYSROOT=y\nCT_USE_SYSROOT=y\nCT_SYSROOT_NAME=\"sysroot\"\nCT_SYSROOT_DIR_PREFIX=\"\"\nCT_WANTS_STATIC_LINK=y\nCT_WANTS_STATIC_LINK_CXX=y\n# CT_STATIC_TOOLCHAIN is not set\nCT_SHOW_CT_VERSION=y\nCT_TOOLCHAIN_PKGVERSION=\"\"\nCT_TOOLCHAIN_BUGURL=\"\"\n\n#\n# Tuple completion and aliasing\n#\nCT_TARGET_VENDOR=\"w64\"\nCT_TARGET_ALIAS_SED_EXPR=\"\"\nCT_TARGET_ALIAS=\"\"\n\n#\n# Toolchain type\n#\n# CT_NATIVE is not set\nCT_CROSS=y\n# CT_CROSS_NATIVE is not set\n# CT_CANADIAN is not set\nCT_TOOLCHAIN_TYPE=\"cross\"\n\n#\n# Build system\n#\nCT_BUILD=\"\"\nCT_BUILD_PREFIX=\"\"\nCT_BUILD_SUFFIX=\"\"\n\n#\n# Misc options\n#\n# CT_TOOLCHAIN_ENABLE_NLS is not set\nCT_TOOLCHAIN_CMAKE_TOOLCHAIN_FILE=y\n# end of Toolchain options\n\n#\n# Operating System\n#\nCT_WINDOWS=y\nCT_KERNEL_SUPPORTS_SHARED_LIBS=y\n# CT_KERNEL_BARE_METAL is not set\n# CT_KERNEL_LINUX is not set\nCT_KERNEL_WINDOWS=y\nCT_KERNEL=\"windows\"\nCT_KERNEL_CHOICE_KSYM=\"WINDOWS\"\nCT_KERNEL_WINDOWS_SHOW=y\n\n#\n# Options for windows\n#\nCT_KERNEL_WINDOWS_PKG_KSYM=\"\"\nCT_ALL_KERNEL_CHOICES=\"BARE_METAL LINUX WINDOWS\"\n\n#\n# Common kernel options\n#\nCT_SHARED_LIBS=y\n# end of Operating System\n\n#\n# Binary utilities\n#\nCT_ARCH_BINFMT_ELF=y\nCT_BINUTILS_BINUTILS=y\nCT_BINUTILS=\"binutils\"\nCT_BINUTILS_CHOICE_KSYM=\"BINUTILS\"\nCT_BINUTILS_BINUTILS_SHOW=y\n\n#\n# Options for binutils\n#\nCT_BINUTILS_BINUTILS_PKG_KSYM=\"BINUTILS\"\nCT_BINUTILS_DIR_NAME=\"binutils\"\nCT_BINUTILS_USE_GNU=y\n# CT_BINUTILS_USE_LINARO is not set\n# CT_BINUTILS_USE_ORACLE is not set\nCT_BINUTILS_USE=\"BINUTILS\"\nCT_BINUTILS_PKG_NAME=\"binutils\"\nCT_BINUTILS_SRC_RELEASE=y\n# CT_BINUTILS_SRC_DEVEL is not set\n# CT_BINUTILS_SRC_CUSTOM is not set\nCT_BINUTILS_PATCH_GLOBAL=y\n# CT_BINUTILS_PATCH_BUNDLED is not set\n# CT_BINUTILS_PATCH_LOCAL is not set\n# CT_BINUTILS_PATCH_BUNDLED_LOCAL is not set\n# CT_BINUTILS_PATCH_LOCAL_BUNDLED is not set\n# CT_BINUTILS_PATCH_NONE is not set\nCT_BINUTILS_PATCH_ORDER=\"global\"\nCT_BINUTILS_V_2_46=y\n# CT_BINUTILS_V_2_45 is not set\n# CT_BINUTILS_V_2_44 is not set\n# CT_BINUTILS_V_2_43 is not set\n# CT_BINUTILS_V_2_42 is not set\n# CT_BINUTILS_V_2_41 is not set\n# CT_BINUTILS_V_2_40 is not set\n# CT_BINUTILS_V_2_39 is not set\n# CT_BINUTILS_V_2_38 is not set\n# CT_BINUTILS_V_2_37 is not set\n# CT_BINUTILS_V_2_36 is not set\n# CT_BINUTILS_V_2_35 is not set\n# CT_BINUTILS_V_2_34 is not set\n# CT_BINUTILS_V_2_33 is not set\n# CT_BINUTILS_V_2_32 is not set\n# CT_BINUTILS_V_2_31 is not set\n# CT_BINUTILS_V_2_30 is not set\n# CT_BINUTILS_V_2_29 is not set\n# CT_BINUTILS_V_2_28 is not set\n# CT_BINUTILS_V_2_27 is not set\n# CT_BINUTILS_V_2_26 is not set\nCT_BINUTILS_VERSION=\"2.46.0\"\nCT_BINUTILS_MIRRORS=\"$(CT_Mirrors GNU binutils) $(CT_Mirrors sourceware binutils/releases)\"\nCT_BINUTILS_ARCHIVE_FILENAME=\"@{pkg_name}-@{version}\"\nCT_BINUTILS_ARCHIVE_DIRNAME=\"@{pkg_name}-@{version}\"\nCT_BINUTILS_ARCHIVE_FORMATS=\".tar.xz .tar.bz2 .tar.gz\"\nCT_BINUTILS_SIGNATURE_FORMAT=\"packed/.sig\"\nCT_BINUTILS_2_46_0_or_later=y\nCT_BINUTILS_2_46_0_or_older=y\nCT_BINUTILS_later_than_2_45=y\nCT_BINUTILS_2_45_or_later=y\nCT_BINUTILS_later_than_2_44=y\nCT_BINUTILS_2_44_or_later=y\nCT_BINUTILS_later_than_2_41=y\nCT_BINUTILS_2_41_or_later=y\nCT_BINUTILS_later_than_2_39=y\nCT_BINUTILS_2_39_or_later=y\nCT_BINUTILS_later_than_2_30=y\nCT_BINUTILS_2_30_or_later=y\nCT_BINUTILS_later_than_2_27=y\nCT_BINUTILS_2_27_or_later=y\nCT_BINUTILS_later_than_2_26=y\nCT_BINUTILS_2_26_or_later=y\n\n#\n# GNU binutils\n#\nCT_BINUTILS_GOLD_SUPPORTS_ARCH=y\nCT_BINUTILS_FORCE_LD_BFD_DEFAULT=y\nCT_BINUTILS_LINKER_LD=y\nCT_BINUTILS_LINKERS_LIST=\"ld\"\nCT_BINUTILS_LINKER_DEFAULT=\"bfd\"\nCT_BINUTILS_PLUGINS=y\nCT_BINUTILS_RELRO=m\nCT_BINUTILS_DETERMINISTIC_ARCHIVES=y\nCT_BINUTILS_EXTRA_CONFIG_ARRAY=\"\"\n# CT_BINUTILS_FOR_TARGET is not set\n# CT_BINUTILS_GPROFNG is not set\nCT_ALL_BINUTILS_CHOICES=\"BINUTILS\"\n# end of Binary utilities\n\n#\n# C-library\n#\nCT_LIBC_MINGW_W64=y\nCT_LIBC=\"mingw-w64\"\nCT_LIBC_CHOICE_KSYM=\"MINGW_W64\"\nCT_THREADS=\"posix\"\nCT_LIBC_MINGW_W64_SHOW=y\n\n#\n# Options for mingw-w64\n#\nCT_LIBC_MINGW_W64_PKG_KSYM=\"MINGW_W64\"\nCT_MINGW_W64_DIR_NAME=\"mingw-w64\"\nCT_MINGW_W64_PKG_NAME=\"mingw-w64\"\nCT_MINGW_W64_SRC_RELEASE=y\n# CT_MINGW_W64_SRC_DEVEL is not set\n# CT_MINGW_W64_SRC_CUSTOM is not set\nCT_MINGW_W64_PATCH_GLOBAL=y\n# CT_MINGW_W64_PATCH_BUNDLED is not set\n# CT_MINGW_W64_PATCH_LOCAL is not set\n# CT_MINGW_W64_PATCH_BUNDLED_LOCAL is not set\n# CT_MINGW_W64_PATCH_LOCAL_BUNDLED is not set\n# CT_MINGW_W64_PATCH_NONE is not set\nCT_MINGW_W64_PATCH_ORDER=\"global\"\nCT_MINGW_W64_V_V13_0=y\n# CT_MINGW_W64_V_V12_0 is not set\n# CT_MINGW_W64_V_V11_0 is not set\n# CT_MINGW_W64_V_V10_0 is not set\n# CT_MINGW_W64_V_V9_0 is not set\n# CT_MINGW_W64_V_V8_0 is not set\n# CT_MINGW_W64_V_V7_0 is not set\n# CT_MINGW_W64_V_V6_0 is not set\n# CT_MINGW_W64_V_V5_0 is not set\n# CT_MINGW_W64_V_V4_0 is not set\nCT_MINGW_W64_VERSION=\"v13.0.0\"\nCT_MINGW_W64_MIRRORS=\"http://downloads.sourceforge.net/sourceforge/mingw-w64 https://downloads.sourceforge.net/project/mingw-w64/mingw-w64/mingw-w64-release/\"\nCT_MINGW_W64_ARCHIVE_FILENAME=\"@{pkg_name}-@{version}\"\nCT_MINGW_W64_ARCHIVE_DIRNAME=\"@{pkg_name}-@{version}\"\nCT_MINGW_W64_ARCHIVE_FORMATS=\".tar.bz2 .zip\"\nCT_MINGW_W64_SIGNATURE_FORMAT=\"packed/.sig\"\nCT_MINGW_SECURE_API=y\n# CT_MINGW_DEFAULT_MSVCRT_DEFAULT is not set\n# CT_MINGW_DEFAULT_MSVCRT_MSVCRT is not set\nCT_MINGW_DEFAULT_MSVCRT_UCRT=y\n# CT_MINGW_DEFAULT_MSVCRT_CUSTOM is not set\nCT_MINGW_DIRECTX=y\nCT_MINGW_DDK=y\nCT_MINGW_TOOLS=y\nCT_MINGW_TOOL_LIST_ARRAY=\"gendef genidl genlib genpeimg widl\"\nCT_ALL_LIBC_CHOICES=\"AVR_LIBC GLIBC MINGW_W64 MOXIEBOX MUSL NEWLIB NONE PICOLIBC UCLIBC_NG\"\nCT_LIBC_SUPPORT_THREADS_ANY=y\nCT_LIBC_SUPPORT_THREADS_NATIVE=y\nCT_LIBC_SUPPORT_THREADS_POSIX=y\n\n#\n# Common C library options\n#\n# CT_THREADS_NATIVE is not set\nCT_THREADS_POSIX=y\n# CT_CREATE_LDSO_CONF is not set\nCT_LIBC_XLDD=y\n# end of C-library\n\n#\n# C compiler\n#\nCT_CC_CORE_NEEDED=y\nCT_CC_SUPPORT_CXX=y\nCT_CC_SUPPORT_FORTRAN=y\nCT_CC_SUPPORT_ADA=y\nCT_CC_SUPPORT_D=y\nCT_CC_SUPPORT_JIT=y\nCT_CC_SUPPORT_OBJC=y\nCT_CC_SUPPORT_OBJCXX=y\nCT_CC_SUPPORT_GOLANG=y\nCT_CC_GCC=y\nCT_CC=\"gcc\"\nCT_CC_CHOICE_KSYM=\"GCC\"\nCT_CC_GCC_SHOW=y\n\n#\n# Options for gcc\n#\nCT_CC_GCC_PKG_KSYM=\"GCC\"\nCT_GCC_DIR_NAME=\"gcc\"\nCT_GCC_USE_GNU=y\n# CT_GCC_USE_LINARO is not set\n# CT_GCC_USE_ORACLE is not set\nCT_GCC_USE=\"GCC\"\nCT_GCC_PKG_NAME=\"gcc\"\nCT_GCC_SRC_RELEASE=y\n# CT_GCC_SRC_DEVEL is not set\n# CT_GCC_SRC_CUSTOM is not set\nCT_GCC_PATCH_GLOBAL=y\n# CT_GCC_PATCH_BUNDLED is not set\n# CT_GCC_PATCH_LOCAL is not set\n# CT_GCC_PATCH_BUNDLED_LOCAL is not set\n# CT_GCC_PATCH_LOCAL_BUNDLED is not set\n# CT_GCC_PATCH_NONE is not set\nCT_GCC_PATCH_ORDER=\"global\"\nCT_GCC_V_15=y\n# CT_GCC_V_14 is not set\n# CT_GCC_V_13 is not set\n# CT_GCC_V_12 is not set\n# CT_GCC_V_11 is not set\n# CT_GCC_V_10 is not set\n# CT_GCC_V_9 is not set\n# CT_GCC_V_8 is not set\n# CT_GCC_V_7 is not set\n# CT_GCC_V_6 is not set\n# CT_GCC_V_5 is not set\n# CT_GCC_V_4_9 is not set\nCT_GCC_VERSION=\"15.2.0\"\nCT_GCC_MIRRORS=\"$(CT_Mirrors GNU gcc/gcc-${CT_GCC_VERSION}) $(CT_Mirrors sourceware gcc/releases/gcc-${CT_GCC_VERSION})\"\nCT_GCC_ARCHIVE_FILENAME=\"@{pkg_name}-@{version}\"\nCT_GCC_ARCHIVE_DIRNAME=\"@{pkg_name}-@{version}\"\nCT_GCC_ARCHIVE_FORMATS=\".tar.xz .tar.gz\"\nCT_GCC_SIGNATURE_FORMAT=\"\"\nCT_GCC_later_than_15=y\nCT_GCC_15_or_later=y\nCT_GCC_later_than_14=y\nCT_GCC_14_or_later=y\nCT_GCC_later_than_13=y\nCT_GCC_13_or_later=y\nCT_GCC_later_than_12=y\nCT_GCC_12_or_later=y\nCT_GCC_later_than_11=y\nCT_GCC_11_or_later=y\nCT_GCC_later_than_10=y\nCT_GCC_10_or_later=y\nCT_GCC_later_than_9=y\nCT_GCC_9_or_later=y\nCT_GCC_later_than_8=y\nCT_GCC_8_or_later=y\nCT_GCC_later_than_7=y\nCT_GCC_7_or_later=y\nCT_GCC_later_than_6=y\nCT_GCC_6_or_later=y\nCT_GCC_later_than_5=y\nCT_GCC_5_or_later=y\nCT_GCC_later_than_4_9=y\nCT_GCC_4_9_or_later=y\nCT_CC_GCC_ENABLE_PLUGINS=y\nCT_CC_GCC_HAS_LIBMPX=y\nCT_CC_GCC_ENABLE_CXX_FLAGS=\"\"\nCT_CC_GCC_CORE_EXTRA_CONFIG_ARRAY=\"--enable-default-ssp\"\nCT_CC_GCC_EXTRA_CONFIG_ARRAY=\"--enable-default-ssp --with-build-config=bootstrap-lto-lean --enable-link-serialization=2\"\nCT_CC_GCC_STATIC_LIBSTDCXX=y\nCT_CC_GCC_SYSTEM_ZLIB=y\nCT_CC_GCC_CONFIG_TLS=m\n\n#\n# Optimisation features\n#\nCT_CC_GCC_USE_GRAPHITE=y\nCT_CC_GCC_USE_LTO=y\nCT_CC_GCC_LTO_ZSTD=m\n\n#\n# Settings for libraries running on target\n#\n# CT_CC_GCC_ENABLE_TARGET_OPTSPACE is not set\nCT_CC_GCC_LIBSTDCXX=m\n# CT_CC_GCC_LIBSTDCXX_HOSTED_DISABLE is not set\nCT_CC_GCC_LIBSTDCXX_TARGET_CXXFLAGS=\"-O2 -pipe\"\n# CT_CC_GCC_LIBMUDFLAP is not set\nCT_CC_GCC_LIBGOMP=y\nCT_CC_GCC_LIBSSP=m\n# CT_CC_GCC_LIBQUADMATH is not set\n# CT_CC_GCC_LIBSTDCXX_VERBOSE is not set\n\n#\n# Misc. obscure options.\n#\nCT_CC_CXA_ATEXIT=y\nCT_CC_GCC_TM_CLONE_REGISTRY=m\n# CT_CC_GCC_DISABLE_PCH is not set\nCT_CC_GCC_SJLJ_EXCEPTIONS=m\nCT_CC_GCC_LDBL_128=m\n# CT_CC_GCC_BUILD_ID is not set\nCT_CC_GCC_LNK_HASH_STYLE_DEFAULT=y\n# CT_CC_GCC_LNK_HASH_STYLE_SYSV is not set\n# CT_CC_GCC_LNK_HASH_STYLE_GNU is not set\n# CT_CC_GCC_LNK_HASH_STYLE_BOTH is not set\nCT_CC_GCC_LNK_HASH_STYLE=\"\"\nCT_CC_GCC_DEC_FLOATS_AUTO=y\n# CT_CC_GCC_DEC_FLOATS_BID is not set\n# CT_CC_GCC_DEC_FLOATS_DPD is not set\n# CT_CC_GCC_DEC_FLOATS_NO is not set\nCT_CC_GCC_DEC_FLOATS=\"\"\nCT_ALL_CC_CHOICES=\"GCC\"\n\n#\n# Additional supported languages:\n#\nCT_CC_LANG_CXX=y\n# CT_CC_LANG_FORTRAN is not set\n# CT_CC_LANG_JIT is not set\n# CT_CC_LANG_ADA is not set\n# CT_CC_LANG_D is not set\n# CT_CC_LANG_OBJC is not set\n# CT_CC_LANG_OBJCXX is not set\n# CT_CC_LANG_GOLANG is not set\nCT_CC_LANG_OTHERS=\"\"\n# end of C compiler\n\n#\n# Linkers\n#\n\n#\n# BFD enabled in binutils\n#\nCT_LINKER_MOLD=y\nCT_LINKER_MOLD_PKG_KSYM=\"MOLD\"\nCT_MOLD_DIR_NAME=\"mold\"\nCT_MOLD_PKG_NAME=\"mold\"\nCT_MOLD_SRC_RELEASE=y\n# CT_MOLD_SRC_DEVEL is not set\n# CT_MOLD_SRC_CUSTOM is not set\nCT_MOLD_PATCH_GLOBAL=y\n# CT_MOLD_PATCH_BUNDLED is not set\n# CT_MOLD_PATCH_LOCAL is not set\n# CT_MOLD_PATCH_BUNDLED_LOCAL is not set\n# CT_MOLD_PATCH_LOCAL_BUNDLED is not set\n# CT_MOLD_PATCH_NONE is not set\nCT_MOLD_PATCH_ORDER=\"global\"\nCT_MOLD_V_2_40_4=y\n# CT_MOLD_V_2_39_1 is not set\n# CT_MOLD_V_2_38_1 is not set\n# CT_MOLD_V_2_37_1 is not set\n# CT_MOLD_V_2_36_0 is not set\nCT_MOLD_VERSION=\"2.40.4\"\nCT_MOLD_MIRRORS=\"https://github.com/rui314/mold/archive/refs/tags\"\nCT_MOLD_ARCHIVE_FILENAME=\"v@{version}\"\nCT_MOLD_ARCHIVE_DIRNAME=\"@{pkg_name}-@{version}\"\nCT_MOLD_ARCHIVE_FORMATS=\".tar.gz\"\nCT_MOLD_SIGNATURE_FORMAT=\"\"\nCT_LINKER_MOLD_has_cmake=y\nCT_ALL_LINKER_CHOICES=\"MOLD\"\n# end of Linkers\n\n#\n# Debug facilities\n#\n# CT_DEBUG_DUMA is not set\n# CT_DEBUG_GDB is not set\n# CT_DEBUG_LTRACE is not set\n# CT_DEBUG_STRACE is not set\nCT_ALL_DEBUG_CHOICES=\"DUMA GDB LTRACE STRACE\"\n# end of Debug facilities\n\n#\n# Companion libraries\n#\n# CT_COMPLIBS_CHECK is not set\n# CT_COMP_LIBS_CLOOG is not set\n# CT_COMP_LIBS_EXPAT is not set\nCT_COMP_LIBS_GETTEXT=y\nCT_COMP_LIBS_GETTEXT_PKG_KSYM=\"GETTEXT\"\nCT_GETTEXT_DIR_NAME=\"gettext\"\nCT_GETTEXT_PKG_NAME=\"gettext\"\nCT_GETTEXT_SRC_RELEASE=y\n# CT_GETTEXT_SRC_DEVEL is not set\n# CT_GETTEXT_SRC_CUSTOM is not set\nCT_GETTEXT_PATCH_GLOBAL=y\n# CT_GETTEXT_PATCH_BUNDLED is not set\n# CT_GETTEXT_PATCH_LOCAL is not set\n# CT_GETTEXT_PATCH_BUNDLED_LOCAL is not set\n# CT_GETTEXT_PATCH_LOCAL_BUNDLED is not set\n# CT_GETTEXT_PATCH_NONE is not set\nCT_GETTEXT_PATCH_ORDER=\"global\"\nCT_GETTEXT_V_0_26=y\n# CT_GETTEXT_V_0_23_1 is not set\n# CT_GETTEXT_V_0_22_5 is not set\n# CT_GETTEXT_V_0_21 is not set\n# CT_GETTEXT_V_0_20_1 is not set\n# CT_GETTEXT_V_0_19_8_1 is not set\nCT_GETTEXT_VERSION=\"0.26\"\nCT_GETTEXT_MIRRORS=\"$(CT_Mirrors GNU gettext)\"\nCT_GETTEXT_ARCHIVE_FILENAME=\"@{pkg_name}-@{version}\"\nCT_GETTEXT_ARCHIVE_DIRNAME=\"@{pkg_name}-@{version}\"\nCT_GETTEXT_ARCHIVE_FORMATS=\".tar.xz .tar.gz\"\nCT_GETTEXT_SIGNATURE_FORMAT=\"packed/.sig\"\nCT_GETTEXT_later_than_0_23=y\nCT_GETTEXT_0_23_or_later=y\nCT_GETTEXT_later_than_0_21=y\nCT_GETTEXT_0_21_or_later=y\nCT_GETTEXT_INCOMPATIBLE_WITH_UCLIBC_NG=y\n\n#\n# This version of gettext is not compatible with uClibc-NG. Select\n#\n\n#\n# a different version if uClibc-NG is used on the target or (in a\n#\n\n#\n# Canadian cross build) on the host.\n#\nCT_COMP_LIBS_GMP=y\nCT_COMP_LIBS_GMP_PKG_KSYM=\"GMP\"\nCT_GMP_DIR_NAME=\"gmp\"\nCT_GMP_PKG_NAME=\"gmp\"\nCT_GMP_SRC_RELEASE=y\n# CT_GMP_SRC_DEVEL is not set\n# CT_GMP_SRC_CUSTOM is not set\nCT_GMP_PATCH_GLOBAL=y\n# CT_GMP_PATCH_BUNDLED is not set\n# CT_GMP_PATCH_LOCAL is not set\n# CT_GMP_PATCH_BUNDLED_LOCAL is not set\n# CT_GMP_PATCH_LOCAL_BUNDLED is not set\n# CT_GMP_PATCH_NONE is not set\nCT_GMP_PATCH_ORDER=\"global\"\nCT_GMP_V_6_3=y\n# CT_GMP_V_6_2 is not set\n# CT_GMP_V_6_1 is not set\nCT_GMP_VERSION=\"6.3.0\"\nCT_GMP_MIRRORS=\"https://gmplib.org/download/gmp https://gmplib.org/download/gmp/archive $(CT_Mirrors GNU gmp)\"\nCT_GMP_ARCHIVE_FILENAME=\"@{pkg_name}-@{version}\"\nCT_GMP_ARCHIVE_DIRNAME=\"@{pkg_name}-@{version}\"\nCT_GMP_ARCHIVE_FORMATS=\".tar.xz .tar.lz .tar.bz2\"\nCT_GMP_SIGNATURE_FORMAT=\"packed/.sig\"\nCT_GMP_EXTRA_CFLAGS=\"-std=gnu17\"\nCT_COMP_LIBS_ISL=y\nCT_COMP_LIBS_ISL_PKG_KSYM=\"ISL\"\nCT_ISL_DIR_NAME=\"isl\"\nCT_ISL_PKG_NAME=\"isl\"\nCT_ISL_SRC_RELEASE=y\n# CT_ISL_SRC_DEVEL is not set\n# CT_ISL_SRC_CUSTOM is not set\nCT_ISL_PATCH_GLOBAL=y\n# CT_ISL_PATCH_BUNDLED is not set\n# CT_ISL_PATCH_LOCAL is not set\n# CT_ISL_PATCH_BUNDLED_LOCAL is not set\n# CT_ISL_PATCH_LOCAL_BUNDLED is not set\n# CT_ISL_PATCH_NONE is not set\nCT_ISL_PATCH_ORDER=\"global\"\nCT_ISL_V_0_27=y\n# CT_ISL_V_0_26 is not set\n# CT_ISL_V_0_25 is not set\n# CT_ISL_V_0_24 is not set\n# CT_ISL_V_0_23 is not set\n# CT_ISL_V_0_22 is not set\n# CT_ISL_V_0_21 is not set\n# CT_ISL_V_0_20 is not set\n# CT_ISL_V_0_19 is not set\n# CT_ISL_V_0_18 is not set\n# CT_ISL_V_0_17 is not set\n# CT_ISL_V_0_16 is not set\n# CT_ISL_V_0_15 is not set\nCT_ISL_VERSION=\"0.27\"\nCT_ISL_MIRRORS=\"https://libisl.sourceforge.io\"\nCT_ISL_ARCHIVE_FILENAME=\"@{pkg_name}-@{version}\"\nCT_ISL_ARCHIVE_DIRNAME=\"@{pkg_name}-@{version}\"\nCT_ISL_ARCHIVE_FORMATS=\".tar.xz .tar.bz2 .tar.gz\"\nCT_ISL_SIGNATURE_FORMAT=\"\"\nCT_ISL_later_than_0_18=y\nCT_ISL_0_18_or_later=y\nCT_ISL_later_than_0_15=y\nCT_ISL_0_15_or_later=y\n# CT_COMP_LIBS_LIBELF is not set\n# CT_COMP_LIBS_LIBICONV is not set\nCT_COMP_LIBS_MPC=y\nCT_COMP_LIBS_MPC_PKG_KSYM=\"MPC\"\nCT_MPC_DIR_NAME=\"mpc\"\nCT_MPC_PKG_NAME=\"mpc\"\nCT_MPC_SRC_RELEASE=y\n# CT_MPC_SRC_DEVEL is not set\n# CT_MPC_SRC_CUSTOM is not set\nCT_MPC_PATCH_GLOBAL=y\n# CT_MPC_PATCH_BUNDLED is not set\n# CT_MPC_PATCH_LOCAL is not set\n# CT_MPC_PATCH_BUNDLED_LOCAL is not set\n# CT_MPC_PATCH_LOCAL_BUNDLED is not set\n# CT_MPC_PATCH_NONE is not set\nCT_MPC_PATCH_ORDER=\"global\"\nCT_MPC_V_1_3=y\nCT_MPC_VERSION=\"1.3.1\"\nCT_MPC_MIRRORS=\"https://www.multiprecision.org/downloads $(CT_Mirrors GNU mpc)\"\nCT_MPC_ARCHIVE_FILENAME=\"@{pkg_name}-@{version}\"\nCT_MPC_ARCHIVE_DIRNAME=\"@{pkg_name}-@{version}\"\nCT_MPC_ARCHIVE_FORMATS=\".tar.gz\"\nCT_MPC_SIGNATURE_FORMAT=\"packed/.sig\"\nCT_COMP_LIBS_MPFR=y\nCT_COMP_LIBS_MPFR_PKG_KSYM=\"MPFR\"\nCT_MPFR_DIR_NAME=\"mpfr\"\nCT_MPFR_PKG_NAME=\"mpfr\"\nCT_MPFR_SRC_RELEASE=y\n# CT_MPFR_SRC_DEVEL is not set\n# CT_MPFR_SRC_CUSTOM is not set\nCT_MPFR_PATCH_GLOBAL=y\n# CT_MPFR_PATCH_BUNDLED is not set\n# CT_MPFR_PATCH_LOCAL is not set\n# CT_MPFR_PATCH_BUNDLED_LOCAL is not set\n# CT_MPFR_PATCH_LOCAL_BUNDLED is not set\n# CT_MPFR_PATCH_NONE is not set\nCT_MPFR_PATCH_ORDER=\"global\"\nCT_MPFR_V_4_2=y\nCT_MPFR_VERSION=\"4.2.2\"\nCT_MPFR_MIRRORS=\"https://www.mpfr.org/mpfr-${CT_MPFR_VERSION} $(CT_Mirrors GNU mpfr)\"\nCT_MPFR_ARCHIVE_FILENAME=\"@{pkg_name}-@{version}\"\nCT_MPFR_ARCHIVE_DIRNAME=\"@{pkg_name}-@{version}\"\nCT_MPFR_ARCHIVE_FORMATS=\".tar.xz .tar.bz2 .tar.gz .zip\"\nCT_MPFR_SIGNATURE_FORMAT=\"packed/.asc\"\n# CT_COMP_LIBS_NCURSES is not set\nCT_COMP_LIBS_ZLIB=y\nCT_COMP_LIBS_ZLIB_PKG_KSYM=\"ZLIB\"\nCT_ZLIB_DIR_NAME=\"zlib\"\nCT_ZLIB_PKG_NAME=\"zlib\"\nCT_ZLIB_SRC_RELEASE=y\n# CT_ZLIB_SRC_DEVEL is not set\n# CT_ZLIB_SRC_CUSTOM is not set\nCT_ZLIB_PATCH_GLOBAL=y\n# CT_ZLIB_PATCH_BUNDLED is not set\n# CT_ZLIB_PATCH_LOCAL is not set\n# CT_ZLIB_PATCH_BUNDLED_LOCAL is not set\n# CT_ZLIB_PATCH_LOCAL_BUNDLED is not set\n# CT_ZLIB_PATCH_NONE is not set\nCT_ZLIB_PATCH_ORDER=\"global\"\nCT_ZLIB_V_1_3_1=y\n# CT_ZLIB_V_1_2_13 is not set\nCT_ZLIB_VERSION=\"1.3.1\"\nCT_ZLIB_MIRRORS=\"https://github.com/madler/zlib/releases/download/v${CT_ZLIB_VERSION} https://www.zlib.net/\"\nCT_ZLIB_ARCHIVE_FILENAME=\"@{pkg_name}-@{version}\"\nCT_ZLIB_ARCHIVE_DIRNAME=\"@{pkg_name}-@{version}\"\nCT_ZLIB_ARCHIVE_FORMATS=\".tar.xz .tar.gz\"\nCT_ZLIB_SIGNATURE_FORMAT=\"packed/.asc\"\nCT_COMP_LIBS_ZSTD=y\nCT_COMP_LIBS_ZSTD_PKG_KSYM=\"ZSTD\"\nCT_ZSTD_DIR_NAME=\"zstd\"\nCT_ZSTD_PKG_NAME=\"zstd\"\nCT_ZSTD_SRC_RELEASE=y\n# CT_ZSTD_SRC_DEVEL is not set\n# CT_ZSTD_SRC_CUSTOM is not set\nCT_ZSTD_PATCH_GLOBAL=y\n# CT_ZSTD_PATCH_BUNDLED is not set\n# CT_ZSTD_PATCH_LOCAL is not set\n# CT_ZSTD_PATCH_BUNDLED_LOCAL is not set\n# CT_ZSTD_PATCH_LOCAL_BUNDLED is not set\n# CT_ZSTD_PATCH_NONE is not set\nCT_ZSTD_PATCH_ORDER=\"global\"\nCT_ZSTD_V_1_5_7=y\n# CT_ZSTD_V_1_5_6 is not set\n# CT_ZSTD_V_1_5_5 is not set\n# CT_ZSTD_V_1_5_2 is not set\nCT_ZSTD_VERSION=\"1.5.7\"\nCT_ZSTD_MIRRORS=\"https://github.com/facebook/zstd/releases/download/v${CT_ZSTD_VERSION} https://downloads.sourceforge.net/project/zstandard.mirror/v${CT_ZSTD_VERSION}\"\nCT_ZSTD_ARCHIVE_FILENAME=\"@{pkg_name}-@{version}\"\nCT_ZSTD_ARCHIVE_DIRNAME=\"@{pkg_name}-@{version}\"\nCT_ZSTD_ARCHIVE_FORMATS=\".tar.gz\"\nCT_ZSTD_SIGNATURE_FORMAT=\"packed/.sig\"\nCT_ALL_COMP_LIBS_CHOICES=\"CLOOG EXPAT GETTEXT GMP GNUPRUMCU ISL LIBELF LIBICONV MPC MPFR NCURSES NEWLIB_NANO PICOLIBC ZLIB ZSTD\"\n# CT_LIBICONV_NEEDED is not set\n# CT_GETTEXT_NEEDED is not set\nCT_GMP_NEEDED=y\nCT_MPFR_NEEDED=y\nCT_ISL_NEEDED=y\nCT_MPC_NEEDED=y\nCT_ZLIB_NEEDED=y\nCT_ZSTD_NEEDED=y\nCT_GMP=y\nCT_MPFR=y\nCT_ISL=y\nCT_MPC=y\nCT_ZLIB=y\nCT_ZSTD=y\n# end of Companion libraries\n\n#\n# Companion tools\n#\n# CT_COMP_TOOLS_FOR_HOST is not set\n# CT_COMP_TOOLS_AUTOCONF is not set\n# CT_COMP_TOOLS_AUTOMAKE is not set\n# CT_COMP_TOOLS_BISON is not set\n# CT_COMP_TOOLS_DTC is not set\n# CT_COMP_TOOLS_LIBTOOL is not set\n# CT_COMP_TOOLS_M4 is not set\n# CT_COMP_TOOLS_MAKE is not set\nCT_ALL_COMP_TOOLS_CHOICES=\"AUTOCONF AUTOMAKE BISON DTC LIBTOOL M4 MAKE\"\n# end of Companion tools\n\n#\n# Test suite\n#\n# CT_TEST_SUITE_GCC is not set\n# end of Test suite\n"
  },
  {
    "path": "images/base-win64/toolchain.cmake",
    "content": "set(CMAKE_SYSTEM_NAME Windows)\nset(CMAKE_SYSTEM_PROCESSOR x86_64)\nset(CMAKE_SYSTEM_VERSION 6.1)\n\nset(triple x86_64-w64-mingw32)\n\nset(CMAKE_C_COMPILER ${triple}-gcc)\nset(CMAKE_CXX_COMPILER ${triple}-g++)\nset(CMAKE_RC_COMPILER ${triple}-windres)\nset(CMAKE_RANLIB ${triple}-gcc-ranlib)\nset(CMAKE_AR ${triple}-gcc-ar)\n\nset(CMAKE_SYSROOT /opt/ct-ng/${triple}/sysroot)\nset(CMAKE_FIND_ROOT_PATH /opt/ct-ng /opt/ct-ng/${triple}/sysroot /opt/ffbuild)\n\nset(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)\nset(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)\nset(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)\n"
  },
  {
    "path": "images/base-winarm64/Dockerfile",
    "content": "ARG GH_REPO=ghcr.io/btbn/ffmpeg-builds\nFROM $GH_REPO/base:latest\n\nRUN \\\n    git clone --filter=blob:none https://github.com/mstorsjo/llvm-mingw /llvm-mingw && cd /llvm-mingw && \\\n    ./build-all.sh --use-linker=bfd --disable-lldb --disable-lldb-mi /opt/llvm-mingw && \\\n    cd / && \\\n    rm -rf llvm-mingw\n\n# LLVM/Clang workarounds\nRUN \\\n    ln -s windows.h /opt/llvm-mingw/generic-w64-mingw32/include/Windows.h\n\n# Prepare \"cross\" environment to heavily favour static builds\nRUN \\\n    find /opt/llvm-mingw \\( \\\n        -name \"*.dll\" \\\n        -or -name \"*.dll.a\" \\\n        \\) -delete && \\\n    mkdir /opt/ffbuild\n\nENV FFBUILD_TOOLCHAIN=aarch64-w64-mingw32 \\\n    FFBUILD_RUST_TARGET=aarch64-pc-windows-gnullvm\n\nRUN \\\n    rustup target add \"$FFBUILD_RUST_TARGET\" && \\\n    echo \"[target.$FFBUILD_RUST_TARGET]\\nlinker = \\\"${FFBUILD_TOOLCHAIN}-clang\\\"\\nar = \\\"${FFBUILD_TOOLCHAIN}-llvm-ar\\\"\\n\" >> \"$CARGO_HOME\"/config.toml\n\nADD toolchain.cmake /toolchain.cmake\nADD cross.meson /cross.meson\n\nENV PATH=\"/opt/llvm-mingw/bin:${PATH}\" \\\n    FFBUILD_TARGET_FLAGS=\"--pkg-config=pkg-config --cross-prefix=${FFBUILD_TOOLCHAIN}- --arch=aarch64 --cpu=armv8-a --target-os=mingw32\" \\\n    FFBUILD_CROSS_PREFIX=${FFBUILD_TOOLCHAIN}- \\\n    FFBUILD_PREFIX=/opt/ffbuild \\\n    FFBUILD_DESTDIR=/opt/ffdest \\\n    FFBUILD_DESTPREFIX=/opt/ffdest/opt/ffbuild \\\n    FFBUILD_CMAKE_TOOLCHAIN=/toolchain.cmake \\\n    PKG_CONFIG=pkg-config \\\n    PKG_CONFIG_LIBDIR=/opt/ffbuild/lib/pkgconfig:/opt/ffbuild/share/pkgconfig \\\n    COMPILER_SYSROOT=/opt/llvm-mingw/aarch64-w64-mingw32 \\\n    CC=\"${FFBUILD_TOOLCHAIN}-clang\" \\\n    CXX=\"${FFBUILD_TOOLCHAIN}-clang++\" \\\n    LD=\"${FFBUILD_TOOLCHAIN}-ld\" \\\n    AR=\"${FFBUILD_TOOLCHAIN}-llvm-ar\" \\\n    RANLIB=\"${FFBUILD_TOOLCHAIN}-llvm-ranlib\" \\\n    NM=\"${FFBUILD_TOOLCHAIN}-nm\" \\\n    DLLTOOL=\"${FFBUILD_TOOLCHAIN}-dlltool\" \\\n    GENDEF=\"gendef\" \\\n    CFLAGS=\"-I/opt/ffbuild/include -O2 -pipe -march=armv8-a -D_FORTIFY_SOURCE=2 -fstack-protector-strong\" \\\n    CXXFLAGS=\"-I/opt/ffbuild/include -O2 -pipe -march=armv8-a -D_FORTIFY_SOURCE=2 -fstack-protector-strong\" \\\n    LDFLAGS=\"-L/opt/ffbuild/lib -O2 -pipe -march=armv8-a -fstack-protector-strong\" \\\n    STAGE_CFLAGS=\"\" \\\n    STAGE_CXXFLAGS=\"\"\n"
  },
  {
    "path": "images/base-winarm64/cross.meson",
    "content": "[binaries]\nc = 'aarch64-w64-mingw32-clang'\ncpp = 'aarch64-w64-mingw32-clang++'\nar = 'aarch64-w64-mingw32-llvm-ar'\nranlib = 'aarch64-w64-mingw32-llvm-ranlib'\nstrip = 'aarch64-w64-mingw32-strip'\nwindres = 'aarch64-w64-mingw32-windres'\ndlltool = 'aarch64-w64-mingw32-dlltool'\nexe_wrapper = ['wine']\n\n[properties]\nneeds_exe_wrapper = true\n\n[host_machine]\nsystem = 'windows'\ncpu_family = 'aarch64'\ncpu = 'aarch64'\nendian = 'little'\n"
  },
  {
    "path": "images/base-winarm64/toolchain.cmake",
    "content": "set(CMAKE_SYSTEM_NAME Windows)\nset(CMAKE_SYSTEM_PROCESSOR aarch64)\nset(CMAKE_SYSTEM_VERSION 10.0.22621.2428)\n\nset(triple aarch64-w64-mingw32)\n\nset(CMAKE_C_COMPILER ${triple}-clang)\nset(CMAKE_CXX_COMPILER ${triple}-clang++)\nset(CMAKE_RC_COMPILER ${triple}-windres)\nset(CMAKE_RANLIB ${triple}-llvm-ranlib)\nset(CMAKE_AR ${triple}-llvm-ar)\n\nset(CMAKE_SYSROOT /opt/llvm-mingw/${triple})\nset(CMAKE_FIND_ROOT_PATH /opt/llvm-mingw /opt/llvm-mingw/${triple} /opt/ffbuild)\n\nset(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)\nset(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)\nset(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)\n"
  },
  {
    "path": "makeimage.sh",
    "content": "#!/bin/bash\nset -xeo pipefail\ncd \"$(dirname \"$0\")\"\nsource util/vars.sh\n\nTMPCFG=\"$(mktemp --suffix=.toml)\"\ncat <<EOF >\"$TMPCFG\"\n[worker.oci]\n  max-parallelism = 4\nEOF\ntrap \"rm -f '$TMPCFG'\" EXIT\n\ndocker buildx inspect ffbuilder &>/dev/null || docker buildx create \\\n    --bootstrap \\\n    --name ffbuilder \\\n    --config \"$TMPCFG\" \\\n    --driver-opt network=host \\\n    --driver-opt env.BUILDKIT_STEP_LOG_MAX_SIZE=-1 \\\n    --driver-opt env.BUILDKIT_STEP_LOG_MAX_SPEED=-1\n\nif [[ -z \"$QUICKBUILD\" ]]; then\n    BASE_IMAGE_TARGET=\"${PWD}/.cache/images/base\"\n    if [[ ! -d \"${BASE_IMAGE_TARGET}\" ]]; then\n        docker buildx --builder ffbuilder build \\\n            --cache-from=type=local,src=.cache/\"${BASE_IMAGE/:/_}\" \\\n            --cache-to=type=local,mode=max,dest=.cache/\"${BASE_IMAGE/:/_}\" \\\n            --load --tag \"${BASE_IMAGE}\" \\\n            \"images/base\"\n        mkdir -p \"${BASE_IMAGE_TARGET}\"\n        docker image save \"${BASE_IMAGE}\" | tar -x -C \"${BASE_IMAGE_TARGET}\"\n    fi\n\n    IMAGE_TARGET=\"${PWD}/.cache/images/base-${TARGET}\"\n    if [[ ! -d \"${IMAGE_TARGET}\" ]]; then\n        docker buildx --builder ffbuilder build \\\n            --cache-from=type=local,src=.cache/\"${TARGET_IMAGE/:/_}\" \\\n            --cache-to=type=local,mode=max,dest=.cache/\"${TARGET_IMAGE/:/_}\" \\\n            --build-arg GH_REPO=\"${REGISTRY}/${REPO}\" \\\n            --build-context \"${BASE_IMAGE}=oci-layout://${BASE_IMAGE_TARGET}\" \\\n            --load --tag \"${TARGET_IMAGE}\" \\\n            \"images/base-${TARGET}\"\n        mkdir -p \"${IMAGE_TARGET}\"\n        docker image save \"${TARGET_IMAGE}\" | tar -x -C \"${IMAGE_TARGET}\"\n    fi\n\n    CONTEXT_SRC=\"oci-layout://${IMAGE_TARGET}\"\nelse\n    CONTEXT_SRC=\"docker-image://${TARGET_IMAGE}\"\nfi\n\n./download.sh\n./generate.sh \"$TARGET\" \"$VARIANT\" \"${ADDINS[@]}\"\n\ndocker buildx --builder ffbuilder build \\\n    --cache-from=type=local,src=.cache/\"${IMAGE/:/_}\" \\\n    --cache-to=type=local,mode=max,dest=.cache/\"${IMAGE/:/_}\" \\\n    --build-context \"${TARGET_IMAGE}=${CONTEXT_SRC}\" \\\n    --load --tag \"$IMAGE\" .\n\nif [[ -z \"$NOCLEAN\" ]]; then\n    docker buildx rm -f ffbuilder\n    rm -rf .cache/images\nfi\n"
  },
  {
    "path": "patches/aom/0001-Fall-back-to-built-in-vmaf-model-on-load-failure.patch",
    "content": "From cc9db1c519dc00966ba8d8cdb4328698dfff9f80 Mon Sep 17 00:00:00 2001\nFrom: BtbN <btbn@btbn.de>\nDate: Thu, 15 Apr 2021 21:38:32 +0200\nSubject: [PATCH] Fall back to built-in vmaf model on load failure\n\n---\n aom_dsp/vmaf.c | 1 +\n 1 file changed, 1 insertion(+)\n\ndiff --git a/aom_dsp/vmaf.c b/aom_dsp/vmaf.c\nindex 219e27830..6625f05c1 100644\n--- a/aom_dsp/vmaf.c\n+++ b/aom_dsp/vmaf.c\n@@ -37,6 +37,7 @@ void aom_init_vmaf_model(VmafModel **vmaf_model, const char *model_path) {\n   model_cfg.name = \"vmaf\";\n \n   if (vmaf_model_load_from_path(vmaf_model, &model_cfg, model_path)) {\n+   if (vmaf_model_load(vmaf_model, &model_cfg, \"vmaf_v0.6.1\"))\n     vmaf_fatal_error(\"Failed to load VMAF model.\");\n   }\n }\n-- \n2.25.1\n\n"
  },
  {
    "path": "patches/aribb24/12.patch",
    "content": "From a5bcc6d17c20e18bdeec295089cc0cdfac9d35c8 Mon Sep 17 00:00:00 2001\nFrom: xtne6f <xt4ubq@gmail.com>\nDate: Thu, 7 Feb 2019 20:11:13 +0900\nSubject: [PATCH] Fix default macros\n\n---\n src/decoder_macro.h | 4 ++--\n 1 file changed, 2 insertions(+), 2 deletions(-)\n\ndiff --git a/src/decoder_macro.h b/src/decoder_macro.h\nindex 86edee4..513b81e 100644\n--- a/src/decoder_macro.h\n+++ b/src/decoder_macro.h\n@@ -30,7 +30,7 @@ static const unsigned char decoder_default_macro_1[] = {\n     0x1B,0x24,0x39,0x1B,0x29,0x31,0x1B,0x2A,0x30,0x1B,0x2B,0x20,0x70,0x0F,0x1B,0x7D\n };\n static const unsigned char decoder_default_macro_2[] = {\n-    0x1B,0x24,0x39,0x1B,0x29,0x20,0x40,0x1B,0x2A,0x30,0x1B,0x2B,0x20,0x70,0x0F,0x1B,0x7D\n+    0x1B,0x24,0x39,0x1B,0x29,0x20,0x41,0x1B,0x2A,0x30,0x1B,0x2B,0x20,0x70,0x0F,0x1B,0x7D\n };\n static const unsigned char decoder_default_macro_3[] = {\n     0x1B,0x28,0x32,0x1B,0x29,0x34,0x1B,0x2A,0x35,0x1B,0x2B,0x20,0x70,0x0F,0x1B,0x7D\n@@ -39,7 +39,7 @@ static const unsigned char decoder_default_macro_4[] = {\n     0x1B,0x28,0x32,0x1B,0x29,0x33,0x1B,0x2A,0x35,0x1B,0x2B,0x20,0x70,0x0F,0x1B,0x7D\n };\n static const unsigned char decoder_default_macro_5[] = {\n-    0x1B,0x28,0x32,0x1B,0x29,0x20,0x40,0x1B,0x2A,0x35,0x1B,0x2B,0x20,0x70,0x0F,0x1B,0x7D\n+    0x1B,0x28,0x32,0x1B,0x29,0x20,0x41,0x1B,0x2A,0x35,0x1B,0x2B,0x20,0x70,0x0F,0x1B,0x7D\n };\n static const unsigned char decoder_default_macro_6[] = {\n     0x1B,0x28,0x20,0x41,0x1B,0x29,0x20,0x42,0x1B,0x2A,0x20,0x43,0x1B,0x2B,0x20,0x70,0x0F,0x1B,0x7D\n"
  },
  {
    "path": "patches/aribb24/13.patch",
    "content": "From facc51923d43f26dec09a9391566de7cba29f8db Mon Sep 17 00:00:00 2001\nFrom: =?UTF-8?q?Jan=20Ekstr=C3=B6m?= <jeebjp@gmail.com>\nDate: Sun, 17 Feb 2019 22:42:31 +0200\nSubject: [PATCH] decoder: reset control_time when finalizing decoder\n\nThis way finalize_decoder() can properly be utilized as a flush\nfunction.\n---\n src/decoder.c | 1 +\n 1 file changed, 1 insertion(+)\n\ndiff --git a/src/decoder.c b/src/decoder.c\nindex 2b77f38..24c0f06 100644\n--- a/src/decoder.c\n+++ b/src/decoder.c\n@@ -1506,6 +1506,7 @@ void arib_finalize_decoder( arib_decoder_t* decoder )\n         free( p_region );\n     }\n     decoder->p_region = NULL;\n+    decoder->i_control_time = 0;\n }\n \n size_t arib_decode_buffer( arib_decoder_t* decoder,\n"
  },
  {
    "path": "patches/aribb24/17.patch",
    "content": "From 58a34b8fabf4d0e9e1984fb603a97f52fb934a09 Mon Sep 17 00:00:00 2001\nFrom: scimmia9286 <scimmia9286@yahoo.co.jp>\nDate: Thu, 22 Apr 2021 20:26:45 +0900\nSubject: [PATCH] Fixed DRCS parser bug\n\n---\n src/decoder.c |  3 ++-\n src/drcs.c    | 12 ++++++++----\n src/drcs.h    |  2 +-\n src/parser.c  | 25 +++++++++++++++++++++----\n 4 files changed, 32 insertions(+), 10 deletions(-)\n\ndiff --git a/src/decoder.c b/src/decoder.c\nindex 2b77f38..c9d6ac3 100644\n--- a/src/decoder.c\n+++ b/src/decoder.c\n@@ -1139,9 +1139,10 @@ static int decoder_handle_time( arib_decoder_t *decoder )\n                     return 1;\n                 break;\n             default:\n-                if( i_mode == 1 && c >= 0x40 && c <= 0x7F )\n+                if( i_mode == 1 && c >= 0x40 && c <= 0x7F ) {\n                     decoder->i_control_time += c & 0x3f;\n                     return 1;\n+                }\n                 return 0;\n         }\n         if( i_mode == 0 )\ndiff --git a/src/drcs.c b/src/drcs.c\nindex 114d846..8ff8d4f 100644\n--- a/src/drcs.c\n+++ b/src/drcs.c\n@@ -406,15 +406,19 @@ static void save_drcs_pattern_data_image(\n void save_drcs_pattern(\n         arib_instance_t *p_instance,\n         int i_width, int i_height,\n-        int i_depth, const int8_t* p_patternData )\n+        int i_depth, const int8_t* p_patternData,\n+        int16_t i_CharacterCode )\n {\n+//    int i_drcsPage = (i_CharacterCode >> 16) & 0xff;\n+    int i_code = (i_CharacterCode & 0xff) - 0x20;\n     char* psz_hash = get_drcs_pattern_data_hash( p_instance,\n             i_width, i_height, i_depth, p_patternData );\n \n-    strncpy( p_instance->p->drcs_hash_table[p_instance->p->i_drcs_num], psz_hash, 32 );\n-    p_instance->p->drcs_hash_table[p_instance->p->i_drcs_num][32] = '\\0';\n+    strncpy( p_instance->p->drcs_hash_table[i_code-1], psz_hash, 32 );\n+    p_instance->p->drcs_hash_table[i_code-1][32] = '\\0';\n \n-    p_instance->p->i_drcs_num++;\n+    p_instance->p->i_drcs_num = i_code > p_instance->p->i_drcs_num ?\n+                                i_code : p_instance->p->i_drcs_num;\n \n     save_drcs_pattern_data_image( p_instance, psz_hash,\n             i_width, i_height, i_depth, p_patternData );\ndiff --git a/src/drcs.h b/src/drcs.h\nindex 274ff44..9c1533e 100644\n--- a/src/drcs.h\n+++ b/src/drcs.h\n@@ -77,6 +77,6 @@ typedef struct drcs_data_s\n \n bool apply_drcs_conversion_table( arib_instance_t * );\n bool load_drcs_conversion_table( arib_instance_t * );\n-void save_drcs_pattern( arib_instance_t *, int, int, int, const int8_t* );\n+void save_drcs_pattern( arib_instance_t *, int, int, int, const int8_t*, int16_t );\n \n #endif\ndiff --git a/src/parser.c b/src/parser.c\nindex 1403dd6..6db27ae 100644\n--- a/src/parser.c\n+++ b/src/parser.c\n@@ -79,7 +79,6 @@ static void parse_data_unit_DRCS( arib_parser_t *p_parser, bs_t *p_bs,\n                                   uint8_t i_data_unit_parameter,\n                                   uint32_t i_data_unit_size )\n {\n-    p_parser->p_instance->p->i_drcs_num = 0;\n #ifdef ARIBSUB_GEN_DRCS_DATA\n     if( p_parser->p_drcs_data != NULL )\n     {\n@@ -119,7 +118,7 @@ static void parse_data_unit_DRCS( arib_parser_t *p_parser, bs_t *p_bs,\n \n     for( int i = 0; i < i_NumberOfCode; i++ )\n     {\n-        bs_skip( p_bs, 16 ); /* i_character_code */\n+        int16_t i_CharacterCode = bs_read( p_bs, 16 ); /* i_character_code */\n         p_parser->i_data_unit_size += 2;\n         uint8_t i_NumberOfFont = bs_read( p_bs, 8 );\n         p_parser->i_data_unit_size += 1;\n@@ -139,7 +138,11 @@ static void parse_data_unit_DRCS( arib_parser_t *p_parser, bs_t *p_bs,\n \n         for( int j = 0; j < i_NumberOfFont; j++ )\n         {\n+#ifdef ARIBSUB_GEN_DRCS_DATA\n+            int8_t i_fontId = bs_read( p_bs, 4 ); /* i_fontID */\n+#else\n             bs_skip( p_bs, 4 ); /* i_fontID */\n+#endif //ARIBSUB_GEN_DRCS_DATA\n             uint8_t i_mode = bs_read( p_bs, 4 );\n             p_parser->i_data_unit_size += 1;\n \n@@ -206,18 +209,26 @@ static void parse_data_unit_DRCS( arib_parser_t *p_parser, bs_t *p_bs,\n \n #ifdef ARIBSUB_GEN_DRCS_DATA\n                 save_drcs_pattern( p_parser->p_instance, i_width, i_height, i_depth + 2,\n-                                   p_drcs_pattern_data->p_patternData );\n+                                   p_drcs_pattern_data->p_patternData, i_CharacterCode );\n #else\n                 save_drcs_pattern( p_parser->p_instance, i_width, i_height, i_depth + 2,\n-                                   p_patternData );\n+                                   p_patternData, i_CharacterCode);\n                 free( p_patternData );\n #endif //ARIBSUB_GEN_DRCS_DATA\n             }\n             else\n             {\n+#ifdef ARIBSUB_GEN_DRCS_DATA\n+                int8_t i_regionX = bs_read( p_bs, 8 ); /* i_regionX */\n+#else\n                 bs_skip( p_bs, 8 ); /* i_regionX */\n+#endif //ARIBSUB_GEN_DRCS_DATA\n                 p_parser->i_data_unit_size += 1;\n+#ifdef ARIBSUB_GEN_DRCS_DATA\n+                int8_t i_regionY = bs_read( p_bs, 8 ); /* i_regionY */\n+#else\n                 bs_skip( p_bs, 8 ); /* i_regionY */\n+#endif //ARIBSUB_GEN_DRCS_DATA\n                 p_parser->i_data_unit_size += 1;\n                 uint16_t i_geometricData_length = bs_read( p_bs, 16 );\n                 p_parser->i_data_unit_size += 2;\n@@ -245,7 +256,11 @@ static void parse_data_unit_DRCS( arib_parser_t *p_parser, bs_t *p_bs,\n \n                 for( int k = 0; k < i_geometricData_length ; k++ )\n                 {\n+#ifdef ARIBSUB_GEN_DRCS_DATA\n+                    int8_t i_geometricData = bs_read( p_bs, 8 ); /* i_geometric_data */\n+#else\n                     bs_skip( p_bs, 8 ); /* i_geometric_data */\n+#endif //ARIBSUB_GEN_DRCS_DATA\n                     p_parser->i_data_unit_size += 1;\n \n #ifdef ARIBSUB_GEN_DRCS_DATA\n@@ -344,6 +359,8 @@ static void parse_caption_management_data( arib_parser_t *p_parser, bs_t *p_bs )\n     p_parser->i_data_unit_size = 0;\n     p_parser->i_subtitle_data_size = 0;\n     p_parser->psz_subtitle_data = NULL;\n+    p_parser->p_instance->p->i_drcs_num = 0;\n+    memset(p_parser->p_instance->p->drcs_hash_table, 0, sizeof(p_parser->p_instance->p->drcs_hash_table));\n     if( i_data_unit_loop_length > 0 )\n     {\n         p_parser->psz_subtitle_data = (unsigned char*) calloc(\n"
  },
  {
    "path": "scripts.d/10-mingw-std-threads.sh",
    "content": "#!/bin/bash\n\nSCRIPT_REPO=\"https://github.com/meganz/mingw-std-threads.git\"\nSCRIPT_COMMIT=\"c931bac289dd431f1dd30fc4a5d1a7be36668073\"\n\nffbuild_depends() {\n    return 0\n}\n\nffbuild_enabled() {\n    [[ $TARGET == win* ]] || return -1\n    return 0\n}\n\nffbuild_dockerbuild() {\n    mkdir -p \"$FFBUILD_DESTPREFIX\"/include\n    cp *.h \"$FFBUILD_DESTPREFIX\"/include\n}\n"
  },
  {
    "path": "scripts.d/10-mingw.sh",
    "content": "#!/bin/bash\n\nSCRIPT_REPO=\"https://git.code.sf.net/p/mingw-w64/mingw-w64.git\"\nSCRIPT_COMMIT=\"59cd5ce805b12cdefced08ce567d3518c6053b40\"\n\nffbuild_depends() {\n    return 0\n}\n\nffbuild_enabled() {\n    [[ $TARGET == win* ]] || return -1\n    return 0\n}\n\nffbuild_dockerlayer() {\n    to_df \"COPY --link --from=${SELFLAYER} /opt/mingw/. /\"\n    [[ -n \"$COMBINING\" ]] || return 0\n    to_df \"COPY --link --from=${SELFLAYER} /opt/mingw/. /opt/mingw\"\n}\n\nffbuild_dockerfinal() {\n    to_df \"COPY --link --from=${PREVLAYER} /opt/mingw/. /\"\n}\n\nffbuild_dockerdl() {\n    echo \"retry-tool sh -c \\\"rm -rf mingw && git clone '$SCRIPT_REPO' mingw\\\" && cd mingw && git checkout \\\"$SCRIPT_COMMIT\\\"\"\n}\n\nffbuild_dockerbuild() {\n    if [[ -z \"$COMPILER_SYSROOT\" ]]; then\n        COMPILER_SYSROOT=\"$(${CC} -print-sysroot)/usr/${FFBUILD_TOOLCHAIN}\"\n    fi\n\n    unset CC CXX LD AR CPP LIBS CCAS\n    unset CFLAGS CXXFLAGS LDFLAGS CPPFLAGS CCASFLAGS\n    unset PKG_CONFIG_LIBDIR\n\n    ###\n    ### mingw-w64-headers\n    ###\n    (\n        cd mingw-w64-headers\n\n        local myconf=(\n            --host=\"$FFBUILD_TOOLCHAIN\"\n            --with-default-win32-winnt=\"0x601\"\n            --with-default-msvcrt=ucrt\n            --enable-idl\n            --enable-sdk=all\n        )\n\n        if [[ -L \"$COMPILER_SYSROOT\"/include ]]; then\n            local target=\"$(readlink -f \"$COMPILER_SYSROOT\"/include)\"\n            mkdir -p \"/opt/mingw$COMPILER_SYSROOT\"\n            ln -sfn \"$(realpath -s --relative-to=\"$COMPILER_SYSROOT\" \"$target\")\" \"/opt/mingw$COMPILER_SYSROOT/include\"\n            myconf+=( --prefix=\"$(realpath \"$target\"/..)\" )\n        else\n            myconf+=( --prefix=\"$COMPILER_SYSROOT\" )\n        fi\n\n        ./configure \"${myconf[@]}\"\n        make -j$(nproc)\n        make install DESTDIR=\"/opt/mingw\"\n    )\n\n    cp -a /opt/mingw/. /\n\n    ###\n    ### mingw-w64-crt\n    ###\n    (\n        cd mingw-w64-crt\n\n        local myconf=(\n            --prefix=\"$COMPILER_SYSROOT\"\n            --host=\"$FFBUILD_TOOLCHAIN\"\n            --with-default-msvcrt=ucrt\n            --enable-wildcard\n        )\n\n        case $TARGET in\n        *arm64)\n            myconf+=(\n                --disable-lib32\n                --disable-lib64\n                --enable-libarm64\n            )\n            ;;\n        *arm32)\n            myconf+=(\n                --disable-lib32\n                --disable-lib64\n                --enable-libarm32\n            )\n            ;;\n        *64)\n            myconf+=(\n                --disable-lib32\n                --enable-lib64\n            )\n            ;;\n        *32)\n            myconf+=(\n                --enable-lib32\n                --disable-lib64\n            )\n            ;;\n        esac\n\n        ./configure \"${myconf[@]}\"\n        make -j$(nproc)\n        make install DESTDIR=\"/opt/mingw\"\n    )\n\n    cp -a /opt/mingw/. /\n\n    ###\n    ### mingw-w64-libraries/winpthreads\n    ###\n    (\n        cd mingw-w64-libraries/winpthreads\n\n        local myconf=(\n            --prefix=\"$COMPILER_SYSROOT\"\n            --host=\"$FFBUILD_TOOLCHAIN\"\n            --with-pic\n            --disable-shared\n            --enable-static\n        )\n\n        ./configure \"${myconf[@]}\"\n        make -j$(nproc)\n        make install DESTDIR=\"/opt/mingw\"\n    )\n}\n\nffbuild_configure() {\n    echo --disable-w32threads --enable-pthreads\n}\n"
  },
  {
    "path": "scripts.d/10-xorg-macros.sh",
    "content": "#!/bin/bash\n\nSCRIPT_REPO=\"https://gitlab.freedesktop.org/xorg/util/macros.git\"\nSCRIPT_COMMIT=\"a9d71e3fd8e6758b70be31c586921bbbcd2a8449\"\n\nffbuild_depends() {\n    return 0\n}\n\nffbuild_enabled() {\n    [[ $TARGET != linux* ]] && return -1\n    return 0\n}\n\nffbuild_dockerlayer() {\n    to_df \"COPY --link --from=${SELFLAYER} \\$FFBUILD_DESTPREFIX/. \\$FFBUILD_PREFIX\"\n    to_df \"COPY --link --from=${SELFLAYER} \\$FFBUILD_DESTPREFIX/share/aclocal/. /usr/share/aclocal\"\n}\n\nffbuild_dockerbuild() {\n    autoreconf -i\n    ./configure --prefix=\"$FFBUILD_PREFIX\"\n    make -j\"$(nproc)\"\n    make install DESTDIR=\"$FFBUILD_DESTDIR\"\n}\n"
  },
  {
    "path": "scripts.d/15-base.sh",
    "content": "#!/bin/bash\n\nSCRIPT_SKIP=\"1\"\n\nffbuild_depends() {\n    echo mingw\n    echo mingw-std-threads\n    echo xorg-macros\n}\n\nffbuild_enabled() {\n    return 0\n}\n\nffbuild_dockerfinal() {\n    return 0\n}\n\nffbuild_dockerdl() {\n    return 0\n}\n\nffbuild_dockerlayer() {\n    return 0\n}\n\nffbuild_dockerstage() {\n    return 0\n}\n\nffbuild_dockerbuild() {\n    return 0\n}\n\nffbuild_ldexeflags() {\n    return 0\n}\n"
  },
  {
    "path": "scripts.d/20-libiconv.sh",
    "content": "#!/bin/bash\n\nSCRIPT_REPO=\"https://git.savannah.gnu.org/git/libiconv.git\"\nSCRIPT_MIRROR=\"git://git.git.savannah.gnu.org/libiconv.git\"\nSCRIPT_COMMIT=\"a8850dc314a906b7bbe49a7c60424c7b10f57236\"\n\nSCRIPT_REPO2=\"https://git.savannah.gnu.org/git/gnulib.git\"\nSCRIPT_MIRROR2=\"https://github.com/coreutils/gnulib.git\"\nSCRIPT_COMMIT2=\"4e11e3d07a79a49eaa9b155c43801bbc1e5bd86e\"\n\nffbuild_enabled() {\n    return 0\n}\n\nffbuild_dockerdl() {\n    echo \"retry-tool sh -c \\\"rm -rf iconv && git clone '$SCRIPT_MIRROR' iconv\\\" && git -C iconv checkout \\\"$SCRIPT_COMMIT\\\"\"\n    echo \"cd iconv && retry-tool sh -c \\\"rm -rf gnulib && git clone --filter=blob:none '$SCRIPT_MIRROR2' gnulib\\\" && git -C gnulib checkout \\\"$SCRIPT_COMMIT2\\\" && rm -rf gnulib/.git\"\n}\n\nffbuild_dockerbuild() {\n    # No automake 1.18 packaged anywhere yet.\n    sed -i 's/-1.18/-1.17/' Makefile.devel libcharset/Makefile.devel\n\n    (unset CC CFLAGS GMAKE && ./autogen.sh)\n\n    local myconf=(\n        --prefix=\"$FFBUILD_PREFIX\"\n        --enable-extra-encodings\n        --disable-shared\n        --enable-static\n        --with-pic\n    )\n\n    if [[ $TARGET == win* || $TARGET == linux* ]]; then\n        myconf+=(\n            --host=\"$FFBUILD_TOOLCHAIN\"\n        )\n    else\n        echo \"Unknown target\"\n        return -1\n    fi\n\n    ./configure \"${myconf[@]}\"\n    make -j$(nproc)\n    make install DESTDIR=\"$FFBUILD_DESTDIR\"\n}\n\nffbuild_configure() {\n    echo --enable-iconv\n}\n\nffbuild_unconfigure() {\n    echo --disable-iconv\n}\n"
  },
  {
    "path": "scripts.d/20-zlib.sh",
    "content": "#!/bin/bash\n\nSCRIPT_REPO=\"https://github.com/madler/zlib.git\"\nSCRIPT_COMMIT=\"09a1572aa624e5ddb6c075dc013880de70b1b9b9\"\n\nffbuild_enabled() {\n    return 0\n}\n\nffbuild_dockerbuild() {\n    local myconf=(\n        --prefix=\"$FFBUILD_PREFIX\"\n        --static\n    )\n\n    ./configure \"${myconf[@]}\"\n    make -j$(nproc)\n    make install DESTDIR=\"$FFBUILD_DESTDIR\"\n}\n\nffbuild_configure() {\n    echo --enable-zlib\n}\n\nffbuild_unconfigure() {\n    echo --disable-zlib\n}\n"
  },
  {
    "path": "scripts.d/25-fftw3.sh",
    "content": "#!/bin/bash\n\nSCRIPT_REPO=\"https://github.com/FFTW/fftw3.git\"\nSCRIPT_COMMIT=\"6c8f5c3e620ebc38262cd80ca6f65e9f85783d9e\"\n\nffbuild_enabled() {\n    return 0\n}\n\nffbuild_dockerbuild() {\n    sed -i 's/-libs nums/-use-ocamlfind -package num/' genfft/Makefile.am\n\n    local myconf=(\n        --prefix=\"$FFBUILD_PREFIX\"\n        --enable-maintainer-mode\n        --disable-shared\n        --enable-static\n        --disable-fortran\n        --disable-doc\n        --with-our-malloc\n        --enable-threads\n        --with-combined-threads\n        --with-incoming-stack-boundary=2\n    )\n\n    if [[ $TARGET != *arm64 ]]; then\n        myconf+=(\n            --enable-sse2\n            --enable-avx\n            --enable-avx2\n        )\n    fi\n\n    if [[ $TARGET == win* || $TARGET == linux* ]]; then\n        myconf+=(\n            --host=\"$FFBUILD_TOOLCHAIN\"\n        )\n    else\n        echo \"Unknown target\"\n        return -1\n    fi\n\n    sed -i 's/windows.h/process.h/' configure.ac\n\n    ./bootstrap.sh \"${myconf[@]}\"\n    make -j$(nproc)\n    make install DESTDIR=\"$FFBUILD_DESTDIR\"\n}\n"
  },
  {
    "path": "scripts.d/25-fribidi.sh",
    "content": "#!/bin/bash\n\nSCRIPT_REPO=\"https://github.com/fribidi/fribidi.git\"\nSCRIPT_COMMIT=\"b28f43bd3e8e31a5967830f721bab218c1aa114c\"\n\nffbuild_enabled() {\n    return 0\n}\n\nffbuild_dockerbuild() {\n    mkdir build && cd build\n\n    local myconf=(\n        --prefix=\"$FFBUILD_PREFIX\"\n        --buildtype=release\n        --default-library=static\n        -Dbin=false\n        -Ddocs=false\n        -Dtests=false\n    )\n\n    if [[ $TARGET == win* || $TARGET == linux* ]]; then\n        myconf+=(\n            --cross-file=/cross.meson\n        )\n    else\n        echo \"Unknown target\"\n        return -1\n    fi\n\n    meson \"${myconf[@]}\" ..\n    ninja -j$(nproc)\n    DESTDIR=\"$FFBUILD_DESTDIR\" ninja install\n\n    sed -i 's/Cflags:/Cflags: -DFRIBIDI_LIB_STATIC/' \"$FFBUILD_DESTPREFIX\"/lib/pkgconfig/fribidi.pc\n}\n\nffbuild_configure() {\n    echo --enable-libfribidi\n}\n\nffbuild_unconfigure() {\n    echo --disable-libfribidi\n}\n"
  },
  {
    "path": "scripts.d/25-gmp.sh",
    "content": "#!/bin/bash\n\nSCRIPT_REPO=\"https://github.com/BtbN/gmplib.git\"\nSCRIPT_COMMIT=\"9994908f090c694f8a152d660dc6852e0c48557a\"\n\nffbuild_enabled() {\n    return 0\n}\n\nffbuild_dockerbuild() {\n    ./.bootstrap\n\n    local myconf=(\n        --prefix=\"$FFBUILD_PREFIX\"\n        --enable-maintainer-mode\n        --disable-shared\n        --enable-static\n        --with-pic\n    )\n\n    if [[ $TARGET == win* || $TARGET == linux* ]]; then\n        myconf+=(\n            --host=\"$FFBUILD_TOOLCHAIN\"\n        )\n    else\n        echo \"Unknown target\"\n        return -1\n    fi\n\n    ./configure \"${myconf[@]}\"\n    make -j$(nproc)\n    make install DESTDIR=\"$FFBUILD_DESTDIR\"\n}\n\nffbuild_configure() {\n    echo --enable-gmp\n}\n\nffbuild_unconfigure() {\n    echo --disable-gmp\n}\n"
  },
  {
    "path": "scripts.d/25-libogg.sh",
    "content": "#!/bin/bash\n\nSCRIPT_REPO=\"https://github.com/xiph/ogg.git\"\nSCRIPT_COMMIT=\"06a5e0262cdc28aa4ae6797627a783b5010440f0\"\n\nffbuild_enabled() {\n    return 0\n}\n\nffbuild_dockerbuild() {\n    ./autogen.sh\n\n    local myconf=(\n        --prefix=\"$FFBUILD_PREFIX\"\n        --disable-shared\n        --enable-static\n        --with-pic\n    )\n\n    if [[ $TARGET == win* || $TARGET == linux* ]]; then\n        myconf+=(\n            --host=\"$FFBUILD_TOOLCHAIN\"\n        )\n    else\n        echo \"Unknown target\"\n        return -1\n    fi\n\n    ./configure \"${myconf[@]}\"\n    make -j$(nproc)\n    make install DESTDIR=\"$FFBUILD_DESTDIR\"\n}\n"
  },
  {
    "path": "scripts.d/25-libxml2.sh",
    "content": "#!/bin/bash\n\nSCRIPT_REPO=\"https://github.com/GNOME/libxml2.git\"\nSCRIPT_COMMIT=\"8f5f02ba295a20dfc5ddd8de03894918c5870ec8\"\n\nffbuild_depends() {\n    echo base\n    echo libiconv\n}\n\nffbuild_enabled() {\n    return 0\n}\n\nffbuild_dockerbuild() {\n    local myconf=(\n        --prefix=\"$FFBUILD_PREFIX\"\n        --without-python\n        --disable-maintainer-mode\n        --disable-shared\n        --enable-static\n    )\n\n    if [[ $TARGET == win* || $TARGET == linux* ]]; then\n        myconf+=(\n            --host=\"$FFBUILD_TOOLCHAIN\"\n        )\n    else\n        echo \"Unknown target\"\n        return -1\n    fi\n\n    ./autogen.sh \"${myconf[@]}\"\n    make -j$(nproc)\n    make install DESTDIR=\"$FFBUILD_DESTDIR\"\n}\n\nffbuild_configure() {\n    echo --enable-libxml2\n}\n\nffbuild_unconfigure() {\n    echo --disable-libxml2\n}\n"
  },
  {
    "path": "scripts.d/25-openssl.sh",
    "content": "#!/bin/bash\n\nSCRIPT_REPO=\"https://github.com/openssl/openssl.git\"\nSCRIPT_COMMIT=\"openssl-3.5.5\"\nSCRIPT_TAGFILTER=\"openssl-3.5.*\"\n\nffbuild_depends() {\n    echo base\n    echo zlib\n}\n\nffbuild_enabled() {\n    return 0\n}\n\nffbuild_dockerdl() {\n    default_dl .\n    echo \"git submodule update --init --recursive --depth=1\"\n}\n\nffbuild_dockerbuild() {\n    local myconf=(\n        threads\n        zlib\n        no-shared\n        no-tests\n        no-apps\n        no-legacy\n        no-ssl3\n        enable-camellia\n        enable-ec\n        enable-srp\n        --prefix=\"$FFBUILD_PREFIX\"\n        --libdir=lib\n    )\n\n    if [[ $TARGET == win64 ]]; then\n        myconf+=(\n            --cross-compile-prefix=\"$FFBUILD_CROSS_PREFIX\"\n            mingw64\n        )\n    elif [[ $TARGET == win32 ]]; then\n        myconf+=(\n            --cross-compile-prefix=\"$FFBUILD_CROSS_PREFIX\"\n            mingw\n        )\n    elif [[ $TARGET == winarm64 ]]; then\n        myconf+=(\n            --cross-compile-prefix=\"$FFBUILD_CROSS_PREFIX\"\n            mingwarm64\n        )\n\n        cat <<EOF >Configurations/50-win-arm-mingw.conf\nmy %targets = (\n    \"mingwarm64\" => {\n        inherit_from     => [ \"mingw-common\" ],\n        cflags           => \"\",\n        sys_id           => \"MINGWARM64\",\n        bn_ops           => add(\"SIXTY_FOUR_BIT\"),\n        asm_arch         => 'aarch64',\n        uplink_arch      => 'armv8',\n        perlasm_scheme   => \"win64\",\n        shared_rcflag    => \"\",\n        multilib         => \"-arm64\",\n    },\n);\nEOF\n    elif [[ $TARGET == linux64 ]]; then\n        myconf+=(\n            --cross-compile-prefix=\"$FFBUILD_CROSS_PREFIX\"\n            linux-x86_64\n        )\n    elif [[ $TARGET == linuxarm64 ]]; then\n        myconf+=(\n            --cross-compile-prefix=\"$FFBUILD_CROSS_PREFIX\"\n            linux-aarch64\n        )\n    else\n        echo \"Unknown target\"\n        return -1\n    fi\n\n    export CFLAGS=\"$CFLAGS -fno-strict-aliasing\"\n    export CXXFLAGS=\"$CXXFLAGS -fno-strict-aliasing\"\n\n    # OpenSSL build system prepends the cross prefix itself\n    export CC=\"${CC/${FFBUILD_CROSS_PREFIX}/}\"\n    export CXX=\"${CXX/${FFBUILD_CROSS_PREFIX}/}\"\n    export AR=\"${AR/${FFBUILD_CROSS_PREFIX}/}\"\n    export RANLIB=\"${RANLIB/${FFBUILD_CROSS_PREFIX}/}\"\n\n    ./Configure \"${myconf[@]}\"\n\n    sed -i -e \"/^CFLAGS=/s|=.*|=${CFLAGS}|\" -e \"/^LDFLAGS=/s|=[[:space:]]*$|=${LDFLAGS}|\" Makefile\n\n    make -j$(nproc) build_sw\n    make install_sw DESTDIR=\"$FFBUILD_DESTDIR\"\n}\n\nffbuild_configure() {\n    [[ $TARGET == win* ]] && return 0\n    echo --enable-openssl\n}\n"
  },
  {
    "path": "scripts.d/25-xz.sh",
    "content": "#!/bin/bash\n\nSCRIPT_REPO=\"https://github.com/tukaani-project/xz.git\"\nSCRIPT_COMMIT=\"bfc5f12a84a2a9df774ed16cd6eb58fd5ab24646\"\n\nffbuild_depends() {\n    echo base\n    echo libiconv\n}\n\nffbuild_enabled() {\n    return 0\n}\n\nffbuild_dockerbuild() {\n    ./autogen.sh --no-po4a --no-doxygen\n\n    local myconf=(\n        --prefix=\"$FFBUILD_PREFIX\"\n        --disable-symbol-versions\n        --disable-shared\n        --enable-static\n        --with-pic\n    )\n\n    if [[ $TARGET == win* || $TARGET == linux* ]]; then\n        myconf+=(\n            --host=\"$FFBUILD_TOOLCHAIN\"\n        )\n    else\n        echo \"Unknown target\"\n        return -1\n    fi\n\n    ./configure \"${myconf[@]}\"\n    make -j$(nproc)\n    make install DESTDIR=\"$FFBUILD_DESTDIR\"\n}\n\nffbuild_configure() {\n    echo --enable-lzma\n}\n\nffbuild_unconfigure() {\n    echo --disable-lzma\n}\n"
  },
  {
    "path": "scripts.d/45-fonts/25-freetype.sh",
    "content": "#!/bin/bash\n\nSCRIPT_REPO=\"https://gitlab.freedesktop.org/freetype/freetype.git\"\nSCRIPT_COMMIT=\"264b5fbf5b912b39f98d038bf75d39be0a73f21b\"\n\nffbuild_enabled() {\n    return 0\n}\n\nffbuild_dockerbuild() {\n    ./autogen.sh\n\n    local myconf=(\n        --prefix=\"$FFBUILD_PREFIX\"\n        --without-harfbuzz\n        --disable-shared\n        --enable-static\n    )\n\n    if [[ $TARGET == win* || $TARGET == linux* ]]; then\n        myconf+=(\n            --host=\"$FFBUILD_TOOLCHAIN\"\n        )\n    else\n        echo \"Unknown target\"\n        return -1\n    fi\n\n    ./configure \"${myconf[@]}\"\n    make -j$(nproc)\n    make install DESTDIR=\"$FFBUILD_DESTDIR\"\n}\n"
  },
  {
    "path": "scripts.d/45-fonts/35-fontconfig.sh",
    "content": "#!/bin/bash\n\nSCRIPT_REPO=\"https://gitlab.freedesktop.org/fontconfig/fontconfig.git\"\nSCRIPT_COMMIT=\"bf0ff2ce21f45596d078f3a9573abc9d9453d1e0\"\n\nffbuild_depends() {\n    echo base\n    echo libxml2\n    echo libiconv\n}\n\nffbuild_enabled() {\n    return 0\n}\n\nffbuild_dockerbuild() {\n    mkdir build && cd build\n\n    local myconf=(\n        --prefix=\"$FFBUILD_PREFIX\"\n        --buildtype=release\n        --default-library=static\n        -Ddoc=disabled\n        -Diconv=enabled\n        -Dxml-backend=libxml2\n        -Dtools=disabled\n        -Dcache-build=disabled\n        -Dtests=disabled\n    )\n\n    if [[ $TARGET == linux* ]]; then\n        myconf+=(\n            --sysconfdir=/etc\n            --localstatedir=/var\n            --cross-file=/cross.meson\n        )\n    elif [[ $TARGET == win* ]]; then\n        myconf+=(\n            --cross-file=/cross.meson\n        )\n    else\n        echo \"Unknown target\"\n        return -1\n    fi\n\n    meson setup \"${myconf[@]}\" ..\n    ninja -j\"$(nproc)\"\n    DESTDIR=\"$FFBUILD_DESTDIR\" ninja install\n\n    rm -rf \"$FFBUILD_DESTPREFIX\"/{var,share,etc}\n}\n\nffbuild_configure() {\n    echo --enable-fontconfig\n}\n\nffbuild_unconfigure() {\n    echo --disable-fontconfig\n}\n"
  },
  {
    "path": "scripts.d/45-fonts/45-harfbuzz.sh",
    "content": "#!/bin/bash\n\nSCRIPT_REPO=\"https://github.com/harfbuzz/harfbuzz.git\"\nSCRIPT_COMMIT=\"5fc1d612f9327fe550d0f10efd2bbaf4cd8ebeeb\"\n\nffbuild_enabled() {\n    return 0\n}\n\nffbuild_dockerbuild() {\n    mkdir build && cd build\n\n    local myconf=(\n        --cross-file=/cross.meson\n        --prefix=\"$FFBUILD_PREFIX\"\n        --buildtype=release\n        --default-library=static\n        -Dfreetype=enabled\n        -Dglib=disabled\n        -Dgobject=disabled\n        -Dcairo=disabled\n        -Dchafa=disabled\n        -Dtests=disabled\n        -Dintrospection=disabled\n        -Ddocs=disabled\n        -Ddoc_tests=false\n        -Dutilities=disabled\n    )\n\n    if [[ $TARGET == win* ]]; then\n        myconf+=(\n            -Dgdi=enabled\n        )\n    fi\n\n    meson setup \"${myconf[@]}\" ..\n    ninja -j\"$(nproc)\"\n    DESTDIR=\"$FFBUILD_DESTDIR\" ninja install\n\n    echo \"Libs.private: -lpthread\" >> \"$FFBUILD_DESTPREFIX\"/lib/pkgconfig/harfbuzz.pc\n}\n\nffbuild_configure() {\n    (( $(ffbuild_ffver) > 600 )) || return 0\n    echo --enable-libharfbuzz\n}\n\nffbuild_unconfigure() {\n    (( $(ffbuild_ffver) > 600 )) || return 0\n    echo --disable-libharfbuzz\n}\n"
  },
  {
    "path": "scripts.d/45-fonts/50-freetype.sh",
    "content": "#!/bin/bash\n\nSCRIPT_REPO=\"https://gitlab.freedesktop.org/freetype/freetype.git\"\nSCRIPT_COMMIT=\"264b5fbf5b912b39f98d038bf75d39be0a73f21b\"\n\nffbuild_enabled() {\n    return 0\n}\n\nffbuild_dockerbuild() {\n    ./autogen.sh\n\n    local myconf=(\n        --prefix=\"$FFBUILD_PREFIX\"\n        --disable-shared\n        --enable-static\n    )\n\n    if [[ $TARGET == win* || $TARGET == linux* ]]; then\n        myconf+=(\n            --host=\"$FFBUILD_TOOLCHAIN\"\n        )\n    else\n        echo \"Unknown target\"\n        return -1\n    fi\n\n    ./configure \"${myconf[@]}\"\n    make -j$(nproc)\n    make install DESTDIR=\"$FFBUILD_DESTDIR\"\n\n    echo \"Libs.private: -lharfbuzz\" >> \"$FFBUILD_DESTPREFIX\"/lib/pkgconfig/freetype2.pc\n}\n\nffbuild_configure() {\n    echo --enable-libfreetype\n}\n\nffbuild_unconfigure() {\n    echo --disable-libfreetype\n}\n"
  },
  {
    "path": "scripts.d/45-libsamplerate.sh",
    "content": "#!/bin/bash\n\nSCRIPT_REPO=\"https://github.com/libsndfile/libsamplerate.git\"\nSCRIPT_COMMIT=\"2ccde9568cca73c7b32c97fefca2e418c16ae5e3\"\n\nffbuild_enabled() {\n    return 0\n}\n\nffbuild_dockerbuild() {\n    mkdir build\n    cd build\n\n    cmake -DCMAKE_TOOLCHAIN_FILE=\"$FFBUILD_CMAKE_TOOLCHAIN\" -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=\"$FFBUILD_PREFIX\" -DBUILD_SHARED_LIBS=NO -DBUILD_TESTING=NO -DLIBSAMPLERATE_EXAMPLES=OFF -DLIBSAMPLERATE_INSTALL=YES ..\n    make -j$(nproc)\n    make install DESTDIR=\"$FFBUILD_DESTDIR\"\n}\n"
  },
  {
    "path": "scripts.d/45-libudfread.sh",
    "content": "#!/bin/bash\n\nSCRIPT_REPO=\"https://code.videolan.org/videolan/libudfread.git\"\nSCRIPT_COMMIT=\"139a2194525f2745b98a98e4d8fa627d07440176\"\n\nffbuild_enabled() {\n    return 0\n}\n\nffbuild_dockerbuild() {\n    # stop the static library from exporting symbols when linked into a shared lib\n    sed -i 's/-DUDFREAD_API_EXPORT/-DUDFREAD_API_EXPORT_DISABLED/g' src/meson.build\n\n    mkdir build && cd build\n\n    local myconf=(\n        --prefix=\"$FFBUILD_PREFIX\"\n        -Ddefault_library=static\n        -Denable_examples=false\n    )\n\n    if [[ $TARGET == win* || $TARGET == linux* ]]; then\n        myconf+=(\n            --cross-file=/cross.meson\n        )\n    else\n        echo \"Unknown target\"\n        return -1\n    fi\n\n    meson setup \"${myconf[@]}\" ..\n    ninja -j$(nproc)\n    DESTDIR=\"$FFBUILD_DESTDIR\" ninja install\n\n    ln -s libudfread.pc \"$FFBUILD_DESTPREFIX\"/lib/pkgconfig/udfread.pc\n}\n"
  },
  {
    "path": "scripts.d/45-libunibreak.sh",
    "content": "#!/bin/bash\n\nSCRIPT_REPO=\"https://github.com/adah1972/libunibreak.git\"\nSCRIPT_COMMIT=\"e8760630e8b73cf0187fc781383c2be136aa462d\"\n\nffbuild_enabled() {\n    return 0\n}\n\nffbuild_dockerbuild() {\n    bash ./bootstrap\n\n    local myconf=(\n        --prefix=\"$FFBUILD_PREFIX\"\n        --disable-shared\n        --enable-static\n        --with-pic\n    )\n\n    if [[ $TARGET == win* || $TARGET == linux* ]]; then\n        myconf+=(\n            --host=\"$FFBUILD_TOOLCHAIN\"\n        )\n    else\n        echo \"Unknown target\"\n        return -1\n    fi\n\n    ./configure \"${myconf[@]}\"\n    make -j$(nproc)\n    make install DESTDIR=\"$FFBUILD_DESTDIR\"\n}\n"
  },
  {
    "path": "scripts.d/45-libvorbis.sh",
    "content": "#!/bin/bash\n\nSCRIPT_REPO=\"https://github.com/xiph/vorbis.git\"\nSCRIPT_COMMIT=\"8de7001691d9177e30ff16a98b37b1e6fd15f7af\"\n\nffbuild_depends() {\n    echo base\n    echo libogg\n}\n\nffbuild_enabled() {\n    return 0\n}\n\nffbuild_dockerbuild() {\n    ./autogen.sh\n\n    local myconf=(\n        --prefix=\"$FFBUILD_PREFIX\"\n        --disable-shared\n        --enable-static\n        --disable-oggtest\n    )\n\n    if [[ $TARGET == win* || $TARGET == linux* ]]; then\n        myconf+=(\n            --host=\"$FFBUILD_TOOLCHAIN\"\n        )\n    else\n        echo \"Unknown target\"\n        return -1\n    fi\n\n    ./configure \"${myconf[@]}\"\n    make -j$(nproc)\n    make install DESTDIR=\"$FFBUILD_DESTDIR\"\n}\n\nffbuild_configure() {\n    echo --enable-libvorbis\n}\n\nffbuild_unconfigure() {\n    echo --disable-libvorbis\n}\n"
  },
  {
    "path": "scripts.d/45-opencl.sh",
    "content": "#!/bin/bash\n\nSCRIPT_REPO=\"https://github.com/KhronosGroup/OpenCL-Headers.git\"\nSCRIPT_COMMIT=\"e55138572c81dce15ffe402bd1142d9652ec5cb5\"\n\nSCRIPT_REPO2=\"https://github.com/KhronosGroup/OpenCL-ICD-Loader.git\"\nSCRIPT_COMMIT2=\"b1c57534df7ac82519b04606f51b71fb5d4053c3\"\n\nffbuild_enabled() {\n    return 0\n}\n\nffbuild_dockerdl() {\n    default_dl headers\n    echo \"git-mini-clone \\\"$SCRIPT_REPO2\\\" \\\"$SCRIPT_COMMIT2\\\" loader\"\n}\n\nffbuild_dockerbuild() {\n    mkdir -p \"$FFBUILD_DESTPREFIX\"/include/CL\n    cp -r headers/CL/* \"$FFBUILD_DESTPREFIX\"/include/CL/.\n\n    cd loader\n    mkdir build && cd build\n\n    cmake -DCMAKE_TOOLCHAIN_FILE=\"$FFBUILD_CMAKE_TOOLCHAIN\" -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=\"$FFBUILD_PREFIX\" \\\n        -DOPENCL_ICD_LOADER_HEADERS_DIR=\"$FFBUILD_DESTPREFIX\"/include -DOPENCL_ICD_LOADER_BUILD_SHARED_LIBS=OFF \\\n        -DOPENCL_ICD_LOADER_DISABLE_OPENCLON12=ON -DOPENCL_ICD_LOADER_PIC=ON \\\n        -DOPENCL_ICD_LOADER_BUILD_TESTING=OFF -DBUILD_TESTING=OFF ..\n    make -j$(nproc)\n    make install DESTDIR=\"$FFBUILD_DESTDIR\"\n\n    echo \"prefix=$FFBUILD_PREFIX\" > OpenCL.pc\n    echo \"exec_prefix=\\${prefix}\" >> OpenCL.pc\n    echo \"libdir=\\${exec_prefix}/lib\" >> OpenCL.pc\n    echo \"includedir=\\${prefix}/include\" >> OpenCL.pc\n    echo >> OpenCL.pc\n    echo \"Name: OpenCL\" >> OpenCL.pc\n    echo \"Description: OpenCL ICD Loader\" >> OpenCL.pc\n    echo \"Version: 9999\" >> OpenCL.pc\n    echo \"Cflags: -I\\${includedir}\" >> OpenCL.pc\n\n    if [[ $TARGET == linux* ]]; then\n        echo \"Libs: -L\\${libdir} -lOpenCL\" >> OpenCL.pc\n        echo \"Libs.private: -ldl\" >> OpenCL.pc\n    elif [[ $TARGET == win* ]]; then\n        echo \"Libs: -L\\${libdir} -l:OpenCL.a\" >> OpenCL.pc\n        echo \"Libs.private: -lole32 -lshlwapi -lcfgmgr32\" >> OpenCL.pc\n    fi\n\n    mkdir -p \"$FFBUILD_DESTPREFIX\"/lib/pkgconfig\n    mv OpenCL.pc \"$FFBUILD_DESTPREFIX\"/lib/pkgconfig/OpenCL.pc\n}\n\nffbuild_configure() {\n    echo --enable-opencl\n}\n\nffbuild_unconfigure() {\n    echo --disable-opencl\n}\n"
  },
  {
    "path": "scripts.d/45-pulseaudio.sh",
    "content": "#!/bin/bash\n\nSCRIPT_REPO=\"https://gitlab.freedesktop.org/pulseaudio/pulseaudio.git\"\nSCRIPT_COMMIT=\"b096704c0d42c5e784deb781a07b23cfb5286a82\"\n\nffbuild_depends() {\n    echo base\n    echo libiconv\n    echo libsamplerate\n    echo soxr\n    echo openssl\n}\n\nffbuild_enabled() {\n    [[ $TARGET == linux* ]] || return 1\n    return 0\n}\n\nffbuild_dockerdl() {\n    echo \"git clone --filter=blob:none \\\"$SCRIPT_REPO\\\" . && git checkout \\\"$SCRIPT_COMMIT\\\"\"\n}\n\nffbuild_dockerbuild() {\n    # Kill build of utils and their sndfile dep\n    echo > src/utils/meson.build\n    echo > src/pulsecore/sndfile-util.c\n    echo > src/pulsecore/sndfile-util.h\n    sed -ri -e 's/(sndfile_dep = .*)\\)/\\1, required : false)/' meson.build\n    sed -ri -e 's/shared_library/library/g' src/meson.build src/pulse/meson.build\n\n    mkdir build && cd build\n\n    local myconf=(\n        --prefix=\"$FFBUILD_PREFIX\"\n        --buildtype=release\n        --default-library=static\n        -Ddaemon=false\n        -Dclient=true\n        -Ddoxygen=disabled\n        -Dgcov=false\n        -Dman=false\n        -Dtests=disabled\n        -Dipv6=true\n        -Dopenssl=enabled\n    )\n\n    if [[ $TARGET == linux* ]]; then\n        myconf+=(\n            --cross-file=/cross.meson\n        )\n    else\n        echo \"Unknown target\"\n        return -1\n    fi\n\n    meson setup \"${myconf[@]}\" ..\n    ninja -j\"$(nproc)\"\n    DESTDIR=\"$FFBUILD_DESTDIR\" ninja install\n\n    rm -r \"$FFBUILD_DESTPREFIX\"/share\n\n    echo \"Libs.private: -ldl -lrt -liconv\" >> \"$FFBUILD_DESTPREFIX\"/lib/pkgconfig/libpulse.pc\n    echo \"Libs.private: -ldl -lrt -liconv\" >> \"$FFBUILD_DESTPREFIX\"/lib/pkgconfig/libpulse-simple.pc\n}\n\nffbuild_configure() {\n    echo --enable-libpulse\n}\n\nffbuild_unconfigure() {\n    echo --disable-libpulse\n}\n"
  },
  {
    "path": "scripts.d/45-vmaf.sh",
    "content": "#!/bin/bash\n\nSCRIPT_REPO=\"https://github.com/Netflix/vmaf.git\"\nSCRIPT_COMMIT=\"7e16db0a2ccdd8547680b9ed0b3e52691e8ecee7\"\n\nffbuild_enabled() {\n    return 0\n}\n\nffbuild_dockerbuild() {\n    # Kill build of unused and broken tools\n    echo > libvmaf/tools/meson.build\n\n    mkdir build && cd build\n\n    local myconf=(\n        --prefix=\"$FFBUILD_PREFIX\"\n        --buildtype=release\n        --default-library=static\n        -Dbuilt_in_models=true\n        -Denable_tests=false\n        -Denable_docs=false\n        -Denable_avx512=true\n        -Denable_float=true\n    )\n\n    if [[ $TARGET == win* || $TARGET == linux* ]]; then\n        myconf+=(\n            --cross-file=/cross.meson\n        )\n    else\n        echo \"Unknown target\"\n        return -1\n    fi\n\n    meson \"${myconf[@]}\" ../libvmaf || cat meson-logs/meson-log.txt\n    ninja -j\"$(nproc)\"\n    DESTDIR=\"$FFBUILD_DESTDIR\" ninja install\n\n    sed -i 's/Libs.private:/Libs.private: -lstdc++/; t; $ a Libs.private: -lstdc++' \"$FFBUILD_DESTPREFIX\"/lib/pkgconfig/libvmaf.pc\n}\n\nffbuild_configure() {\n    (( $(ffbuild_ffver) >= 501 )) || return 0\n    echo --enable-libvmaf\n}\n\nffbuild_unconfigure() {\n    echo --disable-libvmaf\n}\n"
  },
  {
    "path": "scripts.d/45-x11/10-xcbproto.sh",
    "content": "#!/bin/bash\n\nSCRIPT_REPO=\"https://gitlab.freedesktop.org/xorg/proto/xcbproto.git\"\nSCRIPT_COMMIT=\"cf7e2581b613802f2f8ec2a4b50a6a20aad4bf52\"\n\nffbuild_enabled() {\n    [[ $TARGET != linux* ]] && return -1\n    return 0\n}\n\nffbuild_dockerbuild() {\n    autoreconf -i\n\n    local myconf=(\n        --prefix=\"$FFBUILD_PREFIX\"\n    )\n\n    if [[ $TARGET == linux* ]]; then\n        myconf+=(\n            --host=\"$FFBUILD_TOOLCHAIN\"\n        )\n    else\n        echo \"Unknown target\"\n        return -1\n    fi\n\n    ./configure \"${myconf[@]}\"\n    make -j$(nproc)\n    make install DESTDIR=\"$FFBUILD_DESTDIR\"\n}\n"
  },
  {
    "path": "scripts.d/45-x11/10-xproto.sh",
    "content": "#!/bin/bash\n\nSCRIPT_REPO=\"https://gitlab.freedesktop.org/xorg/proto/xorgproto.git\"\nSCRIPT_COMMIT=\"04482cdee458445eab7c6a0b6d4ea64b74387401\"\n\nffbuild_enabled() {\n    [[ $TARGET != linux* ]] && return -1\n    return 0\n}\n\nffbuild_dockerbuild() {\n    autoreconf -i\n\n    local myconf=(\n        --prefix=\"$FFBUILD_PREFIX\"\n    )\n\n    if [[ $TARGET == linux* ]]; then\n        myconf+=(\n            --host=\"$FFBUILD_TOOLCHAIN\"\n        )\n    else\n        echo \"Unknown target\"\n        return -1\n    fi\n\n    ./configure \"${myconf[@]}\"\n    make -j$(nproc)\n    make install DESTDIR=\"$FFBUILD_DESTDIR\"\n}\n"
  },
  {
    "path": "scripts.d/45-x11/10-xtrans.sh",
    "content": "#!/bin/bash\n\nSCRIPT_REPO=\"https://gitlab.freedesktop.org/xorg/lib/libxtrans.git\"\nSCRIPT_COMMIT=\"693d28a76024a2a0a28eef25037bcb7558b8bbfa\"\n\nffbuild_enabled() {\n    [[ $TARGET != linux* ]] && return -1\n    return 0\n}\n\nffbuild_dockerbuild() {\n    autoreconf -i\n\n    local myconf=(\n        --prefix=\"$FFBUILD_PREFIX\"\n        --without-xmlto\n        --without-fop\n        --without-xsltproc\n    )\n\n    if [[ $TARGET == linux* ]]; then\n        myconf+=(\n            --host=\"$FFBUILD_TOOLCHAIN\"\n        )\n    else\n        echo \"Unknown target\"\n        return -1\n    fi\n\n    ./configure \"${myconf[@]}\"\n    make -j$(nproc)\n    make install DESTDIR=\"$FFBUILD_DESTDIR\"\n\n    cp -r \"$FFBUILD_DESTPREFIX\"/share/aclocal/. /usr/share/aclocal\n}\n"
  },
  {
    "path": "scripts.d/45-x11/20-libxau.sh",
    "content": "#!/bin/bash\n\nSCRIPT_REPO=\"https://gitlab.freedesktop.org/xorg/lib/libxau.git\"\nSCRIPT_COMMIT=\"3861176ca80013c867b32451075e566caab4d5c2\"\n\nffbuild_enabled() {\n    [[ $TARGET != linux* ]] && return -1\n    return 0\n}\n\nffbuild_dockerbuild() {\n    autoreconf -i\n\n    local myconf=(\n        --prefix=\"$FFBUILD_PREFIX\"\n        --enable-shared\n        --disable-static\n        --with-pic\n    )\n\n    if [[ $TARGET == linux* ]]; then\n        myconf+=(\n            --host=\"$FFBUILD_TOOLCHAIN\"\n        )\n    else\n        echo \"Unknown target\"\n        return -1\n    fi\n\n    export CFLAGS=\"$RAW_CFLAGS\"\n    export LDFLAFS=\"$RAW_LDFLAGS\"\n\n    ./configure \"${myconf[@]}\"\n    make -j$(nproc)\n    make install DESTDIR=\"$FFBUILD_DESTDIR\"\n\n    gen-implib \"$FFBUILD_DESTPREFIX\"/lib/{libXau.so.6,libXau.a}\n    rm \"$FFBUILD_DESTPREFIX\"/lib/libXau{.so*,.la}\n}\n"
  },
  {
    "path": "scripts.d/45-x11/30-libxcb.sh",
    "content": "#!/bin/bash\n\nSCRIPT_REPO=\"https://gitlab.freedesktop.org/xorg/lib/libxcb.git\"\nSCRIPT_COMMIT=\"dc3178bc887bbb7293c9de9059793bb0d9a10d71\"\n\nffbuild_enabled() {\n    [[ $TARGET != linux* ]] && return -1\n    return 0\n}\n\nffbuild_dockerbuild() {\n    autoreconf -i\n\n    local myconf=(\n        --prefix=\"$FFBUILD_PREFIX\"\n        --enable-shared\n        --disable-static\n        --with-pic\n        --disable-devel-docs\n    )\n\n    if [[ $TARGET == linux* ]]; then\n        myconf+=(\n            --host=\"$FFBUILD_TOOLCHAIN\"\n        )\n    else\n        echo \"Unknown target\"\n        return -1\n    fi\n\n    export CFLAGS=\"$RAW_CFLAGS\"\n    export LDFLAFS=\"$RAW_LDFLAGS\"\n\n    ./configure \"${myconf[@]}\"\n    make -j$(nproc)\n    make install DESTDIR=\"$FFBUILD_DESTDIR\"\n\n    for LIBNAME in \"$FFBUILD_DESTPREFIX\"/lib/libxcb*.so.?; do\n        gen-implib \"$LIBNAME\" \"${LIBNAME%%.*}.a\"\n        rm \"${LIBNAME%%.*}\"{.so*,.la}\n    done\n}\n\nffbuild_configure() {\n    echo --enable-libxcb\n}\n\nffbuild_unconfigure() {\n    echo --disable-libxcb\n}\n"
  },
  {
    "path": "scripts.d/45-x11/40-libx11.sh",
    "content": "#!/bin/bash\n\nSCRIPT_REPO=\"https://gitlab.freedesktop.org/xorg/lib/libx11.git\"\nSCRIPT_COMMIT=\"6c75545a1deb51f5903992c52af6bc35cc9bc103\"\n\nffbuild_enabled() {\n    [[ $TARGET != linux* ]] && return -1\n    return 0\n}\n\nffbuild_dockerbuild() {\n    autoreconf -i\n\n    local myconf=(\n        --prefix=\"$FFBUILD_PREFIX\"\n        --enable-shared\n        --disable-static\n        --with-pic\n        --without-xmlto\n        --without-fop\n        --without-xsltproc\n        --without-lint\n        --disable-specs\n        --enable-ipv6\n    )\n\n    if [[ $TARGET == linuxarm64 ]]; then\n        myconf+=(\n            --disable-malloc0returnsnull\n        )\n    fi\n\n    if [[ $TARGET == linux* ]]; then\n        myconf+=(\n            --host=\"$FFBUILD_TOOLCHAIN\"\n        )\n    else\n        echo \"Unknown target\"\n        return -1\n    fi\n\n    export CFLAGS=\"$RAW_CFLAGS\"\n    export LDFLAFS=\"$RAW_LDFLAGS\"\n\n    ./configure \"${myconf[@]}\"\n    make -j$(nproc)\n    make install DESTDIR=\"$FFBUILD_DESTDIR\"\n\n    echo \"Libs: -ldl\" >> \"$FFBUILD_DESTPREFIX\"/lib/pkgconfig/x11.pc\n\n    gen-implib \"$FFBUILD_DESTPREFIX\"/lib/{libX11-xcb.so.1,libX11-xcb.a}\n    gen-implib \"$FFBUILD_DESTPREFIX\"/lib/{libX11.so.6,libX11.a}\n    rm \"$FFBUILD_DESTPREFIX\"/lib/libX11{,-xcb}{.so*,.la}\n}\n"
  },
  {
    "path": "scripts.d/45-x11/50-libxext.sh",
    "content": "#!/bin/bash\n\nSCRIPT_REPO=\"https://gitlab.freedesktop.org/xorg/lib/libxext.git\"\nSCRIPT_COMMIT=\"2a694ba264ccdb205909909abfe8b136f9156ebe\"\n\nffbuild_enabled() {\n    [[ $TARGET != linux* ]] && return -1\n    return 0\n}\n\nffbuild_dockerbuild() {\n    autoreconf -i\n\n    local myconf=(\n        --prefix=\"$FFBUILD_PREFIX\"\n        --enable-shared\n        --disable-static\n        --with-pic\n        --without-xmlto\n        --without-fop\n        --without-xsltproc\n        --without-lint\n    )\n\n    if [[ $TARGET == linuxarm64 ]]; then\n        myconf+=(\n            --disable-malloc0returnsnull\n        )\n    fi\n\n    if [[ $TARGET == linux* ]]; then\n        myconf+=(\n            --host=\"$FFBUILD_TOOLCHAIN\"\n        )\n    else\n        echo \"Unknown target\"\n        return -1\n    fi\n\n    export CFLAGS=\"$RAW_CFLAGS -D_GNU_SOURCE\"\n    export LDFLAFS=\"$RAW_LDFLAGS\"\n\n    ./configure \"${myconf[@]}\"\n    make -j$(nproc)\n    make install DESTDIR=\"$FFBUILD_DESTDIR\"\n\n    gen-implib \"$FFBUILD_DESTPREFIX\"/lib/{libXext.so.6,libXext.a}\n    rm \"$FFBUILD_DESTPREFIX\"/lib/libXext{.so*,.la}\n}\n"
  },
  {
    "path": "scripts.d/45-x11/50-libxfixes.sh",
    "content": "#!/bin/bash\n\nSCRIPT_REPO=\"https://gitlab.freedesktop.org/xorg/lib/libxfixes.git\"\nSCRIPT_COMMIT=\"55bb2d1d57d43e0595ce45393f26eb433d75a7cc\"\n\nffbuild_enabled() {\n    [[ $TARGET != linux* ]] && return -1\n    return 0\n}\n\nffbuild_dockerbuild() {\n    autoreconf -i\n\n    local myconf=(\n        --prefix=\"$FFBUILD_PREFIX\"\n        --enable-shared\n        --disable-static\n        --with-pic\n    )\n\n    if [[ $TARGET == linux* ]]; then\n        myconf+=(\n            --host=\"$FFBUILD_TOOLCHAIN\"\n        )\n    else\n        echo \"Unknown target\"\n        return -1\n    fi\n\n    export CFLAGS=\"$RAW_CFLAGS\"\n    export LDFLAFS=\"$RAW_LDFLAGS\"\n\n    ./configure \"${myconf[@]}\"\n    make -j$(nproc)\n    make install DESTDIR=\"$FFBUILD_DESTDIR\"\n\n    gen-implib \"$FFBUILD_DESTPREFIX\"/lib/{libXfixes.so.3,libXfixes.a}\n    rm \"$FFBUILD_DESTPREFIX\"/lib/libXfixes{.so*,.la}\n}\n"
  },
  {
    "path": "scripts.d/45-x11/50-libxi.sh",
    "content": "#!/bin/bash\n\nSCRIPT_REPO=\"https://gitlab.freedesktop.org/xorg/lib/libxi.git\"\nSCRIPT_COMMIT=\"3103b5849d89335fd57b08b91ad634216ed96073\"\n\nffbuild_enabled() {\n    [[ $TARGET != linux* ]] && return -1\n    return 0\n}\n\nffbuild_dockerbuild() {\n    autoreconf -i\n\n    local myconf=(\n        --prefix=\"$FFBUILD_PREFIX\"\n        --enable-shared\n        --disable-static\n        --with-pic\n    )\n\n    if [[ $TARGET == linuxarm64 ]]; then\n        myconf+=(\n            --disable-malloc0returnsnull\n        )\n    fi\n\n    if [[ $TARGET == linux* ]]; then\n        myconf+=(\n            --host=\"$FFBUILD_TOOLCHAIN\"\n        )\n    else\n        echo \"Unknown target\"\n        return -1\n    fi\n\n    export CFLAGS=\"$RAW_CFLAGS\"\n    export LDFLAFS=\"$RAW_LDFLAGS\"\n\n    ./configure \"${myconf[@]}\"\n    make -j$(nproc)\n    make install DESTDIR=\"$FFBUILD_DESTDIR\"\n\n    gen-implib \"$FFBUILD_DESTPREFIX\"/lib/{libXi.so.6,libXi.a}\n    rm \"$FFBUILD_DESTPREFIX\"/lib/libXi{.so*,.la}\n}\n"
  },
  {
    "path": "scripts.d/45-x11/50-libxinerama.sh",
    "content": "#!/bin/bash\n\nSCRIPT_REPO=\"https://gitlab.freedesktop.org/xorg/lib/libxinerama.git\"\nSCRIPT_COMMIT=\"d7162b962710bc724b41cabab4e7cea303c4b541\"\n\nffbuild_enabled() {\n    [[ $TARGET != linux* ]] && return -1\n    return 0\n}\n\nffbuild_dockerbuild() {\n    autoreconf -i\n\n    local myconf=(\n        --prefix=\"$FFBUILD_PREFIX\"\n        --enable-shared\n        --disable-static\n        --with-pic\n    )\n\n    if [[ $TARGET == linuxarm64 ]]; then\n        myconf+=(\n            --disable-malloc0returnsnull\n        )\n    fi\n\n    if [[ $TARGET == linux* ]]; then\n        myconf+=(\n            --host=\"$FFBUILD_TOOLCHAIN\"\n        )\n    else\n        echo \"Unknown target\"\n        return -1\n    fi\n\n    export CFLAGS=\"$RAW_CFLAGS\"\n    export LDFLAFS=\"$RAW_LDFLAGS\"\n\n    ./configure \"${myconf[@]}\"\n    make -j$(nproc)\n    make install DESTDIR=\"$FFBUILD_DESTDIR\"\n\n    gen-implib \"$FFBUILD_DESTPREFIX\"/lib/{libXinerama.so.1,libXinerama.a}\n    rm \"$FFBUILD_DESTPREFIX\"/lib/libXinerama{.so*,.la}\n}\n"
  },
  {
    "path": "scripts.d/45-x11/50-libxrender.sh",
    "content": "#!/bin/bash\n\nSCRIPT_REPO=\"https://gitlab.freedesktop.org/xorg/lib/libxrender.git\"\nSCRIPT_COMMIT=\"f32afe9f877ae032c6bc9c27b17b7978b1b4c856\"\n\nffbuild_enabled() {\n    [[ $TARGET != linux* ]] && return -1\n    return 0\n}\n\nffbuild_dockerbuild() {\n    autoreconf -i\n\n    local myconf=(\n        --prefix=\"$FFBUILD_PREFIX\"\n        --enable-shared\n        --disable-static\n        --with-pic\n    )\n\n    if [[ $TARGET == linuxarm64 ]]; then\n        myconf+=(\n            --disable-malloc0returnsnull\n        )\n    fi\n\n    if [[ $TARGET == linux* ]]; then\n        myconf+=(\n            --host=\"$FFBUILD_TOOLCHAIN\"\n        )\n    else\n        echo \"Unknown target\"\n        return -1\n    fi\n\n    export CFLAGS=\"$RAW_CFLAGS\"\n    export LDFLAFS=\"$RAW_LDFLAGS\"\n\n    ./configure \"${myconf[@]}\"\n    make -j$(nproc)\n    make install DESTDIR=\"$FFBUILD_DESTDIR\"\n\n    gen-implib \"$FFBUILD_DESTPREFIX\"/lib/{libXrender.so.1,libXrender.a}\n    rm \"$FFBUILD_DESTPREFIX\"/lib/libXrender{.so*,.la}\n}\n"
  },
  {
    "path": "scripts.d/45-x11/50-libxscrnsaver.sh",
    "content": "#!/bin/bash\n\nSCRIPT_REPO=\"https://gitlab.freedesktop.org/xorg/lib/libxscrnsaver.git\"\nSCRIPT_COMMIT=\"3f753e7a4050db083474444ae91cc17a849eaa4d\"\n\nffbuild_enabled() {\n    [[ $TARGET != linux* ]] && return -1\n    return 0\n}\n\nffbuild_dockerbuild() {\n    autoreconf -i\n\n    local myconf=(\n        --prefix=\"$FFBUILD_PREFIX\"\n        --enable-shared\n        --disable-static\n        --with-pic\n    )\n\n    if [[ $TARGET == linuxarm64 ]]; then\n        myconf+=(\n            --disable-malloc0returnsnull\n        )\n    fi\n\n    if [[ $TARGET == linux* ]]; then\n        myconf+=(\n            --host=\"$FFBUILD_TOOLCHAIN\"\n        )\n    else\n        echo \"Unknown target\"\n        return -1\n    fi\n\n    export CFLAGS=\"$RAW_CFLAGS\"\n    export LDFLAFS=\"$RAW_LDFLAGS\"\n\n    ./configure \"${myconf[@]}\"\n    make -j$(nproc)\n    make install DESTDIR=\"$FFBUILD_DESTDIR\"\n\n    gen-implib \"$FFBUILD_DESTPREFIX\"/lib/{libXss.so.1,libXss.a}\n    rm \"$FFBUILD_DESTPREFIX\"/lib/libXss{.so*,.la}\n}\n"
  },
  {
    "path": "scripts.d/45-x11/50-libxxf86vm.sh",
    "content": "#!/bin/bash\n\nSCRIPT_REPO=\"https://gitlab.freedesktop.org/xorg/lib/libxxf86vm.git\"\nSCRIPT_COMMIT=\"c76fde6bffcc87e5dd98d8196bb01a299bdc3236\"\n\nffbuild_enabled() {\n    [[ $TARGET != linux* ]] && return -1\n    return 0\n}\n\nffbuild_dockerbuild() {\n    autoreconf -i\n\n    local myconf=(\n        --prefix=\"$FFBUILD_PREFIX\"\n        --enable-shared\n        --disable-static\n        --with-pic\n    )\n\n    if [[ $TARGET == linuxarm64 ]]; then\n        myconf+=(\n            --disable-malloc0returnsnull\n        )\n    fi\n\n    if [[ $TARGET == linux* ]]; then\n        myconf+=(\n            --host=\"$FFBUILD_TOOLCHAIN\"\n        )\n    else\n        echo \"Unknown target\"\n        return -1\n    fi\n\n    export CFLAGS=\"$RAW_CFLAGS\"\n    export LDFLAFS=\"$RAW_LDFLAGS\"\n\n    ./configure \"${myconf[@]}\"\n    make -j$(nproc)\n    make install DESTDIR=\"$FFBUILD_DESTDIR\"\n\n    gen-implib \"$FFBUILD_DESTPREFIX\"/lib/{libXxf86vm.so.1,libXxf86vm.a}\n    rm \"$FFBUILD_DESTPREFIX\"/lib/libXxf86vm{.so*,.la}\n}\n"
  },
  {
    "path": "scripts.d/45-x11/60-libglvnd.sh",
    "content": "#!/bin/bash\n\nSCRIPT_REPO=\"https://gitlab.freedesktop.org/glvnd/libglvnd.git\"\nSCRIPT_COMMIT=\"606f6627cf481ee6dcb32387edc010c502cdf38b\"\n\nffbuild_enabled() {\n    [[ $TARGET != linux* ]] && return -1\n    return 0\n}\n\nffbuild_dockerbuild() {\n    mkdir build && cd build\n\n    local myconf=(\n        --prefix=\"$FFBUILD_PREFIX\"\n        --buildtype=release\n        --default-library=static\n        -Dasm=enabled\n        -Dx11=enabled\n        -Degl=true\n        -Dglx=enabled\n        -Dgles1=true\n        -Dgles2=true\n        -Dheaders=true\n    )\n\n    if [[ $TARGET == linux* ]]; then\n        myconf+=(\n            --cross-file=/cross.meson\n        )\n    else\n        echo \"Unknown target\"\n        return -1\n    fi\n\n    meson \"${myconf[@]}\" ..\n    ninja -j\"$(nproc)\"\n    DESTDIR=\"$FFBUILD_DESTDIR\" ninja install\n}\n"
  },
  {
    "path": "scripts.d/45-x11/60-libxcursor.sh",
    "content": "#!/bin/bash\n\nSCRIPT_REPO=\"https://gitlab.freedesktop.org/xorg/lib/libxcursor.git\"\nSCRIPT_COMMIT=\"15efad7ccd035f5d1ddc8d437e047569d1775fa7\"\n\nffbuild_enabled() {\n    [[ $TARGET != linux* ]] && return -1\n    return 0\n}\n\nffbuild_dockerbuild() {\n    autoreconf -i\n\n    local myconf=(\n        --prefix=\"$FFBUILD_PREFIX\"\n        --enable-shared\n        --disable-static\n        --with-pic\n    )\n\n    if [[ $TARGET == linux* ]]; then\n        myconf+=(\n            --host=\"$FFBUILD_TOOLCHAIN\"\n        )\n    else\n        echo \"Unknown target\"\n        return -1\n    fi\n\n    export CFLAGS=\"$RAW_CFLAGS\"\n    export LDFLAFS=\"$RAW_LDFLAGS\"\n\n    ./configure \"${myconf[@]}\"\n    make -j$(nproc)\n    make install DESTDIR=\"$FFBUILD_DESTDIR\"\n\n    gen-implib \"$FFBUILD_DESTPREFIX\"/lib/{libXcursor.so.1,libXcursor.a}\n    rm \"$FFBUILD_DESTPREFIX\"/lib/libXcursor{.so*,.la}\n}\n"
  },
  {
    "path": "scripts.d/45-x11/60-libxrandr.sh",
    "content": "#!/bin/bash\n\nSCRIPT_REPO=\"https://gitlab.freedesktop.org/xorg/lib/libxrandr.git\"\nSCRIPT_COMMIT=\"b8d952cebd42b779256922a8e70a375a94dbb932\"\n\nffbuild_enabled() {\n    [[ $TARGET != linux* ]] && return -1\n    return 0\n}\n\nffbuild_dockerbuild() {\n    autoreconf -i\n\n    local myconf=(\n        --prefix=\"$FFBUILD_PREFIX\"\n        --enable-shared\n        --disable-static\n        --with-pic\n    )\n\n    if [[ $TARGET == linuxarm64 ]]; then\n        myconf+=(\n            --disable-malloc0returnsnull\n        )\n    fi\n\n    if [[ $TARGET == linux* ]]; then\n        myconf+=(\n            --host=\"$FFBUILD_TOOLCHAIN\"\n        )\n    else\n        echo \"Unknown target\"\n        return -1\n    fi\n\n    export CFLAGS=\"$RAW_CFLAGS\"\n    export LDFLAFS=\"$RAW_LDFLAGS\"\n\n    ./configure \"${myconf[@]}\"\n    make -j$(nproc)\n    make install DESTDIR=\"$FFBUILD_DESTDIR\"\n\n    gen-implib \"$FFBUILD_DESTPREFIX\"/lib/{libXrandr.so.2,libXrandr.a}\n    rm \"$FFBUILD_DESTPREFIX\"/lib/libXrandr{.so*,.la}\n}\n"
  },
  {
    "path": "scripts.d/45-x11/60-libxv.sh",
    "content": "#!/bin/bash\n\nSCRIPT_REPO=\"https://gitlab.freedesktop.org/xorg/lib/libxv.git\"\nSCRIPT_COMMIT=\"f315ec50fcad9bdbaed46c3e78dc5e7fe209f933\"\n\nffbuild_enabled() {\n    [[ $TARGET != linux* ]] && return -1\n    [[ $ADDINS_STR == *4.4* ]] && return -1\n    return 0\n}\n\nffbuild_dockerbuild() {\n    autoreconf -i\n\n    local myconf=(\n        --prefix=\"$FFBUILD_PREFIX\"\n        --enable-shared\n        --disable-static\n        --with-pic\n        --without-lint\n    )\n\n    if [[ $TARGET == linuxarm64 ]]; then\n        myconf+=(\n            --disable-malloc0returnsnull\n        )\n    fi\n\n    if [[ $TARGET == linux* ]]; then\n        myconf+=(\n            --host=\"$FFBUILD_TOOLCHAIN\"\n        )\n    else\n        echo \"Unknown target\"\n        return -1\n    fi\n\n    export CFLAGS=\"$RAW_CFLAGS\"\n    export LDFLAFS=\"$RAW_LDFLAGS\"\n\n    ./configure \"${myconf[@]}\"\n    make -j$(nproc)\n    make install DESTDIR=\"$FFBUILD_DESTDIR\"\n\n    gen-implib \"$FFBUILD_DESTPREFIX\"/lib/{libXv.so.1,libXv.a}\n    rm \"$FFBUILD_DESTPREFIX\"/lib/libXv{.so*,.la}\n}\n\nffbuild_configure() {\n    echo --enable-xlib\n}\n\nffbuild_unconfigure() {\n    echo --disable-xlib\n}\n"
  },
  {
    "path": "scripts.d/45-x11/99-finalize.sh",
    "content": "#!/bin/bash\n\nSCRIPT_SKIP=\"1\"\n\nffbuild_enabled() {\n    [[ $TARGET != linux* ]] && return -1\n    return 0\n}\n\nffbuild_dockerlayer() {\n    to_df \"COPY --link --from=${SELFLAYER} \\$FFBUILD_DESTPREFIX/. \\$FFBUILD_PREFIX\"\n    to_df \"COPY --link --from=${SELFLAYER} \\$FFBUILD_DESTPREFIX/share/aclocal/. /usr/share/aclocal\"\n}\n\nffbuild_dockerdl() {\n    return 0\n}\n\nffbuild_dockerbuild() {\n    rm \"$FFBUILD_DESTPREFIX\"/lib/lib*.so* || true\n    rm \"$FFBUILD_DESTPREFIX\"/lib/*.la || true\n}\n\nffbuild_libs() {\n    echo -ldl\n}\n"
  },
  {
    "path": "scripts.d/47-vulkan/40-vulkan-headers.sh",
    "content": "#!/bin/bash\n\nSCRIPT_REPO=\"https://github.com/KhronosGroup/Vulkan-Headers.git\"\nSCRIPT_COMMIT=\"v1.4.346\"\nSCRIPT_TAGFILTER=\"v?.*.*\"\n\nffbuild_enabled() {\n    (( $(ffbuild_ffver) > 404 )) || return -1\n    return 0\n}\n\nffbuild_dockerbuild() {\n    mkdir build && cd build\n\n    cmake -DCMAKE_TOOLCHAIN_FILE=\"$FFBUILD_CMAKE_TOOLCHAIN\" -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=\"$FFBUILD_PREFIX\" \\\n        -DVULKAN_HEADERS_ENABLE_MODULE=NO -DVULKAN_HEADERS_ENABLE_TESTS=NO -DVULKAN_HEADERS_ENABLE_INSTALL=YES ..\n    make -j$(nproc)\n    make install DESTDIR=\"$FFBUILD_DESTDIR\"\n}\n"
  },
  {
    "path": "scripts.d/47-vulkan/45-vulkan-loader.sh",
    "content": "#!/bin/bash\n\nSCRIPT_REPO=\"https://github.com/BtbN/Vulkan-Shim-Loader.git\"\nSCRIPT_COMMIT=\"65b3936528cd92eb4ea3de485d03f858a3850484\"\n\nSCRIPT_REPO2=\"https://github.com/KhronosGroup/Vulkan-Headers.git\"\nSCRIPT_COMMIT2=\"v1.4.346\"\nSCRIPT_TAGFILTER2=\"v?.*.*\"\n\nffbuild_enabled() {\n    (( $(ffbuild_ffver) > 404 )) || return -1\n    return 0\n}\n\nffbuild_dockerdl() {\n    default_dl .\n    echo \"git-mini-clone \\\"$SCRIPT_REPO2\\\" \\\"$SCRIPT_COMMIT2\\\" Vulkan-Headers\"\n}\n\nffbuild_dockerbuild() {\n    mkdir build && cd build\n\n    cmake -DCMAKE_TOOLCHAIN_FILE=\"$FFBUILD_CMAKE_TOOLCHAIN\" -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=\"$FFBUILD_PREFIX\" \\\n        -DVULKAN_SHIM_IMPERSONATE=ON ..\n    make -j$(nproc)\n    make install DESTDIR=\"$FFBUILD_DESTDIR\"\n}\n\nffbuild_configure() {\n    echo --enable-vulkan\n}\n\nffbuild_unconfigure() {\n    (( $(ffbuild_ffver) >= 404 )) || return 0\n    echo --disable-vulkan\n}\n"
  },
  {
    "path": "scripts.d/47-vulkan/50-shaderc.sh",
    "content": "#!/bin/bash\n\nSCRIPT_REPO=\"https://github.com/google/shaderc.git\"\nSCRIPT_COMMIT=\"42c364eb27982ecfc9e00e384df205730e65b90c\"\n\nffbuild_enabled() {\n    (( $(ffbuild_ffver) > 404 )) || return -1\n    return 0\n}\n\nffbuild_dockerdl() {\n    default_dl .\n    echo \"./utils/git-sync-deps || exit $?\"\n}\n\nffbuild_dockerbuild() {\n    mkdir build && cd build\n\n    cmake -GNinja -DCMAKE_TOOLCHAIN_FILE=\"$FFBUILD_CMAKE_TOOLCHAIN\" -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=\"$FFBUILD_PREFIX\" \\\n        -DSHADERC_SKIP_TESTS=ON -DSHADERC_SKIP_EXAMPLES=ON -DSHADERC_SKIP_COPYRIGHT_CHECK=ON \\\n        -DENABLE_EXCEPTIONS=ON -DENABLE_GLSLANG_BINARIES=OFF -DSPIRV_SKIP_EXECUTABLES=ON \\\n        -DSPIRV_TOOLS_BUILD_STATIC=ON -DBUILD_SHARED_LIBS=OFF ..\n    ninja -j$(nproc)\n\n    export DESTDIR=\"/tmp/staging$FFBUILD_DESTDIR\"\n    ninja install\n\n    if [[ $TARGET == win* ]]; then\n        rm -r \"${DESTDIR}${FFBUILD_PREFIX}\"/bin \"${DESTDIR}${FFBUILD_PREFIX}\"/lib/*.dll.a\n    elif [[ $TARGET == linux* ]]; then\n        rm -r \"${DESTDIR}${FFBUILD_PREFIX}\"/bin \"${DESTDIR}${FFBUILD_PREFIX}\"/lib/*.so*\n    else\n        echo \"Unknown target\"\n        return -1\n    fi\n\n    cp -al \"$DESTDIR\"/. \"$FFBUILD_DESTDIR\"\n    rm -rf \"$DESTDIR\"\n    unset DESTDIR\n\n    # for some reason, this does not get installed...\n    cp libshaderc_util/libshaderc_util.a \"$FFBUILD_DESTPREFIX\"/lib\n\n    echo \"Libs: -lstdc++\" >> \"$FFBUILD_DESTPREFIX\"/lib/pkgconfig/shaderc_combined.pc\n    echo \"Libs: -lstdc++\" >> \"$FFBUILD_DESTPREFIX\"/lib/pkgconfig/shaderc_static.pc\n\n    cp \"$FFBUILD_DESTPREFIX\"/lib/pkgconfig/{shaderc_combined,shaderc}.pc\n\n    mkdir ../native_build && cd ../native_build\n\n    unset CC CXX CFLAGS CXXFLAGS LD LDFLAGS AR RANLIB NM DLLTOOL PKG_CONFIG_LIBDIR\n    cmake -GNinja -DCMAKE_BUILD_TYPE=Release \\\n        -DSHADERC_SKIP_TESTS=ON -DSHADERC_SKIP_EXAMPLES=ON -DSHADERC_SKIP_COPYRIGHT_CHECK=ON \\\n        -DENABLE_EXCEPTIONS=ON -DSPIRV_TOOLS_BUILD_STATIC=ON -DBUILD_SHARED_LIBS=OFF ..\n    ninja -j$(nproc) glslc/glslc\n\n    cp glslc/glslc /opt/glslc\n}\n\nffbuild_configure() {\n    echo --enable-libshaderc\n}\n\nffbuild_unconfigure() {\n    (( $(ffbuild_ffver) > 404 )) || return 0\n    echo --disable-libshaderc\n}\n"
  },
  {
    "path": "scripts.d/47-vulkan/55-spirv-cross.sh",
    "content": "#!/bin/bash\n\nSCRIPT_REPO=\"https://github.com/KhronosGroup/SPIRV-Cross.git\"\nSCRIPT_COMMIT=\"4d4b79bd7b69b07fabdeb06f849334ba79ea7cee\"\n\nffbuild_enabled() {\n    (( $(ffbuild_ffver) > 404 )) || return -1\n    return 0\n}\n\nffbuild_dockerbuild() {\n    VER_MAJ=\"$(grep 'set(spirv-cross-abi-major' CMakeLists.txt | sed -re 's/.* ([0-9]+)\\)/\\1/')\"\n    VER_MIN=\"$(grep 'set(spirv-cross-abi-minor' CMakeLists.txt | sed -re 's/.* ([0-9]+)\\)/\\1/')\"\n    VER_PCH=\"$(grep 'set(spirv-cross-abi-patch' CMakeLists.txt | sed -re 's/.* ([0-9]+)\\)/\\1/')\"\n    VER_FULL=\"$VER_MAJ.$VER_MIN.$VER_PCH\"\n\n    mkdir build && cd build\n\n    cmake -DCMAKE_TOOLCHAIN_FILE=\"$FFBUILD_CMAKE_TOOLCHAIN\" -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=\"$FFBUILD_PREFIX\" \\\n        -DSPIRV_CROSS_SHARED=OFF -DSPIRV_CROSS_STATIC=ON -DSPIRV_CROSS_CLI=OFF -DSPIRV_CROSS_ENABLE_TESTS=OFF -DSPIRV_CROSS_FORCE_PIC=ON -DSPIRV_CROSS_ENABLE_CPP=OFF ..\n    make -j$(nproc)\n    make install DESTDIR=\"$FFBUILD_DESTDIR\"\n\n    cat >\"$FFBUILD_DESTPREFIX\"/lib/pkgconfig/spirv-cross-c-shared.pc <<EOF\nprefix=$FFBUILD_PREFIX\nexec_prefix=\\${prefix}\nlibdir=\\${prefix}/lib\nsharedlibdir=\\${prefix}/lib\nincludedir=\\${prefix}/include/spirv_cross\n\nName: spirv-cross-c-shared\nDescription: C API for SPIRV-Cross\nVersion: $VER_FULL\n\nRequires:\nLibs: -L\\${libdir} -L\\${sharedlibdir} -lspirv-cross-c -lspirv-cross-glsl -lspirv-cross-hlsl -lspirv-cross-reflect -lspirv-cross-msl -lspirv-cross-util -lspirv-cross-core -lstdc++\nCflags: -I\\${includedir}\nEOF\n}\n"
  },
  {
    "path": "scripts.d/47-vulkan/99-enable.sh",
    "content": "#!/bin/bash\n\nSCRIPT_SKIP=\"1\"\n\nffbuild_enabled() {\n    (( $(ffbuild_ffver) > 404 )) || return -1\n    return 0\n}\n\nffbuild_dockerlayer() {\n    to_df \"COPY --link --from=${SELFLAYER} \\$FFBUILD_DESTPREFIX/. \\$FFBUILD_PREFIX\"\n    to_df \"COPY --link --from=${SELFLAYER} /opt/glslc /usr/bin/glslc\"\n}\n\nffbuild_dockerfinal() {\n    to_df \"COPY --link --from=${PREVLAYER} \\$FFBUILD_PREFIX/. \\$FFBUILD_PREFIX\"\n    to_df \"COPY --link --from=${SELFLAYER} /opt/glslc /usr/bin/glslc\"\n}\n\nffbuild_dockerdl() {\n    true\n}\n\nffbuild_dockerbuild() {\n    return 0\n}\n"
  },
  {
    "path": "scripts.d/50-amf.sh",
    "content": "#!/bin/bash\n\nSCRIPT_REPO=\"https://github.com/GPUOpen-LibrariesAndSDKs/AMF.git\"\nSCRIPT_COMMIT=\"d0b3e6dd544a5f207bb6a12a1ecb98532491176a\"\n\nffbuild_enabled() {\n    return 0\n}\n\nffbuild_dockerdl() {\n    default_dl .\n    echo \"rm -rf .git Thirdparty\"\n}\n\nffbuild_dockerbuild() {\n    mkdir -p \"$FFBUILD_DESTPREFIX\"/include\n    mv amf/public/include \"$FFBUILD_DESTPREFIX\"/include/AMF\n}\n\nffbuild_configure() {\n    echo --enable-amf\n}\n\nffbuild_unconfigure() {\n    echo --disable-amf\n}\n"
  },
  {
    "path": "scripts.d/50-aom.sh",
    "content": "#!/bin/bash\n\nSCRIPT_REPO=\"https://aomedia.googlesource.com/aom\"\nSCRIPT_COMMIT=\"399a9541cdda09e6217498e6b0476bcd62fddb79\"\n\nffbuild_depends() {\n    echo base\n    echo vmaf\n}\n\nffbuild_enabled() {\n    [[ $TARGET == winarm64 ]] && return -1\n    return 0\n}\n\nffbuild_dockerstage() {\n    to_df \"RUN --mount=src=${SELF},dst=/stage.sh --mount=src=${SELFCACHE},dst=/cache.tar.xz --mount=src=patches/aom,dst=/patches run_stage /stage.sh\"\n}\n\nffbuild_dockerbuild() {\n    for patch in /patches/*.patch; do\n        echo \"Applying $patch\"\n        git am < \"$patch\"\n    done\n\n    mkdir cmbuild && cd cmbuild\n\n    # Workaround broken build system\n    export CFLAGS=\"$CFLAGS -pthread -I/opt/ffbuild/include/libvmaf\"\n\n    cmake -DCMAKE_TOOLCHAIN_FILE=\"$FFBUILD_CMAKE_TOOLCHAIN\" -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=\"$FFBUILD_PREFIX\" -DBUILD_SHARED_LIBS=OFF -DENABLE_EXAMPLES=NO -DENABLE_TESTS=NO -DENABLE_TOOLS=NO -DCONFIG_TUNE_VMAF=1 ..\n    make -j$(nproc)\n    make install DESTDIR=\"$FFBUILD_DESTDIR\"\n\n    echo \"Requires.private: libvmaf\" >> \"$FFBUILD_DESTPREFIX\"/lib/pkgconfig/aom.pc\n}\n\nffbuild_configure() {\n    echo --enable-libaom\n}\n\nffbuild_unconfigure() {\n    echo --disable-libaom\n}\n"
  },
  {
    "path": "scripts.d/50-aribb24/25-libpng.sh",
    "content": "#!/bin/bash\n\nSCRIPT_REPO=\"https://github.com/glennrp/libpng.git\"\nSCRIPT_COMMIT=\"28cb99fe65f09e79703ac2c3008649e14c7b0844\"\n\nffbuild_depends() {\n    echo base\n    echo zlib\n}\n\nffbuild_enabled() {\n    return 0\n}\n\nffbuild_dockerbuild() {\n    ./autogen.sh\n\n    local myconf=(\n        --prefix=\"$FFBUILD_PREFIX\"\n        --disable-shared\n        --enable-static\n        --with-pic\n    )\n\n    if [[ $TARGET == win* || $TARGET == linux* ]]; then\n        myconf+=(\n            --host=\"$FFBUILD_TOOLCHAIN\"\n        )\n    else\n        echo \"Unknown target\"\n        return -1\n    fi\n\n    export CPPFLAGS=\"$CPPFLAGS -I$FFBUILD_PREFIX/include\"\n\n    ./configure \"${myconf[@]}\"\n    make -j$(nproc)\n    make install DESTDIR=\"$FFBUILD_DESTDIR\"\n}\n"
  },
  {
    "path": "scripts.d/50-aribb24/50-libaribb24.sh",
    "content": "#!/bin/bash\n\nSCRIPT_REPO=\"https://github.com/nkoriyama/aribb24.git\"\nSCRIPT_COMMIT=\"5e9be272f96e00f15a2f3c5f8ba7e124862aec38\"\n\nffbuild_enabled() {\n    return 0\n}\n\nffbuild_dockerstage() {\n    to_df \"RUN --mount=src=${SELF},dst=/stage.sh --mount=src=${SELFCACHE},dst=/cache.tar.xz --mount=src=patches/aribb24,dst=/patches run_stage /stage.sh\"\n}\n\nffbuild_dockerbuild() {\n    for patch in /patches/*.patch; do\n        echo \"Applying $patch\"\n        git am < \"$patch\"\n    done\n\n    # Library switched to LGPL on master, but didn't bump version since.\n    # FFmpeg checks for >1.0.3 to allow LGPL builds.\n    sed -i 's/1.0.3/1.0.4/' configure.ac\n\n    autoreconf -i\n\n    local myconf=(\n        --prefix=\"$FFBUILD_PREFIX\"\n        --disable-shared\n        --enable-static\n        --with-pic\n    )\n\n    if [[ $TARGET == win* || $TARGET == linux* ]]; then\n        myconf+=(\n            --host=\"$FFBUILD_TOOLCHAIN\"\n        )\n    else\n        echo \"Unknown target\"\n        return -1\n    fi\n\n    ./configure \"${myconf[@]}\"\n    make -j$(nproc)\n    make install DESTDIR=\"$FFBUILD_DESTDIR\"\n}\n\nffbuild_configure() {\n    echo --enable-libaribb24\n}\n\nffbuild_unconfigure() {\n    echo --disable-libaribb24\n}\n"
  },
  {
    "path": "scripts.d/50-avisynth.sh",
    "content": "#!/bin/bash\n\nSCRIPT_REPO=\"https://github.com/AviSynth/AviSynthPlus.git\"\nSCRIPT_COMMIT=\"a371d0ac95186c89c0e29d62a26ebc4448a1cc9e\"\n\nffbuild_enabled() {\n    [[ $VARIANT == lgpl* ]] && return -1\n    return 0\n}\n\nffbuild_dockerbuild() {\n    # their version check is insistant on a tag to exist, so make one\n    git tag -a ffbuild -m \"FFbuild Version\"\n\n    mkdir build && cd build\n\n    cmake -DCMAKE_TOOLCHAIN_FILE=\"$FFBUILD_CMAKE_TOOLCHAIN\" -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=\"$FFBUILD_PREFIX\" -DHEADERS_ONLY=ON ..\n    make -j$(nproc)\n    make VersionGen install DESTDIR=\"$FFBUILD_DESTDIR\"\n}\n\nffbuild_configure() {\n    echo --enable-avisynth\n}\n\nffbuild_unconfigure() {\n    echo --disable-avisynth\n}\n"
  },
  {
    "path": "scripts.d/50-chromaprint.sh",
    "content": "#!/bin/bash\n\nSCRIPT_REPO=\"https://github.com/acoustid/chromaprint.git\"\nSCRIPT_COMMIT=\"6b13ce3a81ae931e7477c4856a86bece99157cd8\"\n\nffbuild_depends() {\n    echo base\n    echo fftw3\n}\n\nffbuild_enabled() {\n    (( $(ffbuild_ffver) >= 600 )) || return -1\n    return 0\n}\n\nffbuild_dockerbuild() {\n    mkdir build && cd build\n\n    cmake -DCMAKE_TOOLCHAIN_FILE=\"$FFBUILD_CMAKE_TOOLCHAIN\" -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=\"$FFBUILD_PREFIX\" -DBUILD_SHARED_LIBS=OFF -DBUILD_TOOLS=OFF -DBUILD_TESTS=OFF -DFFT_LIB=fftw3 ..\n    make -j$(nproc)\n    make install DESTDIR=\"$FFBUILD_DESTDIR\"\n\n    echo \"Libs.private: -lfftw3 -lstdc++\" >> \"$FFBUILD_DESTPREFIX\"/lib/pkgconfig/libchromaprint.pc\n    echo \"Cflags.private: -DCHROMAPRINT_NODLL\" >> \"$FFBUILD_DESTPREFIX\"/lib/pkgconfig/libchromaprint.pc\n}\n\nffbuild_configure() {\n    echo --enable-chromaprint\n}\n\nffbuild_unconfigure() {\n    echo --disable-chromaprint\n}\n"
  },
  {
    "path": "scripts.d/50-dav1d.sh",
    "content": "#!/bin/bash\n\nSCRIPT_REPO=\"https://code.videolan.org/videolan/dav1d.git\"\nSCRIPT_COMMIT=\"594d1601ff5a83b565a75cb96eff37db6de82ffa\"\n\nffbuild_enabled() {\n    (( $(ffbuild_ffver) >= 404 )) || return -1\n    return 0\n}\n\nffbuild_dockerbuild() {\n    mkdir build && cd build\n\n    local myconf=(\n        --prefix=\"$FFBUILD_PREFIX\"\n        --buildtype=release\n        --default-library=static\n    )\n\n    if [[ $TARGET == win* || $TARGET == linux* ]]; then\n        myconf+=(\n            --cross-file=/cross.meson\n        )\n    else\n        echo \"Unknown target\"\n        return -1\n    fi\n\n    meson \"${myconf[@]}\" ..\n    ninja -j$(nproc)\n    DESTDIR=\"$FFBUILD_DESTDIR\" ninja install\n}\n\nffbuild_configure() {\n    echo --enable-libdav1d\n}\n\nffbuild_unconfigure() {\n    (( $(ffbuild_ffver) >= 404 )) || return 0\n    echo --disable-libdav1d\n}\n"
  },
  {
    "path": "scripts.d/50-davs2.sh",
    "content": "#!/bin/bash\n\nSCRIPT_REPO=\"https://github.com/pkuvcl/davs2.git\"\nSCRIPT_COMMIT=\"b41cf117452e2d73d827f02d3e30aa20f1c721ac\"\n\nffbuild_enabled() {\n    [[ $VARIANT == lgpl* ]] && return -1\n    [[ $TARGET == win32 ]] && return -1\n    # davs2 aarch64 support is broken\n    [[ $TARGET == *arm64 ]] && return -1\n    return 0\n}\n\nffbuild_dockerdl() {\n    default_dl .\n    echo \"git fetch --unshallow\"\n}\n\nffbuild_dockerbuild() {\n    cd build/linux\n\n    local myconf=(\n        --disable-cli\n        --enable-pic\n        --prefix=\"$FFBUILD_PREFIX\"\n    )\n\n    if [[ $TARGET == win* || $TARGET == linux* ]]; then\n        myconf+=(\n            --host=\"$FFBUILD_TOOLCHAIN\"\n            --cross-prefix=\"$FFBUILD_CROSS_PREFIX\"\n        )\n    else\n        echo \"Unknown target\"\n        return -1\n    fi\n\n    # Work around configure endian check failing on modern gcc/binutils.\n    # Assumes all supported archs are little endian.\n    sed -i -e 's/EGIB/bss/g' -e 's/naidnePF/bss/g' configure\n\n    ./configure \"${myconf[@]}\"\n    make -j$(nproc)\n    make install DESTDIR=\"$FFBUILD_DESTDIR\"\n}\n\nffbuild_configure() {\n    echo --enable-libdavs2\n}\n\nffbuild_unconfigure() {\n    echo --disable-libdavs2\n}\n"
  },
  {
    "path": "scripts.d/50-dvd/30-libdvdcss.sh",
    "content": "#!/bin/bash\n\nSCRIPT_REPO=\"https://code.videolan.org/videolan/libdvdcss.git\"\nSCRIPT_COMMIT=\"2682a4a7ed782e700a5b920f6f85c4f9736921c3\"\n\nffbuild_enabled() {\n    [[ $VARIANT == lgpl* ]] && return -1\n    (( $(ffbuild_ffver) >= 700 )) || return -1\n    return 0\n}\n\nffbuild_dockerbuild() {\n    # stop the static library from exporting symbols when linked into a shared lib\n    sed -i 's/SUPPORT_ATTRIBUTE_VISIBILITY_DEFAULT/SUPPORT_ATTRIBUTE_VISIBILITY_DEFAULT_DISABLED/g' meson.build\n    sed -i 's/-DLIBDVDCSS_EXPORTS/-DLIBDVDCSS_EXPORTS_DISABLED/g' src/meson.build\n\n    mkdir build && cd build\n\n    local myconf=(\n        --prefix=\"$FFBUILD_PREFIX\"\n        -Ddefault_library=static\n        -Denable_docs=false\n        -Denable_examples=false\n    )\n\n    if [[ $TARGET == win* || $TARGET == linux* ]]; then\n        myconf+=(\n            --cross-file=/cross.meson\n        )\n    else\n        echo \"Unknown target\"\n        return -1\n    fi\n\n    export CFLAGS=\"$CFLAGS -Dprint_error=dvdcss_print_error -Dprint_debug=dvdcss_print_debug\"\n\n    meson setup \"${myconf[@]}\" ..\n    ninja -j$(nproc)\n    DESTDIR=\"$FFBUILD_DESTDIR\" ninja install\n}\n"
  },
  {
    "path": "scripts.d/50-dvd/40-libdvdread.sh",
    "content": "#!/bin/bash\n\nSCRIPT_REPO=\"https://code.videolan.org/videolan/libdvdread.git\"\nSCRIPT_COMMIT=\"a66aec4dd722dbfed0be3e26eb36270cea5d2df6\"\n\nffbuild_enabled() {\n    [[ $VARIANT == lgpl* ]] && return -1\n    (( $(ffbuild_ffver) >= 700 )) || return -1\n    return 0\n}\n\nffbuild_dockerbuild() {\n    # stop the static library from exporting symbols when linked into a shared lib\n    sed -i 's/-DDVDREAD_API_EXPORT/-DDVDREAD_API_EXPORT_DISABLED/g' src/meson.build\n\n    mkdir build && cd build\n\n    local myconf=(\n        --prefix=\"$FFBUILD_PREFIX\"\n        -Ddefault_library=static\n        -Denable_docs=false\n        -Dlibdvdcss=enabled\n    )\n\n    if [[ $TARGET == win* || $TARGET == linux* ]]; then\n        myconf+=(\n            --cross-file=/cross.meson\n        )\n    else\n        echo \"Unknown target\"\n        return -1\n    fi\n\n    meson setup \"${myconf[@]}\" ..\n    ninja -j$(nproc)\n    DESTDIR=\"$FFBUILD_DESTDIR\" ninja install\n}\n\nffbuild_configure() {\n    echo --enable-libdvdread\n}\n\nffbuild_unconfigure() {\n    (( $(ffbuild_ffver) >= 700 )) || return 0\n    echo --disable-libdvdread\n}\n"
  },
  {
    "path": "scripts.d/50-dvd/50-libdvdnav.sh",
    "content": "#!/bin/bash\n\nSCRIPT_REPO=\"https://code.videolan.org/videolan/libdvdnav.git\"\nSCRIPT_COMMIT=\"cf112772bf626f76a913efca5b883a381e4c123a\"\n\nffbuild_enabled() {\n    [[ $VARIANT == lgpl* ]] && return -1\n    (( $(ffbuild_ffver) >= 700 )) || return -1\n    return 0\n}\n\nffbuild_dockerbuild() {\n    # stop the static library from exporting symbols when linked into a shared lib\n    sed -i 's/SUPPORT_ATTRIBUTE_VISIBILITY_DEFAULT/SUPPORT_ATTRIBUTE_VISIBILITY_DEFAULT_DISABLED/g' meson.build\n    sed -i 's/-DLIBDVDCSS_EXPORTS/-DLIBDVDCSS_EXPORTS_DISABLED/g' src/meson.build\n\n    mkdir build && cd build\n\n    local myconf=(\n        --prefix=\"$FFBUILD_PREFIX\"\n        -Ddefault_library=static\n        -Denable_docs=false\n        -Denable_examples=false\n    )\n\n    if [[ $TARGET == win* || $TARGET == linux* ]]; then\n        myconf+=(\n            --cross-file=/cross.meson\n        )\n    else\n        echo \"Unknown target\"\n        return -1\n    fi\n\n    meson setup \"${myconf[@]}\" ..\n    ninja -j$(nproc)\n    DESTDIR=\"$FFBUILD_DESTDIR\" ninja install\n}\n\nffbuild_configure() {\n    echo --enable-libdvdnav\n}\n\nffbuild_unconfigure() {\n    (( $(ffbuild_ffver) >= 700 )) || return 0\n    echo --disable-libdvdnav\n}\n"
  },
  {
    "path": "scripts.d/50-fdk-aac.sh",
    "content": "#!/bin/bash\n\nSCRIPT_REPO=\"https://github.com/mstorsjo/fdk-aac.git\"\nSCRIPT_COMMIT=\"d8e6b1a3aa606c450241632b64b703f21ea31ce3\"\n\nffbuild_enabled() {\n    [[ $VARIANT == nonfree* ]] || return -1\n    return 0\n}\n\nffbuild_dockerbuild() {\n    ./autogen.sh\n\n    local myconf=(\n        --prefix=\"$FFBUILD_PREFIX\"\n        --disable-shared\n        --enable-static\n        --with-pic\n        --disable-example\n    )\n\n    if [[ $TARGET == win* || $TARGET == linux* ]]; then\n        myconf+=(\n            --host=\"$FFBUILD_TOOLCHAIN\"\n        )\n    else\n        echo \"Unknown target\"\n        return -1\n    fi\n\n    ./configure \"${myconf[@]}\"\n    make -j$(nproc)\n    make install DESTDIR=\"$FFBUILD_DESTDIR\"\n}\n\nffbuild_configure() {\n    echo --enable-libfdk-aac\n}\n\nffbuild_unconfigure() {\n    echo --disable-libfdk-aac\n}\n"
  },
  {
    "path": "scripts.d/50-ffnvcodec.sh",
    "content": "#!/bin/bash\n\nSCRIPT_REPO=\"https://github.com/FFmpeg/nv-codec-headers.git\"\nSCRIPT_COMMIT=\"33a9ede8d9914299d9262539c576a15bd0a19621\"\n\nSCRIPT_REPO2=\"https://github.com/FFmpeg/nv-codec-headers.git\"\nSCRIPT_COMMIT2=\"fe32761e7a8bc79fcf560f356bf3898271bf4d56\"\nSCRIPT_BRANCH2=\"sdk/12.0\"\n\nSCRIPT_REPO3=\"https://github.com/FFmpeg/nv-codec-headers.git\"\nSCRIPT_COMMIT3=\"bafcf66bf6f98eb76ed135a75e78913b989cbc89\"\nSCRIPT_BRANCH3=\"sdk/12.1\"\n\nSCRIPT_REPO4=\"https://github.com/FFmpeg/nv-codec-headers.git\"\nSCRIPT_COMMIT4=\"f8339c06648fb6642aac1261d76e4158dc0b5401\"\nSCRIPT_BRANCH4=\"sdk/12.2\"\n\nffbuild_enabled() {\n    [[ $TARGET == winarm64 ]] && return -1\n    (( $(ffbuild_ffver) >= 404 )) || return -1\n    return 0\n}\n\nffbuild_dockerdl() {\n    default_dl ffnvcodec\n    echo \"git-mini-clone \\\"$SCRIPT_REPO2\\\" \\\"$SCRIPT_COMMIT2\\\" ffnvcodec2\"\n    echo \"git-mini-clone \\\"$SCRIPT_REPO3\\\" \\\"$SCRIPT_COMMIT3\\\" ffnvcodec3\"\n    echo \"git-mini-clone \\\"$SCRIPT_REPO4\\\" \\\"$SCRIPT_COMMIT4\\\" ffnvcodec4\"\n}\n\nffbuild_dockerbuild() {\n    if (( $FFVER < 700 )); then\n        cd ffnvcodec2\n    elif (( $FFVER < 701 )); then\n        cd ffnvcodec3\n    elif (( $FFVER < 800 )); then\n        cd ffnvcodec4\n    else\n        cd ffnvcodec\n    fi\n\n    make PREFIX=\"$FFBUILD_PREFIX\" DESTDIR=\"$FFBUILD_DESTDIR\" install\n}\n\nffbuild_configure() {\n    echo --enable-ffnvcodec --enable-cuda-llvm\n}\n\nffbuild_unconfigure() {\n    echo --disable-ffnvcodec --disable-cuda-llvm\n}\n\nffbuild_cflags() {\n    return 0\n}\n\nffbuild_ldflags() {\n    return 0\n}\n"
  },
  {
    "path": "scripts.d/50-frei0r.sh",
    "content": "#!/bin/bash\n\nSCRIPT_REPO=\"https://github.com/dyne/frei0r.git\"\nSCRIPT_COMMIT=\"ccbac4e6c448355d5b8b235d73a5cb06776583a9\"\n\nffbuild_enabled() {\n    [[ $VARIANT == lgpl* ]] && return -1\n    (( $(ffbuild_ffver) >= 500 )) || return -1\n    return 0\n}\n\nffbuild_dockerfinal() {\n    to_df \"COPY --link --from=${PREVLAYER} \\$FFBUILD_PREFIX/. \\$FFBUILD_PREFIX\"\n    to_df \"ENV FREI0R_PATH=\\$FFBUILD_PREFIX/lib/frei0r-1\"\n}\n\nffbuild_dockerbuild() {\n    mkdir build && cd build\n\n    cmake -G Ninja -DCMAKE_TOOLCHAIN_FILE=\"$FFBUILD_CMAKE_TOOLCHAIN\" -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=\"$FFBUILD_PREFIX\" \\\n        -DWITHOUT_OPENCV=ON -DWITHOUT_FACERECOGNITION=ON -DWITHOUT_CAIRO=ON -DWITHOUT_GAVL=ON ..\n    ninja -j$(nproc)\n    DESTDIR=\"$FFBUILD_DESTDIR\" ninja install\n}\n\nffbuild_configure() {\n    echo --enable-frei0r\n}\n\nffbuild_unconfigure() {\n    (( $(ffbuild_ffver) >= 404 )) || return 0\n    echo --disable-frei0r\n}\n"
  },
  {
    "path": "scripts.d/50-gme.sh",
    "content": "#!/bin/bash\n\nSCRIPT_REPO=\"https://github.com/libgme/game-music-emu.git\"\nSCRIPT_COMMIT=\"265d8b90c9b46bd3b892443dee4da585a0384858\"\n\nffbuild_enabled() {\n    return 0\n}\n\nffbuild_dockerbuild() {\n    mkdir build && cd build\n\n    cmake -DCMAKE_TOOLCHAIN_FILE=\"$FFBUILD_CMAKE_TOOLCHAIN\" -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=\"$FFBUILD_PREFIX\" -DCMAKE_DISABLE_FIND_PACKAGE_SDL2=1 -DBUILD_SHARED_LIBS=OFF -DENABLE_UBSAN=OFF ..\n    make -j$(nproc)\n    make install DESTDIR=\"$FFBUILD_DESTDIR\"\n}\n\nffbuild_configure() {\n    echo --enable-libgme\n}\n\nffbuild_unconfigure() {\n    echo --disable-libgme\n}\n"
  },
  {
    "path": "scripts.d/50-kvazaar.sh",
    "content": "#!/bin/bash\n\nSCRIPT_REPO=\"https://github.com/ultravideo/kvazaar.git\"\nSCRIPT_COMMIT=\"c5bab996d340ffd78943a6456f981278bc7474d5\"\n\nffbuild_enabled() {\n    return 0\n}\n\nffbuild_dockerbuild() {\n    ./autogen.sh\n\n    local myconf=(\n        --prefix=\"$FFBUILD_PREFIX\"\n        --disable-shared\n        --enable-static\n        --with-pic\n    )\n\n    if [[ $TARGET == win* || $TARGET == linux* ]]; then\n        myconf+=(\n            --host=\"$FFBUILD_TOOLCHAIN\"\n        )\n    else\n        echo \"Unknown target\"\n        return -1\n    fi\n\n    ./configure \"${myconf[@]}\"\n    make -j$(nproc)\n    make install DESTDIR=\"$FFBUILD_DESTDIR\"\n\n    echo \"Cflags.private: -DKVZ_STATIC_LIB\" >> \"$FFBUILD_DESTPREFIX\"/lib/pkgconfig/kvazaar.pc\n    echo \"Libs.private: -lpthread\" >> \"$FFBUILD_DESTPREFIX\"/lib/pkgconfig/kvazaar.pc\n}\n\nffbuild_configure() {\n    echo --enable-libkvazaar\n}\n\nffbuild_unconfigure() {\n    echo --disable-libkvazaar\n}\n"
  },
  {
    "path": "scripts.d/50-lcevcdec.sh",
    "content": "#!/bin/bash\n\nSCRIPT_REPO=\"https://github.com/v-novaltd/LCEVCdec.git\"\nSCRIPT_COMMIT=\"655f029d0008f00da9c976567ea159437aa86a36\"\n\nffbuild_enabled() {\n    (( $(ffbuild_ffver) >= 800 )) || return -1\n    [[ $TARGET != winarm* ]] || return -1\n    return 0\n}\n\nffbuild_dockerbuild() {\n    mkdir build\n    cd build\n\n    cmake -G Ninja -DCMAKE_TOOLCHAIN_FILE=\"$FFBUILD_CMAKE_TOOLCHAIN\" -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=\"$FFBUILD_PREFIX\" \\\n        -DBUILD_SHARED_LIBS=NO -DVN_SDK_EXECUTABLES=OFF -DVN_SDK_SAMPLE_SOURCE=OFF -DVN_SDK_TRACING=OFF -DVN_SDK_METRICS=OFF -DVN_SDK_SYSTEM_INSTALL=ON \\\n        -DVN_SDK_PIPELINE_LEGACY=OFF -DVN_SDK_PIPELINE_VULKAN=OFF -DPC_LIBS_PRIVATE=\"Libs.private: -lstdc++\" ..\n    ninja -j$(nproc)\n    DESTDIR=\"$FFBUILD_DESTDIR\" ninja install\n\n    rm -rf rm \"$FFBUILD_DESTPREFIX\"/share\n}\n\nffbuild_configure() {\n    echo --enable-liblcevc-dec\n}\n\nffbuild_unconfigure() {\n    (( $(ffbuild_ffver) >= 701 )) || return 0\n    echo --disable-liblcevc-dec\n}\n"
  },
  {
    "path": "scripts.d/50-libaribcaption.sh",
    "content": "#!/bin/bash\n\nSCRIPT_REPO=\"https://github.com/xqq/libaribcaption.git\"\nSCRIPT_COMMIT=\"27cf3cab26084d636905335d92c375ecbc3633ea\"\n\nffbuild_depends() {\n    echo base\n    echo fonts\n    echo openssl\n}\n\nffbuild_enabled() {\n    (( $(ffbuild_ffver) > 600 )) || return -1\n    return 0\n}\n\nffbuild_dockerbuild() {\n    mkdir build\n    cd build\n\n    export CFLAGS=\"$CFLAGS -DHAVE_OPENSSL=1\"\n    export CXXFLAGS=\"$CXXFLAGS -DHAVE_OPENSSL=1\"\n\n    cmake -G Ninja -DCMAKE_BUILD_TYPE=Release -DCMAKE_TOOLCHAIN_FILE=\"$FFBUILD_CMAKE_TOOLCHAIN\" -DCMAKE_INSTALL_PREFIX=\"$FFBUILD_PREFIX\" \\\n        -DARIBCC_SHARED_LIBRARY=OFF -DARIBCC_BUILD_TESTS=OFF -DBUILD_SHARED_LIBS=OFF \\\n        -DARIBCC_USE_FREETYPE=ON -DARIBCC_USE_EMBEDDED_FREETYPE=OFF \\\n        ..\n\n    ninja -j$(nproc)\n    DESTDIR=\"$FFBUILD_DESTDIR\" ninja install\n\n    echo \"Libs.private: -lstdc++ -lcrypto\" >> \"$FFBUILD_DESTPREFIX\"/lib/pkgconfig/libaribcaption.pc\n}\n\nffbuild_configure() {\n    echo --enable-libaribcaption\n}\n\nffbuild_unconfigure() {\n    (( $(ffbuild_ffver) > 600 )) || return 0\n    echo --disable-libaribcaption\n}\n"
  },
  {
    "path": "scripts.d/50-libass.sh",
    "content": "#!/bin/bash\n\nSCRIPT_REPO=\"https://github.com/libass/libass.git\"\nSCRIPT_COMMIT=\"fadc390583f24eb5cf98f16925fd3adee50bca88\"\n\nffbuild_depends() {\n    echo base\n    echo fonts\n    echo fribidi\n    echo libiconv\n    echo libunibreak\n}\n\nffbuild_enabled() {\n    return 0\n}\n\nffbuild_dockerbuild() {\n    ./autogen.sh\n\n    local myconf=(\n        --prefix=\"$FFBUILD_PREFIX\"\n        --disable-shared\n        --enable-static\n        --with-pic\n        --enable-libunibreak\n    )\n\n    if [[ $TARGET == win* || $TARGET == linux* ]]; then\n        myconf+=(\n            --host=\"$FFBUILD_TOOLCHAIN\"\n        )\n    else\n        echo \"Unknown target\"\n        return -1\n    fi\n\n    export CFLAGS=\"$CFLAGS -Dread_file=libass_internal_read_file\"\n\n    ./configure \"${myconf[@]}\"\n    make -j$(nproc)\n    make install DESTDIR=\"$FFBUILD_DESTDIR\"\n}\n\nffbuild_configure() {\n    echo --enable-libass\n}\n\nffbuild_unconfigure() {\n    echo --disable-libass\n}\n"
  },
  {
    "path": "scripts.d/50-libbluray.sh",
    "content": "#!/bin/bash\n\nSCRIPT_REPO=\"https://code.videolan.org/videolan/libbluray.git\"\nSCRIPT_COMMIT=\"4dfb9b0123b006ce5d66592dc8058f61e5c0cdc8\"\n\nffbuild_depends() {\n    echo base\n    echo libxml2\n    echo fonts\n    echo libudfread\n}\n\nffbuild_enabled() {\n    return 0\n}\n\nffbuild_dockerbuild() {\n    # stop the static library from exporting symbols when linked into a shared lib\n    sed -i 's/-DBLURAY_API_EXPORT/-DBLURAY_API_EXPORT_DISABLED/g' src/meson.build\n\n    mkdir build && cd build\n\n    local myconf=(\n        --prefix=\"$FFBUILD_PREFIX\"\n        -Ddefault_library=static\n        -Denable_docs=false\n        -Denable_tools=false\n        -Denable_devtools=false\n        -Denable_examples=false\n        -Dbdj_jar=disabled\n        -Dfontconfig=enabled\n        -Dfreetype=enabled\n        -Dlibxml2=enabled\n    )\n\n    if [[ $TARGET == win* || $TARGET == linux* ]]; then\n        myconf+=(\n            --cross-file=/cross.meson\n        )\n    else\n        echo \"Unknown target\"\n        return -1\n    fi\n\n    export CPPFLAGS=\"${CPPFLAGS} -Ddec_init=libbr_dec_init\"\n\n    meson setup \"${myconf[@]}\" ..\n    ninja -j$(nproc)\n    DESTDIR=\"$FFBUILD_DESTDIR\" ninja install\n}\n\nffbuild_configure() {\n    echo --enable-libbluray\n}\n\nffbuild_unconfigure() {\n    echo --disable-libbluray\n}\n"
  },
  {
    "path": "scripts.d/50-libjxl/45-brotli.sh",
    "content": "#!/bin/bash\n\nSCRIPT_REPO=\"https://github.com/google/brotli.git\"\nSCRIPT_COMMIT=\"408457d9c5d2ae8a0b3a4889298bf0bab16089b1\"\n\nffbuild_enabled() {\n    return 0\n}\n\nffbuild_dockerbuild() {\n    mkdir build && cd build\n\n    cmake -G Ninja -DCMAKE_TOOLCHAIN_FILE=\"$FFBUILD_CMAKE_TOOLCHAIN\" -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=\"$FFBUILD_PREFIX\" \\\n        -DCMAKE_POSITION_INDEPENDENT_CODE=ON -DBUILD_SHARED_LIBS=OFF ..\n    ninja -j$(nproc)\n    DESTDIR=\"$FFBUILD_DESTDIR\" ninja install\n}\n"
  },
  {
    "path": "scripts.d/50-libjxl/45-lcms2.sh",
    "content": "#!/bin/bash\n\nSCRIPT_REPO=\"https://github.com/mm2/Little-CMS.git\"\nSCRIPT_COMMIT=\"e0641b1828d0a1af5ecb1b11fe22f24fceefd4bc\"\n\nffbuild_enabled() {\n    return 0\n}\n\nffbuild_dockerbuild() {\n    mkdir build && cd build\n\n    local myconf=(\n        --prefix=\"$FFBUILD_PREFIX\"\n        -Ddefault_library=static\n        -Dutils=false\n        -Dfastfloat=true\n        -Dthreaded=true\n    )\n\n    if [[ $TARGET == win* || $TARGET == linux* ]]; then\n        myconf+=(\n            --cross-file=/cross.meson\n        )\n    else\n        echo \"Unknown target\"\n        return -1\n    fi\n\n    export CFLAGS=\"$CFLAGS -fpermissive\"\n\n    meson setup \"${myconf[@]}\" ..\n    ninja -j$(nproc)\n    DESTDIR=\"$FFBUILD_DESTDIR\" ninja install\n}\n"
  },
  {
    "path": "scripts.d/50-libjxl/50-libjxl.sh",
    "content": "#!/bin/bash\n\nSCRIPT_REPO=\"https://github.com/libjxl/libjxl.git\"\nSCRIPT_COMMIT=\"58e60a059ea5700628585c4ed785e13480065b65\"\n\nffbuild_enabled() {\n    (( $(ffbuild_ffver) > 600 )) || return -1\n    return 0\n}\n\nffbuild_dockerdl() {\n    default_dl .\n    echo \"git submodule update --init --recursive --depth 1 --recommend-shallow third_party/highway\"\n}\n\nffbuild_dockerbuild() {\n    mkdir build && cd build\n\n    if [[ $TARGET == linux* ]]; then\n        # our glibc is too old(<2.25), and their detection fails for some reason\n        export CXXFLAGS=\"$CXXFLAGS -DVQSORT_GETRANDOM=0 -DVQSORT_SECURE_SEED=0\"\n    elif [[ $TARGET == win32 || $TARGET == win64 ]]; then\n        # Fix AVX2 related crash due to unaligned stack memory\n        export CXXFLAGS=\"$CXXFLAGS -Wa,-muse-unaligned-vector-move\"\n        export CFLAGS=\"$CFLAGS -Wa,-muse-unaligned-vector-move\"\n    fi\n\n    cmake -G Ninja -DCMAKE_TOOLCHAIN_FILE=\"$FFBUILD_CMAKE_TOOLCHAIN\" -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=\"$FFBUILD_PREFIX\" -DCMAKE_POSITION_INDEPENDENT_CODE=ON \\\n        -DJPEGXL_ENABLE_SKCMS=OFF -DJPEGXL_FORCE_SYSTEM_LCMS2=ON \\\n        -DBUILD_SHARED_LIBS=OFF -DJPEGXL_STATIC=OFF -DBUILD_SHARED_LIBS=OFF -DJPEGXL_ENABLE_TOOLS=OFF -DJPEGXL_ENABLE_VIEWERS=OFF -DJPEGXL_EMSCRIPTEN=OFF -DJPEGXL_ENABLE_DOXYGEN=OFF \\\n        -DJPEGXL_ENABLE_JPEGLI=OFF -DBUILD_TESTING=OFF -DJPEGXL_ENABLE_EXAMPLES=OFF -DJPEGXL_ENABLE_MANPAGES=OFF -DJPEGXL_ENABLE_JNI=OFF -DJPEGXL_ENABLE_PLUGINS=OFF \\\n        -DJPEGXL_ENABLE_DEVTOOLS=OFF -DJPEGXL_ENABLE_BENCHMARK=OFF -DJPEGXL_BUNDLE_LIBPNG=OFF -DJPEGXL_ENABLE_SJPEG=OFF -DJPEGXL_FORCE_SYSTEM_BROTLI=ON ..\n    ninja -j$(nproc)\n    DESTDIR=\"$FFBUILD_DESTDIR\" ninja install\n\n    if [[ $TARGET == win* ]]; then\n        echo \"Libs.private: -lstdc++ -ladvapi32\" >> \"${FFBUILD_DESTPREFIX}\"/lib/pkgconfig/libjxl.pc\n        echo \"Libs.private: -lstdc++ -ladvapi32\" >> \"${FFBUILD_DESTPREFIX}\"/lib/pkgconfig/libjxl_threads.pc\n    else\n        echo \"Libs.private: -lstdc++\" >> \"${FFBUILD_DESTPREFIX}\"/lib/pkgconfig/libjxl.pc\n        echo \"Libs.private: -lstdc++\" >> \"${FFBUILD_DESTPREFIX}\"/lib/pkgconfig/libjxl_threads.pc\n    fi\n\n    echo \"Requires.private: lcms2\" >> \"${FFBUILD_DESTPREFIX}\"/lib/pkgconfig/libjxl_cms.pc\n}\n\nffbuild_configure() {\n    echo --enable-libjxl\n}\n\nffbuild_unconfigure() {\n    (( $(ffbuild_ffver) > 500 )) || return 0\n    echo --disable-libjxl\n}\n"
  },
  {
    "path": "scripts.d/50-libmp3lame.sh",
    "content": "#!/bin/bash\n\nSCRIPT_REPO=\"https://svn.code.sf.net/p/lame/svn/trunk/lame\"\nSCRIPT_REV=\"6531\"\n\nffbuild_depends() {\n    echo base\n    echo libiconv\n}\n\nffbuild_enabled() {\n    return 0\n}\n\nffbuild_dockerdl() {\n    echo \"retry-tool sh -c \\\"rm -rf lame && svn checkout '${SCRIPT_REPO}@${SCRIPT_REV}' lame\\\" && cd lame\"\n}\n\nffbuild_dockerbuild() {\n    autoreconf -i\n\n    local myconf=(\n        --prefix=\"$FFBUILD_PREFIX\"\n        --disable-shared\n        --enable-static\n        --enable-nasm\n        --disable-gtktest\n        --disable-cpml\n        --disable-frontend\n        --disable-decoder\n    )\n\n    if [[ $TARGET == win* || $TARGET == linux* ]]; then\n        myconf+=(\n            --host=\"$FFBUILD_TOOLCHAIN\"\n        )\n    else\n        echo \"Unknown target\"\n        return -1\n    fi\n\n    export CFLAGS=\"$CFLAGS -DNDEBUG -Wno-error=incompatible-pointer-types\"\n\n    ./configure \"${myconf[@]}\"\n    make -j$(nproc)\n    make install DESTDIR=\"$FFBUILD_DESTDIR\"\n}\n\nffbuild_configure() {\n    echo --enable-libmp3lame\n}\n\nffbuild_unconfigure() {\n    echo --disable-libmp3lame\n}\n"
  },
  {
    "path": "scripts.d/50-libopus.sh",
    "content": "#!/bin/bash\n\nSCRIPT_REPO=\"https://github.com/xiph/opus.git\"\nSCRIPT_COMMIT=\"2d862ea14b233e5a3f3afaf74d96050691af3cd5\"\n\nffbuild_enabled() {\n    return 0\n}\n\nffbuild_dockerdl() {\n    default_dl .\n\n    # This is where they decided to put downloads for external dependencies, so it needs to run here\n    echo \"./autogen.sh\"\n}\n\nffbuild_dockerbuild() {\n    # re-run autoreconf explicitly because tools versions might have changed since it generared the dl cache\n    autoreconf -isf\n\n    local myconf=(\n        --prefix=\"$FFBUILD_PREFIX\"\n        --host=\"$FFBUILD_TOOLCHAIN\"\n        --disable-shared\n        --enable-static\n        --disable-extra-programs\n    )\n\n    if [[ $TARGET == winarm* ]]; then\n        myconf+=(\n            --disable-rtcd\n        )\n    fi\n\n    ./configure \"${myconf[@]}\"\n    make -j$(nproc)\n    make install DESTDIR=\"$FFBUILD_DESTDIR\"\n}\n\nffbuild_configure() {\n    echo --enable-libopus\n}\n\nffbuild_unconfigure() {\n    echo --disable-libopus\n}\n"
  },
  {
    "path": "scripts.d/50-libplacebo.sh",
    "content": "#!/bin/bash\n\nSCRIPT_REPO=\"https://code.videolan.org/videolan/libplacebo.git\"\nSCRIPT_COMMIT=\"33b5dfada6a84692912e4d41f673f895df79479e\"\n\nffbuild_depends() {\n    echo base\n    echo vulkan\n}\n\nffbuild_enabled() {\n    (( $(ffbuild_ffver) > 600 )) || return -1\n    return 0\n}\n\nffbuild_dockerdl() {\n    default_dl .\n    echo \"git submodule update --init --recursive --depth=1 --filter=blob:none\"\n}\n\nffbuild_dockerbuild() {\n    sed -i 's/DPL_EXPORT/DPL_STATIC/' src/meson.build\n\n    mkdir build && cd build\n\n    local myconf=(\n        --prefix=\"$FFBUILD_PREFIX\"\n        --buildtype=release\n        --default-library=static\n        -Dvulkan=enabled\n        -Dvk-proc-addr=enabled\n        -Dvulkan-registry=\"$FFBUILD_PREFIX\"/share/vulkan/registry/vk.xml\n        -Dshaderc=enabled\n        -Dglslang=disabled\n        -Ddemos=false\n        -Dtests=false\n        -Dbench=false\n        -Dfuzz=false\n    )\n\n    if [[ $TARGET == win* ]]; then\n        myconf+=(\n            -Dd3d11=enabled\n        )\n    fi\n\n    if [[ $TARGET == win* || $TARGET == linux* ]]; then\n        myconf+=(\n            --cross-file=/cross.meson\n        )\n    else\n        echo \"Unknown target\"\n        return -1\n    fi\n\n    meson \"${myconf[@]}\" ..\n    ninja -j$(nproc)\n    DESTDIR=\"$FFBUILD_DESTDIR\" ninja install\n\n    echo \"Libs.private: -lstdc++\" >> \"$FFBUILD_DESTPREFIX\"/lib/pkgconfig/libplacebo.pc\n}\n\nffbuild_configure() {\n    echo --enable-libplacebo\n}\n\nffbuild_unconfigure() {\n    (( $(ffbuild_ffver) >= 500 )) || return 0\n    echo --disable-libplacebo\n}\n"
  },
  {
    "path": "scripts.d/50-librist/40-mbedtls.sh",
    "content": "#!/bin/bash\n\nSCRIPT_REPO=\"https://github.com/ARMmbed/mbedtls.git\"\nSCRIPT_COMMIT=\"v3.6.5\"\nSCRIPT_TAGFILTER=\"v3.*\"\n\nffbuild_enabled() {\n    return 0\n}\n\nffbuild_dockerdl() {\n    default_dl .\n    echo \"git submodule update --init --recursive --depth=1\"\n}\n\nffbuild_dockerbuild() {\n    if [[ $TARGET == win32 ]]; then\n        python3 scripts/config.py unset MBEDTLS_AESNI_C\n    fi\n\n    mkdir build && cd build\n\n    # Let's hope this is just a false-positive\n    export CFLAGS=\"$CFLAGS -Wno-error=array-bounds\"\n    if [[ $CC != *clang* ]]; then\n        export CFLAGS=\"$CFLAGS -Wno-error=unterminated-string-initialization\"\n    fi\n\n    cmake -DCMAKE_TOOLCHAIN_FILE=\"$FFBUILD_CMAKE_TOOLCHAIN\" -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=\"$FFBUILD_PREFIX\" \\\n        -DENABLE_PROGRAMS=OFF -DENABLE_TESTING=OFF -DGEN_FILES=ON \\\n        -DUSE_STATIC_MBEDTLS_LIBRARY=ON -DUSE_SHARED_MBEDTLS_LIBRARY=OFF -DINSTALL_MBEDTLS_HEADERS=ON \\\n        ..\n    make -j$(nproc)\n    make install DESTDIR=\"$FFBUILD_DESTDIR\"\n\n    if [[ $TARGET == win* ]]; then\n        echo \"Libs.private: -lws2_32 -lbcrypt -lwinmm -lgdi32\" >> \"$FFBUILD_DESTPREFIX\"/lib/pkgconfig/mbedcrypto.pc\n    fi\n}\n"
  },
  {
    "path": "scripts.d/50-librist/50-librist.sh",
    "content": "#!/bin/bash\n\nSCRIPT_REPO=\"https://code.videolan.org/rist/librist.git\"\nSCRIPT_COMMIT=\"6cb9b99f55076dffb84fe4a31c773aeb2d7e52ca\"\n\nffbuild_enabled() {\n    (( $(ffbuild_ffver) >= 404 )) || return -1\n    return 0\n}\n\nffbuild_dockerbuild() {\n    mkdir build && cd build\n\n    local myconf=(\n        --prefix=\"$FFBUILD_PREFIX\"\n        --buildtype=release\n        --default-library=static\n        -Duse_mbedtls=true\n        -Dbuiltin_mbedtls=false\n        -Dbuilt_tools=false\n        -Dtest=false\n    )\n\n    if [[ $TARGET == win* ]]; then\n        myconf+=(\n            -Dhave_mingw_pthreads=true\n        )\n    fi\n\n    if [[ $TARGET == win* || $TARGET == linux* ]]; then\n        myconf+=(\n            --cross-file=/cross.meson\n        )\n    else\n        echo \"Unknown target\"\n        return -1\n    fi\n\n    meson \"${myconf[@]}\" ..\n    ninja -j\"$(nproc)\"\n    DESTDIR=\"$FFBUILD_DESTDIR\" ninja install\n\n    echo \"Requires: mbedcrypto\" >> \"$FFBUILD_DESTPREFIX\"/lib/pkgconfig/librist.pc\n}\n\nffbuild_configure() {\n    echo --enable-librist\n}\n\nffbuild_unconfigure() {\n    (( $(ffbuild_ffver) >= 404 )) || return 0\n    echo --disable-librist\n}\n"
  },
  {
    "path": "scripts.d/50-libssh.sh",
    "content": "#!/bin/bash\n\nSCRIPT_REPO=\"https://gitlab.com/libssh/libssh-mirror.git\"\nSCRIPT_COMMIT=\"3154a4ab8d3277d1cabe028cd3c0841e945f6863\"\n\nffbuild_depends() {\n    echo base\n    echo zlib\n    echo openssl\n}\n\nffbuild_enabled() {\n    return 0\n}\n\nffbuild_dockerbuild() {\n    mkdir build && cd build\n\n    export CFLAGS=\"$CFLAGS -Dmd5=libssh_md5\"\n\n    cmake -GNinja -DCMAKE_TOOLCHAIN_FILE=\"$FFBUILD_CMAKE_TOOLCHAIN\" -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=\"$FFBUILD_PREFIX\" \\\n        -DBUILD_SHARED_LIBS=OFF -DWITH_EXAMPLES=OFF -DWITH_SERVER=OFF -DWITH_SFTP=ON -DWITH_ZLIB=ON \\\n        ..\n\n    ninja -j$(nproc)\n    DESTDIR=\"$FFBUILD_DESTDIR\" ninja install\n\n    {\n        echo \"Requires.private: libssl libcrypto zlib\"\n        echo \"Cflags.private: -DLIBSSH_STATIC\"\n        if [[ $TARGET == win* ]]; then\n            echo \"Libs.private: -liphlpapi -lws2_32\"\n        fi\n        echo \"Libs.private: -lpthread\"\n    } >> \"$FFBUILD_DESTPREFIX\"/lib/pkgconfig/libssh.pc\n}\n\nffbuild_configure() {\n    echo --enable-libssh\n}\n\nffbuild_unconfigure() {\n    echo --disable-libssh\n}\n"
  },
  {
    "path": "scripts.d/50-libtheora.sh",
    "content": "#!/bin/bash\n\nSCRIPT_REPO=\"https://github.com/xiph/theora.git\"\nSCRIPT_COMMIT=\"edfba372beb02ff70a1e2797d8cf561c242d0e0b\"\n\nffbuild_depends() {\n    echo base\n    echo libogg\n}\n\nffbuild_enabled() {\n    return 0\n}\n\nffbuild_dockerbuild() {\n    ./autogen.sh\n\n    local myconf=(\n        --prefix=\"$FFBUILD_PREFIX\"\n        --disable-shared\n        --enable-static\n        --with-pic\n        --disable-examples\n        --disable-oggtest\n        --disable-vorbistest\n        --disable-spec\n        --disable-doc\n    )\n\n    if [[ $TARGET == win* || $TARGET == linux* ]]; then\n        myconf+=(\n            --host=\"$FFBUILD_TOOLCHAIN\"\n        )\n    else\n        echo \"Unknown target\"\n        return -1\n    fi\n\n    if [[ $TARGET == win64 ]]; then\n        myconf+=(\n            --disable-asm\n        )\n    fi\n\n    ./configure \"${myconf[@]}\"\n    make -j$(nproc)\n    make install DESTDIR=\"$FFBUILD_DESTDIR\"\n}\n\nffbuild_configure() {\n    echo --enable-libtheora\n}\n\nffbuild_unconfigure() {\n    echo --disable-libtheora\n}\n"
  },
  {
    "path": "scripts.d/50-libvpx.sh",
    "content": "#!/bin/bash\n\nSCRIPT_REPO=\"https://chromium.googlesource.com/webm/libvpx\"\nSCRIPT_COMMIT=\"42d580255a7b842c66f655f035ff3038c0c71d14\"\n\nffbuild_enabled() {\n    [[ $TARGET == winarm64 ]] && return -1\n    return 0\n}\n\nffbuild_dockerbuild() {\n    local myconf=(\n        --disable-shared\n        --enable-static\n        --enable-pic\n        --disable-examples\n        --disable-tools\n        --disable-docs\n        --disable-unit-tests\n        --enable-vp9-highbitdepth\n        --prefix=\"$FFBUILD_PREFIX\"\n    )\n\n    if [[ $TARGET == win64 ]]; then\n        myconf+=(\n            --target=x86_64-win64-gcc\n        )\n        export CROSS=\"$FFBUILD_CROSS_PREFIX\"\n    elif [[ $TARGET == win32 ]]; then\n        myconf+=(\n            --target=x86-win32-gcc\n        )\n        export CROSS=\"$FFBUILD_CROSS_PREFIX\"\n    elif [[ $TARGET == winarm64 ]]; then\n        myconf+=(\n            --target=arm64-win64-gcc\n        )\n        export CROSS=\"$FFBUILD_CROSS_PREFIX\"\n    elif [[ $TARGET == linux64 ]]; then\n        myconf+=(\n            --target=x86_64-linux-gcc\n        )\n        export CROSS=\"$FFBUILD_CROSS_PREFIX\"\n    elif [[ $TARGET == linuxarm64 ]]; then\n        myconf+=(\n            --target=arm64-linux-gcc\n        )\n        export CROSS=\"$FFBUILD_CROSS_PREFIX\"\n    else\n        echo \"Unknown target\"\n        return -1\n    fi\n\n    ./configure \"${myconf[@]}\"\n    make -j$(nproc)\n    make install DESTDIR=\"$FFBUILD_DESTDIR\"\n\n    # Work around strip breaking LTO symbol index\n    \"$RANLIB\" \"$FFBUILD_DESTPREFIX\"/lib/libvpx.a\n}\n\nffbuild_configure() {\n    echo --enable-libvpx\n}\n\nffbuild_unconfigure() {\n    echo --disable-libvpx\n}\n"
  },
  {
    "path": "scripts.d/50-libwebp.sh",
    "content": "#!/bin/bash\n\nSCRIPT_REPO=\"https://chromium.googlesource.com/webm/libwebp\"\nSCRIPT_COMMIT=\"d25c11493a69cb81452db4f0d4d762a9a2da685e\"\n\nffbuild_enabled() {\n    return 0\n}\n\nffbuild_dockerbuild() {\n    ./autogen.sh\n\n    local myconf=(\n        --prefix=\"$FFBUILD_PREFIX\"\n        --disable-shared\n        --enable-static\n        --with-pic\n        --enable-libwebpmux\n        --disable-libwebpextras\n        --disable-libwebpdemux\n        --disable-sdl\n        --disable-gl\n        --disable-png\n        --disable-jpeg\n        --disable-tiff\n        --disable-gif\n    )\n\n    if [[ $TARGET == win* || $TARGET == linux* ]]; then\n        myconf+=(\n            --host=\"$FFBUILD_TOOLCHAIN\"\n        )\n    else\n        echo \"Unknown target\"\n        return -1\n    fi\n\n    ./configure \"${myconf[@]}\"\n    make -j$(nproc)\n    make install DESTDIR=\"$FFBUILD_DESTDIR\"\n}\n\nffbuild_configure() {\n    echo --enable-libwebp\n}\n\nffbuild_unconfigure() {\n    echo --disable-libwebp\n}\n"
  },
  {
    "path": "scripts.d/50-libzmq.sh",
    "content": "#!/bin/bash\n\nSCRIPT_REPO=\"https://github.com/zeromq/libzmq.git\"\nSCRIPT_COMMIT=\"66f512b432e3862bf691cd0a196a1fa80a31c230\"\n\nffbuild_enabled() {\n    return 0\n}\n\nffbuild_dockerbuild() {\n    mkdir build && cd build\n\n    local myconf=(\n        -DCMAKE_TOOLCHAIN_FILE=\"$FFBUILD_CMAKE_TOOLCHAIN\"\n        -DCMAKE_BUILD_TYPE=Release\n        -DCMAKE_INSTALL_PREFIX=\"$FFBUILD_PREFIX\"\n        -DBUILD_SHARED=OFF\n        -DBUILD_STATIC=ON\n        -DBUILD_TESTS=OFF\n        -DENABLE_INTRINSICS=ON\n        -DENABLE_DRAFTS=OFF\n        -DWITH_TLS=OFF\n        -DWITH_DOCS=OFF\n        -DENABLE_CPACK=OFF\n        -DENABLE_NO_EXPORT=ON\n    )\n\n    if [[ $TARGET == win* ]]; then\n        myconf+=( -DPOLLER=\"epoll\" )\n    fi\n\n    cmake \"${myconf[@]}\" ..\n    make -j$(nproc)\n    make install DESTDIR=\"$FFBUILD_DESTDIR\"\n\n    {\n        echo \"Cflags.private: -DZMQ_NO_EXPORT -DZMQ_STATIC\"\n        [[ $TARGET != win* ]] || echo \"Libs.private: -lws2_32 -liphlpapi\"\n    } >> \"$FFBUILD_DESTPREFIX\"/lib/pkgconfig/libzmq.pc\n}\n\nffbuild_configure() {\n    echo --enable-libzmq\n}\n\nffbuild_unconfigure() {\n    echo --disable-libzmq\n}\n"
  },
  {
    "path": "scripts.d/50-lilv/96-lv2.sh",
    "content": "#!/bin/bash\n\nSCRIPT_REPO=\"https://github.com/lv2/lv2.git\"\nSCRIPT_COMMIT=\"c19da82eb31164004e92648c40a52ec7dc428130\"\n\nffbuild_enabled() {\n    return 0\n}\n\nffbuild_dockerbuild() {\n    mkdir build && cd build\n\n    local myconf=(\n        --prefix=\"$FFBUILD_PREFIX\"\n        --buildtype=release\n        --default-library=static\n        -Ddocs=disabled\n        -Dtests=disabled\n        -Donline_docs=false\n    )\n\n    if [[ $TARGET == win* || $TARGET == linux* ]]; then\n        myconf+=(\n            --cross-file=/cross.meson\n        )\n    else\n        echo \"Unknown target\"\n        return -1\n    fi\n\n    meson \"${myconf[@]}\" ..\n    ninja -j\"$(nproc)\"\n    DESTDIR=\"$FFBUILD_DESTDIR\" ninja install\n}\n"
  },
  {
    "path": "scripts.d/50-lilv/96-serd.sh",
    "content": "#!/bin/bash\n\nSCRIPT_REPO=\"https://github.com/drobilla/serd.git\"\nSCRIPT_COMMIT=\"24474530f8acef5c6cdcefa00b0049367e5d3079\"\n\nffbuild_enabled() {\n    return 0\n}\n\nffbuild_dockerbuild() {\n    mkdir build && cd build\n\n    local myconf=(\n        --prefix=\"$FFBUILD_PREFIX\"\n        --buildtype=release\n        --default-library=static\n        -Ddocs=disabled\n        -Dtools=disabled\n        -Dtests=disabled\n    )\n\n    if [[ $TARGET == win* || $TARGET == linux* ]]; then\n        myconf+=(\n            --cross-file=/cross.meson\n        )\n    else\n        echo \"Unknown target\"\n        return -1\n    fi\n\n    meson \"${myconf[@]}\" ..\n    ninja -j\"$(nproc)\"\n    DESTDIR=\"$FFBUILD_DESTDIR\" ninja install\n}\n"
  },
  {
    "path": "scripts.d/50-lilv/96-zix.sh",
    "content": "#!/bin/bash\n\nSCRIPT_REPO=\"https://github.com/drobilla/zix.git\"\nSCRIPT_COMMIT=\"12e39bee28be568a38b83863f43e7250fa0fd3f6\"\n\nffbuild_enabled() {\n    return 0\n}\n\nffbuild_dockerbuild() {\n    mkdir build && cd build\n\n    local myconf=(\n        --prefix=\"$FFBUILD_PREFIX\"\n        --buildtype=release\n        --default-library=static\n        -Ddocs=disabled\n        -Dbenchmarks=disabled\n        -Dtests=disabled\n        -Dtests_cpp=disabled\n    )\n\n    if [[ $TARGET == win* || $TARGET == linux* ]]; then\n        myconf+=(\n            --cross-file=/cross.meson\n        )\n    else\n        echo \"Unknown target\"\n        return -1\n    fi\n\n    meson \"${myconf[@]}\" ..\n    ninja -j\"$(nproc)\"\n    DESTDIR=\"$FFBUILD_DESTDIR\" ninja install\n}\n"
  },
  {
    "path": "scripts.d/50-lilv/97-sord.sh",
    "content": "#!/bin/bash\n\nSCRIPT_REPO=\"https://github.com/drobilla/sord.git\"\nSCRIPT_COMMIT=\"5ab719fdae9b6db1204974f749dc64e62d2029af\"\n\nffbuild_enabled() {\n    return 0\n}\n\nffbuild_dockerbuild() {\n    mkdir build && cd build\n\n    local myconf=(\n        --prefix=\"$FFBUILD_PREFIX\"\n        --buildtype=release\n        --default-library=static\n        -Ddocs=disabled\n        -Dtools=disabled\n        -Dtests=disabled\n    )\n\n    if [[ $TARGET == win* || $TARGET == linux* ]]; then\n        myconf+=(\n            --cross-file=/cross.meson\n        )\n    else\n        echo \"Unknown target\"\n        return -1\n    fi\n\n    meson \"${myconf[@]}\" ..\n    ninja -j\"$(nproc)\"\n    DESTDIR=\"$FFBUILD_DESTDIR\" ninja install\n}\n"
  },
  {
    "path": "scripts.d/50-lilv/98-sratom.sh",
    "content": "#!/bin/bash\n\nSCRIPT_REPO=\"https://github.com/lv2/sratom.git\"\nSCRIPT_COMMIT=\"68bd465f0de009d58ae39e89eb029c728e74751f\"\n\nffbuild_enabled() {\n    return 0\n}\n\nffbuild_dockerbuild() {\n    mkdir build && cd build\n\n    local myconf=(\n        --prefix=\"$FFBUILD_PREFIX\"\n        --buildtype=release\n        --default-library=static\n        -Ddocs=disabled\n        -Dtests=disabled\n    )\n\n    if [[ $TARGET == win* || $TARGET == linux* ]]; then\n        myconf+=(\n            --cross-file=/cross.meson\n        )\n    else\n        echo \"Unknown target\"\n        return -1\n    fi\n\n    meson \"${myconf[@]}\" ..\n    ninja -j\"$(nproc)\"\n    DESTDIR=\"$FFBUILD_DESTDIR\" ninja install\n}\n"
  },
  {
    "path": "scripts.d/50-lilv/99-lilv.sh",
    "content": "#!/bin/bash\n\nSCRIPT_REPO=\"https://github.com/lv2/lilv.git\"\nSCRIPT_COMMIT=\"2fd992e28d1032287b656a97566bedb1caed0000\"\n\nffbuild_enabled() {\n    return 0\n}\n\nffbuild_dockerbuild() {\n    mkdir build && cd build\n\n    local myconf=(\n        --prefix=\"$FFBUILD_PREFIX\"\n        --buildtype=release\n        --default-library=static\n        -Ddocs=disabled\n        -Dtools=disabled\n        -Dtests=disabled\n        -Dbindings_py=disabled\n    )\n\n    if [[ $TARGET == win* || $TARGET == linux* ]]; then\n        myconf+=(\n            --cross-file=/cross.meson\n        )\n    else\n        echo \"Unknown target\"\n        return -1\n    fi\n\n    meson \"${myconf[@]}\" ..\n    ninja -j\"$(nproc)\"\n    DESTDIR=\"$FFBUILD_DESTDIR\" ninja install\n}\n\nffbuild_configure() {\n    echo --enable-lv2\n}\n\nffbuild_unconfigure() {\n    echo --disable-lv2\n}\n"
  },
  {
    "path": "scripts.d/50-onevpl.sh",
    "content": "#!/bin/bash\n\nSCRIPT_REPO=\"https://github.com/intel/libvpl.git\"\nSCRIPT_COMMIT=\"778a66d6c6537f08eabb91955dbbf1bce3812894\"\n\nffbuild_enabled() {\n    [[ $TARGET == *arm64 ]] && return -1\n    (( $(ffbuild_ffver) >= 600 )) || return -1\n    return 0\n}\n\nffbuild_dockerbuild() {\n    mkdir build && cd build\n\n    cmake -GNinja -DCMAKE_TOOLCHAIN_FILE=\"$FFBUILD_CMAKE_TOOLCHAIN\" -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=\"$FFBUILD_PREFIX\" \\\n        -DCMAKE_INSTALL_BINDIR=\"$FFBUILD_PREFIX\"/bin -DCMAKE_INSTALL_LIBDIR=\"$FFBUILD_PREFIX\"/lib \\\n        -DBUILD_DISPATCHER=ON -DBUILD_DEV=ON \\\n        -DBUILD_PREVIEW=OFF -DBUILD_TOOLS=OFF -DBUILD_TOOLS_ONEVPL_EXPERIMENTAL=OFF -DINSTALL_EXAMPLE_CODE=OFF \\\n        -DBUILD_SHARED_LIBS=OFF -DBUILD_TESTS=OFF ..\n\n    ninja -j$(nproc)\n    DESTDIR=\"$FFBUILD_DESTDIR\" ninja install\n\n    rm -rf \"$FFBUILD_DESTPREFIX\"/{etc,share}\n\n    echo \"Libs.private: -lstdc++\" >> \"$FFBUILD_DESTPREFIX\"/lib/pkgconfig/vpl.pc\n}\n\nffbuild_configure() {\n    echo --enable-libvpl\n}\n\nffbuild_unconfigure() {\n    (( $(ffbuild_ffver) >= 600 )) || return 0\n    echo --disable-libvpl\n}\n"
  },
  {
    "path": "scripts.d/50-openal.sh",
    "content": "#!/bin/bash\n\nSCRIPT_REPO=\"https://github.com/kcat/openal-soft.git\"\nSCRIPT_COMMIT=\"e091b6486e3e779263068389533caa1ba299b641\"\n\nffbuild_enabled() {\n    (( $(ffbuild_ffver) > 501 )) || return -1\n    return 0\n}\n\nffbuild_dockerbuild() {\n    mkdir cm_build && cd cm_build\n\n    export CFLAGS=\"$CFLAGS -include stdlib.h\"\n    export CXXFLAGS=\"$CXXFLAGS -include cstdlib\"\n\n    cmake -DCMAKE_TOOLCHAIN_FILE=\"$FFBUILD_CMAKE_TOOLCHAIN\" -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=\"$FFBUILD_PREFIX\" \\\n        -DLIBTYPE=STATIC -DALSOFT_UTILS=OFF -DALSOFT_EXAMPLES=OFF  ..\n    make -j$(nproc)\n    make install DESTDIR=\"$FFBUILD_DESTDIR\"\n\n    echo \"Libs.private: -lstdc++\" >> \"$FFBUILD_DESTPREFIX\"/lib/pkgconfig/openal.pc\n\n    if [[ $TARGET == win* ]]; then\n        echo \"Libs.private: -lole32 -luuid\" >> \"$FFBUILD_DESTPREFIX\"/lib/pkgconfig/openal.pc\n    fi\n}\n\nffbuild_configure() {\n    echo --enable-openal\n}\n\nffbuild_unconfigure() {\n    echo --disable-openal\n}\n"
  },
  {
    "path": "scripts.d/50-openapv.sh",
    "content": "#!/bin/bash\n\nSCRIPT_REPO=\"https://github.com/AcademySoftwareFoundation/openapv.git\"\nSCRIPT_COMMIT=\"4974f041917b09f01150264f98cda0089dabfc57\"\n\nffbuild_enabled() {\n    (( $(ffbuild_ffver) > 701 )) || return -1\n    return 0\n}\n\nffbuild_dockerdl() {\n    default_dl .\n    echo \"git fetch --unshallow --filter=blob:none\"\n}\n\nffbuild_dockerbuild() {\n    # No need to build this\n    echo > app/CMakeLists.txt\n\n    mkdir build && cd build\n\n    if [[ $TARGET == *32 ]]; then\n        export CFLAGS=\"$CFLAGS -msse -msse2\"\n        export CXXFLAGS=\"$CXXFLAGS -msse -msse2\"\n    fi\n\n    cmake -DCMAKE_TOOLCHAIN_FILE=\"$FFBUILD_CMAKE_TOOLCHAIN\" -DCMAKE_INSTALL_PREFIX=\"$FFBUILD_PREFIX\" -DCMAKE_BUILD_TYPE=Release \\\n        -DOAPV_APP_STATIC_BUILD=ON -DENABLE_TESTS=OFF ..\n\n    make -j$(nproc)\n    make install DESTDIR=\"$FFBUILD_DESTDIR\"\n\n    mv \"$FFBUILD_DESTPREFIX\"/lib{/oapv/liboapv.a,}\n    rm -rf \"$FFBUILD_DESTPREFIX\"/{bin,lib/oapv,include/oapv/oapv_exports.h,lib/liboapv.so*}\n\n    {\n        echo \"Libs.private: -lm\"\n        echo \"Cflags.private: -DOAPV_STATIC_DEFINE\"\n    } >> \"$FFBUILD_DESTPREFIX\"/lib/pkgconfig/oapv.pc\n}\n\nffbuild_configure() {\n    echo --enable-liboapv\n}\n\nffbuild_unconfigure() {\n    (( $(ffbuild_ffver) > 701 )) || return 0\n    echo --disable-liboapv\n}\n"
  },
  {
    "path": "scripts.d/50-opencore-amr.sh",
    "content": "#!/bin/bash\n\nSCRIPT_REPO=\"https://git.code.sf.net/p/opencore-amr/code\"\nSCRIPT_COMMIT=\"7dba8c32238418ce0b316a852b2224df586ca896\"\n\nffbuild_enabled() {\n    return 0\n}\n\nffbuild_dockerbuild() {\n    autoreconf -i\n\n    local myconf=(\n        --prefix=\"$FFBUILD_PREFIX\"\n        --disable-shared\n        --enable-static\n        --with-pic\n        --enable-amrnb-encoder\n        --enable-amrnb-decoder\n        --disable-examples\n    )\n\n    if [[ $TARGET == win* || $TARGET == linux* ]]; then\n        myconf+=(\n            --host=\"$FFBUILD_TOOLCHAIN\"\n        )\n    else\n        echo \"Unknown target\"\n        return -1\n    fi\n\n    ./configure \"${myconf[@]}\"\n    make -j$(nproc)\n    make install DESTDIR=\"$FFBUILD_DESTDIR\"\n}\n\nffbuild_configure() {\n    echo --enable-libopencore-amrnb --enable-libopencore-amrwb\n}\n\nffbuild_unconfigure() {\n    echo --disable-libopencore-amrnb --disable-libopencore-amrwb\n}\n"
  },
  {
    "path": "scripts.d/50-openh264.sh",
    "content": "#!/bin/bash\n\nSCRIPT_REPO=\"https://github.com/cisco/openh264.git\"\nSCRIPT_COMMIT=\"cf568c83f71a18778f9a16e344effaf40c11b752\"\n\nffbuild_enabled() {\n    return 0\n}\n\nffbuild_dockerbuild() {\n    local myconf=(\n        PREFIX=\"$FFBUILD_PREFIX\"\n        INCLUDE_PREFIX=\"$FFBUILD_PREFIX\"/include/wels\n        BUILDTYPE=Release\n        DEBUGSYMBOLS=False\n        LIBDIR_NAME=lib\n        CC=\"$CC\"\n        CXX=\"$CXX\"\n        AR=\"$AR\"\n    )\n\n    if [[ $TARGET == win32 ]]; then\n        myconf+=(\n            OS=mingw_nt\n            ARCH=i686\n        )\n    elif [[ $TARGET == win64 ]]; then\n        myconf+=(\n            OS=mingw_nt\n            ARCH=x86_64\n        )\n    elif [[ $TARGET == winarm64 ]]; then\n        myconf+=(\n            OS=mingw_nt\n            ARCH=aarch64\n        )\n    elif [[ $TARGET == linux64 ]]; then\n        myconf+=(\n            OS=linux\n            ARCH=x86_64\n        )\n    elif [[ $TARGET == linuxarm64 ]]; then\n        myconf+=(\n            OS=linux\n            ARCH=aarch64\n        )\n    else\n        echo \"Unknown target\"\n        return -1\n    fi\n\n    make -j$(nproc) \"${myconf[@]}\" install-static DESTDIR=\"$FFBUILD_DESTDIR\"\n}\n\nffbuild_configure() {\n    echo --enable-libopenh264\n}\n\nffbuild_unconfigure() {\n    echo --disable-libopenh264\n}\n"
  },
  {
    "path": "scripts.d/50-openjpeg.sh",
    "content": "#!/bin/bash\n\nSCRIPT_REPO=\"https://github.com/uclouvain/openjpeg.git\"\nSCRIPT_COMMIT=\"d33cbecc148d3affcdf403211fddc2cc5d442379\"\n\nffbuild_enabled() {\n    return 0\n}\n\nffbuild_dockerbuild() {\n    mkdir build && cd build\n\n    cmake -DCMAKE_TOOLCHAIN_FILE=\"$FFBUILD_CMAKE_TOOLCHAIN\" -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=\"$FFBUILD_PREFIX\" -DBUILD_SHARED_LIBS=OFF -DBUILD_PKGCONFIG_FILES=ON -DBUILD_CODEC=OFF -DWITH_ASTYLE=OFF -DBUILD_TESTING=OFF ..\n    make -j$(nproc)\n    make install DESTDIR=\"$FFBUILD_DESTDIR\"\n}\n\nffbuild_configure() {\n    echo --enable-libopenjpeg\n}\n\nffbuild_unconfigure() {\n    echo --disable-libopenjpeg\n}\n"
  },
  {
    "path": "scripts.d/50-openmpt.sh",
    "content": "#!/bin/bash\n\nSCRIPT_REPO=\"https://github.com/OpenMPT/openmpt.git\"\nSCRIPT_COMMIT=\"d2d91049d6bb4cc817965d52278a48293ea488f9\"\n\nffbuild_depends() {\n    echo base\n    echo zlib\n    echo libogg\n    echo libvorbis\n}\n\nffbuild_enabled() {\n    [[ $TARGET == winarm64 ]] && return -1\n    return 0\n}\n\nffbuild_dockerbuild() {\n    local myconf=(\n        PREFIX=\"$FFBUILD_PREFIX\"\n        CXXSTDLIB_PCLIBSPRIVATE=\"-lstdc++\"\n        VERBOSE=2\n        STATIC_LIB=1\n        SHARED_LIB=0\n        DYNLINK=0\n        EXAMPLES=0\n        OPENMPT123=0\n        IN_OPENMPT=0\n        XMP_OPENMPT=0\n        DEBUG=0\n        OPTIMIZE=1\n        TEST=0\n        MODERN=1\n        FORCE_DEPS=1\n        NO_MINIMP3=0\n        NO_ZLIB=0\n        NO_OGG=0\n        NO_VORBIS=0\n        NO_VORBISFILE=0\n        NO_MPG123=1\n        NO_SDL2=1\n        NO_PULSEAUDIO=1\n        NO_SNDFILE=1\n        NO_PORTAUDIO=1\n        NO_PORTAUDIOCPP=1\n        NO_FLAC=1\n    )\n\n    if [[ $TARGET == winarm64 ]]; then\n        myconf+=(\n            CONFIG=mingw64-win64\n            WINDOWS_ARCH=arm64\n        )\n        export CPPFLAGS=\"$CPPFLAGS -DMPT_WITH_MINGWSTDTHREADS\"\n    elif [[ $TARGET == win* ]]; then\n        myconf+=(\n            CONFIG=mingw64-\"$TARGET\"\n        )\n        export CPPFLAGS=\"$CPPFLAGS -DMPT_WITH_MINGWSTDTHREADS\"\n    elif [[ $TARGET == linux* ]]; then\n        myconf+=(\n            CONFIG=gcc\n            TOOLCHAIN_PREFIX=\"$FFBUILD_CROSS_PREFIX\"\n        )\n    else\n        echo \"Unknown target\"\n        return -1\n    fi\n\n    make -j$(nproc) \"${myconf[@]}\" all install DESTDIR=\"$FFBUILD_DESTDIR\"\n    rm -r \"$FFBUILD_DESTPREFIX\"/share/doc/libopenmpt\n}\n\nffbuild_configure() {\n    echo --enable-libopenmpt\n}\n\nffbuild_unconfigure() {\n    echo --disable-libopenmpt\n}\n"
  },
  {
    "path": "scripts.d/50-rav1e.sh",
    "content": "#!/bin/bash\n\nSCRIPT_REPO=\"https://github.com/xiph/rav1e.git\"\nSCRIPT_COMMIT=\"564ae3b0007ae2b06893fd7166bf88c5a84c5b63\"\n\nffbuild_enabled() {\n    [[ $TARGET == win32 ]] && return -1\n    return 0\n}\n\nffbuild_dockerbuild() {\n    local myconf=(\n        --prefix=\"${FFBUILD_PREFIX}\"\n        --destdir=\"${FFBUILD_DESTDIR}\"\n        --target=\"${FFBUILD_RUST_TARGET}\"\n        --library-type=staticlib\n        --crt-static\n        --release\n    )\n\n    # Pulls in target-libs for host tool builds otherwise.\n    # Luckily no target libraries are needed.\n    unset PKG_CONFIG_LIBDIR\n\n    # The pinned version is broken, and upstream does not react\n    cargo update cc\n\n    export \"AR_${FFBUILD_RUST_TARGET//-/_}\"=\"${AR}\"\n    export \"RANLIB_${FFBUILD_RUST_TARGET//-/_}\"=\"${RANLIB}\"\n    export \"NM_${FFBUILD_RUST_TARGET//-/_}\"=\"${NM}\"\n    export \"LD_${FFBUILD_RUST_TARGET//-/_}\"=\"${LD}\"\n    export \"CC_${FFBUILD_RUST_TARGET//-/_}\"=\"${CC}\"\n    export \"CXX_${FFBUILD_RUST_TARGET//-/_}\"=\"${CXX}\"\n    export \"LD_${FFBUILD_RUST_TARGET//-/_}\"=\"${LD}\"\n    export \"CFLAGS_${FFBUILD_RUST_TARGET//-/_}\"=\"${CFLAGS}\"\n    export \"CXXFLAGS_${FFBUILD_RUST_TARGET//-/_}\"=\"${CXXFLAGS}\"\n    export \"LDFLAGS_${FFBUILD_RUST_TARGET//-/_}\"=\"${LDFLAGS}\"\n    unset AR RANLIB NM CC CXX LD CFLAGS CXXFLAGS LDFLAGS\n\n    cargo cinstall -v \"${myconf[@]}\"\n\n    chmod 644 \"${FFBUILD_DESTPREFIX}\"/lib/*rav1e*\n}\n\nffbuild_configure() {\n    echo --enable-librav1e\n}\n\nffbuild_unconfigure() {\n    echo --disable-librav1e\n}\n"
  },
  {
    "path": "scripts.d/50-rubberband.sh",
    "content": "#!/bin/bash\n\nSCRIPT_REPO=\"https://github.com/breakfastquay/rubberband.git\"\nSCRIPT_COMMIT=\"e4296ac80b1170018a110bc326fd0d45a0eb27d6\"\n\nffbuild_depends() {\n    echo base\n    echo fftw3\n    echo libsamplerate\n}\n\nffbuild_enabled() {\n    [[ $VARIANT == lgpl* ]] && return -1\n    return 0\n}\n\nffbuild_dockerbuild() {\n    mkdir build && cd build\n\n    local myconf=(\n        --prefix=\"$FFBUILD_PREFIX\"\n        -Ddefault_library=static\n        -Dfft=fftw\n        -Dresampler=libsamplerate\n    )\n\n    if [[ $TARGET == win* || $TARGET == linux* ]]; then\n        myconf+=(\n            --cross-file=/cross.meson\n        )\n    else\n        echo \"Unknown target\"\n        return -1\n    fi\n\n    meson setup \"${myconf[@]}\" ..\n    ninja -j$(nproc)\n    DESTDIR=\"$FFBUILD_DESTDIR\" ninja install\n}\n\nffbuild_configure() {\n    echo --enable-librubberband\n}\n\nffbuild_unconfigure() {\n    echo --disable-librubberband\n}\n"
  },
  {
    "path": "scripts.d/50-schannel.sh",
    "content": "#!/bin/bash\n\nSCRIPT_SKIP=\"1\"\n\nffbuild_enabled() {\n    [[ $TARGET == win* ]]\n}\n\nffbuild_dockerdl() {\n    true\n}\n\nffbuild_dockerstage() {\n    return 0\n}\n\nffbuild_dockerlayer() {\n    return 0\n}\n\nffbuild_dockerfinal() {\n    return 0\n}\n\nffbuild_dockerbuild() {\n    return 0\n}\n\nffbuild_configure() {\n    echo --enable-schannel\n}\n\nffbuild_unconfigure() {\n    echo --disable-schannel\n}\n"
  },
  {
    "path": "scripts.d/50-sdl.sh",
    "content": "#!/bin/bash\n\nSCRIPT_REPO=\"https://github.com/libsdl-org/SDL.git\"\nSCRIPT_COMMIT=\"e0307aa05e79284a45a535b3e78728e7c42239cf\"\nSCRIPT_BRANCH=\"SDL2\"\n\nffbuild_depends() {\n    echo base\n    echo libiconv\n    echo x11\n    echo pulseaudio\n    echo libsamplerate\n}\n\nffbuild_enabled() {\n    return 0\n}\n\nffbuild_dockerbuild() {\n    mkdir build && cd build\n\n    local mycmake=(\n        -DSDL_SHARED=OFF\n        -DSDL_STATIC=ON\n        -DSDL_STATIC_PIC=ON\n        -DSDL_TEST=OFF\n        -DSDL_CCACHE=OFF\n\n        -DSDL_LIBSAMPLERATE=ON\n        -DSDL_LIBSAMPLERATE_SHARED=OFF\n    )\n\n    if [[ $TARGET == linux* ]]; then\n        mycmake+=(\n            -DSDL_X11=ON\n            -DSDL_X11_SHARED=OFF\n            -DHAVE_XGENERICEVENT=TRUE\n            -DSDL_VIDEO_DRIVER_X11_HAS_XKBKEYCODETOKEYSYM=1\n\n            -DSDL_PULSEAUDIO=ON\n            -DSDL_PULSEAUDIO_SHARED=OFF\n        )\n    fi\n\n    cmake -GNinja -DCMAKE_TOOLCHAIN_FILE=\"$FFBUILD_CMAKE_TOOLCHAIN\" -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=\"$FFBUILD_PREFIX\" \"${mycmake[@]}\" ..\n\n    ninja -j$(nproc)\n    DESTDIR=\"$FFBUILD_DESTDIR\" ninja install\n\n    if [[ $TARGET == linux* ]]; then\n        sed -ri -e 's/\\-Wl,\\-\\-no\\-undefined.*//' \\\n            -e 's/ \\-l\\/.+?\\.a//g' \\\n            \"$FFBUILD_DESTPREFIX\"/lib/pkgconfig/sdl2.pc\n        echo 'Requires: libpulse-simple xxf86vm xscrnsaver xrandr xfixes xi xinerama xcursor' >> \"$FFBUILD_DESTPREFIX\"/lib/pkgconfig/sdl2.pc\n    elif [[ $TARGET == win* ]]; then\n        sed -ri -e 's/\\-Wl,\\-\\-no\\-undefined.*//' \\\n            -e 's/ \\-mwindows//g' \\\n            -e 's/ \\-lSDL2main//g' \\\n            -e 's/ \\-Dmain=SDL_main//g' \\\n            \"$FFBUILD_DESTPREFIX\"/lib/pkgconfig/sdl2.pc\n    fi\n\n    sed -ri -e 's/ -lSDL2//g' \\\n        -e 's/Libs: /Libs: -lSDL2 /'\\\n        \"$FFBUILD_DESTPREFIX\"/lib/pkgconfig/sdl2.pc\n\n    echo 'Requires: samplerate' >> \"$FFBUILD_DESTPREFIX\"/lib/pkgconfig/sdl2.pc\n}\n\nffbuild_configure() {\n    echo --enable-sdl2\n}\n\nffbuild_unconfigure() {\n    echo --disable-sdl2\n}\n"
  },
  {
    "path": "scripts.d/50-snappy.sh",
    "content": "#!/bin/bash\n\nSCRIPT_REPO=\"https://github.com/google/snappy.git\"\nSCRIPT_COMMIT=\"6281a07b7e08629884ec93a89fea6e05c62e599c\"\n\nffbuild_enabled() {\n    return 0\n}\n\nffbuild_dockerbuild() {\n    mkdir build && cd build\n\n    cmake -DCMAKE_TOOLCHAIN_FILE=\"$FFBUILD_CMAKE_TOOLCHAIN\" -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=\"$FFBUILD_PREFIX\" \\\n        -DBUILD_SHARED_LIBS=OFF -DSNAPPY_BUILD_TESTS=OFF -DSNAPPY_BUILD_BENCHMARKS=OFF -DSNAPPY_FUZZING_BUILD=OFF \\\n        -DSNAPPY_REQUIRE_AVX=OFF -DSNAPPY_REQUIRE_AVX2=OFF ..\n    make -j$(nproc)\n    make install DESTDIR=\"$FFBUILD_DESTDIR\"\n}\n\nffbuild_configure() {\n    echo --enable-libsnappy\n}\n\nffbuild_unconfigure() {\n    echo --disable-libsnappy\n}\n"
  },
  {
    "path": "scripts.d/50-soxr.sh",
    "content": "#!/bin/bash\n\nSCRIPT_REPO=\"https://git.code.sf.net/p/soxr/code\"\nSCRIPT_COMMIT=\"945b592b70470e29f917f4de89b4281fbbd540c0\"\n\nffbuild_enabled() {\n    return 0\n}\n\nffbuild_dockerbuild() {\n    # Short-circuit the check to generate a .pc file. We always want it.\n    sed -i 's/NOT WIN32/1/g' src/CMakeLists.txt\n\n    mkdir build && cd build\n\n    cmake -DCMAKE_TOOLCHAIN_FILE=\"$FFBUILD_CMAKE_TOOLCHAIN\" -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=\"$FFBUILD_PREFIX\" \\\n        -DWITH_OPENMP=\"$([[ $TARGET == winarm64 ]] && echo OFF || echo ON)\" \\\n        -DBUILD_TESTS=OFF -DBUILD_EXAMPLES=OFF -DBUILD_SHARED_LIBS=OFF \\\n        ..\n    make -j$(nproc)\n    make install DESTDIR=\"$FFBUILD_DESTDIR\"\n\n    if [[ $TARGET != winarm64 ]]; then\n        echo \"Libs.private: -lgomp\" >> \"$FFBUILD_DESTPREFIX\"/lib/pkgconfig/soxr.pc\n    fi\n}\n\nffbuild_configure() {\n    echo --enable-libsoxr\n}\n\nffbuild_unconfigure() {\n    echo --disable-libsoxr\n}\n\nffbuild_ldflags() {\n    echo -pthread\n}\n\nffbuild_libs() {\n    [[ $TARGET != winarm64 ]] && echo -lgomp\n}\n"
  },
  {
    "path": "scripts.d/50-srt.sh",
    "content": "#!/bin/bash\n\nSCRIPT_REPO=\"https://github.com/Haivision/srt.git\"\nSCRIPT_COMMIT=\"f04c00cdd7a04a0f57b0bd8efb68d934c7d1b4ec\"\n\nffbuild_depends() {\n    echo base\n    echo openssl\n}\n\nffbuild_enabled() {\n    return 0\n}\n\nffbuild_dockerbuild() {\n    mkdir build && cd build\n\n    cmake -DCMAKE_TOOLCHAIN_FILE=\"$FFBUILD_CMAKE_TOOLCHAIN\" -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=\"$FFBUILD_PREFIX\" \\\n        -DENABLE_SHARED=OFF -DENABLE_STATIC=ON -DENABLE_CXX_DEPS=ON -DUSE_STATIC_LIBSTDCXX=ON -DENABLE_ENCRYPTION=ON -DENABLE_APPS=OFF ..\n    make -j$(nproc)\n    make install DESTDIR=\"$FFBUILD_DESTDIR\"\n\n    echo \"Libs.private: -lstdc++\" >> \"$FFBUILD_DESTPREFIX\"/lib/pkgconfig/srt.pc\n}\n\nffbuild_configure() {\n    echo --enable-libsrt\n}\n\nffbuild_unconfigure() {\n    echo --disable-libsrt\n}\n"
  },
  {
    "path": "scripts.d/50-svtav1.sh",
    "content": "#!/bin/bash\n\nSCRIPT_REPO=\"https://gitlab.com/AOMediaCodec/SVT-AV1.git\"\nSCRIPT_COMMIT=\"d0701ba0972df777d36a525d229a948d09a522ba\"\n\nffbuild_enabled() {\n    [[ $TARGET == win32 ]] && return -1\n    (( $(ffbuild_ffver) > 700 )) || return -1\n    return 0\n}\n\nffbuild_dockerdl() {\n    echo \"git clone \\\"$SCRIPT_REPO\\\" . && git checkout \\\"$SCRIPT_COMMIT\\\"\"\n}\n\nffbuild_dockerbuild() {\n    mkdir build && cd build\n\n    cmake -DCMAKE_TOOLCHAIN_FILE=\"$FFBUILD_CMAKE_TOOLCHAIN\" -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=\"$FFBUILD_PREFIX\" \\\n        -DBUILD_SHARED_LIBS=OFF -DBUILD_TESTING=OFF -DBUILD_APPS=OFF -DENABLE_AVX512=ON -DSVT_AV1_LTO=OFF ..\n    make -j$(nproc)\n    make install DESTDIR=\"$FFBUILD_DESTDIR\"\n}\n\nffbuild_configure() {\n    echo --enable-libsvtav1\n}\n\nffbuild_unconfigure() {\n    (( $(ffbuild_ffver) >= 404 )) || return 0\n    echo --disable-libsvtav1\n}\n"
  },
  {
    "path": "scripts.d/50-twolame.sh",
    "content": "#!/bin/bash\n\nSCRIPT_REPO=\"https://github.com/njh/twolame.git\"\nSCRIPT_COMMIT=\"6fced852d4d5cfad58cf9dbe3ea619b08e87d398\"\n\nffbuild_enabled() {\n    return 0\n}\n\nffbuild_dockerbuild() {\n    # libtoolize version detection is broken, disable it, we got the right versions\n    printf 'print \"999999\\\\n\"\\n' > autogen-get-version-mock.pl\n    sed -i -e 's|/autogen-get-version.pl|/autogen-get-version-mock.pl|g' ./autogen.sh\n\n    NOCONFIGURE=1 ./autogen.sh\n    touch doc/twolame.1\n\n    local myconf=(\n        --prefix=\"$FFBUILD_PREFIX\"\n        --with-pic\n        --disable-shared\n        --enable-static\n        --disable-sndfile\n    )\n\n    if [[ $TARGET == win* || $TARGET == linux* ]]; then\n        myconf+=(\n            --host=\"$FFBUILD_TOOLCHAIN\"\n        )\n    else\n        echo \"Unknown target\"\n        return -1\n    fi\n\n    ./configure \"${myconf[@]}\"\n    make -j$(nproc)\n    make install DESTDIR=\"$FFBUILD_DESTDIR\"\n\n    sed -i 's/Cflags:/Cflags: -DLIBTWOLAME_STATIC/' \"$FFBUILD_DESTPREFIX\"/lib/pkgconfig/twolame.pc\n}\n\nffbuild_configure() {\n    echo --enable-libtwolame\n}\n\nffbuild_unconfigure() {\n    echo --disable-libtwolame\n}\n\nffbuild_cflags() {\n    echo -DLIBTWOLAME_STATIC\n}\n"
  },
  {
    "path": "scripts.d/50-uavs3d.sh",
    "content": "#!/bin/bash\n\nSCRIPT_REPO=\"https://github.com/uavs3/uavs3d.git\"\nSCRIPT_COMMIT=\"0e20d2c291853f196c68922a264bcd8471d75b68\"\n\nffbuild_enabled() {\n    [[ $TARGET == win32 ]] && return -1\n    [[ $TARGET == winarm64 ]] && return -1\n    (( $(ffbuild_ffver) >= 404 )) || return -1\n    return 0\n}\n\nffbuild_dockerdl() {\n    echo \"git clone \\\"$SCRIPT_REPO\\\" . && git checkout \\\"$SCRIPT_COMMIT\\\"\"\n}\n\nffbuild_dockerbuild() {\n    mkdir build/linux\n    cd build/linux\n\n    cmake -DCMAKE_TOOLCHAIN_FILE=\"$FFBUILD_CMAKE_TOOLCHAIN\" -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=\"$FFBUILD_PREFIX\" \\\n        -DCOMPILE_10BIT=1 -DBUILD_SHARED_LIBS=NO ../..\n    make -j$(nproc)\n    make install DESTDIR=\"$FFBUILD_DESTDIR\"\n}\n\nffbuild_configure() {\n    echo --enable-libuavs3d\n}\n\nffbuild_unconfigure() {\n    (( $(ffbuild_ffver) >= 404 )) || return 0\n    echo --disable-libuavs3d\n}\n"
  },
  {
    "path": "scripts.d/50-vaapi/30-libpciaccess.sh",
    "content": "#!/bin/bash\n\nSCRIPT_REPO=\"https://gitlab.freedesktop.org/xorg/lib/libpciaccess.git\"\nSCRIPT_COMMIT=\"38e6f15f839fba2c49982e7ad61cde681fd5d4d6\"\n\nffbuild_depends() {\n    echo base\n    echo zlib\n}\n\nffbuild_enabled() {\n    [[ $TARGET != linux* ]] && return -1\n    return 0\n}\n\nffbuild_dockerbuild() {\n    mkdir build && cd build\n\n    local myconf=(\n        --prefix=\"$FFBUILD_PREFIX\"\n        --buildtype=release\n        --default-library=shared\n        -Dzlib=enabled\n    )\n\n    if [[ $TARGET == linux* ]]; then\n        myconf+=(\n            --cross-file=/cross.meson\n        )\n    else\n        echo \"Unknown target\"\n        return -1\n    fi\n\n    export CFLAGS=\"$RAW_CFLAGS\"\n    export LDFLAFS=\"$RAW_LDFLAGS\"\n\n    meson setup \"${myconf[@]}\" ..\n    ninja -j$(nproc)\n    DESTDIR=\"$FFBUILD_DESTDIR\" ninja install\n\n    gen-implib \"$FFBUILD_DESTPREFIX\"/lib/{libpciaccess.so.0,libpciaccess.a}\n    rm \"$FFBUILD_DESTPREFIX\"/lib/libpciaccess.so*\n\n    echo \"Libs: -ldl\" >> \"$FFBUILD_DESTPREFIX\"/lib/pkgconfig/pciaccess.pc\n}\n"
  },
  {
    "path": "scripts.d/50-vaapi/40-libdrm.sh",
    "content": "#!/bin/bash\n\nSCRIPT_REPO=\"https://gitlab.freedesktop.org/mesa/drm.git\"\nSCRIPT_COMMIT=\"b9dea73dfa310bc945ae6f09004a08fd624952ec\"\n\nffbuild_enabled() {\n    [[ $TARGET != linux* ]] && return -1\n    return 0\n}\n\nffbuild_dockerbuild() {\n    mkdir build && cd build\n\n    local myconf=(\n        --prefix=\"$FFBUILD_PREFIX\"\n        -Ddefault_library=shared\n        -Dudev=false\n        -Dcairo-tests=disabled\n        -Dvalgrind=disabled\n        -Dexynos=disabled\n        -Dfreedreno=disabled\n        -Domap=disabled\n        -Detnaviv=disabled\n        -Dintel=enabled\n        -Dnouveau=enabled\n        -Dradeon=enabled\n        -Damdgpu=enabled\n    )\n\n    if [[ $TARGET == linux* ]]; then\n        myconf+=(\n            --cross-file=/cross.meson\n        )\n    else\n        echo \"Unknown target\"\n        return -1\n    fi\n\n    export CFLAGS=\"$RAW_CFLAGS\"\n    export LDFLAFS=\"$RAW_LDFLAGS\"\n\n    meson \"${myconf[@]}\" ..\n    ninja -j$(nproc)\n    DESTDIR=\"$FFBUILD_DESTDIR\" ninja install\n\n    gen-implib \"$FFBUILD_DESTPREFIX\"/lib/{libdrm.so.2,libdrm.a}\n    rm \"$FFBUILD_DESTPREFIX\"/lib/libdrm*.so*\n\n    echo \"Libs: -ldl\" >> \"$FFBUILD_DESTPREFIX\"/lib/pkgconfig/libdrm.pc\n}\n\nffbuild_configure() {\n    echo --enable-libdrm\n}\n\nffbuild_unconfigure() {\n    echo --disable-libdrm\n}\n"
  },
  {
    "path": "scripts.d/50-vaapi/50-libva.sh",
    "content": "#!/bin/bash\n\nSCRIPT_REPO=\"https://github.com/intel/libva.git\"\nSCRIPT_COMMIT=\"9b1db46a3a11b6152a4fa2c3b3f1e93da2cb5edf\"\n\nffbuild_depends() {\n    echo base\n    echo x11\n}\n\nffbuild_enabled() {\n    [[ $ADDINS_STR == *4.4* && $TARGET == win* ]] && return -1\n    [[ $ADDINS_STR == *5.0* && $TARGET == win* ]] && return -1\n    [[ $ADDINS_STR == *5.1* && $TARGET == win* ]] && return -1\n    [[ $ADDINS_STR == *6.0* && $TARGET == win* ]] && return -1\n    [[ $TARGET == linuxarm64 ]] && return -1\n    return 0\n}\n\nffbuild_dockerbuild() {\n    # This works around an issue of our libxcb-dri3 implib-wrapper not exporting data symbols.\n    # Under normal circumstances, this would break horribly.\n    # But we only want to generate another import lib for libva, so it doesn't matter.\n    echo \"#include <xcb/xcbext.h>\" >> va/x11/va_dri3.c\n    echo \"xcb_extension_t xcb_dri3_id;\" >> va/x11/va_dri3.c\n\n    # Allow to actually toggle static linking\n    sed -i \"s/shared_library/library/g\" va/meson.build\n\n    mkdir mybuild && cd mybuild\n\n    local myconf=(\n        --prefix=\"$FFBUILD_PREFIX\"\n        --buildtype=release\n        -Denable_docs=false\n    )\n\n    if [[ $TARGET == linux64 ]]; then\n        myconf+=(\n            --cross-file=/cross.meson\n            --default-library=shared\n            --sysconfdir=\"/etc\"\n            -Ddriverdir=\"/usr/lib/x86_64-linux-gnu/dri\"\n            -Ddisable_drm=false\n            -Dwith_x11=yes\n            -Dwith_glx=no\n            -Dwith_wayland=no\n        )\n    elif [[ $TARGET == win* ]]; then\n        myconf+=(\n            --cross-file=/cross.meson\n            --default-library=static\n            -Dwith_win32=yes\n        )\n    else\n        echo \"Unknown target\"\n        return -1\n    fi\n\n    export CFLAGS=\"$RAW_CFLAGS\"\n    export LDFLAFS=\"$RAW_LDFLAGS\"\n\n    meson \"${myconf[@]}\" ..\n    ninja -j\"$(nproc)\"\n    DESTDIR=\"$FFBUILD_DESTDIR\" ninja install\n\n    if [[ $TARGET == linux* ]]; then\n        gen-implib \"$FFBUILD_DESTPREFIX\"/lib/{libva.so.2,libva.a}\n        gen-implib \"$FFBUILD_DESTPREFIX\"/lib/{libva-drm.so.2,libva-drm.a}\n        gen-implib \"$FFBUILD_DESTPREFIX\"/lib/{libva-x11.so.2,libva-x11.a}\n        rm \"$FFBUILD_DESTPREFIX\"/lib/libva{,-drm,-x11}.so*\n\n        echo \"Libs: -ldl\" >> \"$FFBUILD_DESTPREFIX\"/lib/pkgconfig/libva.pc\n    fi\n}\n\nffbuild_configure() {\n    echo --enable-vaapi\n}\n\nffbuild_unconfigure() {\n    echo --disable-vaapi\n}\n"
  },
  {
    "path": "scripts.d/50-vaapi/99-finalize.sh",
    "content": "#!/bin/bash\n\nSCRIPT_SKIP=\"1\"\n\nffbuild_enabled() {\n    return 0\n}\n\nffbuild_dockerdl() {\n    true\n}\n\nffbuild_dockerbuild() {\n    mkdir -p \"$FFBUILD_DESTPREFIX\"\n\n    if [[ $TARGET == linux* ]]; then\n        rm \"$FFBUILD_DESTPREFIX\"/lib/lib*.so* || true\n        rm \"$FFBUILD_DESTPREFIX\"/lib/*.la || true\n    fi\n}\n"
  },
  {
    "path": "scripts.d/50-vidstab.sh",
    "content": "#!/bin/bash\n\nSCRIPT_REPO=\"https://github.com/georgmartius/vid.stab.git\"\nSCRIPT_COMMIT=\"92bc0b0f369f2a88aaacf25eac3a10f8415308fc\"\n\nffbuild_enabled() {\n    [[ $VARIANT == lgpl* ]] && return -1\n    return 0\n}\n\nffbuild_dockerbuild() {\n    mkdir build && cd build\n\n    local mycmake=(\n        -DBUILD_SHARED_LIBS=OFF\n        -DUSE_OMP=ON\n    )\n\n    if [[ $TARGET == *arm64 ]]; then\n        mycmake+=(\n            -DSSE2_FOUND=FALSE\n        )\n    fi\n\n    cmake -DCMAKE_TOOLCHAIN_FILE=\"$FFBUILD_CMAKE_TOOLCHAIN\" -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=\"$FFBUILD_PREFIX\" \"${mycmake[@]}\" ..\n    make -j$(nproc)\n    make install DESTDIR=\"$FFBUILD_DESTDIR\"\n\n    if [[ $TARGET == linux* ]]; then\n        echo \"Libs.private: -ldl\" >> \"$FFBUILD_DESTPREFIX\"/lib/pkgconfig/vidstab.pc\n    fi\n}\n\nffbuild_configure() {\n    echo --enable-libvidstab\n}\n\nffbuild_unconfigure() {\n    echo --disable-libvidstab\n}\n"
  },
  {
    "path": "scripts.d/50-vvenc.sh",
    "content": "#!/bin/bash\n\nSCRIPT_REPO=\"https://github.com/fraunhoferhhi/vvenc.git\"\nSCRIPT_COMMIT=\"f4c746c6fe8359e236da42e6fc5985d450c66213\"\n\nffbuild_enabled() {\n    [[ $TARGET != *32 ]] || return -1\n    (( $(ffbuild_ffver) > 700 )) || return -1\n    return 0\n}\n\nffbuild_dockerbuild() {\n    mkdir build && cd build\n\n    local armsimd=()\n    if [[ $TARGET == *arm* ]]; then\n        armsimd+=( -DVVENC_ENABLE_ARM_SIMD=ON )\n\n        if [[ \"$CC\" != *clang* ]]; then\n            export CFLAGS=\"$CFLAGS -fpermissive -Wno-error=uninitialized -Wno-error=maybe-uninitialized\"\n            export CXXFLAGS=\"$CXXFLAGS -fpermissive -Wno-error=uninitialized -Wno-error=maybe-uninitialized\"\n        else\n            export CFLAGS=\"$CFLAGS -Wno-error=deprecated-literal-operator\"\n            export CXXFLAGS=\"$CXXFLAGS -Wno-error=deprecated-literal-operator\"\n        fi\n    fi\n\n    cmake -DCMAKE_TOOLCHAIN_FILE=\"$FFBUILD_CMAKE_TOOLCHAIN\" -DCMAKE_INSTALL_PREFIX=\"$FFBUILD_PREFIX\" -DCMAKE_BUILD_TYPE=Release \\\n        -DBUILD_SHARED_LIBS=OFF -DVVENC_LIBRARY_ONLY=ON -DVVENC_ENABLE_WERROR=OFF -DVVENC_ENABLE_LINK_TIME_OPT=OFF -DEXTRALIBS=\"-lstdc++\" \"${armsimd[@]}\" ..\n\n    make -j$(nproc)\n    make install DESTDIR=\"$FFBUILD_DESTDIR\"\n}\n\nffbuild_configure() {\n    echo --enable-libvvenc\n}\n\nffbuild_unconfigure() {\n    (( $(ffbuild_ffver) > 700 )) || return 0\n    echo --disable-libvvenc\n}\n"
  },
  {
    "path": "scripts.d/50-whisper.sh",
    "content": "#!/bin/bash\n\nSCRIPT_REPO=\"https://github.com/ggml-org/whisper.cpp.git\"\nSCRIPT_COMMIT=\"dc9611662265870df22a7230b7586176a99c1955\"\n\nffbuild_depends() {\n    echo base\n    echo vulkan\n    echo opencl\n}\n\nffbuild_enabled() {\n    [[ $TARGET != *32 ]] || return -1\n    (( $(ffbuild_ffver) >= 800 )) || return -1\n    return 0\n}\n\nffbuild_dockerbuild() {\n    mkdir build && cd build\n\n    cmake -GNinja -DCMAKE_TOOLCHAIN_FILE=\"$FFBUILD_CMAKE_TOOLCHAIN\" -DCMAKE_INSTALL_PREFIX=\"$FFBUILD_PREFIX\" -DCMAKE_BUILD_TYPE=Release \\\n        -DBUILD_SHARED_LIBS=OFF -DWHISPER_BUILD_TESTS=OFF -DWHISPER_BUILD_EXAMPLES=OFF -DWHISPER_BUILD_SERVER=OFF -DWHISPER_USE_SYSTEM_GGML=OFF \\\n        -DGGML_CCACHE=OFF -DGGML_OPENCL=ON -DGGML_VULKAN=ON \\\n        -DGGML_NATIVE=OFF -DGGML_SSE42=ON -DGGML_AVX=ON -DGGML_F16C=ON -DGGML_AVX2=ON -DGGML_BMI2=ON -DGGML_FMA=ON ..\n\n    ninja -j$(nproc)\n    DESTDIR=\"$FFBUILD_DESTDIR\" ninja install\n\n    # For some reason, these lack the lib prefix on Windows\n    shopt -s nullglob\n    for libfile in \"$FFBUILD_DESTPREFIX\"/lib/ggml*.a; do\n        mv \"${libfile}\" \"$(dirname \"${libfile}\")/lib$(basename \"${libfile}\")\"\n    done\n\n    # Linking order is all wrong\n    sed -i -e 's/^\\(Libs:\\).*$/\\1 -L${libdir} -lwhisper/' \"$FFBUILD_DESTPREFIX\"/lib/pkgconfig/whisper.pc\n    echo \"Libs.private: -lggml -lggml-base -lggml-cpu -lggml-vulkan -lggml-opencl -lstdc++\" >> \"$FFBUILD_DESTPREFIX\"/lib/pkgconfig/whisper.pc\n    echo \"Requires: vulkan OpenCL\" >> \"$FFBUILD_DESTPREFIX\"/lib/pkgconfig/whisper.pc\n}\n\nffbuild_configure() {\n    echo --enable-whisper\n}\n\nffbuild_unconfigure() {\n    (( $(ffbuild_ffver) >= 800 )) || return 0\n    echo --disable-whisper\n}\n"
  },
  {
    "path": "scripts.d/50-x264.sh",
    "content": "#!/bin/bash\n\nSCRIPT_REPO=\"https://code.videolan.org/videolan/x264.git\"\nSCRIPT_COMMIT=\"0480cb05fa188d37ae87e8f4fd8f1aea3711f7ee\"\n\nffbuild_enabled() {\n    [[ $VARIANT == lgpl* ]] && return -1\n    return 0\n}\n\nffbuild_dockerbuild() {\n    local myconf=(\n        --disable-cli\n        --enable-static\n        --enable-pic\n        --disable-lavf\n        --disable-swscale\n        --prefix=\"$FFBUILD_PREFIX\"\n    )\n\n    if [[ $TARGET == win* || $TARGET == linux* ]]; then\n        myconf+=(\n            --host=\"$FFBUILD_TOOLCHAIN\"\n            --cross-prefix=\"$FFBUILD_CROSS_PREFIX\"\n        )\n    else\n        echo \"Unknown target\"\n        return -1\n    fi\n\n    ./configure \"${myconf[@]}\"\n    make -j$(nproc)\n    make install DESTDIR=\"$FFBUILD_DESTDIR\"\n}\n\nffbuild_configure() {\n    echo --enable-libx264\n}\n\nffbuild_unconfigure() {\n    echo --disable-libx264\n}\n\nffbuild_cflags() {\n    return 0\n}\n\nffbuild_ldflags() {\n    return 0\n}\n"
  },
  {
    "path": "scripts.d/50-x265.sh",
    "content": "#!/bin/bash\n\nSCRIPT_REPO=\"https://bitbucket.org/multicoreware/x265_git.git\"\nSCRIPT_COMMIT=\"8be7dbf8159ddfceea4115675a6d48e1611b8baa\"\n\nffbuild_enabled() {\n    [[ $VARIANT == lgpl* ]] && return -1\n    return 0\n}\n\nffbuild_dockerdl() {\n    echo \"git clone --filter=blob:none \\\"$SCRIPT_REPO\\\" . && git checkout \\\"$SCRIPT_COMMIT\\\"\"\n}\n\nffbuild_dockerbuild() {\n    local common_config=(\n        -DCMAKE_INSTALL_PREFIX=\"$FFBUILD_PREFIX\"\n        -DCMAKE_TOOLCHAIN_FILE=\"$FFBUILD_CMAKE_TOOLCHAIN\"\n        -DCMAKE_BUILD_TYPE=Release\n        -DENABLE_SHARED=OFF\n        -DENABLE_CLI=OFF\n        -DCMAKE_ASM_NASM_FLAGS=-w-macro-params-legacy\n        -DENABLE_ALPHA=ON\n    )\n\n    sed -i '1i#include <cstdint>' source/dynamicHDR10/json11/json11.cpp\n\n    if [[ $TARGET != *32 ]]; then\n        mkdir 8bit 10bit 12bit\n        cmake \"${common_config[@]}\" -DHIGH_BIT_DEPTH=ON -DEXPORT_C_API=OFF -DENABLE_HDR10_PLUS=ON -DMAIN12=ON -S source -B 12bit &\n        cmake \"${common_config[@]}\" -DHIGH_BIT_DEPTH=ON -DEXPORT_C_API=OFF -DENABLE_HDR10_PLUS=ON -S source -B 10bit &\n        cmake \"${common_config[@]}\" -DEXTRA_LIB=\"x265_main10.a;x265_main12.a\" -DEXTRA_LINK_FLAGS=-L. -DLINKED_10BIT=ON -DLINKED_12BIT=ON -S source -B 8bit &\n        wait\n\n        cat >Makefile <<\"EOF\"\nall: 12bit/libx265.a 10bit/libx265.a 8bit/libx265.a\n\n%/libx265.a:\n\t$(MAKE) -C $(subst /libx265.a,,$@)\n\n.PHONY: all\nEOF\n\n        make -j$(nproc)\n\n        cd 8bit\n        mv ../12bit/libx265.a ../8bit/libx265_main12.a\n        mv ../10bit/libx265.a ../8bit/libx265_main10.a\n        mv libx265.a libx265_main.a\n\n        ${AR} -M <<EOF\nCREATE libx265.a\nADDLIB libx265_main.a\nADDLIB libx265_main10.a\nADDLIB libx265_main12.a\nSAVE\nEND\nEOF\n    else\n        mkdir 8bit\n        cd 8bit\n        cmake \"${common_config[@]}\" ../source\n        make -j$(nproc)\n    fi\n\n    make install DESTDIR=\"$FFBUILD_DESTDIR\"\n\n    echo \"Libs.private: -lstdc++\" >> \"$FFBUILD_DESTPREFIX\"/lib/pkgconfig/x265.pc\n}\n\nffbuild_configure() {\n    echo --enable-libx265\n}\n\nffbuild_unconfigure() {\n    echo --disable-libx265\n}\n\nffbuild_cflags() {\n    return 0\n}\n\nffbuild_ldflags() {\n    return 0\n}\n"
  },
  {
    "path": "scripts.d/50-xavs2.sh",
    "content": "#!/bin/bash\n\nSCRIPT_REPO=\"https://github.com/pkuvcl/xavs2.git\"\nSCRIPT_COMMIT=\"eae1e8b9d12468059bdd7dee893508e470fa83d8\"\n\nffbuild_enabled() {\n    [[ $VARIANT == lgpl* ]] && return -1\n    [[ $TARGET == win32 ]] && return -1\n    # xavs2 aarch64 support is broken\n    [[ $TARGET == *arm64 ]] && return -1\n    return 0\n}\n\nffbuild_dockerdl() {\n    echo \"git clone \\\"$SCRIPT_REPO\\\" . && git checkout \\\"$SCRIPT_COMMIT\\\"\"\n}\n\nffbuild_dockerbuild() {\n    cd build/linux\n\n    local myconf=(\n        --disable-cli\n        --enable-static\n        --enable-pic\n        --disable-avs\n        --disable-swscale\n        --disable-lavf\n        --disable-ffms\n        --disable-gpac\n        --disable-lsmash\n        --extra-asflags=\"-w-macro-params-legacy\"\n        --extra-cflags=\"-Wno-error=incompatible-pointer-types\"\n        --prefix=\"$FFBUILD_PREFIX\"\n    )\n\n    if [[ $TARGET == win* || $TARGET == linux* ]]; then\n        myconf+=(\n            --host=\"$FFBUILD_TOOLCHAIN\"\n            --cross-prefix=\"$FFBUILD_CROSS_PREFIX\"\n        )\n    else\n        echo \"Unknown target\"\n        return -1\n    fi\n\n    # Work around configure endian check failing on modern gcc/binutils.\n    # Assumes all supported archs are little endian.\n    sed -i -e 's/EGIB/bss/g' -e 's/naidnePF/bss/g' configure\n\n    ./configure \"${myconf[@]}\"\n    make -j$(nproc)\n    make install DESTDIR=\"$FFBUILD_DESTDIR\"\n}\n\nffbuild_configure() {\n    echo --enable-libxavs2\n}\n\nffbuild_unconfigure() {\n    echo --disable-libxavs2\n}\n"
  },
  {
    "path": "scripts.d/50-xvid.sh",
    "content": "#!/bin/bash\n\nSCRIPT_REPO=\"https://svn.xvid.org/trunk/xvidcore\"\nSCRIPT_REV=\"2202\"\n\nffbuild_enabled() {\n    [[ $VARIANT == lgpl* ]] && return -1\n    return 0\n}\n\nffbuild_dockerdl() {\n    echo \"retry-tool sh -c \\\"rm -rf xvid && svn --non-interactive checkout --username 'anonymous' --password '' '${SCRIPT_REPO}@${SCRIPT_REV}' xvid\\\" && cd xvid\"\n}\n\nffbuild_dockerbuild() {\n    cd build/generic\n\n    # The original code fails on a two-digit major...\n    sed -i\\\n        -e 's/GCC_MAJOR=.*/GCC_MAJOR=10/' \\\n        -e 's/GCC_MINOR=.*/GCC_MINOR=0/' \\\n        configure.in\n\n    ./bootstrap.sh\n\n    local myconf=(\n        --prefix=\"$FFBUILD_PREFIX\"\n    )\n\n    if [[ $TARGET == win* || $TARGET == linux* ]]; then\n        myconf+=(\n            --host=\"$FFBUILD_TOOLCHAIN\"\n        )\n    else\n        echo \"Unknown target\"\n        return -1\n    fi\n\n    export CFLAGS=\"$CFLAGS -std=gnu99\"\n\n    ./configure \"${myconf[@]}\"\n    make -j$(nproc)\n    make install DESTDIR=\"$FFBUILD_DESTDIR\"\n\n    if [[ $TARGET == win* ]]; then\n        rm \"$FFBUILD_DESTPREFIX\"/{bin/libxvidcore.dll,lib/libxvidcore.dll.a}\n    elif [[ $TARGET == linux* ]]; then\n        rm \"$FFBUILD_DESTPREFIX\"/lib/libxvidcore.so*\n    fi\n}\n\nffbuild_configure() {\n    echo --enable-libxvid\n}\n\nffbuild_unconfigure() {\n    echo --disable-libxvid\n}\n"
  },
  {
    "path": "scripts.d/50-zimg.sh",
    "content": "#!/bin/bash\n\nSCRIPT_REPO=\"https://github.com/sekrit-twc/zimg.git\"\nSCRIPT_COMMIT=\"bf3f425fc758dc8247924e3ea00afc93afd4ed7d\"\n\nffbuild_enabled() {\n    return 0\n}\n\nffbuild_dockerdl() {\n    default_dl .\n    echo \"git submodule update --init --recursive --depth=1\"\n}\n\nffbuild_dockerbuild() {\n    ./autogen.sh\n\n    local myconf=(\n        --prefix=\"$FFBUILD_PREFIX\"\n        --disable-shared\n        --enable-static\n        --with-pic\n    )\n\n    if [[ $TARGET == win* || $TARGET == linux* ]]; then\n        myconf+=(\n            --host=\"$FFBUILD_TOOLCHAIN\"\n        )\n    else\n        echo \"Unknown target\"\n        return -1\n    fi\n\n    ./configure \"${myconf[@]}\"\n    make -j$(nproc)\n    make install DESTDIR=\"$FFBUILD_DESTDIR\"\n}\n\nffbuild_configure() {\n    echo --enable-libzimg\n}\n\nffbuild_unconfigure() {\n    echo --disable-libzimg\n}\n"
  },
  {
    "path": "scripts.d/50-zvbi.sh",
    "content": "#!/bin/bash\n\nSCRIPT_REPO=\"https://github.com/zapping-vbi/zvbi\"\nSCRIPT_COMMIT=\"41477c97c8edf7a01f1594b2a95b94f0117eed21\"\n\nffbuild_depends() {\n    echo base\n    echo libiconv\n}\n\nffbuild_enabled() {\n    return 0\n}\n\nffbuild_dockerbuild() {\n    ./autogen.sh\n\n    local myconf=(\n        --prefix=\"$FFBUILD_PREFIX\"\n        --disable-shared\n        --enable-static\n        --with-pic\n        --without-doxygen\n        --without-x\n        --disable-dvb\n        --disable-bktr\n        --disable-nls\n        --disable-proxy\n    )\n\n    if [[ $TARGET == win* || $TARGET == linux* ]]; then\n        myconf+=(\n            --host=\"$FFBUILD_TOOLCHAIN\"\n        )\n    else\n        echo \"Unknown target\"\n        return -1\n    fi\n\n    ./configure \"${myconf[@]}\"\n    make -C src -j$(nproc)\n    make -C src install DESTDIR=\"$FFBUILD_DESTDIR\"\n    make SUBDIRS=. install DESTDIR=\"$FFBUILD_DESTDIR\"\n}\n\nffbuild_configure() {\n    echo --enable-libzvbi\n}\n\nffbuild_unconfigure() {\n    echo --disable-libzvbi\n}\n"
  },
  {
    "path": "scripts.d/99-rpath.sh",
    "content": "#!/bin/bash\n\nSCRIPT_SKIP=\"1\"\n\nffbuild_enabled() {\n    [[ $TARGET == linux* ]]\n}\n\nffbuild_dockerfinal() {\n    return 0\n}\n\nffbuild_dockerdl() {\n    true\n}\n\nffbuild_dockerlayer() {\n    return 0\n}\n\nffbuild_dockerstage() {\n    return 0\n}\n\nffbuild_dockerbuild() {\n    return 0\n}\n\nffbuild_ldexeflags() {\n    echo '-pie'\n\n    if [[ $VARIANT == *shared* ]]; then\n        # Can't escape escape hell\n        echo -Wl,-rpath='\\\\\\\\\\\\\\$\\\\\\$ORIGIN'\n        echo -Wl,-rpath='\\\\\\\\\\\\\\$\\\\\\$ORIGIN/../lib'\n    fi\n}\n"
  },
  {
    "path": "scripts.d/zz-final.sh",
    "content": "#!/bin/bash\n\nSCRIPT_SKIP=\"1\"\n\nffbuild_depends() {\n    echo libiconv\n    echo zlib\n    echo fribidi\n    echo gmp\n    echo libxml2\n    echo openssl\n    echo xz\n    echo fonts\n    echo lcevcdec\n    echo libvorbis\n    echo opencl\n    echo pulseaudio\n    echo vmaf\n    echo x11\n    echo vulkan\n    echo amf\n    echo aom\n    echo aribb24\n    echo avisynth\n    echo chromaprint\n    echo dav1d\n    echo davs2\n    echo dvd\n    echo fdk-aac\n    echo ffnvcodec\n    echo frei0r\n    echo gme\n    echo kvazaar\n    echo libaribcaption\n    echo libass\n    echo libbluray\n    echo libjxl\n    echo libmp3lame\n    echo libopus\n    echo libplacebo\n    echo librist\n    echo libssh\n    echo libtheora\n    echo libvpx\n    echo libwebp\n    echo libzmq\n    echo lilv\n    echo onevpl\n    echo openal\n    echo openapv\n    echo opencore-amr\n    echo openh264\n    echo openjpeg\n    echo openmpt\n    echo rav1e\n    echo rubberband\n    echo schannel\n    echo sdl\n    echo snappy\n    echo soxr\n    echo srt\n    echo svtav1\n    echo twolame\n    echo uavs3d\n    echo vaapi\n    echo vidstab\n    echo vvenc\n    echo whisper\n    echo x264\n    echo x265\n    echo xavs2\n    echo xvid\n    echo zimg\n    echo zvbi\n\n    echo rpath\n}\n\nffbuild_enabled() {\n    return 0\n}\n\nffbuild_dockerfinal() {\n    return 0\n}\n\nffbuild_dockerdl() {\n    return 0\n}\n\nffbuild_dockerlayer() {\n    return 0\n}\n\nffbuild_dockerstage() {\n    return 0\n}\n\nffbuild_dockerbuild() {\n    return 0\n}\n\nffbuild_ldexeflags() {\n    return 0\n}\n"
  },
  {
    "path": "util/clean_cache.sh",
    "content": "#!/bin/bash\nset -xe\ncd \"$(dirname \"$0\")\"/../.cache/downloads\nfind . $(printf \"! -name %s \" $(find . -type l -exec basename -a {} + -exec readlink {} +)) -delete\n"
  },
  {
    "path": "util/dl_functions.sh",
    "content": "#!/bin/bash\n\ndefault_dl() {\n    echo \"git-mini-clone \\\"$SCRIPT_REPO\\\" \\\"$SCRIPT_COMMIT\\\" \\\"$1\\\"\"\n}\n\nffbuild_dockerdl() {\n    default_dl .\n}\n"
  },
  {
    "path": "util/get_dl_cache_tag.sh",
    "content": "#!/bin/bash\nset -eo pipefail\ncd \"$(dirname \"$0\")\"\n../download.sh hashonly | sha256sum | cut -d\" \" -f1\n"
  },
  {
    "path": "util/prunetags.sh",
    "content": "#!/bin/bash\nset -e\ngit fetch --tags\nTAGS=( $(git tag -l \"autobuild-*\" | sort -r) )\n\nKEEP_LATEST=14\nKEEP_MONTHLY=24\n\nLATEST_TAGS=()\nMONTHLY_TAGS=()\n\nCUR_MONTH=\"-1\"\n\nfor TAG in ${TAGS[@]}; do\n    if [[ ${#LATEST_TAGS[@]} -lt ${KEEP_LATEST} ]]; then\n        LATEST_TAGS+=( \"$TAG\" )\n    fi\n\n    if [[ ${#MONTHLY_TAGS[@]} -lt ${KEEP_MONTHLY} ]]; then\n        TAG_MONTH=\"$(echo $TAG | cut -d- -f3)\"\n\n        if [[ ${TAG_MONTH} != ${CUR_MONTH} ]]; then\n            CUR_MONTH=\"${TAG_MONTH}\"\n            MONTHLY_TAGS+=( \"$TAG\" )\n        fi\n    fi\ndone\n\nfor TAG in ${LATEST_TAGS[@]} ${MONTHLY_TAGS[@]}; do\n    TAGS=( \"${TAGS[@]/$TAG}\" )\ndone\n\nfor TAG in ${TAGS[@]}; do\n    echo \"Deleting ${TAG}\"\n    gh release delete --cleanup-tag --yes \"${TAG}\"\ndone\n\ngit push --tags --prune\n"
  },
  {
    "path": "util/repack_latest.sh",
    "content": "#!/bin/bash\nset -e\n\nif [[ $# -lt 2 ]]; then\n    echo \"Missing arguments\"\n    exit -1\nfi\n\nRELEASE_DIR=\"$(realpath \"$1\")\"\nshift\nmkdir -p \"$RELEASE_DIR\"\n\nrm -rf repack_dir\nmkdir repack_dir\ntrap \"rm -rf repack_dir\" EXIT\n\nwhile [[ $# -gt 0 ]]; do\n    INPUT=\"$1\"\n    shift\n\n    (\n        set -e\n        REPACK_DIR=\"repack_dir/$BASHPID\"\n        rm -rf \"$REPACK_DIR\"\n        mkdir \"$REPACK_DIR\"\n\n        if [[ $INPUT == *.zip ]]; then\n            unzip \"$INPUT\" -d \"$REPACK_DIR\"\n        elif [[ $INPUT == *.tar.xz ]]; then\n            tar xvaf \"$INPUT\" -C \"$REPACK_DIR\"\n        else\n            echo \"Unknown input file type: $INPUT\"\n            exit 1\n        fi\n\n        cd \"$REPACK_DIR\"\n\n        INAME=\"$(echo ffmpeg-*)\"\n        TAGNAME=\"$(cut -d- -f2 <<<\"$INAME\")\"\n\n        if [[ $TAGNAME == N ]]; then\n            TAGNAME=\"master\"\n        elif [[ $TAGNAME == n* ]]; then\n            TAGNAME=\"$(sed -re 's/([0-9]+\\.[0-9]+).*/\\1/' <<<\"$TAGNAME\")\"\n        fi\n\n        if [[ \"$INAME\" =~ -[0-9]+-g ]]; then\n            ONAME=\"ffmpeg-$TAGNAME-latest-$(cut -d- -f5- <<<\"$INAME\")\"\n        else\n            ONAME=\"ffmpeg-$TAGNAME-latest-$(cut -d- -f3- <<<\"$INAME\")\"\n        fi\n\n        mv \"$INAME\" \"$ONAME\"\n\n        if [[ $INPUT == *.zip ]]; then\n            zip -9 -r \"$RELEASE_DIR/$ONAME.zip\" \"$ONAME\"\n        elif [[ $INPUT == *.tar.xz ]]; then\n            tar cvJf \"$RELEASE_DIR/$ONAME.tar.xz\" \"$ONAME\"\n        fi\n\n        rm -rf \"$REPACK_DIR\"\n    ) &\n\n    while [[ $(jobs | wc -l) -gt 3 ]]; do\n        wait %1\n    done\ndone\n\nwhile [[ $(jobs | wc -l) -gt 0 ]]; do\n    wait %1\ndone\nrm -rf repack_dir\n"
  },
  {
    "path": "util/run_stage.sh",
    "content": "#!/bin/bash\nset -xe\n\nexport RAW_CFLAGS=\"$CFLAGS\"\nexport RAW_CXXFLAGS=\"$CXXFLAGS\"\nexport RAW_LDFLAGS=\"$LDFLAGS\"\n[[ -n \"$STAGE_CFLAGS\" ]] && export CFLAGS=\"$CFLAGS $STAGE_CFLAGS\"\n[[ -n \"$STAGE_CXXFLAGS\" ]] && export CXXFLAGS=\"$CXXFLAGS $STAGE_CXXFLAGS\"\n[[ -n \"$STAGE_LDFLAGS\" ]] && export LDFLAGS=\"$LDFLAGS $STAGE_LDFLAGS\"\n\nif [[ -n \"$STAGENAME\" && -f /cache.tar.xz ]]; then\n    mkdir -p \"/$STAGENAME\"\n    tar xaf /cache.tar.xz -C \"/$STAGENAME\"\n    cd \"/$STAGENAME\"\nelif [[ -n \"$STAGENAME\" ]]; then\n    mkdir -p \"/$STAGENAME\"\n    cd \"/$STAGENAME\"\nfi\n\ngit config --global --add safe.directory \"$PWD\"\n\nsource \"$1\"\nif [[ -z \"$2\" ]]; then\n    ffbuild_dockerbuild\nelse\n    \"$2\"\nfi\n\n# If this is a sub-stage, hardlink-copy the DESTDIR into the PREFIX.\n# So the following layers can actually use the installed stuff.\nif [[ \"$SELF\" == */??-*/??-*.sh && -d \"$FFBUILD_DESTDIR\" ]]; then\n    cp -al \"$FFBUILD_DESTDIR\"/. /\nfi\n\nrm -rf \"$FFBUILD_DESTPREFIX\"/bin\n\nif [[ -n \"$STAGENAME\" ]]; then\n    rm -rf \"/$STAGENAME\"\nfi\n"
  },
  {
    "path": "util/update_scripts.sh",
    "content": "#!/bin/bash\nset -eo pipefail\nshopt -s globstar\nexport LC_ALL=C\n\ncd \"$(dirname \"$0\")\"/..\n\nfor scr in scripts.d/**/*.sh; do\necho \"Processing ${scr}\"\n(\n    source \"$scr\"\n\n    if [[ -n \"$SCRIPT_SKIP\" ]]; then\n        exit 0\n    fi\n\n    for i in \"\" $(seq 2 9); do\n        REPO_VAR=\"SCRIPT_REPO$i\"\n        COMMIT_VAR=\"SCRIPT_COMMIT$i\"\n        REV_VAR=\"SCRIPT_REV$i\"\n        HGREV_VAR=\"SCRIPT_HGREV$i\"\n        BRANCH_VAR=\"SCRIPT_BRANCH$i\"\n        TAGFILTER_VAR=\"SCRIPT_TAGFILTER$i\"\n\n        CUR_REPO=\"${!REPO_VAR}\"\n        CUR_COMMIT=\"${!COMMIT_VAR}\"\n        CUR_REV=\"${!REV_VAR}\"\n        CUR_HGREV=\"${!HGREV_VAR}\"\n        CUR_BRANCH=\"${!BRANCH_VAR}\"\n        CUR_TAGFILTER=\"${!TAGFILTER_VAR}\"\n\n        if [[ -z \"${CUR_REPO}\" ]]; then\n            if [[ -z \"$i\" ]]; then\n                # Mark scripts without repo source for manual check\n                echo \"xxx_CHECKME_xxx\" >> \"$scr\"\n                echo \"Needs manual check.\"\n            fi\n            break\n        fi\n\n        if [[ -n \"${CUR_REV}\" ]]; then # SVN\n            echo \"Checking svn rev for ${CUR_REPO}...\"\n            NEW_REV=\"$(svn --non-interactive info --username \"anonymous\" --password=\"\" \"${CUR_REPO}\" | grep ^Revision: | cut -d\" \" -f2 | xargs)\"\n            echo \"Got ${NEW_REV} (current: ${CUR_REV})\"\n\n            if [[ \"${NEW_REV}\" != \"${CUR_REV}\" ]]; then\n                echo \"Updating ${scr}\"\n                sed -i \"s/^${REV_VAR}=.*/${REV_VAR}=\\\"${NEW_REV}\\\"/\" \"${scr}\"\n            fi\n        elif [[ -n \"${CUR_HGREV}\" ]]; then # HG\n            hg init tmphgrepo\n            trap \"rm -rf tmphgrepo\" EXIT\n            cd tmphgrepo\n            NEW_HGREV=\"$(hg in -f -n -l 1 \"${CUR_REPO}\" | grep changeset | cut -d: -f3 | xargs)\"\n            cd ..\n            rm -rf tmphgrepo\n\n            echo \"Got ${NEW_HGREV} (current: ${CUR_HGREV})\"\n\n            if [[ \"${NEW_HGREV}\" != \"${CUR_HGREV}\" ]]; then\n                echo \"Updating ${scr}\"\n                sed -i \"s/^${HGREV_VAR}=.*/${HGREV_VAR}=\\\"${NEW_HGREV}\\\"/\" \"${scr}\"\n            fi\n        elif [[ -n \"${CUR_COMMIT}\" ]]; then # GIT\n            if [[ -n \"${CUR_TAGFILTER}\" ]]; then\n                NEW_COMMIT=\"$(git -c 'versionsort.suffix=-' ls-remote --exit-code --tags --refs --sort \"v:refname\" \"${CUR_REPO}\" \"refs/tags/${CUR_TAGFILTER}\" | tail -n1 | cut -d/ -f3- | xargs)\"\n            else\n                if [[ -z \"${CUR_BRANCH}\" ]]; then\n                    # Fetch default branch name\n                    CUR_BRANCH=\"$(git remote show \"${CUR_REPO}\" | grep \"HEAD branch:\" | cut -d\":\" -f2 | xargs)\"\n                    echo \"Found default branch ${CUR_BRANCH}\"\n                fi\n                NEW_COMMIT=\"$(git ls-remote --exit-code --heads --refs \"${CUR_REPO}\" refs/heads/\"${CUR_BRANCH}\" | cut -f1)\"\n            fi\n\n            echo \"Got ${NEW_COMMIT} (current: ${CUR_COMMIT})\"\n\n            if [[ \"${NEW_COMMIT}\" != \"${CUR_COMMIT}\" ]]; then\n                echo \"Updating ${scr}\"\n                sed -i \"s/^${COMMIT_VAR}=.*/${COMMIT_VAR}=\\\"${NEW_COMMIT}\\\"/\" \"${scr}\"\n            fi\n        else\n            # Mark scripts with unknown layout for manual check\n            echo \"xxx_CHECKME_UNKNOWN_xxx\" >> \"$scr\"\n            echo \"Unknown layout. Needs manual check.\"\n            break\n        fi\n    done\n)\necho\ndone\n"
  },
  {
    "path": "util/update_wiki.sh",
    "content": "#!/bin/bash\nset -e\n\nif [[ $# != 2 ]]; then\n    echo \"Missing arguments\"\n    exit -1\nfi\n\nif [[ -z \"$GITHUB_REPOSITORY\" || -z \"$GITHUB_TOKEN\" || -z \"$GITHUB_ACTOR\" ]]; then\n    echo \"Missing environment\"\n    exit -1\nfi\n\nINPUTS=\"$1\"\nTAGNAME=\"$2\"\n\nWIKIPATH=\"tmp_wiki\"\nWIKIFILE=\"Latest.md\"\ngit clone \"https://${GITHUB_ACTOR}:${GITHUB_TOKEN}@github.com/${GITHUB_REPOSITORY}.wiki.git\" \"${WIKIPATH}\"\n\necho \"# Latest Autobuilds\" > \"${WIKIPATH}/${WIKIFILE}\"\nfor f in \"${INPUTS}\"/*.txt; do\n    VARIANT=\"$(basename \"${f::-4}\")\"\n    echo >> \"${WIKIPATH}/${WIKIFILE}\"\n    echo \"[${VARIANT}](https://github.com/${GITHUB_REPOSITORY}/releases/download/${TAGNAME}/$(cat \"${f}\"))\" >> \"${WIKIPATH}/${WIKIFILE}\"\ndone\n\ncd \"${WIKIPATH}\"\ngit config user.email \"actions@github.com\"\ngit config user.name \"Github Actions\"\ngit add \"$WIKIFILE\"\ngit commit -m \"Update latest version info\"\ngit push\n\ncd ..\nrm -rf \"$WIKIPATH\"\n"
  },
  {
    "path": "util/vars.sh",
    "content": "#!/bin/bash\n\nif [[ $# -lt 2 ]]; then\n    echo \"Invalid Arguments\"\n    exit -1\nfi\n\nTARGET=\"$1\"\nVARIANT=\"$2\"\nshift 2\n\nif ! [[ -f \"variants/${TARGET}-${VARIANT}.sh\" ]]; then\n    echo \"Invalid target/variant\"\n    exit -1\nfi\n\nLICENSE_FILE=\"COPYING.LGPLv2.1\"\n\nADDINS=()\nADDINS_STR=\"\"\nwhile [[ \"$#\" -gt 0 ]]; do\n    if ! [[ -f \"addins/${1}.sh\" ]]; then\n        echo \"Invalid addin: $1\"\n        exit -1\n    fi\n\n    ADDINS+=( \"$1\" )\n    ADDINS_STR=\"${ADDINS_STR}${ADDINS_STR:+-}$1\"\n\n    shift\ndone\n\nREPO=\"${GITHUB_REPOSITORY:-btbn/ffmpeg-builds}\"\nREPO=\"${REPO,,}\"\nREGISTRY=\"${REGISTRY_OVERRIDE:-ghcr.io}\"\nBASE_IMAGE=\"${REGISTRY}/${REPO}/base:latest\"\nTARGET_IMAGE=\"${REGISTRY}/${REPO}/base-${TARGET}:latest\"\nIMAGE=\"${REGISTRY}/${REPO}/${TARGET}-${VARIANT}${ADDINS_STR:+-}${ADDINS_STR}:latest\"\n\nffbuild_ffver() {\n    case \"$ADDINS_STR\" in\n    *4.3*)\n        echo 403\n        ;;\n    *4.4*)\n        echo 404\n        ;;\n    *5.0*)\n        echo 500\n        ;;\n    *5.1*)\n        echo 501\n        ;;\n    *6.0*)\n        echo 600\n        ;;\n    *6.1*)\n        echo 601\n        ;;\n    *7.0*)\n        echo 700\n        ;;\n    *7.1*)\n        echo 701\n        ;;\n    *8.0*)\n        echo 800\n        ;;\n    *)\n        echo 99999999\n        ;;\n    esac\n}\n\n\nffbuild_depends() {\n    echo base\n}\n\nffbuild_dockerstage() {\n    if [[ -n \"$SELFCACHE\" ]]; then\n        to_df \"RUN --mount=src=${SELF},dst=/stage.sh --mount=src=${SELFCACHE},dst=/cache.tar.xz run_stage /stage.sh\"\n    else\n        to_df \"RUN --mount=src=${SELF},dst=/stage.sh run_stage /stage.sh\"\n    fi\n}\n\nffbuild_dockerlayer() {\n    to_df \"COPY --link --from=${SELFLAYER} \\$FFBUILD_DESTPREFIX/. \\$FFBUILD_PREFIX\"\n}\n\nffbuild_dockerfinal() {\n    to_df \"COPY --link --from=${PREVLAYER} \\$FFBUILD_PREFIX/. \\$FFBUILD_PREFIX\"\n}\n\nffbuild_configure() {\n    return 0\n}\n\nffbuild_unconfigure() {\n    return 0\n}\n\nffbuild_cflags() {\n    return 0\n}\n\nffbuild_uncflags() {\n    return 0\n}\n\nffbuild_cxxflags() {\n    return 0\n}\n\nffbuild_uncxxflags() {\n    return 0\n}\n\nffbuild_ldexeflags() {\n    return 0\n}\n\nffbuild_unldexeflags() {\n    return 0\n}\n\nffbuild_ldflags() {\n    return 0\n}\n\nffbuild_unldflags() {\n    return 0\n}\n\nffbuild_libs() {\n    return 0\n}\n\nffbuild_unlibs() {\n    return 0\n}\n"
  },
  {
    "path": "variants/defaults-gpl-shared.sh",
    "content": "#!/bin/bash\nsource \"$(dirname \"$BASH_SOURCE\")\"/defaults-gpl.sh\nFF_CONFIGURE+=\" --enable-shared --disable-static\"\n"
  },
  {
    "path": "variants/defaults-gpl.sh",
    "content": "FF_CONFIGURE=\"--enable-gpl --enable-version3 --disable-debug\"\nFF_CFLAGS=\"\"\nFF_CXXFLAGS=\"\"\nFF_LDFLAGS=\"\"\nGIT_BRANCH=\"master\"\nLICENSE_FILE=\"COPYING.GPLv3\"\n"
  },
  {
    "path": "variants/defaults-lgpl-shared.sh",
    "content": "#!/bin/bash\nsource \"$(dirname \"$BASH_SOURCE\")\"/defaults-lgpl.sh\nFF_CONFIGURE+=\" --enable-shared --disable-static\"\n"
  },
  {
    "path": "variants/defaults-lgpl.sh",
    "content": "FF_CONFIGURE=\"--enable-version3 --disable-debug\"\nFF_CFLAGS=\"\"\nFF_CXXFLAGS=\"\"\nFF_LDFLAGS=\"\"\nGIT_BRANCH=\"master\"\nLICENSE_FILE=\"COPYING.LGPLv3\"\n"
  },
  {
    "path": "variants/dl-only.sh",
    "content": "#!/bin/bash\n"
  },
  {
    "path": "variants/linux-install-shared.sh",
    "content": "#!/bin/bash\n\npackage_variant() {\n    IN=\"$1\"\n    OUT=\"$2\"\n\n    mkdir -p \"$OUT\"/bin\n    cp \"$IN\"/bin/* \"$OUT\"/bin\n\n    mkdir -p \"$OUT\"/lib\n    cp -a \"$IN\"/lib/*.so* \"$OUT\"/lib\n\n    mkdir -p \"$OUT\"/lib/pkgconfig\n    cp -a \"$IN\"/lib/pkgconfig/*.pc \"$OUT\"/lib/pkgconfig\n    sed -i \\\n        -e 's|^prefix=.*|prefix=${pcfiledir}/../..|' \\\n        -e 's|/ffbuild/prefix|${prefix}|' \\\n        -e '/Libs.private:/d' \\\n        \"$OUT\"/lib/pkgconfig/*.pc\n\n    mkdir -p \"$OUT\"/include\n    cp -r \"$IN\"/include/* \"$OUT\"/include\n\n    mkdir -p \"$OUT\"/doc\n    cp -r \"$IN\"/share/doc/ffmpeg/* \"$OUT\"/doc\n\n    mkdir -p \"$OUT/man\"\n    cp -r \"$IN\"/share/man/* \"$OUT\"/man\n\n    mkdir -p \"$OUT/presets\"\n    cp \"$IN\"/share/ffmpeg/*.ffpreset \"$OUT\"/presets\n}\n"
  },
  {
    "path": "variants/linux-install-static.sh",
    "content": "#!/bin/bash\n\npackage_variant() {\n    IN=\"$1\"\n    OUT=\"$2\"\n\n    mkdir -p \"$OUT\"/bin\n    cp \"$IN\"/bin/* \"$OUT\"/bin\n\n    mkdir -p \"$OUT/doc\"\n    cp -r \"$IN\"/share/doc/ffmpeg/* \"$OUT\"/doc\n\n    mkdir -p \"$OUT/man\"\n    cp -r \"$IN\"/share/man/* \"$OUT\"/man\n\n    mkdir -p \"$OUT/presets\"\n    cp \"$IN\"/share/ffmpeg/*.ffpreset \"$OUT\"/presets\n}\n"
  },
  {
    "path": "variants/linux32-gpl-shared.sh",
    "content": "#!/bin/bash\nsource \"$(dirname \"$BASH_SOURCE\")\"/linux-install-shared.sh\nsource \"$(dirname \"$BASH_SOURCE\")\"/defaults-gpl-shared.sh\n"
  },
  {
    "path": "variants/linux32-gpl.sh",
    "content": "#!/bin/bash\nsource \"$(dirname \"$BASH_SOURCE\")\"/linux-install-static.sh\nsource \"$(dirname \"$BASH_SOURCE\")\"/defaults-gpl.sh\n"
  },
  {
    "path": "variants/linux32-lgpl-shared.sh",
    "content": "#!/bin/bash\nsource \"$(dirname \"$BASH_SOURCE\")\"/linux-install-shared.sh\nsource \"$(dirname \"$BASH_SOURCE\")\"/defaults-lgpl-shared.sh\n"
  },
  {
    "path": "variants/linux32-lgpl.sh",
    "content": "#!/bin/bash\nsource \"$(dirname \"$BASH_SOURCE\")\"/linux-install-static.sh\nsource \"$(dirname \"$BASH_SOURCE\")\"/defaults-lgpl.sh\n"
  },
  {
    "path": "variants/linux32-nonfree-shared.sh",
    "content": "#!/bin/bash\nsource \"$(dirname \"$BASH_SOURCE\")\"/linux32-gpl-shared.sh\nFF_CONFIGURE=\"--enable-nonfree $FF_CONFIGURE\"\n"
  },
  {
    "path": "variants/linux32-nonfree.sh",
    "content": "#!/bin/bash\nsource \"$(dirname \"$BASH_SOURCE\")\"/linux32-gpl.sh\nFF_CONFIGURE=\"--enable-nonfree $FF_CONFIGURE\"\nLICENSE_FILE=\"\"\n"
  },
  {
    "path": "variants/linux64-gpl-shared.sh",
    "content": "#!/bin/bash\nsource \"$(dirname \"$BASH_SOURCE\")\"/linux-install-shared.sh\nsource \"$(dirname \"$BASH_SOURCE\")\"/defaults-gpl-shared.sh\n"
  },
  {
    "path": "variants/linux64-gpl.sh",
    "content": "#!/bin/bash\nsource \"$(dirname \"$BASH_SOURCE\")\"/linux-install-static.sh\nsource \"$(dirname \"$BASH_SOURCE\")\"/defaults-gpl.sh\n"
  },
  {
    "path": "variants/linux64-lgpl-shared.sh",
    "content": "#!/bin/bash\nsource \"$(dirname \"$BASH_SOURCE\")\"/linux-install-shared.sh\nsource \"$(dirname \"$BASH_SOURCE\")\"/defaults-lgpl-shared.sh\n"
  },
  {
    "path": "variants/linux64-lgpl.sh",
    "content": "#!/bin/bash\nsource \"$(dirname \"$BASH_SOURCE\")\"/linux-install-static.sh\nsource \"$(dirname \"$BASH_SOURCE\")\"/defaults-lgpl.sh\n"
  },
  {
    "path": "variants/linux64-nonfree-shared.sh",
    "content": "#!/bin/bash\nsource \"$(dirname \"$BASH_SOURCE\")\"/linux64-gpl-shared.sh\nFF_CONFIGURE=\"--enable-nonfree $FF_CONFIGURE\"\n"
  },
  {
    "path": "variants/linux64-nonfree.sh",
    "content": "#!/bin/bash\nsource \"$(dirname \"$BASH_SOURCE\")\"/linux64-gpl.sh\nFF_CONFIGURE=\"--enable-nonfree $FF_CONFIGURE\"\nLICENSE_FILE=\"\"\n"
  },
  {
    "path": "variants/linuxarm64-gpl-shared.sh",
    "content": "#!/bin/bash\nsource \"$(dirname \"$BASH_SOURCE\")\"/linux-install-shared.sh\nsource \"$(dirname \"$BASH_SOURCE\")\"/defaults-gpl-shared.sh\n"
  },
  {
    "path": "variants/linuxarm64-gpl.sh",
    "content": "#!/bin/bash\nsource \"$(dirname \"$BASH_SOURCE\")\"/linux-install-static.sh\nsource \"$(dirname \"$BASH_SOURCE\")\"/defaults-gpl.sh\n"
  },
  {
    "path": "variants/linuxarm64-lgpl-shared.sh",
    "content": "#!/bin/bash\nsource \"$(dirname \"$BASH_SOURCE\")\"/linux-install-shared.sh\nsource \"$(dirname \"$BASH_SOURCE\")\"/defaults-lgpl-shared.sh\n"
  },
  {
    "path": "variants/linuxarm64-lgpl.sh",
    "content": "#!/bin/bash\nsource \"$(dirname \"$BASH_SOURCE\")\"/linux-install-static.sh\nsource \"$(dirname \"$BASH_SOURCE\")\"/defaults-lgpl.sh\n"
  },
  {
    "path": "variants/linuxarm64-nonfree-shared.sh",
    "content": "#!/bin/bash\nsource \"$(dirname \"$BASH_SOURCE\")\"/linuxarm64-gpl-shared.sh\nFF_CONFIGURE=\"--enable-nonfree $FF_CONFIGURE\"\n"
  },
  {
    "path": "variants/linuxarm64-nonfree.sh",
    "content": "#!/bin/bash\nsource \"$(dirname \"$BASH_SOURCE\")\"/linuxarm64-gpl.sh\nFF_CONFIGURE=\"--enable-nonfree $FF_CONFIGURE\"\nLICENSE_FILE=\"\"\n"
  },
  {
    "path": "variants/linuxmips64-gpl-shared.sh",
    "content": "#!/bin/bash\nsource \"$(dirname \"$BASH_SOURCE\")\"/linux-install-shared.sh\nsource \"$(dirname \"$BASH_SOURCE\")\"/defaults-gpl-shared.sh\n"
  },
  {
    "path": "variants/linuxmips64-gpl.sh",
    "content": "#!/bin/bash\nsource \"$(dirname \"$BASH_SOURCE\")\"/linux-install-static.sh\nsource \"$(dirname \"$BASH_SOURCE\")\"/defaults-gpl.sh\n"
  },
  {
    "path": "variants/linuxmips64-lgpl-shared.sh",
    "content": "#!/bin/bash\nsource \"$(dirname \"$BASH_SOURCE\")\"/linux-install-shared.sh\nsource \"$(dirname \"$BASH_SOURCE\")\"/defaults-lgpl-shared.sh\n"
  },
  {
    "path": "variants/linuxmips64-lgpl.sh",
    "content": "#!/bin/bash\nsource \"$(dirname \"$BASH_SOURCE\")\"/linux-install-static.sh\nsource \"$(dirname \"$BASH_SOURCE\")\"/defaults-lgpl.sh\n"
  },
  {
    "path": "variants/linuxmips64-nonfree-shared.sh",
    "content": "#!/bin/bash\nsource \"$(dirname \"$BASH_SOURCE\")\"/linuxmips64-gpl-shared.sh\nFF_CONFIGURE=\"--enable-nonfree $FF_CONFIGURE\"\n"
  },
  {
    "path": "variants/linuxmips64-nonfree.sh",
    "content": "#!/bin/bash\nsource \"$(dirname \"$BASH_SOURCE\")\"/linuxmips64-gpl.sh\nFF_CONFIGURE=\"--enable-nonfree $FF_CONFIGURE\"\nLICENSE_FILE=\"\"\n"
  },
  {
    "path": "variants/linuxppc64-gpl-shared.sh",
    "content": "#!/bin/bash\nsource \"$(dirname \"$BASH_SOURCE\")\"/linux-install-shared.sh\nsource \"$(dirname \"$BASH_SOURCE\")\"/defaults-gpl-shared.sh\n"
  },
  {
    "path": "variants/linuxppc64-gpl.sh",
    "content": "#!/bin/bash\nsource \"$(dirname \"$BASH_SOURCE\")\"/linux-install-static.sh\nsource \"$(dirname \"$BASH_SOURCE\")\"/defaults-gpl.sh\n"
  },
  {
    "path": "variants/linuxppc64-lgpl-shared.sh",
    "content": "#!/bin/bash\nsource \"$(dirname \"$BASH_SOURCE\")\"/linux-install-shared.sh\nsource \"$(dirname \"$BASH_SOURCE\")\"/defaults-lgpl-shared.sh\n"
  },
  {
    "path": "variants/linuxppc64-lgpl.sh",
    "content": "#!/bin/bash\nsource \"$(dirname \"$BASH_SOURCE\")\"/linux-install-static.sh\nsource \"$(dirname \"$BASH_SOURCE\")\"/defaults-lgpl.sh\n"
  },
  {
    "path": "variants/linuxppc64-nonfree-shared.sh",
    "content": "#!/bin/bash\nsource \"$(dirname \"$BASH_SOURCE\")\"/linuxppc64-gpl-shared.sh\nFF_CONFIGURE=\"--enable-nonfree $FF_CONFIGURE\"\n"
  },
  {
    "path": "variants/linuxppc64-nonfree.sh",
    "content": "#!/bin/bash\nsource \"$(dirname \"$BASH_SOURCE\")\"/linuxppc64-gpl.sh\nFF_CONFIGURE=\"--enable-nonfree $FF_CONFIGURE\"\nLICENSE_FILE=\"\"\n"
  },
  {
    "path": "variants/linuxriscv64-gpl-shared.sh",
    "content": "#!/bin/bash\nsource \"$(dirname \"$BASH_SOURCE\")\"/linux-install-shared.sh\nsource \"$(dirname \"$BASH_SOURCE\")\"/defaults-gpl-shared.sh\n"
  },
  {
    "path": "variants/linuxriscv64-gpl.sh",
    "content": "#!/bin/bash\nsource \"$(dirname \"$BASH_SOURCE\")\"/linux-install-static.sh\nsource \"$(dirname \"$BASH_SOURCE\")\"/defaults-gpl.sh\n"
  },
  {
    "path": "variants/linuxriscv64-lgpl-shared.sh",
    "content": "#!/bin/bash\nsource \"$(dirname \"$BASH_SOURCE\")\"/linux-install-shared.sh\nsource \"$(dirname \"$BASH_SOURCE\")\"/defaults-lgpl-shared.sh\n"
  },
  {
    "path": "variants/linuxriscv64-lgpl.sh",
    "content": "#!/bin/bash\nsource \"$(dirname \"$BASH_SOURCE\")\"/linux-install-static.sh\nsource \"$(dirname \"$BASH_SOURCE\")\"/defaults-lgpl.sh\n"
  },
  {
    "path": "variants/linuxriscv64-nonfree-shared.sh",
    "content": "#!/bin/bash\nsource \"$(dirname \"$BASH_SOURCE\")\"/linuxriscv64-gpl-shared.sh\nFF_CONFIGURE=\"--enable-nonfree $FF_CONFIGURE\"\n"
  },
  {
    "path": "variants/linuxriscv64-nonfree.sh",
    "content": "#!/bin/bash\nsource \"$(dirname \"$BASH_SOURCE\")\"/linuxriscv64-gpl.sh\nFF_CONFIGURE=\"--enable-nonfree $FF_CONFIGURE\"\nLICENSE_FILE=\"\"\n"
  },
  {
    "path": "variants/win32-gpl-shared.sh",
    "content": "#!/bin/bash\nsource \"$(dirname \"$BASH_SOURCE\")\"/windows-install-shared.sh\nsource \"$(dirname \"$BASH_SOURCE\")\"/defaults-gpl-shared.sh\n"
  },
  {
    "path": "variants/win32-gpl.sh",
    "content": "#!/bin/bash\nsource \"$(dirname \"$BASH_SOURCE\")\"/windows-install-static.sh\nsource \"$(dirname \"$BASH_SOURCE\")\"/defaults-gpl.sh\n"
  },
  {
    "path": "variants/win32-lgpl-shared.sh",
    "content": "#!/bin/bash\nsource \"$(dirname \"$BASH_SOURCE\")\"/windows-install-shared.sh\nsource \"$(dirname \"$BASH_SOURCE\")\"/defaults-lgpl-shared.sh\n"
  },
  {
    "path": "variants/win32-lgpl.sh",
    "content": "#!/bin/bash\nsource \"$(dirname \"$BASH_SOURCE\")\"/windows-install-static.sh\nsource \"$(dirname \"$BASH_SOURCE\")\"/defaults-lgpl.sh\n"
  },
  {
    "path": "variants/win32-nonfree-shared.sh",
    "content": "#!/bin/bash\nsource \"$(dirname \"$BASH_SOURCE\")\"/win32-gpl-shared.sh\nFF_CONFIGURE=\"--enable-nonfree $FF_CONFIGURE\"\n"
  },
  {
    "path": "variants/win32-nonfree.sh",
    "content": "#!/bin/bash\nsource \"$(dirname \"$BASH_SOURCE\")\"/win32-gpl.sh\nFF_CONFIGURE=\"--enable-nonfree $FF_CONFIGURE\"\nLICENSE_FILE=\"\"\n"
  },
  {
    "path": "variants/win64-gpl-shared.sh",
    "content": "#!/bin/bash\nsource \"$(dirname \"$BASH_SOURCE\")\"/windows-install-shared.sh\nsource \"$(dirname \"$BASH_SOURCE\")\"/defaults-gpl-shared.sh\n"
  },
  {
    "path": "variants/win64-gpl.sh",
    "content": "#!/bin/bash\nsource \"$(dirname \"$BASH_SOURCE\")\"/windows-install-static.sh\nsource \"$(dirname \"$BASH_SOURCE\")\"/defaults-gpl.sh\n"
  },
  {
    "path": "variants/win64-lgpl-shared.sh",
    "content": "#!/bin/bash\nsource \"$(dirname \"$BASH_SOURCE\")\"/windows-install-shared.sh\nsource \"$(dirname \"$BASH_SOURCE\")\"/defaults-lgpl-shared.sh\n"
  },
  {
    "path": "variants/win64-lgpl.sh",
    "content": "#!/bin/bash\nsource \"$(dirname \"$BASH_SOURCE\")\"/windows-install-static.sh\nsource \"$(dirname \"$BASH_SOURCE\")\"/defaults-lgpl.sh\n"
  },
  {
    "path": "variants/win64-nonfree-shared.sh",
    "content": "#!/bin/bash\nsource \"$(dirname \"$BASH_SOURCE\")\"/win64-gpl-shared.sh\nFF_CONFIGURE=\"--enable-nonfree $FF_CONFIGURE\"\n"
  },
  {
    "path": "variants/win64-nonfree.sh",
    "content": "#!/bin/bash\nsource \"$(dirname \"$BASH_SOURCE\")\"/win64-gpl.sh\nFF_CONFIGURE=\"--enable-nonfree $FF_CONFIGURE\"\nLICENSE_FILE=\"\"\n"
  },
  {
    "path": "variants/winarm64-gpl-shared.sh",
    "content": "#!/bin/bash\nsource \"$(dirname \"$BASH_SOURCE\")\"/windows-install-shared.sh\nsource \"$(dirname \"$BASH_SOURCE\")\"/defaults-gpl-shared.sh\n"
  },
  {
    "path": "variants/winarm64-gpl.sh",
    "content": "#!/bin/bash\nsource \"$(dirname \"$BASH_SOURCE\")\"/windows-install-static.sh\nsource \"$(dirname \"$BASH_SOURCE\")\"/defaults-gpl.sh\n"
  },
  {
    "path": "variants/winarm64-lgpl-shared.sh",
    "content": "#!/bin/bash\nsource \"$(dirname \"$BASH_SOURCE\")\"/windows-install-shared.sh\nsource \"$(dirname \"$BASH_SOURCE\")\"/defaults-lgpl-shared.sh\n"
  },
  {
    "path": "variants/winarm64-lgpl.sh",
    "content": "#!/bin/bash\nsource \"$(dirname \"$BASH_SOURCE\")\"/windows-install-static.sh\nsource \"$(dirname \"$BASH_SOURCE\")\"/defaults-lgpl.sh\n"
  },
  {
    "path": "variants/winarm64-nonfree-shared.sh",
    "content": "#!/bin/bash\nsource \"$(dirname \"$BASH_SOURCE\")\"/win64-gpl-shared.sh\nFF_CONFIGURE=\"--enable-nonfree $FF_CONFIGURE\"\n"
  },
  {
    "path": "variants/winarm64-nonfree.sh",
    "content": "#!/bin/bash\nsource \"$(dirname \"$BASH_SOURCE\")\"/win64-gpl.sh\nFF_CONFIGURE=\"--enable-nonfree $FF_CONFIGURE\"\nLICENSE_FILE=\"\"\n"
  },
  {
    "path": "variants/windows-install-shared.sh",
    "content": "#!/bin/bash\n\npackage_variant() {\n    IN=\"$1\"\n    OUT=\"$2\"\n\n    mkdir -p \"$OUT\"/bin\n    cp \"$IN\"/bin/*.{exe,dll} \"$OUT\"/bin\n\n    mkdir -p \"$OUT\"/lib\n    cp \"$IN\"/bin/*.lib \"$OUT\"/lib\n    cp \"$IN\"/lib/*.{def,dll.a} \"$OUT\"/lib\n\n    mkdir -p \"$OUT\"/lib/pkgconfig\n    cp -a \"$IN\"/lib/pkgconfig/*.pc \"$OUT\"/lib/pkgconfig\n    sed -i \\\n        -e 's|^prefix=.*|prefix=${pcfiledir}/../..|' \\\n        -e 's|/ffbuild/prefix|${prefix}|' \\\n        -e '/Libs.private:/d' \\\n        \"$OUT\"/lib/pkgconfig/*.pc\n\n    mkdir -p \"$OUT\"/include\n    cp -r \"$IN\"/include/* \"$OUT\"/include\n\n    mkdir -p \"$OUT\"/doc\n    cp -r \"$IN\"/share/doc/ffmpeg/* \"$OUT\"/doc\n\n    mkdir -p \"$OUT/presets\"\n    cp \"$IN\"/share/ffmpeg/*.ffpreset \"$OUT\"/presets\n}\n"
  },
  {
    "path": "variants/windows-install-static.sh",
    "content": "#!/bin/bash\n\npackage_variant() {\n    IN=\"$1\"\n    OUT=\"$2\"\n\n    mkdir -p \"$OUT\"/bin\n    cp \"$IN\"/bin/* \"$OUT\"/bin\n\n    mkdir -p \"$OUT/doc\"\n    cp -r \"$IN\"/share/doc/ffmpeg/* \"$OUT\"/doc\n\n    mkdir -p \"$OUT/presets\"\n    cp \"$IN\"/share/ffmpeg/*.ffpreset \"$OUT\"/presets\n}\n"
  }
]