| # 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 interface is implemented directly in Java. |
| if (!is_android) { |
| source_set("battery") { |
| visibility = [ |
| "//services/device:lib", |
| "//services/device:tests", |
| ] |
| |
| sources = [ |
| "battery_monitor_impl.cc", |
| "battery_monitor_impl.h", |
| "battery_status_manager.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", |
| ] |
| |
| public_deps = [ |
| "//services/device/public/mojom", |
| ] |
| |
| deps = [ |
| "//base", |
| "//base/third_party/dynamic_annotations", |
| "//mojo/public/cpp/bindings", |
| ] |
| |
| if (is_chromeos) { |
| configs += [ "//build/config/linux/dbus" ] |
| deps += [ |
| "//chromeos/dbus/power", |
| "//chromeos/dbus/power: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" ] |
| } |
| } |
| } |