下载官方SDK后,修改脚本中的WORKDIR
,chmod +x shadowsocks-build.sh
后执行即可。
我编译的版本(10/07/2018) https://drive.google.com/drive/folders/1kTR73hkzAeMW-gXE2EacNa4Yte8o7JWU
下载官方SDK后,修改脚本中的WORKDIR
,chmod +x shadowsocks-build.sh
后执行即可。
我编译的版本(10/07/2018) https://drive.google.com/drive/folders/1kTR73hkzAeMW-gXE2EacNa4Yte8o7JWU
#!/bin/bash | |
export SDK=/home/emmmmm/Fun/xiaomi/sdk_package | |
export WORKDIR=/home/emmmmm/Fun/xiaomi/build | |
export LIBEV_VER=4.24 | |
export CARES_VER=1.14.0 | |
export PCRE_VER=8.42 | |
export MBEDTLS_VER=2.6.0 | |
export LIBSODIUM_VER=1.0.16 | |
export PATH=$SDK/toolchain/bin:$PATH | |
export HOST=mipsel-xiaomi-linux-uclibc | |
export CC=$HOST-gcc | |
export CXX=$HOST-g++ | |
mkdir -p $WORKDIR | |
pushd $WORKDIR | |
# mbedTLS | |
wget "https://tls.mbed.org/download/mbedtls-$MBEDTLS_VER-gpl.tgz" -O mbedtls-$MBEDTLS_VER-gpl.tgz | |
tar -zxf mbedtls-$MBEDTLS_VER-gpl.tgz | |
pushd mbedtls-$MBEDTLS_VER | |
mkdir $WORKDIR/mbedtls | |
LDFLAGS=-static make CFLAGS=-fPIC DESTDIR=$WORKDIR/mbedtls install | |
popd | |
# libsodium | |
wget "https://download.libsodium.org/libsodium/releases/libsodium-$LIBSODIUM_VER.tar.gz" -O libsodium-$LIBSODIUM_VER.tar.gz | |
tar -zxf libsodium-$LIBSODIUM_VER.tar.gz | |
pushd libsodium-$LIBSODIUM_VER | |
./configure --prefix=$WORKDIR/libsodium --host=$HOST --disable-ssp --disable-shared | |
make -j8 && make install | |
popd | |
# libev | |
wget "http://dist.schmorp.de/libev/libev-$LIBEV_VER.tar.gz" -O libev-$LIBEV_VER.tar.gz | |
tar -zxf libev-$LIBEV_VER.tar.gz | |
pushd libev-$LIBEV_VER | |
mkdir $WORKDIR/libev | |
./configure --prefix=$WORKDIR/libev --host=$HOST --disable-shared | |
make -j8 && make install | |
popd | |
# pcre | |
wget "https://ftp.pcre.org/pub/pcre/pcre-$PCRE_VER.zip" -O pcre-$PCRE_VER.zip | |
unzip pcre-$PCRE_VER.zip | |
pushd pcre-$PCRE_VER | |
mkdir $WORKDIR/pcre | |
./configure --prefix=$WORKDIR/pcre --host=$HOST --disable-shared --enable-utf8 --enable-unicode-properties | |
make -j8 && make install | |
popd | |
# c-ares | |
wget "https://c-ares.haxx.se/download/c-ares-$CARES_VER.tar.gz" -O c-ares-$CARES_VER.tar.gz | |
tar -zxf c-ares-$CARES_VER.tar.gz | |
pushd c-ares-$CARES_VER | |
mkdir $WORKDIR/c-ares | |
./configure --prefix=$WORKDIR/c-ares --host=$HOST --disable-shared | |
make -j8 && make install | |
popd | |
# shadowsocks-libev | |
mkdir $WORKDIR/ss | |
git clone https://github.com/shadowsocks/shadowsocks-libev | |
pushd shadowsocks-libev | |
git submodule init && git submodule update | |
./autogen.sh | |
LIBS="-lpthread -lm" ./configure --prefix=$WORKDIR/ss --host=$HOST --enable-static --disable-ssp --disable-documentation --with-pcre=$WORKDIR/pcre --with-mbedtls=$WORKDIR/mbedtls --with-sodium=$WORKDIR/libsodium --with-cares=$WORKDIR/c-ares --with-ev=$WORKDIR/libev | |
make -j8 && make install | |
popd | |
popd | |
echo "Done. Script by ihciah." | |
echo "Shadowsocks binary built at $WORKDIR/ss/bin" |