diff --git a/trunk/auto/modules.sh b/trunk/auto/modules.sh index 91c0af24a..446332171 100755 --- a/trunk/auto/modules.sh +++ b/trunk/auto/modules.sh @@ -29,8 +29,8 @@ echo "# INCS for ${MODULE_ID}, headers of module and its depends to compile" >> echo "${MODULE_ID}_MODULE_INCS = -I${MODULE_DIR} " >> ${FILE} # # the private include files, for example: -# CORE_INCS = -Isrc/core -Iobjs/st -Iobjs -Iobjs/hp -Iobjs -# MAIN_INCS = -Isrc/main $(CORE_MODULE_INCS) -Iobjs/st -Iobjs +# CORE_INCS = -Isrc/core -Iobjs +# CORE_LIBS_INCS = -Iobjs/st -Iobjs/ffmpeg/include # where the public will be used for other modules which depends on it. INCS_NAME="${MODULE_ID}_INCS" # @@ -39,12 +39,14 @@ echo -n "${INCS_NAME} = -I${MODULE_DIR} " >> ${FILE} # # depends module header files for item in ${MODULE_DEPENDS[*]}; do - DEP_INCS_NAME="${item}_INCS"do DEP_INCS_NAME="${item}_MODULE_INCS" echo -n "\$(${DEP_INCS_NAME})" >> ${FILE} done +echo "" >> ${FILE} # # depends library header files +INCS_LIBS_NAME="${MODULE_ID}_LIBS_INCS" +echo -n "${INCS_LIBS_NAME} = " >> ${FILE} for item in ${ModuleLibIncs[*]}; do echo -n "-I${item} " >> ${FILE} done @@ -81,6 +83,7 @@ for item in ${MODULE_FILES[*]}; do echo "${OBJ_FILE}: \$(${DEPS_NAME}) ${CPP_FILE} " >> ${FILE} echo " \$(CXX) -c \$(CXXFLAGS) ${DEFINES}\\" >> ${FILE} echo " \$(${INCS_NAME})\\" >> ${FILE} + echo " \$(${INCS_LIBS_NAME})\\" >> ${FILE} echo " -o ${OBJ_FILE} \\" >> ${FILE} echo " ${CPP_FILE}" >> ${FILE} fi diff --git a/trunk/configure b/trunk/configure index 007a4f7af..b2d283c0f 100755 --- a/trunk/configure +++ b/trunk/configure @@ -211,7 +211,7 @@ KERNEL_OBJS="${MODULE_OBJS[@]}" #RTMP/HTTP/Raw Protocol, depends on core/kernel, provides rtmp/htttp protocol features. MODULE_ID="PROTOCOL" MODULE_DEPENDS=("CORE" "KERNEL") -ModuleLibIncs=(${LibSTRoot} ${SRS_OBJS_DIR} ${LibSSLRoot}) +ModuleLibIncs=(${SRS_OBJS_DIR} ${LibSTRoot} ${LibSSLRoot}) MODULE_FILES=("srs_protocol_amf0" "srs_protocol_io" "srs_rtmp_stack" "srs_rtmp_handshake" "srs_protocol_utility" "srs_rtmp_msg_array" "srs_protocol_stream" "srs_raw_avc" "srs_rtsp_stack" "srs_sip_stack" "srs_http_stack" "srs_protocol_kbps" "srs_protocol_json" @@ -238,7 +238,10 @@ fi #App Module, for SRS server only. MODULE_ID="APP" MODULE_DEPENDS=("CORE" "KERNEL" "PROTOCOL") -ModuleLibIncs=(${LibSTRoot} ${SRS_OBJS_DIR} ${LibSSLRoot} ${LibGperfRoot}) +ModuleLibIncs=(${SRS_OBJS_DIR} ${LibSTRoot} ${LibSSLRoot}) +if [ $SRS_GPERF = YES ]; then + ModuleLibIncs+=(${LibGperfRoot}) +fi if [[ $SRS_RTC == YES ]]; then ModuleLibIncs+=("${LibFfmpegRoot[*]}" ${LibSrtpRoot}) fi @@ -276,7 +279,7 @@ MODULE_DEPENDS=("CORE" "KERNEL" "PROTOCOL" "APP") if [[ $SRS_SRT == YES ]]; then MODULE_DEPENDS+=("SRT") fi -ModuleLibIncs=(${LibSTRoot} ${SRS_OBJS_DIR} ${LibGperfRoot} ${LibSSLRoot}) +ModuleLibIncs=(${SRS_OBJS_DIR} ${LibSTRoot} ${LibGperfRoot} ${LibSSLRoot}) if [[ $SRS_RTC == YES ]]; then ModuleLibIncs+=("${LibFfmpegRoot[*]}" ${LibSrtpRoot}) fi @@ -290,7 +293,7 @@ SERVER_OBJS="${MODULE_OBJS[@]}" #Main Module, for app from modules. MODULE_ID="MAIN" MODULE_DEPENDS=("CORE" "KERNEL" "PROTOCOL") -ModuleLibIncs=(${LibSTRoot} ${SRS_OBJS_DIR} ${LibGperfRoot} ${LibSSLRoot}) +ModuleLibIncs=(${SRS_OBJS_DIR} ${LibSTRoot} ${LibGperfRoot} ${LibSSLRoot}) if [[ $SRS_RTC == YES ]]; then ModuleLibIncs+=("${LibFfmpegRoot[*]}" ${LibSrtpRoot}) fi @@ -326,7 +329,7 @@ if [[ $SRS_SRT == YES ]]; then fi # all depends objects MODULE_OBJS="${CORE_OBJS[@]} ${KERNEL_OBJS[@]} ${PROTOCOL_OBJS[@]} ${APP_OBJS[@]} ${SERVER_OBJS[@]}" -ModuleLibIncs=(${LibSTRoot} ${SRS_OBJS_DIR} ${LibGperfRoot} ${LibSSLRoot}) +ModuleLibIncs=(${SRS_OBJS_DIR} ${LibSTRoot} ${LibGperfRoot} ${LibSSLRoot}) if [[ $SRS_RTC == YES ]]; then ModuleLibIncs+=("${LibFfmpegRoot[*]}" ${LibSrtpRoot}) fi