Index: device/power_save_blocker/BUILD.gn |
diff --git a/device/power_save_blocker/BUILD.gn b/device/power_save_blocker/BUILD.gn |
new file mode 100644 |
index 0000000000000000000000000000000000000000..ab77ac23b2c8c72d106c73f3412d79dee92246d6 |
--- /dev/null |
+++ b/device/power_save_blocker/BUILD.gn |
@@ -0,0 +1,89 @@ |
+# Copyright 2016 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") |
+ |
+if (is_android) { |
+ import("//build/config/android/rules.gni") |
+} |
+ |
+component("power_save_blocker") { |
+ sources = [ |
+ "power_save_blocker.h", |
+ "power_save_blocker_android.cc", |
+ "power_save_blocker_android.h", |
+ "power_save_blocker_chromeos.cc", |
+ "power_save_blocker_impl.cc", |
+ "power_save_blocker_impl.h", |
+ "power_save_blocker_mac.cc", |
+ "power_save_blocker_ozone.cc", |
+ "power_save_blocker_win.cc", |
+ "power_save_blocker_x11.cc", |
+ ] |
+ |
+ defines = [ "DEVICE_POWER_SAVE_BLOCKER_IMPLEMENTATION" ] |
+ |
+ deps = [ |
+ "//base", |
+ ] |
+ |
+ if (use_dbus) { |
+ deps += [ "//dbus" ] |
+ } |
+ |
+ if (use_x11) { |
+ configs += [ "//build/config/linux:x11" ] |
+ if (!is_chromeos) { |
+ configs += [ "//build/config/linux:xscrnsaver" ] |
+ } |
+ deps += [ "//ui/gfx/x" ] |
+ } |
+ |
+ # Dealing with power_save_blocker_{x11,ozone}.cc is a little complicated |
+ # given the interaction between os_chromeos and the feature flags for X11 and |
+ # ozone, so do it all in one spot. |
+ if (is_chromeos || !use_ozone) { |
+ sources -= [ "power_save_blocker_ozone.cc" ] |
+ } |
+ if (is_chromeos || !use_x11) { |
+ sources -= [ "power_save_blocker_x11.cc" ] |
+ } |
+ |
+ if (is_android) { |
+ sources += [ |
+ "power_save_blocker_jni_registrar.cc", |
+ "power_save_blocker_jni_registrar.h", |
+ ] |
+ |
+ deps += [ |
+ ":jni_headers", |
+ "//ui/android", |
+ ] |
+ } |
+ |
+ if (is_chromeos) { |
+ deps += [ |
+ "//chromeos", |
+ "//chromeos:power_manager_proto", |
+ ] |
+ } |
+} |
+ |
+if (is_android) { |
+ java_sources_needing_jni = [ "android/java/src/org/chromium/device/power_save_blocker/PowerSaveBlocker.java" ] |
+ |
+ generate_jni("jni_headers") { |
+ sources = java_sources_needing_jni |
+ jni_package = "device" |
+ } |
+ |
+ android_library("java") { |
+ java_files = java_sources_needing_jni |
+ deps = [ |
+ "//base:base_java", |
+ "//ui/android:ui_java", |
+ ] |
+ } |
+} |