121 lines
4.4 KiB
Plaintext
121 lines
4.4 KiB
Plaintext
# Copyright (c) 2019 The Brave Authors. All rights reserved.
|
|
# This Source Code Form is subject to the terms of the Mozilla Public
|
|
# License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
|
|
|
import("//brave/build/rust/config.gni")
|
|
import("//brave/ios/browser/api/ads/headers.gni")
|
|
import("//brave/ios/browser/api/brave_shields/headers.gni")
|
|
import("//brave/ios/browser/api/brave_stats/headers.gni")
|
|
import("//brave/ios/browser/api/brave_wallet/headers.gni")
|
|
import("//brave/ios/browser/api/certificate/headers.gni")
|
|
import("//brave/ios/browser/api/favicon/headers.gni")
|
|
import("//brave/ios/browser/api/ledger/headers.gni")
|
|
import("//brave/ios/browser/api/opentabs/headers.gni")
|
|
import("//brave/ios/browser/api/qr_code/headers.gni")
|
|
import("//brave/ios/browser/api/skus/headers.gni")
|
|
import("//brave/ios/browser/api/url/headers.gni")
|
|
import("//build/config/compiler/compiler.gni")
|
|
import("//build/config/ios/rules.gni")
|
|
|
|
# lld is required when building arm64 with optimization in order to avoid
|
|
# runtime crashes
|
|
assert(is_debug || current_cpu != "arm64" || use_lld,
|
|
"Optimized arm64 iOS builds require lld")
|
|
|
|
config("internal_config") {
|
|
visibility = [ ":*" ]
|
|
ldflags =
|
|
[ "-Wl,-rpath,/usr/lib/swift,-rpath,@executable_path/../Frameworks" ]
|
|
if (!use_lld) {
|
|
ldflags += [ "-Wl,-no_compact_unwind" ]
|
|
}
|
|
ldflags += [
|
|
# prevent export of all rust symbols
|
|
"-Wl,-unexported_symbols_list," +
|
|
rebase_path(unexport_list_path, root_build_dir),
|
|
]
|
|
}
|
|
|
|
group("brave_ios") {
|
|
public_deps = [ ":brave_core_ios_framework" ]
|
|
}
|
|
|
|
group("brave_ios_tests") {
|
|
testonly = true
|
|
public_deps = [ "testing:brave_core_ios_tests" ]
|
|
}
|
|
|
|
brave_core_public_headers = [
|
|
"//brave/build/ios/mojom/public/base/base_values.h",
|
|
"//brave/ios/app/brave_core_main.h",
|
|
"//brave/ios/browser/brave_wallet/brave_wallet_factory_wrappers.h",
|
|
"//brave/ios/browser/skus/skus_sdk_factory_wrappers.h",
|
|
"//brave/ios/browser/api/bookmarks/brave_bookmarks_api.h",
|
|
"//brave/ios/browser/api/bookmarks/brave_bookmarks_observer.h",
|
|
"//brave/ios/browser/api/bookmarks/importer/brave_bookmarks_importer.h",
|
|
"//brave/ios/browser/api/bookmarks/exporter/brave_bookmarks_exporter.h",
|
|
"//brave/ios/browser/api/history/brave_history_api.h",
|
|
"//brave/ios/browser/api/history/brave_history_observer.h",
|
|
"//brave/ios/browser/api/net/certificate_utility.h",
|
|
"//brave/ios/browser/api/password/brave_password_api.h",
|
|
"//brave/ios/browser/api/password/brave_password_observer.h",
|
|
"//brave/ios/browser/api/sync/brave_sync_api.h",
|
|
"//brave/ios/browser/api/sync/brave_sync_internals.h",
|
|
"//brave/ios/browser/api/sync/driver/brave_sync_profile_service.h",
|
|
"//brave/ios/browser/keyed_service/keyed_service_factory_wrapper.h",
|
|
"//brave/ios/browser/api/version_info/version_info_ios.h",
|
|
]
|
|
|
|
brave_core_public_headers += ads_public_headers
|
|
brave_core_public_headers += brave_shields_public_headers
|
|
brave_core_public_headers += brave_stats_public_headers
|
|
brave_core_public_headers += brave_wallet_public_headers
|
|
brave_core_public_headers += browser_api_certificate_public_headers
|
|
brave_core_public_headers += browser_api_favicon_public_headers
|
|
brave_core_public_headers += ledger_public_headers
|
|
brave_core_public_headers += browser_api_opentabs_public_headers
|
|
brave_core_public_headers += browser_api_qr_code_public_headers
|
|
brave_core_public_headers += skus_public_headers
|
|
brave_core_public_headers += browser_api_url_public_headers
|
|
|
|
action("brave_core_umbrella_header") {
|
|
script = "//build/config/ios/generate_umbrella_header.py"
|
|
|
|
full_header_path = target_gen_dir + "/BraveCore.h"
|
|
outputs = [ full_header_path ]
|
|
|
|
args = [
|
|
"--output-path",
|
|
rebase_path(full_header_path, root_build_dir),
|
|
]
|
|
|
|
args += rebase_path(brave_core_public_headers, root_build_dir)
|
|
}
|
|
|
|
ios_framework_bundle("brave_core_ios_framework") {
|
|
output_name = "BraveCore"
|
|
output_dir = root_out_dir
|
|
|
|
info_plist = "Info.plist"
|
|
|
|
configs += [ ":internal_config" ]
|
|
configs += [ "//build/config/compiler:enable_arc" ]
|
|
|
|
deps = [
|
|
":brave_core_umbrella_header",
|
|
"//brave/build/rust:generate_unexport_list",
|
|
"//brave/ios/app",
|
|
]
|
|
|
|
deps += ads_public_deps
|
|
deps += brave_wallet_public_deps
|
|
deps += ledger_public_deps
|
|
deps += skus_public_deps
|
|
|
|
sources = brave_core_public_headers
|
|
|
|
public_headers = get_target_outputs(":brave_core_umbrella_header")
|
|
public_headers += brave_core_public_headers
|
|
}
|