• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1//
2// Copyright (C) 2018 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
27python_binary_host {
28    name: "generate_operator_out",
29    srcs: [
30        "generate_operator_out.py",
31    ],
32}
33
34cc_binary {
35    name: "art_boot",
36    defaults: ["art_defaults"],
37    srcs: ["art_boot.cc"],
38    shared_libs: ["libbase"],
39    apex_available: [
40        "com.android.art",
41        "com.android.art.debug",
42    ],
43}
44
45// Copy the art shell script to the host and target's bin directory
46sh_binary {
47    name: "art-script",
48
49    host_supported: true,
50    src: "art",
51    filename_from_src: true,
52    target: {
53        host: {
54            // On device we require the ART APEX, but its Soong module name may
55            // be different depending on branch, and it's always present anyway,
56            // so we leave it out.
57            required: [
58                "dalvikvm",
59                "dex2oat",
60            ],
61        },
62        darwin: {
63            enabled: false,
64        },
65        windows: {
66            // When the module is enabled globally in the soong_config_variables
67            // stanza above, it gets enabled on windows too. Hence we need to
68            // disable it explicitly.
69            // TODO(b/172480617): Clean up with that.
70            enabled: false,
71        },
72    },
73}
74
75sh_binary {
76    name: "dex2oat-script",
77    host_supported: true,
78    src: "dex2oat_wrapper",
79    filename_from_src: true,
80    target: {
81        host: {
82            // On device we require the ART APEX, but its Soong module name may
83            // be different depending on branch, and it's always present anyway,
84            // so we leave it out.
85            required: [
86                "dex2oat",
87            ],
88        },
89        darwin: {
90            enabled: false,
91        },
92    },
93}
94
95cc_genrule {
96    name: "check_cfi",
97
98    tool_files: [
99        "check_cfi.py",
100    ],
101    tools: [
102        "llvm-dwarfdump",
103        "llvm-objdump",
104    ],
105    srcs: [
106        ":libart-unstripped",
107    ],
108    out: [
109        "check_cfi.txt",
110    ],
111    cmd: "$(location check_cfi.py) " +
112        "--dwarfdump $(location llvm-dwarfdump) " +
113        "--objdump $(location llvm-objdump) " +
114        "--out $(out) $(in)",
115
116    target: {
117        windows: {
118            // When the module is enabled globally in the soong_config_variables
119            // stanza above, it gets enabled on windows too. Hence we need to
120            // disable it explicitly.
121            // TODO(b/172480617): Clean up with that.
122            enabled: false,
123        },
124    },
125}
126