mirror of
https://github.com/spacedriveapp/spacedrive.git
synced 2026-04-20 06:28:14 -04:00
* Initial Windows ffmpeg + libheif custom build * Add build steps for most of ffmpeg deps * FFmpeg deps and libheif * Fix libheif build * Fix libvpx and dlfcn + attempt to fix rav1e * Rework the whole ffmpeg-windows build system - New system based on https://github.com/BtbN/FFmpeg-Builds - Add new ffmpeg-windows workflow - Rename macos ffmpeg workflow - Adapt macos setupt script due to above name change * Forgot to update update the workflow name * Strip all libs from debug symbols * Add docs * Add libde265 deps, required by libheif - Make x265, svtav1 and dav1d as shared deps (used by both ffmpeg and libheif) * Add missing libheif to Linux setup script * Fix libx265 build script * Forgot to point x265 ninja install to the correct directory * Remove libaom and libsvt-av1 - dav1d and rav1d are our default AV1 decoders/encoders - Quote subshell executions - Make libweb shared * Forgot to remove libaom and libsvt-av1 build steps * Fix typo * Try force webp to link against static libs * Revert libwebp to a static build * Dumb typo * Modify windows script to download our ffmpeg build (WIP) * Fix dlls output folder structure * Fix dumb mistake * Remove unused ffbuild_enabled * Enable core's heif feature on Windows - Fix windows ffmpeg build not including the headers - Fix windows setupt script incorrect download loagic - Implement build_arg to pass which repo ref to use when cloning * Fix windows setup script * Fix workflow artifact path - Make ffmpeg-windows dockerfile respect the FFMPEG_VERSION env * Fix Windows setup script incorrect logic for downloading ffmpeg builds * Error out when workflow_runs is empty * Fix dumb mistake * Manually define ffmpeg version for windows script * Fix ffmpeg windows build extract logic * Fix prop access in windows setup script * Revert back to a web request because nightly.link does a redirect before serving the artifact content * Fix windows setup script * Do not use nightly.link in Github CI * Fix windows setup script * Should finally fix window setup script - Update ffmpeg-windows deps - Should fix ffmpeg-windows failing to build due to mingw changes in new base image * Fix libxz failing to build due to doxygen * Fix windows setup-script not executing till the end * Fix LASTEXITCODE not defined * Remove libjxl, deps are not being compiled * Fix dll and lib copy logic * Move final copy dll logic to external script * Use main for libjxl * Change brotli from stable to main - Attempt to fix libjxl * Attempt fix lib copy again * Split copy_dll logic to avoid cache burst in docker * Missing file * Change how to export build files from shared deps * Replace rsync with cp * Fix copy * Fix dir not existing * Fix pkgconfig * Remove superflous files from exported ffmpeg for windows - Adjust dav1d to not build tools and examples - Adjust windows setup-script to point linker to the libs directory * Fix dav1d meson config args * Fix dumb mistake * WORK PLZ * Fix .lib file location - Strip all dlls * Formatter
90 lines
2.0 KiB
Bash
90 lines
2.0 KiB
Bash
#!/bin/bash
|
|
|
|
SCRIPT_REPO='https://github.com/FFmpeg/FFmpeg.git'
|
|
SCRIPT_BRANCH="release/${FFMPEG_VERSION:-6.0}"
|
|
|
|
ffbuild_dockerbuild() {
|
|
git-mini-clone "$SCRIPT_REPO" "$SCRIPT_BRANCH" ffmpeg
|
|
|
|
cd ffmpeg
|
|
|
|
./configure \
|
|
--cpu="x86_64" \
|
|
--arch='x86_64' \
|
|
--prefix="/opt/dlls" \
|
|
--target-os=mingw32 \
|
|
--pkg-config=pkg-config \
|
|
--pkg-config-flags="--static" \
|
|
--cross-prefix="$FFBUILD_CROSS_PREFIX" \
|
|
--disable-alsa \
|
|
--disable-debug \
|
|
--disable-doc \
|
|
--disable-indevs \
|
|
--disable-libplacebo \
|
|
--disable-neon-clobber-test \
|
|
--disable-network \
|
|
--disable-outdevs \
|
|
--disable-postproc \
|
|
--disable-programs \
|
|
--disable-schannel \
|
|
--disable-static \
|
|
--disable-v4l2-m2m \
|
|
--disable-vaapi \
|
|
--disable-vdpau \
|
|
--disable-w32threads \
|
|
--disable-xmm-clobber-test \
|
|
--enable-amf \
|
|
--enable-avcodec \
|
|
--enable-avfilter \
|
|
--enable-avformat \
|
|
--enable-bzlib \
|
|
--enable-cuda-llvm \
|
|
--enable-ffnvcodec \
|
|
--enable-gpl \
|
|
--enable-gray \
|
|
--enable-inline-asm \
|
|
--enable-libdav1d \
|
|
--enable-libjxl \
|
|
--enable-libkvazaar \
|
|
--enable-libmp3lame \
|
|
--enable-libopenjpeg \
|
|
--enable-libopus \
|
|
--enable-librav1e \
|
|
--enable-libshaderc \
|
|
--enable-libsoxr \
|
|
--enable-libtheora \
|
|
--enable-libtwolame \
|
|
--enable-libvmaf \
|
|
--enable-libvorbis \
|
|
--enable-libvpl \
|
|
--enable-libvpx \
|
|
--enable-libwebp \
|
|
--enable-libx264 \
|
|
--enable-libx265 \
|
|
--enable-libxvid \
|
|
--enable-libzimg \
|
|
--enable-lzma \
|
|
--enable-openal \
|
|
--enable-opencl \
|
|
--enable-opengl \
|
|
--enable-pic \
|
|
--enable-postproc \
|
|
--enable-pthreads \
|
|
--enable-shared \
|
|
--enable-small \
|
|
--enable-swscale \
|
|
--enable-version3 \
|
|
--enable-vulkan \
|
|
--enable-zlib \
|
|
--enable-cross-compile \
|
|
--extra-cflags='-DLIBTWOLAME_STATIC' \
|
|
--extra-cxxflags='' \
|
|
--extra-ldflags='-pthread' \
|
|
--extra-ldexeflags='' \
|
|
--extra-libs='-lgomp -lstdc++'
|
|
|
|
make -j"$(nproc)" V=1
|
|
|
|
make PREFIX="/opt/dlls" install
|
|
}
|