xref: /aosp_15_r20/build/soong/Android.bp (revision 333d2b3687b3a337dbcca9d65000bca186795e39)
1*333d2b36SAndroid Build Coastguard Workerpackage {
2*333d2b36SAndroid Build Coastguard Worker    default_applicable_licenses: ["Android-Apache-2.0"],
3*333d2b36SAndroid Build Coastguard Worker    default_visibility: [
4*333d2b36SAndroid Build Coastguard Worker        "//build/soong:__subpackages__",
5*333d2b36SAndroid Build Coastguard Worker    ],
6*333d2b36SAndroid Build Coastguard Worker    default_team: "trendy_team_build",
7*333d2b36SAndroid Build Coastguard Worker}
8*333d2b36SAndroid Build Coastguard Worker
9*333d2b36SAndroid Build Coastguard Workersubdirs = [
10*333d2b36SAndroid Build Coastguard Worker    "androidmk",
11*333d2b36SAndroid Build Coastguard Worker    "bpfix",
12*333d2b36SAndroid Build Coastguard Worker    "cmd/*",
13*333d2b36SAndroid Build Coastguard Worker    "fs",
14*333d2b36SAndroid Build Coastguard Worker    "finder",
15*333d2b36SAndroid Build Coastguard Worker    "jar",
16*333d2b36SAndroid Build Coastguard Worker    "zip",
17*333d2b36SAndroid Build Coastguard Worker    "third_party/zip",
18*333d2b36SAndroid Build Coastguard Worker    "ui/*",
19*333d2b36SAndroid Build Coastguard Worker]
20*333d2b36SAndroid Build Coastguard Worker
21*333d2b36SAndroid Build Coastguard Workerbootstrap_go_package {
22*333d2b36SAndroid Build Coastguard Worker    name: "soong",
23*333d2b36SAndroid Build Coastguard Worker    pkgPath: "android/soong",
24*333d2b36SAndroid Build Coastguard Worker    deps: [
25*333d2b36SAndroid Build Coastguard Worker        "blueprint",
26*333d2b36SAndroid Build Coastguard Worker    ],
27*333d2b36SAndroid Build Coastguard Worker    srcs: [
28*333d2b36SAndroid Build Coastguard Worker        "doc.go",
29*333d2b36SAndroid Build Coastguard Worker    ],
30*333d2b36SAndroid Build Coastguard Worker    // Used by plugins, though probably shouldn't be.
31*333d2b36SAndroid Build Coastguard Worker    visibility: ["//visibility:public"],
32*333d2b36SAndroid Build Coastguard Worker}
33*333d2b36SAndroid Build Coastguard Worker
34*333d2b36SAndroid Build Coastguard Worker//
35*333d2b36SAndroid Build Coastguard Worker// Defaults to enable various configurations of host bionic
36*333d2b36SAndroid Build Coastguard Worker//
37*333d2b36SAndroid Build Coastguard Worker
38*333d2b36SAndroid Build Coastguard Workercc_defaults {
39*333d2b36SAndroid Build Coastguard Worker    name: "linux_bionic_supported",
40*333d2b36SAndroid Build Coastguard Worker    host_supported: true,
41*333d2b36SAndroid Build Coastguard Worker    target: {
42*333d2b36SAndroid Build Coastguard Worker        host: {
43*333d2b36SAndroid Build Coastguard Worker            enabled: false,
44*333d2b36SAndroid Build Coastguard Worker        },
45*333d2b36SAndroid Build Coastguard Worker        linux_bionic: {
46*333d2b36SAndroid Build Coastguard Worker            enabled: true,
47*333d2b36SAndroid Build Coastguard Worker        },
48*333d2b36SAndroid Build Coastguard Worker    },
49*333d2b36SAndroid Build Coastguard Worker    defaults_visibility: ["//visibility:public"],
50*333d2b36SAndroid Build Coastguard Worker}
51*333d2b36SAndroid Build Coastguard Worker
52*333d2b36SAndroid Build Coastguard Worker//
53*333d2b36SAndroid Build Coastguard Worker// C static libraries extracted from the gcc toolchain
54*333d2b36SAndroid Build Coastguard Worker//
55*333d2b36SAndroid Build Coastguard Worker
56*333d2b36SAndroid Build Coastguard Workerkernel_headers {
57*333d2b36SAndroid Build Coastguard Worker    name: "device_kernel_headers",
58*333d2b36SAndroid Build Coastguard Worker    vendor: true,
59*333d2b36SAndroid Build Coastguard Worker    recovery_available: true,
60*333d2b36SAndroid Build Coastguard Worker    min_sdk_version: "apex_inherit",
61*333d2b36SAndroid Build Coastguard Worker    visibility: ["//visibility:public"],
62*333d2b36SAndroid Build Coastguard Worker}
63*333d2b36SAndroid Build Coastguard Worker
64*333d2b36SAndroid Build Coastguard Workercc_genrule {
65*333d2b36SAndroid Build Coastguard Worker    name: "host_bionic_linker_asm",
66*333d2b36SAndroid Build Coastguard Worker    host_supported: true,
67*333d2b36SAndroid Build Coastguard Worker    device_supported: false,
68*333d2b36SAndroid Build Coastguard Worker    target: {
69*333d2b36SAndroid Build Coastguard Worker        linux_bionic: {
70*333d2b36SAndroid Build Coastguard Worker            enabled: true,
71*333d2b36SAndroid Build Coastguard Worker        },
72*333d2b36SAndroid Build Coastguard Worker        linux_musl: {
73*333d2b36SAndroid Build Coastguard Worker            enabled: false,
74*333d2b36SAndroid Build Coastguard Worker        },
75*333d2b36SAndroid Build Coastguard Worker        linux_glibc: {
76*333d2b36SAndroid Build Coastguard Worker            enabled: false,
77*333d2b36SAndroid Build Coastguard Worker        },
78*333d2b36SAndroid Build Coastguard Worker        darwin: {
79*333d2b36SAndroid Build Coastguard Worker            enabled: false,
80*333d2b36SAndroid Build Coastguard Worker        },
81*333d2b36SAndroid Build Coastguard Worker    },
82*333d2b36SAndroid Build Coastguard Worker    tools: ["extract_linker"],
83*333d2b36SAndroid Build Coastguard Worker    cmd: "$(location) -s $(out) $(in)",
84*333d2b36SAndroid Build Coastguard Worker    srcs: [":linker"],
85*333d2b36SAndroid Build Coastguard Worker    out: ["linker.s"],
86*333d2b36SAndroid Build Coastguard Worker    visibility: ["//bionic/libc"],
87*333d2b36SAndroid Build Coastguard Worker}
88*333d2b36SAndroid Build Coastguard Worker
89*333d2b36SAndroid Build Coastguard Workercc_genrule {
90*333d2b36SAndroid Build Coastguard Worker    name: "host_bionic_linker_script",
91*333d2b36SAndroid Build Coastguard Worker    host_supported: true,
92*333d2b36SAndroid Build Coastguard Worker    device_supported: false,
93*333d2b36SAndroid Build Coastguard Worker    target: {
94*333d2b36SAndroid Build Coastguard Worker        linux_bionic: {
95*333d2b36SAndroid Build Coastguard Worker            enabled: true,
96*333d2b36SAndroid Build Coastguard Worker        },
97*333d2b36SAndroid Build Coastguard Worker        linux_musl: {
98*333d2b36SAndroid Build Coastguard Worker            enabled: false,
99*333d2b36SAndroid Build Coastguard Worker        },
100*333d2b36SAndroid Build Coastguard Worker        linux_glibc: {
101*333d2b36SAndroid Build Coastguard Worker            enabled: false,
102*333d2b36SAndroid Build Coastguard Worker        },
103*333d2b36SAndroid Build Coastguard Worker        darwin: {
104*333d2b36SAndroid Build Coastguard Worker            enabled: false,
105*333d2b36SAndroid Build Coastguard Worker        },
106*333d2b36SAndroid Build Coastguard Worker    },
107*333d2b36SAndroid Build Coastguard Worker    tools: ["extract_linker"],
108*333d2b36SAndroid Build Coastguard Worker    cmd: "$(location) -T $(out) $(in)",
109*333d2b36SAndroid Build Coastguard Worker    srcs: [":linker"],
110*333d2b36SAndroid Build Coastguard Worker    out: ["linker.script"],
111*333d2b36SAndroid Build Coastguard Worker    visibility: ["//visibility:public"],
112*333d2b36SAndroid Build Coastguard Worker}
113*333d2b36SAndroid Build Coastguard Worker
114*333d2b36SAndroid Build Coastguard Worker// Instantiate the dex_bootjars singleton module.
115*333d2b36SAndroid Build Coastguard Workerdex_bootjars {
116*333d2b36SAndroid Build Coastguard Worker    name: "dex_bootjars",
117*333d2b36SAndroid Build Coastguard Worker    visibility: ["//visibility:public"],
118*333d2b36SAndroid Build Coastguard Worker}
119*333d2b36SAndroid Build Coastguard Worker
120*333d2b36SAndroid Build Coastguard Workerart_boot_images {
121*333d2b36SAndroid Build Coastguard Worker    name: "art_boot_images",
122*333d2b36SAndroid Build Coastguard Worker    visibility: ["//art:__subpackages__"],
123*333d2b36SAndroid Build Coastguard Worker}
124*333d2b36SAndroid Build Coastguard Worker
125*333d2b36SAndroid Build Coastguard Worker// Pseudo-test that's run on checkbuilds to ensure that get_clang_version can
126*333d2b36SAndroid Build Coastguard Worker// parse cc/config/global.go.
127*333d2b36SAndroid Build Coastguard Workergenrule {
128*333d2b36SAndroid Build Coastguard Worker    name: "get_clang_version_test",
129*333d2b36SAndroid Build Coastguard Worker    cmd: "$(location get_clang_version) > $(out)",
130*333d2b36SAndroid Build Coastguard Worker    tools: ["get_clang_version"],
131*333d2b36SAndroid Build Coastguard Worker    srcs: ["cc/config/global.go"],
132*333d2b36SAndroid Build Coastguard Worker    out: ["clang-prebuilts-version.txt"],
133*333d2b36SAndroid Build Coastguard Worker}
134*333d2b36SAndroid Build Coastguard Worker
135*333d2b36SAndroid Build Coastguard Workerdexpreopt_systemserver_check {
136*333d2b36SAndroid Build Coastguard Worker    name: "dexpreopt_systemserver_check",
137*333d2b36SAndroid Build Coastguard Worker}
138*333d2b36SAndroid Build Coastguard Worker
139*333d2b36SAndroid Build Coastguard Worker// container for apex_contributions selected using build flags
140*333d2b36SAndroid Build Coastguard Workerall_apex_contributions {
141*333d2b36SAndroid Build Coastguard Worker    name: "all_apex_contributions",
142*333d2b36SAndroid Build Coastguard Worker    visibility: ["//visibility:public"],
143*333d2b36SAndroid Build Coastguard Worker}
144*333d2b36SAndroid Build Coastguard Worker
145*333d2b36SAndroid Build Coastguard Worker// Defaults to share configs between "baremetal" Soong modules, currently only
146*333d2b36SAndroid Build Coastguard Worker// used for code running in kernel context within Android Virtualization
147*333d2b36SAndroid Build Coastguard Worker// Framework guests.
148*333d2b36SAndroid Build Coastguard Workercc_defaults {
149*333d2b36SAndroid Build Coastguard Worker    name: "cc_baremetal_defaults",
150*333d2b36SAndroid Build Coastguard Worker    arch: {
151*333d2b36SAndroid Build Coastguard Worker        arm64: {
152*333d2b36SAndroid Build Coastguard Worker            cflags: [
153*333d2b36SAndroid Build Coastguard Worker                // Prevent the compiler from optimizing code using SVE, as the
154*333d2b36SAndroid Build Coastguard Worker                // baremetal environment might not have configured the hardware.
155*333d2b36SAndroid Build Coastguard Worker                "-Xclang -target-feature",
156*333d2b36SAndroid Build Coastguard Worker                "-Xclang -sve",
157*333d2b36SAndroid Build Coastguard Worker            ],
158*333d2b36SAndroid Build Coastguard Worker        },
159*333d2b36SAndroid Build Coastguard Worker    },
160*333d2b36SAndroid Build Coastguard Worker    defaults_visibility: ["//visibility:public"],
161*333d2b36SAndroid Build Coastguard Worker}
162*333d2b36SAndroid Build Coastguard Worker
163*333d2b36SAndroid Build Coastguard Workerproduct_config {
164*333d2b36SAndroid Build Coastguard Worker    name: "product_config",
165*333d2b36SAndroid Build Coastguard Worker    visibility: [
166*333d2b36SAndroid Build Coastguard Worker        "//build/make/target/product/generic",
167*333d2b36SAndroid Build Coastguard Worker        "//build/soong/fsgen",
168*333d2b36SAndroid Build Coastguard Worker    ],
169*333d2b36SAndroid Build Coastguard Worker}
170*333d2b36SAndroid Build Coastguard Worker
171*333d2b36SAndroid Build Coastguard Workerbuild_prop {
172*333d2b36SAndroid Build Coastguard Worker    name: "system-build.prop",
173*333d2b36SAndroid Build Coastguard Worker    stem: "build.prop",
174*333d2b36SAndroid Build Coastguard Worker    product_config: ":product_config",
175*333d2b36SAndroid Build Coastguard Worker    footer_files: [
176*333d2b36SAndroid Build Coastguard Worker        ":applied_backported_fixes",
177*333d2b36SAndroid Build Coastguard Worker    ],
178*333d2b36SAndroid Build Coastguard Worker    // Currently, only microdroid, Ravenwood, and cf system image can refer to system-build.prop
179*333d2b36SAndroid Build Coastguard Worker    visibility: [
180*333d2b36SAndroid Build Coastguard Worker        "//build/make/target/product/generic",
181*333d2b36SAndroid Build Coastguard Worker        "//build/make/target/product/gsi",
182*333d2b36SAndroid Build Coastguard Worker        "//packages/modules/Virtualization/build/microdroid",
183*333d2b36SAndroid Build Coastguard Worker        "//frameworks/base/ravenwood",
184*333d2b36SAndroid Build Coastguard Worker    ],
185*333d2b36SAndroid Build Coastguard Worker}
186*333d2b36SAndroid Build Coastguard Worker
187*333d2b36SAndroid Build Coastguard Workerbuild_prop {
188*333d2b36SAndroid Build Coastguard Worker    name: "system_ext-build.prop",
189*333d2b36SAndroid Build Coastguard Worker    stem: "build.prop",
190*333d2b36SAndroid Build Coastguard Worker    system_ext_specific: true,
191*333d2b36SAndroid Build Coastguard Worker    product_config: ":product_config",
192*333d2b36SAndroid Build Coastguard Worker    relative_install_path: "etc", // system_ext/etc/build.prop
193*333d2b36SAndroid Build Coastguard Worker    visibility: ["//build/make/target/product/gsi"],
194*333d2b36SAndroid Build Coastguard Worker}
195*333d2b36SAndroid Build Coastguard Worker
196*333d2b36SAndroid Build Coastguard Workerbuild_prop {
197*333d2b36SAndroid Build Coastguard Worker    name: "product-build.prop",
198*333d2b36SAndroid Build Coastguard Worker    stem: "build.prop",
199*333d2b36SAndroid Build Coastguard Worker    product_specific: true,
200*333d2b36SAndroid Build Coastguard Worker    product_config: ":product_config",
201*333d2b36SAndroid Build Coastguard Worker    relative_install_path: "etc", // product/etc/build.prop
202*333d2b36SAndroid Build Coastguard Worker    visibility: ["//build/make/target/product/gsi"],
203*333d2b36SAndroid Build Coastguard Worker}
204*333d2b36SAndroid Build Coastguard Worker
205*333d2b36SAndroid Build Coastguard Workerbuild_prop {
206*333d2b36SAndroid Build Coastguard Worker    name: "odm-build.prop",
207*333d2b36SAndroid Build Coastguard Worker    stem: "build.prop",
208*333d2b36SAndroid Build Coastguard Worker    device_specific: true,
209*333d2b36SAndroid Build Coastguard Worker    product_config: ":product_config",
210*333d2b36SAndroid Build Coastguard Worker    relative_install_path: "etc", // odm/etc/build.prop
211*333d2b36SAndroid Build Coastguard Worker    visibility: ["//visibility:private"],
212*333d2b36SAndroid Build Coastguard Worker}
213*333d2b36SAndroid Build Coastguard Worker
214*333d2b36SAndroid Build Coastguard Workerbuild_prop {
215*333d2b36SAndroid Build Coastguard Worker    name: "system_dlkm-build.prop",
216*333d2b36SAndroid Build Coastguard Worker    stem: "build.prop",
217*333d2b36SAndroid Build Coastguard Worker    system_dlkm_specific: true,
218*333d2b36SAndroid Build Coastguard Worker    product_config: ":product_config",
219*333d2b36SAndroid Build Coastguard Worker    relative_install_path: "etc", // system_dlkm/etc/build.prop
220*333d2b36SAndroid Build Coastguard Worker    visibility: ["//visibility:private"],
221*333d2b36SAndroid Build Coastguard Worker}
222*333d2b36SAndroid Build Coastguard Worker
223*333d2b36SAndroid Build Coastguard Workerbuild_prop {
224*333d2b36SAndroid Build Coastguard Worker    name: "vendor_dlkm-build.prop",
225*333d2b36SAndroid Build Coastguard Worker    stem: "build.prop",
226*333d2b36SAndroid Build Coastguard Worker    vendor_dlkm_specific: true,
227*333d2b36SAndroid Build Coastguard Worker    product_config: ":product_config",
228*333d2b36SAndroid Build Coastguard Worker    relative_install_path: "etc", // vendor_dlkm/etc/build.prop
229*333d2b36SAndroid Build Coastguard Worker    visibility: ["//visibility:private"],
230*333d2b36SAndroid Build Coastguard Worker}
231*333d2b36SAndroid Build Coastguard Worker
232*333d2b36SAndroid Build Coastguard Workerbuild_prop {
233*333d2b36SAndroid Build Coastguard Worker    name: "odm_dlkm-build.prop",
234*333d2b36SAndroid Build Coastguard Worker    stem: "build.prop",
235*333d2b36SAndroid Build Coastguard Worker    odm_dlkm_specific: true,
236*333d2b36SAndroid Build Coastguard Worker    product_config: ":product_config",
237*333d2b36SAndroid Build Coastguard Worker    relative_install_path: "etc", // odm_dlkm/etc/build.prop
238*333d2b36SAndroid Build Coastguard Worker    visibility: ["//visibility:private"],
239*333d2b36SAndroid Build Coastguard Worker}
240*333d2b36SAndroid Build Coastguard Worker
241*333d2b36SAndroid Build Coastguard Workerbuild_prop {
242*333d2b36SAndroid Build Coastguard Worker    name: "ramdisk-build.prop",
243*333d2b36SAndroid Build Coastguard Worker    stem: "build.prop",
244*333d2b36SAndroid Build Coastguard Worker    ramdisk: true,
245*333d2b36SAndroid Build Coastguard Worker    product_config: ":product_config",
246*333d2b36SAndroid Build Coastguard Worker    relative_install_path: "etc/ramdisk", // ramdisk/system/etc/ramdisk/build.prop
247*333d2b36SAndroid Build Coastguard Worker    visibility: ["//visibility:private"],
248*333d2b36SAndroid Build Coastguard Worker}
249