mirror of
				https://github.com/ossrs/srs.git
				synced 2025-03-09 15:49:59 +00:00 
			
		
		
		
	For #1537, disable crossbuild for ARM/MIPS.
This commit is contained in:
		
							parent
							
								
									e6e4bd7fb4
								
							
						
					
					
						commit
						dffc96d2fe
					
				
					 7 changed files with 56 additions and 299 deletions
				
			
		| 
						 | 
				
			
			@ -46,12 +46,6 @@ fi
 | 
			
		|||
if [ $SRS_X86_X64 = YES ]; then
 | 
			
		||||
    srs_define_macro "SRS_X86_X64" $SRS_AUTO_HEADERS_H
 | 
			
		||||
fi
 | 
			
		||||
if [ $SRS_ARM_UBUNTU12 = YES ]; then
 | 
			
		||||
    srs_define_macro "SRS_ARM_UBUNTU12" $SRS_AUTO_HEADERS_H
 | 
			
		||||
fi
 | 
			
		||||
if [ $SRS_MIPS_UBUNTU12 = YES ]; then
 | 
			
		||||
    srs_define_macro "SRS_MIPS_UBUNTU12" $SRS_AUTO_HEADERS_H
 | 
			
		||||
fi
 | 
			
		||||
if [ $SRS_PI = YES ]; then
 | 
			
		||||
    srs_define_macro "SRS_PI" $SRS_AUTO_HEADERS_H
 | 
			
		||||
fi
 | 
			
		||||
| 
						 | 
				
			
			@ -69,15 +63,6 @@ echo "" >> $SRS_AUTO_HEADERS_H
 | 
			
		|||
#####################################################################################
 | 
			
		||||
# generate auto headers file, depends on the finished of options.sh
 | 
			
		||||
#####################################################################################
 | 
			
		||||
# write to source file
 | 
			
		||||
if [ $SRS_CROSS_BUILD = YES ]; then
 | 
			
		||||
    __TOOL_CHAIN="cc=$SrsArmCC gcc=$SrsArmGCC g++=$SrsArmCXX ar=$SrsArmAR ld=$SrsArmLD randlib=$SrsArmRANDLIB" && echo "$__TOOL_CHAIN"
 | 
			
		||||
    srs_define_macro_value "SRS_AUTO_EMBEDED_TOOL_CHAIN" "\"$__TOOL_CHAIN\"" $SRS_AUTO_HEADERS_H
 | 
			
		||||
else
 | 
			
		||||
    srs_undefine_macro "SRS_AUTO_EMBEDED_TOOL_CHAIN" $SRS_AUTO_HEADERS_H
 | 
			
		||||
fi
 | 
			
		||||
echo "" >> $SRS_AUTO_HEADERS_H
 | 
			
		||||
 | 
			
		||||
# auto headers in depends.
 | 
			
		||||
if [ $SRS_NGINX = YES ]; then
 | 
			
		||||
    srs_define_macro "SRS_AUTO_NGINX" $SRS_AUTO_HEADERS_H
 | 
			
		||||
| 
						 | 
				
			
			@ -147,27 +132,6 @@ fi
 | 
			
		|||
#####################################################################################
 | 
			
		||||
# for embeded.
 | 
			
		||||
#####################################################################################
 | 
			
		||||
if [ $SRS_CROSS_BUILD = YES ]; then
 | 
			
		||||
    srs_define_macro "SRS_AUTO_EMBEDED_CPU" $SRS_AUTO_HEADERS_H
 | 
			
		||||
else
 | 
			
		||||
    srs_undefine_macro "SRS_AUTO_EMBEDED_CPU" $SRS_AUTO_HEADERS_H
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
# arm
 | 
			
		||||
if [ $SRS_ARM_UBUNTU12 = YES ]; then
 | 
			
		||||
    srs_define_macro "SRS_AUTO_ARM_UBUNTU12" $SRS_AUTO_HEADERS_H
 | 
			
		||||
else
 | 
			
		||||
    srs_undefine_macro "SRS_AUTO_ARM_UBUNTU12" $SRS_AUTO_HEADERS_H
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
# mips
 | 
			
		||||
if [ $SRS_MIPS_UBUNTU12 = YES ]; then
 | 
			
		||||
    srs_define_macro "SRS_AUTO_MIPS_UBUNTU12" $SRS_AUTO_HEADERS_H
 | 
			
		||||
else
 | 
			
		||||
    srs_undefine_macro "SRS_AUTO_MIPS_UBUNTU12" $SRS_AUTO_HEADERS_H
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
echo "" >> $SRS_AUTO_HEADERS_H
 | 
			
		||||
# for log level compile settings
 | 
			
		||||
if [ $SRS_LOG_VERBOSE = YES ]; then
 | 
			
		||||
    srs_define_macro "SRS_AUTO_VERBOSE" $SRS_AUTO_HEADERS_H
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -46,24 +46,6 @@ function Ubuntu_prepare()
 | 
			
		|||
        fi
 | 
			
		||||
    fi
 | 
			
		||||
 | 
			
		||||
    # cross build for arm, install the cross build tool chain.
 | 
			
		||||
    if [ $SRS_ARM_UBUNTU12 = YES ]; then
 | 
			
		||||
        $SrsArmCC --help >/dev/null 2>&1; ret=$?; if [[ 0 -ne $ret ]]; then
 | 
			
		||||
            echo "Installing gcc-arm-linux-gnueabi g++-arm-linux-gnueabi."
 | 
			
		||||
            require_sudoer "sudo apt-get install -y --force-yes gcc-arm-linux-gnueabi g++-arm-linux-gnueabi"
 | 
			
		||||
            sudo apt-get install -y --force-yes gcc-arm-linux-gnueabi g++-arm-linux-gnueabi; ret=$?; if [[ 0 -ne $ret ]]; then return $ret; fi
 | 
			
		||||
            echo "The gcc-arm-linux-gnueabi g++-arm-linux-gnueabi are installed."
 | 
			
		||||
        fi
 | 
			
		||||
    fi
 | 
			
		||||
    
 | 
			
		||||
    # cross build for mips, user must installed the tool chain.
 | 
			
		||||
    if [ $SRS_MIPS_UBUNTU12 = YES ]; then
 | 
			
		||||
        $SrsArmCC --help >/dev/null 2>&1; ret=$?; if [[ 0 -ne $ret ]]; then
 | 
			
		||||
            echo "You must install the tool chain: $SrsArmCC"
 | 
			
		||||
            return 2
 | 
			
		||||
        fi
 | 
			
		||||
    fi
 | 
			
		||||
 | 
			
		||||
    OS_IS_UBUNTU=YES
 | 
			
		||||
    echo "Installing tools for Ubuntu."
 | 
			
		||||
    
 | 
			
		||||
