2022-06-03 15:38:10 +03:00
#!/bin/bash
HOST_PKG_CONFIG_PATH = $( command -v pkg-config)
if [ -z " ${ HOST_PKG_CONFIG_PATH } " ] ; then
echo -e "\n(*) pkg-config command not found\n"
exit 1
fi
LIB_NAME = "ffmpeg"
echo -e "----------------------------------------------------------------" 1>>" ${ BASEDIR } " /build.log 2>& 1
echo -e " \nINFO: Building ${ LIB_NAME } for ${ HOST } with the following environment variables\n " 1>>" ${ BASEDIR } " /build.log 2>& 1
env 1>>" ${ BASEDIR } " /build.log 2>& 1
echo -e "----------------------------------------------------------------\n" 1>>" ${ BASEDIR } " /build.log 2>& 1
echo -e "INFO: System information\n" 1>>" ${ BASEDIR } " /build.log 2>& 1
echo -e " INFO: $( uname -a) \n " 1>>" ${ BASEDIR } " /build.log 2>& 1
echo -e "----------------------------------------------------------------\n" 1>>" ${ BASEDIR } " /build.log 2>& 1
FFMPEG_LIBRARY_PATH = " ${ LIB_INSTALL_BASE } / ${ LIB_NAME } "
# SET PATHS
set_toolchain_paths " ${ LIB_NAME } "
# SET BUILD FLAGS
HOST = $( get_host)
export CFLAGS = $( get_cflags " ${ LIB_NAME } " )
export CXXFLAGS = $( get_cxxflags " ${ LIB_NAME } " )
export LDFLAGS = $( get_ldflags " ${ LIB_NAME } " )
export PKG_CONFIG_PATH = " ${ INSTALL_PKG_CONFIG_DIR } : $( pkg-config --variable pc_path pkg-config) "
echo -e " \nINFO: Using PKG_CONFIG_PATH: ${ PKG_CONFIG_PATH } \n " 1>>" ${ BASEDIR } " /build.log 2>& 1
cd " ${ BASEDIR } " /src/" ${ LIB_NAME } " 1>>" ${ BASEDIR } " /build.log 2>& 1 || return 1
# SET BUILD OPTIONS
TARGET_CPU = ""
TARGET_ARCH = ""
ASM_OPTIONS = ""
case ${ ARCH } in
x86-64)
TARGET_CPU = "x86_64"
TARGET_ARCH = "x86_64"
ASM_OPTIONS = " --disable-neon --enable-asm --enable-inline-asm"
; ;
esac
CONFIGURE_POSTFIX = ""
HIGH_PRIORITY_INCLUDES = ""
# SET CONFIGURE OPTIONS
2022-08-02 21:48:54 +03:00
for library in { 0..91} ; do
2022-06-03 15:38:10 +03:00
if [ [ ${ ENABLED_LIBRARIES [ $library ] } -eq 1 ] ] ; then
ENABLED_LIBRARY = $( get_library_name ${ library } )
echo -e " INFO: Enabling library ${ ENABLED_LIBRARY } \n " 1>>" ${ BASEDIR } " /build.log 2>& 1
case ${ ENABLED_LIBRARY } in
linux-alsa)
CONFIGURE_POSTFIX += " --enable-alsa"
; ;
linux-fontconfig)
CONFIGURE_POSTFIX += " --enable-libfontconfig"
; ;
linux-freetype)
CONFIGURE_POSTFIX += " --enable-libfreetype"
; ;
linux-fribidi)
CONFIGURE_POSTFIX += " --enable-libfribidi"
; ;
linux-gmp)
CONFIGURE_POSTFIX += " --enable-gmp"
; ;
linux-gnutls)
CONFIGURE_POSTFIX += " --enable-gnutls"
; ;
linux-lame)
CONFIGURE_POSTFIX += " --enable-libmp3lame"
; ;
linux-libass)
CONFIGURE_POSTFIX += " --enable-libass"
; ;
linux-libiconv)
CONFIGURE_POSTFIX += " --enable-iconv"
; ;
linux-libtheora)
CONFIGURE_POSTFIX += " --enable-libtheora"
; ;
linux-libvidstab)
CONFIGURE_POSTFIX += " --enable-libvidstab"
; ;
linux-libvorbis)
CONFIGURE_POSTFIX += " --enable-libvorbis"
; ;
linux-libvpx)
CONFIGURE_POSTFIX += " --enable-libvpx"
; ;
linux-libwebp)
CONFIGURE_POSTFIX += " --enable-libwebp"
; ;
linux-libxml2)
CONFIGURE_POSTFIX += " --enable-libxml2"
; ;
linux-opencl)
CONFIGURE_POSTFIX += " --enable-opencl"
; ;
linux-opencore-amr)
CONFIGURE_POSTFIX += " --enable-libopencore-amrnb"
; ;
linux-opus)
CONFIGURE_POSTFIX += " --enable-libopus"
; ;
linux-rubberband)
CONFIGURE_POSTFIX += " --enable-librubberband"
; ;
linux-sdl)
CONFIGURE_POSTFIX += " --enable-sdl2"
; ;
linux-shine)
CONFIGURE_POSTFIX += " --enable-libshine"
; ;
linux-snappy)
CONFIGURE_POSTFIX += " --enable-libsnappy"
; ;
linux-soxr)
CONFIGURE_POSTFIX += " --enable-libsoxr"
; ;
linux-speex)
CONFIGURE_POSTFIX += " --enable-libspeex"
; ;
linux-tesseract)
CONFIGURE_POSTFIX += " --enable-libtesseract"
; ;
linux-twolame)
CONFIGURE_POSTFIX += " --enable-libtwolame"
; ;
linux-vaapi)
CONFIGURE_POSTFIX += " --enable-vaapi"
; ;
linux-vo-amrwbenc)
CONFIGURE_POSTFIX += " --enable-libvo-amrwbenc"
; ;
linux-v4l2)
CONFIGURE_POSTFIX += " --enable-libv4l2"
; ;
linux-x265)
CONFIGURE_POSTFIX += " --enable-libx265"
; ;
linux-xvidcore)
CONFIGURE_POSTFIX += " --enable-libxvid"
; ;
linux-zlib)
CONFIGURE_POSTFIX += " --enable-zlib"
; ;
2022-08-02 21:48:54 +03:00
chromaprint)
CFLAGS += " $( pkg-config --cflags libchromaprint 2>>" ${ BASEDIR } " /build.log) "
LDFLAGS += " $( pkg-config --libs --static libchromaprint 2>>" ${ BASEDIR } " /build.log) "
CONFIGURE_POSTFIX += " --enable-chromaprint"
; ;
2022-06-03 15:38:10 +03:00
dav1d)
CFLAGS += " $( pkg-config --cflags dav1d 2>>" ${ BASEDIR } " /build.log) "
LDFLAGS += " $( pkg-config --libs --static dav1d 2>>" ${ BASEDIR } " /build.log) "
CONFIGURE_POSTFIX += " --enable-libdav1d"
; ;
kvazaar)
CFLAGS += " $( pkg-config --cflags kvazaar 2>>" ${ BASEDIR } " /build.log) "
LDFLAGS += " $( pkg-config --libs --static kvazaar 2>>" ${ BASEDIR } " /build.log) "
CONFIGURE_POSTFIX += " --enable-libkvazaar"
; ;
libilbc)
CFLAGS += " $( pkg-config --cflags libilbc 2>>" ${ BASEDIR } " /build.log) "
LDFLAGS += " $( pkg-config --libs --static libilbc 2>>" ${ BASEDIR } " /build.log) "
CONFIGURE_POSTFIX += " --enable-libilbc"
; ;
libaom)
CFLAGS += " $( pkg-config --cflags aom 2>>" ${ BASEDIR } " /build.log) "
LDFLAGS += " $( pkg-config --libs --static aom 2>>" ${ BASEDIR } " /build.log) "
CONFIGURE_POSTFIX += " --enable-libaom"
; ;
openh264)
CFLAGS += " $( pkg-config --cflags openh264 2>>" ${ BASEDIR } " /build.log) "
LDFLAGS += " $( pkg-config --libs --static openh264 2>>" ${ BASEDIR } " /build.log) "
CONFIGURE_POSTFIX += " --enable-libopenh264"
; ;
openssl)
CFLAGS += " $( pkg-config --cflags openssl 2>>" ${ BASEDIR } " /build.log) "
LDFLAGS += " $( pkg-config --libs --static openssl 2>>" ${ BASEDIR } " /build.log) "
CONFIGURE_POSTFIX += " --enable-openssl"
; ;
srt)
CFLAGS += " $( pkg-config --cflags srt 2>>" ${ BASEDIR } " /build.log) "
LDFLAGS += " $( pkg-config --libs --static srt 2>>" ${ BASEDIR } " /build.log) "
CONFIGURE_POSTFIX += " --enable-libsrt"
; ;
x264)
CFLAGS += " $( pkg-config --cflags x264 2>>" ${ BASEDIR } " /build.log) "
LDFLAGS += " $( pkg-config --libs --static x264 2>>" ${ BASEDIR } " /build.log) "
CONFIGURE_POSTFIX += " --enable-libx264"
; ;
zimg)
CFLAGS += " $( pkg-config --cflags zimg 2>>" ${ BASEDIR } " /build.log) "
LDFLAGS += " $( pkg-config --libs --static zimg 2>>" ${ BASEDIR } " /build.log) "
CONFIGURE_POSTFIX += " --enable-libzimg"
; ;
esac
else
# THE FOLLOWING LIBRARIES SHOULD BE EXPLICITLY DISABLED TO PREVENT AUTODETECT
# NOTE THAT IDS MUST BE +1 OF THE INDEX VALUE
if [ [ ${ library } -eq ${ LIBRARY_LINUX_ALSA } ] ] ; then
CONFIGURE_POSTFIX += " --disable-alsa"
elif [ [ ${ library } -eq ${ LIBRARY_LINUX_FONTCONFIG } ] ] ; then
CONFIGURE_POSTFIX += " --disable-libfontconfig"
elif [ [ ${ library } -eq ${ LIBRARY_LINUX_FREETYPE } ] ] ; then
CONFIGURE_POSTFIX += " --disable-libfreetype"
elif [ [ ${ library } -eq ${ LIBRARY_LINUX_FRIBIDI } ] ] ; then
CONFIGURE_POSTFIX += " --disable-libfribidi"
elif [ [ ${ library } -eq ${ LIBRARY_LINUX_GMP } ] ] ; then
CONFIGURE_POSTFIX += " --disable-gmp"
elif [ [ ${ library } -eq ${ LIBRARY_LINUX_GNUTLS } ] ] ; then
CONFIGURE_POSTFIX += " --disable-gnutls"
elif [ [ ${ library } -eq ${ LIBRARY_LINUX_LAME } ] ] ; then
CONFIGURE_POSTFIX += " --disable-libmp3lame"
elif [ [ ${ library } -eq ${ LIBRARY_LINUX_LIBASS } ] ] ; then
CONFIGURE_POSTFIX += " --disable-libass"
elif [ [ ${ library } -eq ${ LIBRARY_LINUX_LIBICONV } ] ] ; then
CONFIGURE_POSTFIX += " --disable-iconv"
elif [ [ ${ library } -eq ${ LIBRARY_LINUX_LIBTHEORA } ] ] ; then
CONFIGURE_POSTFIX += " --disable-libtheora"
elif [ [ ${ library } -eq ${ LIBRARY_LINUX_LIBVIDSTAB } ] ] ; then
CONFIGURE_POSTFIX += " --disable-libvidstab"
elif [ [ ${ library } -eq ${ LIBRARY_LINUX_LIBVORBIS } ] ] ; then
CONFIGURE_POSTFIX += " --disable-libvorbis"
elif [ [ ${ library } -eq ${ LIBRARY_LINUX_LIBVPX } ] ] ; then
CONFIGURE_POSTFIX += " --disable-libvpx"
elif [ [ ${ library } -eq ${ LIBRARY_LINUX_LIBWEBP } ] ] ; then
CONFIGURE_POSTFIX += " --disable-libwebp"
elif [ [ ${ library } -eq ${ LIBRARY_LINUX_LIBXML2 } ] ] ; then
CONFIGURE_POSTFIX += " --disable-libxml2"
elif [ [ ${ library } -eq ${ LIBRARY_LINUX_OPENCOREAMR } ] ] ; then
CONFIGURE_POSTFIX += " --disable-libopencore-amrnb"
elif [ [ ${ library } -eq ${ LIBRARY_LINUX_OPUS } ] ] ; then
CONFIGURE_POSTFIX += " --disable-libopus"
elif [ [ ${ library } -eq ${ LIBRARY_LINUX_RUBBERBAND } ] ] ; then
CONFIGURE_POSTFIX += " --disable-librubberband"
elif [ [ ${ library } -eq ${ LIBRARY_LINUX_SDL } ] ] ; then
CONFIGURE_POSTFIX += " --disable-sdl2"
elif [ [ ${ library } -eq ${ LIBRARY_LINUX_SHINE } ] ] ; then
CONFIGURE_POSTFIX += " --disable-libshine"
elif [ [ ${ library } -eq ${ LIBRARY_LINUX_SNAPPY } ] ] ; then
CONFIGURE_POSTFIX += " --disable-libsnappy"
elif [ [ ${ library } -eq ${ LIBRARY_LINUX_SOXR } ] ] ; then
CONFIGURE_POSTFIX += " --disable-libsoxr"
elif [ [ ${ library } -eq ${ LIBRARY_LINUX_SPEEX } ] ] ; then
CONFIGURE_POSTFIX += " --disable-libspeex"
elif [ [ ${ library } -eq ${ LIBRARY_LINUX_TESSERACT } ] ] ; then
CONFIGURE_POSTFIX += " --disable-libtesseract"
elif [ [ ${ library } -eq ${ LIBRARY_LINUX_TWOLAME } ] ] ; then
CONFIGURE_POSTFIX += " --disable-libtwolame"
elif [ [ ${ library } -eq ${ LIBRARY_LINUX_VO_AMRWBENC } ] ] ; then
CONFIGURE_POSTFIX += " --disable-libvo-amrwbenc"
elif [ [ ${ library } -eq ${ LIBRARY_LINUX_X265 } ] ] ; then
CONFIGURE_POSTFIX += " --disable-libx265"
elif [ [ ${ library } -eq ${ LIBRARY_LINUX_XVIDCORE } ] ] ; then
CONFIGURE_POSTFIX += " --disable-libxvid"
elif [ [ ${ library } -eq ${ LIBRARY_SYSTEM_ZLIB } ] ] ; then
CONFIGURE_POSTFIX += " --disable-zlib"
2022-08-02 21:48:54 +03:00
elif [ [ ${ library } -eq ${ LIBRARY_CHROMAPRINT } ] ] ; then
CONFIGURE_POSTFIX += " --disable-chromaprint"
2022-06-03 15:38:10 +03:00
elif [ [ ${ library } -eq ${ LIBRARY_DAV1D } ] ] ; then
CONFIGURE_POSTFIX += " --disable-libdav1d"
elif [ [ ${ library } -eq ${ LIBRARY_KVAZAAR } ] ] ; then
CONFIGURE_POSTFIX += " --disable-libkvazaar"
elif [ [ ${ library } -eq ${ LIBRARY_LIBILBC } ] ] ; then
CONFIGURE_POSTFIX += " --disable-libilbc"
elif [ [ ${ library } -eq ${ LIBRARY_LIBAOM } ] ] ; then
CONFIGURE_POSTFIX += " --disable-libaom"
elif [ [ ${ library } -eq ${ LIBRARY_OPENH264 } ] ] ; then
CONFIGURE_POSTFIX += " --disable-libopenh264"
elif [ [ ${ library } -eq ${ LIBRARY_OPENSSL } ] ] ; then
CONFIGURE_POSTFIX += " --disable-openssl"
elif [ [ ${ library } -eq ${ LIBRARY_SRT } ] ] ; then
CONFIGURE_POSTFIX += " --disable-libsrt"
elif [ [ ${ library } -eq ${ LIBRARY_X264 } ] ] ; then
CONFIGURE_POSTFIX += " --disable-libx264"
elif [ [ ${ library } -eq ${ LIBRARY_ZIMG } ] ] ; then
CONFIGURE_POSTFIX += " --disable-libzimg"
fi
fi
done
# SET CONFIGURE OPTIONS FOR CUSTOM LIBRARIES
for custom_library_index in " ${ CUSTOM_LIBRARIES [@] } " ; do
library_name = " CUSTOM_LIBRARY_ ${ custom_library_index } _NAME "
pc_file_name = " CUSTOM_LIBRARY_ ${ custom_library_index } _PACKAGE_CONFIG_FILE_NAME "
ffmpeg_flag_name = " CUSTOM_LIBRARY_ ${ custom_library_index } _FFMPEG_ENABLE_FLAG "
echo -e " INFO: Enabling custom library ${ !library_name } \n " 1>>" ${ BASEDIR } " /build.log 2>& 1
CFLAGS += " $( pkg-config --cflags ${ !pc_file_name } 2>>" ${ BASEDIR } " /build.log) "
LDFLAGS += " $( pkg-config --libs --static ${ !pc_file_name } 2>>" ${ BASEDIR } " /build.log) "
CONFIGURE_POSTFIX += " --enable- ${ !ffmpeg_flag_name } "
done
# SET ENABLE GPL FLAG WHEN REQUESTED
if [ " $GPL_ENABLED " = = "yes" ] ; then
CONFIGURE_POSTFIX += " --enable-gpl"
fi
# ALWAYS BUILD SHARED LIBRARIES
BUILD_LIBRARY_OPTIONS = "--disable-static --enable-shared"
# OPTIMIZE FOR SPEED INSTEAD OF SIZE
if [ [ -z ${ FFMPEG_KIT_OPTIMIZED_FOR_SPEED } ] ] ; then
SIZE_OPTIONS = "--enable-small"
else
SIZE_OPTIONS = ""
fi
# SET DEBUG OPTIONS
if [ [ -z ${ FFMPEG_KIT_DEBUG } ] ] ; then
# SET LTO FLAGS
if [ [ -z ${ NO_LINK_TIME_OPTIMIZATION } ] ] ; then
DEBUG_OPTIONS = "--disable-debug --enable-lto"
else
DEBUG_OPTIONS = "--disable-debug --disable-lto"
fi
else
DEBUG_OPTIONS = "--enable-debug --disable-stripping"
fi
echo -n -e " \n ${ LIB_NAME } : "
if [ [ -z ${ NO_WORKSPACE_CLEANUP_ffmpeg } ] ] ; then
echo -e " INFO: Cleaning workspace for ${ LIB_NAME } \n " 1>>" ${ BASEDIR } " /build.log 2>& 1
make distclean 2>/dev/null 1>/dev/null
# WORKAROUND TO MANUALLY DELETE UNCLEANED FILES
rm -f " ${ BASEDIR } " /src/" ${ LIB_NAME } " /libavfilter/opencl/*.o 1>>" ${ BASEDIR } " /build.log 2>& 1
rm -f " ${ BASEDIR } " /src/" ${ LIB_NAME } " /libavcodec/neon/*.o 1>>" ${ BASEDIR } " /build.log 2>& 1
# DELETE SHARED FRAMEWORK WORKAROUNDS
git checkout " ${ BASEDIR } /src/ffmpeg/ffbuild " 1>>" ${ BASEDIR } " /build.log 2>& 1
fi
# USE HIGHER LIMITS FOR FFMPEG LINKING
ulimit -n 2048 1>>" ${ BASEDIR } " /build.log 2>& 1
########################### CUSTOMIZATIONS #######################
cd " ${ BASEDIR } " /src/" ${ LIB_NAME } " 1>>" ${ BASEDIR } " /build.log 2>& 1 || return 1
git checkout libavformat/file.c 1>>" ${ BASEDIR } " /build.log 2>& 1
git checkout libavformat/protocols.c 1>>" ${ BASEDIR } " /build.log 2>& 1
git checkout libavutil 1>>" ${ BASEDIR } " /build.log 2>& 1
# 1. Use thread local log levels
${ SED_INLINE } 's/static int av_log_level/__thread int av_log_level/g' " ${ BASEDIR } " /src/" ${ LIB_NAME } " /libavutil/log.c 1>>" ${ BASEDIR } " /build.log 2>& 1 || return 1
# 2. Set friendly ffmpeg version
FFMPEG_VERSION = " v $( get_user_friendly_ffmpeg_version) "
${ SED_INLINE } " s/\$version/ $FFMPEG_VERSION /g " " ${ BASEDIR } " /src/" ${ LIB_NAME } " /ffbuild/version.sh 1>>" ${ BASEDIR } " /build.log 2>& 1 || return 1
###################################################################
./configure \
--cross-prefix= " ${ HOST } - " \
--prefix= " ${ FFMPEG_LIBRARY_PATH } " \
--pkg-config= " ${ HOST_PKG_CONFIG_PATH } " \
--enable-version3 \
--arch= " ${ TARGET_ARCH } " \
--cpu= " ${ TARGET_CPU } " \
--target-os= linux \
${ ASM_OPTIONS } \
--ar= " ${ AR } " \
--cc= " ${ CC } " \
--cxx= " ${ CXX } " \
--ranlib= " ${ RANLIB } " \
--strip= " ${ STRIP } " \
--nm= " ${ NM } " \
--disable-autodetect \
--enable-cross-compile \
--enable-pic \
--enable-optimizations \
--enable-swscale \
${ BUILD_LIBRARY_OPTIONS } \
--enable-pthreads \
--enable-v4l2-m2m \
--disable-outdev= fbdev \
--disable-indev= fbdev \
${ SIZE_OPTIONS } \
--disable-xmm-clobber-test \
${ DEBUG_OPTIONS } \
--disable-neon-clobber-test \
--disable-programs \
--disable-postproc \
--disable-doc \
--disable-htmlpages \
--disable-manpages \
--disable-podpages \
--disable-txtpages \
--disable-sndio \
--disable-schannel \
--disable-securetransport \
--disable-xlib \
--disable-cuda \
--disable-cuvid \
--disable-nvenc \
--disable-vaapi \
--disable-vdpau \
--disable-videotoolbox \
--disable-audiotoolbox \
--disable-appkit \
--disable-cuda \
--disable-cuvid \
--disable-nvenc \
--disable-vaapi \
--disable-vdpau \
${ CONFIGURE_POSTFIX } 1>>" ${ BASEDIR } " /build.log 2>& 1
if [ [ $? -ne 0 ] ] ; then
echo -e "failed\n\nSee build.log for details\n"
exit 1
fi
if [ [ -z ${ NO_OUTPUT_REDIRECTION } ] ] ; then
make -j$( get_cpu_count) 1>>" ${ BASEDIR } " /build.log 2>& 1
if [ [ $? -ne 0 ] ] ; then
echo -e "failed\n\nSee build.log for details\n"
exit 1
fi
else
echo -e "started\n"
make -j$( get_cpu_count)
if [ [ $? -ne 0 ] ] ; then
echo -n -e " \n ${ LIB_NAME } : failed\n\nSee build.log for details\n "
exit 1
else
echo -n -e " \n ${ LIB_NAME } : "
fi
fi
# DELETE THE PREVIOUS BUILD OF THE LIBRARY BEFORE INSTALLING
if [ -d " ${ FFMPEG_LIBRARY_PATH } " ] ; then
rm -rf " ${ FFMPEG_LIBRARY_PATH } " 1>>" ${ BASEDIR } " /build.log 2>& 1 || return 1
fi
make install 1>>" ${ BASEDIR } " /build.log 2>& 1
if [ [ $? -ne 0 ] ] ; then
echo -e "failed\n\nSee build.log for details\n"
exit 1
fi
2022-08-02 01:32:16 +03:00
# MANUALLY COPY PKG-CONFIG FILES
overwrite_file " ${ FFMPEG_LIBRARY_PATH } " /lib/pkgconfig/libavformat.pc " ${ INSTALL_PKG_CONFIG_DIR } /libavformat.pc " || return 1
overwrite_file " ${ FFMPEG_LIBRARY_PATH } " /lib/pkgconfig/libswresample.pc " ${ INSTALL_PKG_CONFIG_DIR } /libswresample.pc " || return 1
overwrite_file " ${ FFMPEG_LIBRARY_PATH } " /lib/pkgconfig/libswscale.pc " ${ INSTALL_PKG_CONFIG_DIR } /libswscale.pc " || return 1
overwrite_file " ${ FFMPEG_LIBRARY_PATH } " /lib/pkgconfig/libavdevice.pc " ${ INSTALL_PKG_CONFIG_DIR } /libavdevice.pc " || return 1
overwrite_file " ${ FFMPEG_LIBRARY_PATH } " /lib/pkgconfig/libavfilter.pc " ${ INSTALL_PKG_CONFIG_DIR } /libavfilter.pc " || return 1
overwrite_file " ${ FFMPEG_LIBRARY_PATH } " /lib/pkgconfig/libavcodec.pc " ${ INSTALL_PKG_CONFIG_DIR } /libavcodec.pc " || return 1
overwrite_file " ${ FFMPEG_LIBRARY_PATH } " /lib/pkgconfig/libavutil.pc " ${ INSTALL_PKG_CONFIG_DIR } /libavutil.pc " || return 1
2022-06-03 15:38:10 +03:00
# MANUALLY ADD REQUIRED HEADERS
mkdir -p " ${ FFMPEG_LIBRARY_PATH } " /include/libavutil/x86 1>>" ${ BASEDIR } " /build.log 2>& 1
mkdir -p " ${ FFMPEG_LIBRARY_PATH } " /include/libavutil/arm 1>>" ${ BASEDIR } " /build.log 2>& 1
mkdir -p " ${ FFMPEG_LIBRARY_PATH } " /include/libavutil/aarch64 1>>" ${ BASEDIR } " /build.log 2>& 1
mkdir -p " ${ FFMPEG_LIBRARY_PATH } " /include/libavcodec/x86 1>>" ${ BASEDIR } " /build.log 2>& 1
mkdir -p " ${ FFMPEG_LIBRARY_PATH } " /include/libavcodec/arm 1>>" ${ BASEDIR } " /build.log 2>& 1
overwrite_file " ${ BASEDIR } " /src/ffmpeg/config.h " ${ FFMPEG_LIBRARY_PATH } " /include/config.h 1>>" ${ BASEDIR } " /build.log 2>& 1
overwrite_file " ${ BASEDIR } " /src/ffmpeg/libavcodec/mathops.h " ${ FFMPEG_LIBRARY_PATH } " /include/libavcodec/mathops.h 1>>" ${ BASEDIR } " /build.log 2>& 1
overwrite_file " ${ BASEDIR } " /src/ffmpeg/libavcodec/x86/mathops.h " ${ FFMPEG_LIBRARY_PATH } " /include/libavcodec/x86/mathops.h 1>>" ${ BASEDIR } " /build.log 2>& 1
overwrite_file " ${ BASEDIR } " /src/ffmpeg/libavcodec/arm/mathops.h " ${ FFMPEG_LIBRARY_PATH } " /include/libavcodec/arm/mathops.h 1>>" ${ BASEDIR } " /build.log 2>& 1
overwrite_file " ${ BASEDIR } " /src/ffmpeg/libavformat/network.h " ${ FFMPEG_LIBRARY_PATH } " /include/libavformat/network.h 1>>" ${ BASEDIR } " /build.log 2>& 1
overwrite_file " ${ BASEDIR } " /src/ffmpeg/libavformat/os_support.h " ${ FFMPEG_LIBRARY_PATH } " /include/libavformat/os_support.h 1>>" ${ BASEDIR } " /build.log 2>& 1
overwrite_file " ${ BASEDIR } " /src/ffmpeg/libavformat/url.h " ${ FFMPEG_LIBRARY_PATH } " /include/libavformat/url.h 1>>" ${ BASEDIR } " /build.log 2>& 1
overwrite_file " ${ BASEDIR } " /src/ffmpeg/libavutil/internal.h " ${ FFMPEG_LIBRARY_PATH } " /include/libavutil/internal.h 1>>" ${ BASEDIR } " /build.log 2>& 1
overwrite_file " ${ BASEDIR } " /src/ffmpeg/libavutil/libm.h " ${ FFMPEG_LIBRARY_PATH } " /include/libavutil/libm.h 1>>" ${ BASEDIR } " /build.log 2>& 1
overwrite_file " ${ BASEDIR } " /src/ffmpeg/libavutil/reverse.h " ${ FFMPEG_LIBRARY_PATH } " /include/libavutil/reverse.h 1>>" ${ BASEDIR } " /build.log 2>& 1
overwrite_file " ${ BASEDIR } " /src/ffmpeg/libavutil/thread.h " ${ FFMPEG_LIBRARY_PATH } " /include/libavutil/thread.h 1>>" ${ BASEDIR } " /build.log 2>& 1
overwrite_file " ${ BASEDIR } " /src/ffmpeg/libavutil/timer.h " ${ FFMPEG_LIBRARY_PATH } " /include/libavutil/timer.h 1>>" ${ BASEDIR } " /build.log 2>& 1
overwrite_file " ${ BASEDIR } " /src/ffmpeg/libavutil/x86/asm.h " ${ FFMPEG_LIBRARY_PATH } " /include/libavutil/x86/asm.h 1>>" ${ BASEDIR } " /build.log 2>& 1
overwrite_file " ${ BASEDIR } " /src/ffmpeg/libavutil/x86/timer.h " ${ FFMPEG_LIBRARY_PATH } " /include/libavutil/x86/timer.h 1>>" ${ BASEDIR } " /build.log 2>& 1
overwrite_file " ${ BASEDIR } " /src/ffmpeg/libavutil/arm/timer.h " ${ FFMPEG_LIBRARY_PATH } " /include/libavutil/arm/timer.h 1>>" ${ BASEDIR } " /build.log 2>& 1
overwrite_file " ${ BASEDIR } " /src/ffmpeg/libavutil/aarch64/timer.h " ${ FFMPEG_LIBRARY_PATH } " /include/libavutil/aarch64/timer.h 1>>" ${ BASEDIR } " /build.log 2>& 1
overwrite_file " ${ BASEDIR } " /src/ffmpeg/libavutil/x86/emms.h " ${ FFMPEG_LIBRARY_PATH } " /include/libavutil/x86/emms.h 1>>" ${ BASEDIR } " /build.log 2>& 1
if [ $? -eq 0 ] ; then
echo "ok"
else
echo -e "failed\n\nSee build.log for details\n"
exit 1
fi