blob: b72f4c470f33988f4e80464be89604513519b771 [file] [log] [blame]
//
// Copyright (C) 2017 The Android Open Source Project
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
cc_library_headers {
name: "cuttlefish_common_headers",
vendor_available: true,
product_available: true,
export_include_dirs: ["."],
host_supported: true,
apex_available: [
"//apex_available:platform",
"com.android.virt",
],
}
cc_defaults {
name: "cuttlefish_base",
gnu_extensions: false,
header_libs: [
"cuttlefish_common_headers",
],
target: {
host: {
host_ldlibs: ["-lrt"],
cflags: ["-DCUTTLEFISH_HOST"],
compile_multilib: "64",
},
// We don't need Darwin host-side builds
darwin: {
enabled: false,
},
},
cflags: ["-Werror", "-Wall", "-D_FILE_OFFSET_BITS=64"],
apex_available: [
"//apex_available:platform",
"com.android.virt",
],
}
// Defaults for cuttlefish modules that are available only in the guest OS (i.e. cuttlefish running
// in a guest VM).
cc_defaults {
name: "cuttlefish_guest_only",
vendor: true,
defaults: ["cuttlefish_base"],
}
// Same as cuttlefish_guest_only, but modules are placed in /product partition.
cc_defaults {
name: "cuttlefish_guest_product_only",
product_specific: true,
defaults: ["cuttlefish_base"],
}
// Defaults for cuttlefish modules that are available only in the host-side OS. Here "host" includes
// both (1) non-Android OS like gLinux or Ubuntu, and (2) Android OS that is capable of running
// guest VM(s) in it. Note that, in the context of the Android build systm - Soong - (1) is called
// as "host" and (2) is called as "target". But here, the term "host" is in the context of VMs. If a
// module is for the host-side VM (either Android or non-Android), "cuttlefish_host" shall be used.
cc_defaults {
name: "cuttlefish_host",
host_supported: true, // this "host" means (1)
device_supported: true, // this is for (2)
vendor_available: true,
defaults: ["cuttlefish_base"],
}
// Same as "cuttlefish_host", but only for non-Android OS.
cc_defaults {
name: "cuttlefish_buildhost_only",
host_supported: true,
device_supported: false,
defaults: ["cuttlefish_base"],
}
cc_defaults {
name: "cuttlefish_recovery_available",
recovery_available : true
}
cc_defaults {
name: "enabled_on_p_and_later",
enabled: true
}
cc_defaults {
name: "enabled_on_q_and_later",
enabled: true
}
cc_defaults {
name: "enabled_on_q_internal_and_later",
enabled: true
}
cc_defaults {
name: "cuttlefish_libicuuc",
target: {
host: {
shared_libs: [
"libicuuc",
],
},
},
}
cc_defaults {
name: "cuttlefish_health_storage",
defaults: ["enabled_on_q_and_later"],
}
java_test_host {
name: "tombstone_transmit_tests",
libs: ["tradefed"],
srcs: ["tests/src/**/TombstoneTransmitTest.java"],
test_config: "tests/tombstone-transmit-tests.xml",
test_suites: ["general-tests"],
}