This commit is contained in:
Peter 2019-08-18 23:07:18 +03:00
parent 3236ce247d
commit 3d7ece927d
41 changed files with 1871 additions and 219 deletions

View File

@ -1,14 +1,14 @@
[cxx]
default_platform = iphoneos-armv7
cflags = -fmodules -fobjc-arc -D BUCK -D DEBUG -w -fno-optimize-sibling-calls $(config custom.other_cflags)
cxxflags = -fobjc-arc -std=c++14 -D BUCK -D DEBUG -w -fno-optimize-sibling-calls $(config custom.other_cxxflags)
default_platform = iphonesimulator-x86_64
cflags = -g -fmodules -fobjc-arc -D BUCK -w $(config custom.other_cflags)
cxxflags = -fobjc-arc -std=c++14 -D DEBUG -g $(config custom.other_cxxflags)
combined_preprocess_and_compile = true
pch_enabled = false
ldflags = -Xlinker -objc_abi_version -Xlinker 2 -fobjc-arc -fobjc-link-runtime -dead_strip -Xlinker -no_deduplicate $(config custom.other_cxxflags)
ldflags = -Xlinker -objc_abi_version -Xlinker 2 -fobjc-arc -fobjc-link-runtime $(config custom.other_cxxflags)
[swift]
version = 5
compiler_flags = -DBUCK -enable-testing -O -whole-module-optimization -suppress-warnings -Xcc -fno-optimize-sibling-calls $(config custom.other_swift_compiler_flags)
compiler_flags = -DBUCK $(config custom.optimization) $(config custom.config_swift_compiler_flags) $(config custom.other_swift_compiler_flags)
use_filelist = true
[apple]
@ -19,8 +19,7 @@
iphoneos_target_sdk_version = 8.0
provisioning_profile_read_command = security cms -Di
xctool_default_destination_specifier = platform=iOS Simulator,OS=latest
;provisioning_profile_search_path = ./
;xctool_path = tools/xctool/bin/xctool
xctool_path = tools/xctool/bin/xctool
[parser]
polyglot_parsing_enabled = true
@ -35,4 +34,14 @@
.git, \
[build]
thread_core_ratio = 2.0
threads = 12
[custom]
config = debug
optimization = -Onone
config_swift_compiler_flags = -DDEBUG -enable-testing -g
code_coverage_cflags = -fprofile-instr-generate -fcoverage-mapping
code_coverage_cxxflags = -fprofile-instr-generate -fcoverage-mapping
code_coverage_ldflags = -fprofile-instr-generate
code_coverage_swift_compiler_flags = -profile-generate -profile-coverage-mapping

1
.gitignore vendored
View File

