blob: 982e656a82fe403ed6dd6c43d2b59f730aa5993c [file] [log] [blame]
Bob Badour370808d2021-02-12 14:17:41 -08001package {
2 default_applicable_licenses: ["external_android-clat_license"],
3}
4
5// Added automatically by a large-scale-change
6//
7// large-scale-change included anything that looked like it might be a license
8// text as a license_text. e.g. LICENSE, NOTICE, COPYING etc.
9//
10// Please consider removing redundant or irrelevant files from 'license_text:'.
11// See: http://go/android-license-faq
12license {
13 name: "external_android-clat_license",
14 visibility: [":__subpackages__"],
15 license_kinds: [
16 "SPDX-license-identifier-Apache-2.0",
17 ],
18 license_text: [
19 "LICENSE",
20 "NOTICE",
21 ],
22}
23
Lorenzo Colittieb92f482019-01-04 14:59:11 +090024cc_defaults {
25 name: "clatd_defaults",
Dan Willemsen1e562182018-11-16 12:52:08 -080026
27 cflags: [
28 "-Wall",
29 "-Werror",
30 "-Wunused-parameter",
31
32 // Bug: http://b/33566695
33 "-Wno-address-of-packed-member",
34 ],
Lorenzo Colittieb92f482019-01-04 14:59:11 +090035}
36
37// Code used both by the daemon and by unit tests.
38filegroup {
39 name: "clatd_common",
40 srcs: [
Lorenzo Colittieb92f482019-01-04 14:59:11 +090041 "clatd.c",
Lorenzo Colittieb92f482019-01-04 14:59:11 +090042 "dump.c",
43 "getaddr.c",
44 "icmp.c",
45 "ipv4.c",
46 "ipv6.c",
47 "logging.c",
Lorenzo Colittieb92f482019-01-04 14:59:11 +090048 "translate.c",
49 ],
50}
51
52// The clat daemon.
53cc_binary {
54 name: "clatd",
55 defaults: ["clatd_defaults"],
56 srcs: [
57 ":clatd_common",
58 "main.c"
59 ],
Lorenzo Colittia4e96812021-12-09 17:36:58 +090060 static_libs: [
Lorenzo Colitti0cd5aa52021-12-09 15:05:52 +090061 "libip_checksum",
Lorenzo Colittia4e96812021-12-09 17:36:58 +090062 ],
Dan Willemsen1e562182018-11-16 12:52:08 -080063 shared_libs: [
Dan Willemsen1e562182018-11-16 12:52:08 -080064 "liblog",
Dan Willemsen1e562182018-11-16 12:52:08 -080065 ],
Hungming Chenef9f62b2022-01-11 15:51:28 +080066 relative_install_path: "for-system",
Lorenzo Colitti6a095df2019-04-10 23:22:30 +090067
Hungming Chen03486e02022-01-07 18:13:20 +080068 // Static libc++ for smaller apex size while shipping clatd in the mainline module.
69 // See b/213123047
70 stl: "libc++_static",
71
Lorenzo Colitti6a095df2019-04-10 23:22:30 +090072 // Only enable clang-tidy for the daemon, not the tests, because enabling it for the
73 // tests substantially increases build/compile cycle times and doesn't really provide a
74 // security benefit.
75 tidy: true,
76 tidy_checks: [
77 "-*",
78 "cert-*",
79 "clang-analyzer-security*",
Chih-Hung Hsieh3abac002022-04-04 04:23:34 -070080 // b/2043314, warnings on memcpy_s, memset_s, snprintf_s calls
81 // are blocking the migration from gnu99 to gnu11.
82 // Until those warnings are fixed, disable these checks.
83 "-clang-analyzer-security.insecureAPI.DeprecatedOrUnsafeBufferHandling",
Lorenzo Colitti6a095df2019-04-10 23:22:30 +090084 "android-*",
85 ],
Chih-Hung Hsieh3abac002022-04-04 04:23:34 -070086 tidy_checks_as_errors: [
87 "clang-analyzer-security*",
88 "cert-*",
89 "android-*",
Lorenzo Colitti6a095df2019-04-10 23:22:30 +090090 ],
Evgenii Stepanovafe05e12021-05-21 16:33:45 -070091 sanitize: {
92 memtag_heap: true,
93 },
Hungming Chen07125612021-12-16 12:38:34 +080094
95 apex_available: [
96 "com.android.tethering",
97 "//apex_available:platform",
98 ],
99 min_sdk_version: "30",
Dan Willemsen1e562182018-11-16 12:52:08 -0800100}
101
Dan Willemsen1e562182018-11-16 12:52:08 -0800102// Unit tests.
103cc_test {
104 name: "clatd_test",
Lorenzo Colittieb92f482019-01-04 14:59:11 +0900105 defaults: ["clatd_defaults"],
Dan Willemsen1e562182018-11-16 12:52:08 -0800106 srcs: [
Lorenzo Colittieb92f482019-01-04 14:59:11 +0900107 ":clatd_common",
108 "clatd_test.cpp"
Dan Willemsen1e562182018-11-16 12:52:08 -0800109 ],
Lorenzo Colittieb92f482019-01-04 14:59:11 +0900110 static_libs: [
111 "libbase",
Lorenzo Colitti0cd5aa52021-12-09 15:05:52 +0900112 "libip_checksum",
Lorenzo Colittieb92f482019-01-04 14:59:11 +0900113 "libnetd_test_tun_interface",
Lorenzo Colittieb92f482019-01-04 14:59:11 +0900114 ],
Dan Willemsen1e562182018-11-16 12:52:08 -0800115 shared_libs: [
Lorenzo Colittieb92f482019-01-04 14:59:11 +0900116 "libcutils",
Dan Willemsen1e562182018-11-16 12:52:08 -0800117 "liblog",
118 "libnetutils",
119 ],
Lorenzo Colitti33351932019-01-04 19:36:51 +0900120 test_suites: ["device-tests"],
Maciej Żenczykowski76f4b742019-09-19 14:38:34 -0700121 require_root: true,
Dan Willemsen1e562182018-11-16 12:52:08 -0800122}