mirror of
https://github.com/ossrs/srs.git
synced 2025-03-09 15:49:59 +00:00
support build with jobs
This commit is contained in:
parent
128783ded3
commit
52b6ab3f2f
8 changed files with 45 additions and 22 deletions
0
trunk/auto/apps.sh
Executable file → Normal file
0
trunk/auto/apps.sh
Executable file → Normal file
|
@ -2,6 +2,11 @@
|
|||
|
||||
ff_src_dir="../../3rdparty"
|
||||
|
||||
# the jobs to make ffmpeg
|
||||
if [[ "" -eq SRS_JOBS ]]; then
|
||||
export SRS_JOBS="--jobs=1"
|
||||
fi
|
||||
|
||||
ff_current_dir=$(pwd -P)
|
||||
ff_build_dir="${ff_current_dir}/_build"
|
||||
ff_release_dir="${ff_current_dir}/_release"
|
||||
|
@ -9,6 +14,7 @@ echo "start to build the tools for transcode system:"
|
|||
echo "current_dir: ${ff_current_dir}"
|
||||
echo "build_dir: ${ff_build_dir}"
|
||||
echo "release_dir: ${ff_release_dir}"
|
||||
echo "SRS_JOBS: ${SRS_JOBS}"
|
||||
|
||||
mkdir -p ${ff_build_dir}
|
||||
mkdir -p ${ff_release_dir}
|
||||
|
@ -22,7 +28,7 @@ else
|
|||
cd $ff_current_dir &&
|
||||
rm -rf yasm-1.2.0 && unzip -q ${ff_src_dir}/yasm-1.2.0.zip &&
|
||||
cd yasm-1.2.0 && ./configure --prefix=${ff_release_dir} &&
|
||||
make && make install
|
||||
make ${SRS_JOBS} && make install
|
||||
ret=$?; if [[ 0 -ne ${ret} ]]; then echo "build yasm-1.2.0 failed"; exit 1; fi
|
||||
fi
|
||||
# add yasm to path, for x264 to use yasm directly.
|
||||
|
@ -37,7 +43,7 @@ else
|
|||
cd $ff_current_dir &&
|
||||
rm -rf libaacplus-2.0.2 && unzip -q ${ff_src_dir}/libaacplus-2.0.2.zip &&
|
||||
cd libaacplus-2.0.2 && cp ../${ff_src_dir}/libaacplus-patch-26410-800.zip src/26410-800.zip &&
|
||||
bash autogen.sh && ./configure --prefix=${ff_release_dir} --enable-static && make && make install
|
||||
bash autogen.sh && ./configure --prefix=${ff_release_dir} --enable-static && make ${SRS_JOBS} && make install
|
||||
ret=$?; if [[ 0 -ne ${ret} ]]; then echo "build libaacplus-2.0.2 failed"; exit 1; fi
|
||||
fi
|
||||
|
||||
|
@ -48,7 +54,7 @@ else
|
|||
echo "build lame-3.99.5"
|
||||
cd $ff_current_dir &&
|
||||
rm -rf lame-3.99.5 && unzip -q ${ff_src_dir}/lame-3.99.5.zip &&
|
||||
cd lame-3.99.5 && ./configure --prefix=${ff_release_dir} --enable-static && make && make install
|
||||
cd lame-3.99.5 && ./configure --prefix=${ff_release_dir} --enable-static && make ${SRS_JOBS} && make install
|
||||
ret=$?; if [[ 0 -ne ${ret} ]]; then echo "build lame-3.99.5 failed"; exit 1; fi
|
||||
fi
|
||||
|
||||
|
@ -61,7 +67,7 @@ else
|
|||
rm -rf x264-snapshot-20131129-2245-stable && unzip -q ${ff_src_dir}/x264-snapshot-20131129-2245-stable.zip &&
|
||||
cd x264-snapshot-20131129-2245-stable &&
|
||||
./configure --prefix=${ff_release_dir} --disable-opencl --bit-depth=8 --enable-static &&
|
||||
make && make install
|
||||
make ${SRS_JOBS} && make install
|
||||
ret=$?; if [[ 0 -ne ${ret} ]]; then echo "build x264 failed"; exit 1; fi
|
||||
fi
|
||||
|
||||
|
@ -90,6 +96,6 @@ else
|
|||
--enable-libx264 --enable-libmp3lame --enable-libaacplus \
|
||||
--enable-pthreads --extra-libs=-lpthread \
|
||||
--enable-encoders --enable-decoders --enable-avfilter --enable-muxers --enable-demuxers &&
|
||||
make && make install
|
||||
make ${SRS_JOBS} && make install
|
||||
ret=$?; if [[ 0 -ne ${ret} ]]; then echo "build ffmpeg failed"; exit 1; fi
|
||||
fi
|
||||
|
|
16
trunk/auto/depends.sh
Executable file → Normal file
16
trunk/auto/depends.sh
Executable file → Normal file
|
@ -183,7 +183,7 @@ else
|
|||
rm -rf ${SRS_OBJS}/st-1.9 && cd ${SRS_OBJS} &&
|
||||
unzip -q ../3rdparty/st-1.9.zip && cd st-1.9 &&
|
||||
patch -p1 < ../../3rdparty/1.st.arm.Makefile.patch &&
|
||||
make linux-debug &&
|
||||
make linux-debug ${SRS_JOBS}&&
|
||||
cd .. && rm -f st && ln -sf st-1.9/obj st
|
||||
)
|
||||
fi
|
||||
|
@ -205,7 +205,7 @@ if [ $SRS_HTTP = YES ]; then
|
|||
cd http-parser-2.1 &&
|
||||
sed -i "s/CPPFLAGS_FAST +=.*$/CPPFLAGS_FAST = \$\(CPPFLAGS_DEBUG\)/g" Makefile &&
|
||||
sed -i "s/CFLAGS_FAST =.*$/CFLAGS_FAST = \$\(CFLAGS_DEBUG\)/g" Makefile &&
|
||||
make package &&
|
||||
make package ${SRS_JOBS} &&
|
||||
cd .. && rm -f hp && ln -sf http-parser-2.1 hp
|
||||
)
|
||||
fi
|
||||
|
@ -236,7 +236,7 @@ if [ $SRS_HLS = YES ]; then
|
|||
(
|
||||
rm -rf ${SRS_OBJS}/nginx-1.5.7 && cd ${SRS_OBJS} &&
|
||||
unzip -q ../3rdparty/nginx-1.5.7.zip && cd nginx-1.5.7 &&
|
||||
./configure --prefix=`pwd`/_release && make && make install &&
|
||||
./configure --prefix=`pwd`/_release && make ${SRS_JOBS} && make install &&
|
||||
cd .. && ln -sf nginx-1.5.7/_release nginx
|
||||
)
|
||||
fi
|
||||
|
@ -352,7 +352,7 @@ if [ $SRS_SSL = YES ]; then
|
|||
rm -rf ${SRS_OBJS}/openssl-1.0.1f && cd ${SRS_OBJS} &&
|
||||
unzip -q ../3rdparty/openssl-1.0.1f.zip && cd openssl-1.0.1f &&
|
||||
./config --prefix=`pwd`/_release -no-shared &&
|
||||
make && make install &&
|
||||
make ${SRS_JOBS} && make install &&
|
||||
cd .. && ln -sf openssl-1.0.1f/_release openssl
|
||||
)
|
||||
fi
|
||||
|
@ -399,10 +399,10 @@ fi
|
|||
if [ $SRS_RESEARCH = YES ]; then
|
||||
mkdir -p ${SRS_OBJS}/research
|
||||
|
||||
(cd research/hls && make && mv ts_info ../../${SRS_OBJS}/research)
|
||||
(cd research/hls && make ${SRS_JOBS} && mv ts_info ../../${SRS_OBJS}/research)
|
||||
ret=$?; if [[ $ret -ne 0 ]]; then echo "build research/hls failed, ret=$ret"; exit $ret; fi
|
||||
|
||||
(cd research/ffempty && make && mv ffempty ../../${SRS_OBJS}/research)
|
||||
(cd research/ffempty && make ${SRS_JOBS} && mv ffempty ../../${SRS_OBJS}/research)
|
||||
ret=$?; if [[ $ret -ne 0 ]]; then echo "build research/ffempty failed, ret=$ret"; exit $ret; fi
|
||||
fi
|
||||
|
||||
|
@ -412,9 +412,9 @@ fi
|
|||
if [ $SRS_UTEST = YES ]; then
|
||||
mkdir -p ${SRS_OBJS}/utest
|
||||
|
||||
(cd research/hls && make && mv ts_info ../../${SRS_OBJS}/research)
|
||||
(cd research/hls && make ${SRS_JOBS} && mv ts_info ../../${SRS_OBJS}/research)
|
||||
ret=$?; if [[ $ret -ne 0 ]]; then echo "build research/hls failed, ret=$ret"; exit $ret; fi
|
||||
|
||||
(cd research/ffempty && make && mv ffempty ../../${SRS_OBJS}/research)
|
||||
(cd research/ffempty && make ${SRS_JOBS} && mv ffempty ../../${SRS_OBJS}/research)
|
||||
ret=$?; if [[ $ret -ne 0 ]]; then echo "build research/ffempty failed, ret=$ret"; exit $ret; fi
|
||||
fi
|
||||
|
|
0
trunk/auto/generate_header.sh
Executable file → Normal file
0
trunk/auto/generate_header.sh
Executable file → Normal file
0
trunk/auto/libs.sh
Executable file → Normal file
0
trunk/auto/libs.sh
Executable file → Normal file
0
trunk/auto/modules.sh
Executable file → Normal file
0
trunk/auto/modules.sh
Executable file → Normal file
19
trunk/auto/options.sh
Executable file → Normal file
19
trunk/auto/options.sh
Executable file → Normal file
|
@ -17,6 +17,8 @@ SRS_FFMPEG=RESERVED
|
|||
SRS_HTTP=RESERVED
|
||||
SRS_RESEARCH=RESERVED
|
||||
SRS_UTEST=RESERVED
|
||||
# arguments
|
||||
SRS_JOBS=1
|
||||
|
||||
# TODO: remove the default to yes.
|
||||
SRS_HLS=YES
|
||||
|
@ -36,7 +38,10 @@ do
|
|||
opt="$opt `echo $option | sed -e \"s/\(--[^=]*=\)\(.* .*\)/\1'\2'/\"`"
|
||||
|
||||
case "$option" in
|
||||
-*=*) value=`echo "$option" | sed -e 's/[-_a-zA-Z0-9]*=//'` ;;
|
||||
-*=*)
|
||||
value=`echo "$option" | sed -e 's/[-_a-zA-Z0-9]*=//'`
|
||||
option=`echo "$option" | sed -e 's/=[-_a-zA-Z0-9]*//'`
|
||||
;;
|
||||
*) value="" ;;
|
||||
esac
|
||||
|
||||
|
@ -56,6 +61,8 @@ do
|
|||
--without-http) SRS_HTTP=NO ;;
|
||||
--without-research) SRS_RESEARCH=NO ;;
|
||||
--without-utest) SRS_UTEST=NO ;;
|
||||
|
||||
--jobs) SRS_JOBS=${value} ;;
|
||||
|
||||
*)
|
||||
echo "$0: error: invalid option \"$option\""
|
||||
|
@ -64,6 +71,13 @@ do
|
|||
esac
|
||||
done
|
||||
|
||||
# parse the jobs for make
|
||||
if [[ "" -eq SRS_JOBS ]]; then
|
||||
export SRS_JOBS="--jobs"
|
||||
else
|
||||
export SRS_JOBS="--jobs=${SRS_JOBS}"
|
||||
fi
|
||||
|
||||
# save all config options to macro to write to auto headers file
|
||||
SRS_CONFIGURE="$opt"
|
||||
|
||||
|
@ -90,6 +104,9 @@ if [ $help = yes ]; then
|
|||
--without-ffmpeg disable the ffmpeg transcoding feature.
|
||||
--without-research do not build the research tools.
|
||||
--without-utest do not build the utest for srs.
|
||||
|
||||
--jobs[=N] Allow N jobs at once; infinite jobs with no arg.
|
||||
used for make in the configure, for example, to make ffmpeg.
|
||||
|
||||
END
|
||||
exit 0
|
||||
|
|
16
trunk/configure
vendored
16
trunk/configure
vendored
|
@ -49,7 +49,7 @@ echo "" >> $SRS_AUTO_HEADERS_H
|
|||
# srs-librtmp sample entry
|
||||
SrsLibrtmpSampleEntry="nossl"; if [ $SRS_SSL = YES ]; then SrsLibrtmpSampleEntry="ssl";fi
|
||||
# utest make entry, (cd utest; make)
|
||||
SrsUtestMakeEntry="@echo -e \"ignore utest for it's disabled\""; if [ $SRS_UTEST = YES ]; then SrsUtestMakeEntry="(cd utest; make)"; fi
|
||||
SrsUtestMakeEntry="@echo -e \"ignore utest for it's disabled\""; if [ $SRS_UTEST = YES ]; then SrsUtestMakeEntry="(cd utest; \$(MAKE))"; fi
|
||||
|
||||
#####################################################################################
|
||||
# colorful summary
|
||||
|
@ -73,7 +73,7 @@ GREEN="\\${GREEN}"
|
|||
YELLOW="\\${YELLOW}"
|
||||
BLACK="\\${BLACK}"
|
||||
|
||||
default: server bandwidth librtmp librtmp-sample utest
|
||||
default: bandwidth librtmp-sample utest
|
||||
@echo -e "\$(GREEN)build summary:\$(BLACK)"
|
||||
@echo -e " \$(GREEN)server: ./objs/srs, the srs server\$(BLACK)"
|
||||
@echo -e " ${SrsHlsSummaryColor}hls: delivery HLS stream, @see: https://github.com/winlinvip/simple-rtmp-server/wiki/DeliveryHLS\$(BLACK)"
|
||||
|
@ -108,20 +108,20 @@ server: _prepare_dir
|
|||
@echo "build the srs(simple rtmp server) over st(state-threads)"
|
||||
\$(MAKE) -f ${SRS_OBJS}/${SRS_MAKEFILE} srs
|
||||
|
||||
bandwidth: _prepare_dir
|
||||
bandwidth: server
|
||||
@echo "build the bandwidth test client tool"
|
||||
\$(MAKE) -f ${SRS_OBJS}/${SRS_MAKEFILE} bandwidth
|
||||
|
||||
librtmp: _prepare_dir
|
||||
librtmp: server
|
||||
@echo "build the client publish/play library."
|
||||
\$(MAKE) -f ${SRS_OBJS}/${SRS_MAKEFILE} librtmp
|
||||
|
||||
librtmp-sample:
|
||||
librtmp-sample: librtmp
|
||||
@echo "build the srs-librtmp sample"
|
||||
(cd research/librtmp; make ${SrsLibrtmpSampleEntry})
|
||||
(cd research/librtmp; \$(MAKE) ${SrsLibrtmpSampleEntry})
|
||||
@echo "srs-librtmp sample build success"
|
||||
|
||||
utest:
|
||||
utest: server
|
||||
@echo "build the utest for srs"
|
||||
${SrsUtestMakeEntry}
|
||||
@echo "utest for srs build success"
|
||||
|
@ -154,7 +154,7 @@ AR ?= ar
|
|||
CXXFLAGS = ${CXXFLAGS}
|
||||
LINK = g++
|
||||
|
||||
.PHONY: default srs bandwidth
|
||||
.PHONY: default srs bandwidth librtmp
|
||||
|
||||
default:
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue