summaryrefslogtreecommitdiff
path: root/protocols/Telegram/tdlib/td/example/web/build-openssl.sh
diff options
context:
space:
mode:
authorGeorge Hazan <george.hazan@gmail.com>2023-06-04 19:24:05 +0300
committerGeorge Hazan <george.hazan@gmail.com>2023-06-04 19:24:05 +0300
commitefc336e60cf1331bf5f3213d296981b87b8b2a6c (patch)
treeea59ea1a324f45f6e8a06cc0887b376bfba90ca9 /protocols/Telegram/tdlib/td/example/web/build-openssl.sh
parent6e83622d2af1cec3c759f4cff6efe4df2fe3328c (diff)
fixes #3537 (Telegram: 32-разрядная версия падает в 64-разрядной Windows) + update to the fresh TDLIB
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 ..