2015-03-07 08:49:21 +00:00
|
|
|
#!/bin/bash
|
|
|
|
|
|
|
|
# output variables:
|
|
|
|
# SRS_AUTO_HEADERS_H: the auto generated header file.
|
|
|
|
|
|
|
|
SRS_AUTO_HEADERS_H="${SRS_OBJS}/srs_auto_headers.hpp"
|
|
|
|
|
|
|
|
# write user options to headers
|
|
|
|
echo "// auto generated by configure" > $SRS_AUTO_HEADERS_H
|
|
|
|
echo "#ifndef SRS_AUTO_HEADER_HPP" >> $SRS_AUTO_HEADERS_H
|
|
|
|
echo "#define SRS_AUTO_HEADER_HPP" >> $SRS_AUTO_HEADERS_H
|
|
|
|
echo "" >> $SRS_AUTO_HEADERS_H
|
|
|
|
|
2021-08-07 13:35:00 +00:00
|
|
|
echo "#define SRS_PACKAGER \"${SRS_AUTO_PACKAGER}\"" >> $SRS_AUTO_HEADERS_H
|
2020-04-29 12:02:28 +00:00
|
|
|
echo "#define SRS_BUILD_TS \"`date +%s`\"" >> $SRS_AUTO_HEADERS_H
|
|
|
|
echo "#define SRS_BUILD_DATE \"`date \"+%Y-%m-%d %H:%M:%S\"`\"" >> $SRS_AUTO_HEADERS_H
|
|
|
|
echo "#define SRS_UNAME \"`uname -a`\"" >> $SRS_AUTO_HEADERS_H
|
|
|
|
echo "#define SRS_USER_CONFIGURE \"${SRS_AUTO_USER_CONFIGURE}\"" >> $SRS_AUTO_HEADERS_H
|
|
|
|
echo "#define SRS_CONFIGURE \"${SRS_AUTO_CONFIGURE}\"" >> $SRS_AUTO_HEADERS_H
|
2015-03-10 04:50:27 +00:00
|
|
|
echo "" >> $SRS_AUTO_HEADERS_H
|
|
|
|
|
2015-09-24 04:15:12 +00:00
|
|
|
function srs_define_macro()
|
|
|
|
{
|
|
|
|
macro=$1 && file=$2
|
|
|
|
echo "#define $macro" >> $file
|
|
|
|
echo "#define ${macro}_BOOL true" >> $file
|
|
|
|
}
|
|
|
|
|
|
|
|
function srs_define_macro_value()
|
|
|
|
{
|
|
|
|
macro=$1 && value=$2 && file=$3
|
|
|
|
echo "#define $macro $value" >> $file
|
|
|
|
echo "#define ${macro}_BOOL true" >> $file
|
|
|
|
}
|
|
|
|
|
|
|
|
function srs_undefine_macro()
|
|
|
|
{
|
|
|
|
macro=$1 && file=$2
|
|
|
|
echo "#undef $macro" >> $file
|
|
|
|
echo "#define ${macro}_BOOL false" >> $file
|
|
|
|
}
|
|
|
|
|
2015-03-07 08:49:21 +00:00
|
|
|
#####################################################################################
|
|
|
|
# generate auto headers file, depends on the finished of options.sh
|
|
|
|
#####################################################################################
|
|
|
|
# auto headers in depends.
|
2022-11-18 15:02:35 +00:00
|
|
|
if [[ $SRS_HDS == YES ]]; then
|
2020-04-29 12:02:28 +00:00
|
|
|
srs_define_macro "SRS_HDS" $SRS_AUTO_HEADERS_H
|
2015-03-12 03:15:15 +00:00
|
|
|
else
|
2020-04-29 12:02:28 +00:00
|
|
|
srs_undefine_macro "SRS_HDS" $SRS_AUTO_HEADERS_H
|
2015-03-12 03:15:15 +00:00
|
|
|
fi
|
|
|
|
|
2022-11-18 15:02:35 +00:00
|
|
|
if [[ $SRS_SRT == YES ]]; then
|
2020-04-29 12:02:28 +00:00
|
|
|
srs_define_macro "SRS_SRT" $SRS_AUTO_HEADERS_H
|
2020-01-23 06:23:09 +00:00
|
|
|
else
|
2020-04-29 12:02:28 +00:00
|
|
|
srs_undefine_macro "SRS_SRT" $SRS_AUTO_HEADERS_H
|
2020-01-23 06:23:09 +00:00
|
|
|
fi
|
|
|
|
|
2022-11-18 15:02:35 +00:00
|
|
|
if [[ $SRS_CXX11 == YES ]]; then
|
2020-06-03 11:18:41 +00:00
|
|
|
srs_define_macro "SRS_CXX11" $SRS_AUTO_HEADERS_H
|
|
|
|
else
|
|
|
|
srs_undefine_macro "SRS_CXX11" $SRS_AUTO_HEADERS_H
|
|
|
|
fi
|
|
|
|
|
2022-11-18 15:02:35 +00:00
|
|
|
if [[ $SRS_CXX14 == YES ]]; then
|
2020-06-11 09:12:37 +00:00
|
|
|
srs_define_macro "SRS_CXX14" $SRS_AUTO_HEADERS_H
|
|
|
|
else
|
|
|
|
srs_undefine_macro "SRS_CXX14" $SRS_AUTO_HEADERS_H
|
|
|
|
fi
|
|
|
|
|
2022-11-18 15:02:35 +00:00
|
|
|
if [[ $SRS_BACKTRACE == YES ]]; then
|
2022-10-21 15:30:43 +00:00
|
|
|
srs_define_macro "SRS_BACKTRACE" $SRS_AUTO_HEADERS_H
|
|
|
|
else
|
|
|
|
srs_undefine_macro "SRS_BACKTRACE" $SRS_AUTO_HEADERS_H
|
|
|
|
fi
|
|
|
|
|
2022-11-18 15:02:35 +00:00
|
|
|
if [[ $SRS_RTC == YES ]]; then
|
2020-04-29 12:02:28 +00:00
|
|
|
srs_define_macro "SRS_RTC" $SRS_AUTO_HEADERS_H
|
2020-03-22 10:17:05 +00:00
|
|
|
else
|
2020-04-29 12:02:28 +00:00
|
|
|
srs_undefine_macro "SRS_RTC" $SRS_AUTO_HEADERS_H
|
2020-03-22 10:17:05 +00:00
|
|
|
fi
|
|
|
|
|
2022-11-18 15:02:35 +00:00
|
|
|
if [[ $SRS_FFMPEG_FIT == YES ]]; then
|
2020-06-24 04:44:13 +00:00
|
|
|
srs_define_macro "SRS_FFMPEG_FIT" $SRS_AUTO_HEADERS_H
|
|
|
|
else
|
|
|
|
srs_undefine_macro "SRS_FFMPEG_FIT" $SRS_AUTO_HEADERS_H
|
|
|
|
fi
|
|
|
|
|
2022-11-18 15:02:35 +00:00
|
|
|
if [[ $SRS_SIMULATOR == YES ]]; then
|
2020-05-07 08:29:11 +00:00
|
|
|
srs_define_macro "SRS_SIMULATOR" $SRS_AUTO_HEADERS_H
|
|
|
|
else
|
|
|
|
srs_undefine_macro "SRS_SIMULATOR" $SRS_AUTO_HEADERS_H
|
|
|
|
fi
|
|
|
|
|
2022-11-18 15:02:35 +00:00
|
|
|
if [[ $SRS_HTTPS == YES ]]; then
|
2020-11-03 07:45:52 +00:00
|
|
|
srs_define_macro "SRS_HTTPS" $SRS_AUTO_HEADERS_H
|
|
|
|
else
|
|
|
|
srs_undefine_macro "SRS_HTTPS" $SRS_AUTO_HEADERS_H
|
|
|
|
fi
|
|
|
|
|
2022-11-18 15:02:35 +00:00
|
|
|
if [[ $SRS_GB28181 == YES ]]; then
|
2022-10-06 09:40:58 +00:00
|
|
|
srs_define_macro "SRS_GB28181" $SRS_AUTO_HEADERS_H
|
|
|
|
else
|
|
|
|
srs_undefine_macro "SRS_GB28181" $SRS_AUTO_HEADERS_H
|
|
|
|
fi
|
|
|
|
|
2022-12-03 10:35:41 +00:00
|
|
|
if [[ $SRS_APM == YES ]]; then
|
|
|
|
srs_define_macro "SRS_APM" $SRS_AUTO_HEADERS_H
|
|
|
|
else
|
|
|
|
srs_undefine_macro "SRS_APM" $SRS_AUTO_HEADERS_H
|
|
|
|
fi
|
|
|
|
|
2022-11-18 15:02:35 +00:00
|
|
|
if [[ $SRS_UTEST == YES ]]; then
|
2020-04-29 12:02:28 +00:00
|
|
|
srs_define_macro "SRS_UTEST" $SRS_AUTO_HEADERS_H
|
2019-04-10 01:07:03 +00:00
|
|
|
else
|
2020-04-29 12:02:28 +00:00
|
|
|
srs_undefine_macro "SRS_UTEST" $SRS_AUTO_HEADERS_H
|
2019-04-10 01:07:03 +00:00
|
|
|
fi
|
|
|
|
|
2015-03-07 08:49:21 +00:00
|
|
|
# whatever the FFMPEG tools, if transcode and ingest specified,
|
|
|
|
# srs always compile the FFMPEG tool stub which used to start the FFMPEG process.
|
2022-11-18 15:02:35 +00:00
|
|
|
if [[ $SRS_FFMPEG_STUB == YES ]]; then
|
2020-04-29 12:02:28 +00:00
|
|
|
srs_define_macro "SRS_FFMPEG_STUB" $SRS_AUTO_HEADERS_H
|
2015-03-07 08:49:21 +00:00
|
|
|
else
|
2020-04-29 12:02:28 +00:00
|
|
|
srs_undefine_macro "SRS_FFMPEG_STUB" $SRS_AUTO_HEADERS_H
|
2015-03-07 08:49:21 +00:00
|
|
|
fi
|
|
|
|
|
2022-11-18 15:02:35 +00:00
|
|
|
if [[ $SRS_GPERF == YES ]]; then
|
2020-04-29 12:02:28 +00:00
|
|
|
srs_define_macro "SRS_GPERF" $SRS_AUTO_HEADERS_H
|
2015-03-07 08:49:21 +00:00
|
|
|
else
|
2020-04-29 12:02:28 +00:00
|
|
|
srs_undefine_macro "SRS_GPERF" $SRS_AUTO_HEADERS_H
|
2015-03-07 08:49:21 +00:00
|
|
|
fi
|
2022-11-18 15:02:35 +00:00
|
|
|
if [[ $SRS_GPERF_MC == YES ]]; then
|
2020-04-29 12:02:28 +00:00
|
|
|
srs_define_macro "SRS_GPERF_MC" $SRS_AUTO_HEADERS_H
|
2015-03-07 08:49:21 +00:00
|
|
|
else
|
2020-04-29 12:02:28 +00:00
|
|
|
srs_undefine_macro "SRS_GPERF_MC" $SRS_AUTO_HEADERS_H
|
2015-03-07 08:49:21 +00:00
|
|
|
fi
|
2022-11-18 15:02:35 +00:00
|
|
|
if [[ $SRS_GPERF_MD == YES ]]; then
|
2020-04-29 12:02:28 +00:00
|
|
|
srs_define_macro "SRS_GPERF_MD" $SRS_AUTO_HEADERS_H
|
2016-01-08 05:58:19 +00:00
|
|
|
else
|
2020-04-29 12:02:28 +00:00
|
|
|
srs_undefine_macro "SRS_GPERF_MD" $SRS_AUTO_HEADERS_H
|
2016-01-08 05:58:19 +00:00
|
|
|
fi
|
2022-11-18 15:02:35 +00:00
|
|
|
if [[ $SRS_GPERF_MP == YES ]]; then
|
2020-04-29 12:02:28 +00:00
|
|
|
srs_define_macro "SRS_GPERF_MP" $SRS_AUTO_HEADERS_H
|
2015-03-07 08:49:21 +00:00
|
|
|
else
|
2020-04-29 12:02:28 +00:00
|
|
|
srs_undefine_macro "SRS_GPERF_MP" $SRS_AUTO_HEADERS_H
|
2015-03-07 08:49:21 +00:00
|
|
|
fi
|
2022-11-18 15:02:35 +00:00
|
|
|
if [[ $SRS_GPERF_CP == YES ]]; then
|
2020-04-29 12:02:28 +00:00
|
|
|
srs_define_macro "SRS_GPERF_CP" $SRS_AUTO_HEADERS_H
|
2015-03-07 08:49:21 +00:00
|
|
|
else
|
2020-04-29 12:02:28 +00:00
|
|
|
srs_undefine_macro "SRS_GPERF_CP" $SRS_AUTO_HEADERS_H
|
2015-03-07 08:49:21 +00:00
|
|
|
fi
|
2022-12-31 11:27:21 +00:00
|
|
|
if [ $SRS_SANITIZER == YES ]; then
|
|
|
|
srs_define_macro "SRS_SANITIZER" $SRS_AUTO_HEADERS_H
|
|
|
|
else
|
|
|
|
srs_undefine_macro "SRS_SANITIZER" $SRS_AUTO_HEADERS_H
|
|
|
|
fi
|
2022-12-04 14:20:59 +00:00
|
|
|
if [ $SRS_SANITIZER_LOG == YES ]; then
|
|
|
|
srs_define_macro "SRS_SANITIZER_LOG" $SRS_AUTO_HEADERS_H
|
|
|
|
else
|
|
|
|
srs_undefine_macro "SRS_SANITIZER_LOG" $SRS_AUTO_HEADERS_H
|
|
|
|
fi
|
2015-03-07 08:49:21 +00:00
|
|
|
|
|
|
|
#####################################################################################
|
|
|
|
# for embeded.
|
|
|
|
#####################################################################################
|
|
|
|
# for log level compile settings
|
2022-11-18 15:02:35 +00:00
|
|
|
if [[ $SRS_LOG_VERBOSE == YES ]]; then
|
2020-04-29 12:02:28 +00:00
|
|
|
srs_define_macro "SRS_VERBOSE" $SRS_AUTO_HEADERS_H
|
2015-03-07 08:49:21 +00:00
|
|
|
else
|
2020-04-29 12:02:28 +00:00
|
|
|
srs_undefine_macro "SRS_VERBOSE" $SRS_AUTO_HEADERS_H
|
2015-03-07 08:49:21 +00:00
|
|
|
fi
|
2022-11-18 15:02:35 +00:00
|
|
|
if [[ $SRS_LOG_INFO == YES ]]; then
|
2020-04-29 12:02:28 +00:00
|
|
|
srs_define_macro "SRS_INFO" $SRS_AUTO_HEADERS_H
|
2015-03-07 08:49:21 +00:00
|
|
|
else
|
2020-04-29 12:02:28 +00:00
|
|
|
srs_undefine_macro "SRS_INFO" $SRS_AUTO_HEADERS_H
|
2015-03-07 08:49:21 +00:00
|
|
|
fi
|
2022-11-18 15:02:35 +00:00
|
|
|
if [[ $SRS_LOG_TRACE == YES ]]; then
|
2020-04-29 12:02:28 +00:00
|
|
|
srs_define_macro "SRS_TRACE" $SRS_AUTO_HEADERS_H
|
2015-03-07 08:49:21 +00:00
|
|
|
else
|
2020-04-29 12:02:28 +00:00
|
|
|
srs_undefine_macro "SRS_TRACE" $SRS_AUTO_HEADERS_H
|
2015-03-07 08:49:21 +00:00
|
|
|
fi
|
2022-11-19 04:11:03 +00:00
|
|
|
if [[ $SRS_SINGLE_THREAD == YES ]]; then
|
|
|
|
srs_define_macro "SRS_SINGLE_THREAD" $SRS_AUTO_HEADERS_H
|
|
|
|
else
|
|
|
|
srs_undefine_macro "SRS_SINGLE_THREAD" $SRS_AUTO_HEADERS_H
|
|
|
|
fi
|
2022-11-18 15:02:35 +00:00
|
|
|
if [[ $SRS_LOG_LEVEL_V2 == YES ]]; then
|
2022-10-26 13:23:03 +00:00
|
|
|
srs_define_macro "SRS_LOG_LEVEL_V2" $SRS_AUTO_HEADERS_H
|
|
|
|
else
|
|
|
|
srs_undefine_macro "SRS_LOG_LEVEL_V2" $SRS_AUTO_HEADERS_H
|
|
|
|
fi
|
2022-11-18 15:02:35 +00:00
|
|
|
if [[ $SRS_CROSS_BUILD == YES ]]; then
|
2020-04-29 12:02:28 +00:00
|
|
|
srs_define_macro "SRS_CROSSBUILD" $SRS_AUTO_HEADERS_H
|
2020-01-21 05:59:43 +00:00
|
|
|
else
|
2020-04-29 12:02:28 +00:00
|
|
|
srs_undefine_macro "SRS_CROSSBUILD" $SRS_AUTO_HEADERS_H
|
2020-01-21 05:59:43 +00:00
|
|
|
fi
|
2022-11-20 04:29:57 +00:00
|
|
|
if [[ $SRS_CYGWIN64 == YES ]]; then
|
|
|
|
srs_define_macro "SRS_CYGWIN64" $SRS_AUTO_HEADERS_H
|
|
|
|
else
|
|
|
|
srs_undefine_macro "SRS_CYGWIN64" $SRS_AUTO_HEADERS_H
|
|
|
|
fi
|
2022-11-18 15:02:35 +00:00
|
|
|
if [[ $SRS_OSX == YES ]]; then
|
2020-04-29 12:02:28 +00:00
|
|
|
srs_define_macro "SRS_OSX" $SRS_AUTO_HEADERS_H
|
2020-03-28 09:20:40 +00:00
|
|
|
else
|
2020-04-29 12:02:28 +00:00
|
|
|
srs_undefine_macro "SRS_OSX" $SRS_AUTO_HEADERS_H
|
2020-03-28 09:20:40 +00:00
|
|
|
fi
|
2015-03-07 08:49:21 +00:00
|
|
|
|
2022-11-18 15:02:35 +00:00
|
|
|
if [[ $SRS_DEBUG == YES ]]; then
|
2020-04-29 12:02:28 +00:00
|
|
|
srs_define_macro "SRS_DEBUG" $SRS_AUTO_HEADERS_H
|
2020-04-14 12:12:33 +00:00
|
|
|
else
|
2020-04-29 12:02:28 +00:00
|
|
|
srs_undefine_macro "SRS_DEBUG" $SRS_AUTO_HEADERS_H
|
2020-04-14 12:12:33 +00:00
|
|
|
fi
|
|
|
|
|
2022-11-18 15:02:35 +00:00
|
|
|
if [[ $SRS_DEBUG_STATS == YES ]]; then
|
2021-02-15 05:09:13 +00:00
|
|
|
srs_define_macro "SRS_DEBUG_STATS" $SRS_AUTO_HEADERS_H
|
|
|
|
else
|
|
|
|
srs_undefine_macro "SRS_DEBUG_STATS" $SRS_AUTO_HEADERS_H
|
|
|
|
fi
|
|
|
|
|
2015-03-07 08:49:21 +00:00
|
|
|
# prefix
|
|
|
|
echo "" >> $SRS_AUTO_HEADERS_H
|
2020-04-29 12:02:28 +00:00
|
|
|
echo "#define SRS_PREFIX \"${SRS_PREFIX}\"" >> $SRS_AUTO_HEADERS_H
|
2022-01-13 10:26:28 +00:00
|
|
|
echo "#define SRS_DEFAULT_CONFIG \"${SRS_DEFAULT_CONFIG}\"" >> $SRS_AUTO_HEADERS_H
|
2015-03-07 08:49:21 +00:00
|
|
|
|
|
|
|
echo "" >> $SRS_AUTO_HEADERS_H
|
|
|
|
|
|
|
|
#####################################################################################
|
|
|
|
# generated the contributors from AUTHORS.txt
|
|
|
|
#####################################################################################
|
2021-07-09 01:00:35 +00:00
|
|
|
if [[ -f AUTHORS.md ]]; then
|
|
|
|
RTMP_SIG_SRS_AUTHORS=$(cat AUTHORS.md|grep "^-"|awk -F '`' '{print $2}')
|
2021-07-08 06:30:47 +00:00
|
|
|
echo "#define RTMP_SIG_SRS_AUTHORS \"\\" >> $SRS_AUTO_HEADERS_H
|
|
|
|
for CONTRIBUTOR in $RTMP_SIG_SRS_AUTHORS; do
|
2019-05-04 23:55:55 +00:00
|
|
|
echo "${CONTRIBUTOR} \\" >> $SRS_AUTO_HEADERS_H
|
|
|
|
done
|
|
|
|
echo "\"" >> $SRS_AUTO_HEADERS_H
|
|
|
|
else
|
2021-07-08 06:30:47 +00:00
|
|
|
echo "#define RTMP_SIG_SRS_AUTHORS \"ossrs\"" >> $SRS_AUTO_HEADERS_H
|
2019-05-04 23:55:55 +00:00
|
|
|
fi
|
2015-03-07 08:49:21 +00:00
|
|
|
|
|
|
|
# new empty line to auto headers file.
|
|
|
|
echo "" >> $SRS_AUTO_HEADERS_H
|
|
|
|
|
2015-09-17 03:57:17 +00:00
|
|
|
#####################################################################################
|
2015-03-07 08:49:21 +00:00
|
|
|
# auto header EOF.
|
2015-09-17 03:57:17 +00:00
|
|
|
#####################################################################################
|
2015-03-07 08:49:21 +00:00
|
|
|
echo "#endif" >> $SRS_AUTO_HEADERS_H
|
|
|
|
echo "" >> $SRS_AUTO_HEADERS_H
|
|
|
|
|