# 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("//mojo/public/tools/bindings/mojom.gni") # On android, BatteryManager mojo service is implemented directly in Java. if (!is_android) { component("battery") { output_name = "device_battery" sources = [ "battery_export.h", "battery_monitor_impl.cc", "battery_monitor_impl.h", "battery_status_manager_chromeos.cc", "battery_status_manager_default.cc", "battery_status_manager_linux.cc", "battery_status_manager_linux.h", "battery_status_manager_mac.cc", "battery_status_manager_win.cc", "battery_status_manager_win.h", "battery_status_service.cc", "battery_status_service.h", ] defines = [ "DEVICE_BATTERY_IMPLEMENTATION" ] deps = [ ":mojo_bindings", "//base", "//base/third_party/dynamic_annotations", "//mojo/edk/system", "//mojo/public/cpp/bindings", ] if (is_chromeos) { configs += [ "//build/config/linux:dbus" ] deps += [ "//chromeos:chromeos", "//chromeos:power_manager_proto", ] sources -= [ "battery_status_manager_default.cc", "battery_status_manager_linux.cc", ] } if (is_linux && !is_chromeos) { if (use_dbus) { configs += [ "//build/config/linux:dbus" ] deps += [ "//dbus" ] sources -= [ "battery_status_manager_default.cc" ] } else { sources -= [ "battery_status_manager_linux.cc" ] } } if (is_mac) { sources -= [ "battery_status_manager_default.cc" ] } if (is_win) { sources -= [ "battery_status_manager_default.cc" ] } } } mojom("mojo_bindings") { sources = [ "battery_monitor.mojom", "battery_status.mojom", ] }