| # Copyright 2017 The Fuchsia 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("//src/sys/build/components.gni") |
| |
| # Split out so that unittests can reference it. |
| source_set("categories") { |
| sources = [ |
| "categories.cc", |
| "categories.h", |
| "category-db.cc", |
| ] |
| |
| if (current_cpu == "arm64") { |
| sources += [ |
| "arm64-category-db.cc", |
| "arm64-events.h", |
| "arm64-pm-categories.inc", |
| "arm64-timebase-categories.inc", |
| ] |
| } |
| |
| if (current_cpu == "x64") { |
| sources += [ |
| "intel-category-db.cc", |
| "intel-events.h", |
| "intel-pm-categories.inc", |
| "intel-timebase-categories.inc", |
| "skylake-misc-categories.inc", |
| "skylake-pm-categories.inc", |
| ] |
| } |
| |
| deps = [ |
| "//src/lib/fxl", |
| "//zircon/public/lib/fbl", |
| ] |
| |
| public_deps = [ |
| "//garnet/lib/perfmon", |
| "//zircon/public/lib/zircon-internal", |
| "//zircon/system/ulib/trace", |
| ] |
| |
| # TODO(fxbug.dev/58162): delete the below and fix compiler warnings |
| configs += [ "//build/config:Wno-conversion" ] |
| } |
| |
| executable("bin") { |
| output_name = "cpuperf_provider" |
| |
| sources = [ |
| "app.cc", |
| "app.h", |
| "importer.cc", |
| "importer.h", |
| "main.cc", |
| ] |
| |
| deps = [ |
| ":categories", |
| "//garnet/lib/perfmon", |
| "//sdk/lib/sys/cpp", |
| "//src/lib/fxl", |
| "//zircon/public/lib/zircon-internal", |
| "//zircon/system/ulib/async-loop:async-loop-cpp", |
| "//zircon/system/ulib/async-loop:async-loop-default", |
| "//zircon/system/ulib/trace", |
| "//zircon/system/ulib/trace-provider:trace-provider-with-fdio", |
| ] |
| |
| # TODO(fxbug.dev/58162): delete the below and fix compiler warnings |
| configs += [ "//build/config:Wno-conversion" ] |
| } |
| |
| fuchsia_package_with_single_component("cpuperf_provider") { |
| manifest = "meta/cpuperf_provider.cmx" |
| deps = [ ":bin" ] |
| } |
| |
| group("report_generators") { |
| deps = [ "//garnet/bin/cpuperf_provider/report-generators/tally" ] |
| } |
| |
| executable("cpuperf_provider_tests_bin") { |
| testonly = true |
| output_name = "cpuperf_provider_tests" |
| |
| sources = [ "categories_unittest.cc" ] |
| |
| deps = [ |
| ":categories", |
| "//src/lib/fxl/test:gtest_main", |
| ] |
| } |
| |
| if (current_cpu == "x64") { |
| executable("cpuperf_provider_integration_tests_bin") { |
| testonly = true |
| output_name = "cpuperf_provider_integration_tests" |
| |
| sources = [ "cpuperf_provider_integration_tests.cc" ] |
| |
| deps = [ |
| "//garnet/lib/perfmon", |
| "//src/developer/tracing/lib/test_utils", |
| "//src/lib/fxl", |
| "//src/lib/fxl/test:test_settings", |
| "//third_party/googletest:gtest", |
| "//zircon/public/lib/zx", |
| "//zircon/system/ulib/trace-reader", |
| ] |
| } |
| |
| fuchsia_test_component("cpuperf_provider_integration_tests_component") { |
| component_name = "cpuperf_provider_integration_tests" |
| manifest = "meta/cpuperf_provider_integration_tests.cmx" |
| deps = [ ":cpuperf_provider_integration_tests_bin" ] |
| } |
| } |
| |
| fuchsia_unittest_component("cpuperf_provider_tests_component") { |
| component_name = "cpuperf_provider_tests" |
| manifest = "meta/cpuperf_provider_tests.cmx" |
| deps = [ ":cpuperf_provider_tests_bin" ] |
| } |
| |
| fuchsia_test_package("cpuperf_provider_tests") { |
| test_components = [ ":cpuperf_provider_tests_component" ] |
| if (current_cpu == "x64") { |
| test_components += [ ":cpuperf_provider_integration_tests_component" ] |
| } |
| test_specs = { |
| environments = basic_envs |
| } |
| } |