1//
2// Copyright (C) 2017 The Android Open Source Project
3//
4// Licensed under the Apache License, Version 2.0 (the "License");
5// you may not use this file except in compliance with the License.
6// You may obtain a copy of the License at
7//
8//      http://www.apache.org/licenses/LICENSE-2.0
9//
10// Unless required by applicable law or agreed to in writing, software
11// distributed under the License is distributed on an "AS IS" BASIS,
12// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13// See the License for the specific language governing permissions and
14// limitations under the License.
15//
16
17package {
18    // See: http://go/android-license-faq
19    // A large-scale-change added 'default_applicable_licenses' to import
20    // all of the 'license_kinds' from "art_license"
21    // to get the below license kinds:
22    //   SPDX-license-identifier-Apache-2.0
23    default_applicable_licenses: ["art_license"],
24    default_team: "trendy_team_art_performance",
25}
26
27cc_defaults {
28    name: "dexoptanalyzer-defaults",
29    host_supported: true,
30    defaults: ["art_defaults"],
31    srcs: [
32        "dexoptanalyzer.cc",
33    ],
34
35    target: {
36        android: {
37            compile_multilib: "first",
38        },
39    },
40
41    shared_libs: [
42        "libbase",
43    ],
44}
45
46cc_library_headers {
47    name: "dexoptanalyzer_headers",
48    defaults: ["art_defaults"],
49    export_include_dirs: ["."],
50    host_supported: true,
51    apex_available: [
52        "com.android.art.debug",
53        "com.android.art",
54    ],
55}
56
57art_cc_binary {
58    name: "dexoptanalyzer",
59    defaults: ["dexoptanalyzer-defaults"],
60    shared_libs: [
61        "libart",
62        "libartbase",
63    ],
64    apex_available: [
65        "com.android.art",
66        "com.android.art.debug",
67    ],
68}
69
70art_cc_binary {
71    name: "dexoptanalyzerd",
72    defaults: [
73        "art_debug_defaults",
74        "dexoptanalyzer-defaults",
75    ],
76    shared_libs: [
77        "libartd",
78        "libartbased",
79    ],
80    apex_available: [
81        "com.android.art.debug",
82    ],
83}
84
85art_cc_defaults {
86    name: "art_dexoptanalyzer_tests_defaults",
87    defaults: [
88        "art_libunwindstack_static_defaults", // Must be statically linked in standalone tests
89    ],
90    data: [
91        ":art-gtest-jars-LinkageTest",
92        ":art-gtest-jars-Main",
93        ":art-gtest-jars-MainStripped",
94        ":art-gtest-jars-MultiDex",
95        ":art-gtest-jars-MultiDexModifiedSecondary",
96        ":art-gtest-jars-MyClassNatives",
97        ":art-gtest-jars-Nested",
98        ":art-gtest-jars-VerifierDeps",
99        ":art-gtest-jars-VerifierDepsMulti",
100    ],
101    srcs: ["dexoptanalyzer_test.cc"],
102    target: {
103        host: {
104            required: [
105                "dex2oatd",
106                "dexoptanalyzerd",
107            ],
108        },
109    },
110}
111
112// Version of ART gtest `art_dexoptanalyzer_tests` bundled with the ART APEX on target.
113// TODO(b/192274705): Remove this module when the migration to standalone ART gtests is complete.
114art_cc_test {
115    name: "art_dexoptanalyzer_tests",
116    defaults: [
117        "art_gtest_defaults",
118        "art_dexoptanalyzer_tests_defaults",
119    ],
120}
121
122// Standalone version of ART gtest `art_dexoptanalyzer_tests`, not bundled with the ART APEX on
123// target.
124art_cc_test {
125    name: "art_standalone_dexoptanalyzer_tests",
126    defaults: [
127        "art_standalone_gtest_defaults",
128        "art_dexoptanalyzer_tests_defaults",
129    ],
130    data: [":generate-boot-image"],
131    test_config_template: "art_standalone_dexoptanalyzer_tests.xml",
132}
133