From 7bdc9e8e96afff12d90ec2d232c24ed12710cd2f Mon Sep 17 00:00:00 2001 From: winlin <winlin@vip.126.com> Date: Wed, 21 Apr 2021 11:18:35 +0800 Subject: [PATCH] Moduels: Refine the description --- trunk/auto/modules.sh | 3 ++- trunk/auto/reset_module.sh | 7 +++++++ trunk/configure | 29 +++++++++-------------------- trunk/modules/hls-ingester/config | 1 - trunk/modules/mp4-parser/config | 1 - trunk/modules/readme.txt | 19 ++++++------------- 6 files changed, 24 insertions(+), 36 deletions(-) create mode 100644 trunk/auto/reset_module.sh diff --git a/trunk/auto/modules.sh b/trunk/auto/modules.sh index 66607f5c3..cffc0d9ba 100755 --- a/trunk/auto/modules.sh +++ b/trunk/auto/modules.sh @@ -1,4 +1,5 @@ -# generate the module info to Makefile +# +# Generate the module(in src, not modules) info to Makefile # # params: # $SRS_OBJS the objs directory to store the Makefile. ie. ./objs diff --git a/trunk/auto/reset_module.sh b/trunk/auto/reset_module.sh new file mode 100644 index 000000000..bc443040b --- /dev/null +++ b/trunk/auto/reset_module.sh @@ -0,0 +1,7 @@ + +# Reset all variables for config of modules. +SRS_MODULE_NAME=() +SRS_MODULE_MAIN=() +SRS_MODULE_APP=() +SRS_MODULE_DEFINES="" + diff --git a/trunk/configure b/trunk/configure index 07b794054..4349c2f73 100755 --- a/trunk/configure +++ b/trunk/configure @@ -57,14 +57,11 @@ __mfiles=`find modules -name "config"` && for __mfile in $__mfiles; do done # variables for makefile for all modules. -__mphonys="" && __mdefaults="" && __mcleanups="" && __makefiles="" +__mphonys="" && __mdefaults="" && __mcleanups="" # add each modules for application for SRS_MODULE in ${SRS_MODULES[*]}; do echo "install module at: $SRS_MODULE" - . $SRS_MODULE/config - if [[ $SRS_MODULE_MAKEFILE != "" ]]; then - __makefiles="$__makefiles $SRS_MODULE_MAKEFILE" - fi + . auto/reset_module.sh && . $SRS_MODULE/config if [[ 0 -ne ${#SRS_MODULE_MAIN[@]} ]]; then __mphonys="$__mphonys $SRS_MODULE_NAME" __mdefaults="$__mdefaults $SRS_MODULE_NAME" @@ -299,7 +296,7 @@ fi DEFINES="" # add each modules for app for SRS_MODULE in ${SRS_MODULES[*]}; do - . $SRS_MODULE/config + . auto/reset_module.sh && . $SRS_MODULE/config MODULE_FILES+=("${SRS_MODULE_APP[*]}") DEFINES="${DEFINES} ${SRS_MODULE_DEFINES}" done @@ -340,7 +337,7 @@ MODULE_FILES=() DEFINES="" # add each modules for main for SRS_MODULE in ${SRS_MODULES[*]}; do - . $SRS_MODULE/config + . auto/reset_module.sh && . $SRS_MODULE/config MODULE_FILES+=("${SRS_MODULE_MAIN[*]}") DEFINES="${DEFINES} ${SRS_MODULE_DEFINES}" done @@ -354,7 +351,7 @@ MAIN_OBJS="${MODULE_OBJS[@]}" # all main entrances MAIN_ENTRANCES=("srs_main_server") for SRS_MODULE in ${SRS_MODULES[*]}; do - . $SRS_MODULE/config + . auto/reset_module.sh && . $SRS_MODULE/config MAIN_ENTRANCES+=("${SRS_MODULE_MAIN[*]}") done # @@ -389,7 +386,7 @@ LINK_OPTIONS="${SrsLinkOptions}${SrsGprofLink}${SrsGperfLink}" # srs: srs(simple rtmp server) over st(state-threads) BUILD_KEY="srs" APP_MAIN="srs_main_server" APP_NAME="srs" . auto/apps.sh # -# For modules, without the app module. +# For modules, with the app module. MODULE_OBJS="${CORE_OBJS[@]} ${KERNEL_OBJS[@]} ${PROTOCOL_OBJS[@]} ${APP_OBJS[@]} ${MAIN_OBJS[@]}" ModuleLibFiles=(${LibSTfile} ${LibSSLfile} ${LibGperfFile}) if [[ $SRS_RTC == YES ]]; then @@ -400,7 +397,7 @@ if [[ $SRS_FFMPEG_FIT == YES ]]; then fi # for SRS_MODULE in ${SRS_MODULES[*]}; do - . $SRS_MODULE/config + . auto/reset_module.sh && . $SRS_MODULE/config # no SRS_MODULE_MAIN if [[ 0 -eq ${#SRS_MODULE_MAIN[@]} ]]; then continue; fi BUILD_KEY="$SRS_MODULE_NAME" APP_MAIN="${SRS_MODULE_MAIN[0]}" APP_NAME="$SRS_MODULE_NAME" . auto/apps.sh @@ -473,7 +470,7 @@ END # the real entry for all platform: cat << END >> ${SRS_WORKDIR}/${SRS_MAKEFILE} -_default: server srs_ingest_hls utest __modules $__mdefaults +_default: server srs_ingest_hls utest $__mdefaults @bash objs/_srs_build_summary.sh help: @@ -558,14 +555,6 @@ ffmpeg: END -# for Makefile of all modules. -# depends on server, for some modules maybe use srs files. -echo "__modules: server" >> ${SRS_WORKDIR}/${SRS_MAKEFILE} -for MMF in ${__makefiles[*]}; do - echo " \$(MAKE) -f $MMF" >> ${SRS_WORKDIR}/${SRS_MAKEFILE} -done -echo "" >> ${SRS_WORKDIR}/${SRS_MAKEFILE} - cat << END >> ${SRS_WORKDIR}/${SRS_MAKEFILE} server: _prepare_dir @echo "Build the srs(simple rtmp server) over ST(state-threads)" @@ -574,7 +563,7 @@ server: _prepare_dir END # generate all modules entry for SRS_MODULE in ${SRS_MODULES[*]}; do - . $SRS_MODULE/config + . auto/reset_module.sh && . $SRS_MODULE/config cat << END >> ${SRS_WORKDIR}/${SRS_MAKEFILE} $SRS_MODULE_NAME: _prepare_dir server @echo "Build the $SRS_MODULE_NAME over SRS" diff --git a/trunk/modules/hls-ingester/config b/trunk/modules/hls-ingester/config index eda6a1363..57c803ba8 100644 --- a/trunk/modules/hls-ingester/config +++ b/trunk/modules/hls-ingester/config @@ -4,4 +4,3 @@ SRS_MODULE_NAME=("srs_hls_ingester") SRS_MODULE_MAIN=("srs_main_ingest_hls") SRS_MODULE_APP=() SRS_MODULE_DEFINES="" -SRS_MODULE_MAKEFILE="" diff --git a/trunk/modules/mp4-parser/config b/trunk/modules/mp4-parser/config index 7f9adfd66..5b2719545 100644 --- a/trunk/modules/mp4-parser/config +++ b/trunk/modules/mp4-parser/config @@ -4,4 +4,3 @@ SRS_MODULE_NAME=("srs_mp4_parser") SRS_MODULE_MAIN=("srs_main_mp4_parser") SRS_MODULE_APP=() SRS_MODULE_DEFINES="" -SRS_MODULE_MAKEFILE="" diff --git a/trunk/modules/readme.txt b/trunk/modules/readme.txt index 32d7891f0..b0f161ab6 100644 --- a/trunk/modules/readme.txt +++ b/trunk/modules/readme.txt @@ -1,5 +1,6 @@ -SRS Module Rules(SRS模块规则) -1. Each module in its seperate home directory(一个模块一个目录). + +SRS Application Module Rules(SRS应用模块规则) +1. Each module in its isolate home directory(一个模块一个目录). 2. There is a config file in home(目录下放一个config文件). 3. All variables in configure are available(所有的configure中的变量模块中可以使用). @@ -8,20 +9,12 @@ The Variables in config(模块中需要定义变量,例如): 2. SRS_MODULE_MAIN:The source file in src/main directory, optional. (模块的main函数所在的cpp文件,在src/main目录。模块在main的文件。可以为空。) 3. SRS_MODULE_APP:The source file in src/app directory, optional. (模块在src/app目录的源文件列表。模块在app的文件。可以为空。) 4. SRS_MODULE_DEFINES: The extra defined macros, optional. (模块编译时的额外宏定义。在app和main模块加入。可以为空。) -5. SRS_MODULE_MAKEFILE: The specified Makefile, optional. (模块的Makefile。在make时会执行这个Makefile。可以为空。) - -Reset all Variables at the beginning(在配置开头必须清空这些变量): -SRS_MODULE_NAME=() -SRS_MODULE_MAIN=() -SRS_MODULE_APP=() -SRS_MODULE_DEFINES="" -SRS_MODULE_MAKEFILE="" -For example(下面是一个实例): +For example(下面是一个RTMFP服务器实例): SRS_MODULE_NAME=("srs_rtmfpd") SRS_MODULE_MAIN=("srs_main_rtmfpd") SRS_MODULE_APP=("srs_app_rtfmpd") SRS_MODULE_DEFINES="-DRTMFPD" -SRS_MODULE_MAKEFILE="modules/rtmfpd/Makefile" -winlin, 2015.3 +Winlin, 2015.3 +