| 
						 | 
				
			
			@ -169,12 +151,6 @@ function Centos_prepare()
 | 
			
		|||
        return 0;
 | 
			
		||||
    fi
 | 
			
		||||
 | 
			
		||||
    # cross build for arm, install the cross build tool chain.
 | 
			
		||||
    if [ $SRS_CROSS_BUILD = YES ]; then
 | 
			
		||||
        echo "CentOS doesn't support crossbuild for arm/mips, please use Ubuntu instead."
 | 
			
		||||
        return 1
 | 
			
		||||
    fi
 | 
			
		||||
 | 
			
		||||
    OS_IS_CENTOS=YES
 | 
			
		||||
    echo "Installing tools for Centos."
 | 
			
		||||
    
 | 
			
		||||
| 
						 | 
				
			
			@ -292,12 +268,6 @@ function OSX_prepare()
 | 
			
		|||
        return 0;
 | 
			
		||||
    fi
 | 
			
		||||
 | 
			
		||||
    # cross build for arm, install the cross build tool chain.
 | 
			
		||||
    if [ $SRS_CROSS_BUILD = YES ]; then
 | 
			
		||||
        echo "OSX doesn't support crossbuild for arm/mips, please use Ubuntu instead."
 | 
			
		||||
        return 1
 | 
			
		||||
    fi
 | 
			
		||||
 | 
			
		||||
    OS_IS_OSX=YES
 | 
			
		||||
    echo "Installing tools for OSX."
 | 
			
		||||
    # requires the osx when os
 | 
			
		||||
| 
						 | 
				
			
			@ -455,37 +425,19 @@ if [ $SRS_EXPORT_LIBRTMP_PROJECT = NO ]; then
 | 
			
		|||
        _ST_EXTRA_CFLAGS="$_ST_EXTRA_CFLAGS -DMD_VALGRIND"
 | 
			
		||||
    fi
 | 
			
		||||
    # Patched ST from https://github.com/ossrs/state-threads/tree/srs
 | 
			
		||||
    if [ $SRS_CROSS_BUILD = YES ]; then
 | 
			
		||||
        # ok, arm specified, if the flag filed does not exists, need to rebuild.
 | 
			
		||||
        if [[ -f ${SRS_OBJS}/_flag.st.cross.build.tmp && -f ${SRS_OBJS}/st/libst.a ]]; then
 | 
			
		||||
            echo "The state-threads for arm is ok.";
 | 
			
		||||
        else
 | 
			
		||||
            echo "Building state-threads for arm.";
 | 
			
		||||
            (
 | 
			
		||||
                rm -rf ${SRS_OBJS}/state-threads-1.9.1 && cd ${SRS_OBJS} &&
 | 
			
		||||
                tar xf ../3rdparty/state-threads-1.9.1.tar.gz && cd state-threads-1.9.1 && chmod +w * &&
 | 
			
		||||
                patch -p0 < ../../3rdparty/patches/6.st.osx10.14.build.patch &&
 | 
			
		||||
                make ${_ST_MAKE} CC=${SrsArmCC} AR=${SrsArmAR} LD=${SrsArmLD} RANDLIB=${SrsArmRANDLIB} EXTRA_CFLAGS="${_ST_EXTRA_CFLAGS}" &&
 | 
			
		||||
                cd .. && rm -f st && ln -sf state-threads-1.9.1/obj st &&
 | 
			
		||||
                rm -f state-threads && ln -sf state-threads-1.9.1 state-threads &&
 | 
			
		||||
                cd .. && touch ${SRS_OBJS}/_flag.st.cross.build.tmp
 | 
			
		||||
            )
 | 
			
		||||
        fi
 | 
			
		||||
    if [[ ! -f ${SRS_OBJS}/_flag.st.cross.build.tmp && -f ${SRS_OBJS}/st/libst.a ]]; then
 | 
			
		||||
        echo "The state-threads is ok.";
 | 
			
		||||
    else
 | 
			
		||||
        if [[ ! -f ${SRS_OBJS}/_flag.st.cross.build.tmp && -f ${SRS_OBJS}/st/libst.a ]]; then
 | 
			
		||||
            echo "The state-threads is ok.";
 | 
			
		||||
        else
 | 
			
		||||
            echo "Building state-threads.";
 | 
			
		||||
            (
 | 
			
		||||
                rm -rf ${SRS_OBJS}/state-threads-1.9.1 && cd ${SRS_OBJS} &&
 | 
			
		||||
                tar xf ../3rdparty/state-threads-1.9.1.tar.gz && cd state-threads-1.9.1 && chmod +w * &&
 | 
			
		||||
                patch -p0 < ../../3rdparty/patches/6.st.osx10.14.build.patch &&
 | 
			
		||||
                make ${_ST_MAKE} EXTRA_CFLAGS="${_ST_EXTRA_CFLAGS}" &&
 | 
			
		||||
                cd .. && rm -f st && ln -sf state-threads-1.9.1/obj st &&
 | 
			
		||||
                rm -f state-threads && ln -sf state-threads-1.9.1 state-threads &&
 | 
			
		||||
                cd .. && rm -f ${SRS_OBJS}/_flag.st.cross.build.tmp
 | 
			
		||||
            )
 | 
			
		||||
        fi
 | 
			
		||||
        echo "Building state-threads.";
 | 
			
		||||
        (
 | 
			
		||||
            rm -rf ${SRS_OBJS}/state-threads-1.9.1 && cd ${SRS_OBJS} &&
 | 
			
		||||
            tar xf ../3rdparty/state-threads-1.9.1.tar.gz && cd state-threads-1.9.1 && chmod +w * &&
 | 
			
		||||
            patch -p0 < ../../3rdparty/patches/6.st.osx10.14.build.patch &&
 | 
			
		||||
            make ${_ST_MAKE} EXTRA_CFLAGS="${_ST_EXTRA_CFLAGS}" &&
 | 
			
		||||
            cd .. && rm -f st && ln -sf state-threads-1.9.1/obj st &&
 | 
			
		||||
            rm -f state-threads && ln -sf state-threads-1.9.1 state-threads &&
 | 
			
		||||
            cd .. && rm -f ${SRS_OBJS}/_flag.st.cross.build.tmp
 | 
			
		||||
        )
 | 
			
		||||
    fi
 | 
			
		||||
    # check status
 | 
			
		||||
    ret=$?; if [[ $ret -ne 0 ]]; then echo "Build state-threads failed, ret=$ret"; exit $ret; fi
 | 
			
		||||
