summaryrefslogtreecommitdiff
path: root/libfec/Android.bp
blob: 302d8e40b9d7fb24ab6906430bb77e1a567eba59 (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
// Copyright 2015 The Android Open Source Project

package {
    default_applicable_licenses: ["system_extras_libfec_license"],
}

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

cc_defaults {
    name: "libfec_default",

    cflags: [
        "-Wall",
        "-Werror",
        "-O3",
        "-D_LARGEFILE64_SOURCE",
    ],

    srcs: [
        "fec_open.cpp",
        "fec_read.cpp",
        "fec_verity.cpp",
        "fec_process.cpp",
    ],

    export_include_dirs: ["include"],
    // Exported header include/fec/io.h includes crypto_utils headers.
    export_shared_lib_headers: ["libcrypto_utils"],

    shared_libs: [
        "libbase",
        "libcrypto",
        "libcrypto_utils",
        "libcutils",
        "libext4_utils",
        "libsquashfs_utils",
    ],

    static_libs: [
        "libfec_rs",
    ],

    target: {
        host: {
            cflags: [
                "-D_GNU_SOURCE",
                "-DFEC_NO_KLOG",
            ],
        },
        host_linux: {
            sanitize: {
                misc_undefined: ["integer"],
            },
        },
    },
}

cc_library {
    name: "libfec",
    defaults: ["libfec_default"],
    host_supported: true,
    ramdisk_available: true,
    vendor_ramdisk_available: true,
    recovery_available: true,

    target: {
        linux: {
            srcs: [
                "avb_utils.cpp",
            ],
            static_libs: [
                "libavb",
            ],
        },

        // libavb isn't available on mac.
        darwin: {
            srcs: [
                "avb_utils_stub.cpp",
            ],
        },
    },
}