Skip to content

Commit 2a1c97d

Browse files
committed
spike(TEMP): capture macOS-arm64 FFmpeg config snapshot on macos-15
1 parent b6640cc commit 2a1c97d

1 file changed

Lines changed: 35 additions & 0 deletions

File tree

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
# TEMP spike: capture the macOS-arm64 FFmpeg config snapshot (config.h + make -n
2+
# source list) on a macos-15 runner, matching the linux hermetic profile. This is
3+
# the raw material for the compat.ffmpeg `macosx` block. workflow_dispatch only.
4+
name: snapshot-macos-ffmpeg
5+
on:
6+
workflow_dispatch:
7+
jobs:
8+
capture:
9+
runs-on: macos-15
10+
timeout-minutes: 30
11+
steps:
12+
- name: Fetch FFmpeg 8.1.2
13+
run: |
14+
curl -L -fsS -o ffmpeg.tar.gz "https://ffmpeg.org/releases/ffmpeg-8.1.2.tar.gz"
15+
tar -xzf ffmpeg.tar.gz
16+
- name: configure (hermetic profile, clang) + make -n
17+
run: |
18+
mkdir build && cd build
19+
../ffmpeg-8.1.2/configure --cc=clang --disable-autodetect --disable-programs --disable-doc >configure.log 2>&1 || { echo "CONFIGURE FAILED"; tail -60 configure.log; exit 1; }
20+
echo "=== configure OK. key config.h facts ==="
21+
grep -E '#define (OS_NAME|ARCH_AARCH64|ARCH_X86_64|EXTERN_PREFIX|SLIBSUF|HAVE_NEON |HAVE_VFP |HAVE_PTHREADS |HAVE_W32THREADS |HAVE_MMX |HAVE_ALIGNED_MALLOC |HAVE_MEMALIGN |HAVE_MACH_ABSOLUTE_TIME |HAVE_UNISTD_H |HAVE_WINDOWS_H )' config.h
22+
make -n >make-n.log 2>/dev/null || true
23+
echo "=== source list (make -n ground truth) ==="
24+
echo "total .c: $(grep -oE '[^ ]+\.c\b' make-n.log | sort -u | wc -l)"
25+
echo "total .S (GAS asm): $(grep -oE '[^ ]+\.S\b' make-n.log | sort -u | wc -l)"
26+
echo "total .asm (NASM): $(grep -oE '[^ ]+\.asm\b' make-n.log | sort -u | wc -l)"
27+
echo "aarch64 dir sources: $(grep -oE '[^ ]+/aarch64/[^ ]+\.[cS]\b' make-n.log | sort -u | wc -l)"
28+
echo "=== sample aarch64 .S ==="; grep -oE '[^ ]+/aarch64/[^ ]+\.S\b' make-n.log | sort -u | head -8
29+
mkdir -p ../snapshot
30+
cp config.h config_components.h configure.log make-n.log ../snapshot/ 2>/dev/null || true
31+
find . \( -name avconfig.h -o -name ffversion.h \) -exec cp {} ../snapshot/ \; 2>/dev/null || true
32+
- uses: actions/upload-artifact@v4
33+
with:
34+
name: ffmpeg-macosx-arm64-snapshot
35+
path: snapshot/

0 commit comments

Comments
 (0)