From 8434271578c4482e2edfe3fd525d08eb6a5dcb78 Mon Sep 17 00:00:00 2001 From: winlin Date: Tue, 1 Jun 2021 11:36:01 +0800 Subject: [PATCH 1/2] Build: Refine configure option help --- trunk/auto/options.sh | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/trunk/auto/options.sh b/trunk/auto/options.sh index 8177517d4..e1d5eca15 100755 --- a/trunk/auto/options.sh +++ b/trunk/auto/options.sh @@ -149,8 +149,8 @@ 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) - --use-shared-st Use link shared libraries for ST which uses MPL license. Default: $(value2switch $SRS_SHARED_ST) - --use-shared-srt Use link shared libraries for SRT which uses MPL license. Default: $(value2switch $SRS_SHARED_SRT) + --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) --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= Set the build object directory suffix. @@ -481,8 +481,8 @@ function regenerate_options() { SRS_AUTO_CONFIGURE="${SRS_AUTO_CONFIGURE} --gcp=$(value2switch $SRS_GPERF_CP)" SRS_AUTO_CONFIGURE="${SRS_AUTO_CONFIGURE} --gprof=$(value2switch $SRS_GPROF)" SRS_AUTO_CONFIGURE="${SRS_AUTO_CONFIGURE} --static=$(value2switch $SRS_STATIC)" - SRS_AUTO_CONFIGURE="${SRS_AUTO_CONFIGURE} --use-shared-st=$(value2switch $SRS_SHARED_ST)" - SRS_AUTO_CONFIGURE="${SRS_AUTO_CONFIGURE} --use-shared-srt=$(value2switch $SRS_SHARED_SRT)" + 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} --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)" From f44224a2a121bb305868b7c00188bf0fcf8fce72 Mon Sep 17 00:00:00 2001 From: winlin Date: Tue, 1 Jun 2021 11:37:34 +0800 Subject: [PATCH 2/2] Build: Support --shared-srt to link with *.so for MPL license. 4.0.125 --- README.md | 1 + trunk/auto/depends.sh | 9 +++++++-- trunk/configure | 3 ++- trunk/src/core/srs_core_version4.hpp | 2 +- 4 files changed, 11 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 10a27c61e..f49a6336b 100755 --- a/README.md +++ b/README.md @@ -180,6 +180,7 @@ For external services to work with SRS: ## V4 changes +* v4.0, 2021-06-01, Support --shared-srt to link with *.so for MPL license. 4.0.125 * v4.0, 2021-05-31, Use [SPDX-License-Identifier: MIT](https://spdx.dev/ids/). 4.0.124 * v4.0, 2021-05-28, Fix bugs for GB28181 and RTC. 4.0.123 * v4.0, 2021-05-21, Fix [#2370][bug #2370] bug for Firefox play stream(published by Chrome). 4.0.121 diff --git a/trunk/auto/depends.sh b/trunk/auto/depends.sh index ab452e3ea..e67a35552 100755 --- a/trunk/auto/depends.sh +++ b/trunk/auto/depends.sh @@ -657,7 +657,7 @@ if [[ $SRS_RTC == YES ]]; then fi ##################################################################################### -# ffmpeg-fix, for WebRTC to transcode AAC with Opus. +# ffmpeg-fit, for WebRTC to transcode AAC with Opus. ##################################################################################### if [[ $SRS_FFMPEG_FIT == YES ]]; then FFMPEG_OPTIONS="" @@ -744,7 +744,12 @@ if [[ $SRS_SRT == YES ]]; then exit -1; fi # Always disable c++11 for libsrt, because only the srt-app requres it. - LIBSRT_OPTIONS="--disable-app --enable-shared=0 --enable-static --enable-c++11=0" + LIBSRT_OPTIONS="--disable-app --enable-static --enable-c++11=0" + if [[ $SRS_SHARED_SRT == YES ]]; then + LIBSRT_OPTIONS="$LIBSRT_OPTIONS --enable-shared=1" + else + LIBSRT_OPTIONS="$LIBSRT_OPTIONS --enable-shared=0" + fi # Start build libsrt. rm -rf ${SRS_OBJS}/${SRS_PLATFORM}/srt-1-fit && cd ${SRS_OBJS}/${SRS_PLATFORM} && cp -R ../../3rdparty/srt-1-fit srt-1-fit && cd srt-1-fit && diff --git a/trunk/configure b/trunk/configure index a51f53c58..b5379ec31 100755 --- a/trunk/configure +++ b/trunk/configure @@ -135,7 +135,7 @@ END # # st(state-threads) the basic network library for SRS. LibSTRoot="${SRS_OBJS_DIR}/st"; LibSTfile="${LibSTRoot}/libst.a" -if [[ $SRS_SHARED_ST == YES ]]; then LibSTfile="-lst"; fi +if [[ $SRS_SHARED_ST == YES ]]; then LibSTfile="-L${LibSTRoot} -lst"; fi # srtp if [[ $SRS_RTC == YES ]]; then @@ -167,6 +167,7 @@ fi if [[ $SRS_SRT == YES ]]; then SrsSRTRoot="${SRS_WORKDIR}/src/srt" LibSRTRoot="${SRS_OBJS_DIR}/srt/include"; LibSRTfile="${SRS_OBJS_DIR}/srt/lib/libsrt.a" + if [[ $SRS_SHARED_SRT == YES ]]; then LibSRTfile="-L${SRS_OBJS_DIR}/srt/lib -lsrt"; fi fi # For iconv on macOS only, CentOS seems ok. diff --git a/trunk/src/core/srs_core_version4.hpp b/trunk/src/core/srs_core_version4.hpp index dde935137..ab73c9e97 100644 --- a/trunk/src/core/srs_core_version4.hpp +++ b/trunk/src/core/srs_core_version4.hpp @@ -9,6 +9,6 @@ #define VERSION_MAJOR 4 #define VERSION_MINOR 0 -#define VERSION_REVISION 124 +#define VERSION_REVISION 125 #endif