// 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.

package {
    default_applicable_licenses: ["Android-Apache-2.0"],
}

cc_library {
    name: "libril-modem-lib",
    vendor: true,
    cflags: [
        "-Wextra",
        "-Wno-unused-parameter",
    ],
    srcs: [
        "ril.cpp",
        "RilSapSocket.cpp",
        "ril_config.cpp",
        "ril_event.cpp",
        "ril_service.cpp",
        "sap_service.cpp",
    ],
    include_dirs: [
        "device/google/cuttlefish",
        "hardware/ril/include",
    ],
    shared_libs: [
        "android.hardware.radio@1.0",
        "android.hardware.radio@1.1",
        "android.hardware.radio@1.2",
        "android.hardware.radio@1.3",
        "android.hardware.radio@1.4",
        "android.hardware.radio@1.5",
        "android.hardware.radio@1.6",
        "android.hardware.radio.config@1.0",
        "android.hardware.radio.config@1.1",
        "android.hardware.radio.config@1.2",
        "android.hardware.radio.config@1.3",
        "android.hardware.radio.deprecated@1.0",
        "libcutils",
        "libhardware_legacy",
        "libhidlbase",
        "liblog",
        "librilutils",
        "libutils",
    ],
    static_libs: [
        "libprotobuf-c-nano-enable_malloc"
    ],
}

filegroup {
    name: "libril-modem-lib-manifests",
    srcs: [
        "android.hardware.radio@1.6.xml",
        "android.hardware.radio.config@1.3.xml",
    ],
}

