diff options
author | aunsane <aunsane@gmail.com> | 2018-04-27 21:33:17 +0300 |
---|---|---|
committer | aunsane <aunsane@gmail.com> | 2018-04-27 21:33:17 +0300 |
commit | e1ec72eab6d00b3ba38e5932bc88920f103b6e4a (patch) | |
tree | 999de2725a83e30fbbf6576200525d4ef0c5fe38 /libs/tdlib/td/example/ios | |
parent | b9ce1d4d98525490ca1a38e2d9fd4f3369adb3e0 (diff) |
Telegram: initial commit
- tdlib moved to telegram dir
Diffstat (limited to 'libs/tdlib/td/example/ios')
-rw-r--r-- | libs/tdlib/td/example/ios/README.md | 41 | ||||
-rw-r--r-- | libs/tdlib/td/example/ios/build-openssl.sh | 22 | ||||
-rw-r--r-- | libs/tdlib/td/example/ios/build.sh | 74 |
3 files changed, 0 insertions, 137 deletions
diff --git a/libs/tdlib/td/example/ios/README.md b/libs/tdlib/td/example/ios/README.md deleted file mode 100644 index 25a1e68fcc..0000000000 --- a/libs/tdlib/td/example/ios/README.md +++ /dev/null @@ -1,41 +0,0 @@ -# Build for iOS - -Below are instructions for building TDLib for iOS, watchOS, tvOS, and also macOS. - -If you need only a macOS build, take a look at our build instructions for [macOS](https://github.com/tdlib/td#macos). - -For example of usage take a look at our [Swift example](https://github.com/tdlib/td/tree/master/example/swift). - -To compile `TDLib` you will need to: -* Install the latest Xcode command line tools. -* Install other build dependencies, for example, using [Homebrew](https://brew.sh): -``` -brew install gperf cmake -``` -* If you don't want to build `TDLib` for macOS, you can pregenerate required source code files using CMake prepare_cross_compiling target: -``` -cd <path to TDLib sources> -mkdir native-build -cd native-build -cmake .. -cmake --build . --target prepare_cross_compiling -``` -* Build OpenSSL for iOS, watchOS, tvOS and macOS: -``` -cd <path to TDLib sources>/example/ios -./build-openssl.sh -``` -Here we use scripts from [Python Apple support](https://github.com/pybee/Python-Apple-support), but any other OpenSSL builds should work too. -Built libraries should be stored in `third_party/openssl/<platform>`, because the next script will rely on this location. -* 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 10 times. -Resulting library for iOS will work on any architecture (arv7, armv7s, arm64) and even on a simulator. -We use [CMake/iOS.cmake](https://github.com/tdlib/td/blob/master/CMake/iOS.cmake) toolchain, other toolchains may work too. - -Built libraries will be store in `tdjson` directory. - -Documentation for all available classes and methods can be found at https://core.telegram.org/tdlib/docs. diff --git a/libs/tdlib/td/example/ios/build-openssl.sh b/libs/tdlib/td/example/ios/build-openssl.sh deleted file mode 100644 index 2ad9dbcfee..0000000000 --- a/libs/tdlib/td/example/ios/build-openssl.sh +++ /dev/null @@ -1,22 +0,0 @@ -#!/bin/sh - -git clone https://github.com/pybee/Python-Apple-support -cd Python-Apple-support -git checkout 2.7 -cd .. - -#TODO: change openssl version -platforms="macOS iOS watchOS tvOS" -for platform in $platforms; -do - echo $platform - cd Python-Apple-support - #NB: -j will fail - make OpenSSL-$platform - cd .. - rm -rf third_party/openssl/$platform - mkdir -p third_party/openssl/$platform/lib - cp ./Python-Apple-support/build/$platform/libcrypto.a third_party/openssl/$platform/lib/ - cp ./Python-Apple-support/build/$platform/libssl.a third_party/openssl/$platform/lib/ - cp -r ./Python-Apple-support/build/$platform/Support/OpenSSL/Headers/ third_party/openssl/$platform/include -done diff --git a/libs/tdlib/td/example/ios/build.sh b/libs/tdlib/td/example/ios/build.sh deleted file mode 100644 index 9970008a1c..0000000000 --- a/libs/tdlib/td/example/ios/build.sh +++ /dev/null @@ -1,74 +0,0 @@ -#/bin/sh -td_path=$(realpath ../..) - -rm -rf build -mkdir -p build -cd build - -platforms="macOS iOS watchOS tvOS" -for platform in $platforms; -do - echo "Platform = ${platform} Simulator = ${simulator}" - openssl_path=$(realpath ../third_party/openssl/${platform}) - echo "OpenSSL path = ${openssl_path}" - openssl_crypto_library="${openssl_path}/lib/libcrypto.a" - openssl_ssl_library="${openssl_path}/lib/libssl.a" - options="$options -DOPENSSL_FOUND=1" - options="$options -DOPENSSL_CRYPTO_LIBRARY=${openssl_crypto_library}" - #options="$options -DOPENSSL_SSL_LIBRARY=${openssl_ssl_library}" - options="$options -DOPENSSL_INCLUDE_DIR=${openssl_path}/include" - options="$options -DOPENSSL_LIBRARIES=${openssl_crypto_library};${openssl_ssl_library}" - options="$options -DCMAKE_BUILD_TYPE=Release" - if [[ $platform = "macOS" ]]; then - build="build-${platform}" - install="install-${platform}" - rm -rf $build - mkdir -p $build - mkdir -p $install - cd $build - cmake $td_path $options -DCMAKE_INSTALL_PREFIX=../${install} - make -j3 install || exit - cd .. - mkdir -p $platform - cp $build/libtdjson.dylib $platform/libtdjson.dylib - install_name_tool -id @rpath/libtdjson.dylib $platform/libtdjson.dylib - else - simulators="0 1" - for simulator in $simulators; - do - build="build-${platform}" - install="install-${platform}" - if [[ $simulator = "1" ]]; then - build="${build}-simulator" - install="${install}-simulator" - ios_platform="SIMULATOR" - else - ios_platform="OS" - fi - if [[ $platform = "watchOS" ]]; then - ios_platform="WATCH${ios_platform}" - fi - if [[ $platform = "tvOS" ]]; then - ios_platform="TV${ios_platform}" - fi - echo $ios_platform - rm -rf $build - mkdir -p $build - mkdir -p $install - cd $build - cmake $td_path $options -DIOS_PLATFORM=${ios_platform} -DCMAKE_TOOLCHAIN_FILE=${td_path}/CMake/iOS.cmake -DCMAKE_INSTALL_PREFIX=../${install} - make -j3 install || exit - cd .. - done - lib="install-${platform}/lib/libtdjson.dylib" - lib_simulator="install-${platform}-simulator/lib/libtdjson.dylib" - mkdir -p $platform - lipo -create $lib $lib_simulator -o $platform/libtdjson.dylib - install_name_tool -id @rpath/libtdjson.dylib $platform/libtdjson.dylib - fi - - mkdir -p ../tdjson/$platform/include - rsync --recursive ${install}/include/ ../tdjson/${platform}/include/ - mkdir -p ../tdjson/$platform/lib - cp $platform/libtdjson.dylib ../tdjson/$platform/lib/ -done |