| 
						 | 
				
			
			@ -508,7 +460,7 @@ if [ $SRS_EXPORT_LIBRTMP_PROJECT = NO ]; then
 | 
			
		|||
    mkdir -p ${SRS_OBJS}/nginx
 | 
			
		||||
fi
 | 
			
		||||
# make nginx
 | 
			
		||||
__SRS_BUILD_NGINX=NO; if [ $SRS_CROSS_BUILD = NO ]; then if [ $SRS_NGINX = YES ]; then __SRS_BUILD_NGINX=YES; fi fi
 | 
			
		||||
__SRS_BUILD_NGINX=NO; if [ $SRS_NGINX = YES ]; then __SRS_BUILD_NGINX=YES; fi
 | 
			
		||||
if [ $__SRS_BUILD_NGINX = YES ]; then
 | 
			
		||||
    if [[ -f ${SRS_OBJS}/nginx/sbin/nginx ]]; then
 | 
			
		||||
        echo "The nginx-1.5.7 is ok.";
 | 
			
		||||
| 
						 | 
				
			
			@ -615,9 +567,6 @@ fi
 | 
			
		|||
#####################################################################################
 | 
			
		||||
# extra configure options
 | 
			
		||||
CONFIGURE_TOOL="./config"
 | 
			
		||||
if [ $SRS_CROSS_BUILD = YES ]; then
 | 
			
		||||
    CONFIGURE_TOOL="./Configure linux-armv4"
 | 
			
		||||
fi
 | 
			
		||||
if [ $SRS_OSX = YES ]; then
 | 
			
		||||
    CONFIGURE_TOOL="./Configure darwin64-`uname -m`-cc"
 | 
			
		||||
fi
 | 
			
		||||
| 
						 | 
				
			
			@ -635,39 +584,19 @@ if [ $SRS_SSL = YES ]; then
 | 
			
		|||
    if [ $SRS_USE_SYS_SSL = YES ]; then
 | 
			
		||||
        echo "Warning: Use system libssl, without compiling openssl."
 | 
			
		||||
    else
 | 
			
		||||
        # check the cross build flag file, if flag changed, need to rebuild the st.
 | 
			
		||||
        if [ $SRS_CROSS_BUILD = YES ]; then
 | 
			
		||||
            # ok, arm specified, if the flag filed does not exists, need to rebuild.
 | 
			
		||||
            if [[ -f ${SRS_OBJS}/_flag.ssl.cross.build.tmp && -f ${SRS_OBJS}/openssl/lib/libssl.a ]]; then
 | 
			
		||||
                echo "The openssl-1.1.0e for arm is ok.";
 | 
			
		||||
            else
 | 
			
		||||
                echo "Building openssl-1.1.0e for ARM.";
 | 
			
		||||
                (
 | 
			
		||||
                    rm -rf ${SRS_OBJS}/openssl-1.1.0e && cd ${SRS_OBJS} &&
 | 
			
		||||
                    unzip -q ../3rdparty/openssl-1.1.0e.zip && cd openssl-1.1.0e &&
 | 
			
		||||
                    $CONFIGURE_TOOL --prefix=`pwd`/_release -no-shared no-asm no-threads $OPENSSL_HOTFIX &&
 | 
			
		||||
                    make CC=${SrsArmCC} GCC=${SrsArmGCC} AR="${SrsArmAR} r" \
 | 
			
		||||
                        LD=${SrsArmLD} LINK=${SrsArmGCC} RANDLIB=${SrsArmRANDLIB} && 
 | 
			
		||||
                    make install_sw &&
 | 
			
		||||
                    cd .. && rm -rf openssl && ln -sf openssl-1.1.0e/_release openssl &&
 | 
			
		||||
                    cd .. && touch ${SRS_OBJS}/_flag.ssl.cross.build.tmp
 | 
			
		||||
                )
 | 
			
		||||
            fi
 | 
			
		||||
        # cross build not specified, if exists flag, need to rebuild for no-arm platform.
 | 
			
		||||
        if [[ ! -f ${SRS_OBJS}/_flag.ssl.cross.build.tmp && -f ${SRS_OBJS}/openssl/lib/libssl.a ]]; then
 | 
			
		||||
            echo "Openssl-1.1.0e is ok.";
 | 
			
		||||
        else
 | 
			
		||||
            # cross build not specified, if exists flag, need to rebuild for no-arm platform.
 | 
			
		||||
            if [[ ! -f ${SRS_OBJS}/_flag.ssl.cross.build.tmp && -f ${SRS_OBJS}/openssl/lib/libssl.a ]]; then
 | 
			
		||||
                echo "Openssl-1.1.0e is ok.";
 | 
			
		||||
            else
 | 
			
		||||
                echo "Building openssl-1.1.0e.";
 | 
			
		||||
                (
 | 
			
		||||
                    rm -rf ${SRS_OBJS}/openssl-1.1.0e && cd ${SRS_OBJS} &&
 | 
			
		||||
                    unzip -q ../3rdparty/openssl-1.1.0e.zip && cd openssl-1.1.0e &&
 | 
			
		||||
                    $CONFIGURE_TOOL --prefix=`pwd`/_release -no-shared no-threads $OPENSSL_HOTFIX &&
 | 
			
		||||
                    make && make install_sw &&
 | 
			
		||||
                    cd .. && rm -rf openssl && ln -sf openssl-1.1.0e/_release openssl &&
 | 
			
		||||
                    cd .. && rm -f ${SRS_OBJS}/_flag.ssl.cross.build.tmp
 | 
			
		||||
                )
 | 
			
		||||
            fi
 | 
			
		||||
            echo "Building openssl-1.1.0e.";
 | 
			
		||||
            (
 | 
			
		||||
                rm -rf ${SRS_OBJS}/openssl-1.1.0e && cd ${SRS_OBJS} &&
 | 
			
		||||
                unzip -q ../3rdparty/openssl-1.1.0e.zip && cd openssl-1.1.0e &&
 | 
			
		||||
                $CONFIGURE_TOOL --prefix=`pwd`/_release -no-shared no-threads $OPENSSL_HOTFIX &&
 | 
			
		||||
                make && make install_sw &&
 | 
			
		||||
                cd .. && rm -rf openssl && ln -sf openssl-1.1.0e/_release openssl &&
 | 
			
		||||
                cd .. && rm -f ${SRS_OBJS}/_flag.ssl.cross.build.tmp
 | 
			
		||||
            )
 | 
			
		||||
        fi
 | 
			
		||||
        # check status
 | 
			
		||||
        ret=$?; if [[ $ret -ne 0 ]]; then echo "Build openssl-1.1.0e failed, ret=$ret"; exit $ret; fi
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -76,10 +76,6 @@ SRS_X86_X64=NO
 | 
			
		|||
