blob: b5c55b03ae42a4efacc26ecb72b80b6375cb0bfa [file] [log] [blame]
# 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.
{
'variables': {
'chromium_code': 1,
},
'targets': [
{
# GN version: //device/battery:battery_mojo
'target_name': 'device_battery_mojo_bindings',
'type': 'static_library',
'includes': [
'../../third_party/mojo/mojom_bindings_generator.gypi',
],
'sources': [
'battery_monitor.mojom',
'battery_status.mojom',
],
},
{
# This is needed only for a build within Android tree. TODO(ppi): remove
# when Android tree build is deprecated.
'target_name': 'device_battery_mojo_bindings_for_webview',
'type': 'none',
'dependencies': [
'device_battery_mojo_bindings',
],
'actions': [
{
# Dummy action that triggers the bindings generation and explicitly
# declares the java outputs, so that they are discoverable to make.
'action_name': 'device_battery_mojo_bindings_dummy_action',
'inputs': [
'<(SHARED_INTERMEDIATE_DIR)/device/battery/battery_monitor.mojom.h',
'<(SHARED_INTERMEDIATE_DIR)/device/battery/battery_status.mojom.h',
],
'outputs': [
'<(SHARED_INTERMEDIATE_DIR)/java_mojo/device_battery_mojo_bindings/src/org/chromium/mojom/device/BatteryMonitor.java',
'<(SHARED_INTERMEDIATE_DIR)/java_mojo/device_battery_mojo_bindings/src/org/chromium/mojom/device/BatteryMonitor_Internal.java',
'<(SHARED_INTERMEDIATE_DIR)/java_mojo/device_battery_mojo_bindings/src/org/chromium/mojom/device/BatteryStatusObserver.java',
'<(SHARED_INTERMEDIATE_DIR)/java_mojo/device_battery_mojo_bindings/src/org/chromium/mojom/device/BatteryStatusObserver_Internal.java',
'<(SHARED_INTERMEDIATE_DIR)/java_mojo/device_battery_mojo_bindings/src/org/chromium/mojom/device/BatteryStatus.java',
],
'action': ['touch', '<@(_outputs)'],
},
],
'hard_dependency': 1,
},
{
# GN version: //device/battery
'target_name': 'device_battery',
'type': '<(component)',
'dependencies': [
'../../base/base.gyp:base',
'../../base/third_party/dynamic_annotations/dynamic_annotations.gyp:dynamic_annotations',
'../../mojo/mojo_base.gyp:mojo_environment_chromium',
'../../third_party/mojo/mojo_edk.gyp:mojo_system_impl',
'../../third_party/mojo/mojo_public.gyp:mojo_cpp_bindings',
'device_battery_mojo_bindings',
],
'defines': [
'DEVICE_BATTERY_IMPLEMENTATION',
],
'sources': [
'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_manager.h',
'battery_status_service.cc',
'battery_status_service.h',
],
'conditions': [
['chromeos==1', {
'dependencies': [
'../../build/linux/system.gyp:dbus',
'../../chromeos/chromeos.gyp:chromeos',
'../../chromeos/chromeos.gyp:power_manager_proto',
],
'sources!': [
'battery_status_manager_default.cc',
'battery_status_manager_linux.cc',
],
}],
['OS == "linux" and use_dbus==1', {
'sources!': [
'battery_status_manager_default.cc',
],
'dependencies': [
'../../build/linux/system.gyp:dbus',
'../../dbus/dbus.gyp:dbus',
],
}, { # OS != "linux" or use_dbus==0
'sources!': [
'battery_status_manager_linux.cc',
],
}],
['OS == "mac"', {
'sources!': [
'battery_status_manager_default.cc',
],
}],
['OS == "win"', {
'sources!': [
'battery_status_manager_default.cc',
],
}],
],
},
],
'conditions': [
['OS == "android"', {
'targets': [
{
'target_name': 'device_battery_java',
'type': 'none',
'dependencies': [
'../../base/base.gyp:base',
'../../third_party/mojo/mojo_public.gyp:mojo_bindings_java',
'device_battery_mojo_bindings',
],
'variables': {
'java_in_dir': '../../device/battery/android/java',
},
'includes': [ '../../build/java.gypi' ],
},
{
'target_name': 'device_battery_javatests',
'type': 'none',
'variables': {
'java_in_dir': '../../device/battery/android/javatests',
},
'dependencies': [
'../../base/base.gyp:base',
'../../base/base.gyp:base_java_test_support',
'device_battery_java',
],
'includes': [ '../../build/java.gypi' ],
},
],
}],
],
}