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: [ "config.c", "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-*", ], } // 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"], require_root: true, }