android_packages_modules_Co.../Android.bp
Chih-Hung Hsieh 3abac000c0 Suppress tidy checks that block migration to gnu11
The clang-analyzer-security.insecureAPI.DeprecatedOrUnsafeBufferHandling
check gave more warnings in gnu11 mode and they are not suitable
for Android. This check is disabled in AOSP global default, and
local projects should not enable it or should change source code
to avoid those warnings.

Use tidy_checks_as_errors instead of tidy_flags to specify
the checks to be treated as errors.

Bug: 227361697
Test: make with global default set to gnu11
Change-Id: I09f7aa562ab51d3f536cd48184d430212d67b51b
2022-04-04 12:03:23 +00:00

122 lines
2.8 KiB
Text

package {
default_applicable_licenses: ["external_android-clat_license"],
}
// Added automatically by a large-scale-change
//
// large-scale-change included anything that looked like it might be a license
// text as a license_text. e.g. LICENSE, NOTICE, COPYING etc.
//
// Please consider removing redundant or irrelevant files from 'license_text:'.
// See: http://go/android-license-faq
license {
name: "external_android-clat_license",
visibility: [":__subpackages__"],
license_kinds: [
"SPDX-license-identifier-Apache-2.0",
],
license_text: [
"LICENSE",
"NOTICE",
],
}
cc_defaults {
name: "clatd_defaults",
cflags: [
"-Wall",
"-Werror",
"-Wunused-parameter",
// Bug: http://b/33566695
"-Wno-address-of-packed-member",
],
}
// Code used both by the daemon and by unit tests.
filegroup {
name: "clatd_common",
srcs: [
"clatd.c",
"dump.c",
"getaddr.c",
"icmp.c",
"ipv4.c",
"ipv6.c",
"logging.c",
"translate.c",
],
}
// The clat daemon.
cc_binary {
name: "clatd",
defaults: ["clatd_defaults"],
srcs: [
":clatd_common",
"main.c"
],
static_libs: [
"libip_checksum",
],
shared_libs: [
"liblog",
],
relative_install_path: "for-system",
// Static libc++ for smaller apex size while shipping clatd in the mainline module.
// See b/213123047
stl: "libc++_static",
// Only enable clang-tidy for the daemon, not the tests, because enabling it for the
// tests substantially increases build/compile cycle times and doesn't really provide a
// security benefit.
tidy: true,
tidy_checks: [
"-*",
"cert-*",
"clang-analyzer-security*",
// b/2043314, warnings on memcpy_s, memset_s, snprintf_s calls
// are blocking the migration from gnu99 to gnu11.
// Until those warnings are fixed, disable these checks.
"-clang-analyzer-security.insecureAPI.DeprecatedOrUnsafeBufferHandling",
"android-*",
],
tidy_checks_as_errors: [
"clang-analyzer-security*",
"cert-*",
"android-*",
],
sanitize: {
memtag_heap: true,
},
apex_available: [
"com.android.tethering",
"//apex_available:platform",
],
min_sdk_version: "30",
}
// Unit tests.
cc_test {
name: "clatd_test",
defaults: ["clatd_defaults"],
srcs: [
":clatd_common",
"clatd_test.cpp"
],
static_libs: [
"libbase",
"libip_checksum",
"libnetd_test_tun_interface",
],
shared_libs: [
"libcutils",
"liblog",
"libnetutils",
],
test_suites: ["device-tests"],
require_root: true,
}