//
// Copyright (C) 2020 The Android Open Source Project
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//

cc_library_static {
    name: "oboe",
    srcs: [
        "src/aaudio/AAudioLoader.cpp",
        "src/aaudio/AudioStreamAAudio.cpp",
        "src/common/AudioSourceCaller.cpp",
        "src/common/AudioStream.cpp",
        "src/common/AudioStreamBuilder.cpp",
        "src/common/DataConversionFlowGraph.cpp",
        "src/common/FilterAudioStream.cpp",
        "src/common/FixedBlockAdapter.cpp",
        "src/common/FixedBlockReader.cpp",
        "src/common/FixedBlockWriter.cpp",
        "src/common/LatencyTuner.cpp",
        "src/common/SourceFloatCaller.cpp",
        "src/common/SourceI16Caller.cpp",
        "src/common/Utilities.cpp",
        "src/common/QuirksManager.cpp",
        "src/fifo/FifoBuffer.cpp",
        "src/fifo/FifoController.cpp",
        "src/fifo/FifoControllerBase.cpp",
        "src/fifo/FifoControllerIndirect.cpp",
        "src/flowgraph/FlowGraphNode.cpp",
        "src/flowgraph/ChannelCountConverter.cpp",
        "src/flowgraph/ClipToRange.cpp",
        "src/flowgraph/ManyToMultiConverter.cpp",
        "src/flowgraph/MonoToMultiConverter.cpp",
        "src/flowgraph/MultiToMonoConverter.cpp",
        "src/flowgraph/RampLinear.cpp",
        "src/flowgraph/SampleRateConverter.cpp",
        "src/flowgraph/SinkFloat.cpp",
        "src/flowgraph/SinkI16.cpp",
        "src/flowgraph/SinkI24.cpp",
        "src/flowgraph/SourceFloat.cpp",
        "src/flowgraph/SourceI16.cpp",
        "src/flowgraph/SourceI24.cpp",
        "src/flowgraph/resampler/IntegerRatio.cpp",
        "src/flowgraph/resampler/LinearResampler.cpp",
        "src/flowgraph/resampler/MultiChannelResampler.cpp",
        "src/flowgraph/resampler/PolyphaseResampler.cpp",
        "src/flowgraph/resampler/PolyphaseResamplerMono.cpp",
        "src/flowgraph/resampler/PolyphaseResamplerStereo.cpp",
        "src/flowgraph/resampler/SincResampler.cpp",
        "src/flowgraph/resampler/SincResamplerStereo.cpp",
        "src/opensles/AudioInputStreamOpenSLES.cpp",
        "src/opensles/AudioOutputStreamOpenSLES.cpp",
        "src/opensles/AudioStreamBuffered.cpp",
        "src/opensles/AudioStreamOpenSLES.cpp",
        "src/opensles/EngineOpenSLES.cpp",
        "src/opensles/OpenSLESUtilities.cpp",
        "src/opensles/OutputMixerOpenSLES.cpp",
        "src/common/StabilizedCallback.cpp",
        "src/common/Trace.cpp",
        "src/common/Version.cpp",
    ],
    header_libs: ["jni_headers"],
    include_dirs: [
        "external/oboe/include",
        "external/oboe/src",
        "frameworks/wilhelm/include",
        "frameworks/av/media/libaaudio/include",
    ],
    cflags: [
        "-std=c++14",
        "-Wall",
        "-Wextra-semi",
        "-Wshadow",
        "-Wshadow-field",
        "-Wno-unused-parameter",
        "-Wno-deprecated-declarations",
        "-Ofast",
        "-DOBOE_NO_INCLUDE_AAUDIO",
    ],
    sdk_version: "current",
    stl: "libc++_static",
}
