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}
25
26cc_defaults {
27    name: "dexoptanalyzer-defaults",
28    host_supported: true,
29    defaults: ["art_defaults"],
30    srcs: [
31        "dexoptanalyzer.cc",
32    ],
33
34    target: {
35        android: {
36            compile_multilib: "first",
37        },
38    },
39
40    shared_libs: [
41        "libbase",
42    ],
43}
44
45cc_library_headers {
46    name: "dexoptanalyzer_headers",
47    export_include_dirs: ["."],
48    host_supported: true,
49    apex_available: [
50        "com.android.art.debug",
51        "com.android.art",
52    ],
53    min_sdk_version: "S",
54}
55
56art_cc_binary {
57    name: "dexoptanalyzer",
58    defaults: ["dexoptanalyzer-defaults"],
59    shared_libs: [
60        "libart",
61        "libartbase",
62    ],
63    apex_available: [
64        "com.android.art",
65        "com.android.art.debug",
66    ],
67}
68
69art_cc_binary {
70    name: "dexoptanalyzerd",
71    defaults: [
72        "art_debug_defaults",
73        "dexoptanalyzer-defaults",
74    ],
75    shared_libs: [
76        "libartd",
77        "libartbased",
78    ],
79    apex_available: [
80        "com.android.art.debug",
81    ],
82}
83
84art_cc_defaults {
85    name: "art_dexoptanalyzer_tests_defaults",
86    shared_libs: [
87        "libbacktrace",
88    ],
89    data: [
90        ":art-gtest-jars-LinkageTest",
91        ":art-gtest-jars-Main",
92        ":art-gtest-jars-MainStripped",
93        ":art-gtest-jars-MultiDex",
94        ":art-gtest-jars-MultiDexModifiedSecondary",
95        ":art-gtest-jars-MyClassNatives",
96        ":art-gtest-jars-Nested",
97        ":art-gtest-jars-VerifierDeps",
98        ":art-gtest-jars-VerifierDepsMulti",
99    ],
100    srcs: ["dexoptanalyzer_test.cc"],
101    target: {
102        host: {
103            required: [
104                "dex2oatd",
105                "dexoptanalyzerd",
106            ],
107        },
108    },
109}
110
111// Version of ART gtest `art_dexoptanalyzer_tests` bundled with the ART APEX on target.
112// TODO(b/192274705): Remove this module when the migration to standalone ART gtests is complete.
113art_cc_test {
114    name: "art_dexoptanalyzer_tests",
115    defaults: [
116        "art_gtest_defaults",
117        "art_dexoptanalyzer_tests_defaults",
118    ],
119}
120
121// Standalone version of ART gtest `art_dexoptanalyzer_tests`, not bundled with the ART APEX on
122// target.
123art_cc_test {
124    name: "art_standalone_dexoptanalyzer_tests",
125    defaults: [
126        "art_standalone_gtest_defaults",
127        "art_dexoptanalyzer_tests_defaults",
128    ],
129    test_config_template: "art_standalone_dexoptanalyzer_tests.xml",
130}
131