# for osx system
 | 
			
		||||
SRS_OSX=NO
 | 
			
		||||
SRS_ALLOW_OSX=NO
 | 
			
		||||
# armhf(v7cpu) built on ubuntu12
 | 
			
		||||
SRS_ARM_UBUNTU12=NO
 | 
			
		||||
# mips built on ubuntu12
 | 
			
		||||
SRS_MIPS_UBUNTU12=NO
 | 
			
		||||
# dev, open all features for dev, no gperf/prof/arm.
 | 
			
		||||
SRS_DEV=NO
 | 
			
		||||
# dev, open main server feature for dev, no utest/research/librtmp
 | 
			
		||||
| 
						 | 
				
			
			@ -99,7 +95,8 @@ SRS_DISABLE_ALL=NO
 | 
			
		|||
# all features is on
 | 
			
		||||
SRS_ENABLE_ALL=NO
 | 
			
		||||
#
 | 
			
		||||
################################################################
 | 
			
		||||
#####################################################################################
 | 
			
		||||
# We don't support crossbuild for ARM/MIPS, please directly build it on ARM/MIPS server.
 | 
			
		||||
# whether cross build for embed cpu, arm/mips
 | 
			
		||||
SRS_CROSS_BUILD=NO
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -236,8 +233,8 @@ function parse_user_option() {
 | 
			
		|||
        --with-gmp)                     SRS_GPERF_MP=YES            ;;
 | 
			
		||||
        --with-gcp)                     SRS_GPERF_CP=YES            ;;
 | 
			
		||||
        --with-gprof)                   SRS_GPROF=YES               ;;
 | 
			
		||||
        --with-arm-ubuntu12)            SRS_ARM_UBUNTU12=YES        ;;
 | 
			
		||||
        --with-mips-ubuntu12)           SRS_MIPS_UBUNTU12=YES       ;;
 | 
			
		||||
        --with-arm-ubuntu12)            SRS_CROSS_BUILD=YES         ;;
 | 
			
		||||
        --with-mips-ubuntu12)           SRS_CROSS_BUILD=YES         ;;
 | 
			
		||||
                                                                 
 | 
			
		||||
        --without-ssl)                  SRS_SSL=NO                  ;;
 | 
			
		||||
        --without-hds)                  SRS_HDS=NO                  ;;
 | 
			
		||||
| 
						 | 
				
			
			@ -256,8 +253,8 @@ function parse_user_option() {
 | 
			
		|||
        --without-gmp)                  SRS_GPERF_MP=NO             ;;
 | 
			
		||||
        --without-gcp)                  SRS_GPERF_CP=NO             ;;
 | 
			
		||||
        --without-gprof)                SRS_GPROF=NO                ;;
 | 
			
		||||
        --without-arm-ubuntu12)         SRS_ARM_UBUNTU12=NO         ;;
 | 
			
		||||
        --without-mips-ubuntu12)        SRS_MIPS_UBUNTU12=NO        ;;
 | 
			
		||||
        --without-arm-ubuntu12)         SRS_CROSS_BUILD=NO          ;;
 | 
			
		||||
        --without-mips-ubuntu12)        SRS_CROSS_BUILD=NO          ;;
 | 
			
		||||
        
 | 
			
		||||
        --jobs)                         SRS_JOBS=${value}           ;;
 | 
			
		||||
        --prefix)                       SRS_PREFIX=${value}         ;;
 | 
			
		||||
| 
						 | 
				
			
			@ -271,8 +268,8 @@ function parse_user_option() {
 | 
			
		|||
        --x86-64)                       SRS_X86_X64=YES             ;;
 | 
			
		||||
        --osx)                          SRS_OSX=YES                 ;;
 | 
			
		||||
        --allow-osx)                    SRS_ALLOW_OSX=YES           ;;
 | 
			
		||||
        --arm)                          SRS_ARM_UBUNTU12=YES        ;;
 | 
			
		||||
        --mips)                         SRS_MIPS_UBUNTU12=YES       ;;
 | 
			
		||||
        --arm)                          SRS_CROSS_BUILD=YES         ;;
 | 
			
		||||
        --mips)                         SRS_CROSS_BUILD=YES         ;;
 | 
			
		||||
        --pi)                           SRS_PI=YES                  ;;
 | 
			
		||||
        --cubie)                        SRS_CUBIE=YES               ;;
 | 
			
		||||
        --dev)                          SRS_DEV=YES                 ;;
 | 
			
		||||
