1cc_library {
2    name: "libaaudio",
3
4    local_include_dirs: [
5        "binding",
6        "client",
7        "core",
8        "fifo",
9        "legacy",
10        "utility",
11    ],
12    export_include_dirs: ["."],
13    header_libs: ["libaaudio_headers"],
14    export_header_lib_headers: ["libaaudio_headers"],
15
16    srcs: [
17        "core/AudioStream.cpp",
18        "core/AudioStreamBuilder.cpp",
19        "core/AAudioAudio.cpp",
20        "core/AAudioStreamParameters.cpp",
21        "legacy/AudioStreamLegacy.cpp",
22        "legacy/AudioStreamRecord.cpp",
23        "legacy/AudioStreamTrack.cpp",
24        "utility/AAudioUtilities.cpp",
25        "utility/FixedBlockAdapter.cpp",
26        "utility/FixedBlockReader.cpp",
27        "utility/FixedBlockWriter.cpp",
28        "utility/LinearRamp.cpp",
29        "fifo/FifoBuffer.cpp",
30        "fifo/FifoControllerBase.cpp",
31        "client/AudioEndpoint.cpp",
32        "client/AudioStreamInternal.cpp",
33        "client/AudioStreamInternalCapture.cpp",
34        "client/AudioStreamInternalPlay.cpp",
35        "client/IsochronousClockModel.cpp",
36        "binding/AudioEndpointParcelable.cpp",
37        "binding/AAudioBinderClient.cpp",
38        "binding/AAudioStreamRequest.cpp",
39        "binding/AAudioStreamConfiguration.cpp",
40        "binding/IAAudioClient.cpp",
41        "binding/IAAudioService.cpp",
42        "binding/RingBufferParcelable.cpp",
43        "binding/SharedMemoryParcelable.cpp",
44        "binding/SharedRegionParcelable.cpp",
45    ],
46
47    cflags: [
48        "-Wno-unused-parameter",
49        "-Wall",
50        "-Werror",
51
52        // By default, all symbols are hidden.
53        // "-fvisibility=hidden",
54        // AAUDIO_API is used to explicitly export a function or a variable as a visible symbol.
55        "-DAAUDIO_API=__attribute__((visibility(\"default\")))",
56    ],
57
58    shared_libs: [
59        "libaudioclient",
60        "libaudioutils",
61        "liblog",
62        "libcutils",
63        "libutils",
64        "libbinder",
65        "libaudiomanager",
66    ],
67}
68