From 854dcb3a159d3784f591bc3e6d85ff95d871b172 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 7 Jun 2024 10:09:42 +0000 Subject: [PATCH 1/3] chore(deps): update dependency ziglang/zig to v0.13.0 --- Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index 7c1d031..26e3517 100644 --- a/Dockerfile +++ b/Dockerfile @@ -6,7 +6,7 @@ ARG VERSION='0.0.0' ARG OS_IPHONE='0' # renovate: datasource=github-releases depName=ziglang/zig -ARG ZIG_VERSION='0.12.1' +ARG ZIG_VERSION='0.13.0' # renovate: datasource=github-releases depName=mesonbuild/meson ARG MESON_VERSION='1.5.1' # renovate: datasource=github-releases depName=Kitware/CMake From 7ac56dd75217607b46c40aa2a9091ca5f963e26c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?V=C3=ADtor=20Vasconcellos?= Date: Tue, 18 Jun 2024 01:06:34 -0300 Subject: [PATCH 2/3] Update to LLVM 18 to match zig --- Dockerfile | 10 +++++----- README.md | 6 +++--- scripts/cc.sh | 4 ++-- scripts/rc.sh | 2 +- scripts/tool-wrapper.sh | 6 +++--- stages/00-apple/01-xar.sh | 4 ++-- stages/00-apple/02-tapi.sh | 4 ++-- stages/00-apple/03-dispatch.sh | 4 ++-- stages/00-apple/04-cctools.sh | 8 ++++---- stages/10-compiler-rt.sh | 6 +++--- stages/50-x265.sh | 2 +- stages/99-ffmpeg.sh | 4 ++-- 12 files changed, 30 insertions(+), 30 deletions(-) diff --git a/Dockerfile b/Dockerfile index 26e3517..d605fb5 100644 --- a/Dockerfile +++ b/Dockerfile @@ -33,12 +33,12 @@ RUN echo 'debconf debconf/frontend select Noninteractive' | debconf-set-selectio RUN --mount=type=cache,target=/var/cache/apt --mount=type=cache,target=/var/lib/apt ` apt-get update && apt-get upgrade && apt-get install -y ca-certificates -# Add LLVM 17 repository +# Add LLVM 18 repository ADD https://apt.llvm.org/llvm-snapshot.gpg.key /etc/apt/trusted.gpg.d/apt.llvm.org.asc RUN chmod 644 /etc/apt/trusted.gpg.d/apt.llvm.org.asc -RUN echo "deb https://apt.llvm.org/bookworm/ llvm-toolchain-bookworm-17 main" ` +RUN echo "deb https://apt.llvm.org/bookworm/ llvm-toolchain-bookworm-18 main" ` > /etc/apt/sources.list.d/llvm.list # Install build dependencies @@ -52,9 +52,9 @@ RUN --mount=type=cache,target=/var/cache/apt --mount=type=cache,target=/var/lib/ libtool ` python3 ` gettext ` - llvm-17 ` + llvm-18 ` autoconf ` - clang-17 ` + clang-18 ` pkg-config ` ninja-build ` libarchive-tools ` @@ -216,7 +216,7 @@ RUN --mount=type=cache,target=/root/.cache ` FROM layer-00 AS layer-10 COPY --from=layer-10-sse2neon "${PREFIX}/." "$PREFIX" -COPY --from=layer-10-compiler-rt "/usr/lib/llvm-17/lib/clang/17/." '/usr/lib/llvm-17/lib/clang/17' +COPY --from=layer-10-compiler-rt "/usr/lib/llvm-18/lib/clang/18/." '/usr/lib/llvm-18/lib/clang/18' #-- diff --git a/README.md b/README.md index 05ce301..c1172b5 100644 --- a/README.md +++ b/README.md @@ -60,13 +60,13 @@ This build system is losely base on: - https://github.com/BtbN/FFmpeg-Builds -It uses Zig 0.12 as a C/C++ toolchain to build the Windows and Linux targets: +It uses Zig 0.13 as a C/C++ toolchain to build the Windows and Linux targets: - https://github.com/ziglang/zig/tree/0.11.0 -It uses LLVM/Clang 17 with some tweaks from osxcross + Apple's cctools and linker to build the Darwin (macOS, iOS) targets: +It uses LLVM/Clang 18 with some tweaks from osxcross + Apple's cctools and linker to build the Darwin (macOS, iOS) targets: -- https://github.com/llvm/llvm-project/tree/llvmorg-17.0.6 +- https://github.com/llvm/llvm-project/tree/llvmorg-18.1.7 - https://github.com/tpoechtrager/osxcross - https://github.com/tpoechtrager/cctools-port diff --git a/scripts/cc.sh b/scripts/cc.sh index 786c549..1997d4a 100755 --- a/scripts/cc.sh +++ b/scripts/cc.sh @@ -43,7 +43,7 @@ case "$(basename "$0")" in case "$TARGET" in *darwin*) # Use clang instead of zig for darwin targets - CMD='clang-17' + CMD='clang-18' ;; *) CMD='zig cc' ;; esac @@ -53,7 +53,7 @@ case "$(basename "$0")" in case "$TARGET" in *darwin*) # Use clang instead of zig for darwin targets - CMD='clang++-17' + CMD='clang++-18' ;; *) CMD='zig c++' ;; esac diff --git a/scripts/rc.sh b/scripts/rc.sh index 2039bd0..1706cc4 100755 --- a/scripts/rc.sh +++ b/scripts/rc.sh @@ -31,4 +31,4 @@ case "$_name" in ;; esac -exec "/usr/bin/llvm-${_name}-17" "$@" +exec "/usr/bin/llvm-${_name}-18" "$@" diff --git a/scripts/tool-wrapper.sh b/scripts/tool-wrapper.sh index cf3fce6..9dcb4bf 100755 --- a/scripts/tool-wrapper.sh +++ b/scripts/tool-wrapper.sh @@ -6,9 +6,9 @@ fallback_llvm() { if ! command -v "${_prefix}$(basename "$0")" 1>/dev/null 2>&1; then _prefix='llvm-' if [ "$0" = 'libtool' ]; then - _suffix='-darwin-17' + _suffix='-darwin-18' else - _suffix='-17' + _suffix='-18' fi fi } @@ -26,7 +26,7 @@ case "${TARGET:?TARGET envvar is required to be defined}" in ;; *) _prefix='llvm-' - _suffix='-17' + _suffix='-18' ;; esac ;; diff --git a/stages/00-apple/01-xar.sh b/stages/00-apple/01-xar.sh index b65b72e..2be1637 100755 --- a/stages/00-apple/01-xar.sh +++ b/stages/00-apple/01-xar.sh @@ -11,8 +11,8 @@ esac apt-get install libssl-dev libz-dev -export CC="clang-17" -export CXX="clang++-17" +export CC="clang-18" +export CXX="clang++-18" export CFLAGS="-I${CCTOOLS}/include" export LDFLAGS="-L${CCTOOLS}/lib" export APPLE_TARGET='__BYPASS__' diff --git a/stages/00-apple/02-tapi.sh b/stages/00-apple/02-tapi.sh index 2998980..155791a 100755 --- a/stages/00-apple/02-tapi.sh +++ b/stages/00-apple/02-tapi.sh @@ -9,8 +9,8 @@ case "$TARGET" in ;; esac -export CC="clang-17" -export CXX="clang++-17" +export CC="clang-18" +export CXX="clang++-18" export CFLAGS="-I${CCTOOLS}/include" export LDFLAGS="-L${CCTOOLS}/lib" export APPLE_TARGET='__BYPASS__' diff --git a/stages/00-apple/03-dispatch.sh b/stages/00-apple/03-dispatch.sh index 23eaf9e..7b19382 100755 --- a/stages/00-apple/03-dispatch.sh +++ b/stages/00-apple/03-dispatch.sh @@ -11,8 +11,8 @@ esac apt-get install systemtap-sdt-dev libbsd-dev linux-libc-dev -export CC="clang-17" -export CXX="clang++-17" +export CC="clang-18" +export CXX="clang++-18" export CFLAGS="-I${CCTOOLS}/include" export LDFLAGS="-L${CCTOOLS}/lib" export APPLE_TARGET='__BYPASS__' diff --git a/stages/00-apple/04-cctools.sh b/stages/00-apple/04-cctools.sh index 8e28a16..9d17a17 100755 --- a/stages/00-apple/04-cctools.sh +++ b/stages/00-apple/04-cctools.sh @@ -22,8 +22,8 @@ echo "APPLE_TARGET=$_target" >>/etc/environment apt-get install uuid-dev libedit-dev -export CC="clang-17" -export CXX="clang++-17" +export CC="clang-18" +export CXX="clang++-18" export CFLAGS="-I${CCTOOLS}/include" export LDFLAGS="-L${CCTOOLS}/lib" export APPLE_TARGET='__BYPASS__' @@ -47,7 +47,7 @@ cd cctools/cctools --with-libxar="$CCTOOLS" \ --with-libtapi="$CCTOOLS" \ --with-libdispatch="$CCTOOLS" \ - --with-llvm-config=llvm-config-17 \ + --with-llvm-config=llvm-config-18 \ --with-libblocksruntime="$CCTOOLS" \ --enable-xar-support \ --enable-lto-support \ @@ -60,4 +60,4 @@ make install rm -r /srv/cctools # Create symlinks for llvm-otool because cctools use it when calling its own otool -ln -fs "$(command -v llvm-otool-17)" /opt/cctools/bin/llvm-otool +ln -fs "$(command -v llvm-otool-18)" /opt/cctools/bin/llvm-otool diff --git a/stages/10-compiler-rt.sh b/stages/10-compiler-rt.sh index 3f80553..2d803eb 100644 --- a/stages/10-compiler-rt.sh +++ b/stages/10-compiler-rt.sh @@ -9,7 +9,7 @@ case "$TARGET" in esac # LLVM install path -LLVM_PATH="/usr/lib/llvm-17" +LLVM_PATH="/usr/lib/llvm-18" # Remove wrapper from PATH, because we need to call the original cmake PATH="$(echo "${PATH}" | awk -v RS=: -v ORS=: '/\/wrapper^/ {next} {print}')" @@ -19,9 +19,9 @@ echo "Download llvm compiler_rt..." mkdir -p "${LLVM_PATH}/compiler_rt/build" -curl_tar 'https://github.com/llvm/llvm-project/releases/download/llvmorg-17.0.6/cmake-17.0.6.src.tar.xz' \ +curl_tar 'https://github.com/llvm/llvm-project/releases/download/llvmorg-18.1.7/cmake-18.1.7.src.tar.xz' \ "${LLVM_PATH}/cmake" 1 -curl_tar 'https://github.com/llvm/llvm-project/releases/download/llvmorg-17.0.6/compiler-rt-17.0.6.src.tar.xz' \ +curl_tar 'https://github.com/llvm/llvm-project/releases/download/llvmorg-18.1.7/compiler-rt-18.1.7.src.tar.xz' \ "${LLVM_PATH}/compiler_rt" 1 # Link cmake files to where compiler_rt expect to find them diff --git a/stages/50-x265.sh b/stages/50-x265.sh index 2a1ec85..b4f60f9 100644 --- a/stages/50-x265.sh +++ b/stages/50-x265.sh @@ -81,7 +81,7 @@ ln -s ../10bit/libx265.a libx265_main10.a mv libx265.a libx265_main.a # Must use llvm ar due to mri-script -llvm-ar-17 -M < Date: Sat, 17 Aug 2024 00:34:11 -0300 Subject: [PATCH 3/3] Substitute clang-17 for clang-18 in ldid --- stages/00-apple/05-ldid.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/stages/00-apple/05-ldid.sh b/stages/00-apple/05-ldid.sh index b0f0d43..dafb2b5 100755 --- a/stages/00-apple/05-ldid.sh +++ b/stages/00-apple/05-ldid.sh @@ -9,8 +9,8 @@ case "$TARGET" in ;; esac -export CC="clang-17" -export CXX="clang++-17" +export CC="clang-18" +export CXX="clang++-18" export CFLAGS="-I${CCTOOLS}/include" export LDFLAGS="-L${CCTOOLS}/lib" export APPLE_TARGET='__BYPASS__'