mirror of
https://github.com/ossrs/srs.git
synced 2025-03-09 15:49:59 +00:00
For #1547, refine configure, remove some macros
This commit is contained in:
parent
84d69a51a4
commit
024433f327
6 changed files with 63 additions and 215 deletions
|
@ -40,9 +40,6 @@ function srs_undefine_macro()
|
||||||
}
|
}
|
||||||
|
|
||||||
# export the preset.
|
# export the preset.
|
||||||
if [ $SRS_OSX = YES ]; then
|
|
||||||
srs_define_macro "SRS_OSX" $SRS_AUTO_HEADERS_H
|
|
||||||
fi
|
|
||||||
if [ $SRS_X86_X64 = YES ]; then
|
if [ $SRS_X86_X64 = YES ]; then
|
||||||
srs_define_macro "SRS_X86_X64" $SRS_AUTO_HEADERS_H
|
srs_define_macro "SRS_X86_X64" $SRS_AUTO_HEADERS_H
|
||||||
fi
|
fi
|
||||||
|
|
|
@ -185,101 +185,11 @@ fi
|
||||||
#####################################################################################
|
#####################################################################################
|
||||||
# for Centos, auto install tools by yum
|
# for Centos, auto install tools by yum
|
||||||
#####################################################################################
|
#####################################################################################
|
||||||
OS_IS_OSX=NO
|
|
||||||
function OSX_prepare()
|
|
||||||
{
|
|
||||||
uname -s|grep Darwin >/dev/null 2>&1
|
|
||||||
ret=$?; if [[ 0 -ne $ret ]]; then
|
|
||||||
if [ $SRS_OSX = YES ]; then
|
|
||||||
echo "Current OS `uname -s` is not OSX, please check your configure options."
|
|
||||||
exit 1;
|
|
||||||
fi
|
|
||||||
return 0;
|
|
||||||
fi
|
|
||||||
|
|
||||||
OS_IS_OSX=YES
|
|
||||||
echo "Installing tools for OSX."
|
|
||||||
# requires the osx when os
|
|
||||||
if [ $OS_IS_OSX = YES ]; then
|
|
||||||
if [ $SRS_OSX = NO ]; then
|
|
||||||
echo "Invalid configure options for OSX, please specify --osx."
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
brew --help >/dev/null 2>&1; ret=$?; if [[ 0 -ne $ret ]]; then
|
|
||||||
echo "Installing brew."
|
|
||||||
echo "ruby -e \"$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)\""
|
|
||||||
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"; ret=$?; if [[ 0 -ne $ret ]]; then return $ret; fi
|
|
||||||
echo "The brew is installed."
|
|
||||||
fi
|
|
||||||
|
|
||||||
gcc --help >/dev/null 2>&1; ret=$?; if [[ 0 -ne $ret ]]; then
|
|
||||||
echo "Installing gcc."
|
|
||||||
echo "brew install gcc"
|
|
||||||
brew install gcc; ret=$?; if [[ 0 -ne $ret ]]; then return $ret; fi
|
|
||||||
echo "The gcc is installed."
|
|
||||||
fi
|
|
||||||
|
|
||||||
g++ --help >/dev/null 2>&1; ret=$?; if [[ 0 -ne $ret ]]; then
|
|
||||||
echo "Installing gcc-c++."
|
|
||||||
echo "brew install gcc-c++"
|
|
||||||
brew install gcc-c++; ret=$?; if [[ 0 -ne $ret ]]; then return $ret; fi
|
|
||||||
echo "The gcc-c++ is installed."
|
|
||||||
fi
|
|
||||||
|
|
||||||
make --help >/dev/null 2>&1; ret=$?; if [[ 0 -ne $ret ]]; then
|
|
||||||
echo "Installing make."
|
|
||||||
echo "brew install make"
|
|
||||||
brew install make; ret=$?; if [[ 0 -ne $ret ]]; then return $ret; fi
|
|
||||||
echo "The make is installed."
|
|
||||||
fi
|
|
||||||
|
|
||||||
patch --help >/dev/null 2>&1; ret=$?; if [[ 0 -ne $ret ]]; then
|
|
||||||
echo "Installing patch."
|
|
||||||
echo "brew install patch"
|
|
||||||
brew install patch; ret=$?; if [[ 0 -ne $ret ]]; then return $ret; fi
|
|
||||||
echo "The patch is installed."
|
|
||||||
fi
|
|
||||||
|
|
||||||
unzip --help >/dev/null 2>&1; ret=$?; if [[ 0 -ne $ret ]]; then
|
|
||||||
echo "Installing unzip."
|
|
||||||
echo "brew install unzip"
|
|
||||||
brew install unzip; ret=$?; if [[ 0 -ne $ret ]]; then return $ret; fi
|
|
||||||
echo "The unzip is installed."
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [[ $SRS_VALGRIND == YES ]]; then
|
|
||||||
valgrind --help >/dev/null 2>&1; ret=$?; if [[ 0 -ne $ret ]]; then
|
|
||||||
echo "Installing valgrind."
|
|
||||||
echo "brew install valgrind"
|
|
||||||
brew install valgrind; ret=$?; if [[ 0 -ne $ret ]]; then return $ret; fi
|
|
||||||
echo "The valgrind is installed."
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
echo "Tools for OSX are installed."
|
|
||||||
return 0
|
|
||||||
}
|
|
||||||
# donot prepare tools, for srs-librtmp depends only gcc and g++.
|
|
||||||
if [ $SRS_EXPORT_LIBRTMP_PROJECT = NO ]; then
|
|
||||||
OSX_prepare; ret=$?; if [[ 0 -ne $ret ]]; then echo "Install tools for OSX failed, ret=$ret"; exit $ret; fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
# We must use a bash function instead of variable.
|
# We must use a bash function instead of variable.
|
||||||
function sed_utility() {
|
function sed_utility() {
|
||||||
if [ $OS_IS_OSX = YES ]; then
|
|
||||||
sed -i '' "$@"
|
|
||||||
else
|
|
||||||
sed -i "$@"
|
sed -i "$@"
|
||||||
fi
|
|
||||||
|
|
||||||
ret=$?; if [[ $ret -ne 0 ]]; then
|
ret=$?; if [[ $ret -ne 0 ]]; then
|
||||||
if [ $OS_IS_OSX = YES ]; then
|
|
||||||
echo "sed -i '' \"$@\""
|
|
||||||
else
|
|
||||||
echo "sed -i \"$@\""
|
echo "sed -i \"$@\""
|
||||||
fi
|
|
||||||
return $ret
|
return $ret
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
@ -294,7 +204,7 @@ SED="sed_utility" && echo "SED is $SED"
|
||||||
# directly build on arm/mips, for example, pi or cubie,
|
# directly build on arm/mips, for example, pi or cubie,
|
||||||
# export srs-librtmp
|
# export srs-librtmp
|
||||||
# others is invalid.
|
# others is invalid.
|
||||||
if [[ $OS_IS_UBUNTU = NO && $OS_IS_CENTOS = NO && $OS_IS_OSX = NO && $SRS_EXPORT_LIBRTMP_PROJECT = NO ]]; then
|
if [[ $OS_IS_UBUNTU = NO && $OS_IS_CENTOS = NO && $SRS_EXPORT_LIBRTMP_PROJECT = NO ]]; then
|
||||||
if [[ $SRS_PI = NO && $SRS_CUBIE = NO && $SRS_CROSS_BUILD = NO ]]; then
|
if [[ $SRS_PI = NO && $SRS_CUBIE = NO && $SRS_CROSS_BUILD = NO ]]; then
|
||||||
echo "Your OS `uname -s` is not supported."
|
echo "Your OS `uname -s` is not supported."
|
||||||
exit 1
|
exit 1
|
||||||
|
@ -307,10 +217,6 @@ fi
|
||||||
if [ $SRS_EXPORT_LIBRTMP_PROJECT = NO ]; then
|
if [ $SRS_EXPORT_LIBRTMP_PROJECT = NO ]; then
|
||||||
# check the cross build flag file, if flag changed, need to rebuild the st.
|
# check the cross build flag file, if flag changed, need to rebuild the st.
|
||||||
_ST_MAKE=linux-debug && _ST_EXTRA_CFLAGS="-DMD_HAVE_EPOLL"
|
_ST_MAKE=linux-debug && _ST_EXTRA_CFLAGS="-DMD_HAVE_EPOLL"
|
||||||
# for osx, use darwin for st, donot use epoll.
|
|
||||||
if [ $OS_IS_OSX = YES ]; then
|
|
||||||
_ST_MAKE=darwin-debug && _ST_EXTRA_CFLAGS="-DMD_HAVE_KQUEUE -I/usr/local/include"
|
|
||||||
fi
|
|
||||||
if [[ $SRS_VALGRIND == YES ]]; then
|
if [[ $SRS_VALGRIND == YES ]]; then
|
||||||
_ST_EXTRA_CFLAGS="$_ST_EXTRA_CFLAGS -DMD_VALGRIND"
|
_ST_EXTRA_CFLAGS="$_ST_EXTRA_CFLAGS -DMD_VALGRIND"
|
||||||
fi
|
fi
|
||||||
|
@ -416,10 +322,6 @@ fi
|
||||||
# openssl, for rtmp complex handshake
|
# openssl, for rtmp complex handshake
|
||||||
#####################################################################################
|
#####################################################################################
|
||||||
# extra configure options
|
# extra configure options
|
||||||
CONFIGURE_TOOL="./config"
|
|
||||||
if [ $SRS_OSX = YES ]; then
|
|
||||||
CONFIGURE_TOOL="./Configure darwin64-`uname -m`-cc"
|
|
||||||
fi
|
|
||||||
OPENSSL_HOTFIX="-DOPENSSL_NO_HEARTBEATS"
|
OPENSSL_HOTFIX="-DOPENSSL_NO_HEARTBEATS"
|
||||||
# @see http://www.openssl.org/news/secadv/20140407.txt
|
# @see http://www.openssl.org/news/secadv/20140407.txt
|
||||||
# Affected users should upgrade to OpenSSL 1.1.0e. Users unable to immediately
|
# Affected users should upgrade to OpenSSL 1.1.0e. Users unable to immediately
|
||||||
|
@ -442,7 +344,7 @@ if [ $SRS_SSL = YES ]; then
|
||||||
(
|
(
|
||||||
rm -rf ${SRS_OBJS}/openssl-1.1.0e && cd ${SRS_OBJS} &&
|
rm -rf ${SRS_OBJS}/openssl-1.1.0e && cd ${SRS_OBJS} &&
|
||||||
unzip -q ../3rdparty/openssl-1.1.0e.zip && cd openssl-1.1.0e &&
|
unzip -q ../3rdparty/openssl-1.1.0e.zip && cd openssl-1.1.0e &&
|
||||||
$CONFIGURE_TOOL --prefix=`pwd`/_release -no-shared no-threads $OPENSSL_HOTFIX &&
|
./config --prefix=`pwd`/_release -no-shared no-threads $OPENSSL_HOTFIX &&
|
||||||
make && make install_sw &&
|
make && make install_sw &&
|
||||||
cd .. && rm -rf openssl && ln -sf openssl-1.1.0e/_release openssl
|
cd .. && rm -rf openssl && ln -sf openssl-1.1.0e/_release openssl
|
||||||
)
|
)
|
||||||
|
|
|
@ -1,12 +1,5 @@
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
OS_IS_OSX=NO
|
|
||||||
uname -s|grep Darwin >/dev/null 2>&1
|
|
||||||
ret=$?; if [[ 0 -eq $ret ]]; then
|
|
||||||
OS_IS_OSX=YES
|
|
||||||
fi
|
|
||||||
echo "Is OSX: ${OS_IS_OSX}"
|
|
||||||
|
|
||||||
# when export srs-librtmp single files
|
# when export srs-librtmp single files
|
||||||
# package the whole project to srs_librtmp.h and srs_librtmp.cpp
|
# package the whole project to srs_librtmp.h and srs_librtmp.cpp
|
||||||
#
|
#
|
||||||
|
|
|
@ -77,7 +77,6 @@ SRS_VALGRIND=NO
|
||||||
SRS_X86_X64=NO
|
SRS_X86_X64=NO
|
||||||
# for osx system
|
# for osx system
|
||||||
SRS_OSX=NO
|
SRS_OSX=NO
|
||||||
SRS_ALLOW_OSX=NO
|
|
||||||
# dev, open all features for dev, no gperf/prof/arm.
|
# dev, open all features for dev, no gperf/prof/arm.
|
||||||
SRS_DEV=NO
|
SRS_DEV=NO
|
||||||
# dev, open main server feature for dev, no utest/research/librtmp
|
# dev, open main server feature for dev, no utest/research/librtmp
|
||||||
|
@ -98,7 +97,7 @@ SRS_DISABLE_ALL=NO
|
||||||
SRS_ENABLE_ALL=NO
|
SRS_ENABLE_ALL=NO
|
||||||
#
|
#
|
||||||
#####################################################################################
|
#####################################################################################
|
||||||
# We don't support crossbuild for ARM/MIPS, please directly build it on ARM/MIPS server.
|
# Whether enable crossbuild for ARM or MIPS.
|
||||||
SRS_CROSS_BUILD=NO
|
SRS_CROSS_BUILD=NO
|
||||||
|
|
||||||
#####################################################################################
|
#####################################################################################
|
||||||
|
@ -107,106 +106,79 @@ SRS_CROSS_BUILD=NO
|
||||||
function show_help() {
|
function show_help() {
|
||||||
cat << END
|
cat << END
|
||||||
|
|
||||||
Options:
|
Presets:
|
||||||
-h, --help print this message
|
--x86-64, --x86-x64 [default] For x86/x64 cpu, common pc and servers.
|
||||||
|
--arm Enable crossbuild for ARM, should also set bellow toolchain options.
|
||||||
|
--mips Enable crossbuild for MIPS
|
||||||
|
|
||||||
--with-ssl enable rtmp complex handshake, requires openssl-devel installed.
|
Features:
|
||||||
--with-hds enable hds streaming, mux RTMP to F4M/F4V files.
|
-h, --help Print this message and exit 0.
|
||||||
--with-nginx enable delivery HTTP stream with nginx.
|
|
||||||
--with-stream-caster enable stream caster to serve other stream over other protocol.
|
|
||||||
--with-ffmpeg enable transcoding tool ffmpeg.
|
|
||||||
--with-transcode enable transcoding features.
|
|
||||||
--with-ingest enable ingest features.
|
|
||||||
--with-stat enable the data statistic, for http api.
|
|
||||||
--with-librtmp enable srs-librtmp, library for client.
|
|
||||||
--with-research build the research tools.
|
|
||||||
--with-utest build the utest for SRS.
|
|
||||||
--with-gperf build SRS with gperf tools(no gmd/gmc/gmp/gcp, with tcmalloc only).
|
|
||||||
https://blog.csdn.net/win_lin/article/details/53503869
|
|
||||||
--with-gmc build memory check for SRS with gperf tools.
|
|
||||||
--with-gmd build memory defense(corrupt memory) for SRS with gperf tools.
|
|
||||||
--with-gmp build memory profile for SRS with gperf tools.
|
|
||||||
--with-gcp build cpu profile for SRS with gperf tools.
|
|
||||||
--with-gprof build SRS with gprof(GNU profile tool).
|
|
||||||
--with-arm-ubuntu12 cross build SRS on ubuntu12 for armhf(v7cpu).
|
|
||||||
--with-mips-ubuntu12 cross build SRS on ubuntu12 for mips.
|
|
||||||
|
|
||||||
--without-ssl disable rtmp complex handshake.
|
--with-ssl Enable rtmp complex handshake, requires openssl-devel installed.
|
||||||
--without-hds disable hds, the adobe http dynamic streaming.
|
--with-hds Enable hds streaming, mux RTMP to F4M/F4V files.
|
||||||
--without-nginx disable delivery HTTP stream with nginx.
|
--with-stream-caster Enable stream caster to serve other stream over other protocol.
|
||||||
--without-stream-caster disable stream caster, only listen and serve RTMP/HTTP.
|
--with-stat Enable the data statistic, for http api.
|
||||||
--without-ffmpeg disable the ffmpeg transcode tool feature.
|
--with-librtmp Enable srs-librtmp, library for client.
|
||||||
--without-transcode disable the transcoding feature.
|
--with-research Build the research tools.
|
||||||
--without-ingest disable the ingest feature.
|
--with-utest Build the utest for SRS.
|
||||||
--without-stat disable the data statistic feature.
|
|
||||||
--without-librtmp disable srs-librtmp, library for client.
|
--without-ssl Disable rtmp complex handshake.
|
||||||
--without-research do not build the research tools.
|
--without-hds Disable hds, the adobe http dynamic streaming.
|
||||||
--without-utest do not build the utest for SRS.
|
--without-stream-caster Disable stream caster, only listen and serve RTMP/HTTP.
|
||||||
--without-gperf do not build SRS with gperf tools(without tcmalloc and gmd/gmc/gmp/gcp).
|
--without-stat Disable the data statistic feature.
|
||||||
--without-gmc do not build memory check for SRS with gperf tools.
|
--without-librtmp Disable srs-librtmp, library for client.
|
||||||
--without-gmd do not build memory defense for SRS with gperf tools.
|
--without-research Do not build the research tools.
|
||||||
--without-gmp do not build memory profile for SRS with gperf tools.
|
--without-utest Do not build the utest for SRS.
|
||||||
--without-gcp do not build cpu profile for SRS with gperf tools.
|
|
||||||
--without-gprof do not build srs with gprof(GNU profile tool).
|
|
||||||
--without-arm-ubuntu12 do not cross build srs on ubuntu12 for armhf(v7cpu).
|
|
||||||
--without-mips-ubuntu12 do not cross build srs on ubuntu12 for mips.
|
|
||||||
|
|
||||||
--prefix=<path> The absolute installation path for srs. Default: $SRS_PREFIX
|
--prefix=<path> The absolute installation path for srs. Default: $SRS_PREFIX
|
||||||
--static Whether add '-static' to link options.
|
--static Whether add '-static' to link options.
|
||||||
--gcov Whether enable the GCOV compiler options.
|
--gcov Whether enable the GCOV compiler options.
|
||||||
--jobs[=N] Allow N jobs at once; infinite jobs with no arg.
|
--jobs[=N] Allow N jobs at once; infinite jobs with no arg.
|
||||||
used for make in the configure, for example, to make ffmpeg.
|
Used for make in the configure, for example, to make ffmpeg.
|
||||||
--log-verbose whether enable the log verbose level. default: no.
|
--log-verbose Whether enable the log verbose level. default: no.
|
||||||
--log-info whether enable the log info level. default: no.
|
--log-info Whether enable the log info level. default: no.
|
||||||
--log-trace whether enable the log trace level. default: yes.
|
--log-trace Whether enable the log trace level. default: yes.
|
||||||
|
|
||||||
Presets:
|
Performance:
|
||||||
--x86-x64 [default] for x86/x64 cpu, common pc and servers.
|
https://blog.csdn.net/win_lin/article/details/53503869
|
||||||
--osx for osx(darwin) system to build SRS.
|
--with-valgrind Support valgrind for memory check.
|
||||||
--pi for raspberry-pi(directly build), open features hls/ssl/static.
|
--with-gperf Build SRS with gperf tools(no gmd/gmc/gmp/gcp, with tcmalloc only).
|
||||||
--cubie for cubieboard(directly build), open features except ffmpeg/nginx.
|
--with-gmc Build memory check for SRS with gperf tools.
|
||||||
--arm alias for --with-arm-ubuntu12, for ubuntu12, arm crossbuild
|
--with-gmd Build memory defense(corrupt memory) for SRS with gperf tools.
|
||||||
--mips alias for --with-mips-ubuntu12, for ubuntu12, mips crossbuild
|
--with-gmp Build memory profile for SRS with gperf tools.
|
||||||
--fast the most fast compile, nothing, only support vp6 RTMP.
|
--with-gcp Build cpu profile for SRS with gperf tools.
|
||||||
--pure-rtmp only support RTMP with ssl.
|
--with-gprof Build SRS with gprof(GNU profile tool).
|
||||||
--disable-all disable all features, only support vp6 RTMP.
|
|
||||||
--dev for dev, open all features, no nginx/gperf/gprof/arm.
|
--without-valgrind Do not support valgrind for memory check.
|
||||||
--fast-dev for dev fast compile, the RTMP server, without librtmp/utest/research.
|
--without-gperf Do not build SRS with gperf tools(without tcmalloc and gmd/gmc/gmp/gcp).
|
||||||
--demo for srs demo, @see: https://github.com/ossrs/srs/wiki/v1_CN_SampleDemo
|
--without-gmc Do not build memory check for SRS with gperf tools.
|
||||||
--full enable all features, no gperf/gprof/arm.
|
--without-gmd Do not build memory defense for SRS with gperf tools.
|
||||||
--x86-64 alias for --x86-x64.
|
--without-gmp Do not build memory profile for SRS with gperf tools.
|
||||||
|
--without-gcp Do not build cpu profile for SRS with gperf tools.
|
||||||
|
--without-gprof Do not build srs with gprof(GNU profile tool).
|
||||||
|
|
||||||
Toolchain options:
|
Toolchain options:
|
||||||
--extra-flags=<EFLAGS> Set EFLAGS as CFLAGS and CXXFLAGS. Pass to ST as EXTRA_CFLAGS.
|
https://github.com/ossrs/srs/issues/1547#issuecomment-576078411
|
||||||
|
--extra-flags=<EFLAGS> Set EFLAGS as CFLAGS and CXXFLAGS. Also passed to ST as EXTRA_CFLAGS.
|
||||||
Recomment to enable:
|
|
||||||
--with-http-api enable HTTP API, to communicate with SRS.
|
|
||||||
--with-http-callback enable HTTP hooks, build cherrypy as demo api server.
|
|
||||||
--with-http-server enable HTTP server to delivery http stream.
|
|
||||||
--with-hls enable HLS streaming, mux RTMP to M3U8/TS files.
|
|
||||||
--with-dvr enable DVR, record RTMP to FLV/MP4 files.
|
|
||||||
|
|
||||||
Conflicts:
|
Conflicts:
|
||||||
1. --with-gmc vs --with-gmp:
|
1. --with-gmc vs --with-gmp:
|
||||||
@see: http://google-perftools.googlecode.com/svn/trunk/doc/heap_checker.html
|
@see: http://google-perftools.googlecode.com/svn/trunk/doc/heap_checker.html
|
||||||
2. --with-gperf/gmc/gmp vs --with-gprof:
|
2. --with-gperf/gmc/gmp vs --with-gprof:
|
||||||
gperftools not compatible with gprof.
|
The gperftools not compatible with gprof.
|
||||||
3. --arm vs --with-ffmpeg/gperf/gmc/gmp/gprof:
|
3. --arm vs --with-ffmpeg/gperf/gmc/gmp/gprof:
|
||||||
the complex tools not available for arm.
|
The complex tools not available for arm.
|
||||||
|
|
||||||
Experts:
|
Experts:
|
||||||
--use-sys-ssl donot compile ssl, use system ssl(-lssl) if required.
|
--use-sys-ssl Do not compile ssl, use system ssl(-lssl) if required.
|
||||||
--memory-watch enable memory watch to detect memory leaking(hurts performance).
|
--export-librtmp-project=<path> Export srs-librtmp to specified project in path.
|
||||||
--export-librtmp-project=<path> export srs-librtmp to specified project in path.
|
--export-librtmp-single=<path> Export srs-librtmp to a single file(.h+.cpp) in path.
|
||||||
--export-librtmp-single=<path> export srs-librtmp to a single file(.h+.cpp) in path.
|
|
||||||
--with-valgrind support valgrind for memory check.
|
|
||||||
--without-valgrind donot support valgrind for memory check.
|
|
||||||
|
|
||||||
Workflow:
|
Workflow:
|
||||||
1. apply "Presets". if not specified, use default preset.
|
1. Apply "Presets". if not specified, use default preset.
|
||||||
2. apply "Options". user specified option will override the preset.
|
2. Apply "Features", "Performance" and others. user specified option will override the preset.
|
||||||
3. check conflicts. @see Conflicts section.
|
3. Check conflicts, fail if exists conflicts.
|
||||||
4. generate detail features.
|
4. Generate Makefile.
|
||||||
|
|
||||||
Remark:
|
Remark:
|
||||||
1. For performance improving, read https://blog.csdn.net/win_lin/article/details/53503869
|
1. For performance improving, read https://blog.csdn.net/win_lin/article/details/53503869
|
||||||
|
@ -271,7 +243,7 @@ function parse_user_option() {
|
||||||
--x86-x64) SRS_X86_X64=YES ;;
|
--x86-x64) SRS_X86_X64=YES ;;
|
||||||
--x86-64) SRS_X86_X64=YES ;;
|
--x86-64) SRS_X86_X64=YES ;;
|
||||||
--osx) SRS_OSX=YES ;;
|
--osx) SRS_OSX=YES ;;
|
||||||
--allow-osx) SRS_ALLOW_OSX=YES ;;
|
--allow-osx) SRS_OSX=YES ;;
|
||||||
--arm) SRS_CROSS_BUILD=YES ;;
|
--arm) SRS_CROSS_BUILD=YES ;;
|
||||||
--mips) SRS_CROSS_BUILD=YES ;;
|
--mips) SRS_CROSS_BUILD=YES ;;
|
||||||
--pi) SRS_PI=YES ;;
|
--pi) SRS_PI=YES ;;
|
||||||
|
@ -608,15 +580,5 @@ function check_option_conflicts() {
|
||||||
if [ $__check_ok = NO ]; then
|
if [ $__check_ok = NO ]; then
|
||||||
exit 1;
|
exit 1;
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [[ $SRS_OSX == YES && $SRS_ALLOW_OSX == NO ]]; then
|
|
||||||
macOSVersion=`sw_vers -productVersion`
|
|
||||||
macOSVersionMajor=`echo $macOSVersion|awk -F '.' '{print $1}'`
|
|
||||||
macOSVersionMinor=`echo $macOSVersion|awk -F '.' '{print $2}'`
|
|
||||||
if [[ $macOSVersionMajor -ge 10 && $macOSVersionMinor -ge 14 ]]; then
|
|
||||||
echo "macOS $macOSVersion is not supported, read https://github.com/ossrs/srs/issues/1250"
|
|
||||||
exit -1
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
}
|
}
|
||||||
check_option_conflicts
|
check_option_conflicts
|
||||||
|
|
|
@ -23,12 +23,6 @@ GTEST_DIR=${SRS_TRUNK_PREFIX}/${SRS_OBJS_DIR}/gtest
|
||||||
# the extra defines to compile utest.
|
# the extra defines to compile utest.
|
||||||
EXTRA_DEFINES=""
|
EXTRA_DEFINES=""
|
||||||
|
|
||||||
# for osx to disable the error.
|
|
||||||
# gtest/include/gtest/internal/gtest-port.h:499:13: fatal error: 'tr1/tuple' file not found
|
|
||||||
if [ $SRS_OSX = YES ]; then
|
|
||||||
EXTRA_DEFINES="$EXTRA_DEFINES -DGTEST_HAS_TR1_TUPLE=0"
|
|
||||||
fi
|
|
||||||
|
|
||||||
cat << END > ${FILE}
|
cat << END > ${FILE}
|
||||||
# user must run make the ${SRS_OBJS_DIR}/utest dir
|
# user must run make the ${SRS_OBJS_DIR}/utest dir
|
||||||
# at the same dir of Makefile.
|
# at the same dir of Makefile.
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue