blob: bc0b3a0c44c77d0e360e489b604e8a417111c482 [file] [log] [blame]
Avi Drissman8ba1bad2022-09-13 19:22:361# Copyright 2019 The Chromium Authors
Ryan Powell30287d42019-08-15 15:48:322# Use of this source code is governed by a BSD-style license that can be
3# found in the LICENSE file.
4
Yuta Hijikata000df18f2020-11-18 06:55:585import("//build/config/chromeos/ui_mode.gni")
6
Ryan Powell30287d42019-08-15 15:48:327source_set("memory_pressure") {
8 sources = [
Sebastien Marchandfcd25482021-05-03 16:19:469 "memory_pressure_level_reporter.cc",
10 "memory_pressure_level_reporter.h",
Ryan Powell30287d42019-08-15 15:48:3211 "memory_pressure_voter.cc",
12 "memory_pressure_voter.h",
13 "multi_source_memory_pressure_monitor.cc",
14 "multi_source_memory_pressure_monitor.h",
Ryan Powella68d66fc2019-08-19 21:32:3915 "system_memory_pressure_evaluator.cc",
16 "system_memory_pressure_evaluator.h",
Ryan Powell30287d42019-08-15 15:48:3217 ]
18
Yuta Hijikata000df18f2020-11-18 06:55:5819 deps = [
20 "//base",
21 "//build:chromeos_buildflags",
22 ]
Weze8b1e1a2020-02-17 16:14:2923
Sylvain Defresne13c9a332019-10-30 18:25:1224 if (is_win) {
25 sources += [
26 "system_memory_pressure_evaluator_win.cc",
27 "system_memory_pressure_evaluator_win.h",
28 ]
29 }
30
31 if (is_mac) {
32 sources += [
33 "system_memory_pressure_evaluator_mac.cc",
34 "system_memory_pressure_evaluator_mac.h",
35 ]
36 }
37
Weze8b1e1a2020-02-17 16:14:2938 if (is_fuchsia) {
39 deps += [
Wez174807c42020-03-01 21:00:3040 "//third_party/fuchsia-sdk/sdk/fidl/fuchsia.memorypressure",
41 "//third_party/fuchsia-sdk/sdk/pkg/sys_cpp",
Weze8b1e1a2020-02-17 16:14:2942 ]
43 sources += [
44 "system_memory_pressure_evaluator_fuchsia.cc",
45 "system_memory_pressure_evaluator_fuchsia.h",
46 ]
47 }
Kirill Ovchinnikov692ce632020-08-27 22:29:3248
Yuta Hijikata000df18f2020-11-18 06:55:5849 if (is_linux || is_chromeos_lacros) {
Kirill Ovchinnikov692ce632020-08-27 22:29:3250 sources += [
51 "system_memory_pressure_evaluator_linux.cc",
52 "system_memory_pressure_evaluator_linux.h",
53 ]
54 }
Ryan Powell30287d42019-08-15 15:48:3255}
56
Albert J. Wong23183a12021-08-13 00:23:3557source_set("unit_tests") {
Ryan Powell30287d42019-08-15 15:48:3258 testonly = true
Wez861e2922020-03-01 21:14:0059
Ryan Powell30287d42019-08-15 15:48:3260 sources = [
Sebastien Marchandfcd25482021-05-03 16:19:4661 "memory_pressure_level_reporter_unittest.cc",
Ryan Powell30287d42019-08-15 15:48:3262 "memory_pressure_voter_unittest.cc",
63 "multi_source_memory_pressure_monitor_unittest.cc",
64 ]
65
Wez861e2922020-03-01 21:14:0066 deps = [
67 ":memory_pressure",
68 "//base",
69 "//base/test:test_support",
70 "//testing/gmock",
71 "//testing/gtest",
72 ]
73
Sylvain Defresne13c9a332019-10-30 18:25:1274 if (is_win) {
75 sources += [ "system_memory_pressure_evaluator_win_unittest.cc" ]
76 }
77
78 if (is_mac) {
79 sources += [ "system_memory_pressure_evaluator_mac_unittest.cc" ]
80 }
81
Wez861e2922020-03-01 21:14:0082 if (is_fuchsia) {
83 deps += [ "//third_party/fuchsia-sdk/sdk/fidl/fuchsia.memorypressure" ]
84 sources += [ "system_memory_pressure_evaluator_fuchsia_unittest.cc" ]
85 }
Kirill Ovchinnikov692ce632020-08-27 22:29:3286
Yuta Hijikata000df18f2020-11-18 06:55:5887 if (is_linux || is_chromeos_lacros) {
Kirill Ovchinnikov692ce632020-08-27 22:29:3288 sources += [ "system_memory_pressure_evaluator_linux_unittest.cc" ]
89 }
Ryan Powell30287d42019-08-15 15:48:3290}
Sebastien Marchand1e9276e2019-10-08 00:03:5091
92static_library("test_support") {
93 testonly = true
94 sources = [
95 "fake_memory_pressure_monitor.cc",
96 "fake_memory_pressure_monitor.h",
97 ]
98
99 public_deps = [
100 ":memory_pressure",
101 "//base",
102 ]
103}