Improve README and the build instructions generator.

This commit is contained in:
levlam 2021-09-06 14:12:11 +03:00
parent 0ec10947d5
commit 077ed42507
3 changed files with 10 additions and 5 deletions

View File

@ -542,6 +542,10 @@ function onOptionsChanged() {
if (os_netbsd) {
pre_text.push('Note that the following instruction is for NetBSD 8.0 and default SH shell.');
}
if (os_mac) {
pre_text.push('Note that the following instruction will build TDLib only for the current architecture (x64 or Apple silicon).');
pre_text.push('If you want to create a universal XCFramework, take a look at our <a href="https://github.com/tdlib/td/tree/master/example/ios">example</a> instead.');
}
var terminal_name = (function () {
if (os_windows) {

View File

@ -136,10 +136,11 @@ See also the source code of [Fernschreiber](https://github.com/Wunderfitz/harbou
TDLib can be used from the Swift programming language through the [JSON](https://github.com/tdlib/td#using-json) interface and can be linked statically or dynamically.
See [example/ios](https://github.com/tdlib/td/tree/master/example/ios) for an example of building TDLib for iOS, watchOS, tvOS, and macOS.
See [TDLib-iOS](https://github.com/leoMehlig/TDLib-iOS) or [tdlib-swift](https://github.com/modestman/tdlib-swift), which provide convenient TDLib clients with automatically generated and fully-documented classes for all TDLib API methods and objects.
See [example/swift](https://github.com/tdlib/td/tree/master/example/swift) for an example of a macOS Swift application.
See [example/ios](https://github.com/tdlib/td/tree/master/example/ios) for an example of building TDLib for iOS, watchOS, tvOS, and macOS.
<a name="objective-c"></a>
## Using TDLib in Objective-C projects

View File

@ -1,4 +1,4 @@
# Build for iOS
# Universal XCFramework build example
Below are instructions for building TDLib for iOS, watchOS, tvOS, and also macOS.
@ -21,7 +21,7 @@ cd native-build
cmake ..
cmake --build . --target prepare_cross_compiling
```
* Build OpenSSL for iOS, watchOS, tvOS and macOS:
* Build OpenSSL for iOS, watchOS, tvOS, and macOS:
```
cd <path to TDLib sources>/example/ios
./build-openssl.sh
@ -30,13 +30,13 @@ Here we use scripts from [Python Apple support](https://github.com/beeware/Pytho
[Python Apple support](https://github.com/beeware/Python-Apple-support) has known problems with spaces in the path to the current directory, so
you need to ensure that there are no spaces in the path.
Built OpenSSL libraries should be stored in the directory `third_party/openssl/<platform>`, because the next script will rely on this location.
* Build TDLib for iOS, watchOS, tvOS and macOS:
* Build TDLib for iOS, watchOS, tvOS, and macOS:
```
cd <path to TDLib sources>/example/ios
./build.sh
```
This may take a while, because TDLib will be built about 16 times.
Resulting XCFramework will work on any architecture and even on a simulator (Intel, Apple silicon).
Resulting XCFramework will work on any architecture and even on a simulator (x64, Apple silicon).
We use [CMake/iOS.cmake](https://github.com/tdlib/td/blob/master/CMake/iOS.cmake) toolchain, other toolchains may work too.
Built libraries and XCFramework will be stored in `tdjson` directory.