Update build scripts

Optimize codes.
This commit is contained in:
Tindy X
2020-07-01 01:14:03 +08:00
parent 5aa47c7cf2
commit f9eba5b179
5 changed files with 32 additions and 46 deletions

View File

@@ -2,7 +2,13 @@
set -xe
apk add gcc g++ build-base linux-headers cmake make autoconf automake libtool python2
apk add openssl-dev openssl-libs-static curl curl-dev curl-static nghttp2-static zlib-dev rapidjson-dev libevent-dev libevent-static zlib-static pcre2-dev bzip2-static
apk add mbedtls-dev mbedtls-static nghttp2-dev nghttp2-static zlib-dev rapidjson-dev libevent-dev libevent-static zlib-static pcre2-dev
git clone https://github.com/curl/curl --depth=1
cd curl
cmake -DCMAKE_USE_MBEDTLS=ON -DHTTP_ONLY=ON -DBUILD_TESTING=OFF -DBUILD_SHARED_LIBS=OFF -DCMAKE_USE_LIBSSH2=OFF -DUSE_NGHTTP2=ON . > /dev/null
make install -j2 > /dev/null
cd ..
git clone https://github.com/jbeder/yaml-cpp --depth=1
cd yaml-cpp
@@ -14,21 +20,22 @@ git clone https://github.com/svaarala/duktape --depth=1
cd duktape
python2 -m ensurepip
pip2 install PyYAML
mkdir dist
python2 util/dist.py
cd dist/src
cd dist/source/src
cc -c -O3 -o duktape.o duktape.c
cc -c -O3 -o duk_module_node.o -I. ../extras/module-node/duk_module_node.c
ar cr libduktape.a duktape.o
ar cr libduktape_module.a duk_module_node.o
install -m0644 *.a /usr/lib
install -m0644 duk*.h /usr/include
install -m0644 ./*.a /usr/lib
install -m0644 ./duk*.h /usr/include
install -m0644 ../extras/module-node/duk_module_node.h /usr/include
cd ../../..
cd ../../../..
cmake .
make -j2
rm subconverter
g++ -o base/subconverter CMakeFiles/subconverter.dir/src/*.o -static -lpcre2-8 -levent -lyaml-cpp -lcurl -lnghttp2 -lssl -lcrypto -lz -lbz2 -lduktape -lduktape_module -ldl -lpthread -O3 -s
g++ -o base/subconverter $(find CMakeFiles/subconverter.dir/src/ -name "*.o") -static -lpcre2-8 -levent -lyaml-cpp -L/usr/lib64 -lcurl -lnghttp2 -lmbedtls -lmbedcrypto -lmbedx509 -lz -lduktape -lduktape_module -O3 -s
cd base
chmod +rx subconverter

View File

@@ -1,13 +1,13 @@
#!/bin/bash
set -xe
brew reinstall rapidjson libevent zlib pcre2 bzip2 libssh2 pkgconfig
brew reinstall rapidjson libevent zlib pcre2 pkgconfig
git clone https://github.com/curl/curl --depth=1
cd curl
#./buildconf > /dev/null
#./configure --with-ssl=/usr/local/opt/openssl@1.1 --without-mbedtls --disable-ldap --disable-ldaps --disable-rtsp --without-libidn2 > /dev/null
cmake -DHTTP_ONLY=ON -DBUILD_TESTING=OFF -DBUILD_SHARED_LIBS=OFF -DOPENSSL_ROOT_DIR=/usr/local/opt/openssl@1.1 . > /dev/null
cmake -DCMAKE_USE_SECTRANSP=ON -DHTTP_ONLY=ON -DBUILD_TESTING=OFF -DBUILD_SHARED_LIBS=OFF -DCMAKE_USE_LIBSSH2=OFF . > /dev/null
make -j8 > /dev/null
cd ..
@@ -20,33 +20,29 @@ cd ..
git clone https://github.com/svaarala/duktape --depth=1
cd duktape
pip2 install PyYAML
mkdir dist
python2 util/dist.py
cd dist/src
cd dist/source/src
cc -c -O3 -o duktape.o duktape.c
cc -c -O3 -o duk_module_node.o -I. ../extras/module-node/duk_module_node.c
ar cr libduktape.a duktape.o
ar cr libduktape_module.a duk_module_node.o
install -m0644 *.a /usr/local/lib
install -m0644 duk*.h /usr/local/include
install -m0644 ./*.a /usr/local/lib
install -m0644 ./duk*.h /usr/local/include
install -m0644 ../extras/module-node/duk_module_node.h /usr/local/include
cd ../../..
cd ../../../..
cp curl/lib/libcurl.a .
cp yaml-cpp/libyaml-cpp.a .
cp duktape/dist/src/*.a .
cp /usr/local/lib/libevent.a .
cp /usr/local/opt/zlib/lib/libz.a .
cp /usr/local/opt/openssl@1.1/lib/libssl.a .
cp /usr/local/opt/openssl@1.1/lib/libcrypto.a .
cp /usr/local/lib/libpcre2-8.a .
cp /usr/local/opt/bzip2/lib/libbz2.a .
cp /usr/local/lib/libssh2.a .
export CMAKE_CXX_FLAGS="-I/usr/local/include -I/usr/local/opt/openssl@1.1/include -I/usr/local/opt/curl/include"
cmake -DOPENSSL_ROOT_DIR=/usr/local/opt/openssl@1.1 .
cmake .
make -j8
rm subconverter
c++ -Xlinker -unexported_symbol -Xlinker "*" -o base/subconverter CMakeFiles/subconverter.dir/src/*.o libpcre2-8.a libevent.a libcurl.a libz.a libssl.a libcrypto.a libyaml-cpp.a libbz2.a libssh2.a libduktape.a libduktape_module.a -ldl -lpthread -O3
c++ -Xlinker -unexported_symbol -Xlinker "*" -o base/subconverter $(find CMakeFiles/subconverter.dir/src/ -name "*.o") $(find . -name "*.a") -O3
cd base
chmod +rx subconverter