| 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", |
| ], |
| |
| // For MARK_UNSET. |
| header_libs: [ |
| "libnetd_client_headers" |
| ], |
| } |
| |
| // 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", |
| "netlink_callbacks.c", |
| "netlink_msg.c", |
| "ring.c", |
| "setif.c", |
| "translate.c", |
| ], |
| } |
| |
| // The clat daemon. |
| cc_binary { |
| name: "clatd", |
| defaults: ["clatd_defaults"], |
| srcs: [ |
| ":clatd_common", |
| "main.c" |
| ], |
| static_libs: ["libnl"], |
| shared_libs: [ |
| "libcutils", |
| "liblog", |
| "libnetutils", |
| ], |
| |
| // 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*", |
| "android-*", |
| ], |
| tidy_flags: [ |
| "-warnings-as-errors=clang-analyzer-security*,cert-*,android-*", |
| ], |
| // Actually not required for clatd itself. See comments in the rc file. |
| init_rc: [ |
| "vendor-464xlat.rc", |
| ], |
| sanitize: { |
| memtag_heap: true, |
| }, |
| } |
| |
| // Unit tests. |
| cc_test { |
| name: "clatd_test", |
| defaults: ["clatd_defaults"], |
| srcs: [ |
| ":clatd_common", |
| "clatd_test.cpp" |
| ], |
| static_libs: [ |
| "libbase", |
| "libnetd_test_tun_interface", |
| "libnl", |
| ], |
| shared_libs: [ |
| "libcutils", |
| "liblog", |
| "libnetutils", |
| ], |
| test_suites: ["device-tests"], |
| require_root: true, |
| } |