summaryrefslogtreecommitdiffstats
path: root/chromeos/BUILD.gn
diff options
context:
space:
mode:
Diffstat (limited to 'chromeos/BUILD.gn')
-rw-r--r--chromeos/BUILD.gn178
1 files changed, 178 insertions, 0 deletions
diff --git a/chromeos/BUILD.gn b/chromeos/BUILD.gn
index c237ca1..d6aeda5 100644
--- a/chromeos/BUILD.gn
+++ b/chromeos/BUILD.gn
@@ -2,8 +2,167 @@
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
+import("//build/config/allocator.gni")
+import("//build/config/ui.gni")
import("//third_party/protobuf/proto_library.gni")
+gypi_values = exec_script(
+ "//build/gypi_to_gn.py",
+ [ rebase_path("chromeos.gyp") ],
+ "scope",
+ [ "chromeos.gyp" ])
+
+component("chromeos") {
+ configs += [
+ "//build/config/linux:dbus",
+ "//net/third_party/nss/ssl:ssl_config",
+ ]
+ deps = [
+ "//base",
+ "//base:prefs",
+ "//base/third_party/dynamic_annotations",
+ "//chromeos/ime:gencode",
+ "//components/policy/proto",
+ "//components/onc",
+ "//crypto",
+ "//dbus",
+ "//google_apis",
+ "//net/third_party/nss/ssl:libssl",
+ "//third_party/icu",
+ "//third_party/libxml",
+ "//third_party/protobuf:protobuf_lite",
+ "//ui/accelerometer",
+ "//url",
+ ":cryptohome_proto",
+ ":power_manager_proto"
+ ]
+ sources = gypi_values.chromeos_sources
+ defines = [ "CHROMEOS_IMPLEMENTATION" ]
+ if (use_x11) {
+ configs += [ "//build/config/linux:x11" ]
+ deps += [ "//ui/gfx/x" ]
+ sources -= [ "ime/ime_keyboard_ozone.cc" ]
+ } else {
+ sources -= [
+ "ime/keyboard_controller.cc",
+ "ime/ime_keyboard_x11.cc",
+ ]
+ }
+}
+
+static_library("test_support") {
+ testonly = true
+ configs += [
+ "//build/config/linux:dbus",
+ ]
+ deps = [
+ "//testing/gmock",
+ ":chromeos",
+ ":cryptohome_proto",
+ ":power_manager_proto",
+ ":test_support_without_gmock",
+ ]
+ sources = [
+ "attestation/mock_attestation_flow.cc",
+ "attestation/mock_attestation_flow.h",
+ "chromeos_test_utils.cc",
+ "chromeos_test_utils.h",
+ "cryptohome/mock_async_method_caller.cc",
+ "cryptohome/mock_async_method_caller.h",
+ "cryptohome/mock_homedir_methods.cc",
+ "cryptohome/mock_homedir_methods.h",
+ "dbus/mock_cryptohome_client.cc",
+ "dbus/mock_cryptohome_client.h",
+ "dbus/mock_session_manager_client.cc",
+ "dbus/mock_session_manager_client.h",
+ "dbus/mock_shill_manager_client.cc",
+ "dbus/mock_shill_manager_client.h",
+ "dbus/mock_shill_profile_client.cc",
+ "dbus/mock_shill_profile_client.h",
+ "dbus/mock_shill_service_client.cc",
+ "dbus/mock_shill_service_client.h",
+ "disks/mock_disk_mount_manager.cc",
+ "disks/mock_disk_mount_manager.h",
+ "ime/mock_component_extension_ime_manager_delegate.cc",
+ "ime/mock_component_extension_ime_manager_delegate.h",
+ "login/auth/mock_auth_attempt_state_resolver.cc",
+ "login/auth/mock_auth_attempt_state_resolver.h",
+ "login/auth/mock_auth_status_consumer.cc",
+ "login/auth/mock_auth_status_consumer.h",
+ "login/auth/mock_authenticator.cc",
+ "login/auth/mock_authenticator.h",
+ "login/auth/mock_url_fetchers.cc",
+ "login/auth/mock_url_fetchers.h",
+ "network/fake_network_device_handler.cc",
+ "network/fake_network_device_handler.h",
+ "network/mock_managed_network_configuration_handler.cc",
+ "network/mock_managed_network_configuration_handler.h",
+ "network/onc/onc_test_utils.cc",
+ "network/onc/onc_test_utils.h",
+ "system/mock_statistics_provider.cc",
+ "system/mock_statistics_provider.h",
+ ]
+}
+
+static_library("test_support_without_gmock") {
+ testonly = true
+ configs += [
+ "//build/config/linux:dbus",
+ ]
+ deps = [
+ "//crypto",
+ ":chromeos",
+ ":cryptohome_proto",
+ ":power_manager_proto",
+ ]
+ sources = [
+ "dbus/fake_cros_disks_client.cc",
+ "dbus/fake_cros_disks_client.h",
+ "dbus/fake_power_manager_client.cc",
+ "dbus/fake_power_manager_client.h",
+ "dbus/fake_session_manager_client.cc",
+ "dbus/fake_session_manager_client.h",
+ "dbus/fake_shill_manager_client.cc",
+ "dbus/fake_shill_manager_client.h",
+ "dbus/fake_update_engine_client.cc",
+ "dbus/fake_update_engine_client.h",
+ "ime/fake_input_method_delegate.cc",
+ "ime/fake_input_method_delegate.h",
+ ]
+}
+
+test("chromeos_unittests") {
+ configs += [
+ "//build/config/linux:dbus",
+ "//net/third_party/nss/ssl:ssl_config",
+ ]
+ deps = [
+ "//base/test:run_all_unittests",
+ "//base/test:test_support",
+ "//components/onc",
+ "//content/test:test_support",
+ "//crypto",
+ "//crypto:test_support",
+ "//dbus:test_support",
+ "//google_apis",
+ "//net",
+ "//net:test_support",
+ "//testing/gmock",
+ "//testing/gtest",
+ "//url",
+ ":cryptohome_proto",
+ ":power_manager_proto",
+ ":test_support",
+ ]
+ sources = gypi_values.chromeos_test_sources
+ if (use_allocator != "none") {
+ deps += [ "//base/allocator" ]
+ }
+ if (use_x11) {
+ deps += [ "//ui/gfx/x" ]
+ }
+}
+
proto_library("power_manager_proto") {
sources = [
"//third_party/cros_system_api/dbus/power_manager/input_event.proto",
@@ -12,4 +171,23 @@ proto_library("power_manager_proto") {
"//third_party/cros_system_api/dbus/power_manager/power_supply_properties.proto",
"//third_party/cros_system_api/dbus/power_manager/suspend.proto",
]
+
+ proto_out_dir = "chromeos/dbus/power_manager"
+}
+
+proto_library("cryptohome_proto") {
+ sources = [
+ "//third_party/cros_system_api/dbus/cryptohome/key.proto",
+ "//third_party/cros_system_api/dbus/cryptohome/rpc.proto",
+ ]
+
+ proto_out_dir = "chromeos/dbus/cryptohome"
+}
+
+proto_library("cryptohome_signkey_proto") {
+ sources = [
+ "//third_party/cros_system_api/dbus/cryptohome/signed_secret.proto",
+ ]
+
+ proto_out_dir = "chromeos/dbus/cryptohome"
}