mirror of
https://github.com/ossrs/srs.git
synced 2025-03-09 15:49:59 +00:00
Build: Support --shared-ffmpeg
This commit is contained in:
parent
785d2fce08
commit
f75ef2f808
12 changed files with 74 additions and 46 deletions
|
@ -636,6 +636,10 @@ if [ ! -f ${SRS_OBJS}/srtp2/lib/libsrtp2.a ]; then echo "Build libsrtp-2-fit sta
|
|||
# libopus, for WebRTC to transcode AAC with Opus.
|
||||
#####################################################################################
|
||||
if [[ $SRS_RTC == YES ]]; then
|
||||
# Only build static libraries if no shared FFmpeg.
|
||||
if [[ $SRS_SHARED_FFMPEG == NO ]]; then
|
||||
OPUS_OPTIONS="--disable-shared"
|
||||
fi
|
||||
if [[ -f ${SRS_OBJS}/${SRS_PLATFORM}/opus-1.3.1/_release/lib/libopus.a ]]; then
|
||||
echo "The opus-1.3.1 is ok.";
|
||||
else
|
||||
|
@ -643,7 +647,7 @@ if [[ $SRS_RTC == YES ]]; then
|
|||
(
|
||||
rm -rf ${SRS_OBJS}/${SRS_PLATFORM}/opus-1.3.1 && cd ${SRS_OBJS}/${SRS_PLATFORM} &&
|
||||
tar xf ../../3rdparty/opus-1.3.1.tar.gz && cd opus-1.3.1 &&
|
||||
./configure --prefix=`pwd`/_release --enable-static --disable-shared && make ${SRS_JOBS} && make install
|
||||
./configure --prefix=`pwd`/_release --enable-static $OPUS_OPTIONS && make ${SRS_JOBS} && make install
|
||||
cd .. && rm -rf opus && ln -sf opus-1.3.1/_release opus
|
||||
)
|
||||
fi
|
||||
|
@ -669,6 +673,10 @@ if [[ $SRS_FFMPEG_FIT == YES ]]; then
|
|||
nasm -v >/dev/null 2>&1; ret=$?; if [[ 0 -ne $ret ]]; then
|
||||
FFMPEG_OPTIONS="--disable-x86asm"
|
||||
fi
|
||||
# Only build static libraries if no shared FFmpeg.
|
||||
if [[ $SRS_SHARED_FFMPEG == YES ]]; then
|
||||
FFMPEG_OPTIONS="$FFMPEG_OPTIONS --enable-shared"
|
||||
fi
|
||||
|
||||
if [[ -f ${SRS_OBJS}/${SRS_PLATFORM}/ffmpeg-4-fit/_release/lib/libavcodec.a ]]; then
|
||||
echo "The ffmpeg-4-fit is ok.";
|
||||
|
|
|
@ -40,9 +40,14 @@ SRS_PREFIX=/usr/local/srs
|
|||
SRS_JOBS=1
|
||||
SRS_STATIC=NO
|
||||
# If enabled, link shared libraries for libst.so which uses MPL license.
|
||||
# See https://github.com/ossrs/srs/wiki/LicenseMixing#state-threads
|
||||
SRS_SHARED_ST=NO
|
||||
# If enabled, link shared libraries for libsrt.so which uses MPL license.
|
||||
# See https://github.com/ossrs/srs/wiki/LicenseMixing#srt
|
||||
SRS_SHARED_SRT=NO
|
||||
# If enabled, link shared libraries for FFmpeg which is LGPL license.
|
||||
# See https://github.com/ossrs/srs/wiki/LicenseMixing#ffmpeg
|
||||
SRS_SHARED_FFMPEG=NO
|
||||
# whether enable the gcov
|
||||
SRS_GCOV=NO
|
||||
# whether enable the log verbose/info/trace level.
|
||||
|
@ -149,8 +154,9 @@ Experts:
|
|||
--sys-ssl=on|off Do not compile ssl, use system ssl(-lssl) if required. Default: $(value2switch $SRS_USE_SYS_SSL)
|
||||
--ssl-1-0=on|off Whether use openssl-1.0.*. Default: $(value2switch $SRS_SSL_1_0)
|
||||
--ssl-local=on|off Whether use local openssl, not system even exists. Default: $(value2switch $SRS_SSL_LOCAL)
|
||||
--shared-st=on|off Use link shared libraries for ST which uses MPL license. Default: $(value2switch $SRS_SHARED_ST)
|
||||
--shared-srt=on|off Use link shared libraries for SRT which uses MPL license. Default: $(value2switch $SRS_SHARED_SRT)
|
||||
--shared-st=on|off Use shared libraries for ST which is MPL license. Default: $(value2switch $SRS_SHARED_ST)
|
||||
--shared-srt=on|off Use shared libraries for SRT which is MPL license. Default: $(value2switch $SRS_SHARED_SRT)
|
||||
--shared-ffmpeg=on|off Use shared libraries for FFmpeg which is LGPL license. Default: $(value2switch $SRS_SHARED_FFMPEG)
|
||||
--clean=on|off Whether do 'make clean' when configure. Default: $(value2switch $SRS_CLEAN)
|
||||
--simulator=on|off RTC: Whether enable network simulator. Default: $(value2switch $SRS_SIMULATOR)
|
||||
--build-tag=<TAG> Set the build object directory suffix.
|
||||
|
@ -298,10 +304,10 @@ function parse_user_option() {
|
|||
--sys-ssl) SRS_USE_SYS_SSL=$(switch2value $value) ;;
|
||||
|
||||
--use-shared-st) SRS_SHARED_ST=YES ;;
|
||||
--shared-st) SRS_SHARED_ST=$(switch2value $value) ;;
|
||||
|
||||
--use-shared-srt) SRS_SHARED_SRT=YES ;;
|
||||
--shared-st) SRS_SHARED_ST=$(switch2value $value) ;;
|
||||
--shared-srt) SRS_SHARED_SRT=$(switch2value $value) ;;
|
||||
--shared-ffmpeg) SRS_SHARED_FFMPEG=$(switch2value $value) ;;
|
||||
|
||||
--with-valgrind) SRS_VALGRIND=YES ;;
|
||||
--without-valgrind) SRS_VALGRIND=NO ;;
|
||||
|
@ -483,6 +489,7 @@ function regenerate_options() {
|
|||
SRS_AUTO_CONFIGURE="${SRS_AUTO_CONFIGURE} --static=$(value2switch $SRS_STATIC)"
|
||||
SRS_AUTO_CONFIGURE="${SRS_AUTO_CONFIGURE} --shared-st=$(value2switch $SRS_SHARED_ST)"
|
||||
SRS_AUTO_CONFIGURE="${SRS_AUTO_CONFIGURE} --shared-srt=$(value2switch $SRS_SHARED_SRT)"
|
||||
SRS_AUTO_CONFIGURE="${SRS_AUTO_CONFIGURE} --shared-ffmpeg=$(value2switch $SRS_SHARED_FFMPEG)"
|
||||
SRS_AUTO_CONFIGURE="${SRS_AUTO_CONFIGURE} --log-verbose=$(value2switch $SRS_LOG_VERBOSE)"
|
||||
SRS_AUTO_CONFIGURE="${SRS_AUTO_CONFIGURE} --log-info=$(value2switch $SRS_LOG_INFO)"
|
||||
SRS_AUTO_CONFIGURE="${SRS_AUTO_CONFIGURE} --log-trace=$(value2switch $SRS_LOG_TRACE)"
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue