| # 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-inl.h", |
| "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/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" ] |
| libs = [ |
| "CoreFoundation.framework", |
| "IOKit.framework", |
| ] |
| } |
| |
| if (is_win) { |
| sources -= [ "battery_status_manager_default.cc" ] |
| } |
| } |
| } |
| |
| mojom("mojo_bindings") { |
| sources = [ |
| "battery_monitor.mojom", |
| "battery_status.mojom", |
| ] |
| |
| use_new_wrapper_types = false |
| } |