Compare commits

..

No commits in common. "master" and "autobuild-2021-11-30-12-21" have entirely different histories.

161 changed files with 750 additions and 5488 deletions

View file

@ -5,71 +5,39 @@ on:
paths-ignore: paths-ignore:
- '**.md' - '**.md'
- 'LICENSE' - 'LICENSE'
workflow_dispatch: repository_dispatch:
inputs: types: [build]
doRelease:
description: 'Publish new release'
type: boolean
default: false
required: false
buildOnly:
description: 'Only build ffmpeg'
type: boolean
default: false
required: false
schedule: schedule:
- cron: '0 12 * * *' - cron: '0 12 * * *'
env: env:
DOCKER_BUILDKIT: 1 DOCKER_BUILDKIT: 1
HAVE_CLEANUP_PAT: ${{ secrets.CLEANUP_PAT != '' }}
jobs: jobs:
pre_check:
name: Pre Checks
if: ${{ github.event.inputs.buildOnly != 'true' }}
runs-on: ubuntu-latest
steps:
- name: Repo Check
run: |
if [[ "$GITHUB_REPOSITORY" != "BtbN/FFmpeg-Builds" ]]; then
echo "When forking this repository to make your own builds, you have to adjust this check."
echo "When doing so make sure to randomize the scheduled cron time above, in order to spread out the various build times as much as possible."
echo "This has been put in place due to the enormous amounts of traffic hundreds/thousands of parallel builds can cause on external infrastructure."
exit 1
fi
exit 0
build_base: build_base:
name: Build base image name: Build base image
if: ${{ github.event.inputs.buildOnly != 'true' }}
needs: pre_check
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- name: Checkout - name: Checkout
uses: actions/checkout@v3 uses: actions/checkout@v2
- name: Install buildx - name: Install buildx
uses: docker/setup-buildx-action@v2 uses: docker/setup-buildx-action@v1
with: with:
config: .github/buildkit.toml config: .github/buildkit.toml
driver-opts: image=moby/buildkit:v0.9.1
- name: Login to Docker - name: Login to Docker
uses: docker/login-action@v2 uses: docker/login-action@v1
with: with:
registry: ghcr.io registry: ghcr.io
username: ${{ github.actor }} username: ${{ github.actor }}
password: ${{ github.token }} password: ${{ github.token }}
- name: Image Name - name: Image Name
id: imagename id: imagename
run: | run: echo "::set-output name=name::ghcr.io/${GITHUB_REPOSITORY,,}/base"
IMG="${GITHUB_REPOSITORY,,}/base"
DLIMG="${GITHUB_REPOSITORY,,}/dl_cache"
echo "name=ghcr.io/${IMG/ /-}" >> $GITHUB_OUTPUT
echo "rawname=${IMG/ /-}" >> $GITHUB_OUTPUT
echo "dlname=ghcr.io/${DLIMG/ /-}" >> $GITHUB_OUTPUT
echo "dlrawname=${DLIMG/ /-}" >> $GITHUB_OUTPUT
- name: Stop Commands - name: Stop Commands
run: T="$(echo -n ${{ github.token }} | sha256sum | head -c 64)" && echo -e "::add-mask::${T}\n::stop-commands::${T}" run: T="$(echo -n ${{ github.token }} | sha256sum | head -c 64)" && echo -e "::add-mask::${T}\n::stop-commands::${T}"
- name: Build target base image - name: Build target base image
uses: docker/build-push-action@v3 uses: docker/build-push-action@v2
with: with:
context: images/base context: images/base
pull: true pull: true
@ -77,78 +45,35 @@ jobs:
tags: ${{ steps.imagename.outputs.name }}:latest tags: ${{ steps.imagename.outputs.name }}:latest
cache-to: type=registry,mode=max,ref=${{ steps.imagename.outputs.name }}:cache cache-to: type=registry,mode=max,ref=${{ steps.imagename.outputs.name }}:cache
cache-from: type=registry,ref=${{ steps.imagename.outputs.name }}:cache cache-from: type=registry,ref=${{ steps.imagename.outputs.name }}:cache
- name: Generate download cache Dockerfile
id: dl_cache
run: |
./generate.sh dl only
echo "dltagname=$(./util/get_dl_cache_tag.sh)" >> $GITHUB_OUTPUT
cat Dockerfile.dl
- name: Build download cache image
uses: docker/build-push-action@v3
with:
context: .
file: Dockerfile.dl
pull: true
push: true
tags: ${{ steps.imagename.outputs.dlname }}:${{ steps.dl_cache.outputs.dltagname }}
cache-to: type=registry,mode=max,ref=${{ steps.imagename.outputs.dlname }}:cache
cache-from: type=registry,ref=${{ steps.imagename.outputs.dlname }}:cache
- name: Cleanup
if: ${{ env.HAVE_CLEANUP_PAT == 'true' }}
continue-on-error: true
uses: BtbN/delete-untagged-ghcr-action@main
with:
token: ${{ secrets.CLEANUP_PAT }}
package_name: ${{ steps.imagename.outputs.rawname }}
repository_owner: ${{ github.repository_owner }}
repository: ${{ github.repository }}
owner_type: user
untagged_only: true
- name: Cleanup Download Cache
if: ${{ env.HAVE_CLEANUP_PAT == 'true' }}
continue-on-error: true
uses: BtbN/delete-untagged-ghcr-action@main
with:
token: ${{ secrets.CLEANUP_PAT }}
package_name: ${{ steps.imagename.outputs.dlrawname }}
repository_owner: ${{ github.repository_owner }}
repository: ${{ github.repository }}
owner_type: user
untagged_only: false
keep_latest: 20
build_target_bases: build_target_bases:
name: Build target base image name: Build target base image
if: ${{ github.event.inputs.buildOnly != 'true' }}
needs: build_base needs: build_base
runs-on: ubuntu-latest runs-on: ubuntu-latest
strategy: strategy:
fail-fast: false fail-fast: false
matrix: matrix:
target: [win64,linux64,linuxarm64] target: [win64,linux64]
steps: steps:
- name: Checkout - name: Checkout
uses: actions/checkout@v3 uses: actions/checkout@v2
- name: Install buildx - name: Install buildx
uses: docker/setup-buildx-action@v2 uses: docker/setup-buildx-action@v1
with: with:
config: .github/buildkit.toml config: .github/buildkit.toml
driver-opts: image=moby/buildkit:v0.9.1
- name: Login to Docker - name: Login to Docker
uses: docker/login-action@v2 uses: docker/login-action@v1
with: with:
registry: ghcr.io registry: ghcr.io
username: ${{ github.actor }} username: ${{ github.actor }}
password: ${{ github.token }} password: ${{ github.token }}
- name: Image Name - name: Image Name
id: imagename id: imagename
run: | run: echo "::set-output name=name::ghcr.io/${GITHUB_REPOSITORY,,}/base-${{ matrix.target }}"
IMG="${GITHUB_REPOSITORY,,}/base-${{ matrix.target }}"
echo "name=ghcr.io/${IMG/ /-}" >> $GITHUB_OUTPUT
echo "rawname=${IMG/ /-}" >> $GITHUB_OUTPUT
echo "gh_repo=${GITHUB_REPOSITORY,,}" >> $GITHUB_OUTPUT
- name: Stop Commands - name: Stop Commands
run: T="$(echo -n ${{ github.token }} | sha256sum | head -c 64)" && echo -e "::add-mask::${T}\n::stop-commands::${T}" run: T="$(echo -n ${{ github.token }} | sha256sum | head -c 64)" && echo -e "::add-mask::${T}\n::stop-commands::${T}"
- name: Build target base image - name: Build target base image
uses: docker/build-push-action@v3 uses: docker/build-push-action@v2
with: with:
context: images/base-${{ matrix.target }} context: images/base-${{ matrix.target }}
pull: true pull: true
@ -156,38 +81,25 @@ jobs:
tags: ${{ steps.imagename.outputs.name }}:latest tags: ${{ steps.imagename.outputs.name }}:latest
cache-to: type=registry,mode=max,ref=${{ steps.imagename.outputs.name }}:cache cache-to: type=registry,mode=max,ref=${{ steps.imagename.outputs.name }}:cache
cache-from: type=registry,ref=${{ steps.imagename.outputs.name }}:cache cache-from: type=registry,ref=${{ steps.imagename.outputs.name }}:cache
build-args: |
GH_REPO=ghcr.io/${{ steps.imagename.outputs.gh_repo }}
- name: Cleanup
if: ${{ env.HAVE_CLEANUP_PAT == 'true' }}
continue-on-error: true
uses: BtbN/delete-untagged-ghcr-action@main
with:
token: ${{ secrets.CLEANUP_PAT }}
package_name: ${{ steps.imagename.outputs.rawname }}
repository_owner: ${{ github.repository_owner }}
repository: ${{ github.repository }}
owner_type: user
untagged_only: true
build_targets: build_targets:
name: Build target-variant image name: Build target-variant image
if: ${{ github.event.inputs.buildOnly != 'true' }}
needs: build_target_bases needs: build_target_bases
runs-on: ubuntu-latest runs-on: ubuntu-latest
strategy: strategy:
fail-fast: false fail-fast: false
matrix: matrix:
target: [win64,linux64,linuxarm64] target: [win64,linux64]
variant: [gpl,lgpl,gpl 4.4,gpl 5.1,gpl 6.0,lgpl 4.4,lgpl 5.1,lgpl 6.0,gpl-shared,lgpl-shared,gpl-shared 4.4,gpl-shared 5.1,gpl-shared 6.0,lgpl-shared 4.4,lgpl-shared 5.1,lgpl-shared 6.0] variant: [gpl,lgpl,gpl 4.4,lgpl 4.4,gpl-shared,lgpl-shared,gpl-shared 4.4,lgpl-shared 4.4]
steps: steps:
- name: Checkout - name: Checkout
uses: actions/checkout@v3 uses: actions/checkout@v2
- name: Install buildx - name: Install buildx
uses: docker/setup-buildx-action@v2 uses: docker/setup-buildx-action@v1
with: with:
config: .github/buildkit.toml config: .github/buildkit.toml
driver-opts: image=moby/buildkit:v0.9.1
- name: Login to Docker - name: Login to Docker
uses: docker/login-action@v2 uses: docker/login-action@v1
with: with:
registry: ghcr.io registry: ghcr.io
username: ${{ github.actor }} username: ${{ github.actor }}
@ -197,13 +109,12 @@ jobs:
- name: Image Name - name: Image Name
id: imagename id: imagename
run: | run: |
IMG="${GITHUB_REPOSITORY,,}/${{ matrix.target }}-${{ matrix.variant }}" IMG="ghcr.io/${GITHUB_REPOSITORY,,}/${{ matrix.target }}-${{ matrix.variant }}"
echo "name=ghcr.io/${IMG/ /-}" >> $GITHUB_OUTPUT echo "::set-output name=name::${IMG/ /-}"
echo "rawname=${IMG/ /-}" >> $GITHUB_OUTPUT
- name: Stop Commands - name: Stop Commands
run: T="$(echo -n ${{ github.token }} | sha256sum | head -c 64)" && echo -e "::add-mask::${T}\n::stop-commands::${T}" run: T="$(echo -n ${{ github.token }} | sha256sum | head -c 64)" && echo -e "::add-mask::${T}\n::stop-commands::${T}"
- name: Build target base image - name: Build target base image
uses: docker/build-push-action@v3 uses: docker/build-push-action@v2
with: with:
context: . context: .
pull: true pull: true
@ -211,32 +122,20 @@ jobs:
tags: ${{ steps.imagename.outputs.name }}:latest tags: ${{ steps.imagename.outputs.name }}:latest
cache-to: type=registry,mode=max,ref=${{ steps.imagename.outputs.name }}:cache cache-to: type=registry,mode=max,ref=${{ steps.imagename.outputs.name }}:cache
cache-from: type=registry,ref=${{ steps.imagename.outputs.name }}:cache cache-from: type=registry,ref=${{ steps.imagename.outputs.name }}:cache
- name: Cleanup
if: ${{ env.HAVE_CLEANUP_PAT == 'true' }}
continue-on-error: true
uses: BtbN/delete-untagged-ghcr-action@main
with:
token: ${{ secrets.CLEANUP_PAT }}
package_name: ${{ steps.imagename.outputs.rawname }}
repository_owner: ${{ github.repository_owner }}
repository: ${{ github.repository }}
owner_type: user
untagged_only: true
build_ffmpeg: build_ffmpeg:
name: Build ffmpeg name: Build ffmpeg
if: ${{ ( github.event.inputs.buildOnly == 'true' && !cancelled() ) || success() }}
needs: build_targets needs: build_targets
runs-on: ubuntu-latest runs-on: ubuntu-latest
strategy: strategy:
fail-fast: false fail-fast: false
matrix: matrix:
target: [win64,linux64,linuxarm64] target: [win64,linux64]
variant: [gpl,lgpl,gpl 4.4,gpl 5.1,gpl 6.0,lgpl 4.4,lgpl 5.1,lgpl 6.0,gpl-shared,lgpl-shared,gpl-shared 4.4,gpl-shared 5.1,gpl-shared 6.0,lgpl-shared 4.4,lgpl-shared 5.1,lgpl-shared 6.0] variant: [gpl,lgpl,gpl 4.4,lgpl 4.4,gpl-shared,lgpl-shared,gpl-shared 4.4,lgpl-shared 4.4]
steps: steps:
- name: Checkout - name: Checkout
uses: actions/checkout@v3 uses: actions/checkout@v2
- name: Login to Docker - name: Login to Docker
uses: docker/login-action@v2 uses: docker/login-action@v1
with: with:
registry: ghcr.io registry: ghcr.io
username: ${{ github.actor }} username: ${{ github.actor }}
@ -246,20 +145,20 @@ jobs:
T="$(echo -n ${{ github.token }} | sha256sum | head -c 64)" && echo -e "::add-mask::${T}\n::stop-commands::${T}" T="$(echo -n ${{ github.token }} | sha256sum | head -c 64)" && echo -e "::add-mask::${T}\n::stop-commands::${T}"
./build.sh ${{ matrix.target }} ${{ matrix.variant }} ./build.sh ${{ matrix.target }} ${{ matrix.variant }}
- name: Upload artifacts - name: Upload artifacts
uses: actions/upload-artifact@v3 uses: actions/upload-artifact@v2
with: with:
name: ffmpeg name: ffmpeg
path: artifacts/* path: artifacts/*
publish_release: publish_release:
name: Publish release name: Publish release
if: ${{ !cancelled() && ( github.event_name == 'schedule' || github.event.inputs.doRelease == 'true' ) && needs.build_ffmpeg.result == 'success' }} if: github.event_name != 'push'
needs: build_ffmpeg needs: build_ffmpeg
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- name: Checkout - name: Checkout
uses: actions/checkout@v3 uses: actions/checkout@v2
- name: Download artifacts - name: Download artifacts
uses: actions/download-artifact@v3 uses: actions/download-artifact@v2
with: with:
name: ffmpeg name: ffmpeg
path: artifacts path: artifacts
@ -267,27 +166,10 @@ jobs:
id: create_release id: create_release
run: | run: |
set -xe set -xe
shopt -s nullglob NAME="Auto-Build $(date +'%Y-%m-%d %H:%M')"
RELDATE="$(date +'%Y-%m-%d %H:%M')"
NAME="Auto-Build $RELDATE"
TAGNAME="autobuild-$(date +'%Y-%m-%d-%H-%M')" TAGNAME="autobuild-$(date +'%Y-%m-%d-%H-%M')"
hub release create $(for a in artifacts/*.{zip,tar.xz}; do echo -a $a; done) -m "$NAME" -t "master" "$TAGNAME" hub release create $(for a in artifacts/*.{zip,tar.xz}; do echo -a $a; done) -m "$NAME" -t "master" "$TAGNAME"
echo "tag_name=${TAGNAME}" >> $GITHUB_OUTPUT echo "::set-output name=tag_name::${TAGNAME}"
echo "rel_date=${RELDATE}" >> $GITHUB_OUTPUT
env:
GITHUB_TOKEN: ${{ github.token }}
- name: Update Latest
run: |
set -xe
shopt -s nullglob
mkdir latest_artifacts
./util/repack_latest.sh latest_artifacts artifacts/*.{zip,tar.xz}
NAME="Latest Auto-Build (${{ steps.create_release.outputs.rel_date }})"
TAGNAME="latest"
hub release delete "$TAGNAME" || true
git push --delete origin "$TAGNAME" || true
sleep 15
hub release create $(for a in latest_artifacts/*; do echo -a $a; done) -m "$NAME" -t "master" "$TAGNAME"
env: env:
GITHUB_TOKEN: ${{ github.token }} GITHUB_TOKEN: ${{ github.token }}
- name: Update Wiki - name: Update Wiki

View file

@ -17,35 +17,22 @@ jobs:
strategy: strategy:
fail-fast: false fail-fast: false
matrix: matrix:
target: [win64,linux64,linuxarm64] target: [win64,linux64]
variant: [lgpl,gpl 6.0,gpl 5.1,lgpl 6.0,lgpl 5.1,gpl-shared,lgpl-shared,gpl-shared 6.0,gpl-shared 5.1,lgpl-shared 6.0,lgpl-shared 5.1] variant: [gpl,lgpl,gpl 4.4,lgpl 4.4,gpl-shared,lgpl-shared,gpl-shared 4.4,lgpl-shared 4.4]
quickbuild: [1]
include:
- target: win64
variant: gpl
quickbuild: ''
- target: linux64
variant: gpl
quickbuild: ''
- target: linuxarm64
variant: gpl
quickbuild: ''
steps: steps:
- name: Checkout - name: Checkout
uses: actions/checkout@v3 uses: actions/checkout@v2
- name: Install buildx - name: Install buildx
uses: docker/setup-buildx-action@v2 uses: docker/setup-buildx-action@v1
with: with:
config: .github/buildkit.toml config: .github/buildkit.toml
driver: docker driver-opts: image=moby/buildkit:v0.9.1
- name: Build Image - name: Build Image
run: ./makeimage.sh ${{ matrix.target }} ${{ matrix.variant }} run: ./makeimage.sh ${{ matrix.target }} ${{ matrix.variant }}
env:
QUICKBUILD: ${{ matrix.quickbuild }}
- name: Build ffmpeg - name: Build ffmpeg
run: ./build.sh ${{ matrix.target }} ${{ matrix.variant }} run: ./build.sh ${{ matrix.target }} ${{ matrix.variant }}
- name: Upload artifacts - name: Upload artifacts
uses: actions/upload-artifact@v3 uses: actions/upload-artifact@v2
with: with:
name: ffmpeg name: ffmpeg
path: artifacts/* path: artifacts/*

3
.gitignore vendored
View file

@ -1,4 +1,3 @@
/Dockerfile* /Dockerfile
/ffbuild/ /ffbuild/
/artifacts/ /artifacts/
/.cache/

View file

@ -4,21 +4,18 @@ Static Windows (x86_64) and Linux (x86_64) Builds of ffmpeg master and latest re
Windows builds are targetting Windows 7 and newer. Windows builds are targetting Windows 7 and newer.
Linux (x86_64) builds are targetting Ubuntu 16.04 (glibc-2.23 + linux-4.4) and anything more recent. Linux builds are targetting Ubuntu 16.04 (glibc-2.23 + linux-4.4) and anything more recent.
Linux (arm64) builds are targetting Ubuntu 18.04 (glibc-2.27 + linux-4.15) and anything more recent.
## Auto-Builds ## Auto-Builds
Builds run daily at 12:00 UTC (or GitHubs idea of that time) and are automatically released on success. Builds run daily at 12:00 UTC (or GitHubs idea of that time) and are automatically released on success.
**Auto-Builds run ONLY for win64 and linux(arm)64. There are no win32/x86 auto-builds, though you can produce win32 builds yourself following the instructions below.** **Auto-Builds run ONLY for win64 and linux64. There are no win32/x86 auto-builds, though you can produce win32 builds yourself following the instructions below.**
### Release Retention Policy ### Release Retention Policy
- The last build of each month is kept for two years. - The last build of each month is kept for two years.
- The last 14 daily builds are kept. - The last 14 daily builds are kept.
- The special "latest" build floats and provides consistent URLs always pointing to the latest build.
## Package List ## Package List
@ -34,11 +31,11 @@ Every file corresponds to its respective package.
### Build Image ### Build Image
* `./makeimage.sh target variant [addin [addin] [addin] ...]` * `./makeimage.sh target variant [addins]`
### Build FFmpeg ### Build FFmpeg
* `./build.sh target variant [addin [addin] [addin] ...]` * `./build.sh target variant [addins]`
On success, the resulting zip file will be in the `artifacts` subdir. On success, the resulting zip file will be in the `artifacts` subdir.
@ -48,22 +45,13 @@ Available targets:
* `win64` (x86_64 Windows) * `win64` (x86_64 Windows)
* `win32` (x86 Windows) * `win32` (x86 Windows)
* `linux64` (x86_64 Linux, glibc>=2.23, linux>=4.4) * `linux64` (x86_64 Linux, glibc>=2.23, linux>=4.4)
* `linuxarm64` (arm64 (aarch64) Linux, glibc>=2.27, linux>=4.15)
The linuxarm64 target will not build some dependencies due to lack of arm64 (aarch64) architecture support or cross-compiling restrictions. Available:
* `davs2` and `xavs2`: aarch64 support is broken.
* `libmfx` and `libva`: Library for Intel QSV, so there is no aarch64 support.
Available variants:
* `gpl` Includes all dependencies, even those that require full GPL instead of just LGPL. * `gpl` Includes all dependencies, even those that require full GPL instead of just LGPL.
* `lgpl` Lacking libraries that are GPL-only. Most prominently libx264 and libx265. * `lgpl` Lacking libraries that are GPL-only. Most prominently libx264 and libx265.
* `nonfree` Includes fdk-aac in addition to all the dependencies of the gpl variant.
* `gpl-shared` Same as gpl, but comes with the libav* family of shared libs instead of pure static executables. * `gpl-shared` Same as gpl, but comes with the libav* family of shared libs instead of pure static executables.
* `lgpl-shared` Same again, but with the lgpl set of dependencies. * `lgpl-shared` Same again, but with the lgpl set of dependencies.
* `nonfree-shared` Same again, but with the nonfree set of dependencies.
All of those can be optionally combined with any combination of addins: All of those can be optionally combined with any combination of addins.
* `4.4`/`5.0`/`5.1`/`6.0` to build from the respective release branch instead of master. * `4.4` to build from the 4.4 release branch instead of master.
* `debug` to not strip debug symbols from the binaries. This increases the output size by about 250MB. * `debug` to not strip debug symbols from the binaries. This increases the output size by about 250MB.
* `lto` build all dependencies and ffmpeg with -flto=auto (HIGHLY EXPERIMENTAL, broken for Windows, sometimes works for Linux)

View file

@ -1,2 +0,0 @@
#!/bin/bash
GIT_BRANCH="release/5.0"

View file

@ -1,2 +0,0 @@
#!/bin/bash
GIT_BRANCH="release/5.1"

View file

@ -1,2 +0,0 @@
#!/bin/bash
GIT_BRANCH="release/6.0"

View file

@ -1,7 +0,0 @@
#!/bin/bash
FF_CONFIGURE="$FF_CONFIGURE --enable-lto"
ffbuild_dockeraddin() {
to_df 'ENV CFLAGS="$CFLAGS -flto=auto" CXXFLAGS="$CXXFLAGS -flto=auto" LDFLAGS="$LDFLAGS -flto=auto"'
to_df 'ENV FFBUILD_TARGET_FLAGS="$FFBUILD_TARGET_FLAGS --ar=${FFBUILD_TOOLCHAIN}-gcc-ar --nm=${FFBUILD_TOOLCHAIN}-gcc-nm --ranlib=${FFBUILD_TOOLCHAIN}-gcc-ranlib"'
}

View file

@ -90,16 +90,16 @@ package_variant ffbuild/prefix "ffbuild/pkgroot/$BUILD_NAME"
cd ffbuild/pkgroot cd ffbuild/pkgroot
if [[ "${TARGET}" == win* ]]; then if [[ "${TARGET}" == win* ]]; then
OUTPUT_FNAME="${BUILD_NAME}.zip" OUTPUT_FNAME="${BUILD_NAME}.zip"
docker run --rm -i $TTY_ARG "${UIDARGS[@]}" -v "${ARTIFACTS_PATH}":/out -v "${PWD}/${BUILD_NAME}":"/${BUILD_NAME}" -w / "$IMAGE" zip -9 -r "/out/${OUTPUT_FNAME}" "$BUILD_NAME" zip -9 -r "${ARTIFACTS_PATH}/${OUTPUT_FNAME}" "$BUILD_NAME"
else else
OUTPUT_FNAME="${BUILD_NAME}.tar.xz" OUTPUT_FNAME="${BUILD_NAME}.tar.xz"
docker run --rm -i $TTY_ARG "${UIDARGS[@]}" -v "${ARTIFACTS_PATH}":/out -v "${PWD}/${BUILD_NAME}":"/${BUILD_NAME}" -w / "$IMAGE" tar cJf "/out/${OUTPUT_FNAME}" "$BUILD_NAME" tar cJf "${ARTIFACTS_PATH}/${OUTPUT_FNAME}" "$BUILD_NAME"
fi fi
cd - cd -
rm -rf ffbuild rm -rf ffbuild
if [[ -n "$GITHUB_ACTIONS" ]]; then if [[ -n "$GITHUB_ACTIONS" ]]; then
echo "build_name=${BUILD_NAME}" >> "$GITHUB_OUTPUT" echo "::set-output name=build_name::${BUILD_NAME}"
echo "${OUTPUT_FNAME}" > "${ARTIFACTS_PATH}/${TARGET}-${VARIANT}${ADDINS_STR:+-}${ADDINS_STR}.txt" echo "${OUTPUT_FNAME}" > "${ARTIFACTS_PATH}/${TARGET}-${VARIANT}${ADDINS_STR:+-}${ADDINS_STR}.txt"
fi fi

View file

@ -1,95 +1,34 @@
#!/bin/bash #!/bin/bash
set -e set -xe
cd "$(dirname "$0")" cd "$(dirname "$0")"
source util/vars.sh source util/vars.sh
export LC_ALL=C.UTF-8 rm -f Dockerfile
rm -f Dockerfile Dockerfile.{dl,final,dl.final}
layername() { layername() {
printf "layer-" printf "layer-"
basename "$1" | sed 's/.sh$//' basename "$1" | sed 's/.sh$//'
} }
exec_dockerstage() {
SCRIPT="$1"
(
SELF="$SCRIPT"
source "$SCRIPT"
ffbuild_enabled || exit 0
ffbuild_dockerstage || exit $?
)
}
to_df() { to_df() {
_of="${TODF:-Dockerfile}" _of="${TODF:-Dockerfile}"
printf "$@" >> "$_of" printf "$@" >> "$_of"
echo >> "$_of" echo >> "$_of"
} }
default_dl() {
to_df "RUN git-mini-clone \"$SCRIPT_REPO\" \"$SCRIPT_COMMIT\" \"$1\""
}
###
### Generate download Dockerfile
###
exec_dockerstage_dl() {
SCRIPT="$1"
(
SELF="$SCRIPT"
SELFLAYER="$(layername "$STAGE")"
source "$SCRIPT"
ffbuild_dockerdl || exit $?
TODF="Dockerfile.dl.final" ffbuild_dockerlayer_dl || exit $?
)
}
export TODF="Dockerfile.dl"
to_df "FROM ${REGISTRY}/${REPO}/base:latest AS base"
to_df "ENV TARGET=$TARGET VARIANT=$VARIANT REPO=$REPO ADDINS_STR=$ADDINS_STR"
to_df "WORKDIR \$FFBUILD_DLDIR"
for STAGE in scripts.d/*.sh scripts.d/*/*.sh; do
to_df "FROM base AS $(layername "$STAGE")"
exec_dockerstage_dl "$STAGE"
done
to_df "FROM base AS intermediate"
cat Dockerfile.dl.final >> "$TODF"
rm Dockerfile.dl.final
to_df "FROM scratch"
to_df "COPY --from=intermediate /opt/ffdl/. /"
if [[ "$TARGET" == "dl" && "$VARIANT" == "only" ]]; then
exit 0
fi
DL_IMAGE="${DL_IMAGE_RAW}:$(./util/get_dl_cache_tag.sh)"
###
### Generate main Dockerfile
###
exec_dockerstage() {
SCRIPT="$1"
(
SELF="$SCRIPT"
source "$SCRIPT"
ffbuild_enabled || exit 0
to_df "ENV SELF=\"$SELF\""
ffbuild_dockerstage || exit $?
)
}
export TODF="Dockerfile"
to_df "FROM ${REGISTRY}/${REPO}/base-${TARGET}:latest AS base" to_df "FROM ${REGISTRY}/${REPO}/base-${TARGET}:latest AS base"
to_df "ENV TARGET=$TARGET VARIANT=$VARIANT REPO=$REPO ADDINS_STR=$ADDINS_STR" to_df "ENV TARGET=$TARGET VARIANT=$VARIANT REPO=$REPO ADDINS_STR=$ADDINS_STR"
for addin in "${ADDINS[@]}"; do
(
source addins/"${addin}.sh"
type ffbuild_dockeraddin &>/dev/null && ffbuild_dockeraddin || true
)
done
PREVLAYER="base" PREVLAYER="base"
for ID in $(ls -1d scripts.d/??-* | sed -s 's|^.*/\(..\).*|\1|' | sort -u); do for ID in $(ls -1d scripts.d/??-* | sed -s 's|^.*/\(..\).*|\1|' | sort -u); do
LAYER="layer-$ID" LAYER="layer-$ID"

View file

@ -1,8 +1,9 @@
ARG GH_REPO=ghcr.io/btbn/ffmpeg-builds ARG GH_REPO=btbn/ffmpeg-builds
FROM $GH_REPO/base:latest FROM ghcr.io/$GH_REPO/base:latest
ENV PATH="/opt/ct-ng/bin:${PATH}"
RUN --mount=src=ct-ng-config,dst=/.config \ RUN --mount=src=ct-ng-config,dst=/.config \
git clone --filter=blob:none https://github.com/crosstool-ng/crosstool-ng.git /ct-ng && cd /ct-ng && \ git clone https://github.com/crosstool-ng/crosstool-ng.git /ct-ng && cd /ct-ng && \
./bootstrap && \ ./bootstrap && \
./configure --enable-local && \ ./configure --enable-local && \
make -j$(nproc) && \ make -j$(nproc) && \
@ -19,43 +20,26 @@ RUN \
-and -not -name 'libdl.*' \ -and -not -name 'libdl.*' \
-and -not -name 'libc.*' \ -and -not -name 'libc.*' \
-and -not -name 'libm.*' \ -and -not -name 'libm.*' \
-and -not -name 'libmvec.*' \
-and -not -name 'librt.*' \
-and -not -name 'libpthread.*' \
-delete && \ -delete && \
find /opt/ct-ng \ find /opt/ct-ng \
-name 'libdl.a' \ -name 'libdl.a' \
-or -name 'libc.a' \ -or -name 'libc.a' \
-or -name 'libm.a' \ -or -name 'libm.a' \
-or -name 'libmvec.a' \ -delete
-or -name 'librt.a' \
-or -name 'libpthread.a' \
-delete && \
mkdir /opt/ffbuild
ADD toolchain.cmake /toolchain.cmake ADD toolchain.cmake /toolchain.cmake
ADD cross.meson /cross.meson ADD cross.meson /cross.meson
ADD gen-implib.sh /usr/bin/gen-implib ENV FFBUILD_TARGET_FLAGS="--pkg-config=pkg-config --cross-prefix=x86_64-ffbuild-linux-gnu- --arch=x86_64 --target-os=linux" \
RUN git clone --filter=blob:none --depth=1 https://github.com/yugr/Implib.so /opt/implib FFBUILD_TOOLCHAIN=x86_64-ffbuild-linux-gnu \
FFBUILD_CROSS_PREFIX="x86_64-ffbuild-linux-gnu-" \
ENV FFBUILD_TOOLCHAIN=x86_64-ffbuild-linux-gnu
ENV PATH="/opt/ct-ng/bin:${PATH}" \
FFBUILD_TARGET_FLAGS="--pkg-config=pkg-config --cross-prefix=${FFBUILD_TOOLCHAIN}- --arch=x86_64 --target-os=linux" \
FFBUILD_CROSS_PREFIX="${FFBUILD_TOOLCHAIN}-" \
FFBUILD_RUST_TARGET="x86_64-unknown-linux-gnu" \ FFBUILD_RUST_TARGET="x86_64-unknown-linux-gnu" \
FFBUILD_PREFIX=/opt/ffbuild \ FFBUILD_PREFIX=/opt/ffbuild \
FFBUILD_CMAKE_TOOLCHAIN=/toolchain.cmake \ FFBUILD_CMAKE_TOOLCHAIN=/toolchain.cmake \
PKG_CONFIG=pkg-config \ PKG_CONFIG=pkg-config \
PKG_CONFIG_LIBDIR=/opt/ffbuild/lib/pkgconfig:/opt/ffbuild/share/pkgconfig \ PKG_CONFIG_LIBDIR=/opt/ffbuild/lib/pkgconfig:/opt/ffbuild/share/pkgconfig \
CC="${FFBUILD_TOOLCHAIN}-gcc" \ CFLAGS="-static-libgcc -static-libstdc++ -I/opt/ffbuild/include -O2 -pipe -fPIC -DPIC -D_FORTIFY_SOURCE=2 -fstack-protector-strong -pthread" \
CXX="${FFBUILD_TOOLCHAIN}-g++" \ CXXFLAGS="-static-libgcc -static-libstdc++ -I/opt/ffbuild/include -O2 -pipe -fPIC -DPIC -D_FORTIFY_SOURCE=2 -fstack-protector-strong -pthread" \
LD="${FFBUILD_TOOLCHAIN}-ld" \ LDFLAGS="-static-libgcc -static-libstdc++ -L/opt/ffbuild/lib -O2 -pipe -fstack-protector-strong -Wl,-z,relro,-z,now -pthread -lm" \
AR="${FFBUILD_TOOLCHAIN}-gcc-ar" \
RANLIB="${FFBUILD_TOOLCHAIN}-gcc-ranlib" \
NM="${FFBUILD_TOOLCHAIN}-gcc-nm" \
CFLAGS="-static-libgcc -static-libstdc++ -I/opt/ffbuild/include -O2 -pipe -fPIC -DPIC -D_FORTIFY_SOURCE=2 -fstack-protector-strong -fstack-clash-protection -pthread" \
CXXFLAGS="-static-libgcc -static-libstdc++ -I/opt/ffbuild/include -O2 -pipe -fPIC -DPIC -D_FORTIFY_SOURCE=2 -fstack-protector-strong -fstack-clash-protection -pthread" \
LDFLAGS="-static-libgcc -static-libstdc++ -L/opt/ffbuild/lib -O2 -pipe -fstack-protector-strong -fstack-clash-protection -Wl,-z,relro,-z,now -pthread -lm" \
STAGE_CFLAGS="-fvisibility=hidden -fno-semantic-interposition" \ STAGE_CFLAGS="-fvisibility=hidden -fno-semantic-interposition" \
STAGE_CXXFLAGS="-fvisibility=hidden -fno-semantic-interposition" STAGE_CXXFLAGS="-fvisibility=hidden -fno-semantic-interposition"

View file

@ -2,8 +2,7 @@
c = 'x86_64-ffbuild-linux-gnu-gcc' c = 'x86_64-ffbuild-linux-gnu-gcc'
cpp = 'x86_64-ffbuild-linux-gnu-g++' cpp = 'x86_64-ffbuild-linux-gnu-g++'
ld = 'x86_64-ffbuild-linux-gnu-ld' ld = 'x86_64-ffbuild-linux-gnu-ld'
ar = 'x86_64-ffbuild-linux-gnu-gcc-ar' ar = 'x86_64-ffbuild-linux-gnu-ar'
ranlib = 'x86_64-ffbuild-linux-gnu-gcc-ranlib'
strip = 'x86_64-ffbuild-linux-gnu-strip' strip = 'x86_64-ffbuild-linux-gnu-strip'
[host_machine] [host_machine]

View file

@ -1,6 +1,6 @@
# #
# Automatically generated file; DO NOT EDIT. # Automatically generated file; DO NOT EDIT.
# crosstool-NG 1.25.0.196_227d99d Configuration # crosstool-NG 1.24.0.479_aa52493 Configuration
# #
CT_CONFIGURE_has_static_link=y CT_CONFIGURE_has_static_link=y
CT_CONFIGURE_has_cxx11=y CT_CONFIGURE_has_cxx11=y
@ -8,18 +8,16 @@ CT_CONFIGURE_has_wget=y
CT_CONFIGURE_has_curl=y CT_CONFIGURE_has_curl=y
CT_CONFIGURE_has_meson=y CT_CONFIGURE_has_meson=y
CT_CONFIGURE_has_ninja=y CT_CONFIGURE_has_ninja=y
CT_CONFIGURE_has_rsync=y
CT_CONFIGURE_has_make_3_81_or_newer=y CT_CONFIGURE_has_make_3_81_or_newer=y
CT_CONFIGURE_has_make_4_0_or_newer=y CT_CONFIGURE_has_make_4_0_or_newer=y
CT_CONFIGURE_has_libtool_2_4_or_newer=y CT_CONFIGURE_has_libtool_2_4_or_newer=y
CT_CONFIGURE_has_libtoolize_2_4_or_newer=y CT_CONFIGURE_has_libtoolize_2_4_or_newer=y
CT_CONFIGURE_has_autoconf_2_71_or_newer=y CT_CONFIGURE_has_autoconf_2_65_or_newer=y
CT_CONFIGURE_has_autoreconf_2_71_or_newer=y CT_CONFIGURE_has_autoreconf_2_65_or_newer=y
CT_CONFIGURE_has_automake_1_16_or_newer=y CT_CONFIGURE_has_automake_1_15_or_newer=y
CT_CONFIGURE_has_gnu_m4_1_4_12_or_newer=y CT_CONFIGURE_has_gnu_m4_1_4_12_or_newer=y
CT_CONFIGURE_has_python_3_4_or_newer=y CT_CONFIGURE_has_python_3_4_or_newer=y
CT_CONFIGURE_has_bison_2_7_or_newer=y CT_CONFIGURE_has_bison_2_7_or_newer=y
CT_CONFIGURE_has_bison_3_0_4_or_newer=y
CT_CONFIGURE_has_python=y CT_CONFIGURE_has_python=y
CT_CONFIGURE_has_svn=y CT_CONFIGURE_has_svn=y
CT_CONFIGURE_has_git=y CT_CONFIGURE_has_git=y
@ -28,11 +26,11 @@ CT_CONFIGURE_has_sha1sum=y
CT_CONFIGURE_has_sha256sum=y CT_CONFIGURE_has_sha256sum=y
CT_CONFIGURE_has_sha512sum=y CT_CONFIGURE_has_sha512sum=y
CT_CONFIGURE_has_install_with_strip_program=y CT_CONFIGURE_has_install_with_strip_program=y
CT_VERSION="1.25.0.196_227d99d" CT_VERSION="1.24.0.479_aa52493"
CT_VCHECK="" CT_VCHECK=""
CT_CONFIG_VERSION_ENV="4" CT_CONFIG_VERSION_ENV="3"
CT_CONFIG_VERSION_CURRENT="4" CT_CONFIG_VERSION_CURRENT="3"
CT_CONFIG_VERSION="4" CT_CONFIG_VERSION="3"
CT_MODULES=y CT_MODULES=y
# #
@ -46,7 +44,6 @@ CT_OBSOLETE=y
CT_EXPERIMENTAL=y CT_EXPERIMENTAL=y
CT_ALLOW_BUILD_AS_ROOT=y CT_ALLOW_BUILD_AS_ROOT=y
CT_ALLOW_BUILD_AS_ROOT_SURE=y CT_ALLOW_BUILD_AS_ROOT_SURE=y
# CT_ENABLE_EXPERIMENTAL_BUNDLED_PATCHES is not set
# CT_DEBUG_CT is not set # CT_DEBUG_CT is not set
# #
@ -65,7 +62,6 @@ CT_REMOVE_DOCS=y
# CT_PREFIX_DIR_RO is not set # CT_PREFIX_DIR_RO is not set
CT_STRIP_HOST_TOOLCHAIN_EXECUTABLES=y CT_STRIP_HOST_TOOLCHAIN_EXECUTABLES=y
CT_STRIP_TARGET_TOOLCHAIN_EXECUTABLES=y CT_STRIP_TARGET_TOOLCHAIN_EXECUTABLES=y
# CT_TARBALL_RESULT is not set
# #
# Downloading # Downloading
@ -123,11 +119,12 @@ CT_CONFIG_SHELL="${bash}"
# CT_LOG_ERROR is not set # CT_LOG_ERROR is not set
# CT_LOG_WARN is not set # CT_LOG_WARN is not set
# CT_LOG_INFO is not set # CT_LOG_INFO is not set
# CT_LOG_EXTRA is not set CT_LOG_EXTRA=y
# CT_LOG_ALL is not set # CT_LOG_ALL is not set
CT_LOG_DEBUG=y # CT_LOG_DEBUG is not set
CT_LOG_LEVEL_MAX="DEBUG" CT_LOG_LEVEL_MAX="EXTRA"
# CT_LOG_SEE_TOOLS_WARN is not set # CT_LOG_SEE_TOOLS_WARN is not set
# CT_LOG_PROGRESS_BAR is not set
# CT_LOG_TO_FILE is not set # CT_LOG_TO_FILE is not set
# end of Paths and misc options # end of Paths and misc options
@ -138,9 +135,7 @@ CT_LOG_LEVEL_MAX="DEBUG"
# CT_ARCH_ARC is not set # CT_ARCH_ARC is not set
# CT_ARCH_ARM is not set # CT_ARCH_ARM is not set
# CT_ARCH_AVR is not set # CT_ARCH_AVR is not set
# CT_ARCH_BPF is not set
# CT_ARCH_C6X is not set # CT_ARCH_C6X is not set
# CT_ARCH_LOONGARCH is not set
# CT_ARCH_M68K is not set # CT_ARCH_M68K is not set
# CT_ARCH_MICROBLAZE is not set # CT_ARCH_MICROBLAZE is not set
# CT_ARCH_MIPS is not set # CT_ARCH_MIPS is not set
@ -165,7 +160,7 @@ CT_ARCH_X86_SHOW=y
# Options for x86 # Options for x86
# #
CT_ARCH_X86_PKG_KSYM="" CT_ARCH_X86_PKG_KSYM=""
CT_ALL_ARCH_CHOICES="ALPHA ARC ARM AVR BPF C6X LOONGARCH M68K MICROBLAZE MIPS MOXIE MSP430 NIOS2 POWERPC PRU RISCV S390 SH SPARC X86 XTENSA" CT_ALL_ARCH_CHOICES="ALPHA ARC ARM AVR C6X M68K MICROBLAZE MIPS MOXIE MSP430 NIOS2 POWERPC PRU RISCV S390 SH SPARC X86 XTENSA"
CT_ARCH_SUFFIX="" CT_ARCH_SUFFIX=""
# CT_OMIT_TARGET_VENDOR is not set # CT_OMIT_TARGET_VENDOR is not set
@ -175,7 +170,6 @@ CT_ARCH_SUFFIX=""
# CT_MULTILIB is not set # CT_MULTILIB is not set
CT_DEMULTILIB=y CT_DEMULTILIB=y
CT_ARCH_USE_MMU=y CT_ARCH_USE_MMU=y
CT_ARCH_SUPPORTS_LIBSANITIZER=y
CT_ARCH_SUPPORTS_32=y CT_ARCH_SUPPORTS_32=y
CT_ARCH_SUPPORTS_64=y CT_ARCH_SUPPORTS_64=y
CT_ARCH_DEFAULT_32=y CT_ARCH_DEFAULT_32=y
@ -269,15 +263,6 @@ CT_LINUX_PATCH_GLOBAL=y
# CT_LINUX_PATCH_LOCAL_BUNDLED is not set # CT_LINUX_PATCH_LOCAL_BUNDLED is not set
# CT_LINUX_PATCH_NONE is not set # CT_LINUX_PATCH_NONE is not set
CT_LINUX_PATCH_ORDER="global" CT_LINUX_PATCH_ORDER="global"
# CT_LINUX_V_6_3 is not set
# CT_LINUX_V_6_2 is not set
# CT_LINUX_V_6_1 is not set
# CT_LINUX_V_6_0 is not set
# CT_LINUX_V_5_19 is not set
# CT_LINUX_V_5_18 is not set
# CT_LINUX_V_5_17 is not set
# CT_LINUX_V_5_16 is not set
# CT_LINUX_V_5_15 is not set
# CT_LINUX_V_5_14 is not set # CT_LINUX_V_5_14 is not set
# CT_LINUX_V_5_13 is not set # CT_LINUX_V_5_13 is not set
# CT_LINUX_V_5_12 is not set # CT_LINUX_V_5_12 is not set
@ -314,27 +299,18 @@ CT_LINUX_V_4_4=y
# CT_LINUX_V_3_4 is not set # CT_LINUX_V_3_4 is not set
# CT_LINUX_V_3_2 is not set # CT_LINUX_V_3_2 is not set
# CT_LINUX_V_2_6_32 is not set # CT_LINUX_V_2_6_32 is not set
CT_LINUX_VERSION="4.4.302" CT_LINUX_VERSION="4.4.283"
CT_LINUX_MIRRORS="$(CT_Mirrors kernel.org linux ${CT_LINUX_VERSION})" CT_LINUX_MIRRORS="$(CT_Mirrors kernel.org linux ${CT_LINUX_VERSION})"
CT_LINUX_ARCHIVE_FILENAME="@{pkg_name}-@{version}" CT_LINUX_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
CT_LINUX_ARCHIVE_DIRNAME="@{pkg_name}-@{version}" CT_LINUX_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
CT_LINUX_ARCHIVE_FORMATS=".tar.xz .tar.gz" CT_LINUX_ARCHIVE_FORMATS=".tar.xz .tar.gz"
CT_LINUX_SIGNATURE_FORMAT="unpacked/.sign" CT_LINUX_SIGNATURE_FORMAT="unpacked/.sign"
CT_LINUX_5_19_or_older=y
CT_LINUX_older_than_5_19=y
CT_LINUX_5_12_or_older=y
CT_LINUX_older_than_5_12=y
CT_LINUX_5_5_or_older=y
CT_LINUX_older_than_5_5=y
CT_LINUX_5_3_or_older=y
CT_LINUX_older_than_5_3=y
CT_LINUX_4_8_or_older=y CT_LINUX_4_8_or_older=y
CT_LINUX_older_than_4_8=y CT_LINUX_older_than_4_8=y
CT_LINUX_later_than_3_7=y CT_LINUX_later_than_3_7=y
CT_LINUX_3_7_or_later=y CT_LINUX_3_7_or_later=y
CT_LINUX_later_than_3_2=y CT_LINUX_later_than_3_2=y
CT_LINUX_3_2_or_later=y CT_LINUX_3_2_or_later=y
CT_KERNEL_DEP_RSYNC=y
CT_KERNEL_LINUX_VERBOSITY_0=y CT_KERNEL_LINUX_VERBOSITY_0=y
# CT_KERNEL_LINUX_VERBOSITY_1 is not set # CT_KERNEL_LINUX_VERBOSITY_1 is not set
# CT_KERNEL_LINUX_VERBOSITY_2 is not set # CT_KERNEL_LINUX_VERBOSITY_2 is not set
@ -377,10 +353,7 @@ CT_BINUTILS_PATCH_GLOBAL=y
# CT_BINUTILS_PATCH_LOCAL_BUNDLED is not set # CT_BINUTILS_PATCH_LOCAL_BUNDLED is not set
# CT_BINUTILS_PATCH_NONE is not set # CT_BINUTILS_PATCH_NONE is not set
CT_BINUTILS_PATCH_ORDER="global" CT_BINUTILS_PATCH_ORDER="global"
CT_BINUTILS_V_2_40=y CT_BINUTILS_V_2_37=y
# CT_BINUTILS_V_2_39 is not set
# CT_BINUTILS_V_2_38 is not set
# CT_BINUTILS_V_2_37 is not set
# CT_BINUTILS_V_2_36 is not set # CT_BINUTILS_V_2_36 is not set
# CT_BINUTILS_V_2_35 is not set # CT_BINUTILS_V_2_35 is not set
# CT_BINUTILS_V_2_34 is not set # CT_BINUTILS_V_2_34 is not set
@ -392,14 +365,12 @@ CT_BINUTILS_V_2_40=y
# CT_BINUTILS_V_2_28 is not set # CT_BINUTILS_V_2_28 is not set
# CT_BINUTILS_V_2_27 is not set # CT_BINUTILS_V_2_27 is not set
# CT_BINUTILS_V_2_26 is not set # CT_BINUTILS_V_2_26 is not set
CT_BINUTILS_VERSION="2.40" CT_BINUTILS_VERSION="2.37"
CT_BINUTILS_MIRRORS="$(CT_Mirrors GNU binutils) $(CT_Mirrors sourceware binutils/releases)" CT_BINUTILS_MIRRORS="$(CT_Mirrors GNU binutils) $(CT_Mirrors sourceware binutils/releases)"
CT_BINUTILS_ARCHIVE_FILENAME="@{pkg_name}-@{version}" CT_BINUTILS_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
CT_BINUTILS_ARCHIVE_DIRNAME="@{pkg_name}-@{version}" CT_BINUTILS_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
CT_BINUTILS_ARCHIVE_FORMATS=".tar.xz .tar.bz2 .tar.gz" CT_BINUTILS_ARCHIVE_FORMATS=".tar.xz .tar.bz2 .tar.gz"
CT_BINUTILS_SIGNATURE_FORMAT="packed/.sig" CT_BINUTILS_SIGNATURE_FORMAT="packed/.sig"
CT_BINUTILS_later_than_2_39=y
CT_BINUTILS_2_39_or_later=y
CT_BINUTILS_later_than_2_30=y CT_BINUTILS_later_than_2_30=y
CT_BINUTILS_2_30_or_later=y CT_BINUTILS_2_30_or_later=y
CT_BINUTILS_later_than_2_27=y CT_BINUTILS_later_than_2_27=y
@ -419,7 +390,6 @@ CT_BINUTILS_LINKERS_LIST="ld"
CT_BINUTILS_LINKER_DEFAULT="bfd" CT_BINUTILS_LINKER_DEFAULT="bfd"
CT_BINUTILS_PLUGINS=y CT_BINUTILS_PLUGINS=y
CT_BINUTILS_RELRO=m CT_BINUTILS_RELRO=m
CT_BINUTILS_DETERMINISTIC_ARCHIVES=y
CT_BINUTILS_EXTRA_CONFIG_ARRAY="" CT_BINUTILS_EXTRA_CONFIG_ARRAY=""
# CT_BINUTILS_FOR_TARGET is not set # CT_BINUTILS_FOR_TARGET is not set
CT_ALL_BINUTILS_CHOICES="BINUTILS" CT_ALL_BINUTILS_CHOICES="BINUTILS"
@ -428,11 +398,13 @@ CT_ALL_BINUTILS_CHOICES="BINUTILS"
# #
# C-library # C-library
# #
# CT_LIBC_BIONIC is not set
CT_LIBC_GLIBC=y CT_LIBC_GLIBC=y
# CT_LIBC_MUSL is not set # CT_LIBC_MUSL is not set
# CT_LIBC_UCLIBC_NG is not set # CT_LIBC_UCLIBC is not set
CT_LIBC="glibc" CT_LIBC="glibc"
CT_LIBC_CHOICE_KSYM="GLIBC" CT_LIBC_CHOICE_KSYM="GLIBC"
CT_THREADS="nptl"
CT_LIBC_GLIBC_SHOW=y CT_LIBC_GLIBC_SHOW=y
# #
@ -454,9 +426,6 @@ CT_GLIBC_PATCH_GLOBAL=y
# CT_GLIBC_PATCH_LOCAL_BUNDLED is not set # CT_GLIBC_PATCH_LOCAL_BUNDLED is not set
# CT_GLIBC_PATCH_NONE is not set # CT_GLIBC_PATCH_NONE is not set
CT_GLIBC_PATCH_ORDER="global" CT_GLIBC_PATCH_ORDER="global"
# CT_GLIBC_V_2_37 is not set
# CT_GLIBC_V_2_36 is not set
# CT_GLIBC_V_2_35 is not set
# CT_GLIBC_V_2_34 is not set # CT_GLIBC_V_2_34 is not set
# CT_GLIBC_V_2_33 is not set # CT_GLIBC_V_2_33 is not set
# CT_GLIBC_V_2_32 is not set # CT_GLIBC_V_2_32 is not set
@ -471,22 +440,15 @@ CT_GLIBC_PATCH_ORDER="global"
CT_GLIBC_V_2_23=y CT_GLIBC_V_2_23=y
# CT_GLIBC_V_2_19 is not set # CT_GLIBC_V_2_19 is not set
# CT_GLIBC_V_2_17 is not set # CT_GLIBC_V_2_17 is not set
# CT_GLIBC_V_2_12_1 is not set
CT_GLIBC_VERSION="2.23" CT_GLIBC_VERSION="2.23"
CT_GLIBC_MIRRORS="$(CT_Mirrors GNU glibc)" CT_GLIBC_MIRRORS="$(CT_Mirrors GNU glibc)"
CT_GLIBC_ARCHIVE_FILENAME="@{pkg_name}-@{version}" CT_GLIBC_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
CT_GLIBC_ARCHIVE_DIRNAME="@{pkg_name}-@{version}" CT_GLIBC_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
CT_GLIBC_ARCHIVE_FORMATS=".tar.xz .tar.bz2 .tar.gz" CT_GLIBC_ARCHIVE_FORMATS=".tar.xz .tar.bz2 .tar.gz"
CT_GLIBC_SIGNATURE_FORMAT="packed/.sig" CT_GLIBC_SIGNATURE_FORMAT="packed/.sig"
CT_GLIBC_2_37_or_older=y
CT_GLIBC_older_than_2_37=y
CT_GLIBC_2_36_or_older=y
CT_GLIBC_older_than_2_36=y
CT_GLIBC_2_34_or_older=y
CT_GLIBC_older_than_2_34=y
CT_GLIBC_2_32_or_older=y CT_GLIBC_2_32_or_older=y
CT_GLIBC_older_than_2_32=y CT_GLIBC_older_than_2_32=y
CT_GLIBC_2_31_or_older=y
CT_GLIBC_older_than_2_31=y
CT_GLIBC_2_30_or_older=y CT_GLIBC_2_30_or_older=y
CT_GLIBC_older_than_2_30=y CT_GLIBC_older_than_2_30=y
CT_GLIBC_2_29_or_older=y CT_GLIBC_2_29_or_older=y
@ -514,15 +476,13 @@ CT_GLIBC_DEP_BINUTILS=y
CT_GLIBC_DEP_GCC=y CT_GLIBC_DEP_GCC=y
CT_GLIBC_DEP_PYTHON=y CT_GLIBC_DEP_PYTHON=y
CT_GLIBC_SPARC_ALLOW_V7=y CT_GLIBC_SPARC_ALLOW_V7=y
CT_THREADS="nptl"
CT_GLIBC_HAS_LIBIDN_ADDON=y CT_GLIBC_HAS_LIBIDN_ADDON=y
# CT_GLIBC_USE_LIBIDN_ADDON is not set # CT_GLIBC_USE_LIBIDN_ADDON is not set
CT_GLIBC_NO_SPARC_V8=y CT_GLIBC_NO_SPARC_V8=y
CT_GLIBC_HAS_OBSOLETE_RPC=y CT_GLIBC_HAS_OBSOLETE_RPC=y
CT_GLIBC_EXTRA_CONFIG_ARRAY="--with-pic" CT_GLIBC_EXTRA_CONFIG_ARRAY="--with-pic"
CT_GLIBC_CONFIGPARMS="" CT_GLIBC_CONFIGPARMS=""
# CT_GLIBC_ENABLE_DEBUG is not set CT_GLIBC_EXTRA_CFLAGS="-fPIC -DPIC"
CT_GLIBC_EXTRA_CFLAGS="-fPIC -DPIC -no-pie"
CT_GLIBC_ENABLE_OBSOLETE_RPC=y CT_GLIBC_ENABLE_OBSOLETE_RPC=y
# CT_GLIBC_ENABLE_FORTIFIED_BUILD is not set # CT_GLIBC_ENABLE_FORTIFIED_BUILD is not set
# CT_GLIBC_DISABLE_VERSIONING is not set # CT_GLIBC_DISABLE_VERSIONING is not set
@ -532,9 +492,9 @@ CT_GLIBC_FORCE_UNWIND=y
# CT_GLIBC_KERNEL_VERSION_NONE is not set # CT_GLIBC_KERNEL_VERSION_NONE is not set
CT_GLIBC_KERNEL_VERSION_AS_HEADERS=y CT_GLIBC_KERNEL_VERSION_AS_HEADERS=y
# CT_GLIBC_KERNEL_VERSION_CHOSEN is not set # CT_GLIBC_KERNEL_VERSION_CHOSEN is not set
CT_GLIBC_MIN_KERNEL="4.4.302" CT_GLIBC_MIN_KERNEL="4.4.283"
CT_GLIBC_ENABLE_COMMON_FLAG=y CT_GLIBC_ENABLE_COMMON_FLAG=y
CT_ALL_LIBC_CHOICES="AVR_LIBC GLIBC MINGW_W64 MOXIEBOX MUSL NEWLIB NONE PICOLIBC UCLIBC_NG" CT_ALL_LIBC_CHOICES="AVR_LIBC BIONIC GLIBC MINGW_W64 MOXIEBOX MUSL NEWLIB NONE UCLIBC"
CT_LIBC_SUPPORT_THREADS_ANY=y CT_LIBC_SUPPORT_THREADS_ANY=y
CT_LIBC_SUPPORT_THREADS_NATIVE=y CT_LIBC_SUPPORT_THREADS_NATIVE=y
@ -549,12 +509,12 @@ CT_LIBC_XLDD=y
# #
# C compiler # C compiler
# #
CT_CC_CORE_NEEDED=y CT_CC_CORE_PASSES_NEEDED=y
CT_CC_CORE_PASS_1_NEEDED=y
CT_CC_CORE_PASS_2_NEEDED=y
CT_CC_SUPPORT_CXX=y CT_CC_SUPPORT_CXX=y
CT_CC_SUPPORT_FORTRAN=y CT_CC_SUPPORT_FORTRAN=y
CT_CC_SUPPORT_ADA=y CT_CC_SUPPORT_ADA=y
CT_CC_SUPPORT_D=y
CT_CC_SUPPORT_JIT=y
CT_CC_SUPPORT_OBJC=y CT_CC_SUPPORT_OBJC=y
CT_CC_SUPPORT_OBJCXX=y CT_CC_SUPPORT_OBJCXX=y
CT_CC_SUPPORT_GOLANG=y CT_CC_SUPPORT_GOLANG=y
@ -583,9 +543,7 @@ CT_GCC_PATCH_GLOBAL=y
# CT_GCC_PATCH_LOCAL_BUNDLED is not set # CT_GCC_PATCH_LOCAL_BUNDLED is not set
# CT_GCC_PATCH_NONE is not set # CT_GCC_PATCH_NONE is not set
CT_GCC_PATCH_ORDER="global" CT_GCC_PATCH_ORDER="global"
CT_GCC_V_13=y CT_GCC_V_11=y
# CT_GCC_V_12 is not set
# CT_GCC_V_11 is not set
# CT_GCC_V_10 is not set # CT_GCC_V_10 is not set
# CT_GCC_V_9 is not set # CT_GCC_V_9 is not set
# CT_GCC_V_8 is not set # CT_GCC_V_8 is not set
@ -593,16 +551,12 @@ CT_GCC_V_13=y
# CT_GCC_V_6 is not set # CT_GCC_V_6 is not set
# CT_GCC_V_5 is not set # CT_GCC_V_5 is not set
# CT_GCC_V_4_9 is not set # CT_GCC_V_4_9 is not set
CT_GCC_VERSION="13.1.0" CT_GCC_VERSION="11.2.0"
CT_GCC_MIRRORS="$(CT_Mirrors GNU gcc/gcc-${CT_GCC_VERSION}) $(CT_Mirrors sourceware gcc/releases/gcc-${CT_GCC_VERSION})" CT_GCC_MIRRORS="$(CT_Mirrors GNU gcc/gcc-${CT_GCC_VERSION}) $(CT_Mirrors sourceware gcc/releases/gcc-${CT_GCC_VERSION})"
CT_GCC_ARCHIVE_FILENAME="@{pkg_name}-@{version}" CT_GCC_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
CT_GCC_ARCHIVE_DIRNAME="@{pkg_name}-@{version}" CT_GCC_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
CT_GCC_ARCHIVE_FORMATS=".tar.xz .tar.gz" CT_GCC_ARCHIVE_FORMATS=".tar.xz .tar.gz"
CT_GCC_SIGNATURE_FORMAT="" CT_GCC_SIGNATURE_FORMAT=""
CT_GCC_later_than_13=y
CT_GCC_13_or_later=y
CT_GCC_later_than_12=y
CT_GCC_12_or_later=y
CT_GCC_later_than_11=y CT_GCC_later_than_11=y
CT_GCC_11_or_later=y CT_GCC_11_or_later=y
CT_GCC_later_than_10=y CT_GCC_later_than_10=y
@ -619,11 +573,13 @@ CT_GCC_later_than_5=y
CT_GCC_5_or_later=y CT_GCC_5_or_later=y
CT_GCC_later_than_4_9=y CT_GCC_later_than_4_9=y
CT_GCC_4_9_or_later=y CT_GCC_4_9_or_later=y
CT_GCC_later_than_4_8=y
CT_GCC_4_8_or_later=y
CT_CC_GCC_ENABLE_PLUGINS=y CT_CC_GCC_ENABLE_PLUGINS=y
CT_CC_GCC_HAS_LIBMPX=y CT_CC_GCC_HAS_LIBMPX=y
CT_CC_GCC_ENABLE_CXX_FLAGS="" CT_CC_GCC_ENABLE_CXX_FLAGS=""
CT_CC_GCC_CORE_EXTRA_CONFIG_ARRAY="--enable-host-shared --enable-default-ssp" CT_CC_GCC_CORE_EXTRA_CONFIG_ARRAY="--enable-host-shared --enable-default-ssp"
CT_CC_GCC_EXTRA_CONFIG_ARRAY="--enable-host-shared --enable-default-ssp --with-build-config=bootstrap-lto-lean --enable-link-serialization=2" CT_CC_GCC_EXTRA_CONFIG_ARRAY="--enable-host-shared --enable-default-ssp"
# CT_CC_GCC_STATIC_LIBSTDCXX is not set # CT_CC_GCC_STATIC_LIBSTDCXX is not set
# CT_CC_GCC_SYSTEM_ZLIB is not set # CT_CC_GCC_SYSTEM_ZLIB is not set
CT_CC_GCC_CONFIG_TLS=m CT_CC_GCC_CONFIG_TLS=m
@ -638,7 +594,6 @@ CT_CC_GCC_LTO_ZSTD=m
# #
# Settings for libraries running on target # Settings for libraries running on target
# #
CT_CC_GCC_ENABLE_DEFAULT_PIE=y
# CT_CC_GCC_ENABLE_TARGET_OPTSPACE is not set # CT_CC_GCC_ENABLE_TARGET_OPTSPACE is not set
# CT_CC_GCC_LIBMUDFLAP is not set # CT_CC_GCC_LIBMUDFLAP is not set
CT_CC_GCC_LIBGOMP=y CT_CC_GCC_LIBGOMP=y
@ -646,7 +601,6 @@ CT_CC_GCC_LIBSSP=m
# CT_CC_GCC_LIBQUADMATH is not set # CT_CC_GCC_LIBQUADMATH is not set
# CT_CC_GCC_LIBSANITIZER is not set # CT_CC_GCC_LIBSANITIZER is not set
# CT_CC_GCC_LIBMPX is not set # CT_CC_GCC_LIBMPX is not set
# CT_CC_GCC_LIBSTDCXX_VERBOSE is not set
# #
# Misc. obscure options. # Misc. obscure options.
@ -673,10 +627,8 @@ CT_ALL_CC_CHOICES="GCC"
# Additional supported languages: # Additional supported languages:
# #
CT_CC_LANG_CXX=y CT_CC_LANG_CXX=y
# CT_CC_LANG_FORTRAN is not set CT_CC_LANG_FORTRAN=y
# CT_CC_LANG_JIT is not set
# CT_CC_LANG_ADA is not set # CT_CC_LANG_ADA is not set
# CT_CC_LANG_D is not set
# CT_CC_LANG_OBJC is not set # CT_CC_LANG_OBJC is not set
# CT_CC_LANG_OBJCXX is not set # CT_CC_LANG_OBJCXX is not set
# CT_CC_LANG_GOLANG is not set # CT_CC_LANG_GOLANG is not set
@ -713,30 +665,14 @@ CT_GETTEXT_PATCH_GLOBAL=y
# CT_GETTEXT_PATCH_LOCAL_BUNDLED is not set # CT_GETTEXT_PATCH_LOCAL_BUNDLED is not set
# CT_GETTEXT_PATCH_NONE is not set # CT_GETTEXT_PATCH_NONE is not set
CT_GETTEXT_PATCH_ORDER="global" CT_GETTEXT_PATCH_ORDER="global"
CT_GETTEXT_V_0_21=y CT_GETTEXT_V_0_20_1=y
# CT_GETTEXT_V_0_20_1 is not set
# CT_GETTEXT_V_0_19_8_1 is not set # CT_GETTEXT_V_0_19_8_1 is not set
CT_GETTEXT_VERSION="0.21" CT_GETTEXT_VERSION="0.20.1"
CT_GETTEXT_MIRRORS="$(CT_Mirrors GNU gettext)" CT_GETTEXT_MIRRORS="$(CT_Mirrors GNU gettext)"
CT_GETTEXT_ARCHIVE_FILENAME="@{pkg_name}-@{version}" CT_GETTEXT_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
CT_GETTEXT_ARCHIVE_DIRNAME="@{pkg_name}-@{version}" CT_GETTEXT_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
CT_GETTEXT_ARCHIVE_FORMATS=".tar.xz .tar.gz" CT_GETTEXT_ARCHIVE_FORMATS=".tar.xz .tar.gz"
CT_GETTEXT_SIGNATURE_FORMAT="packed/.sig" CT_GETTEXT_SIGNATURE_FORMAT="packed/.sig"
CT_GETTEXT_0_21_or_later=y
CT_GETTEXT_0_21_or_older=y
CT_GETTEXT_INCOMPATIBLE_WITH_UCLIBC_NG=y
#
# This version of gettext is not compatible with uClibc-NG. Select
#
#
# a different version if uClibc-NG is used on the target or (in a
#
#
# Canadian cross build) on the host.
#
CT_COMP_LIBS_GMP=y CT_COMP_LIBS_GMP=y
CT_COMP_LIBS_GMP_PKG_KSYM="GMP" CT_COMP_LIBS_GMP_PKG_KSYM="GMP"
CT_GMP_DIR_NAME="gmp" CT_GMP_DIR_NAME="gmp"
@ -759,6 +695,11 @@ CT_GMP_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
CT_GMP_ARCHIVE_DIRNAME="@{pkg_name}-@{version}" CT_GMP_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
CT_GMP_ARCHIVE_FORMATS=".tar.xz .tar.lz .tar.bz2" CT_GMP_ARCHIVE_FORMATS=".tar.xz .tar.lz .tar.bz2"
CT_GMP_SIGNATURE_FORMAT="packed/.sig" CT_GMP_SIGNATURE_FORMAT="packed/.sig"
CT_GMP_later_than_5_1_0=y
CT_GMP_5_1_0_or_later=y
CT_GMP_later_than_5_0_0=y
CT_GMP_5_0_0_or_later=y
CT_GMP_REQUIRE_5_0_0_or_later=y
CT_COMP_LIBS_ISL=y CT_COMP_LIBS_ISL=y
CT_COMP_LIBS_ISL_PKG_KSYM="ISL" CT_COMP_LIBS_ISL_PKG_KSYM="ISL"
CT_ISL_DIR_NAME="isl" CT_ISL_DIR_NAME="isl"
@ -773,10 +714,7 @@ CT_ISL_PATCH_GLOBAL=y
# CT_ISL_PATCH_LOCAL_BUNDLED is not set # CT_ISL_PATCH_LOCAL_BUNDLED is not set
# CT_ISL_PATCH_NONE is not set # CT_ISL_PATCH_NONE is not set
CT_ISL_PATCH_ORDER="global" CT_ISL_PATCH_ORDER="global"
CT_ISL_V_0_26=y CT_ISL_V_0_24=y
# CT_ISL_V_0_25 is not set
# CT_ISL_V_0_24 is not set
# CT_ISL_V_0_23 is not set
# CT_ISL_V_0_22 is not set # CT_ISL_V_0_22 is not set
# CT_ISL_V_0_21 is not set # CT_ISL_V_0_21 is not set
# CT_ISL_V_0_20 is not set # CT_ISL_V_0_20 is not set
@ -785,9 +723,8 @@ CT_ISL_V_0_26=y
# CT_ISL_V_0_17 is not set # CT_ISL_V_0_17 is not set
# CT_ISL_V_0_16 is not set # CT_ISL_V_0_16 is not set
# CT_ISL_V_0_15 is not set # CT_ISL_V_0_15 is not set
# CT_ISL_V_0_11 is not set CT_ISL_VERSION="0.24"
CT_ISL_VERSION="0.26" CT_ISL_MIRRORS="https://ftp.halifax.rwth-aachen.de/gentoo/distfiles"
CT_ISL_MIRRORS="https://libisl.sourceforge.io"
CT_ISL_ARCHIVE_FILENAME="@{pkg_name}-@{version}" CT_ISL_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
CT_ISL_ARCHIVE_DIRNAME="@{pkg_name}-@{version}" CT_ISL_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
CT_ISL_ARCHIVE_FORMATS=".tar.xz .tar.bz2 .tar.gz" CT_ISL_ARCHIVE_FORMATS=".tar.xz .tar.bz2 .tar.gz"
@ -796,6 +733,15 @@ CT_ISL_later_than_0_18=y
CT_ISL_0_18_or_later=y CT_ISL_0_18_or_later=y
CT_ISL_later_than_0_15=y CT_ISL_later_than_0_15=y
CT_ISL_0_15_or_later=y CT_ISL_0_15_or_later=y
CT_ISL_REQUIRE_0_15_or_later=y
CT_ISL_later_than_0_14=y
CT_ISL_0_14_or_later=y
CT_ISL_REQUIRE_0_14_or_later=y
CT_ISL_later_than_0_13=y
CT_ISL_0_13_or_later=y
CT_ISL_later_than_0_12=y
CT_ISL_0_12_or_later=y
CT_ISL_REQUIRE_0_12_or_later=y
# CT_COMP_LIBS_LIBELF is not set # CT_COMP_LIBS_LIBELF is not set
CT_COMP_LIBS_LIBICONV=y CT_COMP_LIBS_LIBICONV=y
CT_COMP_LIBS_LIBICONV_PKG_KSYM="LIBICONV" CT_COMP_LIBS_LIBICONV_PKG_KSYM="LIBICONV"
@ -836,7 +782,7 @@ CT_MPC_PATCH_ORDER="global"
CT_MPC_V_1_2=y CT_MPC_V_1_2=y
# CT_MPC_V_1_1 is not set # CT_MPC_V_1_1 is not set
# CT_MPC_V_1_0 is not set # CT_MPC_V_1_0 is not set
CT_MPC_VERSION="1.2.1" CT_MPC_VERSION="1.2.0"
CT_MPC_MIRRORS="http://www.multiprecision.org/downloads $(CT_Mirrors GNU mpc)" CT_MPC_MIRRORS="http://www.multiprecision.org/downloads $(CT_Mirrors GNU mpc)"
CT_MPC_ARCHIVE_FILENAME="@{pkg_name}-@{version}" CT_MPC_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
CT_MPC_ARCHIVE_DIRNAME="@{pkg_name}-@{version}" CT_MPC_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
@ -869,6 +815,9 @@ CT_MPFR_ARCHIVE_FORMATS=".tar.xz .tar.bz2 .tar.gz .zip"
CT_MPFR_SIGNATURE_FORMAT="packed/.asc" CT_MPFR_SIGNATURE_FORMAT="packed/.asc"
CT_MPFR_later_than_4_0_0=y CT_MPFR_later_than_4_0_0=y
CT_MPFR_4_0_0_or_later=y CT_MPFR_4_0_0_or_later=y
CT_MPFR_later_than_3_0_0=y
CT_MPFR_3_0_0_or_later=y
CT_MPFR_REQUIRE_3_0_0_or_later=y
CT_COMP_LIBS_NCURSES=y CT_COMP_LIBS_NCURSES=y
CT_COMP_LIBS_NCURSES_PKG_KSYM="NCURSES" CT_COMP_LIBS_NCURSES_PKG_KSYM="NCURSES"
CT_NCURSES_DIR_NAME="ncurses" CT_NCURSES_DIR_NAME="ncurses"
@ -883,11 +832,10 @@ CT_NCURSES_PATCH_GLOBAL=y
# CT_NCURSES_PATCH_LOCAL_BUNDLED is not set # CT_NCURSES_PATCH_LOCAL_BUNDLED is not set
# CT_NCURSES_PATCH_NONE is not set # CT_NCURSES_PATCH_NONE is not set
CT_NCURSES_PATCH_ORDER="global" CT_NCURSES_PATCH_ORDER="global"
CT_NCURSES_V_6_4=y CT_NCURSES_V_6_2=y
# CT_NCURSES_V_6_2 is not set
# CT_NCURSES_V_6_1 is not set # CT_NCURSES_V_6_1 is not set
# CT_NCURSES_V_6_0 is not set # CT_NCURSES_V_6_0 is not set
CT_NCURSES_VERSION="6.4" CT_NCURSES_VERSION="6.2"
CT_NCURSES_MIRRORS="https://invisible-mirror.net/archives/ncurses $(CT_Mirrors GNU ncurses)" CT_NCURSES_MIRRORS="https://invisible-mirror.net/archives/ncurses $(CT_Mirrors GNU ncurses)"
CT_NCURSES_ARCHIVE_FILENAME="@{pkg_name}-@{version}" CT_NCURSES_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
CT_NCURSES_ARCHIVE_DIRNAME="@{pkg_name}-@{version}" CT_NCURSES_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
@ -914,37 +862,14 @@ CT_ZLIB_PATCH_GLOBAL=y
# CT_ZLIB_PATCH_LOCAL_BUNDLED is not set # CT_ZLIB_PATCH_LOCAL_BUNDLED is not set
# CT_ZLIB_PATCH_NONE is not set # CT_ZLIB_PATCH_NONE is not set
CT_ZLIB_PATCH_ORDER="global" CT_ZLIB_PATCH_ORDER="global"
CT_ZLIB_V_1_2_13=y CT_ZLIB_V_1_2_11=y
# CT_ZLIB_V_1_2_12 is not set CT_ZLIB_VERSION="1.2.11"
CT_ZLIB_VERSION="1.2.13" CT_ZLIB_MIRRORS="http://downloads.sourceforge.net/project/libpng/zlib/${CT_ZLIB_VERSION} https://www.zlib.net/"
CT_ZLIB_MIRRORS="https://github.com/madler/zlib/releases/download/v${CT_ZLIB_VERSION} https://www.zlib.net/"
CT_ZLIB_ARCHIVE_FILENAME="@{pkg_name}-@{version}" CT_ZLIB_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
CT_ZLIB_ARCHIVE_DIRNAME="@{pkg_name}-@{version}" CT_ZLIB_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
CT_ZLIB_ARCHIVE_FORMATS=".tar.xz .tar.gz" CT_ZLIB_ARCHIVE_FORMATS=".tar.xz .tar.gz"
CT_ZLIB_SIGNATURE_FORMAT="packed/.asc" CT_ZLIB_SIGNATURE_FORMAT="packed/.asc"
CT_COMP_LIBS_ZSTD=y CT_ALL_COMP_LIBS_CHOICES="CLOOG EXPAT GETTEXT GMP GNUPRUMCU ISL LIBELF LIBICONV MPC MPFR NCURSES NEWLIB_NANO PICOLIBC ZLIB"
CT_COMP_LIBS_ZSTD_PKG_KSYM="ZSTD"
CT_ZSTD_DIR_NAME="zstd"
CT_ZSTD_PKG_NAME="zstd"
CT_ZSTD_SRC_RELEASE=y
# CT_ZSTD_SRC_DEVEL is not set
# CT_ZSTD_SRC_CUSTOM is not set
CT_ZSTD_PATCH_GLOBAL=y
# CT_ZSTD_PATCH_BUNDLED is not set
# CT_ZSTD_PATCH_LOCAL is not set
# CT_ZSTD_PATCH_BUNDLED_LOCAL is not set
# CT_ZSTD_PATCH_LOCAL_BUNDLED is not set
# CT_ZSTD_PATCH_NONE is not set
CT_ZSTD_PATCH_ORDER="global"
CT_ZSTD_V_1_5_5=y
# CT_ZSTD_V_1_5_2 is not set
CT_ZSTD_VERSION="1.5.5"
CT_ZSTD_MIRRORS="https://github.com/facebook/zstd/releases/download/v${CT_ZSTD_VERSION} https://www.zstd.net/"
CT_ZSTD_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
CT_ZSTD_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
CT_ZSTD_ARCHIVE_FORMATS=".tar.gz"
CT_ZSTD_SIGNATURE_FORMAT="packed/.sig"
CT_ALL_COMP_LIBS_CHOICES="CLOOG EXPAT GETTEXT GMP GNUPRUMCU ISL LIBELF LIBICONV MPC MPFR NCURSES NEWLIB_NANO PICOLIBC ZLIB ZSTD"
CT_LIBICONV_NEEDED=y CT_LIBICONV_NEEDED=y
CT_GETTEXT_NEEDED=y CT_GETTEXT_NEEDED=y
CT_GMP_NEEDED=y CT_GMP_NEEDED=y
@ -953,7 +878,6 @@ CT_ISL_NEEDED=y
CT_MPC_NEEDED=y CT_MPC_NEEDED=y
CT_NCURSES_NEEDED=y CT_NCURSES_NEEDED=y
CT_ZLIB_NEEDED=y CT_ZLIB_NEEDED=y
CT_ZSTD_NEEDED=y
CT_LIBICONV=y CT_LIBICONV=y
CT_GETTEXT=y CT_GETTEXT=y
CT_GMP=y CT_GMP=y
@ -962,7 +886,6 @@ CT_ISL=y
CT_MPC=y CT_MPC=y
CT_NCURSES=y CT_NCURSES=y
CT_ZLIB=y CT_ZLIB=y
CT_ZSTD=y
# end of Companion libraries # end of Companion libraries
# #

View file

@ -1,17 +0,0 @@
#!/bin/bash
set -e
if [[ $# != 2 ]]; then
echo "Invalid arguments"
exit 1
fi
IN="$1"
OUT="$2"
TMPDIR="$(mktemp -d)"
trap "rm -rf '$TMPDIR'" EXIT
cd "$TMPDIR"
set -x
python3 /opt/implib/implib-gen.py --target x86_64-linux-gnu --dlopen --lazy-load --verbose "$IN"
${FFBUILD_CROSS_PREFIX}gcc $CFLAGS $STAGE_CFLAGS -DIMPLIB_HIDDEN_SHIMS -c *.tramp.S *.init.c
${FFBUILD_CROSS_PREFIX}ar -rcs "$OUT" *.tramp.o *.init.o

View file

@ -5,8 +5,8 @@ set(triple x86_64-ffbuild-linux-gnu)
set(CMAKE_C_COMPILER ${triple}-gcc) set(CMAKE_C_COMPILER ${triple}-gcc)
set(CMAKE_CXX_COMPILER ${triple}-g++) set(CMAKE_CXX_COMPILER ${triple}-g++)
set(CMAKE_RANLIB ${triple}-gcc-ranlib) set(CMAKE_RANLIB ${triple}-ranlib)
set(CMAKE_AR ${triple}-gcc-ar) set(CMAKE_AR ${triple}-ar)
set(CMAKE_SYSROOT /opt/ct-ng/${triple}/sysroot) set(CMAKE_SYSROOT /opt/ct-ng/${triple}/sysroot)
set(CMAKE_FIND_ROOT_PATH /opt/ct-ng /opt/ct-ng/${triple}/sysroot /opt/ffbuild) set(CMAKE_FIND_ROOT_PATH /opt/ct-ng /opt/ct-ng/${triple}/sysroot /opt/ffbuild)

View file

@ -1,63 +0,0 @@
ARG GH_REPO=ghcr.io/btbn/ffmpeg-builds
FROM $GH_REPO/base:latest
RUN --mount=src=ct-ng-config,dst=/.config \
git clone --filter=blob:none https://github.com/crosstool-ng/crosstool-ng.git /ct-ng && cd /ct-ng && \
./bootstrap && \
./configure --enable-local && \
make -j$(nproc) && \
cp /.config .config && \
./ct-ng build && \
cd / && \
rm -rf ct-ng
# Prepare cross environment to heavily favour static builds
RUN \
find /opt/ct-ng -type l \
-and -name '*.so' \
-and -not -ipath '*plugin*' \
-and -not -name 'libdl.*' \
-and -not -name 'libc.*' \
-and -not -name 'libm.*' \
-and -not -name 'libmvec.*' \
-and -not -name 'librt.*' \
-and -not -name 'libpthread.*' \
-delete && \
find /opt/ct-ng \
-name 'libdl.a' \
-or -name 'libc.a' \
-or -name 'libm.a' \
-or -name 'libmvec.a' \
-or -name 'librt.a' \
-or -name 'libpthread.a' \
-delete && \
mkdir /opt/ffbuild
RUN rustup target add aarch64-unknown-linux-gnu
ADD toolchain.cmake /toolchain.cmake
ADD cross.meson /cross.meson
ADD gen-implib.sh /usr/bin/gen-implib
RUN git clone --filter=blob:none --depth=1 https://github.com/yugr/Implib.so /opt/implib
ENV FFBUILD_TOOLCHAIN=aarch64-ffbuild-linux-gnu
ENV PATH="/opt/ct-ng/bin:${PATH}" \
FFBUILD_TARGET_FLAGS="--pkg-config=pkg-config --cross-prefix=${FFBUILD_TOOLCHAIN}- --arch=aarch64 --target-os=linux" \
FFBUILD_CROSS_PREFIX="${FFBUILD_TOOLCHAIN}-" \
FFBUILD_RUST_TARGET="aarch64-unknown-linux-gnu" \
FFBUILD_PREFIX=/opt/ffbuild \
FFBUILD_CMAKE_TOOLCHAIN=/toolchain.cmake \
PKG_CONFIG=pkg-config \
PKG_CONFIG_LIBDIR=/opt/ffbuild/lib/pkgconfig:/opt/ffbuild/share/pkgconfig \
CC="${FFBUILD_TOOLCHAIN}-gcc" \
CXX="${FFBUILD_TOOLCHAIN}-g++" \
LD="${FFBUILD_TOOLCHAIN}-ld" \
AR="${FFBUILD_TOOLCHAIN}-gcc-ar" \
RANLIB="${FFBUILD_TOOLCHAIN}-gcc-ranlib" \
NM="${FFBUILD_TOOLCHAIN}-gcc-nm" \
CFLAGS="-static-libgcc -static-libstdc++ -I/opt/ffbuild/include -O2 -pipe -fPIC -DPIC -D_FORTIFY_SOURCE=2 -fstack-protector-strong -fstack-clash-protection -pthread" \
CXXFLAGS="-static-libgcc -static-libstdc++ -I/opt/ffbuild/include -O2 -pipe -fPIC -DPIC -D_FORTIFY_SOURCE=2 -fstack-protector-strong -fstack-clash-protection -pthread" \
LDFLAGS="-static-libgcc -static-libstdc++ -L/opt/ffbuild/lib -O2 -pipe -fstack-protector-strong -fstack-clash-protection -Wl,-z,relro,-z,now -pthread -lm" \
STAGE_CFLAGS="-fvisibility=hidden -fno-semantic-interposition" \
STAGE_CXXFLAGS="-fvisibility=hidden -fno-semantic-interposition"

View file

@ -1,13 +0,0 @@
[binaries]
c = 'aarch64-ffbuild-linux-gnu-gcc'
cpp = 'aarch64-ffbuild-linux-gnu-g++'
ld = 'aarch64-ffbuild-linux-gnu-ld'
ar = 'aarch64-ffbuild-linux-gnu-gcc-ar'
ranlib = 'x86_64-ffbuild-linux-gnu-gcc-ranlib'
strip = 'aarch64-ffbuild-linux-gnu-strip'
[host_machine]
system = 'linux'
cpu_family = 'aarch64'
cpu = 'aarch64'
endian = 'little'

View file

@ -1,998 +0,0 @@
#
# Automatically generated file; DO NOT EDIT.
# crosstool-NG 1.25.0.196_227d99d Configuration
#
CT_CONFIGURE_has_static_link=y
CT_CONFIGURE_has_cxx11=y
CT_CONFIGURE_has_wget=y
CT_CONFIGURE_has_curl=y
CT_CONFIGURE_has_meson=y
CT_CONFIGURE_has_ninja=y
CT_CONFIGURE_has_rsync=y
CT_CONFIGURE_has_make_3_81_or_newer=y
CT_CONFIGURE_has_make_4_0_or_newer=y
CT_CONFIGURE_has_libtool_2_4_or_newer=y
CT_CONFIGURE_has_libtoolize_2_4_or_newer=y
CT_CONFIGURE_has_autoconf_2_71_or_newer=y
CT_CONFIGURE_has_autoreconf_2_71_or_newer=y
CT_CONFIGURE_has_automake_1_16_or_newer=y
CT_CONFIGURE_has_gnu_m4_1_4_12_or_newer=y
CT_CONFIGURE_has_python_3_4_or_newer=y
CT_CONFIGURE_has_bison_2_7_or_newer=y
CT_CONFIGURE_has_bison_3_0_4_or_newer=y
CT_CONFIGURE_has_python=y
CT_CONFIGURE_has_svn=y
CT_CONFIGURE_has_git=y
CT_CONFIGURE_has_md5sum=y
CT_CONFIGURE_has_sha1sum=y
CT_CONFIGURE_has_sha256sum=y
CT_CONFIGURE_has_sha512sum=y
CT_CONFIGURE_has_install_with_strip_program=y
CT_VERSION="1.25.0.196_227d99d"
CT_VCHECK=""
CT_CONFIG_VERSION_ENV="4"
CT_CONFIG_VERSION_CURRENT="4"
CT_CONFIG_VERSION="4"
CT_MODULES=y
#
# Paths and misc options
#
#
# crosstool-NG behavior
#
CT_OBSOLETE=y
CT_EXPERIMENTAL=y
CT_ALLOW_BUILD_AS_ROOT=y
CT_ALLOW_BUILD_AS_ROOT_SURE=y
# CT_ENABLE_EXPERIMENTAL_BUNDLED_PATCHES is not set
# CT_DEBUG_CT is not set
#
# Paths
#
CT_LOCAL_TARBALLS_DIR="${HOME}/src"
# CT_SAVE_TARBALLS is not set
# CT_TARBALLS_BUILDROOT_LAYOUT is not set
CT_WORK_DIR="${CT_TOP_DIR}/build"
CT_BUILD_TOP_DIR="${CT_WORK_DIR:-${CT_TOP_DIR}/.build}/${CT_HOST:+HOST-${CT_HOST}/}${CT_TARGET}"
CT_BUILD_DIR="${CT_BUILD_TOP_DIR}/build"
CT_PREFIX_DIR="/opt/ct-ng"
CT_RM_RF_PREFIX_DIR=y
CT_REMOVE_DOCS=y
# CT_INSTALL_LICENSES is not set
# CT_PREFIX_DIR_RO is not set
CT_STRIP_HOST_TOOLCHAIN_EXECUTABLES=y
CT_STRIP_TARGET_TOOLCHAIN_EXECUTABLES=y
# CT_TARBALL_RESULT is not set
#
# Downloading
#
CT_DOWNLOAD_AGENT_WGET=y
# CT_DOWNLOAD_AGENT_CURL is not set
# CT_DOWNLOAD_AGENT_NONE is not set
# CT_FORBID_DOWNLOAD is not set
# CT_FORCE_DOWNLOAD is not set
CT_CONNECT_TIMEOUT=10
CT_DOWNLOAD_WGET_OPTIONS="--passive-ftp --tries=3 -nc --progress=dot:binary"
# CT_ONLY_DOWNLOAD is not set
# CT_USE_MIRROR is not set
CT_VERIFY_DOWNLOAD_DIGEST=y
CT_VERIFY_DOWNLOAD_DIGEST_SHA512=y
# CT_VERIFY_DOWNLOAD_DIGEST_SHA256 is not set
# CT_VERIFY_DOWNLOAD_DIGEST_SHA1 is not set
# CT_VERIFY_DOWNLOAD_DIGEST_MD5 is not set
CT_VERIFY_DOWNLOAD_DIGEST_ALG="sha512"
# CT_VERIFY_DOWNLOAD_SIGNATURE is not set
#
# Extracting
#
# CT_FORCE_EXTRACT is not set
CT_OVERRIDE_CONFIG_GUESS_SUB=y
# CT_ONLY_EXTRACT is not set
CT_PATCH_BUNDLED=y
# CT_PATCH_LOCAL is not set
# CT_PATCH_BUNDLED_LOCAL is not set
# CT_PATCH_LOCAL_BUNDLED is not set
# CT_PATCH_NONE is not set
CT_PATCH_ORDER="bundled"
#
# Build behavior
#
CT_PARALLEL_JOBS=0
CT_LOAD=""
CT_USE_PIPES=y
CT_EXTRA_CFLAGS_FOR_BUILD="-fPIC -DPIC"
CT_EXTRA_CXXFLAGS_FOR_BUILD="-fPIC -DPIC"
CT_EXTRA_LDFLAGS_FOR_BUILD=""
CT_EXTRA_CFLAGS_FOR_HOST="-fPIC -DPIC"
CT_EXTRA_LDFLAGS_FOR_HOST=""
# CT_CONFIG_SHELL_SH is not set
# CT_CONFIG_SHELL_ASH is not set
CT_CONFIG_SHELL_BASH=y
# CT_CONFIG_SHELL_CUSTOM is not set
CT_CONFIG_SHELL="${bash}"
#
# Logging
#
# CT_LOG_ERROR is not set
# CT_LOG_WARN is not set
# CT_LOG_INFO is not set
# CT_LOG_EXTRA is not set
# CT_LOG_ALL is not set
CT_LOG_DEBUG=y
CT_LOG_LEVEL_MAX="DEBUG"
# CT_LOG_SEE_TOOLS_WARN is not set
# CT_LOG_TO_FILE is not set
# end of Paths and misc options
#
# Target options
#
# CT_ARCH_ALPHA is not set
# CT_ARCH_ARC is not set
CT_ARCH_ARM=y
# CT_ARCH_AVR is not set
# CT_ARCH_BPF is not set
# CT_ARCH_C6X is not set
# CT_ARCH_LOONGARCH is not set
# CT_ARCH_M68K is not set
# CT_ARCH_MICROBLAZE is not set
# CT_ARCH_MIPS is not set
# CT_ARCH_MOXIE is not set
# CT_ARCH_MSP430 is not set
# CT_ARCH_NIOS2 is not set
# CT_ARCH_POWERPC is not set
# CT_ARCH_PRU is not set
# CT_ARCH_RISCV is not set
# CT_ARCH_S390 is not set
# CT_ARCH_SH is not set
# CT_ARCH_SPARC is not set
# CT_ARCH_X86 is not set
# CT_ARCH_XTENSA is not set
CT_ARCH="arm"
CT_ARCH_CHOICE_KSYM="ARM"
CT_ARCH_CPU=""
CT_ARCH_TUNE=""
CT_ARCH_ARM_SHOW=y
#
# Options for arm
#
CT_ARCH_ARM_PKG_KSYM=""
CT_ALL_ARCH_CHOICES="ALPHA ARC ARM AVR BPF C6X LOONGARCH M68K MICROBLAZE MIPS MOXIE MSP430 NIOS2 POWERPC PRU RISCV S390 SH SPARC X86 XTENSA"
CT_ARCH_SUFFIX=""
# CT_OMIT_TARGET_VENDOR is not set
#
# Generic target options
#
# CT_MULTILIB is not set
CT_DEMULTILIB=y
CT_ARCH_SUPPORTS_BOTH_MMU=y
CT_ARCH_DEFAULT_HAS_MMU=y
CT_ARCH_USE_MMU=y
CT_ARCH_SUPPORTS_FLAT_FORMAT=y
CT_ARCH_SUPPORTS_LIBSANITIZER=y
CT_ARCH_SUPPORTS_EITHER_ENDIAN=y
CT_ARCH_DEFAULT_LE=y
# CT_ARCH_BE is not set
CT_ARCH_LE=y
CT_ARCH_ENDIAN="little"
CT_ARCH_SUPPORTS_32=y
CT_ARCH_SUPPORTS_64=y
CT_ARCH_DEFAULT_32=y
CT_ARCH_BITNESS=64
# CT_ARCH_32 is not set
CT_ARCH_64=y
#
# Target optimisations
#
CT_ARCH_SUPPORTS_WITH_ARCH=y
CT_ARCH_SUPPORTS_WITH_CPU=y
CT_ARCH_SUPPORTS_WITH_TUNE=y
CT_ARCH_EXCLUSIVE_WITH_CPU=y
CT_ARCH_ARCH=""
CT_TARGET_CFLAGS="-fPIC -DPIC"
CT_TARGET_LDFLAGS=""
# end of Target options
#
# Toolchain options
#
#
# General toolchain options
#
CT_USE_SYSROOT=y
CT_SYSROOT_NAME="sysroot"
CT_SYSROOT_DIR_PREFIX=""
# CT_STATIC_TOOLCHAIN is not set
CT_SHOW_CT_VERSION=y
CT_TOOLCHAIN_PKGVERSION=""
CT_TOOLCHAIN_BUGURL=""
#
# Tuple completion and aliasing
#
CT_TARGET_VENDOR="ffbuild"
CT_TARGET_ALIAS_SED_EXPR=""
CT_TARGET_ALIAS=""
#
# Toolchain type
#
# CT_NATIVE is not set
CT_CROSS=y
# CT_CROSS_NATIVE is not set
# CT_CANADIAN is not set
CT_TOOLCHAIN_TYPE="cross"
#
# Build system
#
CT_BUILD=""
CT_BUILD_PREFIX=""
CT_BUILD_SUFFIX=""
#
# Misc options
#
# CT_TOOLCHAIN_ENABLE_NLS is not set
# end of Toolchain options
#
# Operating System
#
CT_KERNEL_SUPPORTS_SHARED_LIBS=y
# CT_KERNEL_BARE_METAL is not set
CT_KERNEL_LINUX=y
CT_KERNEL="linux"
CT_KERNEL_CHOICE_KSYM="LINUX"
CT_KERNEL_LINUX_SHOW=y
#
# Options for linux
#
CT_KERNEL_LINUX_PKG_KSYM="LINUX"
CT_LINUX_DIR_NAME="linux"
CT_LINUX_USE_WWW_KERNEL_ORG=y
# CT_LINUX_USE_ORACLE is not set
CT_LINUX_USE="LINUX"
CT_LINUX_PKG_NAME="linux"
CT_LINUX_SRC_RELEASE=y
# CT_LINUX_SRC_DEVEL is not set
# CT_LINUX_SRC_CUSTOM is not set
CT_LINUX_PATCH_GLOBAL=y
# CT_LINUX_PATCH_BUNDLED is not set
# CT_LINUX_PATCH_LOCAL is not set
# CT_LINUX_PATCH_BUNDLED_LOCAL is not set
# CT_LINUX_PATCH_LOCAL_BUNDLED is not set
# CT_LINUX_PATCH_NONE is not set
CT_LINUX_PATCH_ORDER="global"
# CT_LINUX_V_6_3 is not set
# CT_LINUX_V_6_2 is not set
# CT_LINUX_V_6_1 is not set
# CT_LINUX_V_6_0 is not set
# CT_LINUX_V_5_19 is not set
# CT_LINUX_V_5_18 is not set
# CT_LINUX_V_5_17 is not set
# CT_LINUX_V_5_16 is not set
# CT_LINUX_V_5_15 is not set
# CT_LINUX_V_5_14 is not set
# CT_LINUX_V_5_13 is not set
# CT_LINUX_V_5_12 is not set
# CT_LINUX_V_5_11 is not set
# CT_LINUX_V_5_10 is not set
# CT_LINUX_V_5_9 is not set
# CT_LINUX_V_5_8 is not set
# CT_LINUX_V_5_7 is not set
# CT_LINUX_V_5_5 is not set
# CT_LINUX_V_5_4 is not set
# CT_LINUX_V_5_3 is not set
# CT_LINUX_V_5_2 is not set
# CT_LINUX_V_5_1 is not set
# CT_LINUX_V_5_0 is not set
# CT_LINUX_V_4_20 is not set
# CT_LINUX_V_4_19 is not set
# CT_LINUX_V_4_18 is not set
# CT_LINUX_V_4_17 is not set
# CT_LINUX_V_4_16 is not set
CT_LINUX_V_4_15=y
# CT_LINUX_V_4_14 is not set
# CT_LINUX_V_4_13 is not set
# CT_LINUX_V_4_12 is not set
# CT_LINUX_V_4_11 is not set
# CT_LINUX_V_4_10 is not set
# CT_LINUX_V_4_9 is not set
# CT_LINUX_V_4_4 is not set
# CT_LINUX_V_4_1 is not set
# CT_LINUX_V_3_18 is not set
# CT_LINUX_V_3_16 is not set
# CT_LINUX_V_3_13 is not set
# CT_LINUX_V_3_12 is not set
# CT_LINUX_V_3_10 is not set
CT_LINUX_VERSION="4.15.18"
CT_LINUX_MIRRORS="$(CT_Mirrors kernel.org linux ${CT_LINUX_VERSION})"
CT_LINUX_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
CT_LINUX_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
CT_LINUX_ARCHIVE_FORMATS=".tar.xz .tar.gz"
CT_LINUX_SIGNATURE_FORMAT="unpacked/.sign"
CT_LINUX_5_19_or_older=y
CT_LINUX_older_than_5_19=y
CT_LINUX_5_12_or_older=y
CT_LINUX_older_than_5_12=y
CT_LINUX_5_5_or_older=y
CT_LINUX_older_than_5_5=y
CT_LINUX_5_3_or_older=y
CT_LINUX_older_than_5_3=y
CT_LINUX_later_than_4_8=y
CT_LINUX_4_8_or_later=y
CT_LINUX_later_than_3_7=y
CT_LINUX_3_7_or_later=y
CT_LINUX_REQUIRE_3_7_or_later=y
CT_LINUX_later_than_3_2=y
CT_LINUX_3_2_or_later=y
CT_LINUX_REQUIRE_3_2_or_later=y
CT_KERNEL_DEP_RSYNC=y
CT_KERNEL_LINUX_VERBOSITY_0=y
# CT_KERNEL_LINUX_VERBOSITY_1 is not set
# CT_KERNEL_LINUX_VERBOSITY_2 is not set
CT_KERNEL_LINUX_VERBOSE_LEVEL=0
# CT_KERNEL_LINUX_INSTALL_CHECK is not set
CT_ALL_KERNEL_CHOICES="BARE_METAL LINUX WINDOWS"
#
# Common kernel options
#
CT_SHARED_LIBS=y
# end of Operating System
#
# Binary utilities
#
CT_ARCH_BINFMT_ELF=y
CT_BINUTILS_BINUTILS=y
CT_BINUTILS="binutils"
CT_BINUTILS_CHOICE_KSYM="BINUTILS"
CT_BINUTILS_BINUTILS_SHOW=y
#
# Options for binutils
#
CT_BINUTILS_BINUTILS_PKG_KSYM="BINUTILS"
CT_BINUTILS_DIR_NAME="binutils"
CT_BINUTILS_USE_GNU=y
# CT_BINUTILS_USE_LINARO is not set
# CT_BINUTILS_USE_ORACLE is not set
CT_BINUTILS_USE="BINUTILS"
CT_BINUTILS_PKG_NAME="binutils"
CT_BINUTILS_SRC_RELEASE=y
# CT_BINUTILS_SRC_DEVEL is not set
# CT_BINUTILS_SRC_CUSTOM is not set
CT_BINUTILS_PATCH_GLOBAL=y
# CT_BINUTILS_PATCH_BUNDLED is not set
# CT_BINUTILS_PATCH_LOCAL is not set
# CT_BINUTILS_PATCH_BUNDLED_LOCAL is not set
# CT_BINUTILS_PATCH_LOCAL_BUNDLED is not set
# CT_BINUTILS_PATCH_NONE is not set
CT_BINUTILS_PATCH_ORDER="global"
CT_BINUTILS_V_2_40=y
# CT_BINUTILS_V_2_39 is not set
# CT_BINUTILS_V_2_38 is not set
# CT_BINUTILS_V_2_37 is not set
# CT_BINUTILS_V_2_36 is not set
# CT_BINUTILS_V_2_35 is not set
# CT_BINUTILS_V_2_34 is not set
# CT_BINUTILS_V_2_33 is not set
# CT_BINUTILS_V_2_32 is not set
# CT_BINUTILS_V_2_31 is not set
# CT_BINUTILS_V_2_30 is not set
# CT_BINUTILS_V_2_29 is not set
# CT_BINUTILS_V_2_28 is not set
# CT_BINUTILS_V_2_27 is not set
# CT_BINUTILS_V_2_26 is not set
CT_BINUTILS_VERSION="2.40"
CT_BINUTILS_MIRRORS="$(CT_Mirrors GNU binutils) $(CT_Mirrors sourceware binutils/releases)"
CT_BINUTILS_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
CT_BINUTILS_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
CT_BINUTILS_ARCHIVE_FORMATS=".tar.xz .tar.bz2 .tar.gz"
CT_BINUTILS_SIGNATURE_FORMAT="packed/.sig"
CT_BINUTILS_later_than_2_39=y
CT_BINUTILS_2_39_or_later=y
CT_BINUTILS_later_than_2_30=y
CT_BINUTILS_2_30_or_later=y
CT_BINUTILS_later_than_2_27=y
CT_BINUTILS_2_27_or_later=y
CT_BINUTILS_later_than_2_26=y
CT_BINUTILS_2_26_or_later=y
#
# GNU binutils
#
CT_BINUTILS_GOLD_SUPPORTS_ARCH=y
CT_BINUTILS_GOLD_SUPPORT=y
CT_BINUTILS_FORCE_LD_BFD_DEFAULT=y
CT_BINUTILS_LINKER_LD=y
# CT_BINUTILS_LINKER_LD_GOLD is not set
CT_BINUTILS_LINKERS_LIST="ld"
CT_BINUTILS_LINKER_DEFAULT="bfd"
CT_BINUTILS_PLUGINS=y
CT_BINUTILS_RELRO=m
CT_BINUTILS_DETERMINISTIC_ARCHIVES=y
CT_BINUTILS_EXTRA_CONFIG_ARRAY=""
# CT_BINUTILS_FOR_TARGET is not set
CT_ALL_BINUTILS_CHOICES="BINUTILS"
# end of Binary utilities
#
# C-library
#
CT_LIBC_GLIBC=y
# CT_LIBC_MUSL is not set
# CT_LIBC_UCLIBC_NG is not set
CT_LIBC="glibc"
CT_LIBC_CHOICE_KSYM="GLIBC"
CT_LIBC_GLIBC_SHOW=y
#
# Options for glibc
#
CT_LIBC_GLIBC_PKG_KSYM="GLIBC"
CT_GLIBC_DIR_NAME="glibc"
CT_GLIBC_USE_GNU=y
# CT_GLIBC_USE_ORACLE is not set
CT_GLIBC_USE="GLIBC"
CT_GLIBC_PKG_NAME="glibc"
CT_GLIBC_SRC_RELEASE=y
# CT_GLIBC_SRC_DEVEL is not set
# CT_GLIBC_SRC_CUSTOM is not set
CT_GLIBC_PATCH_GLOBAL=y
# CT_GLIBC_PATCH_BUNDLED is not set
# CT_GLIBC_PATCH_LOCAL is not set
# CT_GLIBC_PATCH_BUNDLED_LOCAL is not set
# CT_GLIBC_PATCH_LOCAL_BUNDLED is not set
# CT_GLIBC_PATCH_NONE is not set
CT_GLIBC_PATCH_ORDER="global"
# CT_GLIBC_V_2_37 is not set
# CT_GLIBC_V_2_36 is not set
# CT_GLIBC_V_2_35 is not set
# CT_GLIBC_V_2_34 is not set
# CT_GLIBC_V_2_33 is not set
# CT_GLIBC_V_2_32 is not set
# CT_GLIBC_V_2_31 is not set
# CT_GLIBC_V_2_30 is not set
# CT_GLIBC_V_2_29 is not set
# CT_GLIBC_V_2_28 is not set
CT_GLIBC_V_2_27=y
# CT_GLIBC_V_2_26 is not set
# CT_GLIBC_V_2_25 is not set
# CT_GLIBC_V_2_24 is not set
# CT_GLIBC_V_2_23 is not set
# CT_GLIBC_V_2_19 is not set
# CT_GLIBC_V_2_17 is not set
CT_GLIBC_VERSION="2.27"
CT_GLIBC_MIRRORS="$(CT_Mirrors GNU glibc)"
CT_GLIBC_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
CT_GLIBC_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
CT_GLIBC_ARCHIVE_FORMATS=".tar.xz .tar.bz2 .tar.gz"
CT_GLIBC_SIGNATURE_FORMAT="packed/.sig"
CT_GLIBC_2_37_or_older=y
CT_GLIBC_older_than_2_37=y
CT_GLIBC_2_36_or_older=y
CT_GLIBC_older_than_2_36=y
CT_GLIBC_2_34_or_older=y
CT_GLIBC_older_than_2_34=y
CT_GLIBC_2_32_or_older=y
CT_GLIBC_older_than_2_32=y
CT_GLIBC_2_31_or_older=y
CT_GLIBC_older_than_2_31=y
CT_GLIBC_2_30_or_older=y
CT_GLIBC_older_than_2_30=y
CT_GLIBC_2_29_or_older=y
CT_GLIBC_older_than_2_29=y
CT_GLIBC_2_28_or_older=y
CT_GLIBC_older_than_2_28=y
CT_GLIBC_2_27_or_later=y
CT_GLIBC_2_27_or_older=y
CT_GLIBC_later_than_2_26=y
CT_GLIBC_2_26_or_later=y
CT_GLIBC_later_than_2_25=y
CT_GLIBC_2_25_or_later=y
CT_GLIBC_later_than_2_24=y
CT_GLIBC_2_24_or_later=y
CT_GLIBC_later_than_2_23=y
CT_GLIBC_2_23_or_later=y
CT_GLIBC_later_than_2_20=y
CT_GLIBC_2_20_or_later=y
CT_GLIBC_later_than_2_17=y
CT_GLIBC_2_17_or_later=y
CT_GLIBC_later_than_2_14=y
CT_GLIBC_2_14_or_later=y
CT_GLIBC_DEP_KERNEL_HEADERS_VERSION=y
CT_GLIBC_DEP_BINUTILS=y
CT_GLIBC_DEP_GCC=y
CT_GLIBC_DEP_PYTHON=y
CT_GLIBC_SPARC_ALLOW_V7=y
CT_THREADS="nptl"
CT_GLIBC_BUILD_SSP=y
CT_GLIBC_HAS_LIBIDN_ADDON=y
# CT_GLIBC_USE_LIBIDN_ADDON is not set
CT_GLIBC_NO_SPARC_V8=y
CT_GLIBC_HAS_OBSOLETE_RPC=y
CT_GLIBC_EXTRA_CONFIG_ARRAY="--with-pic"
CT_GLIBC_CONFIGPARMS=""
# CT_GLIBC_ENABLE_DEBUG is not set
CT_GLIBC_EXTRA_CFLAGS="-fPIC -DPIC"
CT_GLIBC_ENABLE_OBSOLETE_RPC=y
# CT_GLIBC_ENABLE_FORTIFIED_BUILD is not set
# CT_GLIBC_DISABLE_VERSIONING is not set
CT_GLIBC_OLDEST_ABI=""
CT_GLIBC_FORCE_UNWIND=y
# CT_GLIBC_LOCALES is not set
# CT_GLIBC_KERNEL_VERSION_NONE is not set
CT_GLIBC_KERNEL_VERSION_AS_HEADERS=y
# CT_GLIBC_KERNEL_VERSION_CHOSEN is not set
CT_GLIBC_MIN_KERNEL="4.15.18"
CT_GLIBC_SSP_DEFAULT=y
# CT_GLIBC_SSP_NO is not set
# CT_GLIBC_SSP_YES is not set
# CT_GLIBC_SSP_ALL is not set
# CT_GLIBC_SSP_STRONG is not set
CT_GLIBC_ENABLE_COMMON_FLAG=y
CT_ALL_LIBC_CHOICES="AVR_LIBC GLIBC MINGW_W64 MOXIEBOX MUSL NEWLIB NONE PICOLIBC UCLIBC_NG"
CT_LIBC_SUPPORT_THREADS_ANY=y
CT_LIBC_SUPPORT_THREADS_NATIVE=y
#
# Common C library options
#
CT_THREADS_NATIVE=y
# CT_CREATE_LDSO_CONF is not set
CT_LIBC_XLDD=y
# end of C-library
#
# C compiler
#
CT_CC_CORE_NEEDED=y
CT_CC_SUPPORT_CXX=y
CT_CC_SUPPORT_FORTRAN=y
CT_CC_SUPPORT_ADA=y
CT_CC_SUPPORT_D=y
CT_CC_SUPPORT_JIT=y
CT_CC_SUPPORT_OBJC=y
CT_CC_SUPPORT_OBJCXX=y
CT_CC_SUPPORT_GOLANG=y
CT_CC_GCC=y
CT_CC="gcc"
CT_CC_CHOICE_KSYM="GCC"
CT_CC_GCC_SHOW=y
#
# Options for gcc
#
CT_CC_GCC_PKG_KSYM="GCC"
CT_GCC_DIR_NAME="gcc"
CT_GCC_USE_GNU=y
# CT_GCC_USE_LINARO is not set
# CT_GCC_USE_ORACLE is not set
CT_GCC_USE="GCC"
CT_GCC_PKG_NAME="gcc"
CT_GCC_SRC_RELEASE=y
# CT_GCC_SRC_DEVEL is not set
# CT_GCC_SRC_CUSTOM is not set
CT_GCC_PATCH_GLOBAL=y
# CT_GCC_PATCH_BUNDLED is not set
# CT_GCC_PATCH_LOCAL is not set
# CT_GCC_PATCH_BUNDLED_LOCAL is not set
# CT_GCC_PATCH_LOCAL_BUNDLED is not set
# CT_GCC_PATCH_NONE is not set
CT_GCC_PATCH_ORDER="global"
CT_GCC_V_13=y
# CT_GCC_V_12 is not set
# CT_GCC_V_11 is not set
# CT_GCC_V_10 is not set
# CT_GCC_V_9 is not set
# CT_GCC_V_8 is not set
# CT_GCC_V_7 is not set
# CT_GCC_V_6 is not set
# CT_GCC_V_5 is not set
# CT_GCC_V_4_9 is not set
CT_GCC_VERSION="13.1.0"
CT_GCC_MIRRORS="$(CT_Mirrors GNU gcc/gcc-${CT_GCC_VERSION}) $(CT_Mirrors sourceware gcc/releases/gcc-${CT_GCC_VERSION})"
CT_GCC_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
CT_GCC_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
CT_GCC_ARCHIVE_FORMATS=".tar.xz .tar.gz"
CT_GCC_SIGNATURE_FORMAT=""
CT_GCC_later_than_13=y
CT_GCC_13_or_later=y
CT_GCC_later_than_12=y
CT_GCC_12_or_later=y
CT_GCC_later_than_11=y
CT_GCC_11_or_later=y
CT_GCC_later_than_10=y
CT_GCC_10_or_later=y
CT_GCC_later_than_9=y
CT_GCC_9_or_later=y
CT_GCC_later_than_8=y
CT_GCC_8_or_later=y
CT_GCC_later_than_7=y
CT_GCC_7_or_later=y
CT_GCC_later_than_6=y
CT_GCC_6_or_later=y
CT_GCC_later_than_5=y
CT_GCC_5_or_later=y
CT_GCC_later_than_4_9=y
CT_GCC_4_9_or_later=y
CT_GCC_REQUIRE_4_9_or_later=y
CT_CC_GCC_ENABLE_PLUGINS=y
CT_CC_GCC_HAS_LIBMPX=y
CT_CC_GCC_ENABLE_CXX_FLAGS=""
CT_CC_GCC_CORE_EXTRA_CONFIG_ARRAY="--enable-host-shared --enable-default-ssp"
CT_CC_GCC_EXTRA_CONFIG_ARRAY="--enable-host-shared --enable-default-ssp --with-build-config=bootstrap-lto-lean --enable-link-serialization=2"
# CT_CC_GCC_STATIC_LIBSTDCXX is not set
# CT_CC_GCC_SYSTEM_ZLIB is not set
CT_CC_GCC_CONFIG_TLS=m
#
# Optimisation features
#
CT_CC_GCC_USE_GRAPHITE=y
CT_CC_GCC_USE_LTO=y
CT_CC_GCC_LTO_ZSTD=m
#
# Settings for libraries running on target
#
CT_CC_GCC_ENABLE_DEFAULT_PIE=y
# CT_CC_GCC_ENABLE_TARGET_OPTSPACE is not set
# CT_CC_GCC_LIBMUDFLAP is not set
CT_CC_GCC_LIBGOMP=y
CT_CC_GCC_LIBSSP=m
# CT_CC_GCC_LIBQUADMATH is not set
# CT_CC_GCC_LIBSANITIZER is not set
# CT_CC_GCC_LIBSTDCXX_VERBOSE is not set
#
# Misc. obscure options.
#
CT_CC_CXA_ATEXIT=y
CT_CC_GCC_TM_CLONE_REGISTRY=m
# CT_CC_GCC_DISABLE_PCH is not set
CT_CC_GCC_SJLJ_EXCEPTIONS=m
CT_CC_GCC_LDBL_128=m
# CT_CC_GCC_BUILD_ID is not set
CT_CC_GCC_LNK_HASH_STYLE_DEFAULT=y
# CT_CC_GCC_LNK_HASH_STYLE_SYSV is not set
# CT_CC_GCC_LNK_HASH_STYLE_GNU is not set
# CT_CC_GCC_LNK_HASH_STYLE_BOTH is not set
CT_CC_GCC_LNK_HASH_STYLE=""
CT_CC_GCC_DEC_FLOATS_AUTO=y
# CT_CC_GCC_DEC_FLOATS_BID is not set
# CT_CC_GCC_DEC_FLOATS_DPD is not set
# CT_CC_GCC_DEC_FLOATS_NO is not set
CT_CC_GCC_DEC_FLOATS=""
CT_ALL_CC_CHOICES="GCC"
#
# Additional supported languages:
#
CT_CC_LANG_CXX=y
# CT_CC_LANG_FORTRAN is not set
# CT_CC_LANG_JIT is not set
# CT_CC_LANG_ADA is not set
# CT_CC_LANG_D is not set
# CT_CC_LANG_OBJC is not set
# CT_CC_LANG_OBJCXX is not set
# CT_CC_LANG_GOLANG is not set
CT_CC_LANG_OTHERS=""
# end of C compiler
#
# Debug facilities
#
# CT_DEBUG_DUMA is not set
# CT_DEBUG_GDB is not set
# CT_DEBUG_LTRACE is not set
# CT_DEBUG_STRACE is not set
CT_ALL_DEBUG_CHOICES="DUMA GDB LTRACE STRACE"
# end of Debug facilities
#
# Companion libraries
#
# CT_COMPLIBS_CHECK is not set
# CT_COMP_LIBS_CLOOG is not set
# CT_COMP_LIBS_EXPAT is not set
CT_COMP_LIBS_GETTEXT=y
CT_COMP_LIBS_GETTEXT_PKG_KSYM="GETTEXT"
CT_GETTEXT_DIR_NAME="gettext"
CT_GETTEXT_PKG_NAME="gettext"
CT_GETTEXT_SRC_RELEASE=y
# CT_GETTEXT_SRC_DEVEL is not set
# CT_GETTEXT_SRC_CUSTOM is not set
CT_GETTEXT_PATCH_GLOBAL=y
# CT_GETTEXT_PATCH_BUNDLED is not set
# CT_GETTEXT_PATCH_LOCAL is not set
# CT_GETTEXT_PATCH_BUNDLED_LOCAL is not set
# CT_GETTEXT_PATCH_LOCAL_BUNDLED is not set
# CT_GETTEXT_PATCH_NONE is not set
CT_GETTEXT_PATCH_ORDER="global"
CT_GETTEXT_V_0_21=y
# CT_GETTEXT_V_0_20_1 is not set
# CT_GETTEXT_V_0_19_8_1 is not set
CT_GETTEXT_VERSION="0.21"
CT_GETTEXT_MIRRORS="$(CT_Mirrors GNU gettext)"
CT_GETTEXT_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
CT_GETTEXT_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
CT_GETTEXT_ARCHIVE_FORMATS=".tar.xz .tar.gz"
CT_GETTEXT_SIGNATURE_FORMAT="packed/.sig"
CT_GETTEXT_0_21_or_later=y
CT_GETTEXT_0_21_or_older=y
CT_GETTEXT_INCOMPATIBLE_WITH_UCLIBC_NG=y
#
# This version of gettext is not compatible with uClibc-NG. Select
#
#
# a different version if uClibc-NG is used on the target or (in a
#
#
# Canadian cross build) on the host.
#
CT_COMP_LIBS_GMP=y
CT_COMP_LIBS_GMP_PKG_KSYM="GMP"
CT_GMP_DIR_NAME="gmp"
CT_GMP_PKG_NAME="gmp"
CT_GMP_SRC_RELEASE=y
# CT_GMP_SRC_DEVEL is not set
# CT_GMP_SRC_CUSTOM is not set
CT_GMP_PATCH_GLOBAL=y
# CT_GMP_PATCH_BUNDLED is not set
# CT_GMP_PATCH_LOCAL is not set
# CT_GMP_PATCH_BUNDLED_LOCAL is not set
# CT_GMP_PATCH_LOCAL_BUNDLED is not set
# CT_GMP_PATCH_NONE is not set
CT_GMP_PATCH_ORDER="global"
CT_GMP_V_6_2=y
# CT_GMP_V_6_1 is not set
CT_GMP_VERSION="6.2.1"
CT_GMP_MIRRORS="https://gmplib.org/download/gmp https://gmplib.org/download/gmp/archive $(CT_Mirrors GNU gmp)"
CT_GMP_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
CT_GMP_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
CT_GMP_ARCHIVE_FORMATS=".tar.xz .tar.lz .tar.bz2"
CT_GMP_SIGNATURE_FORMAT="packed/.sig"
CT_COMP_LIBS_ISL=y
CT_COMP_LIBS_ISL_PKG_KSYM="ISL"
CT_ISL_DIR_NAME="isl"
CT_ISL_PKG_NAME="isl"
CT_ISL_SRC_RELEASE=y
# CT_ISL_SRC_DEVEL is not set
# CT_ISL_SRC_CUSTOM is not set
CT_ISL_PATCH_GLOBAL=y
# CT_ISL_PATCH_BUNDLED is not set
# CT_ISL_PATCH_LOCAL is not set
# CT_ISL_PATCH_BUNDLED_LOCAL is not set
# CT_ISL_PATCH_LOCAL_BUNDLED is not set
# CT_ISL_PATCH_NONE is not set
CT_ISL_PATCH_ORDER="global"
CT_ISL_V_0_26=y
# CT_ISL_V_0_25 is not set
# CT_ISL_V_0_24 is not set
# CT_ISL_V_0_23 is not set
# CT_ISL_V_0_22 is not set
# CT_ISL_V_0_21 is not set
# CT_ISL_V_0_20 is not set
# CT_ISL_V_0_19 is not set
# CT_ISL_V_0_18 is not set
# CT_ISL_V_0_17 is not set
# CT_ISL_V_0_16 is not set
# CT_ISL_V_0_15 is not set
# CT_ISL_V_0_11 is not set
CT_ISL_VERSION="0.26"
CT_ISL_MIRRORS="https://libisl.sourceforge.io"
CT_ISL_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
CT_ISL_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
CT_ISL_ARCHIVE_FORMATS=".tar.xz .tar.bz2 .tar.gz"
CT_ISL_SIGNATURE_FORMAT=""
CT_ISL_later_than_0_18=y
CT_ISL_0_18_or_later=y
CT_ISL_later_than_0_15=y
CT_ISL_0_15_or_later=y
# CT_COMP_LIBS_LIBELF is not set
CT_COMP_LIBS_LIBICONV=y
CT_COMP_LIBS_LIBICONV_PKG_KSYM="LIBICONV"
CT_LIBICONV_DIR_NAME="libiconv"
CT_LIBICONV_PKG_NAME="libiconv"
CT_LIBICONV_SRC_RELEASE=y
# CT_LIBICONV_SRC_DEVEL is not set
# CT_LIBICONV_SRC_CUSTOM is not set
CT_LIBICONV_PATCH_GLOBAL=y
# CT_LIBICONV_PATCH_BUNDLED is not set
# CT_LIBICONV_PATCH_LOCAL is not set
# CT_LIBICONV_PATCH_BUNDLED_LOCAL is not set
# CT_LIBICONV_PATCH_LOCAL_BUNDLED is not set
# CT_LIBICONV_PATCH_NONE is not set
CT_LIBICONV_PATCH_ORDER="global"
CT_LIBICONV_V_1_16=y
# CT_LIBICONV_V_1_15 is not set
CT_LIBICONV_VERSION="1.16"
CT_LIBICONV_MIRRORS="$(CT_Mirrors GNU libiconv)"
CT_LIBICONV_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
CT_LIBICONV_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
CT_LIBICONV_ARCHIVE_FORMATS=".tar.gz"
CT_LIBICONV_SIGNATURE_FORMAT="packed/.sig"
CT_COMP_LIBS_MPC=y
CT_COMP_LIBS_MPC_PKG_KSYM="MPC"
CT_MPC_DIR_NAME="mpc"
CT_MPC_PKG_NAME="mpc"
CT_MPC_SRC_RELEASE=y
# CT_MPC_SRC_DEVEL is not set
# CT_MPC_SRC_CUSTOM is not set
CT_MPC_PATCH_GLOBAL=y
# CT_MPC_PATCH_BUNDLED is not set
# CT_MPC_PATCH_LOCAL is not set
# CT_MPC_PATCH_BUNDLED_LOCAL is not set
# CT_MPC_PATCH_LOCAL_BUNDLED is not set
# CT_MPC_PATCH_NONE is not set
CT_MPC_PATCH_ORDER="global"
CT_MPC_V_1_2=y
# CT_MPC_V_1_1 is not set
# CT_MPC_V_1_0 is not set
CT_MPC_VERSION="1.2.1"
CT_MPC_MIRRORS="http://www.multiprecision.org/downloads $(CT_Mirrors GNU mpc)"
CT_MPC_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
CT_MPC_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
CT_MPC_ARCHIVE_FORMATS=".tar.gz"
CT_MPC_SIGNATURE_FORMAT="packed/.sig"
CT_MPC_later_than_1_1_0=y
CT_MPC_1_1_0_or_later=y
CT_COMP_LIBS_MPFR=y
CT_COMP_LIBS_MPFR_PKG_KSYM="MPFR"
CT_MPFR_DIR_NAME="mpfr"
CT_MPFR_PKG_NAME="mpfr"
CT_MPFR_SRC_RELEASE=y
# CT_MPFR_SRC_DEVEL is not set
# CT_MPFR_SRC_CUSTOM is not set
CT_MPFR_PATCH_GLOBAL=y
# CT_MPFR_PATCH_BUNDLED is not set
# CT_MPFR_PATCH_LOCAL is not set
# CT_MPFR_PATCH_BUNDLED_LOCAL is not set
# CT_MPFR_PATCH_LOCAL_BUNDLED is not set
# CT_MPFR_PATCH_NONE is not set
CT_MPFR_PATCH_ORDER="global"
CT_MPFR_V_4_1=y
# CT_MPFR_V_4_0 is not set
# CT_MPFR_V_3_1 is not set
CT_MPFR_VERSION="4.1.0"
CT_MPFR_MIRRORS="http://www.mpfr.org/mpfr-${CT_MPFR_VERSION} $(CT_Mirrors GNU mpfr)"
CT_MPFR_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
CT_MPFR_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
CT_MPFR_ARCHIVE_FORMATS=".tar.xz .tar.bz2 .tar.gz .zip"
CT_MPFR_SIGNATURE_FORMAT="packed/.asc"
CT_MPFR_later_than_4_0_0=y
CT_MPFR_4_0_0_or_later=y
CT_COMP_LIBS_NCURSES=y
CT_COMP_LIBS_NCURSES_PKG_KSYM="NCURSES"
CT_NCURSES_DIR_NAME="ncurses"
CT_NCURSES_PKG_NAME="ncurses"
CT_NCURSES_SRC_RELEASE=y
# CT_NCURSES_SRC_DEVEL is not set
# CT_NCURSES_SRC_CUSTOM is not set
CT_NCURSES_PATCH_GLOBAL=y
# CT_NCURSES_PATCH_BUNDLED is not set
# CT_NCURSES_PATCH_LOCAL is not set
# CT_NCURSES_PATCH_BUNDLED_LOCAL is not set
# CT_NCURSES_PATCH_LOCAL_BUNDLED is not set
# CT_NCURSES_PATCH_NONE is not set
CT_NCURSES_PATCH_ORDER="global"
CT_NCURSES_V_6_4=y
# CT_NCURSES_V_6_2 is not set
# CT_NCURSES_V_6_1 is not set
# CT_NCURSES_V_6_0 is not set
CT_NCURSES_VERSION="6.4"
CT_NCURSES_MIRRORS="https://invisible-mirror.net/archives/ncurses $(CT_Mirrors GNU ncurses)"
CT_NCURSES_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
CT_NCURSES_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
CT_NCURSES_ARCHIVE_FORMATS=".tar.gz"
CT_NCURSES_SIGNATURE_FORMAT="packed/.sig"
# CT_NCURSES_NEW_ABI is not set
CT_NCURSES_HOST_CONFIG_ARGS=""
CT_NCURSES_HOST_DISABLE_DB=y
CT_NCURSES_HOST_FALLBACKS="linux,xterm,xterm-color,xterm-256color,vt100"
CT_NCURSES_TARGET_CONFIG_ARGS=""
# CT_NCURSES_TARGET_DISABLE_DB is not set
CT_NCURSES_TARGET_FALLBACKS=""
CT_COMP_LIBS_ZLIB=y
CT_COMP_LIBS_ZLIB_PKG_KSYM="ZLIB"
CT_ZLIB_DIR_NAME="zlib"
CT_ZLIB_PKG_NAME="zlib"
CT_ZLIB_SRC_RELEASE=y
# CT_ZLIB_SRC_DEVEL is not set
# CT_ZLIB_SRC_CUSTOM is not set
CT_ZLIB_PATCH_GLOBAL=y
# CT_ZLIB_PATCH_BUNDLED is not set
# CT_ZLIB_PATCH_LOCAL is not set
# CT_ZLIB_PATCH_BUNDLED_LOCAL is not set
# CT_ZLIB_PATCH_LOCAL_BUNDLED is not set
# CT_ZLIB_PATCH_NONE is not set
CT_ZLIB_PATCH_ORDER="global"
CT_ZLIB_V_1_2_13=y
# CT_ZLIB_V_1_2_12 is not set
CT_ZLIB_VERSION="1.2.13"
CT_ZLIB_MIRRORS="https://github.com/madler/zlib/releases/download/v${CT_ZLIB_VERSION} https://www.zlib.net/"
CT_ZLIB_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
CT_ZLIB_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
CT_ZLIB_ARCHIVE_FORMATS=".tar.xz .tar.gz"
CT_ZLIB_SIGNATURE_FORMAT="packed/.asc"
CT_COMP_LIBS_ZSTD=y
CT_COMP_LIBS_ZSTD_PKG_KSYM="ZSTD"
CT_ZSTD_DIR_NAME="zstd"
CT_ZSTD_PKG_NAME="zstd"
CT_ZSTD_SRC_RELEASE=y
# CT_ZSTD_SRC_DEVEL is not set
# CT_ZSTD_SRC_CUSTOM is not set
CT_ZSTD_PATCH_GLOBAL=y
# CT_ZSTD_PATCH_BUNDLED is not set
# CT_ZSTD_PATCH_LOCAL is not set
# CT_ZSTD_PATCH_BUNDLED_LOCAL is not set
# CT_ZSTD_PATCH_LOCAL_BUNDLED is not set
# CT_ZSTD_PATCH_NONE is not set
CT_ZSTD_PATCH_ORDER="global"
CT_ZSTD_V_1_5_5=y
# CT_ZSTD_V_1_5_2 is not set
CT_ZSTD_VERSION="1.5.5"
CT_ZSTD_MIRRORS="https://github.com/facebook/zstd/releases/download/v${CT_ZSTD_VERSION} https://www.zstd.net/"
CT_ZSTD_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
CT_ZSTD_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
CT_ZSTD_ARCHIVE_FORMATS=".tar.gz"
CT_ZSTD_SIGNATURE_FORMAT="packed/.sig"
CT_ALL_COMP_LIBS_CHOICES="CLOOG EXPAT GETTEXT GMP GNUPRUMCU ISL LIBELF LIBICONV MPC MPFR NCURSES NEWLIB_NANO PICOLIBC ZLIB ZSTD"
CT_LIBICONV_NEEDED=y
CT_GETTEXT_NEEDED=y
CT_GMP_NEEDED=y
CT_MPFR_NEEDED=y
CT_ISL_NEEDED=y
CT_MPC_NEEDED=y
CT_NCURSES_NEEDED=y
CT_ZLIB_NEEDED=y
CT_ZSTD_NEEDED=y
CT_LIBICONV=y
CT_GETTEXT=y
CT_GMP=y
CT_MPFR=y
CT_ISL=y
CT_MPC=y
CT_NCURSES=y
CT_ZLIB=y
CT_ZSTD=y
# end of Companion libraries
#
# Companion tools
#
# CT_COMP_TOOLS_FOR_HOST is not set
# CT_COMP_TOOLS_AUTOCONF is not set
# CT_COMP_TOOLS_AUTOMAKE is not set
# CT_COMP_TOOLS_BISON is not set
# CT_COMP_TOOLS_DTC is not set
# CT_COMP_TOOLS_LIBTOOL is not set
# CT_COMP_TOOLS_M4 is not set
# CT_COMP_TOOLS_MAKE is not set
CT_ALL_COMP_TOOLS_CHOICES="AUTOCONF AUTOMAKE BISON DTC LIBTOOL M4 MAKE"
# end of Companion tools
#
# Test suite
#
# CT_TEST_SUITE_GCC is not set
# end of Test suite

View file

@ -1,17 +0,0 @@
#!/bin/bash
set -e
if [[ $# != 2 ]]; then
echo "Invalid arguments"
exit 1
fi
IN="$1"
OUT="$2"
TMPDIR="$(mktemp -d)"
trap "rm -rf '$TMPDIR'" EXIT
cd "$TMPDIR"
set -x
python3 /opt/implib/implib-gen.py --target aarch64-linux-gnu --dlopen --lazy-load --verbose "$IN"
${FFBUILD_CROSS_PREFIX}gcc $CFLAGS $STAGE_CFLAGS -DIMPLIB_HIDDEN_SHIMS -c *.tramp.S *.init.c
${FFBUILD_CROSS_PREFIX}ar -rcs "$OUT" *.tramp.o *.init.o

View file

@ -1,16 +0,0 @@
set(CMAKE_SYSTEM_NAME Linux)
set(CMAKE_SYSTEM_PROCESSOR aarch64)
set(triple aarch64-ffbuild-linux-gnu)
set(CMAKE_C_COMPILER ${triple}-gcc)
set(CMAKE_CXX_COMPILER ${triple}-g++)
set(CMAKE_RANLIB ${triple}-gcc-ranlib)
set(CMAKE_AR ${triple}-gcc-ar)
set(CMAKE_SYSROOT /opt/ct-ng/${triple}/sysroot)
set(CMAKE_FIND_ROOT_PATH /opt/ct-ng /opt/ct-ng/${triple}/sysroot /opt/ffbuild)
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)

View file

@ -1,22 +1,15 @@
ARG GH_REPO=ghcr.io/btbn/ffmpeg-builds ARG GH_REPO=btbn/ffmpeg-builds
FROM $GH_REPO/base:latest FROM ghcr.io/$GH_REPO/base:latest
RUN --mount=src=ct-ng-config,dst=/.config \ ENV DEBIAN_FRONTEND noninteractive
git clone --filter=blob:none https://github.com/crosstool-ng/crosstool-ng.git /ct-ng && cd /ct-ng && \
./bootstrap && \
./configure --enable-local && \
make -j$(nproc) && \
cp /.config .config && \
./ct-ng build && \
cd / && \
rm -rf ct-ng
# Prepare "cross" environment to heavily favour static builds
RUN \ RUN \
find /opt/ct-ng \ apt-get -y install binutils-mingw-w64-i686 gcc-mingw-w64-i686 g++-mingw-w64-i686 gfortran-mingw-w64-i686 && \
-name "*.dll" \ apt-get -y clean && \
-or -name "*.dll.a" \ rm /usr/lib/gcc/*-w64-mingw32/*/libstdc++*.dll* && \
-delete && \ rm /usr/lib/gcc/*-w64-mingw32/*/libgcc_s* && \
rm /usr/lib/gcc/*-w64-mingw32/*/*.dll.a && \
rm /usr/*-w64-mingw32/lib/*.dll.a && \
mkdir /opt/ffbuild mkdir /opt/ffbuild
RUN rustup target add i686-pc-windows-gnu RUN rustup target add i686-pc-windows-gnu
@ -24,24 +17,17 @@ RUN rustup target add i686-pc-windows-gnu
ADD toolchain.cmake /toolchain.cmake ADD toolchain.cmake /toolchain.cmake
ADD cross.meson /cross.meson ADD cross.meson /cross.meson
ENV FFBUILD_TOOLCHAIN=i686-w64-mingw32 ENV FFBUILD_TARGET_FLAGS="--pkg-config=pkg-config --cross-prefix=i686-w64-mingw32- --arch=i686 --target-os=mingw32" \
ENV PATH="/opt/ct-ng/bin:${PATH}" \ FFBUILD_TOOLCHAIN=i686-w64-mingw32 \
FFBUILD_TARGET_FLAGS="--pkg-config=pkg-config --cross-prefix=${FFBUILD_TOOLCHAIN}- --arch=i686 --target-os=mingw32" \ FFBUILD_CROSS_PREFIX=i686-w64-mingw32- \
FFBUILD_CROSS_PREFIX=${FFBUILD_TOOLCHAIN}- \
FFBUILD_RUST_TARGET=i686-pc-windows-gnu \ FFBUILD_RUST_TARGET=i686-pc-windows-gnu \
FFBUILD_PREFIX=/opt/ffbuild \ FFBUILD_PREFIX=/opt/ffbuild \
FFBUILD_CMAKE_TOOLCHAIN=/toolchain.cmake \ FFBUILD_CMAKE_TOOLCHAIN=/toolchain.cmake \
PKG_CONFIG=pkg-config \ PKG_CONFIG=pkg-config \
PKG_CONFIG_LIBDIR=/opt/ffbuild/lib/pkgconfig:/opt/ffbuild/share/pkgconfig \ PKG_CONFIG_LIBDIR=/opt/ffbuild/lib/pkgconfig:/opt/ffbuild/share/pkgconfig \
CC="${FFBUILD_TOOLCHAIN}-gcc" \
CXX="${FFBUILD_TOOLCHAIN}-g++" \
LD="${FFBUILD_TOOLCHAIN}-ld" \
AR="${FFBUILD_TOOLCHAIN}-gcc-ar" \
RANLIB="${FFBUILD_TOOLCHAIN}-gcc-ranlib" \
NM="${FFBUILD_TOOLCHAIN}-gcc-nm" \
DLLTOOL="${FFBUILD_TOOLCHAIN}-dlltool" \
CFLAGS="-static-libgcc -static-libstdc++ -I/opt/ffbuild/include -O2 -pipe -D_FORTIFY_SOURCE=2 -fstack-protector-strong" \ CFLAGS="-static-libgcc -static-libstdc++ -I/opt/ffbuild/include -O2 -pipe -D_FORTIFY_SOURCE=2 -fstack-protector-strong" \
CXXFLAGS="-static-libgcc -static-libstdc++ -I/opt/ffbuild/include -O2 -pipe -D_FORTIFY_SOURCE=2 -fstack-protector-strong" \ CXXFLAGS="-static-libgcc -static-libstdc++ -I/opt/ffbuild/include -O2 -pipe -D_FORTIFY_SOURCE=2 -fstack-protector-strong" \
LDFLAGS="-static-libgcc -static-libstdc++ -L/opt/ffbuild/lib -O2 -pipe -fstack-protector-strong" \ LDFLAGS="-static-libgcc -static-libstdc++ -L/opt/ffbuild/lib -O2 -pipe -fstack-protector-strong" \
DLLTOOL="i686-w64-mingw32-dlltool" \
STAGE_CFLAGS="-fno-semantic-interposition" \ STAGE_CFLAGS="-fno-semantic-interposition" \
STAGE_CXXFLAGS="-fno-semantic-interposition" STAGE_CXXFLAGS="-fno-semantic-interposition"

View file

@ -1,11 +1,9 @@
[binaries] [binaries]
c = 'i686-w64-mingw32-gcc' c = 'i686-w64-mingw32-gcc'
cpp = 'i686-w64-mingw32-g++' cpp = 'i686-w64-mingw32-g++'
ar = 'i686-w64-mingw32-gcc-ar' ar = 'i686-w64-mingw32-ar'
ranlib = 'i686-w64-mingw32-gcc-ranlib'
strip = 'i686-w64-mingw32-strip' strip = 'i686-w64-mingw32-strip'
windres = 'i686-w64-mingw32-windres' windres = 'i686-w64-mingw32-windres'
dlltool = 'i686-w64-mingw32-dlltool'
exe_wrapper = ['wine'] exe_wrapper = ['wine']
[properties] [properties]

View file

@ -1,784 +0,0 @@
#
# Automatically generated file; DO NOT EDIT.
# crosstool-NG 1.25.0.196_227d99d Configuration
#
CT_CONFIGURE_has_static_link=y
CT_CONFIGURE_has_cxx11=y
CT_CONFIGURE_has_wget=y
CT_CONFIGURE_has_curl=y
CT_CONFIGURE_has_meson=y
CT_CONFIGURE_has_ninja=y
CT_CONFIGURE_has_rsync=y
CT_CONFIGURE_has_make_3_81_or_newer=y
CT_CONFIGURE_has_make_4_0_or_newer=y
CT_CONFIGURE_has_libtool_2_4_or_newer=y
CT_CONFIGURE_has_libtoolize_2_4_or_newer=y
CT_CONFIGURE_has_autoconf_2_71_or_newer=y
CT_CONFIGURE_has_autoreconf_2_71_or_newer=y
CT_CONFIGURE_has_automake_1_16_or_newer=y
CT_CONFIGURE_has_gnu_m4_1_4_12_or_newer=y
CT_CONFIGURE_has_python_3_4_or_newer=y
CT_CONFIGURE_has_bison_2_7_or_newer=y
CT_CONFIGURE_has_bison_3_0_4_or_newer=y
CT_CONFIGURE_has_python=y
CT_CONFIGURE_has_svn=y
CT_CONFIGURE_has_git=y
CT_CONFIGURE_has_md5sum=y
CT_CONFIGURE_has_sha1sum=y
CT_CONFIGURE_has_sha256sum=y
CT_CONFIGURE_has_sha512sum=y
CT_CONFIGURE_has_install_with_strip_program=y
CT_VERSION="1.25.0.196_227d99d"
CT_VCHECK=""
CT_CONFIG_VERSION_ENV="4"
CT_CONFIG_VERSION_CURRENT="4"
CT_CONFIG_VERSION="4"
CT_MODULES=y
#
# Paths and misc options
#
#
# crosstool-NG behavior
#
# CT_OBSOLETE is not set
CT_EXPERIMENTAL=y
CT_ALLOW_BUILD_AS_ROOT=y
CT_ALLOW_BUILD_AS_ROOT_SURE=y
# CT_ENABLE_EXPERIMENTAL_BUNDLED_PATCHES is not set
# CT_DEBUG_CT is not set
#
# Paths
#
CT_LOCAL_TARBALLS_DIR="${HOME}/src"
# CT_SAVE_TARBALLS is not set
# CT_TARBALLS_BUILDROOT_LAYOUT is not set
CT_WORK_DIR="${CT_TOP_DIR}/build"
CT_BUILD_TOP_DIR="${CT_WORK_DIR:-${CT_TOP_DIR}/.build}/${CT_HOST:+HOST-${CT_HOST}/}${CT_TARGET}"
CT_BUILD_DIR="${CT_BUILD_TOP_DIR}/build"
CT_PREFIX_DIR="/opt/ct-ng"
CT_RM_RF_PREFIX_DIR=y
CT_REMOVE_DOCS=y
# CT_INSTALL_LICENSES is not set
# CT_PREFIX_DIR_RO is not set
CT_STRIP_HOST_TOOLCHAIN_EXECUTABLES=y
CT_STRIP_TARGET_TOOLCHAIN_EXECUTABLES=y
# CT_TARBALL_RESULT is not set
#
# Downloading
#
CT_DOWNLOAD_AGENT_WGET=y
# CT_DOWNLOAD_AGENT_CURL is not set
# CT_DOWNLOAD_AGENT_NONE is not set
# CT_FORBID_DOWNLOAD is not set
# CT_FORCE_DOWNLOAD is not set
CT_CONNECT_TIMEOUT=10
CT_DOWNLOAD_WGET_OPTIONS="--passive-ftp --tries=3 -nc --progress=dot:binary"
# CT_ONLY_DOWNLOAD is not set
# CT_USE_MIRROR is not set
CT_VERIFY_DOWNLOAD_DIGEST=y
CT_VERIFY_DOWNLOAD_DIGEST_SHA512=y
# CT_VERIFY_DOWNLOAD_DIGEST_SHA256 is not set
# CT_VERIFY_DOWNLOAD_DIGEST_SHA1 is not set
# CT_VERIFY_DOWNLOAD_DIGEST_MD5 is not set
CT_VERIFY_DOWNLOAD_DIGEST_ALG="sha512"
# CT_VERIFY_DOWNLOAD_SIGNATURE is not set
#
# Extracting
#
# CT_FORCE_EXTRACT is not set
CT_OVERRIDE_CONFIG_GUESS_SUB=y
# CT_ONLY_EXTRACT is not set
CT_PATCH_BUNDLED=y
# CT_PATCH_LOCAL is not set
# CT_PATCH_BUNDLED_LOCAL is not set
# CT_PATCH_LOCAL_BUNDLED is not set
# CT_PATCH_NONE is not set
CT_PATCH_ORDER="bundled"
#
# Build behavior
#
CT_PARALLEL_JOBS=0
CT_LOAD=""
CT_USE_PIPES=y
CT_EXTRA_CFLAGS_FOR_BUILD=""
CT_EXTRA_CXXFLAGS_FOR_BUILD=""
CT_EXTRA_LDFLAGS_FOR_BUILD=""
CT_EXTRA_CFLAGS_FOR_HOST=""
CT_EXTRA_LDFLAGS_FOR_HOST=""
# CT_CONFIG_SHELL_SH is not set
# CT_CONFIG_SHELL_ASH is not set
CT_CONFIG_SHELL_BASH=y
# CT_CONFIG_SHELL_CUSTOM is not set
CT_CONFIG_SHELL="${bash}"
#
# Logging
#
# CT_LOG_ERROR is not set
# CT_LOG_WARN is not set
# CT_LOG_INFO is not set
# CT_LOG_EXTRA is not set
# CT_LOG_ALL is not set
CT_LOG_DEBUG=y
CT_LOG_LEVEL_MAX="DEBUG"
# CT_LOG_SEE_TOOLS_WARN is not set
# CT_LOG_TO_FILE is not set
# end of Paths and misc options
#
# Target options
#
# CT_ARCH_ALPHA is not set
# CT_ARCH_ARC is not set
# CT_ARCH_ARM is not set
# CT_ARCH_AVR is not set
# CT_ARCH_BPF is not set
# CT_ARCH_C6X is not set
# CT_ARCH_LOONGARCH is not set
# CT_ARCH_M68K is not set
# CT_ARCH_MICROBLAZE is not set
# CT_ARCH_MIPS is not set
# CT_ARCH_MOXIE is not set
# CT_ARCH_MSP430 is not set
# CT_ARCH_NIOS2 is not set
# CT_ARCH_POWERPC is not set
# CT_ARCH_PRU is not set
# CT_ARCH_RISCV is not set
# CT_ARCH_S390 is not set
# CT_ARCH_SH is not set
# CT_ARCH_SPARC is not set
CT_ARCH_X86=y
# CT_ARCH_XTENSA is not set
CT_ARCH="x86"
CT_ARCH_CHOICE_KSYM="X86"
CT_ARCH_CPU=""
CT_ARCH_TUNE=""
CT_ARCH_X86_SHOW=y
#
# Options for x86
#
CT_ARCH_X86_PKG_KSYM=""
CT_ALL_ARCH_CHOICES="ALPHA ARC ARM AVR BPF C6X LOONGARCH M68K MICROBLAZE MIPS MOXIE MSP430 NIOS2 POWERPC PRU RISCV S390 SH SPARC X86 XTENSA"
CT_ARCH_SUFFIX=""
# CT_OMIT_TARGET_VENDOR is not set
#
# Generic target options
#
# CT_MULTILIB is not set
CT_DEMULTILIB=y
CT_ARCH_USE_MMU=y
CT_ARCH_SUPPORTS_LIBSANITIZER=y
CT_ARCH_SUPPORTS_32=y
CT_ARCH_SUPPORTS_64=y
CT_ARCH_DEFAULT_32=y
CT_ARCH_BITNESS=32
CT_ARCH_32=y
# CT_ARCH_64 is not set
CT_ARCH_SUPPORTS_WITH_32_64=y
#
# Target optimisations
#
CT_ARCH_SUPPORTS_WITH_ARCH=y
CT_ARCH_SUPPORTS_WITH_CPU=y
CT_ARCH_SUPPORTS_WITH_TUNE=y
CT_ARCH_ARCH="i686"
CT_TARGET_CFLAGS=""
CT_TARGET_LDFLAGS=""
# end of Target options
#
# Toolchain options
#
#
# General toolchain options
#
CT_FORCE_SYSROOT=y
CT_USE_SYSROOT=y
CT_SYSROOT_NAME="sysroot"
CT_SYSROOT_DIR_PREFIX=""
CT_WANTS_STATIC_LINK=y
CT_WANTS_STATIC_LINK_CXX=y
# CT_STATIC_TOOLCHAIN is not set
CT_SHOW_CT_VERSION=y
CT_TOOLCHAIN_PKGVERSION=""
CT_TOOLCHAIN_BUGURL=""
#
# Tuple completion and aliasing
#
CT_TARGET_VENDOR="w64"
CT_TARGET_ALIAS_SED_EXPR=""
CT_TARGET_ALIAS=""
#
# Toolchain type
#
# CT_NATIVE is not set
CT_CROSS=y
# CT_CROSS_NATIVE is not set
# CT_CANADIAN is not set
CT_TOOLCHAIN_TYPE="cross"
#
# Build system
#
CT_BUILD=""
CT_BUILD_PREFIX=""
CT_BUILD_SUFFIX=""
#
# Misc options
#
# CT_TOOLCHAIN_ENABLE_NLS is not set
# end of Toolchain options
#
# Operating System
#
CT_WINDOWS=y
CT_KERNEL_SUPPORTS_SHARED_LIBS=y
# CT_KERNEL_BARE_METAL is not set
# CT_KERNEL_LINUX is not set
CT_KERNEL_WINDOWS=y
CT_KERNEL="windows"
CT_KERNEL_CHOICE_KSYM="WINDOWS"
CT_KERNEL_WINDOWS_SHOW=y
#
# Options for windows
#
CT_KERNEL_WINDOWS_PKG_KSYM=""
CT_ALL_KERNEL_CHOICES="BARE_METAL LINUX WINDOWS"
#
# Common kernel options
#
CT_SHARED_LIBS=y
# end of Operating System
#
# Binary utilities
#
CT_ARCH_BINFMT_ELF=y
CT_BINUTILS_BINUTILS=y
CT_BINUTILS="binutils"
CT_BINUTILS_CHOICE_KSYM="BINUTILS"
CT_BINUTILS_BINUTILS_SHOW=y
#
# Options for binutils
#
CT_BINUTILS_BINUTILS_PKG_KSYM="BINUTILS"
CT_BINUTILS_DIR_NAME="binutils"
CT_BINUTILS_USE_GNU=y
# CT_BINUTILS_USE_LINARO is not set
# CT_BINUTILS_USE_ORACLE is not set
CT_BINUTILS_USE="BINUTILS"
CT_BINUTILS_PKG_NAME="binutils"
CT_BINUTILS_SRC_RELEASE=y
# CT_BINUTILS_SRC_DEVEL is not set
# CT_BINUTILS_SRC_CUSTOM is not set
CT_BINUTILS_PATCH_GLOBAL=y
# CT_BINUTILS_PATCH_BUNDLED is not set
# CT_BINUTILS_PATCH_LOCAL is not set
# CT_BINUTILS_PATCH_BUNDLED_LOCAL is not set
# CT_BINUTILS_PATCH_LOCAL_BUNDLED is not set
# CT_BINUTILS_PATCH_NONE is not set
CT_BINUTILS_PATCH_ORDER="global"
CT_BINUTILS_V_2_40=y
# CT_BINUTILS_V_2_39 is not set
# CT_BINUTILS_V_2_38 is not set
# CT_BINUTILS_V_2_37 is not set
# CT_BINUTILS_V_2_36 is not set
# CT_BINUTILS_V_2_35 is not set
# CT_BINUTILS_V_2_34 is not set
# CT_BINUTILS_V_2_33 is not set
# CT_BINUTILS_V_2_32 is not set
# CT_BINUTILS_V_2_31 is not set
# CT_BINUTILS_V_2_30 is not set
# CT_BINUTILS_V_2_29 is not set
# CT_BINUTILS_V_2_28 is not set
# CT_BINUTILS_V_2_27 is not set
# CT_BINUTILS_V_2_26 is not set
CT_BINUTILS_VERSION="2.40"
CT_BINUTILS_MIRRORS="$(CT_Mirrors GNU binutils) $(CT_Mirrors sourceware binutils/releases)"
CT_BINUTILS_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
CT_BINUTILS_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
CT_BINUTILS_ARCHIVE_FORMATS=".tar.xz .tar.bz2 .tar.gz"
CT_BINUTILS_SIGNATURE_FORMAT="packed/.sig"
CT_BINUTILS_later_than_2_39=y
CT_BINUTILS_2_39_or_later=y
CT_BINUTILS_later_than_2_30=y
CT_BINUTILS_2_30_or_later=y
CT_BINUTILS_later_than_2_27=y
CT_BINUTILS_2_27_or_later=y
CT_BINUTILS_later_than_2_26=y
CT_BINUTILS_2_26_or_later=y
#
# GNU binutils
#
CT_BINUTILS_GOLD_SUPPORTS_ARCH=y
CT_BINUTILS_GOLD_SUPPORT=y
CT_BINUTILS_FORCE_LD_BFD_DEFAULT=y
CT_BINUTILS_LINKER_LD=y
# CT_BINUTILS_LINKER_LD_GOLD is not set
CT_BINUTILS_LINKERS_LIST="ld"
CT_BINUTILS_LINKER_DEFAULT="bfd"
CT_BINUTILS_PLUGINS=y
CT_BINUTILS_RELRO=m
CT_BINUTILS_DETERMINISTIC_ARCHIVES=y
CT_BINUTILS_EXTRA_CONFIG_ARRAY=""
# CT_BINUTILS_FOR_TARGET is not set
CT_ALL_BINUTILS_CHOICES="BINUTILS"
# end of Binary utilities
#
# C-library
#
CT_LIBC_MINGW_W64=y
CT_LIBC="mingw-w64"
CT_LIBC_CHOICE_KSYM="MINGW_W64"
CT_THREADS="posix"
CT_LIBC_MINGW_W64_SHOW=y
#
# Options for mingw-w64
#
CT_LIBC_MINGW_W64_PKG_KSYM="MINGW_W64"
CT_MINGW_W64_DIR_NAME="mingw-w64"
CT_MINGW_W64_PKG_NAME="mingw-w64"
CT_MINGW_W64_SRC_RELEASE=y
# CT_MINGW_W64_SRC_DEVEL is not set
# CT_MINGW_W64_SRC_CUSTOM is not set
CT_MINGW_W64_PATCH_GLOBAL=y
# CT_MINGW_W64_PATCH_BUNDLED is not set
# CT_MINGW_W64_PATCH_LOCAL is not set
# CT_MINGW_W64_PATCH_BUNDLED_LOCAL is not set
# CT_MINGW_W64_PATCH_LOCAL_BUNDLED is not set
# CT_MINGW_W64_PATCH_NONE is not set
CT_MINGW_W64_PATCH_ORDER="global"
CT_MINGW_W64_V_V10_0=y
# CT_MINGW_W64_V_V9_0 is not set
# CT_MINGW_W64_V_V8_0 is not set
# CT_MINGW_W64_V_V7_0 is not set
# CT_MINGW_W64_V_V6_0 is not set
# CT_MINGW_W64_V_V5_0 is not set
# CT_MINGW_W64_V_V4_0 is not set
CT_MINGW_W64_VERSION="v10.0.0"
CT_MINGW_W64_MIRRORS="http://downloads.sourceforge.net/sourceforge/mingw-w64 https://downloads.sourceforge.net/project/mingw-w64/mingw-w64/mingw-w64-release/"
CT_MINGW_W64_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
CT_MINGW_W64_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
CT_MINGW_W64_ARCHIVE_FORMATS=".tar.bz2 .zip"
CT_MINGW_W64_SIGNATURE_FORMAT="packed/.sig"
CT_MINGW_SECURE_API=y
# CT_MINGW_DEFAULT_MSVCRT_DEFAULT is not set
# CT_MINGW_DEFAULT_MSVCRT_MSVCRT is not set
CT_MINGW_DEFAULT_MSVCRT_UCRT=y
# CT_MINGW_DEFAULT_MSVCRT_CUSTOM is not set
CT_MINGW_DIRECTX=y
CT_MINGW_DDK=y
CT_MINGW_TOOLS=y
CT_MINGW_TOOL_LIST_ARRAY="gendef genidl genlib genpeimg widl"
CT_ALL_LIBC_CHOICES="AVR_LIBC GLIBC MINGW_W64 MOXIEBOX MUSL NEWLIB NONE PICOLIBC UCLIBC_NG"
CT_LIBC_SUPPORT_THREADS_ANY=y
CT_LIBC_SUPPORT_THREADS_NATIVE=y
CT_LIBC_SUPPORT_THREADS_POSIX=y
#
# Common C library options
#
# CT_THREADS_NATIVE is not set
CT_THREADS_POSIX=y
# CT_CREATE_LDSO_CONF is not set
CT_LIBC_XLDD=y
# end of C-library
#
# C compiler
#
CT_CC_CORE_NEEDED=y
CT_CC_SUPPORT_CXX=y
CT_CC_SUPPORT_FORTRAN=y
CT_CC_SUPPORT_ADA=y
CT_CC_SUPPORT_D=y
CT_CC_SUPPORT_JIT=y
CT_CC_SUPPORT_OBJC=y
CT_CC_SUPPORT_OBJCXX=y
CT_CC_SUPPORT_GOLANG=y
CT_CC_GCC=y
CT_CC="gcc"
CT_CC_CHOICE_KSYM="GCC"
CT_CC_GCC_SHOW=y
#
# Options for gcc
#
CT_CC_GCC_PKG_KSYM="GCC"
CT_GCC_DIR_NAME="gcc"
CT_GCC_USE_GNU=y
# CT_GCC_USE_LINARO is not set
# CT_GCC_USE_ORACLE is not set
CT_GCC_USE="GCC"
CT_GCC_PKG_NAME="gcc"
CT_GCC_SRC_RELEASE=y
# CT_GCC_SRC_DEVEL is not set
# CT_GCC_SRC_CUSTOM is not set
CT_GCC_PATCH_GLOBAL=y
# CT_GCC_PATCH_BUNDLED is not set
# CT_GCC_PATCH_LOCAL is not set
# CT_GCC_PATCH_BUNDLED_LOCAL is not set
# CT_GCC_PATCH_LOCAL_BUNDLED is not set
# CT_GCC_PATCH_NONE is not set
CT_GCC_PATCH_ORDER="global"
CT_GCC_V_13=y
# CT_GCC_V_12 is not set
# CT_GCC_V_11 is not set
# CT_GCC_V_10 is not set
# CT_GCC_V_9 is not set
# CT_GCC_V_8 is not set
# CT_GCC_V_7 is not set
# CT_GCC_V_6 is not set
# CT_GCC_V_5 is not set
# CT_GCC_V_4_9 is not set
CT_GCC_VERSION="13.1.0"
CT_GCC_MIRRORS="$(CT_Mirrors GNU gcc/gcc-${CT_GCC_VERSION}) $(CT_Mirrors sourceware gcc/releases/gcc-${CT_GCC_VERSION})"
CT_GCC_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
CT_GCC_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
CT_GCC_ARCHIVE_FORMATS=".tar.xz .tar.gz"
CT_GCC_SIGNATURE_FORMAT=""
CT_GCC_later_than_13=y
CT_GCC_13_or_later=y
CT_GCC_later_than_12=y
CT_GCC_12_or_later=y
CT_GCC_later_than_11=y
CT_GCC_11_or_later=y
CT_GCC_later_than_10=y
CT_GCC_10_or_later=y
CT_GCC_later_than_9=y
CT_GCC_9_or_later=y
CT_GCC_later_than_8=y
CT_GCC_8_or_later=y
CT_GCC_later_than_7=y
CT_GCC_7_or_later=y
CT_GCC_later_than_6=y
CT_GCC_6_or_later=y
CT_GCC_later_than_5=y
CT_GCC_5_or_later=y
CT_GCC_later_than_4_9=y
CT_GCC_4_9_or_later=y
CT_CC_GCC_ENABLE_PLUGINS=y
CT_CC_GCC_HAS_LIBMPX=y
CT_CC_GCC_ENABLE_CXX_FLAGS=""
CT_CC_GCC_CORE_EXTRA_CONFIG_ARRAY="--enable-default-ssp"
CT_CC_GCC_EXTRA_CONFIG_ARRAY="--enable-default-ssp --with-build-config=bootstrap-lto-lean --enable-link-serialization=2"
CT_CC_GCC_STATIC_LIBSTDCXX=y
CT_CC_GCC_SYSTEM_ZLIB=y
CT_CC_GCC_CONFIG_TLS=m
#
# Optimisation features
#
CT_CC_GCC_USE_GRAPHITE=y
CT_CC_GCC_USE_LTO=y
CT_CC_GCC_LTO_ZSTD=m
#
# Settings for libraries running on target
#
# CT_CC_GCC_ENABLE_TARGET_OPTSPACE is not set
# CT_CC_GCC_LIBMUDFLAP is not set
CT_CC_GCC_LIBGOMP=y
CT_CC_GCC_LIBSSP=m
# CT_CC_GCC_LIBQUADMATH is not set
# CT_CC_GCC_LIBSTDCXX_VERBOSE is not set
#
# Misc. obscure options.
#
CT_CC_CXA_ATEXIT=y
CT_CC_GCC_TM_CLONE_REGISTRY=m
# CT_CC_GCC_DISABLE_PCH is not set
CT_CC_GCC_SJLJ_EXCEPTIONS=m
CT_CC_GCC_LDBL_128=m
# CT_CC_GCC_BUILD_ID is not set
CT_CC_GCC_LNK_HASH_STYLE_DEFAULT=y
# CT_CC_GCC_LNK_HASH_STYLE_SYSV is not set
# CT_CC_GCC_LNK_HASH_STYLE_GNU is not set
# CT_CC_GCC_LNK_HASH_STYLE_BOTH is not set
CT_CC_GCC_LNK_HASH_STYLE=""
CT_CC_GCC_DEC_FLOATS_AUTO=y
# CT_CC_GCC_DEC_FLOATS_BID is not set
# CT_CC_GCC_DEC_FLOATS_DPD is not set
# CT_CC_GCC_DEC_FLOATS_NO is not set
CT_CC_GCC_DEC_FLOATS=""
CT_ALL_CC_CHOICES="GCC"
#
# Additional supported languages:
#
CT_CC_LANG_CXX=y
# CT_CC_LANG_FORTRAN is not set
# CT_CC_LANG_JIT is not set
# CT_CC_LANG_ADA is not set
# CT_CC_LANG_D is not set
# CT_CC_LANG_OBJC is not set
# CT_CC_LANG_OBJCXX is not set
# CT_CC_LANG_GOLANG is not set
CT_CC_LANG_OTHERS=""
# end of C compiler
#
# Debug facilities
#
# CT_DEBUG_DUMA is not set
# CT_DEBUG_GDB is not set
# CT_DEBUG_LTRACE is not set
# CT_DEBUG_STRACE is not set
CT_ALL_DEBUG_CHOICES="DUMA GDB LTRACE STRACE"
# end of Debug facilities
#
# Companion libraries
#
# CT_COMPLIBS_CHECK is not set
# CT_COMP_LIBS_CLOOG is not set
# CT_COMP_LIBS_EXPAT is not set
CT_COMP_LIBS_GETTEXT=y
CT_COMP_LIBS_GETTEXT_PKG_KSYM="GETTEXT"
CT_GETTEXT_DIR_NAME="gettext"
CT_GETTEXT_PKG_NAME="gettext"
CT_GETTEXT_SRC_RELEASE=y
# CT_GETTEXT_SRC_DEVEL is not set
# CT_GETTEXT_SRC_CUSTOM is not set
CT_GETTEXT_PATCH_GLOBAL=y
# CT_GETTEXT_PATCH_BUNDLED is not set
# CT_GETTEXT_PATCH_LOCAL is not set
# CT_GETTEXT_PATCH_BUNDLED_LOCAL is not set
# CT_GETTEXT_PATCH_LOCAL_BUNDLED is not set
# CT_GETTEXT_PATCH_NONE is not set
CT_GETTEXT_PATCH_ORDER="global"
CT_GETTEXT_V_0_21=y
# CT_GETTEXT_V_0_20_1 is not set
# CT_GETTEXT_V_0_19_8_1 is not set
CT_GETTEXT_VERSION="0.21"
CT_GETTEXT_MIRRORS="$(CT_Mirrors GNU gettext)"
CT_GETTEXT_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
CT_GETTEXT_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
CT_GETTEXT_ARCHIVE_FORMATS=".tar.xz .tar.gz"
CT_GETTEXT_SIGNATURE_FORMAT="packed/.sig"
CT_GETTEXT_0_21_or_later=y
CT_GETTEXT_0_21_or_older=y
CT_GETTEXT_INCOMPATIBLE_WITH_UCLIBC_NG=y
#
# This version of gettext is not compatible with uClibc-NG. Select
#
#
# a different version if uClibc-NG is used on the target or (in a
#
#
# Canadian cross build) on the host.
#
CT_COMP_LIBS_GMP=y
CT_COMP_LIBS_GMP_PKG_KSYM="GMP"
CT_GMP_DIR_NAME="gmp"
CT_GMP_PKG_NAME="gmp"
CT_GMP_SRC_RELEASE=y
# CT_GMP_SRC_DEVEL is not set
# CT_GMP_SRC_CUSTOM is not set
CT_GMP_PATCH_GLOBAL=y
# CT_GMP_PATCH_BUNDLED is not set
# CT_GMP_PATCH_LOCAL is not set
# CT_GMP_PATCH_BUNDLED_LOCAL is not set
# CT_GMP_PATCH_LOCAL_BUNDLED is not set
# CT_GMP_PATCH_NONE is not set
CT_GMP_PATCH_ORDER="global"
CT_GMP_V_6_2=y
# CT_GMP_V_6_1 is not set
CT_GMP_VERSION="6.2.1"
CT_GMP_MIRRORS="https://gmplib.org/download/gmp https://gmplib.org/download/gmp/archive $(CT_Mirrors GNU gmp)"
CT_GMP_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
CT_GMP_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
CT_GMP_ARCHIVE_FORMATS=".tar.xz .tar.lz .tar.bz2"
CT_GMP_SIGNATURE_FORMAT="packed/.sig"
CT_COMP_LIBS_ISL=y
CT_COMP_LIBS_ISL_PKG_KSYM="ISL"
CT_ISL_DIR_NAME="isl"
CT_ISL_PKG_NAME="isl"
CT_ISL_SRC_RELEASE=y
# CT_ISL_SRC_DEVEL is not set
# CT_ISL_SRC_CUSTOM is not set
CT_ISL_PATCH_GLOBAL=y
# CT_ISL_PATCH_BUNDLED is not set
# CT_ISL_PATCH_LOCAL is not set
# CT_ISL_PATCH_BUNDLED_LOCAL is not set
# CT_ISL_PATCH_LOCAL_BUNDLED is not set
# CT_ISL_PATCH_NONE is not set
CT_ISL_PATCH_ORDER="global"
CT_ISL_V_0_26=y
# CT_ISL_V_0_25 is not set
# CT_ISL_V_0_24 is not set
# CT_ISL_V_0_23 is not set
# CT_ISL_V_0_22 is not set
# CT_ISL_V_0_21 is not set
# CT_ISL_V_0_20 is not set
# CT_ISL_V_0_19 is not set
# CT_ISL_V_0_18 is not set
# CT_ISL_V_0_17 is not set
# CT_ISL_V_0_16 is not set
# CT_ISL_V_0_15 is not set
CT_ISL_VERSION="0.26"
CT_ISL_MIRRORS="https://libisl.sourceforge.io"
CT_ISL_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
CT_ISL_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
CT_ISL_ARCHIVE_FORMATS=".tar.xz .tar.bz2 .tar.gz"
CT_ISL_SIGNATURE_FORMAT=""
CT_ISL_later_than_0_18=y
CT_ISL_0_18_or_later=y
CT_ISL_later_than_0_15=y
CT_ISL_0_15_or_later=y
# CT_COMP_LIBS_LIBELF is not set
# CT_COMP_LIBS_LIBICONV is not set
CT_COMP_LIBS_MPC=y
CT_COMP_LIBS_MPC_PKG_KSYM="MPC"
CT_MPC_DIR_NAME="mpc"
CT_MPC_PKG_NAME="mpc"
CT_MPC_SRC_RELEASE=y
# CT_MPC_SRC_DEVEL is not set
# CT_MPC_SRC_CUSTOM is not set
CT_MPC_PATCH_GLOBAL=y
# CT_MPC_PATCH_BUNDLED is not set
# CT_MPC_PATCH_LOCAL is not set
# CT_MPC_PATCH_BUNDLED_LOCAL is not set
# CT_MPC_PATCH_LOCAL_BUNDLED is not set
# CT_MPC_PATCH_NONE is not set
CT_MPC_PATCH_ORDER="global"
CT_MPC_V_1_2=y
# CT_MPC_V_1_1 is not set
# CT_MPC_V_1_0 is not set
CT_MPC_VERSION="1.2.1"
CT_MPC_MIRRORS="http://www.multiprecision.org/downloads $(CT_Mirrors GNU mpc)"
CT_MPC_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
CT_MPC_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
CT_MPC_ARCHIVE_FORMATS=".tar.gz"
CT_MPC_SIGNATURE_FORMAT="packed/.sig"
CT_MPC_later_than_1_1_0=y
CT_MPC_1_1_0_or_later=y
CT_COMP_LIBS_MPFR=y
CT_COMP_LIBS_MPFR_PKG_KSYM="MPFR"
CT_MPFR_DIR_NAME="mpfr"
CT_MPFR_PKG_NAME="mpfr"
CT_MPFR_SRC_RELEASE=y
# CT_MPFR_SRC_DEVEL is not set
# CT_MPFR_SRC_CUSTOM is not set
CT_MPFR_PATCH_GLOBAL=y
# CT_MPFR_PATCH_BUNDLED is not set
# CT_MPFR_PATCH_LOCAL is not set
# CT_MPFR_PATCH_BUNDLED_LOCAL is not set
# CT_MPFR_PATCH_LOCAL_BUNDLED is not set
# CT_MPFR_PATCH_NONE is not set
CT_MPFR_PATCH_ORDER="global"
CT_MPFR_V_4_1=y
# CT_MPFR_V_4_0 is not set
# CT_MPFR_V_3_1 is not set
CT_MPFR_VERSION="4.1.0"
CT_MPFR_MIRRORS="http://www.mpfr.org/mpfr-${CT_MPFR_VERSION} $(CT_Mirrors GNU mpfr)"
CT_MPFR_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
CT_MPFR_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
CT_MPFR_ARCHIVE_FORMATS=".tar.xz .tar.bz2 .tar.gz .zip"
CT_MPFR_SIGNATURE_FORMAT="packed/.asc"
CT_MPFR_later_than_4_0_0=y
CT_MPFR_4_0_0_or_later=y
# CT_COMP_LIBS_NCURSES is not set
CT_COMP_LIBS_ZLIB=y
CT_COMP_LIBS_ZLIB_PKG_KSYM="ZLIB"
CT_ZLIB_DIR_NAME="zlib"
CT_ZLIB_PKG_NAME="zlib"
CT_ZLIB_SRC_RELEASE=y
# CT_ZLIB_SRC_DEVEL is not set
# CT_ZLIB_SRC_CUSTOM is not set
CT_ZLIB_PATCH_GLOBAL=y
# CT_ZLIB_PATCH_BUNDLED is not set
# CT_ZLIB_PATCH_LOCAL is not set
# CT_ZLIB_PATCH_BUNDLED_LOCAL is not set
# CT_ZLIB_PATCH_LOCAL_BUNDLED is not set
# CT_ZLIB_PATCH_NONE is not set
CT_ZLIB_PATCH_ORDER="global"
CT_ZLIB_V_1_2_13=y
CT_ZLIB_VERSION="1.2.13"
CT_ZLIB_MIRRORS="https://github.com/madler/zlib/releases/download/v${CT_ZLIB_VERSION} https://www.zlib.net/"
CT_ZLIB_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
CT_ZLIB_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
CT_ZLIB_ARCHIVE_FORMATS=".tar.xz .tar.gz"
CT_ZLIB_SIGNATURE_FORMAT="packed/.asc"
CT_COMP_LIBS_ZSTD=y
CT_COMP_LIBS_ZSTD_PKG_KSYM="ZSTD"
CT_ZSTD_DIR_NAME="zstd"
CT_ZSTD_PKG_NAME="zstd"
CT_ZSTD_SRC_RELEASE=y
# CT_ZSTD_SRC_DEVEL is not set
# CT_ZSTD_SRC_CUSTOM is not set
CT_ZSTD_PATCH_GLOBAL=y
# CT_ZSTD_PATCH_BUNDLED is not set
# CT_ZSTD_PATCH_LOCAL is not set
# CT_ZSTD_PATCH_BUNDLED_LOCAL is not set
# CT_ZSTD_PATCH_LOCAL_BUNDLED is not set
# CT_ZSTD_PATCH_NONE is not set
CT_ZSTD_PATCH_ORDER="global"
CT_ZSTD_V_1_5_5=y
# CT_ZSTD_V_1_5_2 is not set
CT_ZSTD_VERSION="1.5.5"
CT_ZSTD_MIRRORS="https://github.com/facebook/zstd/releases/download/v${CT_ZSTD_VERSION} https://www.zstd.net/"
CT_ZSTD_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
CT_ZSTD_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
CT_ZSTD_ARCHIVE_FORMATS=".tar.gz"
CT_ZSTD_SIGNATURE_FORMAT="packed/.sig"
CT_ALL_COMP_LIBS_CHOICES="CLOOG EXPAT GETTEXT GMP GNUPRUMCU ISL LIBELF LIBICONV MPC MPFR NCURSES NEWLIB_NANO PICOLIBC ZLIB ZSTD"
# CT_LIBICONV_NEEDED is not set
# CT_GETTEXT_NEEDED is not set
CT_GMP_NEEDED=y
CT_MPFR_NEEDED=y
CT_ISL_NEEDED=y
CT_MPC_NEEDED=y
CT_ZLIB_NEEDED=y
CT_ZSTD_NEEDED=y
CT_GMP=y
CT_MPFR=y
CT_ISL=y
CT_MPC=y
CT_ZLIB=y
CT_ZSTD=y
# end of Companion libraries
#
# Companion tools
#
# CT_COMP_TOOLS_FOR_HOST is not set
# CT_COMP_TOOLS_AUTOCONF is not set
# CT_COMP_TOOLS_AUTOMAKE is not set
# CT_COMP_TOOLS_BISON is not set
# CT_COMP_TOOLS_DTC is not set
# CT_COMP_TOOLS_LIBTOOL is not set
# CT_COMP_TOOLS_M4 is not set
# CT_COMP_TOOLS_MAKE is not set
CT_ALL_COMP_TOOLS_CHOICES="AUTOCONF AUTOMAKE BISON DTC LIBTOOL M4 MAKE"
# end of Companion tools
#
# Test suite
#
# CT_TEST_SUITE_GCC is not set
# end of Test suite

View file

@ -1,16 +1,12 @@
set(CMAKE_SYSTEM_NAME Windows) set(CMAKE_SYSTEM_NAME Windows)
set(CMAKE_SYSTEM_PROCESSOR i686) set(CMAKE_SYSTEM_PROCESSOR i686)
set(triple i686-w64-mingw32) set(CMAKE_C_COMPILER i686-w64-mingw32-gcc)
set(CMAKE_CXX_COMPILER i686-w64-mingw32-g++)
set(CMAKE_RC_COMPILER i686-w64-mingw32-windres)
set(CMAKE_RANLIB i686-w64-mingw32-ranlib)
set(CMAKE_C_COMPILER ${triple}-gcc) set(CMAKE_FIND_ROOT_PATH /usr/i686-w64-mingw32 /opt/ffbuild)
set(CMAKE_CXX_COMPILER ${triple}-g++)
set(CMAKE_RC_COMPILER ${triple}-windres)
set(CMAKE_RANLIB ${triple}-gcc-ranlib)
set(CMAKE_AR ${triple}-gcc-ar)
set(CMAKE_SYSROOT /opt/ct-ng/${triple}/sysroot)
set(CMAKE_FIND_ROOT_PATH /opt/ct-ng /opt/ct-ng/${triple}/sysroot /opt/ffbuild)
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)

View file

@ -1,22 +1,15 @@
ARG GH_REPO=ghcr.io/btbn/ffmpeg-builds ARG GH_REPO=btbn/ffmpeg-builds
FROM $GH_REPO/base:latest FROM ghcr.io/$GH_REPO/base:latest
RUN --mount=src=ct-ng-config,dst=/.config \ ENV DEBIAN_FRONTEND noninteractive
git clone --filter=blob:none https://github.com/crosstool-ng/crosstool-ng.git /ct-ng && cd /ct-ng && \
./bootstrap && \
./configure --enable-local && \
make -j$(nproc) && \
cp /.config .config && \
./ct-ng build && \
cd / && \
rm -rf ct-ng
# Prepare "cross" environment to heavily favour static builds
RUN \ RUN \
find /opt/ct-ng \ apt-get -y install binutils-mingw-w64-x86-64 gcc-mingw-w64-x86-64 g++-mingw-w64-x86-64 gfortran-mingw-w64-x86-64 && \
-name "*.dll" \ apt-get -y clean && \
-or -name "*.dll.a" \ rm /usr/lib/gcc/*-w64-mingw32/*/libstdc++*.dll* && \
-delete && \ rm /usr/lib/gcc/*-w64-mingw32/*/libgcc_s* && \
rm /usr/lib/gcc/*-w64-mingw32/*/*.dll.a && \
rm /usr/*-w64-mingw32/lib/*.dll.a && \
mkdir /opt/ffbuild mkdir /opt/ffbuild
RUN rustup target add x86_64-pc-windows-gnu RUN rustup target add x86_64-pc-windows-gnu
@ -24,24 +17,17 @@ RUN rustup target add x86_64-pc-windows-gnu
ADD toolchain.cmake /toolchain.cmake ADD toolchain.cmake /toolchain.cmake
ADD cross.meson /cross.meson ADD cross.meson /cross.meson
ENV FFBUILD_TOOLCHAIN=x86_64-w64-mingw32 ENV FFBUILD_TARGET_FLAGS="--pkg-config=pkg-config --cross-prefix=x86_64-w64-mingw32- --arch=x86_64 --target-os=mingw32" \
ENV PATH="/opt/ct-ng/bin:${PATH}" \ FFBUILD_TOOLCHAIN=x86_64-w64-mingw32 \
FFBUILD_TARGET_FLAGS="--pkg-config=pkg-config --cross-prefix=${FFBUILD_TOOLCHAIN}- --arch=x86_64 --target-os=mingw32" \ FFBUILD_CROSS_PREFIX=x86_64-w64-mingw32- \
FFBUILD_CROSS_PREFIX=${FFBUILD_TOOLCHAIN}- \
FFBUILD_RUST_TARGET=x86_64-pc-windows-gnu \ FFBUILD_RUST_TARGET=x86_64-pc-windows-gnu \
FFBUILD_PREFIX=/opt/ffbuild \ FFBUILD_PREFIX=/opt/ffbuild \
FFBUILD_CMAKE_TOOLCHAIN=/toolchain.cmake \ FFBUILD_CMAKE_TOOLCHAIN=/toolchain.cmake \
PKG_CONFIG=pkg-config \ PKG_CONFIG=pkg-config \
PKG_CONFIG_LIBDIR=/opt/ffbuild/lib/pkgconfig:/opt/ffbuild/share/pkgconfig \ PKG_CONFIG_LIBDIR=/opt/ffbuild/lib/pkgconfig:/opt/ffbuild/share/pkgconfig \
CC="${FFBUILD_TOOLCHAIN}-gcc" \
CXX="${FFBUILD_TOOLCHAIN}-g++" \
LD="${FFBUILD_TOOLCHAIN}-ld" \
AR="${FFBUILD_TOOLCHAIN}-gcc-ar" \
RANLIB="${FFBUILD_TOOLCHAIN}-gcc-ranlib" \
NM="${FFBUILD_TOOLCHAIN}-gcc-nm" \
DLLTOOL="${FFBUILD_TOOLCHAIN}-dlltool" \
CFLAGS="-static-libgcc -static-libstdc++ -I/opt/ffbuild/include -O2 -pipe -D_FORTIFY_SOURCE=2 -fstack-protector-strong" \ CFLAGS="-static-libgcc -static-libstdc++ -I/opt/ffbuild/include -O2 -pipe -D_FORTIFY_SOURCE=2 -fstack-protector-strong" \
CXXFLAGS="-static-libgcc -static-libstdc++ -I/opt/ffbuild/include -O2 -pipe -D_FORTIFY_SOURCE=2 -fstack-protector-strong" \ CXXFLAGS="-static-libgcc -static-libstdc++ -I/opt/ffbuild/include -O2 -pipe -D_FORTIFY_SOURCE=2 -fstack-protector-strong" \
LDFLAGS="-static-libgcc -static-libstdc++ -L/opt/ffbuild/lib -O2 -pipe -fstack-protector-strong" \ LDFLAGS="-static-libgcc -static-libstdc++ -L/opt/ffbuild/lib -O2 -pipe -fstack-protector-strong" \
DLLTOOL="x86_64-w64-mingw32-dlltool" \
STAGE_CFLAGS="-fno-semantic-interposition" \ STAGE_CFLAGS="-fno-semantic-interposition" \
STAGE_CXXFLAGS="-fno-semantic-interposition" STAGE_CXXFLAGS="-fno-semantic-interposition"

View file

@ -1,11 +1,9 @@
[binaries] [binaries]
c = 'x86_64-w64-mingw32-gcc' c = 'x86_64-w64-mingw32-gcc'
cpp = 'x86_64-w64-mingw32-g++' cpp = 'x86_64-w64-mingw32-g++'
ar = 'x86_64-w64-mingw32-gcc-ar' ar = 'x86_64-w64-mingw32-ar'
ranlib = 'x86_64-w64-mingw32-gcc-ranlib'
strip = 'x86_64-w64-mingw32-strip' strip = 'x86_64-w64-mingw32-strip'
windres = 'x86_64-w64-mingw32-windres' windres = 'x86_64-w64-mingw32-windres'
dlltool = 'x86_64-w64-mingw32-dlltool'
exe_wrapper = ['wine'] exe_wrapper = ['wine']
[properties] [properties]

View file

@ -1,784 +0,0 @@
#
# Automatically generated file; DO NOT EDIT.
# crosstool-NG 1.25.0.196_227d99d Configuration
#
CT_CONFIGURE_has_static_link=y
CT_CONFIGURE_has_cxx11=y
CT_CONFIGURE_has_wget=y
CT_CONFIGURE_has_curl=y
CT_CONFIGURE_has_meson=y
CT_CONFIGURE_has_ninja=y
CT_CONFIGURE_has_rsync=y
CT_CONFIGURE_has_make_3_81_or_newer=y
CT_CONFIGURE_has_make_4_0_or_newer=y
CT_CONFIGURE_has_libtool_2_4_or_newer=y
CT_CONFIGURE_has_libtoolize_2_4_or_newer=y
CT_CONFIGURE_has_autoconf_2_71_or_newer=y
CT_CONFIGURE_has_autoreconf_2_71_or_newer=y
CT_CONFIGURE_has_automake_1_16_or_newer=y
CT_CONFIGURE_has_gnu_m4_1_4_12_or_newer=y
CT_CONFIGURE_has_python_3_4_or_newer=y
CT_CONFIGURE_has_bison_2_7_or_newer=y
CT_CONFIGURE_has_bison_3_0_4_or_newer=y
CT_CONFIGURE_has_python=y
CT_CONFIGURE_has_svn=y
CT_CONFIGURE_has_git=y
CT_CONFIGURE_has_md5sum=y
CT_CONFIGURE_has_sha1sum=y
CT_CONFIGURE_has_sha256sum=y
CT_CONFIGURE_has_sha512sum=y
CT_CONFIGURE_has_install_with_strip_program=y
CT_VERSION="1.25.0.196_227d99d"
CT_VCHECK=""
CT_CONFIG_VERSION_ENV="4"
CT_CONFIG_VERSION_CURRENT="4"
CT_CONFIG_VERSION="4"
CT_MODULES=y
#
# Paths and misc options
#
#
# crosstool-NG behavior
#
# CT_OBSOLETE is not set
CT_EXPERIMENTAL=y
CT_ALLOW_BUILD_AS_ROOT=y
CT_ALLOW_BUILD_AS_ROOT_SURE=y
# CT_ENABLE_EXPERIMENTAL_BUNDLED_PATCHES is not set
# CT_DEBUG_CT is not set
#
# Paths
#
CT_LOCAL_TARBALLS_DIR="${HOME}/src"
# CT_SAVE_TARBALLS is not set
# CT_TARBALLS_BUILDROOT_LAYOUT is not set
CT_WORK_DIR="${CT_TOP_DIR}/build"
CT_BUILD_TOP_DIR="${CT_WORK_DIR:-${CT_TOP_DIR}/.build}/${CT_HOST:+HOST-${CT_HOST}/}${CT_TARGET}"
CT_BUILD_DIR="${CT_BUILD_TOP_DIR}/build"
CT_PREFIX_DIR="/opt/ct-ng"
CT_RM_RF_PREFIX_DIR=y
CT_REMOVE_DOCS=y
# CT_INSTALL_LICENSES is not set
# CT_PREFIX_DIR_RO is not set
CT_STRIP_HOST_TOOLCHAIN_EXECUTABLES=y
CT_STRIP_TARGET_TOOLCHAIN_EXECUTABLES=y
# CT_TARBALL_RESULT is not set
#
# Downloading
#
CT_DOWNLOAD_AGENT_WGET=y
# CT_DOWNLOAD_AGENT_CURL is not set
# CT_DOWNLOAD_AGENT_NONE is not set
# CT_FORBID_DOWNLOAD is not set
# CT_FORCE_DOWNLOAD is not set
CT_CONNECT_TIMEOUT=10
CT_DOWNLOAD_WGET_OPTIONS="--passive-ftp --tries=3 -nc --progress=dot:binary"
# CT_ONLY_DOWNLOAD is not set
# CT_USE_MIRROR is not set
CT_VERIFY_DOWNLOAD_DIGEST=y
CT_VERIFY_DOWNLOAD_DIGEST_SHA512=y
# CT_VERIFY_DOWNLOAD_DIGEST_SHA256 is not set
# CT_VERIFY_DOWNLOAD_DIGEST_SHA1 is not set
# CT_VERIFY_DOWNLOAD_DIGEST_MD5 is not set
CT_VERIFY_DOWNLOAD_DIGEST_ALG="sha512"
# CT_VERIFY_DOWNLOAD_SIGNATURE is not set
#
# Extracting
#
# CT_FORCE_EXTRACT is not set
CT_OVERRIDE_CONFIG_GUESS_SUB=y
# CT_ONLY_EXTRACT is not set
CT_PATCH_BUNDLED=y
# CT_PATCH_LOCAL is not set
# CT_PATCH_BUNDLED_LOCAL is not set
# CT_PATCH_LOCAL_BUNDLED is not set
# CT_PATCH_NONE is not set
CT_PATCH_ORDER="bundled"
#
# Build behavior
#
CT_PARALLEL_JOBS=0
CT_LOAD=""
CT_USE_PIPES=y
CT_EXTRA_CFLAGS_FOR_BUILD=""
CT_EXTRA_CXXFLAGS_FOR_BUILD=""
CT_EXTRA_LDFLAGS_FOR_BUILD=""
CT_EXTRA_CFLAGS_FOR_HOST=""
CT_EXTRA_LDFLAGS_FOR_HOST=""
# CT_CONFIG_SHELL_SH is not set
# CT_CONFIG_SHELL_ASH is not set
CT_CONFIG_SHELL_BASH=y
# CT_CONFIG_SHELL_CUSTOM is not set
CT_CONFIG_SHELL="${bash}"
#
# Logging
#
# CT_LOG_ERROR is not set
# CT_LOG_WARN is not set
# CT_LOG_INFO is not set
# CT_LOG_EXTRA is not set
# CT_LOG_ALL is not set
CT_LOG_DEBUG=y
CT_LOG_LEVEL_MAX="DEBUG"
# CT_LOG_SEE_TOOLS_WARN is not set
# CT_LOG_TO_FILE is not set
# end of Paths and misc options
#
# Target options
#
# CT_ARCH_ALPHA is not set
# CT_ARCH_ARC is not set
# CT_ARCH_ARM is not set
# CT_ARCH_AVR is not set
# CT_ARCH_BPF is not set
# CT_ARCH_C6X is not set
# CT_ARCH_LOONGARCH is not set
# CT_ARCH_M68K is not set
# CT_ARCH_MICROBLAZE is not set
# CT_ARCH_MIPS is not set
# CT_ARCH_MOXIE is not set
# CT_ARCH_MSP430 is not set
# CT_ARCH_NIOS2 is not set
# CT_ARCH_POWERPC is not set
# CT_ARCH_PRU is not set
# CT_ARCH_RISCV is not set
# CT_ARCH_S390 is not set
# CT_ARCH_SH is not set
# CT_ARCH_SPARC is not set
CT_ARCH_X86=y
# CT_ARCH_XTENSA is not set
CT_ARCH="x86"
CT_ARCH_CHOICE_KSYM="X86"
CT_ARCH_CPU=""
CT_ARCH_TUNE=""
CT_ARCH_X86_SHOW=y
#
# Options for x86
#
CT_ARCH_X86_PKG_KSYM=""
CT_ALL_ARCH_CHOICES="ALPHA ARC ARM AVR BPF C6X LOONGARCH M68K MICROBLAZE MIPS MOXIE MSP430 NIOS2 POWERPC PRU RISCV S390 SH SPARC X86 XTENSA"
CT_ARCH_SUFFIX=""
# CT_OMIT_TARGET_VENDOR is not set
#
# Generic target options
#
# CT_MULTILIB is not set
CT_DEMULTILIB=y
CT_ARCH_USE_MMU=y
CT_ARCH_SUPPORTS_LIBSANITIZER=y
CT_ARCH_SUPPORTS_32=y
CT_ARCH_SUPPORTS_64=y
CT_ARCH_DEFAULT_32=y
CT_ARCH_BITNESS=64
# CT_ARCH_32 is not set
CT_ARCH_64=y
CT_ARCH_SUPPORTS_WITH_32_64=y
#
# Target optimisations
#
CT_ARCH_SUPPORTS_WITH_ARCH=y
CT_ARCH_SUPPORTS_WITH_CPU=y
CT_ARCH_SUPPORTS_WITH_TUNE=y
CT_ARCH_ARCH=""
CT_TARGET_CFLAGS=""
CT_TARGET_LDFLAGS=""
# end of Target options
#
# Toolchain options
#
#
# General toolchain options
#
CT_FORCE_SYSROOT=y
CT_USE_SYSROOT=y
CT_SYSROOT_NAME="sysroot"
CT_SYSROOT_DIR_PREFIX=""
CT_WANTS_STATIC_LINK=y
CT_WANTS_STATIC_LINK_CXX=y
# CT_STATIC_TOOLCHAIN is not set
CT_SHOW_CT_VERSION=y
CT_TOOLCHAIN_PKGVERSION=""
CT_TOOLCHAIN_BUGURL=""
#
# Tuple completion and aliasing
#
CT_TARGET_VENDOR="w64"
CT_TARGET_ALIAS_SED_EXPR=""
CT_TARGET_ALIAS=""
#
# Toolchain type
#
# CT_NATIVE is not set
CT_CROSS=y
# CT_CROSS_NATIVE is not set
# CT_CANADIAN is not set
CT_TOOLCHAIN_TYPE="cross"
#
# Build system
#
CT_BUILD=""
CT_BUILD_PREFIX=""
CT_BUILD_SUFFIX=""
#
# Misc options
#
# CT_TOOLCHAIN_ENABLE_NLS is not set
# end of Toolchain options
#
# Operating System
#
CT_WINDOWS=y
CT_KERNEL_SUPPORTS_SHARED_LIBS=y
# CT_KERNEL_BARE_METAL is not set
# CT_KERNEL_LINUX is not set
CT_KERNEL_WINDOWS=y
CT_KERNEL="windows"
CT_KERNEL_CHOICE_KSYM="WINDOWS"
CT_KERNEL_WINDOWS_SHOW=y
#
# Options for windows
#
CT_KERNEL_WINDOWS_PKG_KSYM=""
CT_ALL_KERNEL_CHOICES="BARE_METAL LINUX WINDOWS"
#
# Common kernel options
#
CT_SHARED_LIBS=y
# end of Operating System
#
# Binary utilities
#
CT_ARCH_BINFMT_ELF=y
CT_BINUTILS_BINUTILS=y
CT_BINUTILS="binutils"
CT_BINUTILS_CHOICE_KSYM="BINUTILS"
CT_BINUTILS_BINUTILS_SHOW=y
#
# Options for binutils
#
CT_BINUTILS_BINUTILS_PKG_KSYM="BINUTILS"
CT_BINUTILS_DIR_NAME="binutils"
CT_BINUTILS_USE_GNU=y
# CT_BINUTILS_USE_LINARO is not set
# CT_BINUTILS_USE_ORACLE is not set
CT_BINUTILS_USE="BINUTILS"
CT_BINUTILS_PKG_NAME="binutils"
CT_BINUTILS_SRC_RELEASE=y
# CT_BINUTILS_SRC_DEVEL is not set
# CT_BINUTILS_SRC_CUSTOM is not set
CT_BINUTILS_PATCH_GLOBAL=y
# CT_BINUTILS_PATCH_BUNDLED is not set
# CT_BINUTILS_PATCH_LOCAL is not set
# CT_BINUTILS_PATCH_BUNDLED_LOCAL is not set
# CT_BINUTILS_PATCH_LOCAL_BUNDLED is not set
# CT_BINUTILS_PATCH_NONE is not set
CT_BINUTILS_PATCH_ORDER="global"
CT_BINUTILS_V_2_40=y
# CT_BINUTILS_V_2_39 is not set
# CT_BINUTILS_V_2_38 is not set
# CT_BINUTILS_V_2_37 is not set
# CT_BINUTILS_V_2_36 is not set
# CT_BINUTILS_V_2_35 is not set
# CT_BINUTILS_V_2_34 is not set
# CT_BINUTILS_V_2_33 is not set
# CT_BINUTILS_V_2_32 is not set
# CT_BINUTILS_V_2_31 is not set
# CT_BINUTILS_V_2_30 is not set
# CT_BINUTILS_V_2_29 is not set
# CT_BINUTILS_V_2_28 is not set
# CT_BINUTILS_V_2_27 is not set
# CT_BINUTILS_V_2_26 is not set
CT_BINUTILS_VERSION="2.40"
CT_BINUTILS_MIRRORS="$(CT_Mirrors GNU binutils) $(CT_Mirrors sourceware binutils/releases)"
CT_BINUTILS_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
CT_BINUTILS_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
CT_BINUTILS_ARCHIVE_FORMATS=".tar.xz .tar.bz2 .tar.gz"
CT_BINUTILS_SIGNATURE_FORMAT="packed/.sig"
CT_BINUTILS_later_than_2_39=y
CT_BINUTILS_2_39_or_later=y
CT_BINUTILS_later_than_2_30=y
CT_BINUTILS_2_30_or_later=y
CT_BINUTILS_later_than_2_27=y
CT_BINUTILS_2_27_or_later=y
CT_BINUTILS_later_than_2_26=y
CT_BINUTILS_2_26_or_later=y
#
# GNU binutils
#
CT_BINUTILS_GOLD_SUPPORTS_ARCH=y
CT_BINUTILS_GOLD_SUPPORT=y
CT_BINUTILS_FORCE_LD_BFD_DEFAULT=y
CT_BINUTILS_LINKER_LD=y
# CT_BINUTILS_LINKER_LD_GOLD is not set
CT_BINUTILS_LINKERS_LIST="ld"
CT_BINUTILS_LINKER_DEFAULT="bfd"
CT_BINUTILS_PLUGINS=y
CT_BINUTILS_RELRO=m
CT_BINUTILS_DETERMINISTIC_ARCHIVES=y
CT_BINUTILS_EXTRA_CONFIG_ARRAY=""
# CT_BINUTILS_FOR_TARGET is not set
CT_ALL_BINUTILS_CHOICES="BINUTILS"
# end of Binary utilities
#
# C-library
#
CT_LIBC_MINGW_W64=y
CT_LIBC="mingw-w64"
CT_LIBC_CHOICE_KSYM="MINGW_W64"
CT_THREADS="posix"
CT_LIBC_MINGW_W64_SHOW=y
#
# Options for mingw-w64
#
CT_LIBC_MINGW_W64_PKG_KSYM="MINGW_W64"
CT_MINGW_W64_DIR_NAME="mingw-w64"
CT_MINGW_W64_PKG_NAME="mingw-w64"
CT_MINGW_W64_SRC_RELEASE=y
# CT_MINGW_W64_SRC_DEVEL is not set
# CT_MINGW_W64_SRC_CUSTOM is not set
CT_MINGW_W64_PATCH_GLOBAL=y
# CT_MINGW_W64_PATCH_BUNDLED is not set
# CT_MINGW_W64_PATCH_LOCAL is not set
# CT_MINGW_W64_PATCH_BUNDLED_LOCAL is not set
# CT_MINGW_W64_PATCH_LOCAL_BUNDLED is not set
# CT_MINGW_W64_PATCH_NONE is not set
CT_MINGW_W64_PATCH_ORDER="global"
CT_MINGW_W64_V_V10_0=y
# CT_MINGW_W64_V_V9_0 is not set
# CT_MINGW_W64_V_V8_0 is not set
# CT_MINGW_W64_V_V7_0 is not set
# CT_MINGW_W64_V_V6_0 is not set
# CT_MINGW_W64_V_V5_0 is not set
# CT_MINGW_W64_V_V4_0 is not set
CT_MINGW_W64_VERSION="v10.0.0"
CT_MINGW_W64_MIRRORS="http://downloads.sourceforge.net/sourceforge/mingw-w64 https://downloads.sourceforge.net/project/mingw-w64/mingw-w64/mingw-w64-release/"
CT_MINGW_W64_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
CT_MINGW_W64_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
CT_MINGW_W64_ARCHIVE_FORMATS=".tar.bz2 .zip"
CT_MINGW_W64_SIGNATURE_FORMAT="packed/.sig"
CT_MINGW_SECURE_API=y
# CT_MINGW_DEFAULT_MSVCRT_DEFAULT is not set
# CT_MINGW_DEFAULT_MSVCRT_MSVCRT is not set
CT_MINGW_DEFAULT_MSVCRT_UCRT=y
# CT_MINGW_DEFAULT_MSVCRT_CUSTOM is not set
CT_MINGW_DIRECTX=y
CT_MINGW_DDK=y
CT_MINGW_TOOLS=y
CT_MINGW_TOOL_LIST_ARRAY="gendef genidl genlib genpeimg widl"
CT_ALL_LIBC_CHOICES="AVR_LIBC GLIBC MINGW_W64 MOXIEBOX MUSL NEWLIB NONE PICOLIBC UCLIBC_NG"
CT_LIBC_SUPPORT_THREADS_ANY=y
CT_LIBC_SUPPORT_THREADS_NATIVE=y
CT_LIBC_SUPPORT_THREADS_POSIX=y
#
# Common C library options
#
# CT_THREADS_NATIVE is not set
CT_THREADS_POSIX=y
# CT_CREATE_LDSO_CONF is not set
CT_LIBC_XLDD=y
# end of C-library
#
# C compiler
#
CT_CC_CORE_NEEDED=y
CT_CC_SUPPORT_CXX=y
CT_CC_SUPPORT_FORTRAN=y
CT_CC_SUPPORT_ADA=y
CT_CC_SUPPORT_D=y
CT_CC_SUPPORT_JIT=y
CT_CC_SUPPORT_OBJC=y
CT_CC_SUPPORT_OBJCXX=y
CT_CC_SUPPORT_GOLANG=y
CT_CC_GCC=y
CT_CC="gcc"
CT_CC_CHOICE_KSYM="GCC"
CT_CC_GCC_SHOW=y
#
# Options for gcc
#
CT_CC_GCC_PKG_KSYM="GCC"
CT_GCC_DIR_NAME="gcc"
CT_GCC_USE_GNU=y
# CT_GCC_USE_LINARO is not set
# CT_GCC_USE_ORACLE is not set
CT_GCC_USE="GCC"
CT_GCC_PKG_NAME="gcc"
CT_GCC_SRC_RELEASE=y
# CT_GCC_SRC_DEVEL is not set
# CT_GCC_SRC_CUSTOM is not set
CT_GCC_PATCH_GLOBAL=y
# CT_GCC_PATCH_BUNDLED is not set
# CT_GCC_PATCH_LOCAL is not set
# CT_GCC_PATCH_BUNDLED_LOCAL is not set
# CT_GCC_PATCH_LOCAL_BUNDLED is not set
# CT_GCC_PATCH_NONE is not set
CT_GCC_PATCH_ORDER="global"
CT_GCC_V_13=y
# CT_GCC_V_12 is not set
# CT_GCC_V_11 is not set
# CT_GCC_V_10 is not set
# CT_GCC_V_9 is not set
# CT_GCC_V_8 is not set
# CT_GCC_V_7 is not set
# CT_GCC_V_6 is not set
# CT_GCC_V_5 is not set
# CT_GCC_V_4_9 is not set
CT_GCC_VERSION="13.1.0"
CT_GCC_MIRRORS="$(CT_Mirrors GNU gcc/gcc-${CT_GCC_VERSION}) $(CT_Mirrors sourceware gcc/releases/gcc-${CT_GCC_VERSION})"
CT_GCC_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
CT_GCC_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
CT_GCC_ARCHIVE_FORMATS=".tar.xz .tar.gz"
CT_GCC_SIGNATURE_FORMAT=""
CT_GCC_later_than_13=y
CT_GCC_13_or_later=y
CT_GCC_later_than_12=y
CT_GCC_12_or_later=y
CT_GCC_later_than_11=y
CT_GCC_11_or_later=y
CT_GCC_later_than_10=y
CT_GCC_10_or_later=y
CT_GCC_later_than_9=y
CT_GCC_9_or_later=y
CT_GCC_later_than_8=y
CT_GCC_8_or_later=y
CT_GCC_later_than_7=y
CT_GCC_7_or_later=y
CT_GCC_later_than_6=y
CT_GCC_6_or_later=y
CT_GCC_later_than_5=y
CT_GCC_5_or_later=y
CT_GCC_later_than_4_9=y
CT_GCC_4_9_or_later=y
CT_CC_GCC_ENABLE_PLUGINS=y
CT_CC_GCC_HAS_LIBMPX=y
CT_CC_GCC_ENABLE_CXX_FLAGS=""
CT_CC_GCC_CORE_EXTRA_CONFIG_ARRAY="--enable-default-ssp"
CT_CC_GCC_EXTRA_CONFIG_ARRAY="--enable-default-ssp --with-build-config=bootstrap-lto-lean --enable-link-serialization=2"
CT_CC_GCC_STATIC_LIBSTDCXX=y
CT_CC_GCC_SYSTEM_ZLIB=y
CT_CC_GCC_CONFIG_TLS=m
#
# Optimisation features
#
CT_CC_GCC_USE_GRAPHITE=y
CT_CC_GCC_USE_LTO=y
CT_CC_GCC_LTO_ZSTD=m
#
# Settings for libraries running on target
#
# CT_CC_GCC_ENABLE_TARGET_OPTSPACE is not set
# CT_CC_GCC_LIBMUDFLAP is not set
CT_CC_GCC_LIBGOMP=y
CT_CC_GCC_LIBSSP=m
# CT_CC_GCC_LIBQUADMATH is not set
# CT_CC_GCC_LIBSTDCXX_VERBOSE is not set
#
# Misc. obscure options.
#
CT_CC_CXA_ATEXIT=y
CT_CC_GCC_TM_CLONE_REGISTRY=m
# CT_CC_GCC_DISABLE_PCH is not set
CT_CC_GCC_SJLJ_EXCEPTIONS=m
CT_CC_GCC_LDBL_128=m
# CT_CC_GCC_BUILD_ID is not set
CT_CC_GCC_LNK_HASH_STYLE_DEFAULT=y
# CT_CC_GCC_LNK_HASH_STYLE_SYSV is not set
# CT_CC_GCC_LNK_HASH_STYLE_GNU is not set
# CT_CC_GCC_LNK_HASH_STYLE_BOTH is not set
CT_CC_GCC_LNK_HASH_STYLE=""
CT_CC_GCC_DEC_FLOATS_AUTO=y
# CT_CC_GCC_DEC_FLOATS_BID is not set
# CT_CC_GCC_DEC_FLOATS_DPD is not set
# CT_CC_GCC_DEC_FLOATS_NO is not set
CT_CC_GCC_DEC_FLOATS=""
CT_ALL_CC_CHOICES="GCC"
#
# Additional supported languages:
#
CT_CC_LANG_CXX=y
# CT_CC_LANG_FORTRAN is not set
# CT_CC_LANG_JIT is not set
# CT_CC_LANG_ADA is not set
# CT_CC_LANG_D is not set
# CT_CC_LANG_OBJC is not set
# CT_CC_LANG_OBJCXX is not set
# CT_CC_LANG_GOLANG is not set
CT_CC_LANG_OTHERS=""
# end of C compiler
#
# Debug facilities
#
# CT_DEBUG_DUMA is not set
# CT_DEBUG_GDB is not set
# CT_DEBUG_LTRACE is not set
# CT_DEBUG_STRACE is not set
CT_ALL_DEBUG_CHOICES="DUMA GDB LTRACE STRACE"
# end of Debug facilities
#
# Companion libraries
#
# CT_COMPLIBS_CHECK is not set
# CT_COMP_LIBS_CLOOG is not set
# CT_COMP_LIBS_EXPAT is not set
CT_COMP_LIBS_GETTEXT=y
CT_COMP_LIBS_GETTEXT_PKG_KSYM="GETTEXT"
CT_GETTEXT_DIR_NAME="gettext"
CT_GETTEXT_PKG_NAME="gettext"
CT_GETTEXT_SRC_RELEASE=y
# CT_GETTEXT_SRC_DEVEL is not set
# CT_GETTEXT_SRC_CUSTOM is not set
CT_GETTEXT_PATCH_GLOBAL=y
# CT_GETTEXT_PATCH_BUNDLED is not set
# CT_GETTEXT_PATCH_LOCAL is not set
# CT_GETTEXT_PATCH_BUNDLED_LOCAL is not set
# CT_GETTEXT_PATCH_LOCAL_BUNDLED is not set
# CT_GETTEXT_PATCH_NONE is not set
CT_GETTEXT_PATCH_ORDER="global"
CT_GETTEXT_V_0_21=y
# CT_GETTEXT_V_0_20_1 is not set
# CT_GETTEXT_V_0_19_8_1 is not set
CT_GETTEXT_VERSION="0.21"
CT_GETTEXT_MIRRORS="$(CT_Mirrors GNU gettext)"
CT_GETTEXT_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
CT_GETTEXT_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
CT_GETTEXT_ARCHIVE_FORMATS=".tar.xz .tar.gz"
CT_GETTEXT_SIGNATURE_FORMAT="packed/.sig"
CT_GETTEXT_0_21_or_later=y
CT_GETTEXT_0_21_or_older=y
CT_GETTEXT_INCOMPATIBLE_WITH_UCLIBC_NG=y
#
# This version of gettext is not compatible with uClibc-NG. Select
#
#
# a different version if uClibc-NG is used on the target or (in a
#
#
# Canadian cross build) on the host.
#
CT_COMP_LIBS_GMP=y
CT_COMP_LIBS_GMP_PKG_KSYM="GMP"
CT_GMP_DIR_NAME="gmp"
CT_GMP_PKG_NAME="gmp"
CT_GMP_SRC_RELEASE=y
# CT_GMP_SRC_DEVEL is not set
# CT_GMP_SRC_CUSTOM is not set
CT_GMP_PATCH_GLOBAL=y
# CT_GMP_PATCH_BUNDLED is not set
# CT_GMP_PATCH_LOCAL is not set
# CT_GMP_PATCH_BUNDLED_LOCAL is not set
# CT_GMP_PATCH_LOCAL_BUNDLED is not set
# CT_GMP_PATCH_NONE is not set
CT_GMP_PATCH_ORDER="global"
CT_GMP_V_6_2=y
# CT_GMP_V_6_1 is not set
CT_GMP_VERSION="6.2.1"
CT_GMP_MIRRORS="https://gmplib.org/download/gmp https://gmplib.org/download/gmp/archive $(CT_Mirrors GNU gmp)"
CT_GMP_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
CT_GMP_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
CT_GMP_ARCHIVE_FORMATS=".tar.xz .tar.lz .tar.bz2"
CT_GMP_SIGNATURE_FORMAT="packed/.sig"
CT_COMP_LIBS_ISL=y
CT_COMP_LIBS_ISL_PKG_KSYM="ISL"
CT_ISL_DIR_NAME="isl"
CT_ISL_PKG_NAME="isl"
CT_ISL_SRC_RELEASE=y
# CT_ISL_SRC_DEVEL is not set
# CT_ISL_SRC_CUSTOM is not set
CT_ISL_PATCH_GLOBAL=y
# CT_ISL_PATCH_BUNDLED is not set
# CT_ISL_PATCH_LOCAL is not set
# CT_ISL_PATCH_BUNDLED_LOCAL is not set
# CT_ISL_PATCH_LOCAL_BUNDLED is not set
# CT_ISL_PATCH_NONE is not set
CT_ISL_PATCH_ORDER="global"
CT_ISL_V_0_26=y
# CT_ISL_V_0_25 is not set
# CT_ISL_V_0_24 is not set
# CT_ISL_V_0_23 is not set
# CT_ISL_V_0_22 is not set
# CT_ISL_V_0_21 is not set
# CT_ISL_V_0_20 is not set
# CT_ISL_V_0_19 is not set
# CT_ISL_V_0_18 is not set
# CT_ISL_V_0_17 is not set
# CT_ISL_V_0_16 is not set
# CT_ISL_V_0_15 is not set
CT_ISL_VERSION="0.26"
CT_ISL_MIRRORS="https://libisl.sourceforge.io"
CT_ISL_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
CT_ISL_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
CT_ISL_ARCHIVE_FORMATS=".tar.xz .tar.bz2 .tar.gz"
CT_ISL_SIGNATURE_FORMAT=""
CT_ISL_later_than_0_18=y
CT_ISL_0_18_or_later=y
CT_ISL_later_than_0_15=y
CT_ISL_0_15_or_later=y
# CT_COMP_LIBS_LIBELF is not set
# CT_COMP_LIBS_LIBICONV is not set
CT_COMP_LIBS_MPC=y
CT_COMP_LIBS_MPC_PKG_KSYM="MPC"
CT_MPC_DIR_NAME="mpc"
CT_MPC_PKG_NAME="mpc"
CT_MPC_SRC_RELEASE=y
# CT_MPC_SRC_DEVEL is not set
# CT_MPC_SRC_CUSTOM is not set
CT_MPC_PATCH_GLOBAL=y
# CT_MPC_PATCH_BUNDLED is not set
# CT_MPC_PATCH_LOCAL is not set
# CT_MPC_PATCH_BUNDLED_LOCAL is not set
# CT_MPC_PATCH_LOCAL_BUNDLED is not set
# CT_MPC_PATCH_NONE is not set
CT_MPC_PATCH_ORDER="global"
CT_MPC_V_1_2=y
# CT_MPC_V_1_1 is not set
# CT_MPC_V_1_0 is not set
CT_MPC_VERSION="1.2.1"
CT_MPC_MIRRORS="http://www.multiprecision.org/downloads $(CT_Mirrors GNU mpc)"
CT_MPC_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
CT_MPC_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
CT_MPC_ARCHIVE_FORMATS=".tar.gz"
CT_MPC_SIGNATURE_FORMAT="packed/.sig"
CT_MPC_later_than_1_1_0=y
CT_MPC_1_1_0_or_later=y
CT_COMP_LIBS_MPFR=y
CT_COMP_LIBS_MPFR_PKG_KSYM="MPFR"
CT_MPFR_DIR_NAME="mpfr"
CT_MPFR_PKG_NAME="mpfr"
CT_MPFR_SRC_RELEASE=y
# CT_MPFR_SRC_DEVEL is not set
# CT_MPFR_SRC_CUSTOM is not set
CT_MPFR_PATCH_GLOBAL=y
# CT_MPFR_PATCH_BUNDLED is not set
# CT_MPFR_PATCH_LOCAL is not set
# CT_MPFR_PATCH_BUNDLED_LOCAL is not set
# CT_MPFR_PATCH_LOCAL_BUNDLED is not set
# CT_MPFR_PATCH_NONE is not set
CT_MPFR_PATCH_ORDER="global"
CT_MPFR_V_4_1=y
# CT_MPFR_V_4_0 is not set
# CT_MPFR_V_3_1 is not set
CT_MPFR_VERSION="4.1.0"
CT_MPFR_MIRRORS="http://www.mpfr.org/mpfr-${CT_MPFR_VERSION} $(CT_Mirrors GNU mpfr)"
CT_MPFR_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
CT_MPFR_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
CT_MPFR_ARCHIVE_FORMATS=".tar.xz .tar.bz2 .tar.gz .zip"
CT_MPFR_SIGNATURE_FORMAT="packed/.asc"
CT_MPFR_later_than_4_0_0=y
CT_MPFR_4_0_0_or_later=y
# CT_COMP_LIBS_NCURSES is not set
CT_COMP_LIBS_ZLIB=y
CT_COMP_LIBS_ZLIB_PKG_KSYM="ZLIB"
CT_ZLIB_DIR_NAME="zlib"
CT_ZLIB_PKG_NAME="zlib"
CT_ZLIB_SRC_RELEASE=y
# CT_ZLIB_SRC_DEVEL is not set
# CT_ZLIB_SRC_CUSTOM is not set
CT_ZLIB_PATCH_GLOBAL=y
# CT_ZLIB_PATCH_BUNDLED is not set
# CT_ZLIB_PATCH_LOCAL is not set
# CT_ZLIB_PATCH_BUNDLED_LOCAL is not set
# CT_ZLIB_PATCH_LOCAL_BUNDLED is not set
# CT_ZLIB_PATCH_NONE is not set
CT_ZLIB_PATCH_ORDER="global"
CT_ZLIB_V_1_2_13=y
CT_ZLIB_VERSION="1.2.13"
CT_ZLIB_MIRRORS="https://github.com/madler/zlib/releases/download/v${CT_ZLIB_VERSION} https://www.zlib.net/"
CT_ZLIB_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
CT_ZLIB_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
CT_ZLIB_ARCHIVE_FORMATS=".tar.xz .tar.gz"
CT_ZLIB_SIGNATURE_FORMAT="packed/.asc"
CT_COMP_LIBS_ZSTD=y
CT_COMP_LIBS_ZSTD_PKG_KSYM="ZSTD"
CT_ZSTD_DIR_NAME="zstd"
CT_ZSTD_PKG_NAME="zstd"
CT_ZSTD_SRC_RELEASE=y
# CT_ZSTD_SRC_DEVEL is not set
# CT_ZSTD_SRC_CUSTOM is not set
CT_ZSTD_PATCH_GLOBAL=y
# CT_ZSTD_PATCH_BUNDLED is not set
# CT_ZSTD_PATCH_LOCAL is not set
# CT_ZSTD_PATCH_BUNDLED_LOCAL is not set
# CT_ZSTD_PATCH_LOCAL_BUNDLED is not set
# CT_ZSTD_PATCH_NONE is not set
CT_ZSTD_PATCH_ORDER="global"
CT_ZSTD_V_1_5_5=y
# CT_ZSTD_V_1_5_2 is not set
CT_ZSTD_VERSION="1.5.5"
CT_ZSTD_MIRRORS="https://github.com/facebook/zstd/releases/download/v${CT_ZSTD_VERSION} https://www.zstd.net/"
CT_ZSTD_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
CT_ZSTD_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
CT_ZSTD_ARCHIVE_FORMATS=".tar.gz"
CT_ZSTD_SIGNATURE_FORMAT="packed/.sig"
CT_ALL_COMP_LIBS_CHOICES="CLOOG EXPAT GETTEXT GMP GNUPRUMCU ISL LIBELF LIBICONV MPC MPFR NCURSES NEWLIB_NANO PICOLIBC ZLIB ZSTD"
# CT_LIBICONV_NEEDED is not set
# CT_GETTEXT_NEEDED is not set
CT_GMP_NEEDED=y
CT_MPFR_NEEDED=y
CT_ISL_NEEDED=y
CT_MPC_NEEDED=y
CT_ZLIB_NEEDED=y
CT_ZSTD_NEEDED=y
CT_GMP=y
CT_MPFR=y
CT_ISL=y
CT_MPC=y
CT_ZLIB=y
CT_ZSTD=y
# end of Companion libraries
#
# Companion tools
#
# CT_COMP_TOOLS_FOR_HOST is not set
# CT_COMP_TOOLS_AUTOCONF is not set
# CT_COMP_TOOLS_AUTOMAKE is not set
# CT_COMP_TOOLS_BISON is not set
# CT_COMP_TOOLS_DTC is not set
# CT_COMP_TOOLS_LIBTOOL is not set
# CT_COMP_TOOLS_M4 is not set
# CT_COMP_TOOLS_MAKE is not set
CT_ALL_COMP_TOOLS_CHOICES="AUTOCONF AUTOMAKE BISON DTC LIBTOOL M4 MAKE"
# end of Companion tools
#
# Test suite
#
# CT_TEST_SUITE_GCC is not set
# end of Test suite

View file

@ -1,16 +1,12 @@
set(CMAKE_SYSTEM_NAME Windows) set(CMAKE_SYSTEM_NAME Windows)
set(CMAKE_SYSTEM_PROCESSOR x86_64) set(CMAKE_SYSTEM_PROCESSOR x86_64)
set(triple x86_64-w64-mingw32) set(CMAKE_C_COMPILER x86_64-w64-mingw32-gcc)
set(CMAKE_CXX_COMPILER x86_64-w64-mingw32-g++)
set(CMAKE_RC_COMPILER x86_64-w64-mingw32-windres)
set(CMAKE_RANLIB x86_64-w64-mingw32-ranlib)
set(CMAKE_C_COMPILER ${triple}-gcc) set(CMAKE_FIND_ROOT_PATH /usr/x86_64-w64-mingw32 /opt/ffbuild)
set(CMAKE_CXX_COMPILER ${triple}-g++)
set(CMAKE_RC_COMPILER ${triple}-windres)
set(CMAKE_RANLIB ${triple}-gcc-ranlib)
set(CMAKE_AR ${triple}-gcc-ar)
set(CMAKE_SYSROOT /opt/ct-ng/${triple}/sysroot)
set(CMAKE_FIND_ROOT_PATH /opt/ct-ng /opt/ct-ng/${triple}/sysroot /opt/ffbuild)
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)

View file

@ -1,20 +1,10 @@
FROM ubuntu:23.04 FROM ubuntu:21.10
ENV FFBUILD_DLDIR="/opt/ffdl"
ENV DEBIAN_FRONTEND noninteractive ENV DEBIAN_FRONTEND noninteractive
RUN \ RUN \
mkdir -p "$FFBUILD_DLDIR" && \
apt-get -y update && \ apt-get -y update && \
apt-get -y dist-upgrade && \ apt-get -y dist-upgrade && \
apt-get -y install build-essential yasm nasm \ apt-get -y install build-essential yasm nasm xxd pkgconf git curl wget unzip subversion autoconf automake libtool libtool-bin autopoint cmake clang texinfo texi2html help2man flex bison gperf gettext itstool ragel libc6-dev libssl-dev gtk-doc-tools gobject-introspection gawk meson ninja-build p7zip-full python3-distutils python3-apt python-is-python3 && \
xxd pkgconf curl wget unzip zip git subversion mercurial \
autoconf automake libtool libtool-bin autopoint gettext cmake clang meson ninja-build \
texinfo texi2html help2man flex bison groff \
gperf itstool ragel libc6-dev libssl-dev \
gtk-doc-tools gobject-introspection gawk \
ocaml ocamlbuild libnum-ocaml-dev indent p7zip-full \
python3-distutils python3-jinja2 python3-jsonschema python3-apt python-is-python3 && \
apt-get -y clean && \ apt-get -y clean && \
git config --global user.email "builder@localhost" && \ git config --global user.email "builder@localhost" && \
git config --global user.name "Builder" && \ git config --global user.name "Builder" && \

View file

@ -5,8 +5,6 @@ REF="$2"
DEST="$3" DEST="$3"
git init "$DEST" git init "$DEST"
git -C "$DEST" remote add origin "$REPO" git -C "$DEST" remote add origin "$REPO"
git -C "$DEST" fetch --depth=1 origin "$REF"
retry-tool git -C "$DEST" fetch --depth=1 origin "$REF"
git -C "$DEST" config advice.detachedHead false git -C "$DEST" config advice.detachedHead false
git -C "$DEST" checkout FETCH_HEAD git -C "$DEST" checkout FETCH_HEAD

View file

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

View file

@ -1,9 +1,6 @@
#!/bin/bash #!/bin/bash
set -xe set -xe
export RAW_CFLAGS="$CFLAGS"
export RAW_CXXFLAGS="$CXXFLAGS"
export RAW_LDFLAGS="$LDFLAGS"
[[ -n "$STAGE_CFLAGS" ]] && export CFLAGS="$CFLAGS $STAGE_CFLAGS" [[ -n "$STAGE_CFLAGS" ]] && export CFLAGS="$CFLAGS $STAGE_CFLAGS"
[[ -n "$STAGE_CXXFLAGS" ]] && export CXXFLAGS="$CXXFLAGS $STAGE_CXXFLAGS" [[ -n "$STAGE_CXXFLAGS" ]] && export CXXFLAGS="$CXXFLAGS $STAGE_CXXFLAGS"
[[ -n "$STAGE_LDFLAGS" ]] && export LDFLAGS="$LDFLAGS $STAGE_LDFLAGS" [[ -n "$STAGE_LDFLAGS" ]] && export LDFLAGS="$LDFLAGS $STAGE_LDFLAGS"
@ -11,12 +8,5 @@ export RAW_LDFLAGS="$LDFLAGS"
mkdir -p /stage mkdir -p /stage
source "$1" source "$1"
cd /stage cd /stage
if [[ -n "$3" ]]; then ffbuild_dockerbuild
cd "$3"
fi
if [[ -z "$2" ]]; then
ffbuild_dockerbuild
else
"$2"
fi
rm -rf /stage "$FFBUILD_PREFIX"/bin rm -rf /stage "$FFBUILD_PREFIX"/bin

View file

@ -3,65 +3,16 @@ set -xe
cd "$(dirname "$0")" cd "$(dirname "$0")"
source util/vars.sh source util/vars.sh
TMPCFG="$(mktemp --suffix=.toml)" export DOCKER_BUILDKIT=1
cat <<EOF >"$TMPCFG"
[worker.oci]
max-parallelism = 4
EOF
trap "rm -f '$TMPCFG'" EXIT
docker buildx inspect ffbuilder &>/dev/null || docker buildx create \
--bootstrap \
--name ffbuilder \
--config "$TMPCFG" \
--driver-opt network=host \
--driver-opt env.BUILDKIT_STEP_LOG_MAX_SIZE=-1 \
--driver-opt env.BUILDKIT_STEP_LOG_MAX_SPEED=-1
docker container inspect ffbuildreg &>/dev/null || \
docker run --rm -d -p 127.0.0.1:64647:5000 --name ffbuildreg registry:2
LOCAL_REG_PORT="$(docker container inspect --format='{{range $p, $conf := .NetworkSettings.Ports}}{{(index $conf 0).HostPort}}{{end}}' ffbuildreg)"
LOCAL_ROOT="127.0.0.1:${LOCAL_REG_PORT}/local"
export REGISTRY_OVERRIDE_DL="127.0.0.1:${LOCAL_REG_PORT}" GITHUB_REPOSITORY_DL="local"
if [[ -z "$QUICKBUILD" ]]; then if [[ -z "$QUICKBUILD" ]]; then
if grep "FROM.*base.*" "images/base-${TARGET}/Dockerfile" >/dev/null 2>&1; then if grep "FROM.*base.*" "images/base-${TARGET}/Dockerfile" >/dev/null 2>&1; then
docker buildx --builder ffbuilder build \ docker build --tag "$BASE_IMAGE" images/base
--cache-from=type=local,src=.cache/"${BASE_IMAGE/:/_}" \
--cache-to=type=local,mode=max,dest=.cache/"${BASE_IMAGE/:/_}" \
--push --tag "${LOCAL_ROOT}/base:latest" images/base
fi fi
docker buildx --builder ffbuilder build \ docker build --build-arg GH_REPO="$REPO" --tag "$TARGET_IMAGE" "images/base-${TARGET}"
--cache-from=type=local,src=.cache/"${TARGET_IMAGE/:/_}" \
--cache-to=type=local,mode=max,dest=.cache/"${TARGET_IMAGE/:/_}" \
--push --tag "${LOCAL_ROOT}/base-${TARGET}:latest" \
--build-arg GH_REPO="$LOCAL_ROOT" "images/base-${TARGET}"
export REGISTRY_OVERRIDE="$REGISTRY_OVERRIDE_DL" GITHUB_REPOSITORY="$GITHUB_REPOSITORY_DL"
fi fi
./generate.sh "$TARGET" "$VARIANT" "${ADDINS[@]}" ./generate.sh "$TARGET" "$VARIANT" "${ADDINS[@]}"
DL_CACHE_TAG="$(./util/get_dl_cache_tag.sh)"
DL_IMAGE="${DL_IMAGE_RAW}:${DL_CACHE_TAG}"
if docker pull "${DL_IMAGE}"; then exec docker build --tag "$IMAGE" .
export REGISTRY_OVERRIDE_DL="$REGISTRY" GITHUB_REPOSITORY_DL="$REPO"
./generate.sh "$TARGET" "$VARIANT" "${ADDINS[@]}"
else
DL_IMAGE="${LOCAL_ROOT}/dl_cache:${DL_CACHE_TAG}"
docker manifest inspect --insecure "${DL_IMAGE}" >/dev/null ||
docker buildx --builder ffbuilder build -f Dockerfile.dl \
--cache-from=type=local,src=.cache/dl_image_cache \
--cache-to=type=local,mode=max,dest=.cache/dl_image_cache \
--push --tag "${DL_IMAGE}" .
fi
docker buildx --builder ffbuilder build \
--cache-from=type=local,src=.cache/"${IMAGE/:/_}" \
--cache-to=type=local,mode=max,dest=.cache/"${IMAGE/:/_}" \
--load --tag "$IMAGE" .
docker container stop ffbuildreg
docker buildx rm -f ffbuilder

View file

@ -1,31 +0,0 @@
From a5bcc6d17c20e18bdeec295089cc0cdfac9d35c8 Mon Sep 17 00:00:00 2001
From: xtne6f <xt4ubq@gmail.com>
Date: Thu, 7 Feb 2019 20:11:13 +0900
Subject: [PATCH] Fix default macros
---
src/decoder_macro.h | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/decoder_macro.h b/src/decoder_macro.h
index 86edee4..513b81e 100644
--- a/src/decoder_macro.h
+++ b/src/decoder_macro.h
@@ -30,7 +30,7 @@ static const unsigned char decoder_default_macro_1[] = {
0x1B,0x24,0x39,0x1B,0x29,0x31,0x1B,0x2A,0x30,0x1B,0x2B,0x20,0x70,0x0F,0x1B,0x7D
};
static const unsigned char decoder_default_macro_2[] = {
- 0x1B,0x24,0x39,0x1B,0x29,0x20,0x40,0x1B,0x2A,0x30,0x1B,0x2B,0x20,0x70,0x0F,0x1B,0x7D
+ 0x1B,0x24,0x39,0x1B,0x29,0x20,0x41,0x1B,0x2A,0x30,0x1B,0x2B,0x20,0x70,0x0F,0x1B,0x7D
};
static const unsigned char decoder_default_macro_3[] = {
0x1B,0x28,0x32,0x1B,0x29,0x34,0x1B,0x2A,0x35,0x1B,0x2B,0x20,0x70,0x0F,0x1B,0x7D
@@ -39,7 +39,7 @@ static const unsigned char decoder_default_macro_4[] = {
0x1B,0x28,0x32,0x1B,0x29,0x33,0x1B,0x2A,0x35,0x1B,0x2B,0x20,0x70,0x0F,0x1B,0x7D
};
static const unsigned char decoder_default_macro_5[] = {
- 0x1B,0x28,0x32,0x1B,0x29,0x20,0x40,0x1B,0x2A,0x35,0x1B,0x2B,0x20,0x70,0x0F,0x1B,0x7D
+ 0x1B,0x28,0x32,0x1B,0x29,0x20,0x41,0x1B,0x2A,0x35,0x1B,0x2B,0x20,0x70,0x0F,0x1B,0x7D
};
static const unsigned char decoder_default_macro_6[] = {
0x1B,0x28,0x20,0x41,0x1B,0x29,0x20,0x42,0x1B,0x2A,0x20,0x43,0x1B,0x2B,0x20,0x70,0x0F,0x1B,0x7D

View file

@ -1,23 +0,0 @@
From facc51923d43f26dec09a9391566de7cba29f8db Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Jan=20Ekstr=C3=B6m?= <jeebjp@gmail.com>
Date: Sun, 17 Feb 2019 22:42:31 +0200
Subject: [PATCH] decoder: reset control_time when finalizing decoder
This way finalize_decoder() can properly be utilized as a flush
function.
---
src/decoder.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/src/decoder.c b/src/decoder.c
index 2b77f38..24c0f06 100644
--- a/src/decoder.c
+++ b/src/decoder.c
@@ -1506,6 +1506,7 @@ void arib_finalize_decoder( arib_decoder_t* decoder )
free( p_region );
}
decoder->p_region = NULL;
+ decoder->i_control_time = 0;
}
size_t arib_decode_buffer( arib_decoder_t* decoder,

View file

@ -1,151 +0,0 @@
From 58a34b8fabf4d0e9e1984fb603a97f52fb934a09 Mon Sep 17 00:00:00 2001
From: scimmia9286 <scimmia9286@yahoo.co.jp>
Date: Thu, 22 Apr 2021 20:26:45 +0900
Subject: [PATCH] Fixed DRCS parser bug
---
src/decoder.c | 3 ++-
src/drcs.c | 12 ++++++++----
src/drcs.h | 2 +-
src/parser.c | 25 +++++++++++++++++++++----
4 files changed, 32 insertions(+), 10 deletions(-)
diff --git a/src/decoder.c b/src/decoder.c
index 2b77f38..c9d6ac3 100644
--- a/src/decoder.c
+++ b/src/decoder.c
@@ -1139,9 +1139,10 @@ static int decoder_handle_time( arib_decoder_t *decoder )
return 1;
break;
default:
- if( i_mode == 1 && c >= 0x40 && c <= 0x7F )
+ if( i_mode == 1 && c >= 0x40 && c <= 0x7F ) {
decoder->i_control_time += c & 0x3f;
return 1;
+ }
return 0;
}
if( i_mode == 0 )
diff --git a/src/drcs.c b/src/drcs.c
index 114d846..8ff8d4f 100644
--- a/src/drcs.c
+++ b/src/drcs.c
@@ -406,15 +406,19 @@ static void save_drcs_pattern_data_image(
void save_drcs_pattern(
arib_instance_t *p_instance,
int i_width, int i_height,
- int i_depth, const int8_t* p_patternData )
+ int i_depth, const int8_t* p_patternData,
+ int16_t i_CharacterCode )
{
+// int i_drcsPage = (i_CharacterCode >> 16) & 0xff;
+ int i_code = (i_CharacterCode & 0xff) - 0x20;
char* psz_hash = get_drcs_pattern_data_hash( p_instance,
i_width, i_height, i_depth, p_patternData );
- strncpy( p_instance->p->drcs_hash_table[p_instance->p->i_drcs_num], psz_hash, 32 );
- p_instance->p->drcs_hash_table[p_instance->p->i_drcs_num][32] = '\0';
+ strncpy( p_instance->p->drcs_hash_table[i_code-1], psz_hash, 32 );
+ p_instance->p->drcs_hash_table[i_code-1][32] = '\0';
- p_instance->p->i_drcs_num++;
+ p_instance->p->i_drcs_num = i_code > p_instance->p->i_drcs_num ?
+ i_code : p_instance->p->i_drcs_num;
save_drcs_pattern_data_image( p_instance, psz_hash,
i_width, i_height, i_depth, p_patternData );
diff --git a/src/drcs.h b/src/drcs.h
index 274ff44..9c1533e 100644
--- a/src/drcs.h
+++ b/src/drcs.h
@@ -77,6 +77,6 @@ typedef struct drcs_data_s
bool apply_drcs_conversion_table( arib_instance_t * );
bool load_drcs_conversion_table( arib_instance_t * );
-void save_drcs_pattern( arib_instance_t *, int, int, int, const int8_t* );
+void save_drcs_pattern( arib_instance_t *, int, int, int, const int8_t*, int16_t );
#endif
diff --git a/src/parser.c b/src/parser.c
index 1403dd6..6db27ae 100644
--- a/src/parser.c
+++ b/src/parser.c
@@ -79,7 +79,6 @@ static void parse_data_unit_DRCS( arib_parser_t *p_parser, bs_t *p_bs,
uint8_t i_data_unit_parameter,
uint32_t i_data_unit_size )
{
- p_parser->p_instance->p->i_drcs_num = 0;
#ifdef ARIBSUB_GEN_DRCS_DATA
if( p_parser->p_drcs_data != NULL )
{
@@ -119,7 +118,7 @@ static void parse_data_unit_DRCS( arib_parser_t *p_parser, bs_t *p_bs,
for( int i = 0; i < i_NumberOfCode; i++ )
{
- bs_skip( p_bs, 16 ); /* i_character_code */
+ int16_t i_CharacterCode = bs_read( p_bs, 16 ); /* i_character_code */
p_parser->i_data_unit_size += 2;
uint8_t i_NumberOfFont = bs_read( p_bs, 8 );
p_parser->i_data_unit_size += 1;
@@ -139,7 +138,11 @@ static void parse_data_unit_DRCS( arib_parser_t *p_parser, bs_t *p_bs,
for( int j = 0; j < i_NumberOfFont; j++ )
{
+#ifdef ARIBSUB_GEN_DRCS_DATA
+ int8_t i_fontId = bs_read( p_bs, 4 ); /* i_fontID */
+#else
bs_skip( p_bs, 4 ); /* i_fontID */
+#endif //ARIBSUB_GEN_DRCS_DATA
uint8_t i_mode = bs_read( p_bs, 4 );
p_parser->i_data_unit_size += 1;
@@ -206,18 +209,26 @@ static void parse_data_unit_DRCS( arib_parser_t *p_parser, bs_t *p_bs,
#ifdef ARIBSUB_GEN_DRCS_DATA
save_drcs_pattern( p_parser->p_instance, i_width, i_height, i_depth + 2,
- p_drcs_pattern_data->p_patternData );
+ p_drcs_pattern_data->p_patternData, i_CharacterCode );
#else
save_drcs_pattern( p_parser->p_instance, i_width, i_height, i_depth + 2,
- p_patternData );
+ p_patternData, i_CharacterCode);
free( p_patternData );
#endif //ARIBSUB_GEN_DRCS_DATA
}
else
{
+#ifdef ARIBSUB_GEN_DRCS_DATA
+ int8_t i_regionX = bs_read( p_bs, 8 ); /* i_regionX */
+#else
bs_skip( p_bs, 8 ); /* i_regionX */
+#endif //ARIBSUB_GEN_DRCS_DATA
p_parser->i_data_unit_size += 1;
+#ifdef ARIBSUB_GEN_DRCS_DATA
+ int8_t i_regionY = bs_read( p_bs, 8 ); /* i_regionY */
+#else
bs_skip( p_bs, 8 ); /* i_regionY */
+#endif //ARIBSUB_GEN_DRCS_DATA
p_parser->i_data_unit_size += 1;
uint16_t i_geometricData_length = bs_read( p_bs, 16 );
p_parser->i_data_unit_size += 2;
@@ -245,7 +256,11 @@ static void parse_data_unit_DRCS( arib_parser_t *p_parser, bs_t *p_bs,
for( int k = 0; k < i_geometricData_length ; k++ )
{
+#ifdef ARIBSUB_GEN_DRCS_DATA
+ int8_t i_geometricData = bs_read( p_bs, 8 ); /* i_geometric_data */
+#else
bs_skip( p_bs, 8 ); /* i_geometric_data */
+#endif //ARIBSUB_GEN_DRCS_DATA
p_parser->i_data_unit_size += 1;
#ifdef ARIBSUB_GEN_DRCS_DATA
@@ -344,6 +359,8 @@ static void parse_caption_management_data( arib_parser_t *p_parser, bs_t *p_bs )
p_parser->i_data_unit_size = 0;
p_parser->i_subtitle_data_size = 0;
p_parser->psz_subtitle_data = NULL;
+ p_parser->p_instance->p->i_drcs_num = 0;
+ memset(p_parser->p_instance->p->drcs_hash_table, 0, sizeof(p_parser->p_instance->p->drcs_hash_table));
if( i_data_unit_loop_length > 0 )
{
p_parser->psz_subtitle_data = (unsigned char*) calloc(

View file

@ -1,16 +0,0 @@
#!/bin/bash
SCRIPT_REPO="https://github.com/meganz/mingw-std-threads.git"
SCRIPT_COMMIT="6c2061b7da41d6aa1b2162ff4383ec3ece864bc6"
ffbuild_enabled() {
[[ $TARGET == win* ]] || return -1
return 0
}
ffbuild_dockerbuild() {
cd "$FFBUILD_DLDIR/$SELF"
mkdir -p "$FFBUILD_PREFIX"/include
cp *.h "$FFBUILD_PREFIX"/include
}

View file

@ -1,7 +1,7 @@
#!/bin/bash #!/bin/bash
SCRIPT_REPO="https://git.code.sf.net/p/mingw-w64/mingw-w64.git" MINGW_REPO="https://github.com/mirror/mingw-w64.git"
SCRIPT_COMMIT="3638d5e9a6f28354bc3e18f04ba0d97e2cc3b44c" MINGW_COMMIT="a2eb3ea3aaa7c780c4b4ab30d71169f442788864"
ffbuild_enabled() { ffbuild_enabled() {
[[ $TARGET == win* ]] || return -1 [[ $TARGET == win* ]] || return -1
@ -17,12 +17,9 @@ ffbuild_dockerfinal() {
to_df "COPY --from=${PREVLAYER} /opt/mingw/. /" to_df "COPY --from=${PREVLAYER} /opt/mingw/. /"
} }
ffbuild_dockerdl() {
to_df "RUN retry-tool sh -c \"rm -rf mingw && git clone '$SCRIPT_REPO' mingw\" && cd mingw && git checkout \"$SCRIPT_COMMIT\""
}
ffbuild_dockerbuild() { ffbuild_dockerbuild() {
cd "$FFBUILD_DLDIR/mingw" git-mini-clone "$MINGW_REPO" "$MINGW_COMMIT" mingw
cd mingw
cd mingw-w64-headers cd mingw-w64-headers
@ -31,13 +28,10 @@ ffbuild_dockerbuild() {
unset LDFLAGS unset LDFLAGS
unset PKG_CONFIG_LIBDIR unset PKG_CONFIG_LIBDIR
GCC_SYSROOT="$(${FFBUILD_CROSS_PREFIX}gcc -print-sysroot)"
local myconf=( local myconf=(
--prefix="$GCC_SYSROOT/usr/$FFBUILD_TOOLCHAIN" --prefix="/usr/$FFBUILD_TOOLCHAIN"
--host="$FFBUILD_TOOLCHAIN" --host="$FFBUILD_TOOLCHAIN"
--with-default-win32-winnt="0x601" --with-default-win32-winnt="0x601"
--with-default-msvcrt=ucrt
--enable-idl --enable-idl
) )
@ -48,7 +42,7 @@ ffbuild_dockerbuild() {
cd ../mingw-w64-libraries/winpthreads cd ../mingw-w64-libraries/winpthreads
local myconf=( local myconf=(
--prefix="$GCC_SYSROOT/usr/$FFBUILD_TOOLCHAIN" --prefix="/usr/$FFBUILD_TOOLCHAIN"
--host="$FFBUILD_TOOLCHAIN" --host="$FFBUILD_TOOLCHAIN"
--with-pic --with-pic
--disable-shared --disable-shared

View file

@ -1,7 +1,7 @@
#!/bin/bash #!/bin/bash
SCRIPT_REPO="https://gitlab.freedesktop.org/xorg/util/macros.git" XORGMACROS_REPO="https://gitlab.freedesktop.org/xorg/util/macros.git"
SCRIPT_COMMIT="cb147377e9341af05232f95814022abdecf14024" XORGMACROS_COMMIT="b8766308d2f78bc572abe5198007cf7aeec9b761"
ffbuild_enabled() { ffbuild_enabled() {
[[ $TARGET != linux* ]] && return -1 [[ $TARGET != linux* ]] && return -1
@ -14,7 +14,8 @@ ffbuild_dockerlayer() {
} }
ffbuild_dockerbuild() { ffbuild_dockerbuild() {
cd "$FFBUILD_DLDIR/$SELF" git-mini-clone "$XORGMACROS_REPO" "$XORGMACROS_COMMIT" xorg-macros
cd xorg-macros
autoreconf -i autoreconf -i
./configure --prefix="$FFBUILD_PREFIX" ./configure --prefix="$FFBUILD_PREFIX"

View file

@ -1,21 +1,17 @@
#!/bin/bash #!/bin/bash
SCRIPT_REPO="https://git.savannah.gnu.org/git/libiconv.git" # https://ftp.gnu.org/gnu/libiconv/
SCRIPT_COMMIT="6e2b31f6d66739c5abd850338ea68c6bd2012812" ICONV_SRC="https://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.16.tar.gz"
ffbuild_enabled() { ffbuild_enabled() {
return 0 return 0
} }
ffbuild_dockerdl() {
to_df "RUN retry-tool sh -c \"rm -rf $SELF && git clone '$SCRIPT_REPO' $SELF\" && git -C $SELF checkout \"$SCRIPT_COMMIT\""
to_df "RUN cd $SELF && retry-tool ./autopull.sh --one-time"
}
ffbuild_dockerbuild() { ffbuild_dockerbuild() {
cd "$FFBUILD_DLDIR/$SELF" wget -O iconv.tar.gz "$ICONV_SRC"
tar xaf iconv.tar.gz
(unset CC CFLAGS GMAKE && ./autogen.sh) rm iconv.tar.gz
cd libiconv*
local myconf=( local myconf=(
--prefix="$FFBUILD_PREFIX" --prefix="$FFBUILD_PREFIX"

View file

@ -1,14 +1,15 @@
#!/bin/bash #!/bin/bash
SCRIPT_REPO="https://gitlab.gnome.org/GNOME/libxml2.git" LIBXML2_REPO="https://gitlab.gnome.org/GNOME/libxml2.git"
SCRIPT_COMMIT="884474477284474e0151280aaa275a18e3d7a036" LIBXML2_COMMIT="dea91c97debeac7c1aaf9c19f79029809e23a353"
ffbuild_enabled() { ffbuild_enabled() {
return 0 return 0
} }
ffbuild_dockerbuild() { ffbuild_dockerbuild() {
cd "$FFBUILD_DLDIR/$SELF" git-mini-clone "$LIBXML2_REPO" "$LIBXML2_COMMIT" libxml2
cd libxml2
local myconf=( local myconf=(
--prefix="$FFBUILD_PREFIX" --prefix="$FFBUILD_PREFIX"

View file

@ -1,14 +1,19 @@
#!/bin/bash #!/bin/bash
SCRIPT_REPO="https://github.com/madler/zlib.git" ZLIB_SRC="https://zlib.net/zlib-1.2.11.tar.gz"
SCRIPT_COMMIT="04f42ceca40f73e2978b50e93806c2a18c1281fc"
ffbuild_enabled() { ffbuild_enabled() {
return 0 return 0
} }
ffbuild_dockerbuild() { ffbuild_dockerbuild() {
cd "$FFBUILD_DLDIR/$SELF" mkdir zlib
cd zlib
wget "$ZLIB_SRC" -O zlib.tar.gz
tar xaf zlib.tar.gz
rm zlib.tar.gz
cd zlib*
local myconf=( local myconf=(
--prefix="$FFBUILD_PREFIX" --prefix="$FFBUILD_PREFIX"

View file

@ -1,36 +1,38 @@
#!/bin/bash #!/bin/bash
SCRIPT_REPO="https://github.com/FFTW/fftw3.git" # http://fftw.org/download.html
SCRIPT_COMMIT="69f6c1a6ebd7ac5af33e7074134fb79fbc729c3d" FFTW3_SRC="https://fftw.org/fftw-3.3.10.tar.gz"
FFTW3_SHA512="2d34b5ccac7b08740dbdacc6ebe451d8a34cf9d9bfec85a5e776e87adf94abfd803c222412d8e10fbaa4ed46f504aa87180396af1b108666cde4314a55610b40"
ffbuild_enabled() { ffbuild_enabled() {
# Dependency of GPL-Only librubberband
[[ $VARIANT == lgpl* ]] && return -1
return 0 return 0
} }
ffbuild_dockerbuild() { ffbuild_dockerbuild() {
cd "$FFBUILD_DLDIR/$SELF" mkdir fftw3
cd fftw3
check-wget fftw3.tar.gz "$FFTW3_SRC" "$FFTW3_SHA512"
tar xaf fftw3.tar.gz
rm fftw3.tar.gz
cd fftw*
local myconf=( local myconf=(
--prefix="$FFBUILD_PREFIX" --prefix="$FFBUILD_PREFIX"
--enable-maintainer-mode
--disable-shared --disable-shared
--enable-static --enable-static
--disable-fortran
--disable-doc --disable-doc
--with-our-malloc --with-our-malloc
--enable-threads --enable-threads
--with-combined-threads --with-combined-threads
--with-incoming-stack-boundary=2 --with-incoming-stack-boundary=2
--enable-sse2
--enable-avx
--enable-avx2
) )
if [[ $TARGET != *arm64 ]]; then
myconf+=(
--enable-sse2
--enable-avx
--enable-avx2
)
fi
if [[ $TARGET == win* || $TARGET == linux* ]]; then if [[ $TARGET == win* || $TARGET == linux* ]]; then
myconf+=( myconf+=(
--host="$FFBUILD_TOOLCHAIN" --host="$FFBUILD_TOOLCHAIN"
@ -40,7 +42,7 @@ ffbuild_dockerbuild() {
return -1 return -1
fi fi
./bootstrap.sh "${myconf[@]}" ./configure "${myconf[@]}"
make -j$(nproc) make -j$(nproc)
make install make install
} }

View file

@ -1,16 +1,19 @@
#!/bin/bash #!/bin/bash
SCRIPT_REPO="https://gitlab.freedesktop.org/freetype/freetype.git" # https://sourceforge.net/projects/freetype/files/freetype2/
SCRIPT_COMMIT="dec2743e6a2a40cddfc8a9892895cb4f861e1eeb" FREETYPE_SRC="https://sourceforge.net/projects/freetype/files/freetype2/2.11.0/freetype-2.11.0.tar.xz/download"
ffbuild_enabled() { ffbuild_enabled() {
return 0 return 0
} }
ffbuild_dockerbuild() { ffbuild_dockerbuild() {
cd "$FFBUILD_DLDIR/$SELF" mkdir ft
cd ft
./autogen.sh wget -O ft.tar.gz "$FREETYPE_SRC"
tar xaf ft.tar.gz
rm ft.tar.gz
cd freetype*
local myconf=( local myconf=(
--prefix="$FFBUILD_PREFIX" --prefix="$FFBUILD_PREFIX"

View file

@ -1,14 +1,15 @@
#!/bin/bash #!/bin/bash
SCRIPT_REPO="https://github.com/fribidi/fribidi.git" FRIBIDI_REPO="https://github.com/fribidi/fribidi.git"
SCRIPT_COMMIT="b54871c339dabb7434718da3fed2fa63320997e5" FRIBIDI_COMMIT="9ca69d112678832f3b734cc8e399583bb12de02d"
ffbuild_enabled() { ffbuild_enabled() {
return 0 return 0
} }
ffbuild_dockerbuild() { ffbuild_dockerbuild() {
cd "$FFBUILD_DLDIR/$SELF" git-mini-clone "$FRIBIDI_REPO" "$FRIBIDI_COMMIT" fribidi
cd fribidi
mkdir build && cd build mkdir build && cd build

View file

@ -1,23 +1,23 @@
#!/bin/bash #!/bin/bash
SCRIPT_REPO="https://github.com/BtbN/gmplib.git" GMP_SRC="https://ftp.gnu.org/gnu/gmp/gmp-6.2.1.tar.xz"
SCRIPT_COMMIT="1d7f62515fc8f5109fabace9592d863417f17c37"
ffbuild_enabled() { ffbuild_enabled() {
return 0 return 0
} }
ffbuild_dockerbuild() { ffbuild_dockerbuild() {
cd "$FFBUILD_DLDIR/$SELF" wget "$GMP_SRC" -O gmp.tar.xz
tar xaf gmp.tar.xz
rm gmp.tar.xz
cd gmp*
./.bootstrap autoreconf -i
local myconf=( local myconf=(
--prefix="$FFBUILD_PREFIX" --prefix="$FFBUILD_PREFIX"
--enable-maintainer-mode
--disable-shared --disable-shared
--enable-static --enable-static
--with-pic
) )
if [[ $TARGET == win* || $TARGET == linux* ]]; then if [[ $TARGET == win* || $TARGET == linux* ]]; then

View file

@ -1,14 +1,15 @@
#!/bin/bash #!/bin/bash
SCRIPT_REPO="https://github.com/xiph/ogg.git" OGG_REPO="https://github.com/xiph/ogg.git"
SCRIPT_COMMIT="db5c7a49ce7ebda47b15b78471e78fb7f2483e22" OGG_COMMIT="3069cc2bb44160982cdb21b2b8f0660c76b17572"
ffbuild_enabled() { ffbuild_enabled() {
return 0 return 0
} }
ffbuild_dockerbuild() { ffbuild_dockerbuild() {
cd "$FFBUILD_DLDIR/$SELF" git-mini-clone "$OGG_REPO" "$OGG_COMMIT" ogg
cd ogg
./autogen.sh ./autogen.sh

View file

@ -1,20 +1,15 @@
#!/bin/bash #!/bin/bash
SCRIPT_REPO="https://github.com/openssl/openssl.git" OPENSSL_REPO="https://github.com/openssl/openssl.git"
SCRIPT_COMMIT="openssl-3.0.9" OPENSSL_COMMIT="OpenSSL_1_1_1l"
SCRIPT_TAGFILTER="openssl-3.0.*"
ffbuild_enabled() { ffbuild_enabled() {
return 0 return 0
} }
ffbuild_dockerdl() {
default_dl "$SELF"
to_df "RUN git -C \"$SELF\" submodule update --init --recursive --depth=1"
}
ffbuild_dockerbuild() { ffbuild_dockerbuild() {
cd "$FFBUILD_DLDIR/$SELF" git-mini-clone "$OPENSSL_REPO" "$OPENSSL_COMMIT" openssl
cd openssl
local myconf=( local myconf=(
threads threads
@ -24,7 +19,6 @@ ffbuild_dockerbuild() {
enable-ec enable-ec
enable-srp enable-srp
--prefix="$FFBUILD_PREFIX" --prefix="$FFBUILD_PREFIX"
--libdir=lib
) )
if [[ $TARGET == win64 ]]; then if [[ $TARGET == win64 ]]; then
@ -42,34 +36,15 @@ ffbuild_dockerbuild() {
--cross-compile-prefix="$FFBUILD_CROSS_PREFIX" --cross-compile-prefix="$FFBUILD_CROSS_PREFIX"
linux-x86_64 linux-x86_64
) )
elif [[ $TARGET == linuxarm64 ]]; then
myconf+=(
--cross-compile-prefix="$FFBUILD_CROSS_PREFIX"
linux-aarch64
)
else else
echo "Unknown target" echo "Unknown target"
return -1 return -1
fi fi
export CFLAGS="$CFLAGS -fno-strict-aliasing"
export CXXFLAGS="$CXXFLAGS -fno-strict-aliasing"
# OpenSSL build system prepends the cross prefix itself
export CC="${CC/${FFBUILD_CROSS_PREFIX}/}"
export CXX="${CXX/${FFBUILD_CROSS_PREFIX}/}"
export AR="${AR/${FFBUILD_CROSS_PREFIX}/}"
export RANLIB="${RANLIB/${FFBUILD_CROSS_PREFIX}/}"
./Configure "${myconf[@]}" ./Configure "${myconf[@]}"
sed -i -e "/^CFLAGS=/s|=.*|=${CFLAGS}|" -e "/^LDFLAGS=/s|=[[:space:]]*$|=${LDFLAGS}|" Makefile sed -i -e "/^CFLAGS=/s|=.*|=${CFLAGS}|" -e "/^LDFLAGS=/s|=[[:space:]]*$|=${LDFLAGS}|" Makefile
make -j$(nproc) build_sw make -j$(nproc)
make install_sw make install_sw
} }
ffbuild_configure() {
[[ $TARGET == win* ]] && return 0
echo --enable-openssl
}

View file

@ -1,20 +1,22 @@
#!/bin/bash #!/bin/bash
SCRIPT_REPO="https://github.com/xz-mirror/xz.git" XZ_SRC="https://sourceforge.net/projects/lzmautils/files/xz-5.2.5.tar.xz/download"
SCRIPT_COMMIT="66bdcfa85fef2911cc80f5f30fed3f9610faccb4"
ffbuild_enabled() { ffbuild_enabled() {
return 0 return 0
} }
ffbuild_dockerbuild() { ffbuild_dockerbuild() {
cd "$FFBUILD_DLDIR/$SELF" mkdir xz
cd xz
./autogen.sh --no-po4a --no-doxygen wget "$XZ_SRC" -O xz.tar.xz
tar xaf xz.tar.xz
rm xz.tar.xz
cd xz*
local myconf=( local myconf=(
--prefix="$FFBUILD_PREFIX" --prefix="$FFBUILD_PREFIX"
--disable-symbol-versions
--disable-shared --disable-shared
--enable-static --enable-static
--with-pic --with-pic

View file

@ -1,16 +1,19 @@
#!/bin/bash #!/bin/bash
SCRIPT_REPO="https://gitlab.freedesktop.org/fontconfig/fontconfig.git" FONTCONFIG_SRC="https://www.freedesktop.org/software/fontconfig/release/fontconfig-2.13.94.tar.xz"
SCRIPT_COMMIT="7e2a1b2577e8d90ea5be3f14091e809ac7742438"
ffbuild_enabled() { ffbuild_enabled() {
return 0 return 0
} }
ffbuild_dockerbuild() { ffbuild_dockerbuild() {
cd "$FFBUILD_DLDIR/$SELF" mkdir fc
cd fc
./autogen.sh --noconf wget "$FONTCONFIG_SRC" -O fc.tar.gz
tar xaf fc.tar.gz
rm fc.tar.gz
cd fontconfig*
local myconf=( local myconf=(
--prefix="$FFBUILD_PREFIX" --prefix="$FFBUILD_PREFIX"
@ -21,13 +24,7 @@ ffbuild_dockerbuild() {
--enable-static --enable-static
) )
if [[ $TARGET == linux* ]]; then if [[ $TARGET == win* || $TARGET == linux* ]]; then
myconf+=(
--sysconfdir=/etc
--localstatedir=/var
--host="$FFBUILD_TOOLCHAIN"
)
elif [[ $TARGET == win* ]]; then
myconf+=( myconf+=(
--host="$FFBUILD_TOOLCHAIN" --host="$FFBUILD_TOOLCHAIN"
) )

View file

@ -1,14 +1,15 @@
#!/bin/bash #!/bin/bash
SCRIPT_REPO="https://github.com/harfbuzz/harfbuzz.git" HARFBUZZ_REPO="https://github.com/harfbuzz/harfbuzz.git"
SCRIPT_COMMIT="73ee9c346f3acccbe14a4caf258b636de7c459be" HARFBUZZ_COMMIT="85deddb16ee6b00b0c921998e1d93c84002f5a42"
ffbuild_enabled() { ffbuild_enabled() {
return 0 return 0
} }
ffbuild_dockerbuild() { ffbuild_dockerbuild() {
cd "$FFBUILD_DLDIR/$SELF" git-mini-clone "$HARFBUZZ_REPO" "$HARFBUZZ_COMMIT" harfbuzz
cd harfbuzz
local myconf=( local myconf=(
--prefix="$FFBUILD_PREFIX" --prefix="$FFBUILD_PREFIX"

View file

@ -1,14 +1,17 @@
#!/bin/bash #!/bin/bash
SCRIPT_REPO="https://github.com/libsndfile/libsamplerate.git" LIBSR_REPO="https://github.com/libsndfile/libsamplerate.git"
SCRIPT_COMMIT="22bd06eb114850ebe31981eb794d150a95439fef" LIBSR_COMMIT="c96f5e3de9c4488f4e6c97f59f5245f22fda22f7"
ffbuild_enabled() { ffbuild_enabled() {
# Dependency of GPL-Only librubberband
[[ $VARIANT == lgpl* ]] && return -1
return 0 return 0
} }
ffbuild_dockerbuild() { ffbuild_dockerbuild() {
cd "$FFBUILD_DLDIR/$SELF" git-mini-clone "$LIBSR_REPO" "$LIBSR_COMMIT" libsr
cd libsr
mkdir build mkdir build
cd build cd build

View file

@ -1,14 +1,15 @@
#!/bin/bash #!/bin/bash
SCRIPT_REPO="https://code.videolan.org/videolan/libudfread.git" LIBUDFREAD_REPO="https://code.videolan.org/videolan/libudfread.git"
SCRIPT_COMMIT="b3e6936a23f8af30a0be63d88f4695bdc0ea26e1" LIBUDFREAD_COMMIT="b3e6936a23f8af30a0be63d88f4695bdc0ea26e1"
ffbuild_enabled() { ffbuild_enabled() {
return 0 return 0
} }
ffbuild_dockerbuild() { ffbuild_dockerbuild() {
cd "$FFBUILD_DLDIR/$SELF" git-mini-clone "$LIBUDFREAD_REPO" "$LIBUDFREAD_COMMIT" libudfread
cd libudfread
./bootstrap ./bootstrap

View file

@ -1,14 +1,15 @@
#!/bin/bash #!/bin/bash
SCRIPT_REPO="https://github.com/xiph/vorbis.git" VORBIS_REPO="https://github.com/xiph/vorbis.git"
SCRIPT_COMMIT="84c023699cdf023a32fa4ded32019f194afcdad0" VORBIS_COMMIT="84c023699cdf023a32fa4ded32019f194afcdad0"
ffbuild_enabled() { ffbuild_enabled() {
return 0 return 0
} }
ffbuild_dockerbuild() { ffbuild_dockerbuild() {
cd "$FFBUILD_DLDIR/$SELF" git-mini-clone "$VORBIS_REPO" "$VORBIS_COMMIT" vorbis
cd vorbis
./autogen.sh ./autogen.sh

View file

@ -1,33 +1,28 @@
#!/bin/bash #!/bin/bash
SCRIPT_REPO="https://github.com/KhronosGroup/OpenCL-Headers.git" HEADERS_REPO="https://github.com/KhronosGroup/OpenCL-Headers.git"
SCRIPT_COMMIT="e049b16b5f157e2f28e7b5c301e71e1ccb3fe288" HEADERS_COMMIT="447efd3be3169fa0ef37fa481241d7b261a02412"
SCRIPT_REPO2="https://github.com/KhronosGroup/OpenCL-ICD-Loader.git" LOADER_REPO="https://github.com/KhronosGroup/OpenCL-ICD-Loader.git"
SCRIPT_COMMIT2="229410f86a8c8c9e0f86f195409e5481a2bae067" LOADER_COMMIT="4e65bd5db0a0a87637fddc081a70d537fc2a9e70"
ffbuild_enabled() { ffbuild_enabled() {
return 0 return 0
} }
ffbuild_dockerdl() {
default_dl opencl/headers
to_df "RUN git-mini-clone \"$SCRIPT_REPO2\" \"$SCRIPT_COMMIT2\" opencl/loader"
}
ffbuild_dockerbuild() { ffbuild_dockerbuild() {
cd "$FFBUILD_DLDIR"/opencl mkdir opencl && cd opencl
git-mini-clone "$HEADERS_REPO" "$HEADERS_COMMIT" headers
mkdir -p "$FFBUILD_PREFIX"/include/CL mkdir -p "$FFBUILD_PREFIX"/include/CL
cp -r headers/CL/* "$FFBUILD_PREFIX"/include/CL/. cp -r headers/CL/* "$FFBUILD_PREFIX"/include/CL/.
git-mini-clone "$LOADER_REPO" "$LOADER_COMMIT" loader
cd loader cd loader
mkdir build && cd build mkdir build && cd build
cmake -DCMAKE_TOOLCHAIN_FILE="$FFBUILD_CMAKE_TOOLCHAIN" -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX="$FFBUILD_PREFIX" \ cmake -DCMAKE_TOOLCHAIN_FILE="$FFBUILD_CMAKE_TOOLCHAIN" -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX="$FFBUILD_PREFIX" -DOPENCL_ICD_LOADER_HEADERS_DIR="$FFBUILD_PREFIX"/include -DBUILD_SHARED_LIBS=OFF -DOPENCL_ICD_LOADER_DISABLE_OPENCLON12=ON -DOPENCL_ICD_LOADER_PIC=ON -DOPENCL_ICD_LOADER_BUILD_TESTING=OFF ..
-DOPENCL_ICD_LOADER_HEADERS_DIR="$FFBUILD_PREFIX"/include -DOPENCL_ICD_LOADER_BUILD_SHARED_LIBS=OFF \
-DOPENCL_ICD_LOADER_DISABLE_OPENCLON12=ON -DOPENCL_ICD_LOADER_PIC=ON \
-DOPENCL_ICD_LOADER_BUILD_TESTING=OFF -DBUILD_TESTING=OFF ..
make -j$(nproc) make -j$(nproc)
make install make install
@ -39,13 +34,12 @@ ffbuild_dockerbuild() {
echo "Name: OpenCL" >> OpenCL.pc echo "Name: OpenCL" >> OpenCL.pc
echo "Description: OpenCL ICD Loader" >> OpenCL.pc echo "Description: OpenCL ICD Loader" >> OpenCL.pc
echo "Version: 9999" >> OpenCL.pc echo "Version: 9999" >> OpenCL.pc
echo "Libs: -L\${libdir} -lOpenCL" >> OpenCL.pc
echo "Cflags: -I\${includedir}" >> OpenCL.pc echo "Cflags: -I\${includedir}" >> OpenCL.pc
if [[ $TARGET == linux* ]]; then if [[ $TARGET == linux* ]]; then
echo "Libs: -L\${libdir} -lOpenCL" >> OpenCL.pc
echo "Libs.private: -ldl" >> OpenCL.pc echo "Libs.private: -ldl" >> OpenCL.pc
elif [[ $TARGET == win* ]]; then elif [[ $TARGET == win* ]]; then
echo "Libs: -L\${libdir} -l:OpenCL.a" >> OpenCL.pc
echo "Libs.private: -lole32 -lshlwapi -lcfgmgr32" >> OpenCL.pc echo "Libs.private: -lole32 -lshlwapi -lcfgmgr32" >> OpenCL.pc
fi fi

View file

@ -1,66 +0,0 @@
#!/bin/bash
SCRIPT_REPO="https://gitlab.freedesktop.org/pulseaudio/pulseaudio.git"
SCRIPT_COMMIT="e96d278bfc514f290b60c9e924fabc1c772e1689"
ffbuild_enabled() {
[[ $TARGET == linux* ]] || return 1
return 0
}
ffbuild_dockerdl() {
to_df "RUN git clone --filter=blob:none \"$SCRIPT_REPO\" \"$SELF\" && git -C \"$SELF\" checkout \"$SCRIPT_COMMIT\""
}
ffbuild_dockerbuild() {
cd "$FFBUILD_DLDIR/$SELF"
# Kill build of utils and their sndfile dep
echo > src/utils/meson.build
echo > src/pulsecore/sndfile-util.c
echo > src/pulsecore/sndfile-util.h
sed -ri -e 's/(sndfile_dep = .*)\)/\1, required : false)/' meson.build
sed -ri -e 's/shared_library/library/g' src/meson.build src/pulse/meson.build
mkdir build && cd build
local myconf=(
--prefix="$FFBUILD_PREFIX"
--buildtype=release
--default-library=static
-Ddaemon=false
-Dclient=true
-Ddoxygen=false
-Dgcov=false
-Dman=false
-Dtests=false
-Dipv6=true
-Dopenssl=enabled
)
if [[ $TARGET == linux* ]]; then
myconf+=(
--cross-file=/cross.meson
)
else
echo "Unknown target"
return -1
fi
meson "${myconf[@]}" ..
ninja -j"$(nproc)"
ninja install
rm -r "$FFBUILD_PREFIX"/share
echo "Libs.private: -ldl -lrt" >> "$FFBUILD_PREFIX"/lib/pkgconfig/libpulse.pc
echo "Libs.private: -ldl -lrt" >> "$FFBUILD_PREFIX"/lib/pkgconfig/libpulse-simple.pc
}
ffbuild_configure() {
echo --enable-libpulse
}
ffbuild_unconfigure() {
echo --disable-libpulse
}

View file

@ -1,14 +1,15 @@
#!/bin/bash #!/bin/bash
SCRIPT_REPO="https://github.com/Netflix/vmaf.git" VMAF_REPO="https://github.com/Netflix/vmaf.git"
SCRIPT_COMMIT="98bdd77b296da207ab42c3113ec8f30de58db197" VMAF_COMMIT="8f24c9ec82f9bb82d7f4eff22b290ab48f3e210f"
ffbuild_enabled() { ffbuild_enabled() {
return 0 return 0
} }
ffbuild_dockerbuild() { ffbuild_dockerbuild() {
cd "$FFBUILD_DLDIR/$SELF" git-mini-clone "$VMAF_REPO" "$VMAF_COMMIT" vmaf
cd vmaf
# Kill build of unused and broken tools # Kill build of unused and broken tools
echo > libvmaf/tools/meson.build echo > libvmaf/tools/meson.build

View file

@ -1,7 +1,7 @@
#!/bin/bash #!/bin/bash
SCRIPT_REPO="https://gitlab.freedesktop.org/xorg/proto/xcbproto.git" XCBPROTO_REPO="https://gitlab.freedesktop.org/xorg/proto/xcbproto.git"
SCRIPT_COMMIT="91178913c25b19e0457cdf6d21e00e6a613823e2" XCBPROTO_COMMIT="c9be9015959f3d3830d847db44d39c5d21ba55b6"
ffbuild_enabled() { ffbuild_enabled() {
[[ $TARGET != linux* ]] && return -1 [[ $TARGET != linux* ]] && return -1
@ -9,7 +9,8 @@ ffbuild_enabled() {
} }
ffbuild_dockerbuild() { ffbuild_dockerbuild() {
cd "$FFBUILD_DLDIR/$SELF" git-mini-clone "$XCBPROTO_REPO" "$XCBPROTO_COMMIT" xcbproto
cd xcbproto
autoreconf -i autoreconf -i

View file

@ -1,7 +1,7 @@
#!/bin/bash #!/bin/bash
SCRIPT_REPO="https://gitlab.freedesktop.org/xorg/proto/xorgproto.git" XPROTO_REPO="https://gitlab.freedesktop.org/xorg/proto/xorgproto.git"
SCRIPT_COMMIT="766967322209f2dcb72e6a8edea0c651f586201d" XPROTO_COMMIT="57acac1d4c7967f4661fb1c9f86f48f34a46c48d"
ffbuild_enabled() { ffbuild_enabled() {
[[ $TARGET != linux* ]] && return -1 [[ $TARGET != linux* ]] && return -1
@ -9,7 +9,8 @@ ffbuild_enabled() {
} }
ffbuild_dockerbuild() { ffbuild_dockerbuild() {
cd "$FFBUILD_DLDIR/$SELF" git-mini-clone "$XPROTO_REPO" "$XPROTO_COMMIT" xproto
cd xproto
autoreconf -i autoreconf -i

View file

@ -1,7 +1,7 @@
#!/bin/bash #!/bin/bash
SCRIPT_REPO="https://gitlab.freedesktop.org/xorg/lib/libxtrans.git" LIBXTRANS_REPO="https://gitlab.freedesktop.org/xorg/lib/libxtrans.git"
SCRIPT_COMMIT="3b3a3bd75d86aec78f6ef893b198c3efc378bc64" LIBXTRANS_COMMIT="3b5df889f58a99980a35a7b4a18eb4e7d2abeac4"
ffbuild_enabled() { ffbuild_enabled() {
[[ $TARGET != linux* ]] && return -1 [[ $TARGET != linux* ]] && return -1
@ -9,7 +9,8 @@ ffbuild_enabled() {
} }
ffbuild_dockerbuild() { ffbuild_dockerbuild() {
cd "$FFBUILD_DLDIR/$SELF" git-mini-clone "$LIBXTRANS_REPO" "$LIBXTRANS_COMMIT" libxtrans
cd libxtrans
autoreconf -i autoreconf -i

View file

@ -1,7 +1,7 @@
#!/bin/bash #!/bin/bash
SCRIPT_REPO="https://gitlab.freedesktop.org/xorg/lib/libxau.git" LIBXAU_REPO="https://gitlab.freedesktop.org/xorg/lib/libxau.git"
SCRIPT_COMMIT="df1bf4fe528a5a9eef420f78efb225e4696ac467" LIBXAU_COMMIT="d9443b2c57b512cfb250b35707378654d86c7dea"
ffbuild_enabled() { ffbuild_enabled() {
[[ $TARGET != linux* ]] && return -1 [[ $TARGET != linux* ]] && return -1
@ -9,14 +9,15 @@ ffbuild_enabled() {
} }
ffbuild_dockerbuild() { ffbuild_dockerbuild() {
cd "$FFBUILD_DLDIR/$SELF" git-mini-clone "$LIBXAU_REPO" "$LIBXAU_COMMIT" libxau
cd libxau
autoreconf -i autoreconf -i
local myconf=( local myconf=(
--prefix="$FFBUILD_PREFIX" --prefix="$FFBUILD_PREFIX"
--enable-shared --disable-shared
--disable-static --enable-static
--with-pic --with-pic
) )
@ -29,13 +30,7 @@ ffbuild_dockerbuild() {
return -1 return -1
fi fi
export CFLAGS="$RAW_CFLAGS"
export LDFLAFS="$RAW_LDFLAGS"
./configure "${myconf[@]}" ./configure "${myconf[@]}"
make -j$(nproc) make -j$(nproc)
make install make install
gen-implib "$FFBUILD_PREFIX"/lib/{libXau.so.6,libXau.a}
rm "$FFBUILD_PREFIX"/lib/libXau{.so*,.la}
} }

View file

@ -1,7 +1,7 @@
#!/bin/bash #!/bin/bash
SCRIPT_REPO="https://gitlab.freedesktop.org/xorg/lib/libxcb.git" LIBXCB_REPO="https://gitlab.freedesktop.org/xorg/lib/libxcb.git"
SCRIPT_COMMIT="8935793f1f3751a6aa9d78955c7d6236177986de" LIBXCB_COMMIT="233d7b7f1f03ef18bf3955eb1f20421e745d22f0"
ffbuild_enabled() { ffbuild_enabled() {
[[ $TARGET != linux* ]] && return -1 [[ $TARGET != linux* ]] && return -1
@ -9,14 +9,15 @@ ffbuild_enabled() {
} }
ffbuild_dockerbuild() { ffbuild_dockerbuild() {
cd "$FFBUILD_DLDIR/$SELF" git-mini-clone "$LIBXCB_REPO" "$LIBXCB_COMMIT" libxcb
cd libxcb
autoreconf -i autoreconf -i
local myconf=( local myconf=(
--prefix="$FFBUILD_PREFIX" --prefix="$FFBUILD_PREFIX"
--enable-shared --disable-shared
--disable-static --enable-static
--with-pic --with-pic
--disable-devel-docs --disable-devel-docs
) )
@ -30,17 +31,9 @@ ffbuild_dockerbuild() {
return -1 return -1
fi fi
export CFLAGS="$RAW_CFLAGS"
export LDFLAFS="$RAW_LDFLAGS"
./configure "${myconf[@]}" ./configure "${myconf[@]}"
make -j$(nproc) make -j$(nproc)
make install make install
for LIBNAME in "$FFBUILD_PREFIX"/lib/libxcb*.so.?; do
gen-implib "$LIBNAME" "${LIBNAME%%.*}.a"
rm "${LIBNAME%%.*}"{.so*,.la}
done
} }
ffbuild_configure() { ffbuild_configure() {

View file

@ -1,7 +1,7 @@
#!/bin/bash #!/bin/bash
SCRIPT_REPO="https://gitlab.freedesktop.org/xorg/lib/libx11.git" LIBX11_REPO="https://gitlab.freedesktop.org/xorg/lib/libx11.git"
SCRIPT_COMMIT="af2b6dfab1616dc85be9c9b196e4c56d00447851" LIBX11_COMMIT="2356e59ff24f8d1b25cdc4dffc5171c65dc2b86e"
ffbuild_enabled() { ffbuild_enabled() {
[[ $TARGET != linux* ]] && return -1 [[ $TARGET != linux* ]] && return -1
@ -9,14 +9,15 @@ ffbuild_enabled() {
} }
ffbuild_dockerbuild() { ffbuild_dockerbuild() {
cd "$FFBUILD_DLDIR/$SELF" git-mini-clone "$LIBX11_REPO" "$LIBX11_COMMIT" libx11
cd libx11
autoreconf -i autoreconf -i
local myconf=( local myconf=(
--prefix="$FFBUILD_PREFIX" --prefix="$FFBUILD_PREFIX"
--enable-shared --disable-shared
--disable-static --enable-static
--with-pic --with-pic
--without-xmlto --without-xmlto
--without-fop --without-fop
@ -26,12 +27,6 @@ ffbuild_dockerbuild() {
--enable-ipv6 --enable-ipv6
) )
if [[ $TARGET == linuxarm64 ]]; then
myconf+=(
--disable-malloc0returnsnull
)
fi
if [[ $TARGET == linux* ]]; then if [[ $TARGET == linux* ]]; then
myconf+=( myconf+=(
--host="$FFBUILD_TOOLCHAIN" --host="$FFBUILD_TOOLCHAIN"
@ -41,16 +36,9 @@ ffbuild_dockerbuild() {
return -1 return -1
fi fi
export CFLAGS="$RAW_CFLAGS"
export LDFLAFS="$RAW_LDFLAGS"
./configure "${myconf[@]}" ./configure "${myconf[@]}"
make -j$(nproc) make -j$(nproc)
make install make install
echo "Libs: -ldl" >> "$FFBUILD_PREFIX"/lib/pkgconfig/x11.pc echo "Libs.private: -ldl" >> "$FFBUILD_PREFIX"/lib/pkgconfig/x11.pc
gen-implib "$FFBUILD_PREFIX"/lib/{libX11-xcb.so.1,libX11-xcb.a}
gen-implib "$FFBUILD_PREFIX"/lib/{libX11.so.6,libX11.a}
rm "$FFBUILD_PREFIX"/lib/libX11{,-xcb}{.so*,.la}
} }

View file

@ -1,7 +1,7 @@
#!/bin/bash #!/bin/bash
SCRIPT_REPO="https://gitlab.freedesktop.org/xorg/lib/libxext.git" LIBXEXT_REPO="https://gitlab.freedesktop.org/xorg/lib/libxext.git"
SCRIPT_COMMIT="de2ebd62c1eb8fe16c11aceac4a6981bda124cf4" LIBXEXT_COMMIT="47904063048fa6ef6e8e16219ddef4d14d5d9a4b"
ffbuild_enabled() { ffbuild_enabled() {
[[ $TARGET != linux* ]] && return -1 [[ $TARGET != linux* ]] && return -1
@ -9,14 +9,15 @@ ffbuild_enabled() {
} }
ffbuild_dockerbuild() { ffbuild_dockerbuild() {
cd "$FFBUILD_DLDIR/$SELF" git-mini-clone "$LIBXEXT_REPO" "$LIBXEXT_COMMIT" libxext
cd libxext
autoreconf -i autoreconf -i
local myconf=( local myconf=(
--prefix="$FFBUILD_PREFIX" --prefix="$FFBUILD_PREFIX"
--enable-shared --disable-shared
--disable-static --enable-static
--with-pic --with-pic
--without-xmlto --without-xmlto
--without-fop --without-fop
@ -24,12 +25,6 @@ ffbuild_dockerbuild() {
--without-lint --without-lint
) )
if [[ $TARGET == linuxarm64 ]]; then
myconf+=(
--disable-malloc0returnsnull
)
fi
if [[ $TARGET == linux* ]]; then if [[ $TARGET == linux* ]]; then
myconf+=( myconf+=(
--host="$FFBUILD_TOOLCHAIN" --host="$FFBUILD_TOOLCHAIN"
@ -39,13 +34,7 @@ ffbuild_dockerbuild() {
return -1 return -1
fi fi
export CFLAGS="$RAW_CFLAGS -D_GNU_SOURCE"
export LDFLAFS="$RAW_LDFLAGS"
./configure "${myconf[@]}" ./configure "${myconf[@]}"
make -j$(nproc) make -j$(nproc)
make install make install
gen-implib "$FFBUILD_PREFIX"/lib/{libXext.so.6,libXext.a}
rm "$FFBUILD_PREFIX"/lib/libXext{.so*,.la}
} }

View file

@ -1,7 +1,7 @@
#!/bin/bash #!/bin/bash
SCRIPT_REPO="https://gitlab.freedesktop.org/xorg/lib/libxfixes.git" LIBXFIXES_REPO="https://gitlab.freedesktop.org/xorg/lib/libxfixes.git"
SCRIPT_COMMIT="c1cab28e27dd1c5a81394965248b57e490ccf2ca" LIBXFIXES_COMMIT="6fe3bd64dd82f704ed91478acb4c99ab5c00be16"
ffbuild_enabled() { ffbuild_enabled() {
[[ $TARGET != linux* ]] && return -1 [[ $TARGET != linux* ]] && return -1
@ -9,14 +9,15 @@ ffbuild_enabled() {
} }
ffbuild_dockerbuild() { ffbuild_dockerbuild() {
cd "$FFBUILD_DLDIR/$SELF" git-mini-clone "$LIBXFIXES_REPO" "$LIBXFIXES_COMMIT" libxfixes
cd libxfixes
autoreconf -i autoreconf -i
local myconf=( local myconf=(
--prefix="$FFBUILD_PREFIX" --prefix="$FFBUILD_PREFIX"
--enable-shared --disable-shared
--disable-static --enable-static
--with-pic --with-pic
) )
@ -29,13 +30,7 @@ ffbuild_dockerbuild() {
return -1 return -1
fi fi
export CFLAGS="$RAW_CFLAGS"
export LDFLAFS="$RAW_LDFLAGS"
./configure "${myconf[@]}" ./configure "${myconf[@]}"
make -j$(nproc) make -j$(nproc)
make install make install
gen-implib "$FFBUILD_PREFIX"/lib/{libXfixes.so.3,libXfixes.a}
rm "$FFBUILD_PREFIX"/lib/libXfixes{.so*,.la}
} }

View file

@ -1,47 +0,0 @@
#!/bin/bash
SCRIPT_REPO="https://gitlab.freedesktop.org/xorg/lib/libxi.git"
SCRIPT_COMMIT="3a7503ec7703f10de17c622ea22b7bff736cea74"
ffbuild_enabled() {
[[ $TARGET != linux* ]] && return -1
return 0
}
ffbuild_dockerbuild() {
cd "$FFBUILD_DLDIR/$SELF"
autoreconf -i
local myconf=(
--prefix="$FFBUILD_PREFIX"
--enable-shared
--disable-static
--with-pic
)
if [[ $TARGET == linuxarm64 ]]; then
myconf+=(
--disable-malloc0returnsnull
)
fi
if [[ $TARGET == linux* ]]; then
myconf+=(
--host="$FFBUILD_TOOLCHAIN"
)
else
echo "Unknown target"
return -1
fi
export CFLAGS="$RAW_CFLAGS"
export LDFLAFS="$RAW_LDFLAGS"
./configure "${myconf[@]}"
make -j$(nproc)
make install
gen-implib "$FFBUILD_PREFIX"/lib/{libXi.so.6,libXi.a}
rm "$FFBUILD_PREFIX"/lib/libXi{.so*,.la}
}

View file

@ -1,47 +0,0 @@
#!/bin/bash
SCRIPT_REPO="https://gitlab.freedesktop.org/xorg/lib/libxinerama.git"
SCRIPT_COMMIT="51c28095951676a5896437c4c3aa40fb1972bad2"
ffbuild_enabled() {
[[ $TARGET != linux* ]] && return -1
return 0
}
ffbuild_dockerbuild() {
cd "$FFBUILD_DLDIR/$SELF"
autoreconf -i
local myconf=(
--prefix="$FFBUILD_PREFIX"
--enable-shared
--disable-static
--with-pic
)
if [[ $TARGET == linuxarm64 ]]; then
myconf+=(
--disable-malloc0returnsnull
)
fi
if [[ $TARGET == linux* ]]; then
myconf+=(
--host="$FFBUILD_TOOLCHAIN"
)
else
echo "Unknown target"
return -1
fi
export CFLAGS="$RAW_CFLAGS"
export LDFLAFS="$RAW_LDFLAGS"
./configure "${myconf[@]}"
make -j$(nproc)
make install
gen-implib "$FFBUILD_PREFIX"/lib/{libXinerama.so.1,libXinerama.a}
rm "$FFBUILD_PREFIX"/lib/libXinerama{.so*,.la}
}

View file

@ -1,47 +0,0 @@
#!/bin/bash
SCRIPT_REPO="https://gitlab.freedesktop.org/xorg/lib/libxrender.git"
SCRIPT_COMMIT="07efd80468f6b595e6432edd28b8560ca7695ba0"
ffbuild_enabled() {
[[ $TARGET != linux* ]] && return -1
return 0
}
ffbuild_dockerbuild() {
cd "$FFBUILD_DLDIR/$SELF"
autoreconf -i
local myconf=(
--prefix="$FFBUILD_PREFIX"
--enable-shared
--disable-static
--with-pic
)
if [[ $TARGET == linuxarm64 ]]; then
myconf+=(
--disable-malloc0returnsnull
)
fi
if [[ $TARGET == linux* ]]; then
myconf+=(
--host="$FFBUILD_TOOLCHAIN"
)
else
echo "Unknown target"
return -1
fi
export CFLAGS="$RAW_CFLAGS"
export LDFLAFS="$RAW_LDFLAGS"
./configure "${myconf[@]}"
make -j$(nproc)
make install
gen-implib "$FFBUILD_PREFIX"/lib/{libXrender.so.1,libXrender.a}
rm "$FFBUILD_PREFIX"/lib/libXrender{.so*,.la}
}

View file

@ -1,47 +0,0 @@
#!/bin/bash
SCRIPT_REPO="https://gitlab.freedesktop.org/xorg/lib/libxscrnsaver.git"
SCRIPT_COMMIT="9b4e000c6c4ae213a3e52345751d885543f17929"
ffbuild_enabled() {
[[ $TARGET != linux* ]] && return -1
return 0
}
ffbuild_dockerbuild() {
cd "$FFBUILD_DLDIR/$SELF"
autoreconf -i
local myconf=(
--prefix="$FFBUILD_PREFIX"
--enable-shared
--disable-static
--with-pic
)
if [[ $TARGET == linuxarm64 ]]; then
myconf+=(
--disable-malloc0returnsnull
)
fi
if [[ $TARGET == linux* ]]; then
myconf+=(
--host="$FFBUILD_TOOLCHAIN"
)
else
echo "Unknown target"
return -1
fi
export CFLAGS="$RAW_CFLAGS"
export LDFLAFS="$RAW_LDFLAGS"
./configure "${myconf[@]}"
make -j$(nproc)
make install
gen-implib "$FFBUILD_PREFIX"/lib/{libXss.so.1,libXss.a}
rm "$FFBUILD_PREFIX"/lib/libXss{.so*,.la}
}

View file

@ -1,47 +0,0 @@
#!/bin/bash
SCRIPT_REPO="https://gitlab.freedesktop.org/xorg/lib/libxxf86vm.git"
SCRIPT_COMMIT="cfda59347e3a04415340a99f925a9cd85c0531b2"
ffbuild_enabled() {
[[ $TARGET != linux* ]] && return -1
return 0
}
ffbuild_dockerbuild() {
cd "$FFBUILD_DLDIR/$SELF"
autoreconf -i
local myconf=(
--prefix="$FFBUILD_PREFIX"
--enable-shared
--disable-static
--with-pic
)
if [[ $TARGET == linuxarm64 ]]; then
myconf+=(
--disable-malloc0returnsnull
)
fi
if [[ $TARGET == linux* ]]; then
myconf+=(
--host="$FFBUILD_TOOLCHAIN"
)
else
echo "Unknown target"
return -1
fi
export CFLAGS="$RAW_CFLAGS"
export LDFLAFS="$RAW_LDFLAGS"
./configure "${myconf[@]}"
make -j$(nproc)
make install
gen-implib "$FFBUILD_PREFIX"/lib/{libXxf86vm.so.1,libXxf86vm.a}
rm "$FFBUILD_PREFIX"/lib/libXxf86vm{.so*,.la}
}

View file

@ -1,41 +0,0 @@
#!/bin/bash
SCRIPT_REPO="https://gitlab.freedesktop.org/glvnd/libglvnd.git"
SCRIPT_COMMIT="179d7278d7485ceea2d440807be9d677d32aedc4"
ffbuild_enabled() {
[[ $TARGET != linux* ]] && return -1
return 0
}
ffbuild_dockerbuild() {
cd "$FFBUILD_DLDIR/$SELF"
mkdir build && cd build
local myconf=(
--prefix="$FFBUILD_PREFIX"
--buildtype=release
--default-library=static
-Dasm=enabled
-Dx11=enabled
-Degl=true
-Dglx=enabled
-Dgles1=true
-Dgles2=true
-Dheaders=true
)
if [[ $TARGET == linux* ]]; then
myconf+=(
--cross-file=/cross.meson
)
else
echo "Unknown target"
return -1
fi
meson "${myconf[@]}" ..
ninja -j"$(nproc)"
ninja install
}

View file

@ -1,41 +0,0 @@
#!/bin/bash
SCRIPT_REPO="https://gitlab.freedesktop.org/xorg/lib/libxcursor.git"
SCRIPT_COMMIT="a353f02a7ac4504ad5edb5407278c7a03c507aef"
ffbuild_enabled() {
[[ $TARGET != linux* ]] && return -1
return 0
}
ffbuild_dockerbuild() {
cd "$FFBUILD_DLDIR/$SELF"
autoreconf -i
local myconf=(
--prefix="$FFBUILD_PREFIX"
--enable-shared
--disable-static
--with-pic
)
if [[ $TARGET == linux* ]]; then
myconf+=(
--host="$FFBUILD_TOOLCHAIN"
)
else
echo "Unknown target"
return -1
fi
export CFLAGS="$RAW_CFLAGS"
export LDFLAFS="$RAW_LDFLAGS"
./configure "${myconf[@]}"
make -j$(nproc)
make install
gen-implib "$FFBUILD_PREFIX"/lib/{libXcursor.so.1,libXcursor.a}
rm "$FFBUILD_PREFIX"/lib/libXcursor{.so*,.la}
}

View file

@ -1,47 +0,0 @@
#!/bin/bash
SCRIPT_REPO="https://gitlab.freedesktop.org/xorg/lib/libxrandr.git"
SCRIPT_COMMIT="5b96863cf2a34ee9e72ffc4ec6415bc59b6121fc"
ffbuild_enabled() {
[[ $TARGET != linux* ]] && return -1
return 0
}
ffbuild_dockerbuild() {
cd "$FFBUILD_DLDIR/$SELF"
autoreconf -i
local myconf=(
--prefix="$FFBUILD_PREFIX"
--enable-shared
--disable-static
--with-pic
)
if [[ $TARGET == linuxarm64 ]]; then
myconf+=(
--disable-malloc0returnsnull
)
fi
if [[ $TARGET == linux* ]]; then
myconf+=(
--host="$FFBUILD_TOOLCHAIN"
)
else
echo "Unknown target"
return -1
fi
export CFLAGS="$RAW_CFLAGS"
export LDFLAFS="$RAW_LDFLAGS"
./configure "${myconf[@]}"
make -j$(nproc)
make install
gen-implib "$FFBUILD_PREFIX"/lib/{libXrandr.so.2,libXrandr.a}
rm "$FFBUILD_PREFIX"/lib/libXrandr{.so*,.la}
}

View file

@ -1,7 +1,7 @@
#!/bin/bash #!/bin/bash
SCRIPT_REPO="https://gitlab.freedesktop.org/xorg/lib/libxv.git" LIBXV_REPO="https://gitlab.freedesktop.org/xorg/lib/libxv.git"
SCRIPT_COMMIT="b022c9cf7004fe6f794c4c00dd519a2e4c74eca0" LIBXV_COMMIT="03a6f599d060591a9a7cd8558bd2143a1c7c70d7"
ffbuild_enabled() { ffbuild_enabled() {
[[ $TARGET != linux* ]] && return -1 [[ $TARGET != linux* ]] && return -1
@ -10,24 +10,19 @@ ffbuild_enabled() {
} }
ffbuild_dockerbuild() { ffbuild_dockerbuild() {
cd "$FFBUILD_DLDIR/$SELF" git-mini-clone "$LIBXV_REPO" "$LIBXV_COMMIT" libxv
cd libxv
autoreconf -i autoreconf -i
local myconf=( local myconf=(
--prefix="$FFBUILD_PREFIX" --prefix="$FFBUILD_PREFIX"
--enable-shared --disable-shared
--disable-static --enable-static
--with-pic --with-pic
--without-lint --without-lint
) )
if [[ $TARGET == linuxarm64 ]]; then
myconf+=(
--disable-malloc0returnsnull
)
fi
if [[ $TARGET == linux* ]]; then if [[ $TARGET == linux* ]]; then
myconf+=( myconf+=(
--host="$FFBUILD_TOOLCHAIN" --host="$FFBUILD_TOOLCHAIN"
@ -37,15 +32,9 @@ ffbuild_dockerbuild() {
return -1 return -1
fi fi
export CFLAGS="$RAW_CFLAGS"
export LDFLAFS="$RAW_LDFLAGS"
./configure "${myconf[@]}" ./configure "${myconf[@]}"
make -j$(nproc) make -j$(nproc)
make install make install
gen-implib "$FFBUILD_PREFIX"/lib/{libXv.so.1,libXv.a}
rm "$FFBUILD_PREFIX"/lib/libXv{.so*,.la}
} }
ffbuild_configure() { ffbuild_configure() {

View file

@ -1,7 +1,5 @@
#!/bin/bash #!/bin/bash
SCRIPT_SKIP="1"
ffbuild_enabled() { ffbuild_enabled() {
[[ $TARGET != linux* ]] && return -1 [[ $TARGET != linux* ]] && return -1
return 0 return 0
@ -12,15 +10,6 @@ ffbuild_dockerlayer() {
to_df "COPY --from=${SELFLAYER} \$FFBUILD_PREFIX/share/aclocal/. /usr/share/aclocal" to_df "COPY --from=${SELFLAYER} \$FFBUILD_PREFIX/share/aclocal/. /usr/share/aclocal"
} }
ffbuild_dockerdl() {
return 0
}
ffbuild_dockerbuild() { ffbuild_dockerbuild() {
rm "$FFBUILD_PREFIX"/lib/lib*.so* || true true
rm "$FFBUILD_PREFIX"/lib/*.la || true
}
ffbuild_libs() {
echo -ldl
} }

View file

@ -1,14 +1,15 @@
#!/bin/bash #!/bin/bash
SCRIPT_REPO="https://github.com/GPUOpen-LibrariesAndSDKs/AMF.git" AMF_REPO="https://github.com/GPUOpen-LibrariesAndSDKs/AMF.git"
SCRIPT_COMMIT="68f2396f1a55a5b12767f5433411bb4093ea65ed" AMF_COMMIT="5359f7dba51107da19b7650e5d8a40a0f04ea6d9"
ffbuild_enabled() { ffbuild_enabled() {
return 0 return 0
} }
ffbuild_dockerbuild() { ffbuild_dockerbuild() {
cd "$FFBUILD_DLDIR/$SELF" git-mini-clone "$AMF_REPO" "$AMF_COMMIT" amf
cd amf
mkdir -p "$FFBUILD_PREFIX"/include mkdir -p "$FFBUILD_PREFIX"/include
mv amf/public/include "$FFBUILD_PREFIX"/include/AMF mv amf/public/include "$FFBUILD_PREFIX"/include/AMF

View file

@ -1,18 +1,19 @@
#!/bin/bash #!/bin/bash
SCRIPT_REPO="https://aomedia.googlesource.com/aom" AOM_REPO="https://aomedia.googlesource.com/aom"
SCRIPT_COMMIT="83ccc009eade321c8723ae0da8655fc68ce6a128" AOM_COMMIT="feb75d0bb2df222b9e23b8012e3f193aff7e1377"
ffbuild_enabled() { ffbuild_enabled() {
return 0 return 0
} }
ffbuild_dockerstage() { ffbuild_dockerstage() {
to_df "RUN --mount=src=${SELF},dst=/stage.sh --mount=src=/,dst=\$FFBUILD_DLDIR,from=${DL_IMAGE},rw --mount=src=patches/aom,dst=/patches run_stage /stage.sh" to_df "RUN --mount=src=${SELF},dst=/stage.sh --mount=src=patches/aom,dst=/patches run_stage /stage.sh"
} }
ffbuild_dockerbuild() { ffbuild_dockerbuild() {
cd "$FFBUILD_DLDIR/$SELF" git-mini-clone "$AOM_REPO" "$AOM_COMMIT" aom
cd aom
for patch in /patches/*.patch; do for patch in /patches/*.patch; do
echo "Applying $patch" echo "Applying $patch"

View file

@ -1,55 +0,0 @@
#!/bin/bash
SCRIPT_REPO="https://github.com/nkoriyama/aribb24.git"
SCRIPT_COMMIT="5e9be272f96e00f15a2f3c5f8ba7e124862aec38"
ffbuild_enabled() {
return 0
}
ffbuild_dockerstage() {
to_df "RUN --mount=src=${SELF},dst=/stage.sh --mount=src=/,dst=\$FFBUILD_DLDIR,from=${DL_IMAGE},rw --mount=src=patches/aribb24,dst=/patches run_stage /stage.sh"
}
ffbuild_dockerbuild() {
cd "$FFBUILD_DLDIR/$SELF"
for patch in /patches/*.patch; do
echo "Applying $patch"
git am < "$patch"
done
# Library switched to LGPL on master, but didn't bump version since.
# FFmpeg checks for >1.0.3 to allow LGPL builds.
sed -i 's/1.0.3/1.0.4/' configure.ac
autoreconf -i
local myconf=(
--prefix="$FFBUILD_PREFIX"
--disable-shared
--enable-static
--with-pic
)
if [[ $TARGET == win* || $TARGET == linux* ]]; then
myconf+=(
--host="$FFBUILD_TOOLCHAIN"
)
else
echo "Unknown target"
return -1
fi
./configure "${myconf[@]}"
make -j$(nproc)
make install
}
ffbuild_configure() {
echo --enable-libaribb24
}
ffbuild_unconfigure() {
echo --disable-libaribb24
}

View file

@ -1,7 +1,7 @@
#!/bin/bash #!/bin/bash
SCRIPT_REPO="https://github.com/AviSynth/AviSynthPlus.git" AVISYNTH_REPO="https://github.com/AviSynth/AviSynthPlus.git"
SCRIPT_COMMIT="fc5b9bc41fd47001b7da39ea777d29c0ede2a2a7" AVISYNTH_COMMIT="babdbc0d7b39d775e5a847c74c345dfae9844338"
ffbuild_enabled() { ffbuild_enabled() {
[[ $VARIANT == lgpl* ]] && return -1 [[ $VARIANT == lgpl* ]] && return -1
@ -9,16 +9,14 @@ ffbuild_enabled() {
} }
ffbuild_dockerbuild() { ffbuild_dockerbuild() {
cd "$FFBUILD_DLDIR/$SELF" git-mini-clone "$AVISYNTH_REPO" "$AVISYNTH_COMMIT" avisynth
cd avisynth
# their version check is insistant on a tag to exist, so make one
git tag -a ffbuild -m "FFbuild Version"
mkdir build && cd build mkdir build && cd build
cmake -DCMAKE_TOOLCHAIN_FILE="$FFBUILD_CMAKE_TOOLCHAIN" -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX="$FFBUILD_PREFIX" -DHEADERS_ONLY=ON .. cmake -DCMAKE_TOOLCHAIN_FILE="$FFBUILD_CMAKE_TOOLCHAIN" -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX="$FFBUILD_PREFIX" -DHEADERS_ONLY=ON ..
make -j$(nproc) make -j$(nproc)
make VersionGen install make install
} }
ffbuild_configure() { ffbuild_configure() {

View file

@ -1,33 +0,0 @@
#!/bin/bash
SCRIPT_REPO="https://github.com/acoustid/chromaprint.git"
SCRIPT_COMMIT="aa67c95b9e486884a6d3ee8b0c91207d8c2b0551"
ffbuild_enabled() {
# pkg-config check is currently only available in master
[[ $ADDINS_STR == *4.4* ]] && return -1
[[ $ADDINS_STR == *5.0* ]] && return -1
[[ $ADDINS_STR == *5.1* ]] && return -1
return 0
}
ffbuild_dockerbuild() {
cd "$FFBUILD_DLDIR/$SELF"
mkdir build && cd build
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 ..
make -j$(nproc)
make install
echo "Libs.private: -lfftw3 -lstdc++" >> "$FFBUILD_PREFIX"/lib/pkgconfig/libchromaprint.pc
echo "Cflags.private: -DCHROMAPRINT_NODLL" >> "$FFBUILD_PREFIX"/lib/pkgconfig/libchromaprint.pc
}
ffbuild_configure() {
echo --enable-chromaprint
}
ffbuild_unconfigure() {
echo --disable-chromaprint
}

View file

@ -1,14 +1,15 @@
#!/bin/bash #!/bin/bash
SCRIPT_REPO="https://code.videolan.org/videolan/dav1d.git" DAV1D_REPO="https://code.videolan.org/videolan/dav1d.git"
SCRIPT_COMMIT="a7e12b628472516718d37108fde7d438b14a0372" DAV1D_COMMIT="a55ff11da2430ae7057862f6565ce3b5a222afdc"
ffbuild_enabled() { ffbuild_enabled() {
return 0 return 0
} }
ffbuild_dockerbuild() { ffbuild_dockerbuild() {
cd "$FFBUILD_DLDIR/$SELF" git-mini-clone "$DAV1D_REPO" "$DAV1D_COMMIT" dav1d
cd dav1d
mkdir build && cd build mkdir build && cd build

View file

@ -1,22 +1,18 @@
#!/bin/bash #!/bin/bash
SCRIPT_REPO="https://github.com/pkuvcl/davs2.git" DAVS2_REPO="https://github.com/pkuvcl/davs2.git"
SCRIPT_COMMIT="b41cf117452e2d73d827f02d3e30aa20f1c721ac" DAVS2_COMMIT="b06d7585620f4e90a6d19a2926bb4e59793b8942"
ffbuild_enabled() { ffbuild_enabled() {
[[ $VARIANT == lgpl* ]] && return -1 [[ $VARIANT == lgpl* ]] && return -1
[[ $TARGET == win32 ]] && return -1 [[ $TARGET == win32 ]] && return -1
# davs2 aarch64 support is broken
[[ $TARGET == linuxarm64 ]] && return -1
return 0 return 0
} }
ffbuild_dockerdl() {
to_df "RUN git clone \"$SCRIPT_REPO\" \"$SELF\" && git -C \"$SELF\" checkout \"$SCRIPT_COMMIT\""
}
ffbuild_dockerbuild() { ffbuild_dockerbuild() {
cd "$FFBUILD_DLDIR/$SELF" git clone "$DAVS2_REPO" davs2
cd davs2
git checkout "$DAVS2_COMMIT"
cd build/linux cd build/linux
local myconf=( local myconf=(
@ -35,10 +31,6 @@ ffbuild_dockerbuild() {
return -1 return -1
fi fi
# Work around configure endian check failing on modern gcc/binutils.
# Assumes all supported archs are little endian.
sed -i -e 's/EGIB/bss/g' -e 's/naidnePF/bss/g' configure
./configure "${myconf[@]}" ./configure "${myconf[@]}"
make -j$(nproc) make -j$(nproc)
make install make install

View file

@ -1,7 +1,7 @@
#!/bin/bash #!/bin/bash
SCRIPT_REPO="https://github.com/mstorsjo/fdk-aac.git" FDK_REPO="https://github.com/mstorsjo/fdk-aac.git"
SCRIPT_COMMIT="3f864cce9736cc8e9312835465fae18428d76295" FDK_COMMIT="573e93e4d0d08127dd3b2297a0ce52221527d90a"
ffbuild_enabled() { ffbuild_enabled() {
[[ $VARIANT == nonfree* ]] || return -1 [[ $VARIANT == nonfree* ]] || return -1
@ -9,7 +9,8 @@ ffbuild_enabled() {
} }
ffbuild_dockerbuild() { ffbuild_dockerbuild() {
cd "$FFBUILD_DLDIR/$SELF" git-mini-clone "$FDK_REPO" "$FDK_COMMIT" fdk
cd fdk
./autogen.sh ./autogen.sh

View file

@ -1,27 +1,15 @@
#!/bin/bash #!/bin/bash
SCRIPT_REPO="https://github.com/FFmpeg/nv-codec-headers.git" FFNVCODEC_REPO="https://github.com/FFmpeg/nv-codec-headers.git"
SCRIPT_COMMIT="855f8263d97bbdcaeabaaaa2997e1ccad7c52dc3" FFNVCODEC_COMMIT="b641a195edbe3ac9788e681e22c2e2fad8aacddb"
SCRIPT_REPO2="https://github.com/FFmpeg/nv-codec-headers.git"
SCRIPT_COMMIT2="dc3e4484dc83485734e503991fe5ed3bdf256fba"
SCRIPT_BRANCH2="sdk/11.1"
ffbuild_enabled() { ffbuild_enabled() {
return 0 return 0
} }
ffbuild_dockerdl() {
default_dl ffnvcodec
to_df "RUN git-mini-clone \"$SCRIPT_REPO2\" \"$SCRIPT_COMMIT2\" ffnvcodec2"
}
ffbuild_dockerbuild() { ffbuild_dockerbuild() {
if [[ $ADDINS_STR == *4.4* || $ADDINS_STR == *5.0* || $ADDINS_STR == *5.1* ]]; then git-mini-clone "$FFNVCODEC_REPO" "$FFNVCODEC_COMMIT" ffnvcodec
cd "$FFBUILD_DLDIR"/ffnvcodec2 cd ffnvcodec
else
cd "$FFBUILD_DLDIR"/ffnvcodec
fi
make PREFIX="$FFBUILD_PREFIX" install make PREFIX="$FFBUILD_PREFIX" install
} }

View file

@ -1,7 +1,7 @@
#!/bin/bash #!/bin/bash
SCRIPT_REPO="https://github.com/dyne/frei0r.git" FREI0R_REPO="https://github.com/dyne/frei0r.git"
SCRIPT_COMMIT="c3f987c4cc8c1a7f6928e574f4cb272a7770ca6f" FREI0R_COMMIT="700564265acdb94497c22d5c703dc38ed9d1b649"
ffbuild_enabled() { ffbuild_enabled() {
[[ $VARIANT == lgpl* ]] && return -1 [[ $VARIANT == lgpl* ]] && return -1
@ -10,19 +10,32 @@ ffbuild_enabled() {
} }
ffbuild_dockerbuild() { ffbuild_dockerbuild() {
cd "$FFBUILD_DLDIR/$SELF" git-mini-clone "$FREI0R_REPO" "$FREI0R_COMMIT" frei0r
cd frei0r
mkdir build && cd build ./autogen.sh
cmake -DCMAKE_TOOLCHAIN_FILE="$FFBUILD_CMAKE_TOOLCHAIN" -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX="$FFBUILD_PREFIX" .. local myconf=(
--prefix="$FFBUILD_PREFIX"
--disable-shared
--enable-static
--with-pic
--enable-cpuflags
)
mkdir -p "$FFBUILD_PREFIX"/lib/pkgconfig if [[ $TARGET == win* || $TARGET == linux* ]]; then
cp frei0r.pc "$FFBUILD_PREFIX"/lib/pkgconfig myconf+=(
--host="$FFBUILD_TOOLCHAIN"
)
else
echo "Unknown target"
return -1
fi
mkdir -p "$FFBUILD_PREFIX"/include ./configure "${myconf[@]}"
cp ../include/frei0r.h "$FFBUILD_PREFIX"/include make -C include -j$(nproc)
make -C include install
cat frei0r.pc make install-pkgconfigDATA
} }
ffbuild_configure() { ffbuild_configure() {

View file

@ -1,18 +1,16 @@
#!/bin/bash #!/bin/bash
SCRIPT_REPO="https://bitbucket.org/mpyne/game-music-emu.git" GME_REPO="https://bitbucket.org/mpyne/game-music-emu.git"
SCRIPT_COMMIT="6cd4bdb69be304f58c9253fb08b8362f541b3b4b" GME_COMMIT="b3d158a30492181fd7c38ef795c8d4dcfd77eaa9"
ffbuild_enabled() { ffbuild_enabled() {
return 0 return 0
} }
ffbuild_dockerdl() {
to_df "RUN git clone \"$SCRIPT_REPO\" \"$SELF\" && git -C \"$SELF\" checkout \"$SCRIPT_COMMIT\""
}
ffbuild_dockerbuild() { ffbuild_dockerbuild() {
cd "$FFBUILD_DLDIR/$SELF" git clone "$GME_REPO" gme
cd gme
git checkout "$GME_COMMIT"
mkdir build && cd build mkdir build && cd build

View file

@ -1,44 +0,0 @@
#!/bin/bash
SCRIPT_REPO="https://github.com/ultravideo/kvazaar.git"
SCRIPT_COMMIT="aaae5b0f4926065136f287876c6bc41631bae692"
ffbuild_enabled() {
return 0
}
ffbuild_dockerbuild() {
cd "$FFBUILD_DLDIR/$SELF"
./autogen.sh
local myconf=(
--prefix="$FFBUILD_PREFIX"
--disable-shared
--enable-static
--with-pic
)
if [[ $TARGET == win* || $TARGET == linux* ]]; then
myconf+=(
--host="$FFBUILD_TOOLCHAIN"
)
else
echo "Unknown target"
return -1
fi
./configure "${myconf[@]}"
make -j$(nproc)
make install
echo "Cflags.private: -DKVZ_STATIC_LIB" >> "$FFBUILD_PREFIX"/lib/pkgconfig/kvazaar.pc
}
ffbuild_configure() {
echo --enable-libkvazaar
}
ffbuild_unconfigure() {
echo --disable-libkvazaar
}

View file

@ -1,14 +1,15 @@
#!/bin/bash #!/bin/bash
SCRIPT_REPO="https://github.com/libass/libass.git" ASS_REPO="https://github.com/libass/libass.git"
SCRIPT_COMMIT="1a599b1db748dfc07df98cd37d8603edb87da2fd" ASS_COMMIT="ac2ddef8841aa2ff37ca9b83f19f15092d0cacc6"
ffbuild_enabled() { ffbuild_enabled() {
return 0 return 0
} }
ffbuild_dockerbuild() { ffbuild_dockerbuild() {
cd "$FFBUILD_DLDIR/$SELF" git-mini-clone "$ASS_REPO" "$ASS_COMMIT" ass
cd ass
./autogen.sh ./autogen.sh
@ -28,8 +29,6 @@ ffbuild_dockerbuild() {
return -1 return -1
fi fi
export CFLAGS="$CFLAGS -Dread_file=libass_internal_read_file"
./configure "${myconf[@]}" ./configure "${myconf[@]}"
make -j$(nproc) make -j$(nproc)
make install make install

View file

@ -1,14 +1,15 @@
#!/bin/bash #!/bin/bash
SCRIPT_REPO="https://code.videolan.org/videolan/libbluray.git" LIBBLURAY_REPO="https://code.videolan.org/videolan/libbluray.git"
SCRIPT_COMMIT="bb5bc108ec695889855f06df338958004ff289ef" LIBBLURAY_COMMIT="060d8f055f2ed1b4752340be5d16403bad5ccdc0"
ffbuild_enabled() { ffbuild_enabled() {
return 0 return 0
} }
ffbuild_dockerbuild() { ffbuild_dockerbuild() {
cd "$FFBUILD_DLDIR/$SELF" git-mini-clone "$LIBBLURAY_REPO" "$LIBBLURAY_COMMIT" libbluray
cd libbluray
./bootstrap ./bootstrap

View file

@ -1,19 +0,0 @@
#!/bin/bash
SCRIPT_REPO="https://github.com/google/brotli.git"
SCRIPT_COMMIT="413b098564a90a2e6cae192d30642d33a9197a39"
ffbuild_enabled() {
return 0
}
ffbuild_dockerbuild() {
cd "$FFBUILD_DLDIR/$SELF"
mkdir build && cd build
cmake -G Ninja -DCMAKE_TOOLCHAIN_FILE="$FFBUILD_CMAKE_TOOLCHAIN" -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX="$FFBUILD_PREFIX" \
-DCMAKE_POSITION_INDEPENDENT_CODE=ON -DBUILD_SHARED_LIBS=OFF ..
ninja -j$(nproc)
ninja install
}

View file

@ -1,60 +0,0 @@
#!/bin/bash
SCRIPT_REPO="https://github.com/libjxl/libjxl.git"
SCRIPT_COMMIT="c3a4f9ca89ae59c6265a2f1bf2a6d2a87a71fc16"
ffbuild_enabled() {
[[ $ADDINS_STR == *4.4* ]] && return -1
[[ $ADDINS_STR == *5.0* ]] && return -1
[[ $ADDINS_STR == *5.1* ]] && return -1
[[ $ADDINS_STR == *6.0* ]] && return -1
return 0
}
ffbuild_dockerdl() {
default_dl "$SELF"
to_df "RUN git -C \"$SELF\" submodule update --init --recursive --depth 1 --recommend-shallow third_party/highway third_party/skcms"
}
ffbuild_dockerbuild() {
cd "$FFBUILD_DLDIR/$SELF"
mkdir build && cd build
if [[ $TARGET == linux* ]]; then
# our glibc is too old(<2.25), and their detection fails for some reason
export CXXFLAGS="$CXXFLAGS -DVQSORT_GETRANDOM=0 -DVQSORT_SECURE_SEED=0"
elif [[ $TARGET == win* ]]; then
# Fix AVX2 related crash due to unaligned stack memory
export CXXFLAGS="$CXXFLAGS -Wa,-muse-unaligned-vector-move"
export CFLAGS="$CFLAGS -Wa,-muse-unaligned-vector-move"
fi
cmake -G Ninja -DCMAKE_TOOLCHAIN_FILE="$FFBUILD_CMAKE_TOOLCHAIN" -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX="$FFBUILD_PREFIX" -DCMAKE_POSITION_INDEPENDENT_CODE=ON \
-DBUILD_SHARED_LIBS=OFF -DJPEGXL_STATIC=OFF -DJPEGXL_ENABLE_TOOLS=OFF -DJPEGXL_ENABLE_VIEWERS=OFF -DJPEGXL_EMSCRIPTEN=OFF -DJPEGXL_ENABLE_DOXYGEN=OFF \
-DJPEGXL_ENABLE_JPEGLI=OFF -DBUILD_TESTING=OFF -DJPEGXL_ENABLE_EXAMPLES=OFF -DJPEGXL_ENABLE_MANPAGES=OFF -DJPEGXL_ENABLE_JNI=OFF -DJPEGXL_ENABLE_PLUGINS=OFF \
-DJPEGXL_ENABLE_DEVTOOLS=OFF -DJPEGXL_ENABLE_BENCHMARK=OFF -DJPEGXL_BUNDLE_LIBPNG=OFF -DJPEGXL_ENABLE_SJPEG=OFF -DJPEGXL_FORCE_SYSTEM_BROTLI=ON ..
ninja -j$(nproc)
ninja install
echo "Cflags.private: -DJXL_STATIC_DEFINE=1" >> "${FFBUILD_PREFIX}"/lib/pkgconfig/libjxl.pc
echo "Libs.private: -lstdc++" >> "${FFBUILD_PREFIX}"/lib/pkgconfig/libjxl.pc
echo "Cflags.private: -DJXL_STATIC_DEFINE=1" >> "${FFBUILD_PREFIX}"/lib/pkgconfig/libjxl_threads.pc
echo "Libs.private: -lstdc++" >> "${FFBUILD_PREFIX}"/lib/pkgconfig/libjxl_threads.pc
if [[ $TARGET == win* ]]; then
echo "Libs.private: -ladvapi32" >> "${FFBUILD_PREFIX}"/lib/pkgconfig/libjxl.pc
echo "Libs.private: -ladvapi32" >> "${FFBUILD_PREFIX}"/lib/pkgconfig/libjxl_threads.pc
fi
}
ffbuild_configure() {
echo --enable-libjxl
}
ffbuild_unconfigure() {
[[ $ADDINS_STR == *4.4* ]] && return 0
[[ $ADDINS_STR == *5.0* ]] && return 0
echo --disable-libjxl
}

View file

@ -1,20 +1,18 @@
#!/bin/bash #!/bin/bash
SCRIPT_REPO="https://svn.code.sf.net/p/lame/svn/trunk/lame" LAME_SRC="https://sourceforge.net/projects/lame/files/lame/3.100/lame-3.100.tar.gz/download"
SCRIPT_REV="6507"
ffbuild_enabled() { ffbuild_enabled() {
return 0 return 0
} }
ffbuild_dockerdl() {
to_df "RUN retry-tool sh -c \"rm -rf lame && svn checkout '${SCRIPT_REPO}@${SCRIPT_REV}' lame\""
}
ffbuild_dockerbuild() { ffbuild_dockerbuild() {
cd "$FFBUILD_DLDIR"/lame mkdir lame
cd lame
autoreconf -i wget -O lame.tar.gz "$LAME_SRC"
tar xaf lame.tar.gz
rm lame.tar.gz
cd lame*
local myconf=( local myconf=(
--prefix="$FFBUILD_PREFIX" --prefix="$FFBUILD_PREFIX"
@ -24,7 +22,6 @@ ffbuild_dockerbuild() {
--disable-gtktest --disable-gtktest
--disable-cpml --disable-cpml
--disable-frontend --disable-frontend
--disable-decoder
) )
if [[ $TARGET == win* || $TARGET == linux* ]]; then if [[ $TARGET == win* || $TARGET == linux* ]]; then
@ -36,8 +33,6 @@ ffbuild_dockerbuild() {
return -1 return -1
fi fi
export CFLAGS="$CFLAGS -DNDEBUG"
./configure "${myconf[@]}" ./configure "${myconf[@]}"
make -j$(nproc) make -j$(nproc)
make install make install

View file

@ -1,14 +1,15 @@
#!/bin/bash #!/bin/bash
SCRIPT_REPO="https://github.com/xiph/opus.git" OPUS_REPO="https://github.com/xiph/opus.git"
SCRIPT_COMMIT="9fc8fc4cf432640f284113ba502ee027268b0d9f" OPUS_COMMIT="a8e6a77c5fe0c37aa6788f939f24f8cd22ae2652"
ffbuild_enabled() { ffbuild_enabled() {
return 0 return 0
} }
ffbuild_dockerbuild() { ffbuild_dockerbuild() {
cd "$FFBUILD_DLDIR/$SELF" git-mini-clone "$OPUS_REPO" "$OPUS_COMMIT" opus
cd opus
./autogen.sh ./autogen.sh

View file

@ -1,22 +1,28 @@
#!/bin/bash #!/bin/bash
SCRIPT_REPO="https://github.com/ARMmbed/mbedtls.git" MBEDTLS_REPO="https://github.com/ARMmbed/mbedtls.git"
SCRIPT_COMMIT="v3.4.0" # HEAD of development_2.x
SCRIPT_TAGFILTER="v3.*" MBEDTLS_COMMIT="1d7f7a7c6e625e48a4996bc751c39fb16a8be868"
ffbuild_enabled() { ffbuild_enabled() {
return 0 return 0
} }
ffbuild_dockerbuild() { ffbuild_dockerbuild() {
cd "$FFBUILD_DLDIR/$SELF" git-mini-clone "$MBEDTLS_REPO" "$MBEDTLS_COMMIT" mbedtls
cd mbedtls
mkdir build && cd build mkdir build && cd build
cmake -DCMAKE_TOOLCHAIN_FILE="$FFBUILD_CMAKE_TOOLCHAIN" -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX="$FFBUILD_PREFIX" \ cmake -DCMAKE_TOOLCHAIN_FILE="$FFBUILD_CMAKE_TOOLCHAIN" -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX="$FFBUILD_PREFIX" \
-DENABLE_PROGRAMS=OFF -DENABLE_TESTING=OFF -DGEN_FILES=ON \ -DENABLE_PROGRAMS=OFF -DENABLE_TESTING=OFF \
-DUSE_STATIC_MBEDTLS_LIBRARY=ON -DUSE_SHARED_MBEDTLS_LIBRARY=OFF -DINSTALL_MBEDTLS_HEADERS=ON \ -DUSE_STATIC_MBEDTLS_LIBRARY=ON -DUSE_SHARED_MBEDTLS_LIBRARY=OFF -DINSTALL_MBEDTLS_HEADERS=ON \
.. ..
make -j$(nproc) make -j$(nproc)
make install make install
} }
ffbuild_configure() {
[[ $TARGET == win* ]] && return -1
echo --enable-mbedtls
}

View file

@ -1,14 +1,15 @@
#!/bin/bash #!/bin/bash
SCRIPT_REPO="https://code.videolan.org/rist/librist.git" LIBRIST_REPO="https://code.videolan.org/rist/librist.git"
SCRIPT_COMMIT="04ba78abb6f8f673da0cc75056df876178e504fb" LIBRIST_COMMIT="0b1aaf995c4cad83d562ec7887180cc6ee132c84"
ffbuild_enabled() { ffbuild_enabled() {
return 0 return 0
} }
ffbuild_dockerbuild() { ffbuild_dockerbuild() {
cd "$FFBUILD_DLDIR/$SELF" git-mini-clone "$LIBRIST_REPO" "$LIBRIST_COMMIT" librist
cd librist
mkdir build && cd build mkdir build && cd build

View file

@ -1,35 +0,0 @@
#!/bin/bash
SCRIPT_REPO="https://git.libssh.org/projects/libssh.git"
SCRIPT_COMMIT="a7f85944c8c04cd1aba1a122b766f5d04db51050"
ffbuild_enabled() {
return 0
}
ffbuild_dockerbuild() {
cd "$FFBUILD_DLDIR/$SELF"
mkdir build && cd build
cmake -GNinja -DCMAKE_TOOLCHAIN_FILE="$FFBUILD_CMAKE_TOOLCHAIN" -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX="$FFBUILD_PREFIX" \
-DBUILD_SHARED_LIBS=OFF \
-DWITH_EXAMPLES=OFF -DWITH_SERVER=OFF \
-DWITH_SFTP=ON -DWITH_ZLIB=ON ..
ninja -j$(nproc)
ninja install
{
echo "Requires.private: libssl libcrypto zlib"
echo "Cflags.private: -DLIBSSH_STATIC"
} >> "$FFBUILD_PREFIX"/lib/pkgconfig/libssh.pc
}
ffbuild_configure() {
echo --enable-libssh
}
ffbuild_unconfigure() {
echo --disable-libssh
}

View file

@ -1,14 +1,15 @@
#!/bin/bash #!/bin/bash
SCRIPT_REPO="https://github.com/xiph/theora.git" THEORA_REPO="https://github.com/xiph/theora.git"
SCRIPT_COMMIT="7180717276af1ebc7da15c83162d6c5d6203aabf" THEORA_COMMIT="7180717276af1ebc7da15c83162d6c5d6203aabf"
ffbuild_enabled() { ffbuild_enabled() {
return 0 return 0
} }
ffbuild_dockerbuild() { ffbuild_dockerbuild() {
cd "$FFBUILD_DLDIR/$SELF" git-mini-clone "$THEORA_REPO" "$THEORA_COMMIT" theora
cd theora
./autogen.sh ./autogen.sh

View file

@ -1,14 +1,15 @@
#!/bin/bash #!/bin/bash
SCRIPT_REPO="https://chromium.googlesource.com/webm/libvpx" LIBVPX_REPO="https://chromium.googlesource.com/webm/libvpx"
SCRIPT_COMMIT="b2c2955c8200ff434f178009df41a1e1e1623156" LIBVPX_COMMIT="c56ab7d0c6f3fb215d571db3dacc0cc908c1b53c"
ffbuild_enabled() { ffbuild_enabled() {
return 0 return 0
} }
ffbuild_dockerbuild() { ffbuild_dockerbuild() {
cd "$FFBUILD_DLDIR/$SELF" git-mini-clone "$LIBVPX_REPO" "$LIBVPX_COMMIT" libvpx
cd libvpx
local myconf=( local myconf=(
--disable-shared --disable-shared
@ -17,7 +18,6 @@ ffbuild_dockerbuild() {
--disable-examples --disable-examples
--disable-tools --disable-tools
--disable-docs --disable-docs
--disable-unit-tests
--enable-vp9-highbitdepth --enable-vp9-highbitdepth
--prefix="$FFBUILD_PREFIX" --prefix="$FFBUILD_PREFIX"
) )
@ -32,16 +32,11 @@ ffbuild_dockerbuild() {
--target=x86-win32-gcc --target=x86-win32-gcc
) )
export CROSS="$FFBUILD_CROSS_PREFIX" export CROSS="$FFBUILD_CROSS_PREFIX"
elif [[ $TARGET == linux64 ]]; then elif [[ $TARGET == linux* ]]; then
myconf+=( myconf+=(
--target=x86_64-linux-gcc --target=x86_64-linux-gcc
) )
export CROSS="$FFBUILD_CROSS_PREFIX" export CROSS="$FFBUILD_CROSS_PREFIX"
elif [[ $TARGET == linuxarm64 ]]; then
myconf+=(
--target=arm64-linux-gcc
)
export CROSS="$FFBUILD_CROSS_PREFIX"
else else
echo "Unknown target" echo "Unknown target"
return -1 return -1
@ -50,9 +45,6 @@ ffbuild_dockerbuild() {
./configure "${myconf[@]}" ./configure "${myconf[@]}"
make -j$(nproc) make -j$(nproc)
make install make install
# Work around strip breaking LTO symbol index
"$RANLIB" "$FFBUILD_PREFIX"/lib/libvpx.a
} }
ffbuild_configure() { ffbuild_configure() {

View file

@ -1,14 +1,15 @@
#!/bin/bash #!/bin/bash
SCRIPT_REPO="https://chromium.googlesource.com/webm/libwebp" WEBP_REPO="https://chromium.googlesource.com/webm/libwebp"
SCRIPT_COMMIT="eac3bd5c53da8bec55a635c6f4234c9cd5753820" WEBP_COMMIT="35b7436a216857eabf4773681fecd8fd52bcc3e7"
ffbuild_enabled() { ffbuild_enabled() {
return 0 return 0
} }
ffbuild_dockerbuild() { ffbuild_dockerbuild() {
cd "$FFBUILD_DLDIR/$SELF" git-mini-clone "$WEBP_REPO" "$WEBP_COMMIT" webp
cd webp
./autogen.sh ./autogen.sh

View file

@ -1,37 +1,24 @@
#!/bin/bash #!/bin/bash
SCRIPT_REPO="https://github.com/lv2/lv2.git" LV2_REPO="https://github.com/lv2/lv2.git"
SCRIPT_COMMIT="bb6a2103c7adf3c1339728915d7f1497ee98dcbf" LV2_COMMIT="6cefc7df1a6158c79d23029df183c09b10b88cad"
ffbuild_enabled() { ffbuild_enabled() {
return 0 return 0
} }
ffbuild_dockerbuild() { ffbuild_dockerbuild() {
cd "$FFBUILD_DLDIR/$SELF" git-mini-clone "$LV2_REPO" "$LV2_COMMIT" lv2
cd lv2
git submodule update --init --recursive --depth 1
mkdir build && cd build local mywaf=(
local myconf=(
--prefix="$FFBUILD_PREFIX" --prefix="$FFBUILD_PREFIX"
--buildtype=release --no-plugins
--default-library=static --no-coverage
-Ddocs=disabled
-Dplugins=disabled
-Dtests=disabled
-Donline_docs=false
) )
if [[ $TARGET == win* || $TARGET == linux* ]]; then CC="${FFBUILD_CROSS_PREFIX}gcc" CXX="${FFBUILD_CROSS_PREFIX}g++" ./waf configure "${mywaf[@]}"
myconf+=( ./waf -j$(nproc)
--cross-file=/cross.meson ./waf install
)
else
echo "Unknown target"
return -1
fi
meson "${myconf[@]}" ..
ninja -j"$(nproc)"
ninja install
} }

Some files were not shown because too many files have changed in this diff Show more