This repository has been archived on 2020-05-25. You can view files and clone it, but cannot push or open issues or pull requests.

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 latest emsdk. Do not use the system-provided emscripten package, because it contains a version that is too old.
  • Install all TDLib build dependencies as described in Building.
  • 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.