| 
						 | 
				
			
			@ -341,40 +338,11 @@ function apply_user_presets() {
 | 
			
		|||
    SRS_LOG_TRACE=YES
 | 
			
		||||
    
 | 
			
		||||
    # set default preset if not specifies
 | 
			
		||||
    if [ $SRS_PURE_RTMP = NO ]; then
 | 
			
		||||
        if [ $SRS_FAST = NO ]; then
 | 
			
		||||
            if [ $SRS_DISABLE_ALL = NO ]; then
 | 
			
		||||
                if [ $SRS_ENABLE_ALL = NO ]; then
 | 
			
		||||
                    if [ $SRS_DEV = NO ]; then
 | 
			
		||||
                        if [ $SRS_FAST_DEV = NO ]; then
 | 
			
		||||
                            if [ $SRS_DEMO = NO ]; then
 | 
			
		||||
                                if [ $SRS_ARM_UBUNTU12 = NO ]; then
 | 
			
		||||
                                    if [ $SRS_MIPS_UBUNTU12 = NO ]; then
 | 
			
		||||
                                        if [ $SRS_PI = NO ]; then
 | 
			
		||||
                                            if [ $SRS_CUBIE = NO ]; then
 | 
			
		||||
                                                if [ $SRS_X86_X64 = NO ]; then
 | 
			
		||||
                                                    if [ $SRS_OSX = NO ]; then
 | 
			
		||||
                                                        SRS_X86_X64=YES; opt="--x86-x64 $opt";
 | 
			
		||||
                                                    fi
 | 
			
		||||
                                                fi
 | 
			
		||||
                                            fi
 | 
			
		||||
                                        fi
 | 
			
		||||
                                    fi
 | 
			
		||||
                                fi
 | 
			
		||||
                            fi
 | 
			
		||||
                        fi
 | 
			
		||||
                    fi
 | 
			
		||||
                fi
 | 
			
		||||
            fi
 | 
			
		||||
        fi
 | 
			
		||||
    fi
 | 
			
		||||
    
 | 
			
		||||
    # whether embeded cpu.
 | 
			
		||||
    if [ $SRS_ARM_UBUNTU12 = YES ]; then
 | 
			
		||||
        SRS_CROSS_BUILD=YES
 | 
			
		||||
    fi
 | 
			
		||||
    if [ $SRS_MIPS_UBUNTU12 = YES ]; then
 | 
			
		||||
        SRS_CROSS_BUILD=YES
 | 
			
		||||
    if [[ $SRS_PURE_RTMP == NO && $SRS_FAST == NO && $SRS_DISABLE_ALL == NO && $SRS_ENABLE_ALL == NO && \
 | 
			
		||||
        $SRS_DEV == NO && $SRS_FAST_DEV == NO && $SRS_DEMO == NO && $SRS_PI == NO && $SRS_CUBIE == NO && \
 | 
			
		||||
        $SRS_X86_X64 == NO && $SRS_OSX == NO \
 | 
			
		||||
    ]]; then
 | 
			
		||||
        SRS_X86_X64=YES; opt="--x86-x64 $opt";
 | 
			
		||||
    fi
 | 
			
		||||
 | 
			
		||||
    # all disabled.
 | 
			
		||||
| 
						 | 
				
			
			@ -421,29 +389,6 @@ function apply_user_presets() {
 | 
			
		|||
        SRS_STATIC=NO
 | 
			
		||||
    fi
 | 
			
		||||
 | 
			
		||||
    # if arm specified, set some default to disabled.
 | 
			
		||||
    if [ $SRS_ARM_UBUNTU12 = YES ]; then
 | 
			
		||||
        SRS_HDS=YES
 | 
			
		||||
        SRS_NGINX=NO
 | 
			
		||||
        SRS_FFMPEG_TOOL=NO
 | 
			
		||||
        SRS_LIBRTMP=YES
 | 
			
		||||
        SRS_RESEARCH=NO
 | 
			
		||||
        SRS_UTEST=NO
 | 
			
		||||
        # TODO: FIXME: need static? maybe donot.
 | 
			
		||||
        SRS_STATIC=YES
 | 
			
		||||
    fi
 | 
			
		||||
 | 
			
		||||
    # if mips specified, set some default to disabled.
 | 
			
		||||
    if [ $SRS_MIPS_UBUNTU12 = YES ]; then
 | 
			
		||||
        SRS_HDS=YES
 | 
			
		||||
        SRS_NGINX=NO
 | 
			
		||||
        SRS_FFMPEG_TOOL=NO
 | 
			
		||||
        SRS_LIBRTMP=YES
 | 
			
		||||
        SRS_RESEARCH=NO
 | 
			
		||||
        SRS_UTEST=NO
 | 
			
		||||
        SRS_STATIC=NO
 | 
			
		||||
    fi
 | 
			
		||||
 | 
			
		||||
    # defaults for x86/x64
 | 
			
		||||
    if [ $SRS_X86_X64 = YES ]; then
 | 
			
		||||
        SRS_HDS=YES
 | 
			
		||||
| 
						 | 
				
			
			@ -618,8 +563,6 @@ SRS_AUTO_CONFIGURE="--prefix=${SRS_PREFIX}"
 | 
			
		|||
    if [ $SRS_GPERF_MP = YES ]; then SRS_AUTO_CONFIGURE="${SRS_AUTO_CONFIGURE} --with-gmp"; else SRS_AUTO_CONFIGURE="${SRS_AUTO_CONFIGURE} --without-gmp"; fi
 | 
			
		||||
    if [ $SRS_GPERF_CP = YES ]; then SRS_AUTO_CONFIGURE="${SRS_AUTO_CONFIGURE} --with-gcp"; else SRS_AUTO_CONFIGURE="${SRS_AUTO_CONFIGURE} --without-gcp"; fi
 | 
			
		||||
    if [ $SRS_GPROF = YES ]; then SRS_AUTO_CONFIGURE="${SRS_AUTO_CONFIGURE} --with-gprof"; else SRS_AUTO_CONFIGURE="${SRS_AUTO_CONFIGURE} --without-gprof"; fi
 | 
			
		||||
    if [ $SRS_ARM_UBUNTU12 = YES ]; then SRS_AUTO_CONFIGURE="${SRS_AUTO_CONFIGURE} --with-arm-ubuntu12"; else SRS_AUTO_CONFIGURE="${SRS_AUTO_CONFIGURE} --without-arm-ubuntu12"; fi
 | 
			
		||||
    if [ $SRS_MIPS_UBUNTU12 = YES ]; then SRS_AUTO_CONFIGURE="${SRS_AUTO_CONFIGURE} --with-mips-ubuntu12"; else SRS_AUTO_CONFIGURE="${SRS_AUTO_CONFIGURE} --without-mips-ubuntu12"; fi
 | 
			
		||||
    if [ $SRS_STATIC = YES ]; then SRS_AUTO_CONFIGURE="${SRS_AUTO_CONFIGURE} --static"; fi
 | 
			
		||||
    if [ $SRS_LOG_VERBOSE = YES ]; then SRS_AUTO_CONFIGURE="${SRS_AUTO_CONFIGURE} --log-verbose"; fi
 | 
			
		||||
    if [ $SRS_LOG_INFO = YES ]; then SRS_AUTO_CONFIGURE="${SRS_AUTO_CONFIGURE} --log-info"; fi
 | 
			
		||||
| 
						 | 
				
			
			@ -634,6 +577,18 @@ regenerate_options
 | 
			
		|||
# check user options
 | 
			
		||||
#####################################################################################
 | 
			
		||||
function check_option_conflicts() {
 | 
			
		||||
    if [ $SRS_CROSS_BUILD = YES ]; then
 | 
			
		||||
        echo "We don't support crossbuild for ARM/MIPS, please directly build it on ARM/MIPS server."
 | 
			
		||||
        exit -1
 | 
			
		||||
    fi
 | 
			
		||||
 | 
			
		||||
    if [ $SRS_OSX = YES ]; then
 | 
			
		||||
        echo "We don't support OSX, please use docker https://github.com/ossrs/srs-docker"
 | 
			
		||||
        exit -1
 | 
			
		||||
    fi
 | 
			
		||||
 | 
			
		||||
    # TODO: FIXME: check more os.
 | 
			
		||||
 | 
			
		||||
    __check_ok=YES
 | 
			
		||||
    # check conflict
 | 
			
		||||
    if [ $SRS_GPERF = NO ]; then
 | 
			
		||||
| 
						 | 
				
			
			@ -658,35 +613,6 @@ function check_option_conflicts() {
 | 
			
		|||
        echo "gmc/gmp/gcp not compatible with gprof, see: ./configure --help"; __check_ok=NO; 
 | 
			
		||||
    fi fi
 | 
			
		||||
 | 
			
		||||
    # check embeded(arm/mips), if embeded enabled, only allow st/ssl/librtmp,
 | 
			
		||||
    # user should disable all other features
 | 
			
		||||
    if [ $SRS_CROSS_BUILD = YES ]; then
 | 
			
		||||
        if [ $SRS_FFMPEG_TOOL = YES ]; then echo "ffmpeg for arm is not available, see: ./configure --help"; __check_ok=NO; fi
 | 
			
		||||
        if [ $SRS_RESEARCH = YES ]; then echo "research for arm is not available, see: ./configure --help"; __check_ok=NO; fi
 | 
			
		||||
        if [ $SRS_GPERF = YES ]; then echo "gperf for arm is not available, see: ./configure --help"; __check_ok=NO; fi
 | 
			
		||||
        if [ $SRS_GPERF_MC = YES ]; then echo "gmc for arm is not available, see: ./configure --help"; __check_ok=NO; fi
 | 
			
		||||
        if [ $SRS_GPERF_MD = YES ]; then echo "gmd for arm is not available, see: ./configure --help"; __check_ok=NO; fi
 | 
			
		||||
        if [ $SRS_GPERF_MP = YES ]; then echo "gmp for arm is not available, see: ./configure --help"; __check_ok=NO; fi
 | 
			
		||||
        if [ $SRS_GPERF_CP = YES ]; then echo "gcp for arm is not available, see: ./configure --help"; __check_ok=NO; fi
 | 
			
		||||
        if [ $SRS_GPROF = YES ]; then echo "gprof for arm is not available, see: ./configure --help"; __check_ok=NO; fi
 | 
			
		||||
    fi
 | 
			
		||||
 | 
			
		||||
    # osx not support gperf.
 | 
			
		||||
    if [ $SRS_OSX = YES ]; then
 | 
			
		||||
        if [ $SRS_GPERF = YES ]; then echo "gperf for osx is not available, see: ./configure --help"; __check_ok=NO; fi
 | 
			
		||||
        if [ $SRS_GPERF_MC = YES ]; then echo "gmc for osx is not available, see: ./configure --help"; __check_ok=NO; fi
 | 
			
		||||
        if [ $SRS_GPERF_MD = YES ]; then echo "gmd for osx is not available, see: ./configure --help"; __check_ok=NO; fi
 | 
			
		||||
        if [ $SRS_GPERF_MP = YES ]; then echo "gmp for osx is not available, see: ./configure --help"; __check_ok=NO; fi
 | 
			
		||||
        if [ $SRS_GPERF_CP = YES ]; then echo "gcp for osx is not available, see: ./configure --help"; __check_ok=NO; fi
 | 
			
		||||
    fi
 | 
			
		||||
 | 
			
		||||
    # if osx, never use static
 | 
			
		||||
    if [[ $SRS_OSX = YES && $SRS_STATIC = YES ]]; then
 | 
			
		||||
        echo "osx should never use static, see: ./configure --help"; __check_ok=NO;
 | 
			
		||||
    fi
 | 
			
		||||
    
 | 
			
		||||
    # TODO: FIXME: check more os.
 | 
			
		||||
 | 
			
		||||
    # check variable neccessary
 | 
			
		||||
    if [ $SRS_HDS = RESERVED ]; then echo "you must specifies the hds, see: ./configure --help"; __check_ok=NO; fi
 | 
			
		||||
    if [ $SRS_NGINX = RESERVED ]; then echo "you must specifies the nginx, see: ./configure --help"; __check_ok=NO; fi
 | 
			
		||||
| 
						 | 
				
			
			@ -702,8 +628,6 @@ function check_option_conflicts() {
 | 
			
		|||
    if [ $SRS_GPERF_MP = RESERVED ]; then echo "you must specifies the gperf-mp, see: ./configure --help"; __check_ok=NO; fi
 | 
			
		||||
    if [ $SRS_GPERF_CP = RESERVED ]; then echo "you must specifies the gperf-cp, see: ./configure --help"; __check_ok=NO; fi
 | 
			
		||||
    if [ $SRS_GPROF = RESERVED ]; then echo "you must specifies the gprof, see: ./configure --help"; __check_ok=NO; fi
 | 
			
		||||
    if [ $SRS_ARM_UBUNTU12 = RESERVED ]; then echo "you must specifies the arm-ubuntu12, see: ./configure --help"; __check_ok=NO; fi
 | 
			
		||||
    if [ $SRS_MIPS_UBUNTU12 = RESERVED ]; then echo "you must specifies the mips-ubuntu12, see: ./configure --help"; __check_ok=NO; fi
 | 
			
		||||
    if [[ -z $SRS_PREFIX ]]; then echo "you must specifies the prefix, see: ./configure --prefix"; __check_ok=NO; fi
 | 
			
		||||
    if [ $__check_ok = NO ]; then
 | 
			
		||||
        exit 1;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,30 +1,3 @@
 | 
			
		|||
#!/bin/bash
 | 
			
		||||
 | 
			
		||||
# when options parsed, setup some variables, then build the depends.
 | 
			
		||||
 | 
			
		||||
# when arm specified, setup the cross build variables.
 | 
			
		||||
if [ $SRS_ARM_UBUNTU12 = YES ]; then
 | 
			
		||||
    __SrsArmCC="arm-linux-gnueabi-gcc";
 | 
			
		||||
    __SrsArmGCC="arm-linux-gnueabi-gcc";
 | 
			
		||||
    __SrsArmCXX="arm-linux-gnueabi-g++";
 | 
			
		||||
    __SrsArmAR="arm-linux-gnueabi-ar";
 | 
			
		||||
    __SrsArmLD="arm-linux-gnueabi-ld";
 | 
			
		||||
    __SrsArmRANDLIB="arm-linux-gnueabi-ranlib";
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
if [ $SRS_MIPS_UBUNTU12 = YES ]; then
 | 
			
		||||
    __SrsArmCC="mipsel-openwrt-linux-gcc";
 | 
			
		||||
    __SrsArmGCC="mipsel-openwrt-linux-gcc";
 | 
			
		||||
    __SrsArmCXX="mipsel-openwrt-linux-g++";
 | 
			
		||||
    __SrsArmAR="mipsel-openwrt-linux-ar";
 | 
			
		||||
    __SrsArmLD="mipsel-openwrt-linux-ld";
 | 
			
		||||
    __SrsArmRANDLIB="mipsel-openwrt-linux-ranlib";
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
# the arm-ubuntu12 options for make for depends
 | 
			
		||||
if [[ -z $SrsArmCC ]]; then SrsArmCC=$__SrsArmCC; fi
 | 
			
		||||
if [[ -z $SrsArmGCC ]]; then SrsArmGCC=$__SrsArmGCC; fi
 | 
			
		||||
if [[ -z $SrsArmCXX ]]; then SrsArmCXX=$__SrsArmCXX; fi
 | 
			
		||||
if [[ -z $SrsArmAR ]]; then SrsArmAR=$__SrsArmAR; fi
 | 
			
		||||
if [[ -z $SrsArmLD ]]; then SrsArmLD=$__SrsArmLD; fi
 | 
			
		||||
if [[ -z $SrsArmRANDLIB ]]; then SrsArmRANDLIB=$__SrsArmRANDLIB; fi
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										27
									
								
								trunk/configure
									
										
									
									
										vendored
									
									
								
							
							
						
						
									
										27
									
								
								trunk/configure
									
										
									
									
										vendored
									
									
								
							| 
						 | 
				
			
			@ -163,10 +163,6 @@ fi
 | 
			
		|||
if [ $SRS_STATIC = YES ]; then
 | 
			
		||||
    SrsLinkOptions="${SrsLinkOptions} -static";
 | 
			
		||||
fi
 | 
			
		||||
# if mips, add -lgcc_eh, or stl compile failed.
 | 
			
		||||
if [ $SRS_MIPS_UBUNTU12 = YES ]; then
 | 
			
		||||
    SrsLinkOptions="${SrsLinkOptions} -lgcc_eh";
 | 
			
		||||
fi
 | 
			
		||||
# For coverage.
 | 
			
		||||
if [[ $SRS_GCOV == YES ]]; then
 | 
			
		||||
    SrsLinkOptions="${SrsLinkOptions} ${SrsGcov}";
 | 
			
		||||
| 
						 | 
				
			
			@ -351,23 +347,10 @@ cat << END > ${SRS_WORKDIR}/${SRS_MAKEFILE}
 | 
			
		|||
SRS_PREFIX=${SRS_PREFIX}
 | 
			
		||||
__REAL_INSTALL=\$(DESTDIR)\$(SRS_PREFIX)
 | 
			
		||||
 | 
			
		||||
END
 | 
			
		||||
 | 
			
		||||
# embeded, ubuntu12, use embeded tool chain.
 | 
			
		||||
if [ $SRS_CROSS_BUILD = YES ]; then
 | 
			
		||||
    cat << END >> ${SRS_WORKDIR}/${SRS_MAKEFILE}
 | 
			
		||||
default:
 | 
			
		||||
	\$(MAKE) GCC=${SrsArmGCC} CXX=${SrsArmCXX} AR=${SrsArmAR} LINK=${SrsArmCXX} _default
 | 
			
		||||
 | 
			
		||||
END
 | 
			
		||||
# x86/x64, use gnu-gcc/g++ tool chain.
 | 
			
		||||
else
 | 
			
		||||
    cat << END >> ${SRS_WORKDIR}/${SRS_MAKEFILE}
 | 
			
		||||
default:
 | 
			
		||||
	\$(MAKE) _default
 | 
			
		||||
 | 
			
		||||
END
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
# the real entry for all platform:
 | 
			
		||||
#       the server, librtmp and utest
 | 
			
		||||
| 
						 | 
				
			
			@ -687,16 +670,6 @@ if [ $SRS_EXPORT_LIBRTMP_PROJECT = NO ]; then
 | 
			
		|||
    else
 | 
			
		||||
        echo -e "${GREEN}Note: The gprof(GNU profile tool) is disabled.${BLACK}"
 | 
			
		||||
    fi
 | 
			
		||||
    if [ $SRS_ARM_UBUNTU12 = YES ]; then
 | 
			
		||||
        echo -e "${GREEN}The cross-build arm-ubuntu12(armhf, v7cpu) is enabled.${BLACK}"
 | 
			
		||||
    else
 | 
			
		||||
        echo -e "${GREEN}Note: The cross-build arm-ubuntu12(armhf, v7cpu)is disabled.${BLACK}"
 | 
			
		||||
    fi
 | 
			
		||||
    if [ $SRS_MIPS_UBUNTU12 = YES ]; then
 | 
			
		||||
        echo -e "${GREEN}The mips-ubuntu12 is enabled.${BLACK}"
 | 
			
		||||
    else
 | 
			
		||||
        echo -e "${GREEN}Note: The mips-ubuntu12 is disabled.${BLACK}"
 | 
			
		||||
    fi
 | 
			
		||||
    if [ $SRS_VALGRIND = YES ]; then
 | 
			
		||||
        echo -e "${GREEN}The valgrind is enabled.${BLACK}"
 | 
			
		||||
    else
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -28,6 +28,7 @@
 | 
			
		|||
#include <errno.h>
 | 
			
		||||
#include <sstream>
 | 
			
		||||
#include <stdarg.h>
 | 
			
		||||
#include <unistd.h>
 | 
			
		||||
using namespace std;
 | 
			
		||||
 | 
			
		||||
bool srs_is_system_control_error(srs_error_t err)
 | 
			
		||||
| 
						 | 
				
			
			@ -77,7 +78,7 @@ std::string SrsCplxError::description() {
 | 
			
		|||
        
 | 
			
		||||
        next = this;
 | 
			
		||||
        while (next) {
 | 
			
		||||
            ss << "thread [" << next->cid << "]: "
 | 
			
		||||
            ss << "thread [" << getpid() << "][" << next->cid << "]: "
 | 
			
		||||
            << next->func << "() [" << next->file << ":" << next->line << "]"
 | 
			
		||||
            << "[errno=" << next->rerrno << "]";
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -118,15 +118,14 @@ srs_error_t do_main(int argc, char** argv)
 | 
			
		|||
    }
 | 
			
		||||
    
 | 
			
		||||
    // config already applied to log.
 | 
			
		||||
    srs_trace(RTMP_SIG_SRS_SERVER);
 | 
			
		||||
    srs_trace("license: " RTMP_SIG_SRS_LICENSE);
 | 
			
		||||
    srs_trace("%s, %s", RTMP_SIG_SRS_SERVER, RTMP_SIG_SRS_LICENSE);
 | 
			
		||||
    srs_trace("contributors: " SRS_AUTO_CONSTRIBUTORS);
 | 
			
		||||
    srs_trace("build: %s, configure:%s, uname: %s", SRS_AUTO_BUILD_DATE, SRS_AUTO_USER_CONFIGURE, SRS_AUTO_UNAME);
 | 
			
		||||
    srs_trace("cwd=%s, work_dir=%s, build: %s, configure: %s, uname: %s",
 | 
			
		||||
        _srs_config->cwd().c_str(), cwd.c_str(), SRS_AUTO_BUILD_DATE, SRS_AUTO_USER_CONFIGURE, SRS_AUTO_UNAME);
 | 
			
		||||
    srs_trace("configure detail: " SRS_AUTO_CONFIGURE);
 | 
			
		||||
#ifdef SRS_AUTO_EMBEDED_TOOL_CHAIN
 | 
			
		||||
    srs_trace("crossbuild tool chain: " SRS_AUTO_EMBEDED_TOOL_CHAIN);
 | 
			
		||||
#endif
 | 
			
		||||
    srs_trace("cwd=%s, work_dir=%s", _srs_config->cwd().c_str(), cwd.c_str());
 | 
			
		||||
 | 
			
		||||
    // for memory check or detect.
 | 
			
		||||
    if (true) {
 | 
			
		||||
| 
						 | 
				
			
			@ -249,12 +248,6 @@ void show_macro_features()
 | 
			
		|||
#ifdef SRS_CUBIE
 | 
			
		||||
        ss << "CubieBoard";
 | 
			
		||||
#endif
 | 
			
		||||
#ifdef SRS_ARM_UBUNTU12
 | 
			
		||||
        ss << "ARM(build on ubuntu)";
 | 
			
		||||
#endif
 | 
			
		||||
#ifdef SRS_MIPS_UBUNTU12
 | 
			
		||||
        ss << "MIPS(build on ubuntu)";
 | 
			
		||||
#endif
 | 
			
		||||
        
 | 
			
		||||
#if defined(__amd64__)
 | 
			
		||||
        ss << " amd64";
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue