# Copyright 2014 The Chromium Authors. All rights reserved. # Use of this source code is governed by a BSD-style license that can be # found in the LICENSE file. import("//build/config/features.gni") import("//build/config/ui.gni") import("//chrome/chrome_tests.gni") import("//media/media_options.gni") import("//third_party/protobuf/proto_library.gni") gypi_values = exec_script("//build/gypi_to_gn.py", [ rebase_path("../../chrome_browser_chromeos.gypi") ], "scope", [ "../../chrome_browser_chromeos.gypi" ]) source_set("chromeos") { assert(enable_extensions, "ChromeOS Chrome has to be built with extensions") configs += [ "//build/config/compiler:wexit_time_destructors" ] public_deps = [ "//ash/resources", "//ash/strings", "//chrome/app/resources:platform_locale_settings", "//chrome/app/theme:theme_resources", "//chrome:extra_resources", "//chrome:resources", "//chrome:strings", "//components/wallpaper", "//content/app/resources", "//ui/chromeos/resources", "//ui/chromeos/strings", "//ui/resources", "//ui/strings", ] deps = [ # TODO(tbarzic): Cleanup this list. ":attestation_proto", ":device_policy_proto", "//ash", "//ash:ash_with_content", "//build/linux:fontconfig", "//components/drive", "//components/flags_ui", "//components/login", "//components/session_manager/core", "//components/user_manager", "//components/wifi_sync", "//chrome/browser/devtools", "//chrome/browser/extensions", "//chrome/browser/safe_browsing:chunk_proto", "//chrome/browser/safe_browsing:metadata_proto", "//chrome/browser/safe_browsing:report_proto", "//chrome/common", "//chrome/common/extensions/api", "//chrome/common/extensions/api:api_registration", "//chrome/common/net", "//chrome/installer/util", "//chromeos", "//chromeos/ime:gencode", "//chromeos:cryptohome_proto", "//chromeos:cryptohome_signkey_proto", "//chromeos:power_manager_proto", "//components/certificate_reporting:cert_logger_proto", "//components/certificate_reporting:encrypted_cert_logger_proto", "//components/onc", "//components/ownership", "//components/pairing", "//components/policy", "//components/proxy_config", # This depends directly on the variations target, rather than just # transitively via the common target because the proto sources need to # be generated before code in this target can start building. "//components/strings", "//components/variations", "//content/public/browser", "//content/public/common", "//crypto", "//dbus", "//device/bluetooth", "//device/hid", "//media", "//media/mojo/interfaces", "//net", "//ppapi/proxy:ipc", # For PpapiMsg_LoadPlugin # TODO: care about enable_basic_printing and enable_print_preview. "//printing", "//skia", "//storage/browser", "//storage/common", "//sync", "//third_party/adobe/flash:flapper_version_h", "//third_party/cacheinvalidation", "//third_party/icu", "//third_party/leveldatabase", "//third_party/libjingle", "//third_party/libusb", "//third_party/protobuf:protobuf_lite", "//third_party/protobuf:protoc($host_toolchain)", "//third_party/re2", "//third_party/zlib", "//ui/app_list", "//ui/aura", "//ui/base", "//ui/chromeos:ui_chromeos", "//ui/compositor", "//ui/display", "//ui/events/devices", "//ui/events/platform", "//ui/events:dom_keycode_converter", "//ui/file_manager", "//ui/message_center", "//ui/surface", "//ui/views", "//ui/views/controls/webview", "//ui/web_dialogs", "//url", "//v8", ] defines = [] sources = rebase_path(gypi_values.browser_chromeos_sources, ".", "//chrome") + rebase_path(gypi_values.browser_chromeos_extension_sources, ".", "//chrome") if (use_x11) { configs += [ "//build/config/linux:x11" ] deps += [ "//ui/events/devices" ] sources -= [ "system/input_device_settings_impl_ozone.cc", "system_logs/touch_log_source_ozone.cc", ] } else { assert(use_ozone, "Either use_x11 or use_ozone has to be specified.") deps += [ "//ui/ozone" ] sources -= [ "device_uma.cc", "device_uma.h", "events/system_key_event_listener.cc", "events/system_key_event_listener.h", "events/xinput_hierarchy_changed_event_listener.cc", "events/xinput_hierarchy_changed_event_listener.h", "system/input_device_settings_impl_x11.cc", "system_logs/touch_log_source_x11.cc", ] } if (use_cras) { defines += [ "USE_CRAS" ] } if (ui_compositor_image_transport) { deps += [ "//ui/gl" ] } } source_set("unit_tests") { testonly = true sources = rebase_path( chrome_tests_unit_gypi_values.chrome_unit_tests_chromeos_sources, ".", "//chrome") public_deps = [ ":chromeos", ] deps = [ ":attestation_proto", ":device_policy_proto", "//ash/resources", "//components/drive", "//components/policy", "//components/invalidation/public", "//components/resources", "//crypto:platform", "//dbus", "//skia", "//sync", "//testing/gmock", "//testing/gtest", "//third_party/leveldatabase", "//third_party/mojo/src/mojo/public/cpp/system:system", "//ui/chromeos/resources", ] } proto_library("device_policy_proto") { sources = [ "policy/proto/chrome_device_policy.proto", "policy/proto/install_attributes.proto", ] } proto_library("attestation_proto") { sources = [ "attestation/attestation_key_payload.proto", "attestation/attestation_signed_data.proto", ] }