summaryrefslogtreecommitdiff
path: root/protocols/Telegram/tdlib/td/example/web/build-openssl.sh
diff options
context:
space:
mode:
Diffstat (limited to 'protocols/Telegram/tdlib/td/example/web/build-openssl.sh')
-rw-r--r--protocols/Telegram/tdlib/td/example/web/build-openssl.sh28
1 files changed, 28 insertions, 0 deletions
diff --git a/protocols/Telegram/tdlib/td/example/web/build-openssl.sh b/protocols/Telegram/tdlib/td/example/web/build-openssl.sh
new file mode 100644
index 0000000000..73e11c8bf3
--- /dev/null
+++ b/protocols/Telegram/tdlib/td/example/web/build-openssl.sh
@@ -0,0 +1,28 @@
+#!/bin/sh
+cd $(dirname $0)
+
+emconfigure true 2> /dev/null || { echo 'emconfigure not found. Install emsdk and add emconfigure and emmake to PATH environment variable. See instruction at https://kripken.github.io/emscripten-site/docs/getting_started/downloads.html. Do not forget to add `emconfigure` and `emmake` to the PATH environment variable via `emsdk/emsdk_env.sh` script.'; exit 1; }
+
+OPENSSL=OpenSSL_1_1_0l
+if [ ! -f $OPENSSL.tar.gz ]; then
+ echo "Downloading OpenSSL sources..."
+ wget https://github.com/openssl/openssl/archive/$OPENSSL.tar.gz
+fi
+rm -rf ./openssl-$OPENSSL
+echo "Unpacking OpenSSL sources..."
+tar xzf $OPENSSL.tar.gz || exit 1
+cd openssl-$OPENSSL
+
+emconfigure ./Configure linux-generic32 no-shared no-threads no-dso no-engine no-unit-test no-ui || exit 1
+sed -i.bak 's/CROSS_COMPILE=.*/CROSS_COMPILE=/g' Makefile || exit 1
+sed -i.bak 's/-ldl //g' Makefile || exit 1
+sed -i.bak 's/-O3/-Os/g' Makefile || exit 1
+echo "Building OpenSSL..."
+emmake make depend || exit 1
+emmake make -j 4 || exit 1
+
+rm -rf ../build/crypto || exit 1
+mkdir -p ../build/crypto/lib || exit 1
+cp libcrypto.a libssl.a ../build/crypto/lib/ || exit 1
+cp -r include ../build/crypto/ || exit 1
+cd ..