1*795d594fSAndroid Build Coastguard Workerpackage { 2*795d594fSAndroid Build Coastguard Worker // See: http://go/android-license-faq 3*795d594fSAndroid Build Coastguard Worker // A large-scale-change added 'default_applicable_licenses' to import 4*795d594fSAndroid Build Coastguard Worker // all of the 'license_kinds' from "art_license" 5*795d594fSAndroid Build Coastguard Worker // to get the below license kinds: 6*795d594fSAndroid Build Coastguard Worker // SPDX-license-identifier-Apache-2.0 7*795d594fSAndroid Build Coastguard Worker default_applicable_licenses: ["art_license"], 8*795d594fSAndroid Build Coastguard Worker default_team: "trendy_team_art_mainline", 9*795d594fSAndroid Build Coastguard Worker} 10*795d594fSAndroid Build Coastguard Worker 11*795d594fSAndroid Build Coastguard Workerbootstrap_go_package { 12*795d594fSAndroid Build Coastguard Worker name: "soong-art", 13*795d594fSAndroid Build Coastguard Worker pkgPath: "android/soong/art", 14*795d594fSAndroid Build Coastguard Worker deps: [ 15*795d594fSAndroid Build Coastguard Worker "blueprint", 16*795d594fSAndroid Build Coastguard Worker "blueprint-pathtools", 17*795d594fSAndroid Build Coastguard Worker "blueprint-proptools", 18*795d594fSAndroid Build Coastguard Worker "soong", 19*795d594fSAndroid Build Coastguard Worker "soong-android", 20*795d594fSAndroid Build Coastguard Worker "soong-apex", 21*795d594fSAndroid Build Coastguard Worker "soong-cc", 22*795d594fSAndroid Build Coastguard Worker ], 23*795d594fSAndroid Build Coastguard Worker srcs: [ 24*795d594fSAndroid Build Coastguard Worker "art.go", 25*795d594fSAndroid Build Coastguard Worker "codegen.go", 26*795d594fSAndroid Build Coastguard Worker "makevars.go", 27*795d594fSAndroid Build Coastguard Worker ], 28*795d594fSAndroid Build Coastguard Worker pluginFor: ["soong_build"], 29*795d594fSAndroid Build Coastguard Worker} 30*795d594fSAndroid Build Coastguard Worker 31*795d594fSAndroid Build Coastguard Workerart_clang_tidy_errors = [ 32*795d594fSAndroid Build Coastguard Worker "android-cloexec-dup", 33*795d594fSAndroid Build Coastguard Worker "android-cloexec-fopen", 34*795d594fSAndroid Build Coastguard Worker "android-cloexec-open", 35*795d594fSAndroid Build Coastguard Worker "bugprone-argument-comment", 36*795d594fSAndroid Build Coastguard Worker "bugprone-lambda-function-name", 37*795d594fSAndroid Build Coastguard Worker "bugprone-macro-parentheses", 38*795d594fSAndroid Build Coastguard Worker "bugprone-macro-repeated-side-effects", 39*795d594fSAndroid Build Coastguard Worker "bugprone-unused-raii", // Protect scoped things like MutexLock. 40*795d594fSAndroid Build Coastguard Worker "bugprone-unused-return-value", 41*795d594fSAndroid Build Coastguard Worker "bugprone-use-after-move", 42*795d594fSAndroid Build Coastguard Worker "bugprone-virtual-near-miss", 43*795d594fSAndroid Build Coastguard Worker "misc-unused-using-decls", 44*795d594fSAndroid Build Coastguard Worker "modernize-use-bool-literals", 45*795d594fSAndroid Build Coastguard Worker "modernize-use-nullptr", 46*795d594fSAndroid Build Coastguard Worker "performance-faster-string-find", 47*795d594fSAndroid Build Coastguard Worker "performance-for-range-copy", 48*795d594fSAndroid Build Coastguard Worker "performance-implicit-conversion-in-loop", 49*795d594fSAndroid Build Coastguard Worker "performance-inefficient-string-concatenation", 50*795d594fSAndroid Build Coastguard Worker "performance-inefficient-vector-operation", 51*795d594fSAndroid Build Coastguard Worker "performance-no-automatic-move", 52*795d594fSAndroid Build Coastguard Worker "performance-noexcept-move-constructor", 53*795d594fSAndroid Build Coastguard Worker "performance-unnecessary-copy-initialization", 54*795d594fSAndroid Build Coastguard Worker "performance-unnecessary-value-param", 55*795d594fSAndroid Build Coastguard Worker "readability-duplicate-include", 56*795d594fSAndroid Build Coastguard Worker "readability-redundant-string-cstr", 57*795d594fSAndroid Build Coastguard Worker] 58*795d594fSAndroid Build Coastguard Worker 59*795d594fSAndroid Build Coastguard Workerart_clang_tidy_disabled = [ 60*795d594fSAndroid Build Coastguard Worker "-google-default-arguments", 61*795d594fSAndroid Build Coastguard Worker // We have local stores that are only used for debug checks. 62*795d594fSAndroid Build Coastguard Worker "-clang-analyzer-deadcode.DeadStores", 63*795d594fSAndroid Build Coastguard Worker // We are OK with some static globals and that they can, in theory, throw. 64*795d594fSAndroid Build Coastguard Worker "-cert-err58-cpp", 65*795d594fSAndroid Build Coastguard Worker // We have lots of C-style variadic functions, and are OK with them. JNI ensures 66*795d594fSAndroid Build Coastguard Worker // that working around this warning would be extra-painful. 67*795d594fSAndroid Build Coastguard Worker "-cert-dcl50-cpp", 68*795d594fSAndroid Build Coastguard Worker "-misc-redundant-expression", 69*795d594fSAndroid Build Coastguard Worker // "Modernization" we don't agree with. 70*795d594fSAndroid Build Coastguard Worker "-modernize-use-auto", 71*795d594fSAndroid Build Coastguard Worker "-modernize-return-braced-init-list", 72*795d594fSAndroid Build Coastguard Worker "-modernize-use-default-member-init", 73*795d594fSAndroid Build Coastguard Worker "-modernize-pass-by-value", 74*795d594fSAndroid Build Coastguard Worker // The only two remaining offenders are art/openjdkjvmti/include/jvmti.h and 75*795d594fSAndroid Build Coastguard Worker // libcore/ojluni/src/main/native/jvm.h, which are both external files by Oracle 76*795d594fSAndroid Build Coastguard Worker "-modernize-use-using", 77*795d594fSAndroid Build Coastguard Worker] 78*795d594fSAndroid Build Coastguard Worker 79*795d594fSAndroid Build Coastguard Workerart_global_defaults { 80*795d594fSAndroid Build Coastguard Worker // Additional flags are computed by art.go 81*795d594fSAndroid Build Coastguard Worker 82*795d594fSAndroid Build Coastguard Worker name: "art_defaults", 83*795d594fSAndroid Build Coastguard Worker 84*795d594fSAndroid Build Coastguard Worker // This is the default visibility for the //art package, but we repeat it 85*795d594fSAndroid Build Coastguard Worker // here so that it gets merged with other visibility rules in modules 86*795d594fSAndroid Build Coastguard Worker // extending these defaults. 87*795d594fSAndroid Build Coastguard Worker visibility: ["//art:__subpackages__"], 88*795d594fSAndroid Build Coastguard Worker 89*795d594fSAndroid Build Coastguard Worker cflags: [ 90*795d594fSAndroid Build Coastguard Worker // Base set of cflags used by all things ART. 91*795d594fSAndroid Build Coastguard Worker "-fno-rtti", 92*795d594fSAndroid Build Coastguard Worker "-ggdb3", 93*795d594fSAndroid Build Coastguard Worker "-Wall", 94*795d594fSAndroid Build Coastguard Worker "-Werror", 95*795d594fSAndroid Build Coastguard Worker "-Wextra", 96*795d594fSAndroid Build Coastguard Worker "-Wstrict-aliasing", 97*795d594fSAndroid Build Coastguard Worker "-fstrict-aliasing", 98*795d594fSAndroid Build Coastguard Worker "-Wunreachable-code", 99*795d594fSAndroid Build Coastguard Worker "-Wredundant-decls", 100*795d594fSAndroid Build Coastguard Worker "-Wshadow", 101*795d594fSAndroid Build Coastguard Worker "-Wunused", 102*795d594fSAndroid Build Coastguard Worker "-fvisibility=protected", 103*795d594fSAndroid Build Coastguard Worker 104*795d594fSAndroid Build Coastguard Worker // Warn about thread safety violations with clang. 105*795d594fSAndroid Build Coastguard Worker "-Wthread-safety", 106*795d594fSAndroid Build Coastguard Worker // TODO(b/144045034): turn on -Wthread-safety-negative 107*795d594fSAndroid Build Coastguard Worker //"-Wthread-safety-negative", 108*795d594fSAndroid Build Coastguard Worker 109*795d594fSAndroid Build Coastguard Worker // Warn if switch fallthroughs aren't annotated. 110*795d594fSAndroid Build Coastguard Worker "-Wimplicit-fallthrough", 111*795d594fSAndroid Build Coastguard Worker 112*795d594fSAndroid Build Coastguard Worker // Enable float equality warnings. 113*795d594fSAndroid Build Coastguard Worker "-Wfloat-equal", 114*795d594fSAndroid Build Coastguard Worker 115*795d594fSAndroid Build Coastguard Worker // Enable warning of converting ints to void*. 116*795d594fSAndroid Build Coastguard Worker "-Wint-to-void-pointer-cast", 117*795d594fSAndroid Build Coastguard Worker 118*795d594fSAndroid Build Coastguard Worker // Enable warning of wrong unused annotations. 119*795d594fSAndroid Build Coastguard Worker "-Wused-but-marked-unused", 120*795d594fSAndroid Build Coastguard Worker 121*795d594fSAndroid Build Coastguard Worker // Enable warning for deprecated language features. 122*795d594fSAndroid Build Coastguard Worker "-Wdeprecated", 123*795d594fSAndroid Build Coastguard Worker 124*795d594fSAndroid Build Coastguard Worker // Enable warning for unreachable break & return. 125*795d594fSAndroid Build Coastguard Worker "-Wunreachable-code-break", 126*795d594fSAndroid Build Coastguard Worker "-Wunreachable-code-return", 127*795d594fSAndroid Build Coastguard Worker 128*795d594fSAndroid Build Coastguard Worker // Disable warning for use of offsetof on non-standard layout type. 129*795d594fSAndroid Build Coastguard Worker // We use it to implement OFFSETOF_MEMBER - see macros.h. 130*795d594fSAndroid Build Coastguard Worker "-Wno-invalid-offsetof", 131*795d594fSAndroid Build Coastguard Worker 132*795d594fSAndroid Build Coastguard Worker // Enable inconsistent-missing-override warning. This warning is disabled by default in 133*795d594fSAndroid Build Coastguard Worker // Android. 134*795d594fSAndroid Build Coastguard Worker "-Winconsistent-missing-override", 135*795d594fSAndroid Build Coastguard Worker 136*795d594fSAndroid Build Coastguard Worker // Enable thread annotations for std::mutex, etc. 137*795d594fSAndroid Build Coastguard Worker "-D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS", 138*795d594fSAndroid Build Coastguard Worker ], 139*795d594fSAndroid Build Coastguard Worker 140*795d594fSAndroid Build Coastguard Worker arch: { 141*795d594fSAndroid Build Coastguard Worker x86: { 142*795d594fSAndroid Build Coastguard Worker avx2: { 143*795d594fSAndroid Build Coastguard Worker cflags: [ 144*795d594fSAndroid Build Coastguard Worker "-mavx2", 145*795d594fSAndroid Build Coastguard Worker "-mfma", 146*795d594fSAndroid Build Coastguard Worker ], 147*795d594fSAndroid Build Coastguard Worker }, 148*795d594fSAndroid Build Coastguard Worker }, 149*795d594fSAndroid Build Coastguard Worker x86_64: { 150*795d594fSAndroid Build Coastguard Worker avx2: { 151*795d594fSAndroid Build Coastguard Worker cflags: [ 152*795d594fSAndroid Build Coastguard Worker "-mavx2", 153*795d594fSAndroid Build Coastguard Worker "-mfma", 154*795d594fSAndroid Build Coastguard Worker ], 155*795d594fSAndroid Build Coastguard Worker }, 156*795d594fSAndroid Build Coastguard Worker }, 157*795d594fSAndroid Build Coastguard Worker }, 158*795d594fSAndroid Build Coastguard Worker 159*795d594fSAndroid Build Coastguard Worker target: { 160*795d594fSAndroid Build Coastguard Worker android: { 161*795d594fSAndroid Build Coastguard Worker cflags: [ 162*795d594fSAndroid Build Coastguard Worker // To use oprofile_android --callgraph, uncomment this and recompile with 163*795d594fSAndroid Build Coastguard Worker // mmma -j art 164*795d594fSAndroid Build Coastguard Worker // "-fno-omit-frame-pointer", 165*795d594fSAndroid Build Coastguard Worker // "-marm", 166*795d594fSAndroid Build Coastguard Worker // "-mapcs", 167*795d594fSAndroid Build Coastguard Worker ], 168*795d594fSAndroid Build Coastguard Worker }, 169*795d594fSAndroid Build Coastguard Worker linux: { 170*795d594fSAndroid Build Coastguard Worker cflags: [ 171*795d594fSAndroid Build Coastguard Worker // Enable missing-noreturn only on non-Mac. As lots of things are not implemented for 172*795d594fSAndroid Build Coastguard Worker // Apple, it's a pain. 173*795d594fSAndroid Build Coastguard Worker "-Wmissing-noreturn", 174*795d594fSAndroid Build Coastguard Worker ], 175*795d594fSAndroid Build Coastguard Worker // Don't export symbols of statically linked libziparchive. 176*795d594fSAndroid Build Coastguard Worker // Workaround to fix ODR violations (b/264235288) in gtests. 177*795d594fSAndroid Build Coastguard Worker // `--exclude-libs` flag is not supported on windows/darwin. 178*795d594fSAndroid Build Coastguard Worker ldflags: ["-Wl,--exclude-libs=libziparchive.a"], 179*795d594fSAndroid Build Coastguard Worker }, 180*795d594fSAndroid Build Coastguard Worker linux_bionic: { 181*795d594fSAndroid Build Coastguard Worker strip: { 182*795d594fSAndroid Build Coastguard Worker // Do not strip art libs when building for linux-bionic. 183*795d594fSAndroid Build Coastguard Worker // Otherwise we can't get any symbols out of crashes. 184*795d594fSAndroid Build Coastguard Worker none: true, 185*795d594fSAndroid Build Coastguard Worker }, 186*795d594fSAndroid Build Coastguard Worker }, 187*795d594fSAndroid Build Coastguard Worker darwin: { 188*795d594fSAndroid Build Coastguard Worker enabled: false, 189*795d594fSAndroid Build Coastguard Worker }, 190*795d594fSAndroid Build Coastguard Worker windows: { 191*795d594fSAndroid Build Coastguard Worker // When the module is enabled globally in the soong_config_variables 192*795d594fSAndroid Build Coastguard Worker // stanza above, it may get enabled on windows too for some module 193*795d594fSAndroid Build Coastguard Worker // types. Hence we need to disable it explicitly. 194*795d594fSAndroid Build Coastguard Worker // TODO(b/172480617): Clean up with that. 195*795d594fSAndroid Build Coastguard Worker enabled: false, 196*795d594fSAndroid Build Coastguard Worker }, 197*795d594fSAndroid Build Coastguard Worker host: { 198*795d594fSAndroid Build Coastguard Worker cflags: [ 199*795d594fSAndroid Build Coastguard Worker // Bug: 15446488. We don't omit the frame pointer to work around 200*795d594fSAndroid Build Coastguard Worker // clang/libunwind bugs that cause SEGVs in run-test-004-ThreadStress. 201*795d594fSAndroid Build Coastguard Worker "-fno-omit-frame-pointer", 202*795d594fSAndroid Build Coastguard Worker ], 203*795d594fSAndroid Build Coastguard Worker }, 204*795d594fSAndroid Build Coastguard Worker // The build assumes that all our x86/x86_64 hosts (such as buildbots and developer 205*795d594fSAndroid Build Coastguard Worker // desktops) support at least sse4.2/popcount. This firstly implies that the ART 206*795d594fSAndroid Build Coastguard Worker // runtime binary itself may exploit these features. Secondly, this implies that 207*795d594fSAndroid Build Coastguard Worker // the ART runtime passes these feature flags to dex2oat and JIT by calling the 208*795d594fSAndroid Build Coastguard Worker // method InstructionSetFeatures::FromCppDefines(). Since invoking dex2oat directly 209*795d594fSAndroid Build Coastguard Worker // does not pick up these flags, cross-compiling from a x86/x86_64 host to a 210*795d594fSAndroid Build Coastguard Worker // x86/x86_64 target should not be affected. 211*795d594fSAndroid Build Coastguard Worker linux_x86: { 212*795d594fSAndroid Build Coastguard Worker cflags: [ 213*795d594fSAndroid Build Coastguard Worker "-msse4.2", 214*795d594fSAndroid Build Coastguard Worker "-mpopcnt", 215*795d594fSAndroid Build Coastguard Worker ], 216*795d594fSAndroid Build Coastguard Worker }, 217*795d594fSAndroid Build Coastguard Worker linux_x86_64: { 218*795d594fSAndroid Build Coastguard Worker cflags: [ 219*795d594fSAndroid Build Coastguard Worker "-msse4.2", 220*795d594fSAndroid Build Coastguard Worker "-mpopcnt", 221*795d594fSAndroid Build Coastguard Worker ], 222*795d594fSAndroid Build Coastguard Worker }, 223*795d594fSAndroid Build Coastguard Worker }, 224*795d594fSAndroid Build Coastguard Worker 225*795d594fSAndroid Build Coastguard Worker codegen: { 226*795d594fSAndroid Build Coastguard Worker arm: { 227*795d594fSAndroid Build Coastguard Worker cflags: ["-DART_ENABLE_CODEGEN_arm"], 228*795d594fSAndroid Build Coastguard Worker }, 229*795d594fSAndroid Build Coastguard Worker arm64: { 230*795d594fSAndroid Build Coastguard Worker cflags: ["-DART_ENABLE_CODEGEN_arm64"], 231*795d594fSAndroid Build Coastguard Worker }, 232*795d594fSAndroid Build Coastguard Worker riscv64: { 233*795d594fSAndroid Build Coastguard Worker cflags: ["-DART_ENABLE_CODEGEN_riscv64"], 234*795d594fSAndroid Build Coastguard Worker }, 235*795d594fSAndroid Build Coastguard Worker x86: { 236*795d594fSAndroid Build Coastguard Worker cflags: ["-DART_ENABLE_CODEGEN_x86"], 237*795d594fSAndroid Build Coastguard Worker }, 238*795d594fSAndroid Build Coastguard Worker x86_64: { 239*795d594fSAndroid Build Coastguard Worker cflags: ["-DART_ENABLE_CODEGEN_x86_64"], 240*795d594fSAndroid Build Coastguard Worker }, 241*795d594fSAndroid Build Coastguard Worker }, 242*795d594fSAndroid Build Coastguard Worker 243*795d594fSAndroid Build Coastguard Worker tidy_checks: art_clang_tidy_errors + art_clang_tidy_disabled, 244*795d594fSAndroid Build Coastguard Worker 245*795d594fSAndroid Build Coastguard Worker tidy_checks_as_errors: art_clang_tidy_errors, 246*795d594fSAndroid Build Coastguard Worker 247*795d594fSAndroid Build Coastguard Worker tidy_flags: [ 248*795d594fSAndroid Build Coastguard Worker // The static analyzer treats DCHECK as always enabled; we sometimes get 249*795d594fSAndroid Build Coastguard Worker // false positives when we use DCHECKs with code that relies on NDEBUG. 250*795d594fSAndroid Build Coastguard Worker "-extra-arg=-UNDEBUG", 251*795d594fSAndroid Build Coastguard Worker // clang-tidy complains about functions like: 252*795d594fSAndroid Build Coastguard Worker // void foo() { CHECK(kIsFooEnabled); /* do foo... */ } 253*795d594fSAndroid Build Coastguard Worker // not being marked noreturn if kIsFooEnabled is false. 254*795d594fSAndroid Build Coastguard Worker "-extra-arg=-Wno-missing-noreturn", 255*795d594fSAndroid Build Coastguard Worker // Because tidy doesn't like our flow checks for compile-time configuration and thinks that 256*795d594fSAndroid Build Coastguard Worker // the following code is dead (it is, but not for all configurations), disable unreachable 257*795d594fSAndroid Build Coastguard Worker // code detection in Clang for tidy builds. It is still on for regular build steps, so we 258*795d594fSAndroid Build Coastguard Worker // will still get the "real" errors. 259*795d594fSAndroid Build Coastguard Worker "-extra-arg=-Wno-unreachable-code", 260*795d594fSAndroid Build Coastguard Worker ], 261*795d594fSAndroid Build Coastguard Worker 262*795d594fSAndroid Build Coastguard Worker min_sdk_version: "31", 263*795d594fSAndroid Build Coastguard Worker} 264*795d594fSAndroid Build Coastguard Worker 265*795d594fSAndroid Build Coastguard Worker// Used to generate binaries that can be backed by transparent hugepages. 266*795d594fSAndroid Build Coastguard Workercc_defaults { 267*795d594fSAndroid Build Coastguard Worker name: "art_hugepage_defaults", 268*795d594fSAndroid Build Coastguard Worker arch: { 269*795d594fSAndroid Build Coastguard Worker arm64: { 270*795d594fSAndroid Build Coastguard Worker ldflags: ["-z max-page-size=0x200000"], 271*795d594fSAndroid Build Coastguard Worker }, 272*795d594fSAndroid Build Coastguard Worker riscv64: { 273*795d594fSAndroid Build Coastguard Worker ldflags: ["-z max-page-size=0x200000"], 274*795d594fSAndroid Build Coastguard Worker }, 275*795d594fSAndroid Build Coastguard Worker x86_64: { 276*795d594fSAndroid Build Coastguard Worker ldflags: ["-z max-page-size=0x200000"], 277*795d594fSAndroid Build Coastguard Worker }, 278*795d594fSAndroid Build Coastguard Worker }, 279*795d594fSAndroid Build Coastguard Worker} 280*795d594fSAndroid Build Coastguard Worker 281*795d594fSAndroid Build Coastguard Workercc_defaults { 282*795d594fSAndroid Build Coastguard Worker name: "art_debug_defaults", 283*795d594fSAndroid Build Coastguard Worker defaults: ["art_defaults"], 284*795d594fSAndroid Build Coastguard Worker visibility: ["//art:__subpackages__"], 285*795d594fSAndroid Build Coastguard Worker cflags: [ 286*795d594fSAndroid Build Coastguard Worker "-DDYNAMIC_ANNOTATIONS_ENABLED=1", 287*795d594fSAndroid Build Coastguard Worker "-DVIXL_DEBUG", 288*795d594fSAndroid Build Coastguard Worker "-UNDEBUG", 289*795d594fSAndroid Build Coastguard Worker ] + select(soong_config_variable("art_module", "art_debug_opt_flag"), { 290*795d594fSAndroid Build Coastguard Worker any @ flag_val: [flag_val], 291*795d594fSAndroid Build Coastguard Worker default: ["-Og"], 292*795d594fSAndroid Build Coastguard Worker }), 293*795d594fSAndroid Build Coastguard Worker asflags: [ 294*795d594fSAndroid Build Coastguard Worker "-UNDEBUG", 295*795d594fSAndroid Build Coastguard Worker ], 296*795d594fSAndroid Build Coastguard Worker target: { 297*795d594fSAndroid Build Coastguard Worker // This has to be duplicated for android and host to make sure it 298*795d594fSAndroid Build Coastguard Worker // comes after the -Wframe-larger-than warnings inserted by art.go 299*795d594fSAndroid Build Coastguard Worker // target-specific properties 300*795d594fSAndroid Build Coastguard Worker android: { 301*795d594fSAndroid Build Coastguard Worker cflags: ["-Wno-frame-larger-than="], 302*795d594fSAndroid Build Coastguard Worker }, 303*795d594fSAndroid Build Coastguard Worker host: { 304*795d594fSAndroid Build Coastguard Worker cflags: ["-Wno-frame-larger-than="], 305*795d594fSAndroid Build Coastguard Worker }, 306*795d594fSAndroid Build Coastguard Worker }, 307*795d594fSAndroid Build Coastguard Worker} 308*795d594fSAndroid Build Coastguard Worker 309*795d594fSAndroid Build Coastguard Worker// A version of conscrypt only for enabling the "-hostdex" version to test ART on host. 310*795d594fSAndroid Build Coastguard Workerjava_library { 311*795d594fSAndroid Build Coastguard Worker // We need our own name to not clash with the conscrypt library. 312*795d594fSAndroid Build Coastguard Worker name: "conscrypt-host", 313*795d594fSAndroid Build Coastguard Worker installable: true, 314*795d594fSAndroid Build Coastguard Worker hostdex: true, 315*795d594fSAndroid Build Coastguard Worker static_libs: ["conscrypt-for-host"], 316*795d594fSAndroid Build Coastguard Worker 317*795d594fSAndroid Build Coastguard Worker // Tests and build files rely on this file to be installed as "conscrypt-hostdex", 318*795d594fSAndroid Build Coastguard Worker // therefore set a stem. Without it, the file would be installed as 319*795d594fSAndroid Build Coastguard Worker // "conscrypt-host-hostdex". 320*795d594fSAndroid Build Coastguard Worker stem: "conscrypt", 321*795d594fSAndroid Build Coastguard Worker sdk_version: "core_platform", 322*795d594fSAndroid Build Coastguard Worker target: { 323*795d594fSAndroid Build Coastguard Worker hostdex: { 324*795d594fSAndroid Build Coastguard Worker required: ["libjavacrypto"], 325*795d594fSAndroid Build Coastguard Worker }, 326*795d594fSAndroid Build Coastguard Worker darwin: { 327*795d594fSAndroid Build Coastguard Worker // required module "libjavacrypto" is disabled on darwin 328*795d594fSAndroid Build Coastguard Worker enabled: false, 329*795d594fSAndroid Build Coastguard Worker }, 330*795d594fSAndroid Build Coastguard Worker }, 331*795d594fSAndroid Build Coastguard Worker} 332*795d594fSAndroid Build Coastguard Worker 333*795d594fSAndroid Build Coastguard Worker// A version of conscrypt only for the ART fuzzer. 334*795d594fSAndroid Build Coastguard Workerjava_library { 335*795d594fSAndroid Build Coastguard Worker name: "conscrypt-fuzzer", 336*795d594fSAndroid Build Coastguard Worker visibility: [ 337*795d594fSAndroid Build Coastguard Worker "//art/tools/fuzzer", 338*795d594fSAndroid Build Coastguard Worker ], 339*795d594fSAndroid Build Coastguard Worker static_libs: ["conscrypt-for-host"], 340*795d594fSAndroid Build Coastguard Worker stem: "conscrypt", 341*795d594fSAndroid Build Coastguard Worker compile_dex: true, 342*795d594fSAndroid Build Coastguard Worker sdk_version: "none", 343*795d594fSAndroid Build Coastguard Worker system_modules: "none", 344*795d594fSAndroid Build Coastguard Worker} 345*795d594fSAndroid Build Coastguard Worker 346*795d594fSAndroid Build Coastguard Worker// A version of core-icu4j only for enabling the "-hostdex" version to test ART on host. 347*795d594fSAndroid Build Coastguard Workerjava_library { 348*795d594fSAndroid Build Coastguard Worker // We need our own name to not clash with the core-icu4j library. 349*795d594fSAndroid Build Coastguard Worker name: "core-icu4j-host", 350*795d594fSAndroid Build Coastguard Worker installable: true, 351*795d594fSAndroid Build Coastguard Worker hostdex: true, 352*795d594fSAndroid Build Coastguard Worker static_libs: ["core-icu4j-for-host"], 353*795d594fSAndroid Build Coastguard Worker 354*795d594fSAndroid Build Coastguard Worker // Tests and build files rely on this file to be installed as "core-icu4j-hostdex", 355*795d594fSAndroid Build Coastguard Worker // therefore set a stem. Without it, the file would be installed as 356*795d594fSAndroid Build Coastguard Worker // "core-icu4j-host-hostdex". 357*795d594fSAndroid Build Coastguard Worker stem: "core-icu4j", 358*795d594fSAndroid Build Coastguard Worker sdk_version: "core_platform", 359*795d594fSAndroid Build Coastguard Worker target: { 360*795d594fSAndroid Build Coastguard Worker hostdex: { 361*795d594fSAndroid Build Coastguard Worker required: ["libicu_jni"], 362*795d594fSAndroid Build Coastguard Worker }, 363*795d594fSAndroid Build Coastguard Worker }, 364*795d594fSAndroid Build Coastguard Worker} 365