build.alpine.release.sh 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637
  1. #!/bin/bash
  2. set -xe
  3. apk add gcc g++ build-base linux-headers cmake make autoconf automake libtool python2
  4. 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
  5. git clone https://github.com/jbeder/yaml-cpp --depth=1
  6. cd yaml-cpp
  7. cmake -DYAML_CPP_BUILD_TESTS=OFF -DYAML_CPP_BUILD_TOOLS=OFF . > /dev/null
  8. make install -j2 > /dev/null
  9. cd ..
  10. git clone https://github.com/svaarala/duktape --depth=1
  11. cd duktape
  12. python2 -m ensurepip
  13. pip2 install PyYAML
  14. python2 util/dist.py
  15. cd dist/src
  16. cc -c -O3 -o duktape.o duktape.c
  17. cc -c -O3 -o duk_module_node.o -I. ../extras/module-node/duk_module_node.c
  18. ar cr libduktape.a duktape.o
  19. ar cr libduktape_module.a duk_module_node.o
  20. install -m0644 *.a /usr/lib
  21. install -m0644 duk*.h /usr/include
  22. install -m0644 ../extras/module-node/duk_module_node.h /usr/include
  23. cd ../../..
  24. cmake .
  25. make -j2
  26. rm subconverter
  27. 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
  28. cd base
  29. chmod +rx subconverter
  30. chmod +r *
  31. cd ..
  32. mv base subconverter