diff --git a/README.md b/README.md
index 5e6129ef3..d4481cdb7 100755
--- a/README.md
+++ b/README.md
@@ -177,6 +177,7 @@ For previous versions, please read:
## V3 changes
+* v3.0, 2020-03-29, [3.0 beta4(3.0.139)][r3.0b4] released. 122674 lines.
* v3.0, 2020-03-28, Support multiple OS/Platform build cache. 3.0.139
* v3.0, 2020-03-28, For [#1250][bug #1250], support macOS, OSX, MacbookPro, Apple Darwin. 3.0.138
* v3.0, 2020-03-21, For [#1629][bug #1629], fix kickoff FLV client bug. 3.0.137
@@ -789,6 +790,7 @@ For previous versions, please read:
## Releases
+* 2020-03-29, [Release v3.0-b3][r3.0b4], 3.0 beta4, 3.0.139, 122674 lines.
* 2020-03-18, [Release v3.0-b3][r3.0b3], 3.0 beta3, 3.0.134, 122509 lines.
* 2020-03-05, [Release v3.0-b2][r3.0b2], 3.0 beta2, 3.0.123, 122170 lines.
* 2020-02-14, [Release v3.0-b1][r3.0b1], 3.0 beta1, 3.0.117, 121964 lines.
@@ -1737,6 +1739,7 @@ Winlin
[exo #828]: https://github.com/google/ExoPlayer/pull/828
+[r3.0b4]: https://github.com/ossrs/srs/releases/tag/v3.0-b4
[r3.0b3]: https://github.com/ossrs/srs/releases/tag/v3.0-b3
[r3.0b2]: https://github.com/ossrs/srs/releases/tag/v3.0-b2
[r3.0b1]: https://github.com/ossrs/srs/releases/tag/v3.0-b1
diff --git a/trunk/auto/coverage.sh b/trunk/auto/coverage.sh
index 0196fe9d5..55cb7ce46 100644
--- a/trunk/auto/coverage.sh
+++ b/trunk/auto/coverage.sh
@@ -17,7 +17,7 @@ mkdir -p $workdir && cd $workdir
ret=$?; if [[ $ret -ne 0 ]]; then echo "Enter workdir failed, ret=$ret"; exit $ret; fi
# Collect all *.gcno and *.gcda to objs/cover.
-cd $workdir && (rm -rf src && cp -R ../../src . && cp -R ../src .)
+cd $workdir && (rm -rf src && cp -R ../../src . && cp -R ../src/* src/)
ret=$?; if [[ $ret -ne 0 ]]; then echo "Collect *.gcno and *.gcda failed, ret=$ret"; exit $ret; fi
# Generate *.gcov for coverage.
diff --git a/trunk/auto/depends.sh b/trunk/auto/depends.sh
index 3dfb4d027..ffaff4420 100755
--- a/trunk/auto/depends.sh
+++ b/trunk/auto/depends.sh
@@ -343,9 +343,20 @@ if [ $SRS_EXPORT_LIBRTMP_PROJECT = NO ]; then
echo "Building state-threads.";
(
rm -rf ${SRS_OBJS}/${SRS_PLATFORM}/st-srs && mkdir -p ${SRS_OBJS}/${SRS_PLATFORM}/st-srs &&
+ # Create a hidden directory .src
cd ${SRS_OBJS}/${SRS_PLATFORM}/st-srs && ln -sf ../../../3rdparty/st-srs .src &&
- for dir in `(cd .src && find . -type d|grep '\./'|grep -v Linux|grep -v Darwin)`; do mkdir -p $dir; done &&
- for file in `(cd .src && find . -type f ! -name '*.o' ! -name '*.d'|grep -v '\/\.')`; do ln -sf `pwd`/.src/$file $file; done &&
+ # Link source files under .src
+ for file in `(cd .src && find . -maxdepth 1 -type f ! -name '*.o' ! -name '*.d')`; do
+ ln -sf .src/$file $file;
+ done &&
+ # Link source files under .src/xxx, the first child dir.
+ for dir in `(cd .src && find . -type d|grep '\./'|grep -v Linux|grep -v Darwin)`; do
+ mkdir -p $dir &&
+ for file in `(cd .src/$dir && find . -maxdepth 1 -type f ! -name '*.o' ! -name '*.d')`; do
+ ln -sf .src/$dir/$file $dir/$file;
+ done;
+ done &&
+ # Build source code.
make ${_ST_MAKE} EXTRA_CFLAGS="${_ST_EXTRA_CFLAGS}" \
CC=${SRS_TOOL_CC} AR=${SRS_TOOL_AR} LD=${_ST_LD} RANDLIB=${SRS_TOOL_RANDLIB} &&
cd .. && rm -f st && ln -sf st-srs/${_ST_OBJ} st
@@ -354,7 +365,7 @@ if [ $SRS_EXPORT_LIBRTMP_PROJECT = NO ]; then
# check status
ret=$?; if [[ $ret -ne 0 ]]; then echo "Build state-threads failed, ret=$ret"; exit $ret; fi
# Always update the links.
- (cd ${SRS_OBJS} && rm -f st && ln -sf ${SRS_PLATFORM}/st-srs/${_ST_OBJ} st)
+ (cd ${SRS_OBJS} && rm -rf st && ln -sf ${SRS_PLATFORM}/st-srs/${_ST_OBJ} st)
if [ ! -f ${SRS_OBJS}/st/libst.a ]; then echo "Build state-threads static lib failed."; exit -1; fi
fi
@@ -501,7 +512,7 @@ if [[ $SRS_SSL == YES && $SRS_USE_SYS_SSL != YES ]]; then
# check status
ret=$?; if [[ $ret -ne 0 ]]; then echo "Build openssl-1.1.0e failed, ret=$ret"; exit $ret; fi
# Always update the links.
- (cd ${SRS_OBJS} && rm -f openssl && ln -sf ${SRS_PLATFORM}/${OPENSSL_LIB} openssl)
+ (cd ${SRS_OBJS} && rm -rf openssl && ln -sf ${SRS_PLATFORM}/${OPENSSL_LIB} openssl)
if [ ! -f ${SRS_OBJS}/openssl/lib/libssl.a ]; then echo "Build openssl-1.1.0e failed."; exit -1; fi
fi
@@ -564,9 +575,28 @@ if [[ $SRS_EXPORT_LIBRTMP_PROJECT == NO && $SRS_RTC == YES ]]; then
echo "Building ffmpeg-4.2-fit.";
(
rm -rf ${SRS_OBJS}/${SRS_PLATFORM}/ffmpeg-4.2-fit && mkdir -p ${SRS_OBJS}/${SRS_PLATFORM}/ffmpeg-4.2-fit &&
+ # Create a hidden directory .src
cd ${SRS_OBJS}/${SRS_PLATFORM}/ffmpeg-4.2-fit && ABS_OBJS=`(cd .. && pwd)` && ln -sf ../../../3rdparty/ffmpeg-4.2-fit .src &&
- for dir in `(cd .src && find . -type d|grep '\./'|grep -v Linux|grep -v Darwin)`; do mkdir -p $dir; done &&
- for file in `(cd .src && find . -type f ! -name '*.o' ! -name '*.d'|grep -v '\/\.')`; do ln -sf `pwd`/.src/$file $file; done &&
+ # Link source files under .src
+ for file in `(cd .src && find . -maxdepth 1 -type f ! -name '*.o' ! -name '*.d')`; do
+ ln -sf .src/$file $file;
+ done &&
+ # Link source files under .src/xxx, the first child dir.
+ for dir in `(cd .src && find . -maxdepth 1 -type d|grep '\./')`; do
+ # Link files under .src/xxx
+ mkdir -p $dir &&
+ for file in `(cd .src/$dir && find . -maxdepth 1 -type f ! -name '*.o' ! -name '*.d')`; do
+ ln -sf ../.src/$dir/$file $dir/$file;
+ done &&
+ # Link directory under .src/xxx/xxx
+ for dir2 in `(cd .src/$dir && find . -maxdepth 1 -type d|grep '\./')`; do
+ mkdir -p $dir/$dir2 &&
+ for file in `(cd .src/$dir/$dir2 && find . -maxdepth 1 -type f ! -name '*.o' ! -name '*.d')`; do
+ ln -sf ../../.src/$dir/$dir2/$file $dir/$dir2/$file;
+ done;
+ done
+ done &&
+ # Build source code.
PKG_CONFIG_PATH=$ABS_OBJS/opus/lib/pkgconfig ./configure \
--prefix=`pwd`/${SRS_PLATFORM}/_release \
--pkg-config-flags="--static" --extra-libs=-lpthread --extra-libs=-lm ${FFMPEG_OPTIONS} \
@@ -592,16 +622,19 @@ fi
# live transcoding, ffmpeg-4.1, x264-core157, lame-3.99.5, libaacplus-2.0.2.
#####################################################################################
# Always link the ffmpeg tools if exists.
-if [[ -f /usr/local/bin/ffmpeg && ! -f ${SRS_OBJS}/ffmpeg/bin/ffmpeg ]]; then
- mkdir -p ${SRS_OBJS}/ffmpeg/bin && ln -sf /usr/local/bin/ffmpeg ${SRS_OBJS}/ffmpeg/bin/ffmpeg
+if [[ -f /usr/local/bin/ffmpeg && ! -f ${SRS_OBJS}/${SRS_PLATFORM}/ffmpeg/bin/ffmpeg ]]; then
+ mkdir -p ${SRS_OBJS}/${SRS_PLATFORM}/ffmpeg/bin &&
+ ln -sf /usr/local/bin/ffmpeg ${SRS_OBJS}/${SRS_PLATFORM}/ffmpeg/bin/ffmpeg
fi
if [ $SRS_FFMPEG_TOOL = YES ]; then
- if [[ -f ${SRS_OBJS}/ffmpeg/bin/ffmpeg ]]; then
+ if [[ -f ${SRS_OBJS}/${SRS_PLATFORM}/ffmpeg/bin/ffmpeg ]]; then
echo "ffmpeg-4.1 is ok.";
else
- echo "no ffmpeg-4.1 found, please run in docker ossrs/srs:dev";
+ echo "no ffmpeg found, please use srs-docker or --without-ffmpeg";
exit -1;
fi
+ # Always update the links.
+ (cd ${SRS_OBJS} && rm -rf ffmpeg && ln -sf ${SRS_PLATFORM}/ffmpeg)
fi
#####################################################################################
@@ -662,7 +695,7 @@ if [ $SRS_UTEST = YES ]; then
# check status
ret=$?; if [[ $ret -ne 0 ]]; then echo "Build gtest-1.6.0 failed, ret=$ret"; exit $ret; fi
# Always update the links.
- (cd ${SRS_OBJS} && rm -f gtest && ln -sf ${SRS_PLATFORM}/gtest-1.6.0 gtest)
+ (cd ${SRS_OBJS} && rm -rf gtest && ln -sf ${SRS_PLATFORM}/gtest-1.6.0 gtest)
if [ ! -f ${SRS_OBJS}/gtest/include/gtest/gtest.h ]; then echo "Build gtest-1.6.0 failed."; exit -1; fi
fi
@@ -685,6 +718,6 @@ if [ $SRS_GPERF = YES ]; then
# check status
ret=$?; if [[ $ret -ne 0 ]]; then echo "Build gperftools-2.1 failed, ret=$ret"; exit $ret; fi
# Always update the links.
- (cd ${SRS_OBJS} && rm -f pprof && ln -sf ${SRS_PLATFORM}/gperf/bin/pprof pprof)
+ (cd ${SRS_OBJS} && rm -rf pprof && ln -sf ${SRS_PLATFORM}/gperf/bin/pprof pprof)
if [ ! -f ${SRS_OBJS}/gperf/bin/pprof ]; then echo "Build gperftools-2.1 failed."; exit -1; fi
fi
diff --git a/trunk/auto/options.sh b/trunk/auto/options.sh
index edeb308d6..549179e98 100755
--- a/trunk/auto/options.sh
+++ b/trunk/auto/options.sh
@@ -110,6 +110,8 @@ SRS_TOOL_AR=ar
SRS_TOOL_LD=ld
SRS_TOOL_RANDLIB=randlib
SRS_EXTRA_FLAGS=
+# Set the object files tag name.
+SRS_BUILD_TAG=
#####################################################################################
# menu
@@ -182,6 +184,7 @@ Toolchain options: @see https://github.com/ossrs/srs/issues/1547#issuec
--extra-flags= Set EFLAGS as CFLAGS and CXXFLAGS. Also passed to ST as EXTRA_CFLAGS.
--with-nasm Build FFMPEG for RTC with nasm support.
--without-nasm Build FFMPEG for RTC without nasm support, for CentOS6 nasm is too old.
+ --build-tag= Set the build object directory suffix.
Conflicts:
1. --with-gmc vs --with-gmp:
@@ -272,6 +275,7 @@ function parse_user_option() {
--ld) SRS_TOOL_LD=${value} ;;
--randlib) SRS_TOOL_RANDLIB=${value} ;;
--extra-flags) SRS_EXTRA_FLAGS=${value} ;;
+ --build-tag) SRS_BUILD_TAG=${value} ;;
--x86-x64) SRS_X86_X64=YES ;;
--x86-64) SRS_X86_X64=YES ;;
@@ -561,6 +565,7 @@ function regenerate_options() {
if [ $SRS_LOG_TRACE = YES ]; then SRS_AUTO_CONFIGURE="${SRS_AUTO_CONFIGURE} --log-trace"; fi
if [ $SRS_GCOV = YES ]; then SRS_AUTO_CONFIGURE="${SRS_AUTO_CONFIGURE} --gcov"; fi
if [[ $SRS_EXTRA_FLAGS != '' ]]; then SRS_AUTO_CONFIGURE="${SRS_AUTO_CONFIGURE} --extra-flags=\\\"$SRS_EXTRA_FLAGS\\\""; fi
+ if [[ $SRS_BUILD_TAG != '' ]]; then SRS_AUTO_CONFIGURE="${SRS_AUTO_CONFIGURE} --build-tag=\\\"$SRS_BUILD_TAG\\\""; fi
if [[ $SRS_TOOL_CC != '' ]]; then SRS_AUTO_CONFIGURE="${SRS_AUTO_CONFIGURE} --cc=$SRS_TOOL_CC"; fi
if [[ $SRS_TOOL_CXX != '' ]]; then SRS_AUTO_CONFIGURE="${SRS_AUTO_CONFIGURE} --cxx=$SRS_TOOL_CXX"; fi
if [[ $SRS_TOOL_AR != '' ]]; then SRS_AUTO_CONFIGURE="${SRS_AUTO_CONFIGURE} --ar=$SRS_TOOL_AR"; fi
diff --git a/trunk/auto/setup_variables.sh b/trunk/auto/setup_variables.sh
index 9d37edbf7..c144c68f5 100755
--- a/trunk/auto/setup_variables.sh
+++ b/trunk/auto/setup_variables.sh
@@ -1,3 +1,24 @@
#!/bin/bash
# when options parsed, setup some variables, then build the depends.
+OS_KERNEL_NAME=$(uname -s)
+OS_KERNRL_RELEASE=$(uname -r|awk -F '-' '{print $1}')
+OS_PREFIX="Platform"
+SRS_PLATFORM="${OS_PREFIX}-${OS_KERNEL_NAME}-${OS_KERNRL_RELEASE}"
+if [[ ${SRS_BUILD_TAG} != "" ]]; then
+ SRS_PLATFORM="${SRS_PLATFORM}-${SRS_BUILD_TAG}"
+fi
+echo "SRS_WORKDIR: ${SRS_WORKDIR}, SRS_OBJS_DIR: ${SRS_OBJS_DIR}, SRS_OBJS: ${SRS_OBJS}, SRS_PLATFORM: ${SRS_PLATFORM}"
+
+# For src object files on each platform.
+(
+ mkdir -p ${SRS_OBJS_DIR} && cd ${SRS_OBJS_DIR} &&
+ rm -rf src utest srs research include lib srs_hls_ingester srs_mp4_parser &&
+ mkdir -p ${SRS_PLATFORM}/src && ln -sf ${SRS_PLATFORM}/src &&
+ mkdir -p ${SRS_PLATFORM}/utest && ln -sf ${SRS_PLATFORM}/utest &&
+ mkdir -p ${SRS_PLATFORM}/research && ln -sf ${SRS_PLATFORM}/research &&
+ mkdir -p ${SRS_PLATFORM}/include && ln -sf ${SRS_PLATFORM}/include &&
+ mkdir -p ${SRS_PLATFORM}/lib && ln -sf ${SRS_PLATFORM}/lib
+)
+echo "Fast cleanup, if need to do full cleanup, please use: make clean"
+
diff --git a/trunk/auto/utest.sh b/trunk/auto/utest.sh
index d8cce4a6f..003e3360b 100755
--- a/trunk/auto/utest.sh
+++ b/trunk/auto/utest.sh
@@ -16,7 +16,7 @@ mkdir -p ${SRS_OBJS}/utest
# the prefix to generate the objs/utest/Makefile
# dirs relative to current dir(objs/utest), it's trunk/objs/utest
# trunk of srs, which contains the src dir, relative to objs/utest, it's trunk
-SRS_TRUNK_PREFIX=../..
+SRS_TRUNK_PREFIX=../../..
# gest dir, relative to objs/utest, it's trunk/objs/gtest
GTEST_DIR=${SRS_TRUNK_PREFIX}/${SRS_OBJS_DIR}/gtest
diff --git a/trunk/configure b/trunk/configure
index 893a3bc56..880a89aef 100755
--- a/trunk/configure
+++ b/trunk/configure
@@ -8,8 +8,6 @@ SRS_WORKDIR="."
SRS_OBJS_DIR="objs"
SRS_OBJS="${SRS_WORKDIR}/${SRS_OBJS_DIR}"
SRS_MAKEFILE="Makefile"
-SRS_PLATFORM=`uname -s`-`uname -r|awk -F '-' '{print $1}'`
-echo "SRS_WORKDIR: ${SRS_WORKDIR}, SRS_OBJS_DIR: ${SRS_OBJS_DIR}, SRS_OBJS: ${SRS_OBJS}, SRS_PLATFORM: ${SRS_PLATFORM}"
# linux shell color support.
RED="\\033[31m"
@@ -43,11 +41,6 @@ mkdir -p ${SRS_OBJS}/${SRS_PLATFORM}
# the auto generated variables.
. auto/auto_headers.sh
-# For src object files on each platform.
-echo "Fast cleanup, if need to do full cleanup, please use: make clean"
-(cd ${SRS_OBJS_DIR} && rm -rf src srs srs_hls_ingester srs_mp4_parser &&
-mkdir -p ${SRS_PLATFORM}/src && ln -sf ${SRS_PLATFORM}/src)
-
#####################################################################################
# generate Makefile.
#####################################################################################
@@ -59,7 +52,7 @@ 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 ${SRS_OBJS_DIR}/utest; \$(MAKE))"; fi
+if [ $SRS_UTEST = YES ]; then SrsUtestMakeEntry="(cd ${SRS_OBJS_DIR}/${SRS_PLATFORM}/utest && \$(MAKE))"; fi
#####################################################################################
# finger out modules to install.
@@ -442,7 +435,9 @@ mv ${SRS_WORKDIR}/${SRS_MAKEFILE} ${SRS_WORKDIR}/${SRS_MAKEFILE}.bk
# generate phony header
cat << END > ${SRS_WORKDIR}/${SRS_MAKEFILE}
-.PHONY: default _default install install-api help clean doclean destroy server srs_ingest_hls librtmp utest _prepare_dir $__mphonys
+.PHONY: default _default install install-api help clean destroy server srs_ingest_hls librtmp utest _prepare_dir $__mphonys
+.PHONY: clean_srs clean_modules clean_st clean_openssl clean_ffmpeg clean_nginx clean_cherrypy
+.PHONY: st
# install prefix.
SRS_PREFIX=${SRS_PREFIX}
@@ -463,14 +458,18 @@ _default: server srs_ingest_hls librtmp utest __modules $__mdefaults
help:
@echo "Usage: make ||||||||"
@echo " help display this help menu"
- @echo " clean cleanup project"
- @echo " destroy Deep cleanup project and depends"
+ @echo " clean cleanup project and all depends"
+ @echo " destroy Cleanup all files for this platform in ${SRS_OBJS_DIR}/${SRS_PLATFORM}"
@echo " server build the srs(simple rtmp server) over st(state-threads)"
@echo " librtmp build the client publish/play library, and samples"
@echo " utest build the utest for srs"
@echo " install install srs to the prefix path"
@echo " install-api install srs and api-server to the prefix path"
@echo " uninstall uninstall srs from prefix path"
+ @echo "To clean special module:"
+ @echo " clean_st Clean depend st-srs in ${SRS_OBJS_DIR}/${SRS_PLATFORM}/st-srs"
+ @echo " clean_openssl Clean depend openssl in objs"
+ @echo " clean_ffmpeg Clean depend ffmpeg in objs"
@echo "@remark all modules will auto genearted and build"
@echo "For example:"
@echo " make"
@@ -483,13 +482,34 @@ doclean:
(cd research/librtmp && make clean)
(cd research/api-server/static-dir && rm -rf crossdomain.xml forward live players)
-clean: doclean
- @echo "You can do full clean by: make destroy"
+clean: clean_srs clean_modules
+ @echo "You can clean each some components, see make help"
-destroy: clean
- (cd 3rdparty/st-srs && rm -rf Linux_* Darwin_* obj)
- (cd 3rdparty/ffmpeg-4.2-fit && rm -rf Linux-* Darwin-*)
- (cd ${SRS_OBJS_DIR} && rm -rf Linux-* Darwin-*)
+destroy: clean_st clean_openssl clean_ffmpeg clean_nginx clean_cherrypy
+ (cd ${SRS_OBJS_DIR} && rm -rf ${SRS_PLATFORM})
+
+clean_srs:
+ (cd ${SRS_OBJS_DIR} && rm -rf srs srs_utest)
+ (cd ${SRS_OBJS_DIR}/${SRS_PLATFORM} && rm -rf src include lib utest)
+
+clean_modules:
+ (cd ${SRS_OBJS_DIR} && rm -rf $__mdefaults)
+
+clean_st:
+ (cd ${SRS_OBJS_DIR}/${SRS_PLATFORM}/st-srs && make clean)
+
+clean_openssl:
+ (cd ${SRS_OBJS_DIR}/${SRS_PLATFORM} && rm -rf openssl*)
+
+clean_ffmpeg:
+ (cd ${SRS_OBJS_DIR}/${SRS_PLATFORM} && rm -rf ffmpeg)
+
+clean_nginx:
+ (cd ${SRS_OBJS_DIR} && rm -rf nginx)
+
+clean_cherrypy:
+ (cd research/librtmp && make clean)
+ (cd research/api-server/static-dir && rm -rf crossdomain.xml forward live players)
END
@@ -619,7 +639,7 @@ librtmp: server
@echo "Building the client publish/play library."
\$(MAKE) -f ${SRS_OBJS_DIR}/${SRS_MAKEFILE} librtmp
@echo "Building the srs-librtmp example."
- (cd research/librtmp; \$(MAKE) EXTRA_CXXFLAGS="${SrsGcov}" ${SrsLibrtmpSampleEntry})
+ (cd research/librtmp && \$(MAKE) EXTRA_CXXFLAGS="${SrsGcov}" ${SrsLibrtmpSampleEntry})
END
else
diff --git a/trunk/scripts/package.sh b/trunk/scripts/package.sh
index 6629bbf6e..ecd233450 100755
--- a/trunk/scripts/package.sh
+++ b/trunk/scripts/package.sh
@@ -16,6 +16,7 @@ PI=NO
MIPS=NO
#
EMBEDED=NO
+JOBS=1
##################################################################################
##################################################################################
@@ -39,6 +40,7 @@ do
--mips) MIPS=YES ;;
--arm) ARM=YES ;;
--pi) PI=YES ;;
+ --jobs) JOBS=$value ;;
*)
echo "$0: error: invalid option \"$option\", @see $0 --help"
@@ -56,6 +58,7 @@ if [ $help = yes ]; then
--mips for mips cross-build platform, configure/make/package.
--pi for pi platform, configure/make/package.
--x86-64 alias for --x86-x64.
+ --jobs Set the configure and make jobs.
END
exit 0
fi
@@ -113,26 +116,26 @@ ok_msg "real os is ${os_name}-${os_major_version} ${os_release} ${os_machine}"
# build srs
# @see https://github.com/ossrs/srs/wiki/v1_CN_Build
-ok_msg "start build srs"
+ok_msg "start build srs, ARM: $ARM, MIPS: $MIPS, PI: $PI, X86_64: $X86_X64, JOBS: $JOBS"
if [ $ARM = YES ]; then
(
cd $work_dir &&
- ./configure --arm --prefix=$INSTALL && make
+ ./configure --arm --jobs=$JOBS --prefix=$INSTALL --build-tag=${os_name}${os_major_version} && make
) >> $log 2>&1
elif [ $MIPS = YES ]; then
(
cd $work_dir &&
- ./configure --mips --prefix=$INSTALL && make
+ ./configure --mips --jobs=$JOBS --prefix=$INSTALL --build-tag=${os_name}${os_major_version} && make
) >> $log 2>&1
elif [ $PI = YES ]; then
(
cd $work_dir &&
- ./configure --pi --prefix=$INSTALL && make
+ ./configure --pi --jobs=$JOBS --prefix=$INSTALL --build-tag=${os_name}${os_major_version} && make
) >> $log 2>&1
elif [ $X86_X64 = YES ]; then
(
cd $work_dir &&
- ./configure --x86-x64 --prefix=$INSTALL && make
+ ./configure --x86-x64 --jobs=$JOBS --prefix=$INSTALL --build-tag=${os_name}${os_major_version} && make
) >> $log 2>&1
else
failed_msg "invalid option, must be --x86-x64/--arm/--mips/--pi, see --help"; exit 1;