1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
| cc_defaults {
| name: "clatd_defaults",
|
| cflags: [
| "-Wall",
| "-Werror",
| "-Wunused-parameter",
|
| // Bug: http://b/33566695
| "-Wno-address-of-packed-member",
| ],
|
| // For NETID_UNSET and MARK_UNSET.
| include_dirs: ["bionic/libc/dns/include"],
|
| // For NETID_USE_LOCAL_NAMESERVERS.
| header_libs: ["libnetd_client_headers"],
| }
|
| // Code used both by the daemon and by unit tests.
| filegroup {
| name: "clatd_common",
| srcs: [
| "config.c",
| "clatd.c",
| "dns64.c",
| "dump.c",
| "getaddr.c",
| "icmp.c",
| "ipv4.c",
| "ipv6.c",
| "logging.c",
| "mtu.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-*",
| ],
| }
|
| // The configuration file.
| prebuilt_etc {
| name: "clatd.conf",
| src: "clatd.conf",
| }
|
| // 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"],
| }
|
| // Microbenchmark.
| cc_test {
| name: "clatd_microbenchmark",
| defaults: ["clatd_defaults"],
| srcs: [
| "clatd_microbenchmark.c",
| "tun.c",
| ],
| shared_libs: [
| "libnetutils",
| ],
| }
|
|