| 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", | 
 |         "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-*", | 
 |     ], | 
 |  | 
 |     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, | 
 | } |