正在显示
1 个修改的文件
包含
159 行增加
和
159 行删除
| @@ -49,6 +49,165 @@ SrsUtestMakeEntry="@echo -e \"ignore utest for it's disabled\"" | @@ -49,6 +49,165 @@ SrsUtestMakeEntry="@echo -e \"ignore utest for it's disabled\"" | ||
| 49 | if [ $SRS_UTEST = YES ]; then SrsUtestMakeEntry="(cd ${SRS_OBJS_DIR}/utest; \$(MAKE))"; fi | 49 | if [ $SRS_UTEST = YES ]; then SrsUtestMakeEntry="(cd ${SRS_OBJS_DIR}/utest; \$(MAKE))"; fi |
| 50 | 50 | ||
| 51 | ##################################################################################### | 51 | ##################################################################################### |
| 52 | +# build tools or compiler args. | ||
| 53 | +# enable gdb debug | ||
| 54 | +GDBDebug=" -g -O0" | ||
| 55 | +# the warning level. | ||
| 56 | +WarnLevel=" -Wall" | ||
| 57 | +# the compile standard. | ||
| 58 | +CppStd="-ansi" | ||
| 59 | +# for library compile | ||
| 60 | +LibraryCompile=" -fPIC" | ||
| 61 | +# performance of gprof | ||
| 62 | +SrsGprof=""; SrsGprofLink=""; if [ $SRS_GPROF = YES ]; then SrsGprof=" -pg -lc_p"; SrsGprofLink=" -pg"; fi | ||
| 63 | +# performance of gperf | ||
| 64 | +SrsGperf=""; SrsGperfLink=""; if [ $SRS_GPERF = YES ]; then SrsGperfLink=" -lpthread"; fi | ||
| 65 | +# the cxx flag generated. | ||
| 66 | +CXXFLAGS="${CppStd}${WarnLevel}${GDBDebug}${LibraryCompile}${SrsGprof}" | ||
| 67 | +if [ $SRS_GPERF = YES ]; then CXXFLAGS="${CXXFLAGS} -fno-builtin-malloc -fno-builtin-calloc -fno-builtin-realloc -fno-builtin-free"; fi | ||
| 68 | +cat << END > ${SRS_OBJS}/${SRS_MAKEFILE} | ||
| 69 | +GCC = gcc | ||
| 70 | +CXX = g++ | ||
| 71 | +AR = ar | ||
| 72 | +LINK = g++ | ||
| 73 | +CXXFLAGS = ${CXXFLAGS} | ||
| 74 | + | ||
| 75 | +.PHONY: default srs librtmp | ||
| 76 | + | ||
| 77 | +default: | ||
| 78 | + | ||
| 79 | +END | ||
| 80 | + | ||
| 81 | +##################################################################################### | ||
| 82 | +# Libraries, external library to build in srs, | ||
| 83 | +# header(.h): add to ModuleLibIncs if need the specified library. for example, LibSTRoot | ||
| 84 | +# library(.a): add to ModuleLibFiles if binary need the specifeid library. for example, LibSTfile | ||
| 85 | +# | ||
| 86 | +# st(state-threads) the basic network library for SRS. | ||
| 87 | +LibSTRoot="${SRS_OBJS_DIR}/st"; LibSTfile="${LibSTRoot}/libst.a" | ||
| 88 | +# hp(http-parser) the http request/url parser, for SRS to support HTTP callback. | ||
| 89 | +LibHttpParserRoot=""; LibHttpParserfile="" | ||
| 90 | +if [ $SRS_HTTP_PARSER = YES ]; then LibHttpParserRoot="${SRS_OBJS_DIR}/hp"; LibHttpParserfile="${LibHttpParserRoot}/libhttp_parser.a"; fi | ||
| 91 | +# openssl-1.0.1f, for the RTMP complex handshake. | ||
| 92 | +LibSSLRoot="";LibSSLfile="" | ||
| 93 | +if [ $SRS_SSL = YES ]; then if [ $SRS_USE_SYS_SSL = NO ]; then LibSSLRoot="${SRS_OBJS_DIR}/openssl/include"; LibSSLfile="${SRS_OBJS_DIR}/openssl/lib/libssl.a ${SRS_OBJS_DIR}/openssl/lib/libcrypto.a"; fi fi | ||
| 94 | +# gperftools-2.1, for mem check and mem/cpu profile | ||
| 95 | +LibGperfRoot=""; LibGperfFile="" | ||
| 96 | +if [ $SRS_GPERF = YES ]; then LibGperfRoot="${SRS_OBJS_DIR}/gperf/include"; LibGperfFile="${SRS_OBJS_DIR}/gperf/lib/libtcmalloc_and_profiler.a"; fi | ||
| 97 | +# the link options, always use static link | ||
| 98 | +SrsLinkOptions="-ldl"; | ||
| 99 | +if [ $SRS_SSL = YES ]; then if [ $SRS_USE_SYS_SSL = YES ]; then SrsLinkOptions="${SrsLinkOptions} -lssl"; fi fi | ||
| 100 | +# if static specified, add static | ||
| 101 | +# TODO: FIXME: remove static. | ||
| 102 | +if [ $SRS_STATIC = YES ]; then SrsLinkOptions="${SrsLinkOptions} -static"; fi | ||
| 103 | +# if mips, add -lgcc_eh, or stl compile failed. | ||
| 104 | +if [ $SRS_MIPS_UBUNTU12 = YES ]; then SrsLinkOptions="${SrsLinkOptions} -lgcc_eh"; fi | ||
| 105 | + | ||
| 106 | +##################################################################################### | ||
| 107 | +# Modules, compile each module, then link to binary | ||
| 108 | +# | ||
| 109 | +#Core, depends only on system apis. | ||
| 110 | +MODULE_ID="CORE" | ||
| 111 | +MODULE_DEPENDS=() | ||
| 112 | +ModuleLibIncs=(${SRS_OBJS_DIR}) | ||
| 113 | +MODULE_FILES=("srs_core" "srs_core_autofree" "srs_core_performance") | ||
| 114 | +CORE_INCS="src/core"; MODULE_DIR=${CORE_INCS} . auto/modules.sh | ||
| 115 | +CORE_OBJS="${MODULE_OBJS[@]}" | ||
| 116 | +# | ||
| 117 | +#Kernel, depends on core, provides error/log/config, nothing about stream information. | ||
| 118 | +MODULE_ID="KERNEL" | ||
| 119 | +MODULE_DEPENDS=("CORE") | ||
| 120 | +ModuleLibIncs=(${SRS_OBJS_DIR}) | ||
| 121 | +MODULE_FILES=("srs_kernel_error" "srs_kernel_log" "srs_kernel_stream" | ||
| 122 | + "srs_kernel_utility" "srs_kernel_flv" "srs_kernel_codec" "srs_kernel_file" | ||
| 123 | + "srs_kernel_consts" "srs_kernel_aac" "srs_kernel_mp3" "srs_kernel_ts" | ||
| 124 | + "srs_kernel_buffer") | ||
| 125 | +KERNEL_INCS="src/kernel"; MODULE_DIR=${KERNEL_INCS} . auto/modules.sh | ||
| 126 | +KERNEL_OBJS="${MODULE_OBJS[@]}" | ||
| 127 | +# | ||
| 128 | +#RTMP Protocol, depends on core/kernel, provides rtmp/htttp protocol features. | ||
| 129 | +MODULE_ID="RTMP" | ||
| 130 | +MODULE_DEPENDS=("CORE" "KERNEL") | ||
| 131 | +ModuleLibIncs=(${SRS_OBJS_DIR} ${LibSSLRoot}) | ||
| 132 | +MODULE_FILES=("srs_rtmp_amf0" "srs_rtmp_io" "srs_rtmp_stack" "srs_rtmp_sdk" | ||
| 133 | + "srs_rtmp_handshake" "srs_rtmp_utility" "srs_rtmp_msg_array" "srs_rtmp_buffer" | ||
| 134 | + "srs_raw_avc" "srs_rtsp_stack") | ||
| 135 | +RTMP_INCS="src/protocol"; MODULE_DIR=${RTMP_INCS} . auto/modules.sh | ||
| 136 | +RTMP_OBJS="${MODULE_OBJS[@]}" | ||
| 137 | +# | ||
| 138 | +#App Module | ||
| 139 | +if [ $SRS_EXPORT_LIBRTMP_PROJECT = NO ]; then | ||
| 140 | + MODULE_ID="APP" | ||
| 141 | + MODULE_DEPENDS=("CORE" "KERNEL" "RTMP") | ||
| 142 | + ModuleLibIncs=(${LibSTRoot} ${LibHttpParserRoot} ${SRS_OBJS_DIR}) | ||
| 143 | + MODULE_FILES=("srs_app_server" "srs_app_conn" "srs_app_rtmp_conn" "srs_app_st_socket" "srs_app_source" | ||
| 144 | + "srs_app_refer" "srs_app_hls" "srs_app_forward" "srs_app_encoder" "srs_app_http" | ||
| 145 | + "srs_app_thread" "srs_app_bandwidth" "srs_app_st" "srs_app_log" "srs_app_config" | ||
| 146 | + "srs_app_pithy_print" "srs_app_reload" "srs_app_http_api" "srs_app_http_conn" "srs_app_http_hooks" | ||
| 147 | + "srs_app_json" "srs_app_ingest" "srs_app_ffmpeg" "srs_app_utility" "srs_app_dvr" "srs_app_edge" | ||
| 148 | + "srs_app_kbps" "srs_app_heartbeat" "srs_app_empty" "srs_app_http_client" | ||
| 149 | + "srs_app_recv_thread" "srs_app_security" "srs_app_statistic" | ||
| 150 | + "srs_app_mpegts_udp" "srs_app_rtsp" "srs_app_listener") | ||
| 151 | + APP_INCS="src/app"; MODULE_DIR=${APP_INCS} . auto/modules.sh | ||
| 152 | + APP_OBJS="${MODULE_OBJS[@]}" | ||
| 153 | +fi | ||
| 154 | +# | ||
| 155 | +#LIBS Module, build libsrs.a for static link. | ||
| 156 | +MODULE_ID="LIBS" | ||
| 157 | +MODULE_DEPENDS=("CORE" "KERNEL" "RTMP") | ||
| 158 | +ModuleLibIncs=(${SRS_OBJS_DIR}) | ||
| 159 | +MODULE_FILES=("srs_librtmp" "srs_lib_simple_socket" "srs_lib_bandwidth") | ||
| 160 | +LIBS_INCS="src/libs"; MODULE_DIR=${LIBS_INCS} . auto/modules.sh | ||
| 161 | +LIBS_OBJS="${MODULE_OBJS[@]}" | ||
| 162 | +# | ||
| 163 | +#Main Module | ||
| 164 | +if [ $SRS_EXPORT_LIBRTMP_PROJECT = NO ]; then | ||
| 165 | + MODULE_ID="MAIN" | ||
| 166 | + MODULE_DEPENDS=("CORE" "KERNEL" "RTMP" "APP") | ||
| 167 | + ModuleLibIncs=(${LibSTRoot} ${SRS_OBJS_DIR} ${LibGperfRoot} ${LibHttpParserRoot}) | ||
| 168 | + MODULE_FILES=("srs_main_server") | ||
| 169 | + MAIN_INCS="src/main"; MODULE_DIR=${MAIN_INCS} . auto/modules.sh | ||
| 170 | + MAIN_OBJS="${MODULE_OBJS[@]}" | ||
| 171 | +fi | ||
| 172 | + | ||
| 173 | +##################################################################################### | ||
| 174 | +# Binaries, main entrances, link the module and its depends modules, | ||
| 175 | +# then link to a binary, for example, objs/srs | ||
| 176 | +# | ||
| 177 | +# disable all app when export librtmp | ||
| 178 | +if [ $SRS_EXPORT_LIBRTMP_PROJECT = NO ]; then | ||
| 179 | + # all main entrances | ||
| 180 | + MAIN_ENTRANCES=("srs_main_server") | ||
| 181 | + # | ||
| 182 | + # all depends libraries | ||
| 183 | + ModuleLibFiles=(${LibSTfile} ${LibHttpParserfile} ${LibSSLfile} ${LibGperfFile}) | ||
| 184 | + # all depends objects | ||
| 185 | + MODULE_OBJS="${CORE_OBJS[@]} ${KERNEL_OBJS[@]} ${RTMP_OBJS[@]} ${APP_OBJS[@]} ${MAIN_OBJS[@]}" | ||
| 186 | + LINK_OPTIONS="${SrsLinkOptions}${SrsGprofLink}${SrsGperfLink}" | ||
| 187 | + # | ||
| 188 | + # srs: | ||
| 189 | + # srs(simple rtmp server) over st(state-threads) | ||
| 190 | + BUILD_KEY="srs" APP_MAIN="srs_main_server" APP_NAME="srs" . auto/apps.sh | ||
| 191 | +fi | ||
| 192 | +# srs librtmp | ||
| 193 | +if [ $SRS_LIBRTMP = YES ]; then | ||
| 194 | + MODULE_OBJS="${CORE_OBJS[@]} ${KERNEL_OBJS[@]} ${RTMP_OBJS[@]} ${LIBS_OBJS[@]}" | ||
| 195 | + BUILD_KEY="librtmp" LIB_NAME="lib/srs_librtmp" . auto/libs.sh | ||
| 196 | +fi | ||
| 197 | +# | ||
| 198 | +# utest, the unit-test cases of srs, base on gtest1.6 | ||
| 199 | +if [ $SRS_UTEST = YES ]; then | ||
| 200 | + MODULE_FILES=("srs_utest" "srs_utest_amf0" "srs_utest_protocol" | ||
| 201 | + "srs_utest_kernel" "srs_utest_core" "srs_utest_config" | ||
| 202 | + "srs_utest_reload") | ||
| 203 | + ModuleLibIncs=(${SRS_OBJS_DIR} ${LibSTRoot} ${LibSSLRoot}) | ||
| 204 | + ModuleLibFiles=(${LibSTfile} ${LibHttpParserfile} ${LibSSLfile}) | ||
| 205 | + MODULE_DEPENDS=("CORE" "KERNEL" "RTMP" "APP") | ||
| 206 | + MODULE_OBJS="${CORE_OBJS[@]} ${KERNEL_OBJS[@]} ${RTMP_OBJS[@]} ${APP_OBJS[@]}" | ||
| 207 | + LINK_OPTIONS="-lpthread ${SrsLinkOptions}" MODULE_DIR="src/utest" APP_NAME="srs_utest" . auto/utest.sh | ||
| 208 | +fi | ||
| 209 | + | ||
| 210 | +##################################################################################### | ||
| 52 | # generate colorful summary script | 211 | # generate colorful summary script |
| 53 | . auto/summary.sh | 212 | . auto/summary.sh |
| 54 | 213 | ||
| @@ -231,165 +390,6 @@ _prepare_dir: | @@ -231,165 +390,6 @@ _prepare_dir: | ||
| 231 | @mkdir -p ${SRS_OBJS_DIR} | 390 | @mkdir -p ${SRS_OBJS_DIR} |
| 232 | END | 391 | END |
| 233 | 392 | ||
| 234 | -##################################################################################### | ||
| 235 | -# build tools or compiler args. | ||
| 236 | -# enable gdb debug | ||
| 237 | -GDBDebug=" -g -O0" | ||
| 238 | -# the warning level. | ||
| 239 | -WarnLevel=" -Wall" | ||
| 240 | -# the compile standard. | ||
| 241 | -CppStd="-ansi" | ||
| 242 | -# for library compile | ||
| 243 | -LibraryCompile=" -fPIC" | ||
| 244 | -# performance of gprof | ||
| 245 | -SrsGprof=""; SrsGprofLink=""; if [ $SRS_GPROF = YES ]; then SrsGprof=" -pg -lc_p"; SrsGprofLink=" -pg"; fi | ||
| 246 | -# performance of gperf | ||
| 247 | -SrsGperf=""; SrsGperfLink=""; if [ $SRS_GPERF = YES ]; then SrsGperfLink=" -lpthread"; fi | ||
| 248 | -# the cxx flag generated. | ||
| 249 | -CXXFLAGS="${CppStd}${WarnLevel}${GDBDebug}${LibraryCompile}${SrsGprof}" | ||
| 250 | -if [ $SRS_GPERF = YES ]; then CXXFLAGS="${CXXFLAGS} -fno-builtin-malloc -fno-builtin-calloc -fno-builtin-realloc -fno-builtin-free"; fi | ||
| 251 | -cat << END > ${SRS_OBJS}/${SRS_MAKEFILE} | ||
| 252 | -GCC = gcc | ||
| 253 | -CXX = g++ | ||
| 254 | -AR = ar | ||
| 255 | -LINK = g++ | ||
| 256 | -CXXFLAGS = ${CXXFLAGS} | ||
| 257 | - | ||
| 258 | -.PHONY: default srs librtmp | ||
| 259 | - | ||
| 260 | -default: | ||
| 261 | - | ||
| 262 | -END | ||
| 263 | - | ||
| 264 | -##################################################################################### | ||
| 265 | -# Libraries, external library to build in srs, | ||
| 266 | -# header(.h): add to ModuleLibIncs if need the specified library. for example, LibSTRoot | ||
| 267 | -# library(.a): add to ModuleLibFiles if binary need the specifeid library. for example, LibSTfile | ||
| 268 | -# | ||
| 269 | -# st(state-threads) the basic network library for SRS. | ||
| 270 | -LibSTRoot="${SRS_OBJS_DIR}/st"; LibSTfile="${LibSTRoot}/libst.a" | ||
| 271 | -# hp(http-parser) the http request/url parser, for SRS to support HTTP callback. | ||
| 272 | -LibHttpParserRoot=""; LibHttpParserfile="" | ||
| 273 | -if [ $SRS_HTTP_PARSER = YES ]; then LibHttpParserRoot="${SRS_OBJS_DIR}/hp"; LibHttpParserfile="${LibHttpParserRoot}/libhttp_parser.a"; fi | ||
| 274 | -# openssl-1.0.1f, for the RTMP complex handshake. | ||
| 275 | -LibSSLRoot="";LibSSLfile="" | ||
| 276 | -if [ $SRS_SSL = YES ]; then if [ $SRS_USE_SYS_SSL = NO ]; then LibSSLRoot="${SRS_OBJS_DIR}/openssl/include"; LibSSLfile="${SRS_OBJS_DIR}/openssl/lib/libssl.a ${SRS_OBJS_DIR}/openssl/lib/libcrypto.a"; fi fi | ||
| 277 | -# gperftools-2.1, for mem check and mem/cpu profile | ||
| 278 | -LibGperfRoot=""; LibGperfFile="" | ||
| 279 | -if [ $SRS_GPERF = YES ]; then LibGperfRoot="${SRS_OBJS_DIR}/gperf/include"; LibGperfFile="${SRS_OBJS_DIR}/gperf/lib/libtcmalloc_and_profiler.a"; fi | ||
| 280 | -# the link options, always use static link | ||
| 281 | -SrsLinkOptions="-ldl"; | ||
| 282 | -if [ $SRS_SSL = YES ]; then if [ $SRS_USE_SYS_SSL = YES ]; then SrsLinkOptions="${SrsLinkOptions} -lssl"; fi fi | ||
| 283 | -# if static specified, add static | ||
| 284 | -# TODO: FIXME: remove static. | ||
| 285 | -if [ $SRS_STATIC = YES ]; then SrsLinkOptions="${SrsLinkOptions} -static"; fi | ||
| 286 | -# if mips, add -lgcc_eh, or stl compile failed. | ||
| 287 | -if [ $SRS_MIPS_UBUNTU12 = YES ]; then SrsLinkOptions="${SrsLinkOptions} -lgcc_eh"; fi | ||
| 288 | - | ||
| 289 | -##################################################################################### | ||
| 290 | -# Modules, compile each module, then link to binary | ||
| 291 | -# | ||
| 292 | -#Core, depends only on system apis. | ||
| 293 | -MODULE_ID="CORE" | ||
| 294 | -MODULE_DEPENDS=() | ||
| 295 | -ModuleLibIncs=(${SRS_OBJS_DIR}) | ||
| 296 | -MODULE_FILES=("srs_core" "srs_core_autofree" "srs_core_performance") | ||
| 297 | -CORE_INCS="src/core"; MODULE_DIR=${CORE_INCS} . auto/modules.sh | ||
| 298 | -CORE_OBJS="${MODULE_OBJS[@]}" | ||
| 299 | -# | ||
| 300 | -#Kernel, depends on core, provides error/log/config, nothing about stream information. | ||
| 301 | -MODULE_ID="KERNEL" | ||
| 302 | -MODULE_DEPENDS=("CORE") | ||
| 303 | -ModuleLibIncs=(${SRS_OBJS_DIR}) | ||
| 304 | -MODULE_FILES=("srs_kernel_error" "srs_kernel_log" "srs_kernel_stream" | ||
| 305 | - "srs_kernel_utility" "srs_kernel_flv" "srs_kernel_codec" "srs_kernel_file" | ||
| 306 | - "srs_kernel_consts" "srs_kernel_aac" "srs_kernel_mp3" "srs_kernel_ts" | ||
| 307 | - "srs_kernel_buffer") | ||
| 308 | -KERNEL_INCS="src/kernel"; MODULE_DIR=${KERNEL_INCS} . auto/modules.sh | ||
| 309 | -KERNEL_OBJS="${MODULE_OBJS[@]}" | ||
| 310 | -# | ||
| 311 | -#RTMP Protocol, depends on core/kernel, provides rtmp/htttp protocol features. | ||
| 312 | -MODULE_ID="RTMP" | ||
| 313 | -MODULE_DEPENDS=("CORE" "KERNEL") | ||
| 314 | -ModuleLibIncs=(${SRS_OBJS_DIR} ${LibSSLRoot}) | ||
| 315 | -MODULE_FILES=("srs_rtmp_amf0" "srs_rtmp_io" "srs_rtmp_stack" "srs_rtmp_sdk" | ||
| 316 | - "srs_rtmp_handshake" "srs_rtmp_utility" "srs_rtmp_msg_array" "srs_rtmp_buffer" | ||
| 317 | - "srs_raw_avc" "srs_rtsp_stack") | ||
| 318 | -RTMP_INCS="src/protocol"; MODULE_DIR=${RTMP_INCS} . auto/modules.sh | ||
| 319 | -RTMP_OBJS="${MODULE_OBJS[@]}" | ||
| 320 | -# | ||
| 321 | -#App Module | ||
| 322 | -if [ $SRS_EXPORT_LIBRTMP_PROJECT = NO ]; then | ||
| 323 | - MODULE_ID="APP" | ||
| 324 | - MODULE_DEPENDS=("CORE" "KERNEL" "RTMP") | ||
| 325 | - ModuleLibIncs=(${LibSTRoot} ${LibHttpParserRoot} ${SRS_OBJS_DIR}) | ||
| 326 | - MODULE_FILES=("srs_app_server" "srs_app_conn" "srs_app_rtmp_conn" "srs_app_st_socket" "srs_app_source" | ||
| 327 | - "srs_app_refer" "srs_app_hls" "srs_app_forward" "srs_app_encoder" "srs_app_http" | ||
| 328 | - "srs_app_thread" "srs_app_bandwidth" "srs_app_st" "srs_app_log" "srs_app_config" | ||
| 329 | - "srs_app_pithy_print" "srs_app_reload" "srs_app_http_api" "srs_app_http_conn" "srs_app_http_hooks" | ||
| 330 | - "srs_app_json" "srs_app_ingest" "srs_app_ffmpeg" "srs_app_utility" "srs_app_dvr" "srs_app_edge" | ||
| 331 | - "srs_app_kbps" "srs_app_heartbeat" "srs_app_empty" "srs_app_http_client" | ||
| 332 | - "srs_app_recv_thread" "srs_app_security" "srs_app_statistic" | ||
| 333 | - "srs_app_mpegts_udp" "srs_app_rtsp" "srs_app_listener") | ||
| 334 | - APP_INCS="src/app"; MODULE_DIR=${APP_INCS} . auto/modules.sh | ||
| 335 | - APP_OBJS="${MODULE_OBJS[@]}" | ||
| 336 | -fi | ||
| 337 | -# | ||
| 338 | -#LIBS Module, build libsrs.a for static link. | ||
| 339 | -MODULE_ID="LIBS" | ||
| 340 | -MODULE_DEPENDS=("CORE" "KERNEL" "RTMP") | ||
| 341 | -ModuleLibIncs=(${SRS_OBJS_DIR}) | ||
| 342 | -MODULE_FILES=("srs_librtmp" "srs_lib_simple_socket" "srs_lib_bandwidth") | ||
| 343 | -LIBS_INCS="src/libs"; MODULE_DIR=${LIBS_INCS} . auto/modules.sh | ||
| 344 | -LIBS_OBJS="${MODULE_OBJS[@]}" | ||
| 345 | -# | ||
| 346 | -#Main Module | ||
| 347 | -if [ $SRS_EXPORT_LIBRTMP_PROJECT = NO ]; then | ||
| 348 | - MODULE_ID="MAIN" | ||
| 349 | - MODULE_DEPENDS=("CORE" "KERNEL" "RTMP" "APP") | ||
| 350 | - ModuleLibIncs=(${LibSTRoot} ${SRS_OBJS_DIR} ${LibGperfRoot} ${LibHttpParserRoot}) | ||
| 351 | - MODULE_FILES=("srs_main_server") | ||
| 352 | - MAIN_INCS="src/main"; MODULE_DIR=${MAIN_INCS} . auto/modules.sh | ||
| 353 | - MAIN_OBJS="${MODULE_OBJS[@]}" | ||
| 354 | -fi | ||
| 355 | - | ||
| 356 | -##################################################################################### | ||
| 357 | -# Binaries, main entrances, link the module and its depends modules, | ||
| 358 | -# then link to a binary, for example, objs/srs | ||
| 359 | -# | ||
| 360 | -# disable all app when export librtmp | ||
| 361 | -if [ $SRS_EXPORT_LIBRTMP_PROJECT = NO ]; then | ||
| 362 | - # all main entrances | ||
| 363 | - MAIN_ENTRANCES=("srs_main_server") | ||
| 364 | - # | ||
| 365 | - # all depends libraries | ||
| 366 | - ModuleLibFiles=(${LibSTfile} ${LibHttpParserfile} ${LibSSLfile} ${LibGperfFile}) | ||
| 367 | - # all depends objects | ||
| 368 | - MODULE_OBJS="${CORE_OBJS[@]} ${KERNEL_OBJS[@]} ${RTMP_OBJS[@]} ${APP_OBJS[@]} ${MAIN_OBJS[@]}" | ||
| 369 | - LINK_OPTIONS="${SrsLinkOptions}${SrsGprofLink}${SrsGperfLink}" | ||
| 370 | - # | ||
| 371 | - # srs: | ||
| 372 | - # srs(simple rtmp server) over st(state-threads) | ||
| 373 | - BUILD_KEY="srs" APP_MAIN="srs_main_server" APP_NAME="srs" . auto/apps.sh | ||
| 374 | -fi | ||
| 375 | -# srs librtmp | ||
| 376 | -if [ $SRS_LIBRTMP = YES ]; then | ||
| 377 | - MODULE_OBJS="${CORE_OBJS[@]} ${KERNEL_OBJS[@]} ${RTMP_OBJS[@]} ${LIBS_OBJS[@]}" | ||
| 378 | - BUILD_KEY="librtmp" LIB_NAME="lib/srs_librtmp" . auto/libs.sh | ||
| 379 | -fi | ||
| 380 | -# | ||
| 381 | -# utest, the unit-test cases of srs, base on gtest1.6 | ||
| 382 | -if [ $SRS_UTEST = YES ]; then | ||
| 383 | - MODULE_FILES=("srs_utest" "srs_utest_amf0" "srs_utest_protocol" | ||
| 384 | - "srs_utest_kernel" "srs_utest_core" "srs_utest_config" | ||
| 385 | - "srs_utest_reload") | ||
| 386 | - ModuleLibIncs=(${SRS_OBJS_DIR} ${LibSTRoot} ${LibSSLRoot}) | ||
| 387 | - ModuleLibFiles=(${LibSTfile} ${LibHttpParserfile} ${LibSSLfile}) | ||
| 388 | - MODULE_DEPENDS=("CORE" "KERNEL" "RTMP" "APP") | ||
| 389 | - MODULE_OBJS="${CORE_OBJS[@]} ${KERNEL_OBJS[@]} ${RTMP_OBJS[@]} ${APP_OBJS[@]}" | ||
| 390 | - LINK_OPTIONS="-lpthread ${SrsLinkOptions}" MODULE_DIR="src/utest" APP_NAME="srs_utest" . auto/utest.sh | ||
| 391 | -fi | ||
| 392 | - | ||
| 393 | echo 'configure ok! ' | 393 | echo 'configure ok! ' |
| 394 | 394 | ||
| 395 | ##################################################################################### | 395 | ##################################################################################### |
-
请 注册 或 登录 后发表评论