diff --git a/README.md b/README.md
index 6c394b3d4..a2e0ec544 100755
--- a/README.md
+++ b/README.md
@@ -78,7 +78,7 @@ Supported operating systems and hardware:
1. Simple: also stable enough.
2. [High-performance](https://github.com/winlinvip/simple-rtmp-server/wiki/Performance): single-thread, async socket, event/st-thread driven.
3. With RTMP edge server, support origin server.
-4. NO vod streaming, live streaming only.
+4. RTMP without vod streaming, live streaming only.
5. With multiple processes, support single process.
6. Support vhost, support \_\_defaultVhost\_\_.
7. Support adobe rtmp live streaming.
diff --git a/trunk/auto/options.sh b/trunk/auto/options.sh
index 02e4e583b..84beb3afc 100755
--- a/trunk/auto/options.sh
+++ b/trunk/auto/options.sh
@@ -30,6 +30,7 @@ SRS_GPROF=RESERVED # gprof
SRS_ARM_UBUNTU12=RESERVED # armhf(v7cpu) built on ubuntu12
# arguments
SRS_JOBS=1
+SRS_STATIC=RESERVED
#####################################################################################
# parse options
@@ -82,6 +83,7 @@ do
--without-arm-ubuntu12) SRS_ARM_UBUNTU12=NO ;;
--jobs) SRS_JOBS=${value} ;;
+ --static) SRS_STATIC=YES ;;
*)
echo "$0: error: invalid option \"$option\""
@@ -109,6 +111,8 @@ if [ $SRS_ARM_UBUNTU12 = YES ]; then
if [ $SRS_GPERF_CP = RESERVED ]; then SRS_GPERF_CP=NO; fi
if [ $SRS_GPROF = RESERVED ]; then SRS_GPROF=NO; fi
if [ $SRS_ARM_UBUNTU12 = RESERVED ]; then SRS_ARM_UBUNTU12=NO; fi
+ # for arm, always set to static link.
+ SRS_STATIC=YES
else
if [ $SRS_HLS = RESERVED ]; then SRS_HLS=YES; fi
if [ $SRS_SSL = RESERVED ]; then SRS_SSL=YES; fi
@@ -124,6 +128,7 @@ else
if [ $SRS_GPERF_CP = RESERVED ]; then SRS_GPERF_CP=NO; fi
if [ $SRS_GPROF = RESERVED ]; then SRS_GPROF=NO; fi
if [ $SRS_ARM_UBUNTU12 = RESERVED ]; then SRS_ARM_UBUNTU12=NO; fi
+ if [ $SRS_STATIC = RESERVED ]; then SRS_STATIC=NO; fi
fi
# parse the jobs for make
@@ -176,6 +181,7 @@ if [ $help = yes ]; then
--without-gprof do not build srs with gprof(GNU profile tool).
--without-arm-ubuntu12 do not build srs on ubuntu12 for armhf(v7cpu).
+ --static whether add '-static' to link options. always set this option for arm.
--jobs[=N] Allow N jobs at once; infinite jobs with no arg.
used for make in the configure, for example, to make ffmpeg.
@@ -259,5 +265,6 @@ if [ $SRS_GPERF_MP = YES ]; then SRS_CONFIGURE="${SRS_CONFIGURE} --with-gmp"; el
if [ $SRS_GPERF_CP = YES ]; then SRS_CONFIGURE="${SRS_CONFIGURE} --with-gcp"; else SRS_CONFIGURE="${SRS_CONFIGURE} --without-gcp"; fi
if [ $SRS_GPROF = YES ]; then SRS_CONFIGURE="${SRS_CONFIGURE} --with-gprof"; else SRS_CONFIGURE="${SRS_CONFIGURE} --without-gprof"; fi
if [ $SRS_ARM_UBUNTU12 = YES ]; then SRS_CONFIGURE="${SRS_CONFIGURE} --with-arm-ubuntu12"; else SRS_CONFIGURE="${SRS_CONFIGURE} --without-arm-ubuntu12"; fi
+if [ $SRS_STATIC = YES ]; then SRS_CONFIGURE="${SRS_CONFIGURE} --static"; fi
SRS_CONFIGURE="${SRS_CONFIGURE} ${SRS_JOBS}"
echo "regenerate config: ${SRS_CONFIGURE}"
diff --git a/trunk/configure b/trunk/configure
index 9a5c11ab3..80d39f613 100755
--- a/trunk/configure
+++ b/trunk/configure
@@ -317,7 +317,7 @@ if [ $SRS_SSL = YES ]; then LibSSLRoot="${SRS_OBJS}/openssl/include"; LibSSLfile
LibGperfRoot=""; LibGperfFile=""
if [ $SRS_GPERF = YES ]; then LibGperfRoot="${SRS_OBJS}/gperf/include"; LibGperfFile="${SRS_OBJS}/gperf/lib/libtcmalloc_and_profiler.a"; fi
# the link options, always use static link
-SrsLinkOptions="-static"
+SrsLinkOptions="-ldl"; if [ $SRS_STATIC = YES ]; then SrsLinkOptions="${SrsLinkOptions} -static"; fi
#####################################################################################
# Modules, compile each module, then link to binary