1cc_library_headers {
2    name: "libstagefright_foundation_headers",
3    export_include_dirs: ["include"],
4    vendor_available: true,
5}
6
7cc_library {
8    name: "libstagefright_foundation",
9    vendor_available: true,
10    vndk: {
11        enabled: true,
12    },
13    include_dirs: [
14        "frameworks/av/include",
15        "frameworks/native/include",
16        "frameworks/native/libs/arect/include",
17        "frameworks/native/libs/nativebase/include",
18    ],
19
20    local_include_dirs: [
21        "include/media/stagefright/foundation",
22    ],
23
24    header_libs: [
25        "libhardware_headers",
26        "libstagefright_foundation_headers",
27        "media_plugin_headers",
28    ],
29
30    export_header_lib_headers: [
31        "libstagefright_foundation_headers",
32        "media_plugin_headers",
33    ],
34
35    export_shared_lib_headers: [
36        "libbinder",
37    ],
38
39    cflags: [
40        "-Wno-multichar",
41        "-Werror",
42        "-Wall",
43    ],
44
45    shared_libs: [
46        "libbinder",
47        "libutils",
48        "libcutils",
49        "liblog",
50    ],
51
52    srcs: [
53        "AAtomizer.cpp",
54        "ABitReader.cpp",
55        "ABuffer.cpp",
56        "ADebug.cpp",
57        "AHandler.cpp",
58        "AHierarchicalStateMachine.cpp",
59        "ALooper.cpp",
60        "ALooperRoster.cpp",
61        "AMessage.cpp",
62        "ANetworkSession.cpp",
63        "AString.cpp",
64        "AStringUtils.cpp",
65        "ByteUtils.cpp",
66        "ColorUtils.cpp",
67        "MediaDefs.cpp",
68        "MediaKeys.cpp",
69        "ParsedMessage.cpp",
70        "avc_utils.cpp",
71        "base64.cpp",
72        "hexdump.cpp",
73    ],
74
75    clang: true,
76
77    sanitize: {
78        misc_undefined: [
79            "unsigned-integer-overflow",
80            "signed-integer-overflow",
81        ],
82        cfi: true,
83        diag: {
84            cfi: true,
85        },
86    },
87}
88