tdlight/example/web
2023-10-19 11:57:14 +03:00
..
tdweb Remove outdated ENVIROMENT variable from tdweb worker. 2023-10-19 11:57:14 +03:00
.gitignore tdweb: add .gitignore. 2019-04-24 17:59:43 +03:00
build-openssl.sh Close databases and binlog on another thread. 2023-10-05 21:50:53 +03:00
build-tdlib.sh Update default OpenSSL versions in examples. 2023-03-26 22:36:09 +03:00
build-tdweb.sh Begin all Bash scripts with "cd $(dirname $0)". 2021-12-08 19:43:21 +03:00
copy-tdlib.sh Begin all Bash scripts with "cd $(dirname $0)". 2021-12-08 19:43:21 +03:00
README.md support newest emsdk version 2022-01-25 16:00:21 +03:00

TDLib Web example

This is an example of building TDLib for browsers using Emscripten. These scripts build TDLib and create an NPM package tdweb. You need a Unix shell with sed, tar and wget utilities to run the provided scripts.

Building tdweb NPM package

  • Install the 3.1.1 emsdk, which is known to work. Do not use the system-provided emscripten package, because it contains a too old emsdk version.
  • Install all TDLib build dependencies described in Building and sed, tar and wget utilities.
  • Run source ./emsdk_env.sh from emsdk directory to set up the correct build environment.
  • On macOS, install the coreutils Homebrew package and replace realpath in scripts with grealpath:
brew install coreutils
sed -i.bak 's/[(]realpath/(grealpath/g' build-tdlib.sh
  • Run build scripts in the following order:
cd <path to TDLib sources>/example/web
./build-openssl.sh
./build-tdlib.sh
./copy-tdlib.sh
./build-tdweb.sh
  • The built package is now located in the tdweb directory.

Using tdweb NPM package

See tdweb or README.md for package documentation.