aboutsummaryrefslogtreecommitdiff
path: root/build/Android.bp
blob: f68d6431752ee7d3641b59f57cb97118309265d5 (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
98
99
100
101
102
103
104
105
106
107
108
109
bootstrap_go_package {
    name: "soong-fluoride",
    pkgPath: "android/soong/fluoride",
    deps: [
        "blueprint",
        "blueprint-pathtools",
        "soong",
        "soong-android",
        "soong-cc",
    ],
    srcs: [
        "fluoride.go",
    ],
    pluginFor: ["soong_build"],
}

fluoride_defaults {
    name: "libchrome_support_defaults",
    shared_libs: ["libchrome"],
    cflags: [
        "-Wall",
        "-Wextra",
        "-Werror",
    ],
    target: {
        darwin: {
            enabled: false,
        },
    },
}

fluoride_defaults {
    name: "fluoride_types_defaults",
    defaults: ["libchrome_support_defaults"],
    cflags: [
        "-DEXPORT_SYMBOL=__attribute__((visibility(\"default\")))",
        "-fvisibility=hidden",
        // struct BT_HDR is defined as a variable-size header in a struct.
        "-Wno-gnu-variable-sized-type-not-at-end",
        // there are too many unused parameters in all the code.
        "-Wno-unused-parameter",
        "-DLOG_NDEBUG=1",
    ],
    conlyflags: [
        "-std=c99",
    ],
    product_variables: {
        debuggable: {
            cflags: [
                "-DBLUEDROID_DEBUG",
            ],
        },
    },
}

fluoride_defaults {
    name: "fluoride_defaults",
    target: {
        android: {
            test_config_template: ":BluetoothTestConfigTemplate",
        }
    },
    defaults: ["fluoride_types_defaults"],
    header_libs: ["libbluetooth_headers"],
    shared_libs: ["libstatslog"],
    static_libs: [
        "libbluetooth-types",
        "libbt-platform-protos-lite",
    ],
    cpp_std: "c++17",
    sanitize: {
        misc_undefined: ["bounds"],
    },
}

// Enables code coverage for a set of source files. Must be combined with
// "clang_coverage_bin" in order to work. See //test/gen_coverage.py for more information
// on generating code coverage.
cc_defaults {
    name: "clang_file_coverage",
    target: {
        linux: {
            enabled: true,
            clang_cflags: [
                "-fprofile-instr-generate",
                "-fcoverage-mapping",
            ],
        },
    },
}

// Enabled code coverage on a binary. These flags allow libraries that were
// compiled with "clang_file_coverage" to be properly linked together in
// order to create a binary that will create a profraw file when ran. Note
// these flags themselves don't enable code coverage for the source files
// compiled in the binary. See //test/gen_coverage.py for more information
// on generating code coverage.
cc_defaults {
    name: "clang_coverage_bin",
    target: {
        linux: {
            enabled: true,
            ldflags: [
                "-fprofile-instr-generate",
                "-fcoverage-mapping",
            ],
        },
    },
}