summaryrefslogtreecommitdiff
path: root/Android.bp
blob: 8771237d3d73b677eba45af8fc7852246cdffba6 (plain)
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
package {
    default_applicable_licenses: ["system_netd_license"],
}

// Added automatically by a large-scale-change
// See: http://go/android-license-faq
license {
    name: "system_netd_license",
    visibility: [":__subpackages__"],
    license_kinds: [
        "SPDX-license-identifier-Apache-2.0",
    ],
    license_text: [
        "NOTICE",
    ],
}

cc_library_headers {
    name: "libnetd_client_headers",
    export_include_dirs: ["include"],
    apex_available: [
        "//apex_available:platform",
    ],
}

cc_library_headers {
    name: "libnetdbinder_utils_headers",
    export_include_dirs: ["include/binder_utils"],
    apex_available: [
        "//apex_available:platform",
        "com.android.resolv",
    ],
    min_sdk_version: "29",
}

cc_library_headers {
    name: "netd_mainline_headers",
    export_include_dirs: ["include/mainline"],
    apex_available: [
        "//apex_available:platform",
        "com.android.tethering",
    ],
    sdk_version: "29",
    min_sdk_version: "29",
}

cc_defaults {
    name: "netd_defaults",
    cflags: [
        "-Wall",
        "-Werror",
        // Override -Wno-error=implicit-fallthrough from soong
        "-Werror=implicit-fallthrough",
        "-Werror=sometimes-uninitialized",
        "-Werror=conditional-uninitialized",
        "-Wnullable-to-nonnull-conversion",
        "-Wsign-compare",
        "-Wthread-safety",
        "-Wunused-parameter",
        "-Wuninitialized",
    ],
    tidy: true,
    cpp_std: "experimental",
    tidy_checks: [
        "android-*",
        "bugprone-*",
        "cert-*",
        "clang-analyzer-security*",
        "google-*",
        "misc-*",
        "performance-*",
        "-bugprone-macro-parentheses",
        "-bugprone-narrowing-conversions",  // lots of unsigned -> int conversions
        "-bugprone-unhandled-self-assignment", // found in DnsResolver/stats.pb.h
        "-cert-dcl50-cpp",
        "-cert-err34-c",  // TODO: re-enable after removing atoi() and sscanf() calls
        "-cert-oop54-cpp", // found in DnsResolver/stats.pb.h
        "-google-default-arguments",
        "-google-explicit-constructor",
        "-google-global-names-in-headers",
        "-google-readability-*",  // Too pedantic
        "-google-runtime-int",  // Too many unavoidable warnings due to strtol()
        "-google-runtime-references",  // Grandfathered usage of pass by non-const reference
        "-misc-non-private-member-variables-in-classes",  // Also complains about structs
        "-performance-noexcept-move-constructor",
        "-performance-unnecessary-value-param",
    ],
    tidy_checks_as_errors: [
        "android-*",
        "bugprone-*",
        "cert-*",
        "clang-analyzer-security*",
        "google-*",
        "misc-*",
        "performance-*",
    ],
}