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:
|
# params:
|
||||||
# $SRS_OBJS the objs directory to store the Makefile. ie. ./objs
|
# $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
|
done
|
||||||
|
|
||||||
# variables for makefile for all modules.
|
# variables for makefile for all modules.
|
||||||
__mphonys="" && __mdefaults="" && __mcleanups="" && __makefiles=""
|
__mphonys="" && __mdefaults="" && __mcleanups=""
|
||||||
# add each modules for application
|
# add each modules for application
|
||||||
for SRS_MODULE in ${SRS_MODULES[*]}; do
|
for SRS_MODULE in ${SRS_MODULES[*]}; do
|
||||||
echo "install module at: $SRS_MODULE"
|
echo "install module at: $SRS_MODULE"
|
||||||
. $SRS_MODULE/config
|
. auto/reset_module.sh && . $SRS_MODULE/config
|
||||||
if [[ $SRS_MODULE_MAKEFILE != "" ]]; then
|
|
||||||
__makefiles="$__makefiles $SRS_MODULE_MAKEFILE"
|
|
||||||
fi
|
|
||||||
if [[ 0 -ne ${#SRS_MODULE_MAIN[@]} ]]; then
|
if [[ 0 -ne ${#SRS_MODULE_MAIN[@]} ]]; then
|
||||||
__mphonys="$__mphonys $SRS_MODULE_NAME"
|
__mphonys="$__mphonys $SRS_MODULE_NAME"
|
||||||
__mdefaults="$__mdefaults $SRS_MODULE_NAME"
|
__mdefaults="$__mdefaults $SRS_MODULE_NAME"
|
||||||
|
@ -299,7 +296,7 @@ fi
|
||||||
DEFINES=""
|
DEFINES=""
|
||||||
# add each modules for app
|
# add each modules for app
|
||||||
for SRS_MODULE in ${SRS_MODULES[*]}; do
|
for SRS_MODULE in ${SRS_MODULES[*]}; do
|
||||||
. $SRS_MODULE/config
|
. auto/reset_module.sh && . $SRS_MODULE/config
|
||||||
MODULE_FILES+=("${SRS_MODULE_APP[*]}")
|
MODULE_FILES+=("${SRS_MODULE_APP[*]}")
|
||||||
DEFINES="${DEFINES} ${SRS_MODULE_DEFINES}"
|
DEFINES="${DEFINES} ${SRS_MODULE_DEFINES}"
|
||||||
done
|
done
|
||||||
|
@ -340,7 +337,7 @@ MODULE_FILES=()
|
||||||
DEFINES=""
|
DEFINES=""
|
||||||
# add each modules for main
|
# add each modules for main
|
||||||
for SRS_MODULE in ${SRS_MODULES[*]}; do
|
for SRS_MODULE in ${SRS_MODULES[*]}; do
|
||||||
. $SRS_MODULE/config
|
. auto/reset_module.sh && . $SRS_MODULE/config
|
||||||
MODULE_FILES+=("${SRS_MODULE_MAIN[*]}")
|
MODULE_FILES+=("${SRS_MODULE_MAIN[*]}")
|
||||||
DEFINES="${DEFINES} ${SRS_MODULE_DEFINES}"
|
DEFINES="${DEFINES} ${SRS_MODULE_DEFINES}"
|
||||||
done
|
done
|
||||||
|
@ -354,7 +351,7 @@ MAIN_OBJS="${MODULE_OBJS[@]}"
|
||||||
# all main entrances
|
# all main entrances
|
||||||
MAIN_ENTRANCES=("srs_main_server")
|
MAIN_ENTRANCES=("srs_main_server")
|
||||||
for SRS_MODULE in ${SRS_MODULES[*]}; do
|
for SRS_MODULE in ${SRS_MODULES[*]}; do
|
||||||
. $SRS_MODULE/config
|
. auto/reset_module.sh && . $SRS_MODULE/config
|
||||||
MAIN_ENTRANCES+=("${SRS_MODULE_MAIN[*]}")
|
MAIN_ENTRANCES+=("${SRS_MODULE_MAIN[*]}")
|
||||||
done
|
done
|
||||||
#
|
#
|
||||||
|
@ -389,7 +386,7 @@ LINK_OPTIONS="${SrsLinkOptions}${SrsGprofLink}${SrsGperfLink}"
|
||||||
# srs: srs(simple rtmp server) over st(state-threads)
|
# srs: srs(simple rtmp server) over st(state-threads)
|
||||||
BUILD_KEY="srs" APP_MAIN="srs_main_server" APP_NAME="srs" . auto/apps.sh
|
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[@]}"
|
MODULE_OBJS="${CORE_OBJS[@]} ${KERNEL_OBJS[@]} ${PROTOCOL_OBJS[@]} ${APP_OBJS[@]} ${MAIN_OBJS[@]}"
|
||||||
ModuleLibFiles=(${LibSTfile} ${LibSSLfile} ${LibGperfFile})
|
ModuleLibFiles=(${LibSTfile} ${LibSSLfile} ${LibGperfFile})
|
||||||
if [[ $SRS_RTC == YES ]]; then
|
if [[ $SRS_RTC == YES ]]; then
|
||||||
|
@ -400,7 +397,7 @@ if [[ $SRS_FFMPEG_FIT == YES ]]; then
|
||||||
fi
|
fi
|
||||||
#
|
#
|
||||||
for SRS_MODULE in ${SRS_MODULES[*]}; do
|
for SRS_MODULE in ${SRS_MODULES[*]}; do
|
||||||
. $SRS_MODULE/config
|
. auto/reset_module.sh && . $SRS_MODULE/config
|
||||||
# no SRS_MODULE_MAIN
|
# no SRS_MODULE_MAIN
|
||||||
if [[ 0 -eq ${#SRS_MODULE_MAIN[@]} ]]; then continue; fi
|
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
|
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:
|
# the real entry for all platform:
|
||||||
cat << END >> ${SRS_WORKDIR}/${SRS_MAKEFILE}
|
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
|
@bash objs/_srs_build_summary.sh
|
||||||
|
|
||||||
help:
|
help:
|
||||||
|
@ -558,14 +555,6 @@ ffmpeg:
|
||||||
|
|
||||||
END
|
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}
|
cat << END >> ${SRS_WORKDIR}/${SRS_MAKEFILE}
|
||||||
server: _prepare_dir
|
server: _prepare_dir
|
||||||
@echo "Build the srs(simple rtmp server) over ST(state-threads)"
|
@echo "Build the srs(simple rtmp server) over ST(state-threads)"
|
||||||
|
@ -574,7 +563,7 @@ server: _prepare_dir
|
||||||
END
|
END
|
||||||
# generate all modules entry
|
# generate all modules entry
|
||||||
for SRS_MODULE in ${SRS_MODULES[*]}; do
|
for SRS_MODULE in ${SRS_MODULES[*]}; do
|
||||||
. $SRS_MODULE/config
|
. auto/reset_module.sh && . $SRS_MODULE/config
|
||||||
cat << END >> ${SRS_WORKDIR}/${SRS_MAKEFILE}
|
cat << END >> ${SRS_WORKDIR}/${SRS_MAKEFILE}
|
||||||
$SRS_MODULE_NAME: _prepare_dir server
|
$SRS_MODULE_NAME: _prepare_dir server
|
||||||
@echo "Build the $SRS_MODULE_NAME over SRS"
|
@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_MAIN=("srs_main_ingest_hls")
|
||||||
SRS_MODULE_APP=()
|
SRS_MODULE_APP=()
|
||||||
SRS_MODULE_DEFINES=""
|
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_MAIN=("srs_main_mp4_parser")
|
||||||
SRS_MODULE_APP=()
|
SRS_MODULE_APP=()
|
||||||
SRS_MODULE_DEFINES=""
|
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文件).
|
2. There is a config file in home(目录下放一个config文件).
|
||||||
3. All variables in configure are available(所有的configure中的变量模块中可以使用).
|
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的文件。可以为空。)
|
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的文件。可以为空。)
|
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模块加入。可以为空。)
|
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(在配置开头必须清空这些变量):
|
For example(下面是一个RTMFP服务器实例):
|
||||||
SRS_MODULE_NAME=()
|
|
||||||
SRS_MODULE_MAIN=()
|
|
||||||
SRS_MODULE_APP=()
|
|
||||||
SRS_MODULE_DEFINES=""
|
|
||||||
SRS_MODULE_MAKEFILE=""
|
|
||||||
|
|
||||||
For example(下面是一个实例):
|
|
||||||
SRS_MODULE_NAME=("srs_rtmfpd")
|
SRS_MODULE_NAME=("srs_rtmfpd")
|
||||||
SRS_MODULE_MAIN=("srs_main_rtmfpd")
|
SRS_MODULE_MAIN=("srs_main_rtmfpd")
|
||||||
SRS_MODULE_APP=("srs_app_rtfmpd")
|
SRS_MODULE_APP=("srs_app_rtfmpd")
|
||||||
SRS_MODULE_DEFINES="-DRTMFPD"
|
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