blob: d1bf2e1e180c5b944dd16fdbb69ba5091504bc5c [file] [log] [blame]
Lorenzo Colittiafaaa8e2018-12-18 19:16:12 +09001cc_library_headers {
2 name: "libnetd_resolv_headers",
3 export_include_dirs: ["include"],
4}
5
Luke Huang9353da82019-02-25 15:33:42 +08006aidl_interface {
7 name: "dnsresolver_aidl_interface",
8 local_include_dir: "binder",
9 srcs: [
10 "binder/android/net/IDnsResolver.aidl",
waynema85f22d62019-04-17 07:48:31 -070011 "binder/android/net/ResolverParamsParcel.aidl",
Luke Huang9353da82019-02-25 15:33:42 +080012 ],
Hungming Chen5e81d4d2019-01-25 10:47:40 +080013 imports: [
14 "netd_event_listener_interface",
15 ],
Luke Huang363587c2019-05-08 21:54:28 -070016 backend: {
17 ndk: {
18 gen_log: true,
19 },
20 },
Remi NGUYEN VANf0a315e2019-05-22 22:51:59 -070021 api_dir: "aidl/dnsresolver",
Luke Huanga76e5e02019-04-29 18:00:37 -070022 versions: [
23 "1",
24 "2",
25 ],
Luke Huang9353da82019-02-25 15:33:42 +080026}
27
Hungming Chen5e81d4d2019-01-25 10:47:40 +080028cc_test_library {
29 name: "libnetd_test_metrics_listener",
30 defaults: ["netd_defaults"],
31 srcs: [
32 "tests/BaseTestMetricsListener.cpp",
33 "tests/TestMetrics.cpp",
34 ],
35 include_dirs: [
36 "system/netd/include",
37 ],
38 shared_libs: [
39 "libbinder",
40 "libutils",
Remi NGUYEN VAN9aadaf82019-05-23 01:09:36 -070041 "netd_event_listener_interface-V1-cpp",
Hungming Chen5e81d4d2019-01-25 10:47:40 +080042 ],
43}
44
Lorenzo Colittia0a2b7e2018-12-19 20:30:41 +090045cc_library {
Bernie Innocentif89b3512018-08-30 07:34:37 +090046 name: "libnetd_resolv",
Bernie Innocentie0923f42018-10-25 18:41:47 +090047 version_script: "libnetd_resolv.map.txt",
Bernie Innocentif89b3512018-08-30 07:34:37 +090048 defaults: ["netd_defaults"],
49 srcs: [
Bernie Innocenti1f4a9fd2018-09-07 21:10:25 +090050 "getaddrinfo.cpp",
51 "gethnamaddr.cpp",
52 "sethostent.cpp",
53 "res_cache.cpp",
54 "res_comp.cpp",
Bernie Innocenti1f4a9fd2018-09-07 21:10:25 +090055 "res_debug.cpp",
56 "res_init.cpp",
57 "res_mkquery.cpp",
58 "res_query.cpp",
59 "res_send.cpp",
60 "res_state.cpp",
61 "res_stats.cpp",
Luke Huang43754b42019-03-28 14:09:24 +080062 "Dns64Configuration.cpp",
Mike Yu0ae31af2018-11-15 21:58:19 +080063 "DnsProxyListener.cpp",
Luke Huang71eac7c2019-03-13 02:54:45 +080064 "DnsResolver.cpp",
Luke Huang9353da82019-02-25 15:33:42 +080065 "DnsResolverService.cpp",
Mike Yu5ae61542018-10-19 22:11:43 +080066 "DnsTlsDispatcher.cpp",
67 "DnsTlsQueryMap.cpp",
68 "DnsTlsTransport.cpp",
69 "DnsTlsServer.cpp",
70 "DnsTlsSessionCache.cpp",
71 "DnsTlsSocket.cpp",
Mike Yua46fae72018-11-01 20:07:00 +080072 "PrivateDnsConfiguration.cpp",
Luke Huang43754b42019-03-28 14:09:24 +080073 "ResolverController.cpp",
Mike Yuae7f9f72018-12-14 16:18:27 +080074 "ResolverEventReporter.cpp",
Bernie Innocentif89b3512018-08-30 07:34:37 +090075 ],
Bernie Innocentic0be3ad2018-09-13 16:12:56 +090076 // Link everything statically (except for libc) to minimize our dependence
77 // on system ABIs
78 stl: "libc++_static",
Bernie Innocentie9ba09c2018-09-12 23:20:10 +090079 static_libs: [
80 "libbase",
Mike Yua46fae72018-11-01 20:07:00 +080081 "libcrypto",
Mike Yu0ae31af2018-11-15 21:58:19 +080082 "libcutils",
Luke Huang363587c2019-05-08 21:54:28 -070083 "libjsoncpp",
Bernie Innocentie9ba09c2018-09-12 23:20:10 +090084 "liblog",
Mike Yu5ae61542018-10-19 22:11:43 +080085 "libnetdutils",
86 "libssl",
lifr9b167722019-05-08 13:00:14 +080087 "libstatslog_resolv",
88 "libstatssocket",
Mike Yu0ae31af2018-11-15 21:58:19 +080089 "libsysutils",
lifr9b167722019-05-08 13:00:14 +080090 "libutils",
Mike Yuae7f9f72018-12-14 16:18:27 +080091 "netd_event_listener_interface-ndk_platform",
Luke Huang9353da82019-02-25 15:33:42 +080092 "dnsresolver_aidl_interface-ndk_platform",
waynema2371eab2019-01-18 14:02:31 +080093 "server_configurable_flags",
lifr9b167722019-05-08 13:00:14 +080094 "stats_proto",
95 "libprotobuf-cpp-lite",
Mike Yuae7f9f72018-12-14 16:18:27 +080096 ],
97 shared_libs: [
98 "libbinder_ndk",
Mike Yu0ae31af2018-11-15 21:58:19 +080099 ],
Mike Yu0ae31af2018-11-15 21:58:19 +0800100 include_dirs: [
101 "system/netd/include",
102 "system/netd/server",
Mike Yu5ae61542018-10-19 22:11:43 +0800103 ],
Bernie Innocenti189eb502018-10-01 23:10:18 +0900104 export_include_dirs: ["include"],
Bernie Innocentif89b3512018-08-30 07:34:37 +0900105 // TODO: pie in the sky: make this code clang-tidy clean
Bernie Innocentie9ba09c2018-09-12 23:20:10 +0900106 tidy: false,
107 product_variables: {
108 debuggable: {
109 cppflags: [
110 "-DRESOLV_ALLOW_VERBOSE_LOGGING=1",
111 ],
112 },
113 },
Bernie Innocentif89b3512018-08-30 07:34:37 +0900114}
Mike Yu16b6d762018-10-19 21:06:32 +0800115
lifr9b167722019-05-08 13:00:14 +0800116cc_library_static {
117 name: "stats_proto",
118 defaults: ["netd_defaults"],
119 proto: {
120 export_proto_headers: true,
121 type: "lite",
122 },
123 srcs: [
124 "stats.proto",
125 ],
126}
127
128genrule {
129 name: "statslog_resolv.h",
130 tools: ["stats-log-api-gen"],
131 cmd: "$(location stats-log-api-gen) --header $(genDir)/statslog_resolv.h --module resolv --namespace android,net,stats",
132 out: [
133 "statslog_resolv.h",
134 ],
135}
136
137genrule {
138 name: "statslog_resolv.cpp",
139 tools: ["stats-log-api-gen"],
140 cmd: "$(location stats-log-api-gen) --cpp $(genDir)/statslog_resolv.cpp --module resolv --namespace android,net,stats --importHeader statslog_resolv.h",
141 out: [
142 "statslog_resolv.cpp",
143 ],
144}
145
146cc_library_static {
147 name: "libstatslog_resolv",
148 generated_sources: ["statslog_resolv.cpp"],
149 generated_headers: ["statslog_resolv.h"],
150 defaults: ["netd_defaults"],
151 export_generated_headers: ["statslog_resolv.h"],
152 static_libs: [
153 "libcutils",
154 "liblog",
155 "libstatssocket",
156 "libutils",
157 ],
158}
159
Mike Yu16b6d762018-10-19 21:06:32 +0800160cc_test {
Ken Chenc68c2de2018-11-13 21:51:13 +0800161 name: "resolv_integration_test",
162 test_suites: ["device-tests"],
Bernie Innocentif0970c22019-06-19 10:14:40 -0700163 require_root: true,
Ken Chenc68c2de2018-11-13 21:51:13 +0800164 defaults: ["netd_defaults"],
165 srcs: [
Ken Chenc68c2de2018-11-13 21:51:13 +0800166 "dns_responder/dns_responder.cpp",
167 "resolver_test.cpp",
Luke Huang9353da82019-02-25 15:33:42 +0800168 "dnsresolver_binder_test.cpp",
Ken Chenc68c2de2018-11-13 21:51:13 +0800169 ],
170 include_dirs: [
171 "system/netd/resolv/include",
172 "system/netd/server",
173 ],
174 shared_libs: [
175 "libbase",
176 "libbinder",
177 "libcrypto",
178 "liblog",
179 "libnetd_client",
180 "libssl",
181 "libutils",
Ken Chenc68c2de2018-11-13 21:51:13 +0800182 ],
183 static_libs: [
Luke Huang43754b42019-03-28 14:09:24 +0800184 "libgmock",
Ken Chenc68c2de2018-11-13 21:51:13 +0800185 "libnetd_test_dnsresponder",
Hungming Chen5e81d4d2019-01-25 10:47:40 +0800186 "libnetd_test_metrics_listener",
Ken Chenc68c2de2018-11-13 21:51:13 +0800187 "libnetd_test_tun_interface",
188 "liblogwrap",
Ken Chenc68c2de2018-11-13 21:51:13 +0800189 "libnetdutils",
Remi NGUYEN VAN9aadaf82019-05-23 01:09:36 -0700190 "netd_aidl_interface-V2-cpp",
191 "netd_event_listener_interface-V1-cpp",
192 "dnsresolver_aidl_interface-V2-cpp",
Ken Chenc68c2de2018-11-13 21:51:13 +0800193 ],
Lorenzo Colitti3f472232019-11-26 12:44:50 +0900194 tidy: false,
Ken Chenc68c2de2018-11-13 21:51:13 +0800195 compile_multilib: "both",
Ken Chenc68c2de2018-11-13 21:51:13 +0800196}
197
198cc_test {
199 name: "resolv_unit_test",
Bernie Innocentib03430f2019-04-03 06:07:02 +0000200 test_suites: ["device-tests"],
Mike Yu16b6d762018-10-19 21:06:32 +0800201 defaults: ["netd_defaults"],
202 srcs: [
203 "dns_tls_test.cpp",
nuccachen5c2d32f2018-11-28 18:19:39 +0800204 "libnetd_resolv_test.cpp",
Luke Huang57b128d2019-07-23 16:04:12 -0700205 "res_cache_test.cpp",
Mike Yu16b6d762018-10-19 21:06:32 +0800206 ],
Mike Yu16b6d762018-10-19 21:06:32 +0800207 shared_libs: [
208 "libbase",
Mike Yua46fae72018-11-01 20:07:00 +0800209 "libcrypto",
Luke Huang57b128d2019-07-23 16:04:12 -0700210 "libcutils",
Mike Yu16b6d762018-10-19 21:06:32 +0800211 "liblog",
Mike Yu5ae61542018-10-19 22:11:43 +0800212 "libssl",
Mike Yu16b6d762018-10-19 21:06:32 +0800213 ],
nuccachen5c2d32f2018-11-28 18:19:39 +0800214 static_libs: [
Luke Huang57b128d2019-07-23 16:04:12 -0700215 "libgmock",
Lorenzo Colittia0a2b7e2018-12-19 20:30:41 +0900216 "libnetd_resolv",
nuccachen5c2d32f2018-11-28 18:19:39 +0800217 "libnetd_test_dnsresponder",
Lorenzo Colitti0d443192018-12-19 21:13:03 +0900218 "libnetdutils",
Frank Li08ce7b82019-06-27 10:11:52 -0700219 "libprotobuf-cpp-lite",
waynema2371eab2019-01-18 14:02:31 +0800220 "server_configurable_flags",
Frank Li08ce7b82019-06-27 10:11:52 -0700221 "stats_proto",
nuccachen5c2d32f2018-11-28 18:19:39 +0800222 ],
Mike Yu16b6d762018-10-19 21:06:32 +0800223}