@ -30,3 +30,4 @@ AppBinary.xcworkspace/*
Project.xcodeproj/*
Watch/Watch.xcodeproj/*
AppBundle.xcworkspace/*
tools/buck

View File

@ -0,0 +1,672 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>archiveVersion</key>
<string>1</string>
<key>classes</key>
<dict>
</dict>
<key>objectVersion</key>
<string>46</string>
<key>objects</key>
<dict>
<key>1DD70E29001F47FB00000000</key>
<dict>
<key>isa</key>
<string>PBXFileReference</string>
<key>name</key>
<string>BUCK</string>
<key>path</key>
<string>BUCK</string>
<key>sourceTree</key>
<string>SOURCE_ROOT</string>
<key>explicitFileType</key>
<string>text.script.python</string>
</dict>
<key>1DD70E296ABF6A1200000000</key>
<dict>
<key>isa</key>
<string>PBXFileReference</string>
<key>name</key>
<string>Empty.swift</string>
<key>path</key>
<string>SupportFiles/Empty.swift</string>
<key>sourceTree</key>
<string>SOURCE_ROOT</string>
</dict>
<key>1DD70E2906C06BEE00000000</key>
<dict>
<key>isa</key>
<string>PBXFileReference</string>
<key>name</key>
<string>Info.plist</string>
<key>path</key>
<string>Info.plist</string>
<key>sourceTree</key>
<string><![CDATA[<group>]]></string>
<key>explicitFileType</key>
<string>text.plist</string>
</dict>
<key>B401C979EAB5339800000000</key>
<dict>
<key>isa</key>
<string>PBXGroup</string>
<key>name</key>
<string>Sources</string>
<key>sourceTree</key>
<string><![CDATA[<group>]]></string>
<key>children</key>
<array>
<string>1DD70E296ABF6A1200000000</string>
<string>1DD70E2906C06BEE00000000</string>
</array>
</dict>
<key>B401C9790001020100000000</key>
<dict>
<key>isa</key>
<string>PBXGroup</string>
<key>name</key>
<string>App</string>
<key>sourceTree</key>
<string><![CDATA[<group>]]></string>
<key>children</key>
<array>
<string>1DD70E29001F47FB00000000</string>
<string>B401C979EAB5339800000000</string>
</array>
</dict>
<key>1DD70E29001F47FB00000001</key>
<dict>
<key>isa</key>
<string>PBXFileReference</string>
<key>name</key>
<string>BUCK</string>
<key>path</key>
<string>BUCK</string>
<key>sourceTree</key>
<string>SOURCE_ROOT</string>
<key>explicitFileType</key>
<string>text.script.python</string>
</dict>
<key>1DD70E295BBE1B9900000000</key>
<dict>
<key>isa</key>
<string>PBXFileReference</string>
<key>name</key>
<string>Temp.swift</string>
<key>path</key>
<string>Sources/Temp.swift</string>
<key>sourceTree</key>
<string>SOURCE_ROOT</string>
</dict>
<key>1DD70E298FA05E8C00000000</key>
<dict>
<key>isa</key>
<string>PBXFileReference</string>
<key>name</key>
<string>TempMain.m</string>
<key>path</key>
<string>Sources/TempMain.m</string>
<key>sourceTree</key>
<string>SOURCE_ROOT</string>
<key>lastKnownFileType</key>
<string>sourcecode.c.objc</string>
</dict>
<key>B401C979EAB5339800000001</key>
<dict>
<key>isa</key>
<string>PBXGroup</string>
<key>name</key>
<string>Sources</string>
<key>sourceTree</key>
<string><![CDATA[<group>]]></string>
<key>children</key>
<array>
<string>1DD70E295BBE1B9900000000</string>
<string>1DD70E298FA05E8C00000000</string>
</array>
</dict>
<key>B401C979C43AA77A00000000</key>
<dict>
<key>isa</key>
<string>PBXGroup</string>
<key>name</key>
<string>AppLibrary</string>
<key>sourceTree</key>
<string><![CDATA[<group>]]></string>
<key>children</key>
<array>
<string>1DD70E29001F47FB00000001</string>
<string>B401C979EAB5339800000001</string>
</array>
</dict>
<key>1DD70E29898E549400000000</key>
<dict>
<key>isa</key>
<string>PBXFileReference</string>
<key>name</key>
<string>App-Debug.xcconfig</string>
<key>path</key>
<string>../buck-out/gen/App/App-Debug.xcconfig</string>
<key>sourceTree</key>
<string>SOURCE_ROOT</string>
<key>explicitFileType</key>
<string>text.xcconfig</string>
</dict>
<key>1DD70E29446E16FE00000000</key>
<dict>
<key>isa</key>
<string>PBXFileReference</string>
<key>name</key>
<string>App-Profile.xcconfig</string>
<key>path</key>
<string>../buck-out/gen/App/App-Profile.xcconfig</string>
<key>sourceTree</key>
<string>SOURCE_ROOT</string>
<key>explicitFileType</key>
<string>text.xcconfig</string>
</dict>
<key>1DD70E29B804C26000000000</key>
<dict>
<key>isa</key>
<string>PBXFileReference</string>
<key>name</key>
<string>App-Release.xcconfig</string>
<key>path</key>
<string>../buck-out/gen/App/App-Release.xcconfig</string>
<key>sourceTree</key>
<string>SOURCE_ROOT</string>
<key>explicitFileType</key>
<string>text.xcconfig</string>
</dict>
<key>1DD70E294E27EDFB00000000</key>
<dict>
<key>isa</key>
<string>PBXFileReference</string>
<key>name</key>
<string>AppLibrary-Debug.xcconfig</string>
<key>path</key>
<string>../buck-out/gen/App/AppLibrary-Debug.xcconfig</string>
<key>sourceTree</key>
<string>SOURCE_ROOT</string>
<key>explicitFileType</key>
<string>text.xcconfig</string>
</dict>
<key>1DD70E294906F2A500000000</key>
<dict>
<key>isa</key>
<string>PBXFileReference</string>
<key>name</key>
<string>AppLibrary-Profile.xcconfig</string>
<key>path</key>
<string>../buck-out/gen/App/AppLibrary-Profile.xcconfig</string>
<key>sourceTree</key>
<string>SOURCE_ROOT</string>
<key>explicitFileType</key>
<string>text.xcconfig</string>
</dict>
<key>1DD70E29BC9D9E0700000000</key>
<dict>
<key>isa</key>
<string>PBXFileReference</string>
<key>name</key>
<string>AppLibrary-Release.xcconfig</string>
<key>path</key>
<string>../buck-out/gen/App/AppLibrary-Release.xcconfig</string>
<key>sourceTree</key>
<string>SOURCE_ROOT</string>
<key>explicitFileType</key>
<string>text.xcconfig</string>
</dict>
<key>B401C9792F7F325000000000</key>
<dict>
<key>isa</key>
<string>PBXGroup</string>
<key>name</key>
<string>Buck (Do Not Modify)</string>
<key>sourceTree</key>
<string><![CDATA[<group>]]></string>
<key>children</key>
<array>
<string>1DD70E29898E549400000000</string>
<string>1DD70E29446E16FE00000000</string>
<string>1DD70E29B804C26000000000</string>
<string>1DD70E294E27EDFB00000000</string>
<string>1DD70E294906F2A500000000</string>
<string>1DD70E29BC9D9E0700000000</string>
</array>
</dict>
<key>B401C979B781F65D00000000</key>
<dict>
<key>isa</key>
<string>PBXGroup</string>
<key>name</key>
<string>Configurations</string>
<key>sourceTree</key>
<string><![CDATA[<group>]]></string>
<key>children</key>
<array>
<string>B401C9792F7F325000000000</string>
</array>
</dict>
<key>1DD70E297ADFB9F200000000</key>
<dict>
<key>isa</key>
<string>PBXFileReference</string>
<key>name</key>
<string>libAppLibrary.a</string>
<key>path</key>
<string>libAppLibrary.a</string>
<key>sourceTree</key>
<string>BUILT_PRODUCTS_DIR</string>
<key>explicitFileType</key>
<string>archive.ar</string>
</dict>
<key>1DD70E29A59C927400000000</key>
<dict>
<key>isa</key>
<string>PBXFileReference</string>
<key>name</key>
<string>libEmoji.a</string>
<key>path</key>
<string>libEmoji.a</string>
<key>sourceTree</key>
<string>BUILT_PRODUCTS_DIR</string>
<key>explicitFileType</key>
<string>archive.ar</string>
</dict>
<key>1DD70E29C4DF1A6D00000000</key>
<dict>
<key>isa</key>
<string>PBXFileReference</string>
<key>name</key>
<string>libMtProtoKit.a</string>
<key>path</key>
<string>libMtProtoKit.a</string>
<key>sourceTree</key>
<string>BUILT_PRODUCTS_DIR</string>
<key>explicitFileType</key>
<string>archive.ar</string>
</dict>
<key>B401C97968022A5500000000</key>
<dict>
<key>isa</key>
<string>PBXGroup</string>
<key>name</key>
<string>Frameworks</string>
<key>sourceTree</key>
<string><![CDATA[<group>]]></string>
<key>children</key>
<array>
<string>1DD70E297ADFB9F200000000</string>
<string>1DD70E29A59C927400000000</string>
<string>1DD70E29C4DF1A6D00000000</string>
</array>
</dict>
<key>1DD70E2933D47CB400000000</key>
<dict>
<key>isa</key>
<string>PBXFileReference</string>
<key>name</key>
<string>App.app</string>
<key>path</key>
<string>App.app</string>
<key>sourceTree</key>
<string>BUILT_PRODUCTS_DIR</string>
<key>explicitFileType</key>
<string>wrapper.application</string>
</dict>
<key>1DD70E297ADFB9F200000001</key>
<dict>
<key>isa</key>
<string>PBXFileReference</string>
<key>name</key>
<string>libAppLibrary.a</string>
<key>path</key>
<string>libAppLibrary.a</string>
<key>sourceTree</key>
<string>BUILT_PRODUCTS_DIR</string>
<key>explicitFileType</key>
<string>archive.ar</string>
</dict>
<key>B401C979C806358400000000</key>
<dict>
<key>isa</key>
<string>PBXGroup</string>
<key>name</key>
<string>Products</string>
<key>sourceTree</key>
<string><![CDATA[<group>]]></string>
<key>children</key>
<array>
<string>1DD70E2933D47CB400000000</string>
<string>1DD70E297ADFB9F200000001</string>
</array>
</dict>
<key>B401C979EFB6AC4600000000</key>
<dict>
<key>isa</key>
<string>PBXGroup</string>
<key>name</key>
<string>mainGroup</string>
<key>sourceTree</key>
<string><![CDATA[<group>]]></string>
<key>children</key>
<array>
<string>B401C9790001020100000000</string>
<string>B401C979C43AA77A00000000</string>
<string>B401C979B781F65D00000000</string>
<string>B401C97968022A5500000000</string>
<string>B401C979C806358400000000</string>
</array>
</dict>
<key>E7A30F046ABF6A1200000000</key>
<dict>
<key>isa</key>
<string>PBXBuildFile</string>
<key>fileRef</key>
<string>1DD70E296ABF6A1200000000</string>
</dict>
<key>1870857F0000000000000000</key>
<dict>
<key>isa</key>
<string>PBXSourcesBuildPhase</string>
<key>files</key>
<array>
<string>E7A30F046ABF6A1200000000</string>
</array>
</dict>
<key>E7A30F047ADFB9F200000000</key>
<dict>
<key>isa</key>
<string>PBXBuildFile</string>
<key>fileRef</key>
<string>1DD70E297ADFB9F200000000</string>
</dict>
<key>E7A30F04A59C927400000000</key>
<dict>
<key>isa</key>
<string>PBXBuildFile</string>
<key>fileRef</key>
<string>1DD70E29A59C927400000000</string>
</dict>
<key>E7A30F04C4DF1A6D00000000</key>
<dict>
<key>isa</key>
<string>PBXBuildFile</string>
<key>fileRef</key>
<string>1DD70E29C4DF1A6D00000000</string>
</dict>
<key>4F426D880000000000000000</key>
<dict>
<key>isa</key>
<string>PBXFrameworksBuildPhase</string>
<key>files</key>
<array>
<string>E7A30F047ADFB9F200000000</string>
<string>E7A30F04A59C927400000000</string>
<string>E7A30F04C4DF1A6D00000000</string>
</array>
</dict>
<key>4952437303EDA63300000000</key>
<dict>
<key>isa</key>
<string>XCBuildConfiguration</string>
<key>name</key>
<string>Debug</string>
<key>buildSettings</key>
<dict>
</dict>
<key>baseConfigurationReference</key>
<string>1DD70E29898E549400000000</string>
</dict>
<key>4952437350C7218900000000</key>
<dict>
<key>isa</key>
<string>XCBuildConfiguration</string>
<key>name</key>
<string>Profile</string>
<key>buildSettings</key>
<dict>
</dict>
<key>baseConfigurationReference</key>
<string>1DD70E29446E16FE00000000</string>
</dict>
<key>49524373A439BFE700000000</key>
<dict>
<key>isa</key>
<string>XCBuildConfiguration</string>
<key>name</key>
<string>Release</string>
<key>buildSettings</key>
<dict>
</dict>
<key>baseConfigurationReference</key>
<string>1DD70E29B804C26000000000</string>
</dict>
<key>218C37090000000000000000</key>
<dict>
<key>isa</key>
<string>XCConfigurationList</string>
<key>buildConfigurations</key>
<array>
<string>4952437303EDA63300000000</string>
<string>4952437350C7218900000000</string>
<string>49524373A439BFE700000000</string>
</array>
<key>defaultConfigurationIsVisible</key>
<false/>
</dict>
<key>E66DC04E0001020100000000</key>
<dict>
<key>isa</key>
<string>PBXNativeTarget</string>
<key>name</key>
<string>App</string>
<key>productName</key>
<string>App</string>
<key>productReference</key>
<string>1DD70E2933D47CB400000000</string>
<key>productType</key>
<string>com.apple.product-type.application</string>
<key>dependencies</key>
<array>
</array>
<key>buildPhases</key>
<array>
<string>1870857F0000000000000000</string>
<string>4F426D880000000000000000</string>
</array>
<key>buildConfigurationList</key>
<string>218C37090000000000000000</string>
</dict>
<key>E7A30F045BBE1B9900000000</key>
<dict>
<key>isa</key>
<string>PBXBuildFile</string>
<key>fileRef</key>
<string>1DD70E295BBE1B9900000000</string>
</dict>
<key>E7A30F048FA05E8C00000000</key>
<dict>
<key>isa</key>
<string>PBXBuildFile</string>
<key>fileRef</key>
<string>1DD70E298FA05E8C00000000</string>
</dict>
<key>1870857F0000000000000001</key>
<dict>
<key>isa</key>
<string>PBXSourcesBuildPhase</string>
<key>files</key>
<array>
<string>E7A30F045BBE1B9900000000</string>
<string>E7A30F048FA05E8C00000000</string>
</array>
</dict>
<key>E7A30F04A59C927400000001</key>
<dict>
<key>isa</key>
<string>PBXBuildFile</string>
<key>fileRef</key>
<string>1DD70E29A59C927400000000</string>
</dict>
<key>FAF5FAC90000000000000000</key>
<dict>
<key>isa</key>
<string>PBXCopyFilesBuildPhase</string>
<key>files</key>
<array>
<string>E7A30F04A59C927400000001</string>
</array>
<key>name</key>
<string>Fake Swift Dependencies (Copy Files Phase)</string>
<key>runOnlyForDeploymentPostprocessing</key>
<string>1</string>
<key>dstSubfolderSpec</key>
<string>16</string>
<key>dstPath</key>
<string></string>
</dict>
<key>4952437303EDA63300000001</key>
<dict>
<key>isa</key>
<string>XCBuildConfiguration</string>
<key>name</key>
<string>Debug</string>
<key>buildSettings</key>
<dict>
</dict>
<key>baseConfigurationReference</key>
<string>1DD70E294E27EDFB00000000</string>
</dict>
<key>4952437350C7218900000001</key>
<dict>
<key>isa</key>
<string>XCBuildConfiguration</string>
<key>name</key>
<string>Profile</string>
<key>buildSettings</key>
<dict>
</dict>
<key>baseConfigurationReference</key>
<string>1DD70E294906F2A500000000</string>
</dict>
<key>49524373A439BFE700000001</key>
<dict>
<key>isa</key>
<string>XCBuildConfiguration</string>
<key>name</key>
<string>Release</string>
<key>buildSettings</key>
<dict>
</dict>
<key>baseConfigurationReference</key>
<string>1DD70E29BC9D9E0700000000</string>
</dict>
<key>218C37090000000000000001</key>
<dict>
<key>isa</key>
<string>XCConfigurationList</string>
<key>buildConfigurations</key>
<array>
<string>4952437303EDA63300000001</string>
<string>4952437350C7218900000001</string>
<string>49524373A439BFE700000001</string>
</array>
<key>defaultConfigurationIsVisible</key>
<false/>
</dict>
<key>E66DC04EC43AA77A00000000</key>
<dict>
<key>isa</key>
<string>PBXNativeTarget</string>
<key>name</key>
<string>AppLibrary</string>
<key>productName</key>
<string>AppLibrary</string>
<key>productReference</key>
<string>1DD70E297ADFB9F200000001</string>
<key>productType</key>
<string>com.apple.product-type.library.static</string>
<key>dependencies</key>
<array>
</array>
<key>buildPhases</key>
<array>
<string>1870857F0000000000000001</string>
<string>FAF5FAC90000000000000000</string>
</array>
<key>buildConfigurationList</key>
<string>218C37090000000000000001</string>
</dict>
<key>4952437303EDA63300000002</key>
<dict>
<key>isa</key>
<string>XCBuildConfiguration</string>
<key>name</key>
<string>Debug</string>
<key>buildSettings</key>
<dict>
</dict>
</dict>
<key>4952437350C7218900000002</key>
<dict>
<key>isa</key>
<string>XCBuildConfiguration</string>
<key>name</key>
<string>Profile</string>
<key>buildSettings</key>
<dict>
</dict>
</dict>
<key>49524373A439BFE700000002</key>
<dict>
<key>isa</key>
<string>XCBuildConfiguration</string>
<key>name</key>
<string>Release</string>
<key>buildSettings</key>
<dict>
</dict>
</dict>
<key>218C37090000000000000002</key>
<dict>
<key>isa</key>
<string>XCConfigurationList</string>
<key>buildConfigurations</key>
<array>
<string>4952437303EDA63300000002</string>
<string>4952437350C7218900000002</string>
<string>49524373A439BFE700000002</string>
</array>
<key>defaultConfigurationIsVisible</key>
<false/>
</dict>
<key>96C847930001020100000000</key>
<dict>
<key>isa</key>
<string>PBXProject</string>
<key>mainGroup</key>
<string>B401C979EFB6AC4600000000</string>
<key>targets</key>
<array>
<string>E66DC04E0001020100000000</string>
<string>E66DC04EC43AA77A00000000</string>
</array>
<key>buildConfigurationList</key>
<string>218C37090000000000000002</string>
<key>compatibilityVersion</key>
<string>Xcode 3.2</string>
<key>attributes</key>
<dict>
<key>LastUpgradeCheck</key>
<string>9999</string>
</dict>
</dict>
</dict>
<key>rootObject</key>
<string>96C847930001020100000000</string>
</dict>
</plist>

View File

@ -0,0 +1 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?><Scheme LastUpgradeVersion="9999" version="1.7"><BuildAction buildImplicitDependencies="YES" parallelizeBuildables="YES"><BuildActionEntries><BuildActionEntry buildForAnalyzing="YES" buildForArchiving="YES" buildForProfiling="YES" buildForRunning="YES" buildForTesting="YES"><BuildableReference BlueprintIdentifier="E66DC04E0001020100000000" BlueprintName="App" BuildableIdentifier="primary" BuildableName="App.app" ReferencedContainer="container:App.xcodeproj"/></BuildActionEntry><BuildActionEntry buildForAnalyzing="YES" buildForArchiving="YES" buildForProfiling="YES" buildForRunning="YES" buildForTesting="YES"><BuildableReference BlueprintIdentifier="E66DC04EC43AA77A00000000" BlueprintName="AppLibrary" BuildableIdentifier="primary" BuildableName="libAppLibrary.a" ReferencedContainer="container:App.xcodeproj"/></BuildActionEntry></BuildActionEntries></BuildAction><TestAction buildConfiguration="Debug" shouldUseLaunchSchemeArgsEnv="YES"><Testables/></TestAction><LaunchAction buildConfiguration="Debug"/><ProfileAction buildConfiguration="Release"/><AnalyzeAction buildConfiguration="Debug"/><ArchiveAction buildConfiguration="Release" revealArchiveInOrganizer="YES"/></Scheme>

View File

@ -0,0 +1 @@
{"required-targets":["//submodules/MtProtoKit:openssl_libs"],"xcconfig-paths":["buck-out/gen/App/App-Debug.xcconfig","buck-out/gen/App/App-Profile.xcconfig","buck-out/gen/App/App-Release.xcconfig","buck-out/gen/App/AppLibrary-Debug.xcconfig","buck-out/gen/App/AppLibrary-Profile.xcconfig","buck-out/gen/App/AppLibrary-Release.xcconfig","buck-out/gen/submodules/Emoji/Emoji-Debug.xcconfig","buck-out/gen/submodules/Emoji/Emoji-Profile.xcconfig","buck-out/gen/submodules/Emoji/Emoji-Release.xcconfig","buck-out/gen/submodules/MtProtoKit/MtProtoKit-Debug.xcconfig","buck-out/gen/submodules/MtProtoKit/MtProtoKit-Profile.xcconfig","buck-out/gen/submodules/MtProtoKit/MtProtoKit-Release.xcconfig","buck-out/gen/submodules/MtProtoKit/openssl-Debug.xcconfig","buck-out/gen/submodules/MtProtoKit/openssl-Profile.xcconfig","buck-out/gen/submodules/MtProtoKit/openssl-Release.xcconfig"],"copy-in-xcode":[]}

View File

@ -0,0 +1 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?><Workspace version="1.0"><FileRef location="container:App.xcodeproj"/><Group location="container:" name="submodules"><FileRef location="container:../submodules/Emoji/Emoji.xcodeproj"/><FileRef location="container:../submodules/MtProtoKit/MtProtoKit.xcodeproj"/></Group></Workspace>

View File

@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>IDEDidComputeMac32BitWarning</key>
<true/>
</dict>
</plist>

View File

@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>IDEWorkspaceSharedSettings_AutocreateContextsIfNeeded</key>
<false/>
</dict>
</plist>

View File

@ -0,0 +1 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?><Scheme LastUpgradeVersion="9999" version="1.7"><BuildAction buildImplicitDependencies="YES" parallelizeBuildables="YES"><BuildActionEntries><BuildActionEntry buildForAnalyzing="YES" buildForArchiving="YES" buildForProfiling="YES" buildForRunning="YES" buildForTesting="YES"><BuildableReference BlueprintIdentifier="E66DC04E03FF902600000000" BlueprintName="Emoji" BuildableIdentifier="primary" BuildableName="libEmoji.a" ReferencedContainer="container:../submodules/Emoji/Emoji.xcodeproj"/></BuildActionEntry><BuildActionEntry buildForAnalyzing="YES" buildForArchiving="YES" buildForProfiling="YES" buildForRunning="YES" buildForTesting="YES"><BuildableReference BlueprintIdentifier="E66DC04EB4B57B8200000000" BlueprintName="openssl" BuildableIdentifier="primary" BuildableName="libopenssl.a" ReferencedContainer="container:../submodules/MtProtoKit/MtProtoKit.xcodeproj"/></BuildActionEntry><BuildActionEntry buildForAnalyzing="YES" buildForArchiving="YES" buildForProfiling="YES" buildForRunning="YES" buildForTesting="YES"><BuildableReference BlueprintIdentifier="E66DC04E71FDEAB500000000" BlueprintName="MtProtoKit" BuildableIdentifier="primary" BuildableName="libMtProtoKit.a" ReferencedContainer="container:../submodules/MtProtoKit/MtProtoKit.xcodeproj"/></BuildActionEntry><BuildActionEntry buildForAnalyzing="YES" buildForArchiving="YES" buildForProfiling="YES" buildForRunning="YES" buildForTesting="YES"><BuildableReference BlueprintIdentifier="E66DC04EC43AA77A00000000" BlueprintName="AppLibrary" BuildableIdentifier="primary" BuildableName="libAppLibrary.a" ReferencedContainer="container:App.xcodeproj"/></BuildActionEntry><BuildActionEntry buildForAnalyzing="YES" buildForArchiving="YES" buildForProfiling="YES" buildForRunning="YES" buildForTesting="YES"><BuildableReference BlueprintIdentifier="E66DC04E0001020100000000" BlueprintName="App" BuildableIdentifier="primary" BuildableName="App.app" ReferencedContainer="container:App.xcodeproj"/></BuildActionEntry></BuildActionEntries></BuildAction><TestAction buildConfiguration="Debug" shouldUseLaunchSchemeArgsEnv="YES"><Testables/></TestAction><LaunchAction buildConfiguration="Debug" launchStyle="0"><BuildableProductRunnable><BuildableReference BlueprintIdentifier="E66DC04E0001020100000000" BlueprintName="App" BuildableIdentifier="primary" BuildableName="App.app" ReferencedContainer="container:App.xcodeproj"/></BuildableProductRunnable></LaunchAction><ProfileAction buildConfiguration="Release" shouldUseLaunchSchemeArgsEnv="YES"><BuildableProductRunnable><BuildableReference BlueprintIdentifier="E66DC04E0001020100000000" BlueprintName="App" BuildableIdentifier="primary" BuildableName="App.app" ReferencedContainer="container:App.xcodeproj"/></BuildableProductRunnable></ProfileAction><AnalyzeAction buildConfiguration="Debug"/><ArchiveAction buildConfiguration="Release" revealArchiveInOrganizer="YES"/></Scheme>

91
App/BUCK Normal file
View File

@ -0,0 +1,91 @@
load("//Config:configs.bzl", "app_binary_configs", "library_configs", "pretty", "info_plist_substitutions", "bundle_identifier", "DEVELOPMENT_LANGUAGE")
load("//Config:buck_rule_macros.bzl", "apple_lib", "framework_binary_dependencies", "framework_bundle_dependencies")
'''apple_asset_catalog(
name = "ExampleAppAssets",
visibility = ["//App:"],
app_icon = "AppIcon",
dirs = ["Assets.xcassets"],
)
app_tests = [
":UnitTests",
":UnitTestsWithHostApp",
]
ui_tests = [
":XCUITests",
]'''
static_library_dependencies = [
]
framework_dependencies = [
'//submodules/MtProtoKit:MtProtoKit',
'//submodules/Emoji:Emoji',
]
# Build Phase scripts need to be added as dependencies.
# These only get executed when building with Xcode, not Buck.
build_phase_scripts = [
]
apple_library(
name = "AppLibrary",
visibility = [
"//App:",
"//App/...",
],
configs = library_configs(),
swift_version = native.read_config('swift', 'version'),
srcs = [
"Sources/TempMain.m",
"Sources/Temp.swift"
],
deps = [
]
+ static_library_dependencies
+ framework_binary_dependencies(framework_dependencies),
)
apple_binary(
name = "AppBinary",
visibility = [
"//App:",
"//App/...",
],
configs = app_binary_configs("App"),
swift_version = native.read_config('swift', 'version'),
srcs = [
"SupportFiles/Empty.swift",
],
deps = [
":AppLibrary",
],
)
xcode_workspace_config(
name = "workspace",
workspace_name = "App",
src_target = ":App",
)
apple_bundle(
name = "App",
visibility = [
"//App:",
],
extension = "app",
binary = ":AppBinary",
product_name = "App",
info_plist = "Info.plist",
info_plist_substitutions = info_plist_substitutions("App"),
deps = [
]
+ framework_bundle_dependencies(framework_dependencies),
)
apple_package(
name = "AppPackage",
bundle = ":App",
)

View File

@ -1,4 +1,54 @@
load('//tools:buck_utils.bzl', 'config_with_updated_linker_flags', 'configs_with_config', 'combined_config')
load('//tools:targets.bzl', 'app_target')
BUILD_NUMBER = '2000'
info_plist_substitutions = {
'DEVELOPMENT_LANGUAGE': 'en-us',
'APP_NAME': 'Telegram',
'EXECUTABLE_NAME': 'Telegram',
'PRODUCT_BUNDLE_IDENTIFIER': 'org.telegram.Telegram-iOS',
'PRODUCT_NAME': 'Telegram',
'APP_SPECIFIC_URL_SCHEME': 'tgapp',
'VERSION': '5.11',
'BUILD_NUMBER': BUILD_NUMBER,
}
app_target(
name = 'App',
srcs = ['TempMain.m', 'Temp.swift'],
deps = [
'//submodules/MtProtoKit:MtProtoKit',
#'//submodules/Emoji:Emoji',
#'//submodules/MtProtoKit:MtProtoKitFramework',
#'//submodules/Emoji:EmojiFramework',
],
)
apple_bundle(
name = 'AppBundle',
visibility = [
'PUBLIC',
],
extension = 'app',
binary = ':AppBinary',
product_name = 'Telegram',
info_plist = 'Info.plist',
#info_plist_substitutions = info_plist_substitutions,
deps = [
]
)
apple_package(
name = 'AppPackage',
bundle = ':AppBundle',
)
xcode_workspace_config(
name = "workspace",
workspace_name = "App",
src_target = ":AppBundle",
)
'''load('//tools:buck_utils.bzl', 'config_with_updated_linker_flags', 'configs_with_config', 'combined_config')
load('//tools:buck_defs.bzl', 'SHARED_CONFIGS')
# Adding `-all_load` to our binaries works around https://bugs.swift.org/browse/SR-6004. See the
@ -180,3 +230,5 @@ apple_package(
name = 'AppPackage',
bundle = ':AppBundle',
)
'''

52
App/Info.plist Normal file
View File

@ -0,0 +1,52 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleDevelopmentRegion</key>
<string>$(DEVELOPMENT_LANGUAGE)</string>
<key>CFBundleExecutable</key>
<string>App</string>
<key>CFBundleIconFiles</key>
<array>
<string>Icon.png</string>
<string>Icon@2x.png</string>
<string>Icon-72.png</string>
<string>Icon-72@2x.png</string>
<string>Icon-Small-50.png</string>
<string>Icon-Small-50@2x.png</string>
</array>
<key>CFBundleIdentifier</key>
<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
<string>$(PRODUCT_NAME)</string>
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>CFBundleShortVersionString</key>
<string>1.0</string>
<key>CFBundleVersion</key>
<string>1</string>
<key>LSRequiresIPhoneOS</key>
<true/>
<key>UILaunchStoryboardName</key>
<string>LaunchScreen</string>
<key>UIRequiredDeviceCapabilities</key>
<array>
<string>arm64</string>
</array>
<key>UISupportedInterfaceOrientations</key>
<array>
<string>UIInterfaceOrientationPortrait</string>
<string>UIInterfaceOrientationLandscapeLeft</string>
<string>UIInterfaceOrientationLandscapeRight</string>
</array>
<key>UISupportedInterfaceOrientations~ipad</key>
<array>
<string>UIInterfaceOrientationPortrait</string>
<string>UIInterfaceOrientationPortraitUpsideDown</string>
<string>UIInterfaceOrientationLandscapeLeft</string>
<string>UIInterfaceOrientationLandscapeRight</string>
</array>
</dict>
</plist>

1
App/Sources/Empty.swift Normal file
View File

@ -0,0 +1 @@

11
App/Sources/Temp.swift Normal file
View File

@ -0,0 +1,11 @@
import Foundation
import Emoji
@objc(AppDelegate)
public final class AppDelegate: NSObject {
override init() {
super.init()
print("OK".isSingleEmoji)
}
}

6
App/Sources/TempMain.m Normal file
View File

@ -0,0 +1,6 @@
//#import <MtProtoKit/MTProto.h>
int main(int argc, const char **argv) {
//MTProto *mtProto = [[MTProto alloc] init];
return 0;
}

View File

@ -0,0 +1 @@

10
Config/BUCK Normal file
View File

@ -0,0 +1,10 @@
# This file can be depended upon for any apple_test_lib rules.
genrule(
name = "test_info_plist",
visibility = ["PUBLIC"],
srcs = [
"BuckSupportFiles/TestInfo.plist",
],
out = 'TestInfo.plist',
cmd = 'cp $SRCDIR/BuckSupportFiles/TestInfo.plist $OUT',
)

View File

@ -0,0 +1,22 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleDevelopmentRegion</key>
<string>$(DEVELOPMENT_LANGUAGE)</string>
<key>CFBundleExecutable</key>
<string>$(EXECUTABLE_NAME)</string>
<key>CFBundleIdentifier</key>
<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
<string>$(PRODUCT_NAME)</string>
<key>CFBundlePackageType</key>
<string>BNDL</string>
<key>CFBundleShortVersionString</key>
<string>1.0</string>
<key>CFBundleVersion</key>
<string>1</string>
</dict>
</plist>

232
Config/buck_rule_macros.bzl Normal file
View File

@ -0,0 +1,232 @@
load("//Config:configs.bzl", "library_configs", "framework_library_configs", "info_plist_substitutions")
def apple_third_party_lib(**kwargs):
apple_lib(
warning_as_error = False,
suppress_warnings = True,
**kwargs
)
def apple_lib(
name,
visibility = ["PUBLIC"],
srcs = [],
headers = [],
exported_headers = [],
extra_xcode_files = [],
deps = [],
frameworks = [],
swift_version = None,
modular = True,
compiler_flags = None,
swift_compiler_flags = None,
warning_as_error = False,
suppress_warnings = False,
framework = False):
swift_version = swift_version or native.read_config('swift', 'version')
compiler_flags = compiler_flags or []
swift_compiler_flags = swift_compiler_flags or []
if native.read_config("xcode", "beta") == "True":
warning_as_error = False
if warning_as_error:
compiler_flags.append("-Werror")
swift_compiler_flags.append("-warnings-as-errors")
elif suppress_warnings:
compiler_flags.append("-w")
swift_compiler_flags.append("-suppress-warnings")
if framework:
if native.read_config("custom", "mode") == "project":
native.apple_library(
name = name,
srcs = srcs,
header_namespace = name,
headers = headers,
exported_headers = exported_headers,
deps = deps,
extra_xcode_files = extra_xcode_files,
frameworks = frameworks,
visibility = visibility,
swift_version = swift_version,
configs = framework_library_configs(name),
modular = modular,
compiler_flags = compiler_flags,
swift_compiler_flags = swift_compiler_flags,
preferred_linkage = "shared",
link_style = "static",
linker_flags = ["-Wl,-install_name,@rpath/lib%s.dylib" % (name)],
)
'''native.apple_bundle(
name = name + "Framework",
visibility = visibility,
binary = ":" + name + "#shared",
extension = "framework",
info_plist = "Info.plist",
info_plist_substitutions = info_plist_substitutions(name),
)'''
else:
native.apple_library(
name = name,
srcs = srcs,
header_namespace = name,
headers = headers,
exported_headers = exported_headers,
deps = deps,
extra_xcode_files = extra_xcode_files,
frameworks = frameworks,
visibility = visibility,
swift_version = swift_version,
configs = framework_library_configs(name),
modular = modular,
compiler_flags = compiler_flags,
swift_compiler_flags = swift_compiler_flags,
#preferred_linkage = "shared",
#link_style = "static",
#linker_flags = ["-Wl,-install_name,@rpath/%sFramework.framework/%sFramework" % (name, name)],
)
native.apple_bundle(
name = name + "Framework",
visibility = visibility,
binary = ":" + name + "#shared",
extension = "framework",
info_plist = "Info.plist",
info_plist_substitutions = info_plist_substitutions(name),
)
else:
native.apple_library(
name = name,
srcs = srcs,
headers = headers,
exported_headers = exported_headers,
deps = deps,
visibility = visibility,
swift_version = swift_version,
configs = library_configs(),
modular = modular,
compiler_flags = compiler_flags,
swift_compiler_flags = swift_compiler_flags,
)
def static_library(
name,
visibility = ["PUBLIC"],
has_cpp = False,
srcs = [],
headers = [],
exported_headers = [],
extra_xcode_files = [],
deps = [],
frameworks = [],
info_plist = None,
info_plist_substitutions = {},
modular = True,
compiler_flags = None,
swift_compiler_flags = None,
warning_as_error = False,
suppress_warnings = True):
lib = apple_cxx_lib if has_cpp else apple_lib
lib(
name = name,
srcs = srcs,
exported_headers = exported_headers,
headers = headers,
modular = modular,
compiler_flags = compiler_flags,
swift_compiler_flags = swift_compiler_flags,
extra_xcode_files = extra_xcode_files,
deps = deps,
frameworks = frameworks,
warning_as_error = warning_as_error,
suppress_warnings = suppress_warnings
)
def framework(
name,
visibility = ["PUBLIC"],
has_cpp = False,
srcs = [],
headers = [],
exported_headers = [],
extra_xcode_files = [],
deps = [],
frameworks = [],
info_plist = None,
info_plist_substitutions = {},
modular = True,
compiler_flags = None,
swift_compiler_flags = None,
warning_as_error = False,
suppress_warnings = True):
lib = apple_cxx_lib if has_cpp else apple_lib
lib(
name = name,
srcs = srcs,
exported_headers = exported_headers,
headers = headers,
modular = modular,
compiler_flags = compiler_flags,
swift_compiler_flags = swift_compiler_flags,
extra_xcode_files = extra_xcode_files,
deps = deps,
frameworks = frameworks,
warning_as_error = warning_as_error,
suppress_warnings = suppress_warnings,
framework = True
)
CXX_SRC_EXT = ["mm", "cpp", "S"]
def apple_cxx_lib(
srcs = [],
additional_exported_linker_flags = [],
**kwargs):
c_srcs, cxx_srcs = [], []
cxx_compile_flags = native.read_config("cxx", "cxxflags").split(" ")
cxx_compile_flags.append("-w")
for file_ in srcs:
if file_.split(".")[-1] in CXX_SRC_EXT:
cxx_srcs.append((file_, cxx_compile_flags))
else:
c_srcs.append(file_)
apple_lib(
srcs = c_srcs + cxx_srcs,
exported_linker_flags = [
"-lc++",
"-lz"
] + additional_exported_linker_flags,
**kwargs
)
def apple_cxx_third_party_library(
**kwargs):
apple_cxx_lib(
warning_as_error = False,
suppress_warnings = True,
**kwargs
)
def framework_binary_dependencies(names):
result = []
if native.read_config("custom", "mode") == "project":
for name in names:
result.append(name + "#shared")
else:
for name in names:
result.append(name + "")
return result
def framework_bundle_dependencies(names):
result = []
if native.read_config("custom", "mode") == "project":
for name in names:
#result.append(name + "Framework")
pass
else:
for name in names:
#result.append(name + "Framework")
pass
return result

104
Config/configs.bzl Normal file
View File

@ -0,0 +1,104 @@
load("//Config:utils.bzl", "config_with_updated_linker_flags", "configs_with_config")
DEVELOPMENT_LANGUAGE = "en"
def merge_dict(a, b):
d = {}
d.update(a)
d.update(b)
return d
def pretty(dict, current = ""):
current = "\n"
indent = 0
for key, value in dict.items():
current = current + str(key) + ": "
if type(value) == type({}):
current = current + "\n"
indent = 1
for key2, value2 in value.items():
current = current + "\t" * indent + str(key2)
current = current + ": " + str(value2) + "\n"
else:
current = current + "\t" * (indent + 1) + str(value) + "\n"
return current
SHARED_CONFIGS = {
"IPHONEOS_DEPLOYMENT_TARGET": "8.0",
"SDKROOT": "iphoneos",
"GCC_OPTIMIZATION_LEVEL": "0",
"SWIFT_WHOLE_MODULE_OPTIMIZATION": "NO",
"ONLY_ACTIVE_ARCH": "YES",
"LD_RUNPATH_SEARCH_PATHS": "@executable_path/Frameworks",
}
def optimization_config():
return {"SWIFT_OPTIMIZATION_LEVEL": native.read_config('custom', 'optimization')}
# Adding `-all_load` to our binaries works around https://bugs.swift.org/browse/SR-6004. See the
# longer comment in `ViewController.swift` for more details.
ALL_LOAD_LINKER_FLAG = "-all_load"
def bundle_identifier(name):
return "org.Telegram.%s" % name
def library_configs():
lib_specific_config = {
"SWIFT_WHOLE_MODULE_OPTIMIZATION": "NO",
# Setting SKIP_INSTALL to NO for static library configs would create
# create a generic xcode archive which can not be uploaded the app store
# https://developer.apple.com/library/archive/technotes/tn2215/_index.html
"SKIP_INSTALL": "YES",
}
library_config = merge_dict(SHARED_CONFIGS, lib_specific_config)
library_config = merge_dict(library_config, optimization_config())
configs = {
"Debug": library_config,
"Profile": library_config,
"Release": lib_specific_config,
}
return configs
def framework_library_configs(name):
lib_specific_config = {
"SWIFT_WHOLE_MODULE_OPTIMIZATION": "NO",
# Setting SKIP_INSTALL to NO for static library configs would create
# create a generic xcode archive which can not be uploaded the app store
# https://developer.apple.com/library/archive/technotes/tn2215/_index.html
"SKIP_INSTALL": "YES",
"MACH_O_TYPE": "mh_dylib",
"PRODUCT_BUNDLE_IDENTIFIER": bundle_identifier(name),
}
library_config = merge_dict(SHARED_CONFIGS, lib_specific_config)
library_config = merge_dict(library_config, optimization_config())
configs = {
"Debug": library_config,
"Profile": library_config,
"Release": lib_specific_config,
}
return configs
def app_binary_configs(name):
binary_specific_config = {
"ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES": "YES",
"DEVELOPMENT_LANGUAGE": DEVELOPMENT_LANGUAGE,
"PRODUCT_BUNDLE_IDENTIFIER": bundle_identifier(name),
}
binary_config = merge_dict(SHARED_CONFIGS, binary_specific_config)
binary_config = merge_dict(binary_config, optimization_config())
binary_config = config_with_updated_linker_flags(binary_config, ALL_LOAD_LINKER_FLAG)
return configs_with_config(binary_config)
def info_plist_substitutions(name):
substitutions = {
"DEVELOPMENT_LANGUAGE": DEVELOPMENT_LANGUAGE,
"EXECUTABLE_NAME": name,
"PRODUCT_BUNDLE_IDENTIFIER": bundle_identifier(name),
"PRODUCT_NAME": name,
"CURRENT_PROJECT_VERSION": "1",
}
return substitutions

35
Config/utils.bzl Normal file
View File

@ -0,0 +1,35 @@
OTHER_LINKER_FLAGS_KEY = 'OTHER_LDFLAGS'
def configs_with_config(config):
return {
"Debug": config,
"Profile": config,
"Release": config,
}
def configs_with_updated_linker_flags(configs, other_linker_flags):
if other_linker_flags == None:
return configs
else:
updated_configs = { }
for build_configuration in configs:
updated_configs[build_configuration] = config_with_updated_linker_flags(
configs[build_configuration],
other_linker_flags)
return updated_configs
def config_with_updated_linker_flags(config, other_linker_flags, config_key=OTHER_LINKER_FLAGS_KEY):
new_config = { }
config_key_found = False
for key in config:
if key == config_key:
new_config[key] = config[key] + (" %s" % other_linker_flags)
config_key_found = True
else:
new_config[key] = config[key]
if config_key_found == False:
# If `config` does not currently contain `config_key`, add it. Inherit for good measure.
new_config[config_key] = '$(inherited) ' + other_linker_flags
return new_config

35
Makefile Normal file
View File

@ -0,0 +1,35 @@
.PHONY : install_buck build targets audit project clean
# Use local version of Buck
BUCK=tools/buck
log:
echo "Make"
install_buck:
curl https://jitpack.io/com/github/airbnb/buck/457ebb73fcd8f86be0112dc74948d022b6969dbd/buck-457ebb73fcd8f86be0112dc74948d022b6969dbd.pex --output tools/buck
chmod u+x tools/buck
build:
$(BUCK) build //App:AppPackage
build_verbose:
$(BUCK) build //App:AppPackage --verbose 8
targets:
$(BUCK) targets //...
audit:
$(BUCK) audit rules BUCK > Config/Gen/App-BUCK.py
kill_xcode:
killall Xcode || true
killall Simulator || true
clean: kill_xcode
sh clean.sh
project: clean
$(BUCK) project //App:workspace --config custom.mode=project
open App/App.xcworkspace

4
clean.sh Normal file
View File

@ -0,0 +1,4 @@
rm -rf App/App.xcodeproj App/App.xcworkspace
rm -rf submodules/MtProtoKit/MtProtoKit.xcodeproj
rm -rf submodules/Emoji/Emoji.xcodeproj
rm -rf buck-out

0
log.txt Normal file
View File

14
submodules/Emoji/BUCK Normal file
View File

@ -0,0 +1,14 @@
load("//Config:buck_rule_macros.bzl", "static_library", "framework")
framework(
name = "Emoji",
srcs = glob([
"Sources/*.swift",
]),
deps = [
],
frameworks = [
"$SDKROOT/System/Library/Frameworks/Foundation.framework",
"$SDKROOT/System/Library/Frameworks/CoreText.framework",
],
)

4
submodules/Emoji/Emoji.d Normal file
View File

@ -0,0 +1,4 @@
/Users/peter/build/telegram-temp/telegram-ios/submodules/Emoji/Emoji.o : /Users/peter/build/telegram-temp/telegram-ios/submodules/Emoji/Sources/EmojiUtils.swift /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/swift/iphonesimulator/x86_64/ObjectiveC.swiftmodule /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/swift/iphonesimulator/x86_64/Dispatch.swiftmodule /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/swift/iphonesimulator/x86_64/Darwin.swiftmodule /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/swift/iphonesimulator/x86_64/Foundation.swiftmodule /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/swift/iphonesimulator/x86_64/CoreFoundation.swiftmodule /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/swift/iphonesimulator/x86_64/CoreGraphics.swiftmodule /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/swift/iphonesimulator/x86_64/Swift.swiftmodule /Users/peter/build/telegram-temp/telegram-ios/submodules/Emoji/../../buck-out/gen/_p/dSOeJSgEqx-pub/Emoji/module.modulemap /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator12.4.sdk/usr/include/objc/ObjectiveC.apinotes /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/swift/iphonesimulator/x86_64/Dispatch.apinotes /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator12.4.sdk/usr/include/Darwin.apinotes /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator12.4.sdk/System/Library/Frameworks/Foundation.framework/Headers/Foundation.apinotes /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator12.4.sdk/System/Library/Frameworks/CoreGraphics.framework/Headers/CoreGraphics.apinotes /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator12.4.sdk/System/Library/Frameworks/CoreText.framework/Headers/CoreText.apinotes /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator12.4.sdk/System/Library/Frameworks/Security.framework/Headers/Security.apinotes
/Users/peter/Library/Developer/Xcode/DerivedData/AppBundle-eiyupsfslxdyqrgylgpylqedpick/Build/Intermediates.noindex/Emoji.build/Debug-iphonesimulator/EmojiFramework.build/Objects-normal/x86_64/Emoji.swiftmodule : /Users/peter/build/telegram-temp/telegram-ios/submodules/Emoji/Sources/EmojiUtils.swift /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/swift/iphonesimulator/x86_64/ObjectiveC.swiftmodule /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/swift/iphonesimulator/x86_64/Dispatch.swiftmodule /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/swift/iphonesimulator/x86_64/Darwin.swiftmodule /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/swift/iphonesimulator/x86_64/Foundation.swiftmodule /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/swift/iphonesimulator/x86_64/CoreFoundation.swiftmodule /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/swift/iphonesimulator/x86_64/CoreGraphics.swiftmodule /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/swift/iphonesimulator/x86_64/Swift.swiftmodule /Users/peter/build/telegram-temp/telegram-ios/submodules/Emoji/../../buck-out/gen/_p/dSOeJSgEqx-pub/Emoji/module.modulemap /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator12.4.sdk/usr/include/objc/ObjectiveC.apinotes /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/swift/iphonesimulator/x86_64/Dispatch.apinotes /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator12.4.sdk/usr/include/Darwin.apinotes /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator12.4.sdk/System/Library/Frameworks/Foundation.framework/Headers/Foundation.apinotes /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator12.4.sdk/System/Library/Frameworks/CoreGraphics.framework/Headers/CoreGraphics.apinotes /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator12.4.sdk/System/Library/Frameworks/CoreText.framework/Headers/CoreText.apinotes /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator12.4.sdk/System/Library/Frameworks/Security.framework/Headers/Security.apinotes
/Users/peter/Library/Developer/Xcode/DerivedData/AppBundle-eiyupsfslxdyqrgylgpylqedpick/Build/Intermediates.noindex/Emoji.build/Debug-iphonesimulator/EmojiFramework.build/Objects-normal/x86_64/Emoji.swiftdoc : /Users/peter/build/telegram-temp/telegram-ios/submodules/Emoji/Sources/EmojiUtils.swift /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/swift/iphonesimulator/x86_64/ObjectiveC.swiftmodule /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/swift/iphonesimulator/x86_64/Dispatch.swiftmodule /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/swift/iphonesimulator/x86_64/Darwin.swiftmodule /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/swift/iphonesimulator/x86_64/Foundation.swiftmodule /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/swift/iphonesimulator/x86_64/CoreFoundation.swiftmodule /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/swift/iphonesimulator/x86_64/CoreGraphics.swiftmodule /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/swift/iphonesimulator/x86_64/Swift.swiftmodule /Users/peter/build/telegram-temp/telegram-ios/submodules/Emoji/../../buck-out/gen/_p/dSOeJSgEqx-pub/Emoji/module.modulemap /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator12.4.sdk/usr/include/objc/ObjectiveC.apinotes /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/swift/iphonesimulator/x86_64/Dispatch.apinotes /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator12.4.sdk/usr/include/Darwin.apinotes /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator12.4.sdk/System/Library/Frameworks/Foundation.framework/Headers/Foundation.apinotes /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator12.4.sdk/System/Library/Frameworks/CoreGraphics.framework/Headers/CoreGraphics.apinotes /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator12.4.sdk/System/Library/Frameworks/CoreText.framework/Headers/CoreText.apinotes /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator12.4.sdk/System/Library/Frameworks/Security.framework/Headers/Security.apinotes
/Users/peter/Library/Developer/Xcode/DerivedData/AppBundle-eiyupsfslxdyqrgylgpylqedpick/Build/Intermediates.noindex/Emoji.build/Debug-iphonesimulator/EmojiFramework.build/Objects-normal/x86_64/EmojiFramework-Swift.h : /Users/peter/build/telegram-temp/telegram-ios/submodules/Emoji/Sources/EmojiUtils.swift /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/swift/iphonesimulator/x86_64/ObjectiveC.swiftmodule /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/swift/iphonesimulator/x86_64/Dispatch.swiftmodule /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/swift/iphonesimulator/x86_64/Darwin.swiftmodule /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/swift/iphonesimulator/x86_64/Foundation.swiftmodule /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/swift/iphonesimulator/x86_64/CoreFoundation.swiftmodule /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/swift/iphonesimulator/x86_64/CoreGraphics.swiftmodule /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/swift/iphonesimulator/x86_64/Swift.swiftmodule /Users/peter/build/telegram-temp/telegram-ios/submodules/Emoji/../../buck-out/gen/_p/dSOeJSgEqx-pub/Emoji/module.modulemap /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator12.4.sdk/usr/include/objc/ObjectiveC.apinotes /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/swift/iphonesimulator/x86_64/Dispatch.apinotes /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator12.4.sdk/usr/include/Darwin.apinotes /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator12.4.sdk/System/Library/Frameworks/Foundation.framework/Headers/Foundation.apinotes /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator12.4.sdk/System/Library/Frameworks/CoreGraphics.framework/Headers/CoreGraphics.apinotes /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator12.4.sdk/System/Library/Frameworks/CoreText.framework/Headers/CoreText.apinotes /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator12.4.sdk/System/Library/Frameworks/Security.framework/Headers/Security.apinotes

BIN
submodules/Emoji/Emoji.o Normal file

Binary file not shown.

View File

@ -0,0 +1,327 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>archiveVersion</key>
<string>1</string>
<key>classes</key>
<dict>
</dict>
<key>objectVersion</key>
<string>46</string>
<key>objects</key>
<dict>
<key>1DD70E29CCF717CF00000000</key>
<dict>
<key>isa</key>
<string>PBXFileReference</string>
<key>name</key>
<string>Emoji-Debug.xcconfig</string>
<key>path</key>
<string>../../buck-out/gen/submodules/Emoji/Emoji-Debug.xcconfig</string>
<key>sourceTree</key>
<string>SOURCE_ROOT</string>
<key>explicitFileType</key>
<string>text.xcconfig</string>
</dict>
<key>1DD70E2950B2F77900000000</key>
<dict>
<key>isa</key>
<string>PBXFileReference</string>
<key>name</key>
<string>Emoji-Profile.xcconfig</string>
<key>path</key>
<string>../../buck-out/gen/submodules/Emoji/Emoji-Profile.xcconfig</string>
<key>sourceTree</key>
<string>SOURCE_ROOT</string>
<key>explicitFileType</key>
<string>text.xcconfig</string>
</dict>
<key>1DD70E29C449A2DB00000000</key>
<dict>
<key>isa</key>
<string>PBXFileReference</string>
<key>name</key>
<string>Emoji-Release.xcconfig</string>
<key>path</key>
<string>../../buck-out/gen/submodules/Emoji/Emoji-Release.xcconfig</string>
<key>sourceTree</key>
<string>SOURCE_ROOT</string>
<key>explicitFileType</key>
<string>text.xcconfig</string>
</dict>
<key>B401C9792F7F325000000000</key>
<dict>
<key>isa</key>
<string>PBXGroup</string>
<key>name</key>
<string>Buck (Do Not Modify)</string>
<key>sourceTree</key>
<string><![CDATA[<group>]]></string>
<key>children</key>
<array>
<string>1DD70E29CCF717CF00000000</string>
<string>1DD70E2950B2F77900000000</string>
<string>1DD70E29C449A2DB00000000</string>
</array>
</dict>
<key>B401C979B781F65D00000000</key>
<dict>
<key>isa</key>
<string>PBXGroup</string>
<key>name</key>
<string>Configurations</string>
<key>sourceTree</key>
<string><![CDATA[<group>]]></string>
<key>children</key>
<array>
<string>B401C9792F7F325000000000</string>
</array>
</dict>
<key>1DD70E29001F47FB00000000</key>
<dict>
<key>isa</key>
<string>PBXFileReference</string>
<key>name</key>
<string>BUCK</string>
<key>path</key>
<string>BUCK</string>
<key>sourceTree</key>
<string>SOURCE_ROOT</string>
<key>explicitFileType</key>
<string>text.script.python</string>
</dict>
<key>1DD70E29C4C3D69000000000</key>
<dict>
<key>isa</key>
<string>PBXFileReference</string>
<key>name</key>
<string>EmojiUtils.swift</string>
<key>path</key>
<string>Sources/EmojiUtils.swift</string>
<key>sourceTree</key>
<string>SOURCE_ROOT</string>
</dict>
<key>B401C979EAB5339800000000</key>
<dict>
<key>isa</key>
<string>PBXGroup</string>
<key>name</key>
<string>Sources</string>
<key>sourceTree</key>
<string><![CDATA[<group>]]></string>
<key>children</key>
<array>
<string>1DD70E29C4C3D69000000000</string>
</array>
</dict>
<key>B401C97903FF902600000000</key>
<dict>
<key>isa</key>
<string>PBXGroup</string>
<key>name</key>
<string>Emoji</string>
<key>sourceTree</key>
<string><![CDATA[<group>]]></string>
<key>children</key>
<array>
<string>1DD70E29001F47FB00000000</string>
<string>B401C979EAB5339800000000</string>
</array>
</dict>
<key>1DD70E29A59C927400000000</key>
<dict>
<key>isa</key>
<string>PBXFileReference</string>
<key>name</key>
<string>libEmoji.a</string>
<key>path</key>
<string>libEmoji.a</string>
<key>sourceTree</key>
<string>BUILT_PRODUCTS_DIR</string>
<key>explicitFileType</key>
<string>archive.ar</string>
</dict>
<key>B401C979C806358400000000</key>
<dict>
<key>isa</key>
<string>PBXGroup</string>
<key>name</key>
<string>Products</string>
<key>sourceTree</key>
<string><![CDATA[<group>]]></string>
<key>children</key>
<array>
<string>1DD70E29A59C927400000000</string>
</array>
</dict>
<key>B401C979EFB6AC4600000000</key>
<dict>
<key>isa</key>
<string>PBXGroup</string>
<key>name</key>
<string>mainGroup</string>
<key>sourceTree</key>
<string><![CDATA[<group>]]></string>
<key>children</key>
<array>
<string>B401C979B781F65D00000000</string>
<string>B401C97903FF902600000000</string>
<string>B401C979C806358400000000</string>
</array>
</dict>
<key>E7A30F04C4C3D69000000000</key>
<dict>
<key>isa</key>
<string>PBXBuildFile</string>
<key>fileRef</key>
<string>1DD70E29C4C3D69000000000</string>
</dict>
<key>1870857F0000000000000000</key>
<dict>
<key>isa</key>
<string>PBXSourcesBuildPhase</string>
<key>files</key>
<array>
<string>E7A30F04C4C3D69000000000</string>
</array>
</dict>
<key>4952437303EDA63300000000</key>
<dict>
<key>isa</key>
<string>XCBuildConfiguration</string>
<key>name</key>
<string>Debug</string>
<key>buildSettings</key>
<dict>
</dict>
<key>baseConfigurationReference</key>
<string>1DD70E29CCF717CF00000000</string>
</dict>
<key>4952437350C7218900000000</key>
<dict>
<key>isa</key>
<string>XCBuildConfiguration</string>
<key>name</key>
<string>Profile</string>
<key>buildSettings</key>
<dict>
</dict>
<key>baseConfigurationReference</key>
<string>1DD70E2950B2F77900000000</string>
</dict>
<key>49524373A439BFE700000000</key>
<dict>
<key>isa</key>
<string>XCBuildConfiguration</string>
<key>name</key>
<string>Release</string>
<key>buildSettings</key>
<dict>
</dict>
<key>baseConfigurationReference</key>
<string>1DD70E29C449A2DB00000000</string>
</dict>
<key>218C37090000000000000000</key>
<dict>
<key>isa</key>
<string>XCConfigurationList</string>
<key>buildConfigurations</key>
<array>
<string>4952437303EDA63300000000</string>
<string>4952437350C7218900000000</string>
<string>49524373A439BFE700000000</string>
</array>
<key>defaultConfigurationIsVisible</key>
<false/>
</dict>
<key>E66DC04E03FF902600000000</key>
<dict>
<key>isa</key>
<string>PBXNativeTarget</string>
<key>name</key>
<string>Emoji</string>
<key>productName</key>
<string>Emoji</string>
<key>productReference</key>
<string>1DD70E29A59C927400000000</string>
<key>productType</key>
<string>com.apple.product-type.library.static</string>
<key>dependencies</key>
<array>
</array>
<key>buildPhases</key>
<array>
<string>1870857F0000000000000000</string>
</array>
<key>buildConfigurationList</key>
<string>218C37090000000000000000</string>
</dict>
<key>4952437303EDA63300000001</key>
<dict>
<key>isa</key>
<string>XCBuildConfiguration</string>
<key>name</key>
<string>Debug</string>
<key>buildSettings</key>
<dict>
</dict>
</dict>
<key>4952437350C7218900000001</key>
<dict>
<key>isa</key>
<string>XCBuildConfiguration</string>
<key>name</key>
<string>Profile</string>
<key>buildSettings</key>
<dict>
</dict>
</dict>
<key>49524373A439BFE700000001</key>
<dict>
<key>isa</key>
<string>XCBuildConfiguration</string>
<key>name</key>
<string>Release</string>
<key>buildSettings</key>
<dict>
</dict>
</dict>
<key>218C37090000000000000001</key>
<dict>
<key>isa</key>
<string>XCConfigurationList</string>
<key>buildConfigurations</key>
<array>
<string>4952437303EDA63300000001</string>
<string>4952437350C7218900000001</string>
<string>49524373A439BFE700000001</string>
</array>
<key>defaultConfigurationIsVisible</key>
<false/>
</dict>
<key>96C8479303FF902600000000</key>
<dict>
<key>isa</key>
<string>PBXProject</string>
<key>mainGroup</key>
<string>B401C979EFB6AC4600000000</string>
<key>targets</key>
<array>
<string>E66DC04E03FF902600000000</string>
</array>
<key>buildConfigurationList</key>
<string>218C37090000000000000001</string>
<key>compatibilityVersion</key>
<string>Xcode 3.2</string>
<key>attributes</key>
<dict>
<key>LastUpgradeCheck</key>
<string>9999</string>
</dict>
</dict>
</dict>
<key>rootObject</key>
<string>96C8479303FF902600000000</string>
</dict>
</plist>

View File

@ -0,0 +1 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?><Scheme LastUpgradeVersion="9999" version="1.7"><BuildAction buildImplicitDependencies="YES" parallelizeBuildables="YES"><BuildActionEntries><BuildActionEntry buildForAnalyzing="YES" buildForArchiving="YES" buildForProfiling="YES" buildForRunning="YES" buildForTesting="YES"><BuildableReference BlueprintIdentifier="E66DC04E03FF902600000000" BlueprintName="Emoji" BuildableIdentifier="primary" BuildableName="libEmoji.a" ReferencedContainer="container:Emoji.xcodeproj"/></BuildActionEntry></BuildActionEntries></BuildAction><TestAction buildConfiguration="Debug" shouldUseLaunchSchemeArgsEnv="YES"><Testables/></TestAction><LaunchAction buildConfiguration="Debug"/><ProfileAction buildConfiguration="Release"/><AnalyzeAction buildConfiguration="Debug"/><ArchiveAction buildConfiguration="Release" revealArchiveInOrganizer="YES"/></Scheme>

View File

@ -1,119 +1,111 @@
load('//tools:buck_utils.bzl', 'config_with_updated_linker_flags', 'combined_config', 'configs_with_config')
load('//tools:buck_defs.bzl', 'SHARED_CONFIGS', 'EXTENSION_LIB_SPECIFIC_CONFIG')
load("//Config:buck_rule_macros.bzl", "static_library", "framework")
genrule(
name = 'openssl_libs',
name = "openssl_libs",
srcs = [
'openssl/iOS/libcrypto.a',
"openssl/iOS/libcrypto.a",
],
bash = 'mkdir -p $OUT; cp $SRCS $OUT/',
out = 'openssl_libs',
visibility = [
'//submodules/MtProtoKit:...',
]
bash = "mkdir -p $OUT; cp $SRCS $OUT/",
out = "openssl_libs",
visibility = ["PUBLIC"]
)
apple_library(
name = 'openssl',
name = "openssl",
visibility = [
'//submodules/MtProtoKit:MtProtoKit'
"//submodules/MtProtoKit:MtProtoKit"
],
header_namespace = 'openssl',
header_namespace = "openssl",
exported_headers = glob([
'openssl/**/*.h',
"openssl/**/*.h",
]),
exported_linker_flags = [
'-lcrypto',
'-L$(location :openssl_libs)',
"-lcrypto",
"-L$(location :openssl_libs)",
],
)
apple_library(
name = 'MtProtoKit',
framework(
name = "MtProtoKit",
srcs = glob([
'*.m',
'MtProtoKit/*.m',
'thirdparty/AFNetworking/*.m',
'thirdparty/AsyncSocket/*.m',
"*.m",
"MtProtoKit/*.m",
"thirdparty/AFNetworking/*.m",
"thirdparty/AsyncSocket/*.m",
]),
configs = configs_with_config(combined_config([SHARED_CONFIGS, EXTENSION_LIB_SPECIFIC_CONFIG])),
headers = glob([
'*.h',
'MtProtoKit/*.h',
'thirdparty/AFNetworking/*.h',
'thirdparty/AsyncSocket/*.h',
"*.h",
"MtProtoKit/*.h",
"thirdparty/AFNetworking/*.h",
"thirdparty/AsyncSocket/*.h",
]),
header_namespace = 'MtProtoKit',
exported_headers = [
'MtProtoKit/MTTime.h',
'MtProtoKit/MTTimer.h',
'MtProtoKit/MTLogging.h',
'MtProtoKit/MTEncryption.h',
'MtProtoKit/MTInternalId.h',
'MtProtoKit/MTQueue.h',
'MtProtoKit/MTOutputStream.h',
'MtProtoKit/MTInputStream.h',
'MtProtoKit/MTSerialization.h',
'MtProtoKit/MTExportedAuthorizationData.h',
'MtProtoKit/MTRpcError.h',
'MtProtoKit/MTKeychain.h',
'MtProtoKit/MTFileBasedKeychain.h',
'MtProtoKit/MTContext.h',
'MtProtoKit/MTTransportScheme.h',
'MtProtoKit/MTDatacenterTransferAuthAction.h',
'MtProtoKit/MTDatacenterAuthAction.h',
'MtProtoKit/MTDatacenterAuthMessageService.h',
'MtProtoKit/MTDatacenterAddress.h',
'MtProtoKit/MTDatacenterAddressSet.h',
'MtProtoKit/MTDatacenterAuthInfo.h',
'MtProtoKit/MTDatacenterSaltInfo.h',
'MtProtoKit/MTDatacenterAddressListData.h',
'MtProtoKit/MTProto.h',
'MtProtoKit/MTSessionInfo.h',
'MtProtoKit/MTTimeFixContext.h',
'MtProtoKit/MTPreparedMessage.h',
'MtProtoKit/MTOutgoingMessage.h',
'MtProtoKit/MTIncomingMessage.h',
'MtProtoKit/MTMessageEncryptionKey.h',
'MtProtoKit/MTMessageService.h',
'MtProtoKit/MTMessageTransaction.h',
'MtProtoKit/MTTimeSyncMessageService.h',
'MtProtoKit/MTRequestMessageService.h',
'MtProtoKit/MTRequest.h',
'MtProtoKit/MTRequestContext.h',
'MtProtoKit/MTRequestErrorContext.h',
'MtProtoKit/MTDropResponseContext.h',
'MtProtoKit/MTApiEnvironment.h',
'MtProtoKit/MTResendMessageService.h',
'MtProtoKit/MTNetworkAvailability.h',
'MtProtoKit/MTTransport.h',
'MtProtoKit/MTTransportTransaction.h',
'MtProtoKit/MTTcpTransport.h',
'MtProtoKit/MTHttpRequestOperation.h',
'MTAtomic.h',
'MTBag.h',
'MTDisposable.h',
'MTSubscriber.h',
'MTSignal.h',
'MTNetworkUsageCalculationInfo.h',
'MTNetworkUsageManager.h',
'MTBackupAddressSignals.h',
'thirdparty/AFNetworking/AFURLConnectionOperation.h',
'thirdparty/AFNetworking/AFHTTPRequestOperation.h',
'MTProxyConnectivity.h',
'MTGzip.h',
'MTDatacenterVerificationData.h',
'MTPKCS.h',
"MtProtoKit/MTTime.h",
"MtProtoKit/MTTimer.h",
"MtProtoKit/MTLogging.h",
"MtProtoKit/MTEncryption.h",
"MtProtoKit/MTInternalId.h",
"MtProtoKit/MTQueue.h",
"MtProtoKit/MTOutputStream.h",
"MtProtoKit/MTInputStream.h",
"MtProtoKit/MTSerialization.h",
"MtProtoKit/MTExportedAuthorizationData.h",
"MtProtoKit/MTRpcError.h",
"MtProtoKit/MTKeychain.h",
"MtProtoKit/MTFileBasedKeychain.h",
"MtProtoKit/MTContext.h",
"MtProtoKit/MTTransportScheme.h",
"MtProtoKit/MTDatacenterTransferAuthAction.h",
"MtProtoKit/MTDatacenterAuthAction.h",
"MtProtoKit/MTDatacenterAuthMessageService.h",
"MtProtoKit/MTDatacenterAddress.h",
"MtProtoKit/MTDatacenterAddressSet.h",
"MtProtoKit/MTDatacenterAuthInfo.h",
"MtProtoKit/MTDatacenterSaltInfo.h",
"MtProtoKit/MTDatacenterAddressListData.h",
"MtProtoKit/MTProto.h",
"MtProtoKit/MTSessionInfo.h",
"MtProtoKit/MTTimeFixContext.h",
"MtProtoKit/MTPreparedMessage.h",
"MtProtoKit/MTOutgoingMessage.h",
"MtProtoKit/MTIncomingMessage.h",
"MtProtoKit/MTMessageEncryptionKey.h",
"MtProtoKit/MTMessageService.h",
"MtProtoKit/MTMessageTransaction.h",
"MtProtoKit/MTTimeSyncMessageService.h",
"MtProtoKit/MTRequestMessageService.h",
"MtProtoKit/MTRequest.h",
"MtProtoKit/MTRequestContext.h",
"MtProtoKit/MTRequestErrorContext.h",
"MtProtoKit/MTDropResponseContext.h",
"MtProtoKit/MTApiEnvironment.h",
"MtProtoKit/MTResendMessageService.h",
"MtProtoKit/MTNetworkAvailability.h",
"MtProtoKit/MTTransport.h",
"MtProtoKit/MTTransportTransaction.h",
"MtProtoKit/MTTcpTransport.h",
"MtProtoKit/MTHttpRequestOperation.h",
"MTAtomic.h",
"MTBag.h",
"MTDisposable.h",
"MTSubscriber.h",
"MTSignal.h",
"MTNetworkUsageCalculationInfo.h",
"MTNetworkUsageManager.h",
"MTBackupAddressSignals.h",
"thirdparty/AFNetworking/AFURLConnectionOperation.h",
"thirdparty/AFNetworking/AFHTTPRequestOperation.h",
"MTProxyConnectivity.h",
"MTGzip.h",
"MTDatacenterVerificationData.h",
"MTPKCS.h",
],
modular = True,
compiler_flags = ['-w'],
preprocessor_flags = ['-fobjc-arc'],
visibility = ['PUBLIC'],
visibility = ["PUBLIC"],
deps = [
':openssl',
":openssl",
],
frameworks = [
'$SDKROOT/System/Library/Frameworks/Foundation.framework',
'$SDKROOT/System/Library/Frameworks/Security.framework',
"$SDKROOT/System/Library/Frameworks/Foundation.framework",
"$SDKROOT/System/Library/Frameworks/Security.framework",
],
)

View File

@ -0,0 +1,26 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleDevelopmentRegion</key>
<string>en</string>
<key>CFBundleExecutable</key>
<string>$(EXECUTABLE_NAME)</string>
<key>CFBundleIdentifier</key>
<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
<string>$(PRODUCT_NAME)</string>
<key>CFBundlePackageType</key>
<string>FMWK</string>
<key>CFBundleShortVersionString</key>
<string>1.0</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleVersion</key>
<string>$(CURRENT_PROJECT_VERSION)</string>
<key>NSPrincipalClass</key>
<string></string>
</dict>
</plist>

View File

@ -1,39 +1,18 @@
#import "MTDiscoverConnectionSignals.h"
#import "MTTcpConnection.h"
#if defined(MtProtoKitDynamicFramework)
# import <MTProtoKitDynamic/MTTransportScheme.h>
# import <MTProtoKitDynamic/MTTcpTransport.h>
# import <MTProtoKitDynamic/MTQueue.h>
# import <MTProtoKitDynamic/MTProtoKitDynamic.h>
#elif defined(MtProtoKitMacFramework)
# import <MTProtoKitMac/MTTransportScheme.h>
# import <MTProtoKitMac/MTTcpTransport.h>
# import <MTProtoKitMac/MTQueue.h>
# import <MTProtoKitMac/MTProtoKitMac.h>
#else
# import <MtProtoKit/MTTransportScheme.h>
# import <MtProtoKit/MTTcpTransport.h>
# import <MtProtoKit/MTQueue.h>
# import <MtProtoKit/MTProtoKit.h>
#endif
#import "MTTransportScheme.h"
#import "MTTcpTransport.h"
#import "MTQueue.h"
#import "MTDatacenterAddress.h"
#if defined(MtProtoKitDynamicFramework)
# import <MTProtoKitDynamic/MTDisposable.h>
# import <MTProtoKitDynamic/MTSignal.h>
# import <MTProtoKitDynamic/MTAtomic.h>
#elif defined(MtProtoKitMacFramework)
# import <MTProtoKitMac/MTDisposable.h>
# import <MTProtoKitMac/MTSignal.h>
# import <MTProtoKitMac/MTAtomic.h>
#else
# import <MtProtoKit/MTDisposable.h>
# import <MtProtoKit/MTSignal.h>
# import <MtProtoKit/MTAtomic.h>
#endif
#import "MTDisposable.h"
#import "MTSignal.h"
#import "MTAtomic.h"
#import "MTContext.h"
#import "MTApiEnvironment.h"
#import "MTLogging.h"
#import <netinet/in.h>
#import <arpa/inet.h>

View File

@ -20,17 +20,8 @@
#import "MTAes.h"
#import "MTEncryption.h"
#if defined(MtProtoKitDynamicFramework)
# import <MTProtoKitDynamic/MTSignal.h>
# import <MTProtoKitDynamic/MTDNS.h>
#elif defined(MtProtoKitMacFramework)
# import <MTProtoKitMac/MTSignal.h>
# import <MTProtoKitMac/MTDNS.h>
#else
# import <MtProtoKit/MTSignal.h>
# import <MtProtoKit/MTDNS.h>
#endif
#import "MTSignal.h"
#import "MTDNS.h"
@interface MTTcpConnectionData : NSObject

View File

@ -1,34 +1,13 @@
#import "MTProxyConnectivity.h"
#if defined(MtProtoKitDynamicFramework)
# import <MTProtoKitDynamic/MTSignal.h>
# import <MTProtoKitDynamic/MTQueue.h>
# import <MTProtoKitDynamic/MTContext.h>
# import <MTProtoKitDynamic/MTApiEnvironment.h>
# import <MTProtoKitDynamic/MTDatacenterAddressSet.h>
# import <MTProtoKitDynamic/MTDatacenterAddress.h>
# import <MTProtoKitDynamic/MTTcpConnection.h>
# import <MTProtoKitDynamic/MTTransportScheme.h>
#elif defined(MtProtoKitMacFramework)
# import <MTProtoKitMac/MTSignal.h>
# import <MTProtoKitMac/MTQueue.h>
# import <MTProtoKitMac/MTContext.h>
# import <MTProtoKitMac/MTApiEnvironment.h>
# import <MTProtoKitMac/MTDatacenterAddressSet.h>
# import <MTProtoKitMac/MTDatacenterAddress.h>
# import <MTProtoKitMac/MTTcpConnection.h>
# import <MTProtoKitMac/MTTransportScheme.h>
#else
# import <MtProtoKit/MTSignal.h>
# import <MtProtoKit/MTQueue.h>
# import <MtProtoKit/MTContext.h>
# import <MtProtoKit/MTApiEnvironment.h>
# import <MtProtoKit/MTDatacenterAddressSet.h>
# import <MtProtoKit/MTDatacenterAddress.h>
# import <MtProtoKit/MTTcpConnection.h>
# import <MtProtoKit/MTTransportScheme.h>
#endif
#import "MTSignal.h"
#import "MTQueue.h"
#import "MTContext.h"
#import "MTApiEnvironment.h"
#import "MTDatacenterAddressSet.h"
#import "MTDatacenterAddress.h"
#import "MTTcpConnection.h"
#import "MTTransportScheme.h"
#import "MTDiscoverConnectionSignals.h"
@implementation MTProxyConnectivityStatus

View File

@ -1,14 +1,10 @@
#import "MTSignal.h"
#if defined(MtProtoKitDynamicFramework)
# import <MTProtoKitDynamic/MTProtoKitDynamic.h>
#elif defined(MtProtoKitMacFramework)
# import <MTProtoKitMac/MTProtoKitMac.h>
#else
# import <MtProtoKit/MTProtoKit.h>
#endif
#import <libkern/OSAtomic.h>
#import "MTTimer.h"
#import "MTQueue.h"
#import "MTAtomic.h"
#import "MTBag.h"
@interface MTSubscriberDisposable : NSObject <MTDisposable>
{

View File

@ -463,8 +463,8 @@
D0CD98CD1D74BA9700F41187 /* MTTcpConnectionBehaviour.m in Sources */ = {isa = PBXBuildFile; fileRef = D063A39818B1650400C65116 /* MTTcpConnectionBehaviour.m */; };
D0CD98DE1D74BAEA00F41187 /* AFHTTPRequestOperation.m in Sources */ = {isa = PBXBuildFile; fileRef = D05A84EC18AFF259007F1076 /* AFHTTPRequestOperation.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; };
D0CD98DF1D74BAEA00F41187 /* AFURLConnectionOperation.m in Sources */ = {isa = PBXBuildFile; fileRef = D05A84F518AFF259007F1076 /* AFURLConnectionOperation.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; };
D0CD98E21D74BAEB00F41187 /* AFHTTPRequestOperation.m in Sources */ = {isa = PBXBuildFile; fileRef = D05A84EC18AFF259007F1076 /* AFHTTPRequestOperation.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; };
D0CD98E31D74BAEB00F41187 /* AFURLConnectionOperation.m in Sources */ = {isa = PBXBuildFile; fileRef = D05A84F518AFF259007F1076 /* AFURLConnectionOperation.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; };
D0CD98E21D74BAEB00F41187 /* AFHTTPRequestOperation.m in Sources */ = {isa = PBXBuildFile; fileRef = D05A84EC18AFF259007F1076 /* AFHTTPRequestOperation.m */; };
D0CD98E31D74BAEB00F41187 /* AFURLConnectionOperation.m in Sources */ = {isa = PBXBuildFile; fileRef = D05A84F518AFF259007F1076 /* AFURLConnectionOperation.m */; };
D0CD98E41D74BAF400F41187 /* GCDAsyncSocket.m in Sources */ = {isa = PBXBuildFile; fileRef = D05A84F818AFF259007F1076 /* GCDAsyncSocket.m */; };
D0CD98E51D74BAF400F41187 /* GCDAsyncSocket.m in Sources */ = {isa = PBXBuildFile; fileRef = D05A84F818AFF259007F1076 /* GCDAsyncSocket.m */; };
D0CD98E81D75C0BB00F41187 /* MTMessageService.h in Headers */ = {isa = PBXBuildFile; fileRef = D063A35018B1631900C65116 /* MTMessageService.h */; settings = {ATTRIBUTES = (Public, ); }; };

View File

@ -187,8 +187,6 @@ static inline BOOL AFStateTransitionIsValid(AFOperationState fromState, AFOperat
if (_outputStream) {
[_outputStream close];
}
[super dealloc];
}

View File

@ -1,18 +0,0 @@
SHARED_CONFIGS = {
'IPHONEOS_DEPLOYMENT_TARGET': '8.0', # common target version
'SDKROOT': 'iphoneos', # platform
'GCC_OPTIMIZATION_LEVEL': '0', # clang optimization
'SWIFT_OPTIMIZATION_LEVEL': '-Onone', # swiftc optimization
'SWIFT_WHOLE_MODULE_OPTIMIZATION': 'NO', # for build performance
'ONLY_ACTIVE_ARCH': 'YES',
'LD_RUNPATH_SEARCH_PATHS': '@executable_path/Frameworks', # To allow source files in binary
}
LIB_SPECIFIC_CONFIG = {
'SKIP_INSTALL': 'YES',
}
EXTENSION_LIB_SPECIFIC_CONFIG = {
'SKIP_INSTALL': 'YES',
'APPLICATION_EXTENSION_API_ONLY': 'YES',
}

13
tools/defs.bzl Normal file
View File

@ -0,0 +1,13 @@
XCODE_BINARY_CONFIG = {
'IPHONEOS_DEPLOYMENT_TARGET': '8.0',
'SDKROOT': 'iphoneos',
'GCC_OPTIMIZATION_LEVEL': '0',
'SWIFT_OPTIMIZATION_LEVEL': '-Onone',
'SWIFT_WHOLE_MODULE_OPTIMIZATION': 'NO',
'ONLY_ACTIVE_ARCH': 'YES',
'LD_RUNPATH_SEARCH_PATHS': '@executable_path/Frameworks',
}
XCODE_STATIC_LIBRARY_CONFIG = {
'SKIP_INSTALL': 'YES',
}

0
tools/targets.bzl Normal file
View File

View File

@ -1,10 +1,5 @@
OTHER_LINKER_FLAGS_KEY = 'OTHER_LDFLAGS'
# Either appends or assigns `other_linker_flags` to `config` under `config_key`.
# Params:
# - config: A dictionary of config names and their values
# - additional_linker_flags: A string-representable value of additional linker flags
# - config_key: The key to which to append or assign the additional linker flags
def config_with_updated_linker_flags(config, other_linker_flags, config_key=OTHER_LINKER_FLAGS_KEY):
new_config = { }
config_key_found = False
@ -21,8 +16,8 @@ def config_with_updated_linker_flags(config, other_linker_flags, config_key=OTHE
return new_config
# Creates a dictionary where the top level keys are the supported build configurations and the value of each key is `config`.
def configs_with_config(config):
def xcode_configs(config):
return {
"Debug": config,
"Profile": config,
@ -42,19 +37,11 @@ def merge_maps(dicts):
result.update(d)
return result
def basename(p):
"""Returns the basename (i.e., the file portion) of a path.
Note that if `p` ends with a slash, this function returns an empty string.
This matches the behavior of Python's `os.path.basename`, but differs from
the Unix `basename` command (which would return the path segment preceding
the final slash).
Args:
p: The path whose basename should be returned.
Returns:
The basename of the path, which includes the extension.
"""
return p.rpartition("/")[-1]
def glob_map(glob_results):
result = dict()
for path in glob_results:
@ -64,6 +51,7 @@ def glob_map(glob_results):
result[file_name] = path
return result
def glob_sub_map(prefix, glob_specs):
result = dict()
for path in native.glob(glob_specs):
@ -75,6 +63,7 @@ def glob_sub_map(prefix, glob_specs):
result[file_key] = path
return result
def gen_header_targets(header_paths, prefix, flavor, source_rule, source_path):
result = dict()
for header_path in header_paths:
@ -87,6 +76,7 @@ def gen_header_targets(header_paths, prefix, flavor, source_rule, source_path):
result[header_path] = ':' + name + flavor
return result
def lib_basename(name):
result = name
if result.startswith('lib'):
@ -95,12 +85,14 @@ def lib_basename(name):
result = result[:-2]
return result
def combined_config(dicts):
result = dict()
for d in dicts:
result.update(d)
return result
valid_build_variants = ['project', 'release']
def get_build_variant():