mirror of
https://github.com/Swiftgram/Telegram-iOS.git
synced 2025-06-16 05:55:20 +00:00
Support weak framework
This commit is contained in:
parent
8c36cc4b57
commit
35eb70621e
2
BUCK
2
BUCK
@ -509,4 +509,4 @@ xcode_workspace_config(
|
||||
name = "workspace",
|
||||
workspace_name = "Telegram_Buck",
|
||||
src_target = ":Telegram",
|
||||
)
|
||||
)
|
||||
|
@ -11,6 +11,7 @@ def apple_lib(
|
||||
exported_deps = [],
|
||||
additional_linker_flags = None,
|
||||
frameworks = [],
|
||||
weak_frameworks = [],
|
||||
swift_version = None,
|
||||
modular = True,
|
||||
compiler_flags = None,
|
||||
@ -23,6 +24,8 @@ def apple_lib(
|
||||
swift_version = swift_version or native.read_config('swift', 'version')
|
||||
swift_compiler_flags = swift_compiler_flags or []
|
||||
|
||||
resolved_frameworks = frameworks
|
||||
|
||||
if native.read_config("xcode", "beta") == "True":
|
||||
warning_as_error = False
|
||||
|
||||
@ -59,8 +62,12 @@ def apple_lib(
|
||||
|
||||
if native.read_config("custom", "mode") == "project":
|
||||
resolved_linker_flags = linker_flags + additional_linker_flags + ["-Wl,-install_name,@rpath/lib%s.dylib" % (name)]
|
||||
resolved_frameworks = resolved_frameworks + ["$SDKROOT/System/Library/Frameworks/%s.framework" % x for x in weak_frameworks]
|
||||
else:
|
||||
resolved_linker_flags = linker_flags + additional_linker_flags + ["-Wl,-install_name,@rpath/%s.framework/%s" % (name, name)]
|
||||
for framework in weak_frameworks:
|
||||
resolved_linker_flags = resolved_linker_flags + ["-Wl,-weak_framework,%s" % framework]
|
||||
|
||||
native.apple_library(
|
||||
name = name + "",
|
||||
srcs = srcs,
|
||||
@ -72,7 +79,7 @@ def apple_lib(
|
||||
deps = deps,
|
||||
exported_deps = exported_deps,
|
||||
extra_xcode_files = extra_xcode_files,
|
||||
frameworks = frameworks,
|
||||
frameworks = resolved_frameworks,
|
||||
visibility = visibility,
|
||||
swift_version = swift_version,
|
||||
configs = dynamic_library_configs(),
|
||||
@ -95,6 +102,13 @@ def apple_lib(
|
||||
linker_flags = []
|
||||
|
||||
resolved_exported_linker_flags = linker_flags + additional_linker_flags
|
||||
|
||||
if native.read_config("custom", "mode") == "project":
|
||||
resolved_frameworks = resolved_frameworks + ["$SDKROOT/System/Library/Frameworks/%s.framework" % x for x in weak_frameworks]
|
||||
else:
|
||||
for framework in weak_frameworks:
|
||||
resolved_exported_linker_flags = resolved_exported_linker_flags + ["-Wl,-weak_framework,%s" % framework]
|
||||
|
||||
native.apple_library(
|
||||
name = name,
|
||||
srcs = srcs,
|
||||
@ -104,7 +118,7 @@ def apple_lib(
|
||||
exported_deps = exported_deps,
|
||||
exported_linker_flags = resolved_exported_linker_flags,
|
||||
extra_xcode_files = extra_xcode_files,
|
||||
frameworks = frameworks,
|
||||
frameworks = resolved_frameworks,
|
||||
visibility = visibility,
|
||||
swift_version = swift_version,
|
||||
configs = library_configs(),
|
||||
@ -126,6 +140,7 @@ def static_library(
|
||||
deps = [],
|
||||
additional_linker_flags = None,
|
||||
frameworks = [],
|
||||
weak_frameworks = [],
|
||||
info_plist = None,
|
||||
info_plist_substitutions = {},
|
||||
modular = True,
|
||||
@ -148,6 +163,7 @@ def static_library(
|
||||
deps = deps,
|
||||
additional_linker_flags = additional_linker_flags,
|
||||
frameworks = frameworks,
|
||||
weak_frameworks = weak_frameworks,
|
||||
warning_as_error = warning_as_error,
|
||||
suppress_warnings = suppress_warnings
|
||||
)
|
||||
@ -164,6 +180,7 @@ def framework(
|
||||
exported_deps = [],
|
||||
additional_linker_flags = None,
|
||||
frameworks = [],
|
||||
weak_frameworks = [],
|
||||
info_plist = None,
|
||||
info_plist_substitutions = {},
|
||||
modular = True,
|
||||
@ -187,6 +204,7 @@ def framework(
|
||||
exported_deps = exported_deps,
|
||||
additional_linker_flags = additional_linker_flags,
|
||||
frameworks = frameworks,
|
||||
weak_frameworks = weak_frameworks,
|
||||
warning_as_error = warning_as_error,
|
||||
suppress_warnings = suppress_warnings,
|
||||
framework = True
|
||||
|
72
Makefile
72
Makefile
@ -122,6 +122,32 @@ build_debug_arm64: check_env
|
||||
//:IntentsExtension#dwarf-and-dsym,iphoneos-arm64 \
|
||||
${BUCK_OPTIONS} ${BUCK_DEBUG_OPTIONS} ${BUCK_THREADS_OPTIONS} ${BUCK_CACHE_OPTIONS}
|
||||
|
||||
build_debug_armv7: check_env
|
||||
$(BUCK) build \
|
||||
//:AppPackage#iphoneos-armv7 \
|
||||
//:Telegram#dwarf-and-dsym,iphoneos-armv7 \
|
||||
//submodules/MtProtoKit:MtProtoKit#dwarf-and-dsym,shared,iphoneos-armv7 \
|
||||
//submodules/MtProtoKit:MtProtoKit#shared,iphoneos-armv7 \
|
||||
//submodules/SSignalKit/SwiftSignalKit:SwiftSignalKit#dwarf-and-dsym,shared,iphoneos-armv7 \
|
||||
//submodules/SSignalKit/SwiftSignalKit:SwiftSignalKit#shared,iphoneos-armv7 \
|
||||
//submodules/Postbox:Postbox#dwarf-and-dsym,shared,iphoneos-armv7 \
|
||||
//submodules/Postbox:Postbox#shared,iphoneos-armv7 \
|
||||
//submodules/TelegramCore:TelegramCore#dwarf-and-dsym,shared,iphoneos-armv7 \
|
||||
//submodules/TelegramCore:TelegramCore#shared,iphoneos-armv7 \
|
||||
//submodules/AsyncDisplayKit:AsyncDisplayKit#dwarf-and-dsym,shared,iphoneos-armv7 \
|
||||
//submodules/AsyncDisplayKit:AsyncDisplayKit#shared,iphoneos-armv7 \
|
||||
//submodules/Display:Display#dwarf-and-dsym,shared,iphoneos-armv7 \
|
||||
//submodules/Display:Display#shared,iphoneos-armv7 \
|
||||
//submodules/TelegramUI:TelegramUI#dwarf-and-dsym,shared,iphoneos-armv7 \
|
||||
//submodules/TelegramUI:TelegramUI#shared,iphoneos-armv7 \
|
||||
//:WatchAppExtension#dwarf-and-dsym,watchos-armv7_32,watchos-armv7k \
|
||||
//:ShareExtension#dwarf-and-dsym,iphoneos-armv7 \
|
||||
//:WidgetExtension#dwarf-and-dsym,iphoneos-armv7 \
|
||||
//:NotificationContentExtension#dwarf-and-dsym,iphoneos-armv7 \
|
||||
//:NotificationServiceExtension#dwarf-and-dsym,iphoneos-armv7 \
|
||||
//:IntentsExtension#dwarf-and-dsym,iphoneos-armv7 \
|
||||
${BUCK_OPTIONS} ${BUCK_DEBUG_OPTIONS} ${BUCK_THREADS_OPTIONS} ${BUCK_CACHE_OPTIONS}
|
||||
|
||||
build: check_env
|
||||
$(BUCK) build \
|
||||
//:AppPackage#iphoneos-arm64,iphoneos-armv7 \
|
||||
@ -168,6 +194,26 @@ package_arm64:
|
||||
PACKAGE_BUNDLE_ID="${BUNDLE_ID}" \
|
||||
sh package_app.sh iphoneos-arm64 $(BUCK) $(BUCK_OPTIONS) ${BUCK_RELEASE_OPTIONS}
|
||||
|
||||
package_armv7:
|
||||
PACKAGE_DEVELOPMENT_TEAM="${DEVELOPMENT_TEAM}" \
|
||||
PACKAGE_CODE_SIGN_IDENTITY="${DISTRIBUTION_CODE_SIGN_IDENTITY}" \
|
||||
PACKAGE_PROVISIONING_PROFILE_APP="${DISTRIBUTION_PROVISIONING_PROFILE_APP}" \
|
||||
PACKAGE_ENTITLEMENTS_APP="${ENTITLEMENTS_APP}" \
|
||||
PACKAGE_PROVISIONING_PROFILE_EXTENSION_Share="${DISTRIBUTION_PROVISIONING_PROFILE_EXTENSION_SHARE}" \
|
||||
PACKAGE_ENTITLEMENTS_EXTENSION_Share="${ENTITLEMENTS_EXTENSION_SHARE}" \
|
||||
PACKAGE_PROVISIONING_PROFILE_EXTENSION_Widget="${DISTRIBUTION_PROVISIONING_PROFILE_EXTENSION_WIDGET}" \
|
||||
PACKAGE_ENTITLEMENTS_EXTENSION_Widget="${ENTITLEMENTS_EXTENSION_WIDGET}" \
|
||||
PACKAGE_PROVISIONING_PROFILE_EXTENSION_NotificationService="${DISTRIBUTION_PROVISIONING_PROFILE_EXTENSION_NOTIFICATIONSERVICE}" \
|
||||
PACKAGE_ENTITLEMENTS_EXTENSION_NotificationService="${ENTITLEMENTS_EXTENSION_NOTIFICATIONSERVICE}" \
|
||||
PACKAGE_PROVISIONING_PROFILE_EXTENSION_NotificationContent="${DISTRIBUTION_PROVISIONING_PROFILE_EXTENSION_NOTIFICATIONCONTENT}" \
|
||||
PACKAGE_ENTITLEMENTS_EXTENSION_NotificationContent="${ENTITLEMENTS_EXTENSION_NOTIFICATIONCONTENT}" \
|
||||
PACKAGE_PROVISIONING_PROFILE_EXTENSION_Intents="${DISTRIBUTION_PROVISIONING_PROFILE_EXTENSION_INTENTS}" \
|
||||
PACKAGE_ENTITLEMENTS_EXTENSION_Intents="${ENTITLEMENTS_EXTENSION_INTENTS}" \
|
||||
PACKAGE_PROVISIONING_PROFILE_WATCH_APP="${DISTRIBUTION_PROVISIONING_PROFILE_WATCH_APP}" \
|
||||
PACKAGE_PROVISIONING_PROFILE_WATCH_EXTENSION="${DISTRIBUTION_PROVISIONING_PROFILE_WATCH_EXTENSION}" \
|
||||
PACKAGE_BUNDLE_ID="${BUNDLE_ID}" \
|
||||
sh package_app.sh iphoneos-armv7 $(BUCK) $(BUCK_OPTIONS) ${BUCK_RELEASE_OPTIONS}
|
||||
|
||||
package_debug_arm64:
|
||||
PACKAGE_DEVELOPMENT_TEAM="${DEVELOPMENT_TEAM}" \
|
||||
PACKAGE_CODE_SIGN_IDENTITY="${DEVELOPMENT_CODE_SIGN_IDENTITY}" \
|
||||
@ -184,12 +230,34 @@ package_debug_arm64:
|
||||
PACKAGE_PROVISIONING_PROFILE_EXTENSION_Intents="${DEVELOPMENT_PROVISIONING_PROFILE_EXTENSION_INTENTS}" \
|
||||
PACKAGE_ENTITLEMENTS_EXTENSION_Intents="${ENTITLEMENTS_EXTENSION_INTENTS}" \
|
||||
PACKAGE_PROVISIONING_PROFILE_WATCH_APP="${DEVELOPMENT_PROVISIONING_PROFILE_WATCH_APP}" \
|
||||
PACKAGE_PROVISIONING_PROFILE_WATCH_EXTENSION="${DISTRIBUTION_PROVISIONING_PROFILE_WATCH_EXTENSION}" \
|
||||
PACKAGE_PROVISIONING_PROFILE_WATCH_EXTENSION="${DEVELOPMENT_PROVISIONING_PROFILE_WATCH_EXTENSION}" \
|
||||
PACKAGE_BUNDLE_ID="${BUNDLE_ID}" \
|
||||
ENABLE_GET_TASK_ALLOW=1 \
|
||||
CODESIGNING_PROFILES_VARIANT="development" \
|
||||
sh package_app.sh iphoneos-arm64 $(BUCK) $(BUCK_OPTIONS) ${BUCK_RELEASE_OPTIONS}
|
||||
|
||||
package_debug_armv7:
|
||||
PACKAGE_DEVELOPMENT_TEAM="${DEVELOPMENT_TEAM}" \
|
||||
PACKAGE_CODE_SIGN_IDENTITY="${DEVELOPMENT_CODE_SIGN_IDENTITY}" \
|
||||
PACKAGE_PROVISIONING_PROFILE_APP="${DEVELOPMENT_PROVISIONING_PROFILE_APP}" \
|
||||
PACKAGE_ENTITLEMENTS_APP="${ENTITLEMENTS_APP}" \
|
||||
PACKAGE_PROVISIONING_PROFILE_EXTENSION_Share="${DEVELOPMENT_PROVISIONING_PROFILE_EXTENSION_SHARE}" \
|
||||
PACKAGE_ENTITLEMENTS_EXTENSION_Share="${ENTITLEMENTS_EXTENSION_SHARE}" \
|
||||
PACKAGE_PROVISIONING_PROFILE_EXTENSION_Widget="${DEVELOPMENT_PROVISIONING_PROFILE_EXTENSION_WIDGET}" \
|
||||
PACKAGE_ENTITLEMENTS_EXTENSION_Widget="${ENTITLEMENTS_EXTENSION_WIDGET}" \
|
||||
PACKAGE_PROVISIONING_PROFILE_EXTENSION_NotificationService="${DEVELOPMENT_PROVISIONING_PROFILE_EXTENSION_NOTIFICATIONSERVICE}" \
|
||||
PACKAGE_ENTITLEMENTS_EXTENSION_NotificationService="${ENTITLEMENTS_EXTENSION_NOTIFICATIONSERVICE}" \
|
||||
PACKAGE_PROVISIONING_PROFILE_EXTENSION_NotificationContent="${DEVELOPMENT_PROVISIONING_PROFILE_EXTENSION_NOTIFICATIONCONTENT}" \
|
||||
PACKAGE_ENTITLEMENTS_EXTENSION_NotificationContent="${ENTITLEMENTS_EXTENSION_NOTIFICATIONCONTENT}" \
|
||||
PACKAGE_PROVISIONING_PROFILE_EXTENSION_Intents="${DEVELOPMENT_PROVISIONING_PROFILE_EXTENSION_INTENTS}" \
|
||||
PACKAGE_ENTITLEMENTS_EXTENSION_Intents="${ENTITLEMENTS_EXTENSION_INTENTS}" \
|
||||
PACKAGE_PROVISIONING_PROFILE_WATCH_APP="${DEVELOPMENT_PROVISIONING_PROFILE_WATCH_APP}" \
|
||||
PACKAGE_PROVISIONING_PROFILE_WATCH_EXTENSION="${DEVELOPMENT_PROVISIONING_PROFILE_WATCH_EXTENSION}" \
|
||||
PACKAGE_BUNDLE_ID="${BUNDLE_ID}" \
|
||||
ENABLE_GET_TASK_ALLOW=0 \
|
||||
CODESIGNING_PROFILES_VARIANT="development" \
|
||||
sh package_app.sh iphoneos-armv7 $(BUCK) $(BUCK_OPTIONS) ${BUCK_RELEASE_OPTIONS}
|
||||
|
||||
package:
|
||||
PACKAGE_DEVELOPMENT_TEAM="${DEVELOPMENT_TEAM}" \
|
||||
PACKAGE_CODE_SIGN_IDENTITY="${DISTRIBUTION_CODE_SIGN_IDENTITY}" \
|
||||
@ -216,6 +284,8 @@ app_arm64: build_arm64 package_arm64
|
||||
|
||||
app_debug_arm64: build_debug_arm64 package_debug_arm64
|
||||
|
||||
app_debug_armv7: build_debug_armv7 package_debug_armv7
|
||||
|
||||
build_buckdebug: check_env
|
||||
BUCK_DEBUG_MODE=1 $(BUCK) build \
|
||||
//:AppPackage#iphoneos-arm64 \
|
||||
|
@ -111,7 +111,7 @@ else
|
||||
RESULT_IPA_NAME="Telegram-iOS-Hockeyapp-Internal.ipa"
|
||||
RESULT_DSYM_NAME="Telegram-iOS-Hockeyapp-Internal.app.dSYM.zip"
|
||||
FASTLANE_BUILD_CONFIGURATION="internalhockeyapp"
|
||||
APP_TARGET="app_arm64"
|
||||
APP_TARGET="app"
|
||||
elif [ "$1" == "appstore" ]; then
|
||||
BUILD_ENV_SCRIPT="appstore"
|
||||
RESULT_IPA_NAME="Telegram-iOS-AppStoreLLC.ipa"
|
||||
|
@ -18,6 +18,8 @@ static_library(
|
||||
],
|
||||
frameworks = [
|
||||
"$SDKROOT/System/Library/Frameworks/Foundation.framework",
|
||||
"$SDKROOT/System/Library/Frameworks/Contacts.framework",
|
||||
],
|
||||
weak_frameworks = [
|
||||
"Contacts",
|
||||
],
|
||||
)
|
||||
|
@ -12,6 +12,8 @@ static_library(
|
||||
],
|
||||
frameworks = [
|
||||
"$SDKROOT/System/Library/Frameworks/Foundation.framework",
|
||||
"$SDKROOT/System/Library/Frameworks/CloudKit.framework",
|
||||
],
|
||||
weak_frameworks = [
|
||||
"CloudKit",
|
||||
],
|
||||
)
|
||||
|
@ -364,6 +364,8 @@ static_library(
|
||||
frameworks = [
|
||||
"$SDKROOT/System/Library/Frameworks/Foundation.framework",
|
||||
"$SDKROOT/System/Library/Frameworks/UIKit.framework",
|
||||
"$SDKROOT/System/Library/Frameworks/Vision.framework",
|
||||
],
|
||||
weak_frameworks = [
|
||||
"Vision",
|
||||
],
|
||||
)
|
||||
|
@ -188,11 +188,13 @@ framework(
|
||||
"$SDKROOT/System/Library/Frameworks/Foundation.framework",
|
||||
"$SDKROOT/System/Library/Frameworks/UIKit.framework",
|
||||
"$SDKROOT/System/Library/Frameworks/CoreAudio.framework",
|
||||
"$SDKROOT/System/Library/Frameworks/CallKit.framework",
|
||||
"$SDKROOT/System/Library/Frameworks/Contacts.framework",
|
||||
"$SDKROOT/System/Library/Frameworks/PassKit.framework",
|
||||
"$SDKROOT/System/Library/Frameworks/WebKit.framework",
|
||||
"$SDKROOT/System/Library/Frameworks/Vision.framework",
|
||||
"$SDKROOT/System/Library/Frameworks/PushKit.framework",
|
||||
],
|
||||
weak_frameworks = [
|
||||
"Vision",
|
||||
"PushKit",
|
||||
"CallKit",
|
||||
"PassKit",
|
||||
"Contacts",
|
||||
],
|
||||
)
|
||||
|
Loading…
x
Reference in New Issue
Block a user