mirror of
https://github.com/ossrs/srs.git
synced 2025-03-09 15:49:59 +00:00
Moduels: Refine the description
This commit is contained in:
parent
b29827d22c
commit
7bdc9e8e96
6 changed files with 24 additions and 36 deletions
|
@ -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
|
||||
|
|
7
trunk/auto/reset_module.sh
Normal file
7
trunk/auto/reset_module.sh
Normal file
|
@ -0,0 +1,7 @@
|
|||
|
||||
# Reset all variables for config of modules.
|
||||
SRS_MODULE_NAME=()
|
||||
SRS_MODULE_MAIN=()
|
||||
SRS_MODULE_APP=()
|
||||
SRS_MODULE_DEFINES=""
|
||||
|
29
trunk/configure
vendored
29
trunk/configure
vendored
|
@ -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"
|
||||
|
|
|
@ -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=""
|
||||
|
|
|
@ -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=""
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue