Files
brave-core/ios/BUILD.gn
T
Brandon-T 284d63cb34 [iOS] - Certificate Pinning Parity (#9781)
* Added certificate pinning and conversions.
2022-08-11 09:37:45 -04:00

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
}