Skip to content

Instantly share code, notes, and snippets.

@Quackdoc
Created January 16, 2023 03:44
Show Gist options
  • Save Quackdoc/45dacfaabcadf6d3dac70e85048dd0f2 to your computer and use it in GitHub Desktop.
Save Quackdoc/45dacfaabcadf6d3dac70e85048dd0f2 to your computer and use it in GitHub Desktop.
Build ffmpeg audio Msys
build() {
CFLAGS+=" -DWIN32"
CXXFLAGS+=" -DWIN32"
#export PKG_CONFIG_PATH=/mingw64/lib/pkgconfig/
local -a common_config
common_config+=(
#disable block
#--disable-avdevice
#--disable-swscale #mpv needs this
--disable-postproc
#--disable-ffmpeg
#--disable-ffplay
--disable-autodetect
--disable-iconv
--disable-zlib
--disable-bzlib
--disable-lzma
--disable-sdl2
--disable-schannel
--disable-securetransport
--disable-xlib
--disable-muxers
--disable-demuxers
--disable-hwaccels #disables audiotoolbox and some apple specific stuff?
--disable-d3d11va
--disable-nvenc
--disable-dxva2
--disable-bsfs
--disable-filters
--disable-parsers
--disable-indevs
--disable-outdevs
--disable-encoders
--disable-decoders
--disable-bsfs
#demuxers
--enable-demuxer=image2
--enable-demuxer=aac
--enable-demuxer=ac3
--enable-demuxer=aiff
--enable-demuxer=ape
--enable-demuxer=asf
--enable-demuxer=au
--enable-demuxer=avi
--enable-demuxer=flac
--enable-demuxer=flv
--enable-demuxer=matroska
--enable-demuxer=mov
--enable-demuxer=m4v
--enable-demuxer=mp3
--enable-demuxer=mpc*
--enable-demuxer=ogg
--enable-demuxer=pcm*
--enable-demuxer=rm
--enable-demuxer=shorten
--enable-demuxer=tak
--enable-demuxer=tta
--enable-demuxer=wav
--enable-demuxer=wv
--enable-demuxer=xwma
--enable-demuxer=dsf
--enable-demuxer=dts
--enable-demuxer=truehd
#decoders
--enable-decoder=aac*
--enable-decoder=ac3
--enable-decoder=alac
--enable-decoder=als
--enable-decoder=ape
--enable-decoder=atrac*
--enable-decoder=eac3
--enable-decoder=flac
--enable-decoder=gsm*
--enable-decoder=mp1*
--enable-decoder=mp2*
--enable-decoder=mp3*
--enable-decoder=mpc*
--enable-decoder=opus
--enable-decoder=ra*
--enable-decoder=ralf
--enable-decoder=shorten
--enable-decoder=tak
--enable-decoder=tta
--enable-decoder=vorbis
--enable-decoder=wavpack
--enable-decoder=wma*
--enable-decoder=pcm*
--enable-decoder=dsd*
--enable-decoder=truehd
--enable-decoder=mjpeg
#parsers
--enable-parser=aac*
--enable-parser=ac3
--enable-parser=cook
--enable-parser=dca
--enable-parser=flac
--enable-parser=gsm
--enable-parser=mpegaudio
--enable-parser=tak
--enable-parser=vorbis
#misc
--enable-zlib #needed for rasc
#General config
#--pkg-config=pkgconf
--pkg-config-flags="--static --keep-system-libs --keep-system-cflags"
--disable-shared
)
for _variant in -static; do
mkdir -p "${srcdir}/build-${MSYSTEM}${_variant}" && cd "${srcdir}/build-${MSYSTEM}${_variant}"
../${_realname}-${pkgver}/configure \
--prefix=${MINGW_PREFIX} \
--target-os=mingw64 \
--arch=${CARCH%%-*} \
--cc=${CC} \
--cxx=${CXX} \
"${common_config[@]}" \
--logfile=config.log \
||
{
cat config.log
exit 1
}
make -j6 VERBOSE=1
done
}
package() {
for _variant in -static; do
cd "${srcdir}/build-${MSYSTEM}${_variant}"
make DESTDIR="${pkgdir}" install
done
rm -f ${pkgdir}/${MINGW_PREFIX}/lib/*.def
rm -f ${pkgdir}/${MINGW_PREFIX}/bin/*.lib
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment