// Copyright (C) 2009 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 {
    name: "libnativehelper",
    host_supported: true,
    srcs: [
        "JNIHelp.cpp",
        "JniConstants.cpp",
        "toStringArray.cpp",
        "JniInvocation.cpp",
    ],

    target: {
        android: {
            srcs: ["AsynchronousCloseMonitor.cpp"],
            shared_libs: ["libdl"],
        },
        linux: {
            srcs: ["AsynchronousCloseMonitor.cpp"],
            host_ldlibs: ["-ldl"],
        },
   },

    shared_libs: [
        "liblog",
    ],
    clang: true,
    cflags: [
        "-Werror",
        "-fvisibility=protected",
    ],
    export_include_dirs: ["include"],
}

//
// NDK-only build for the target (device), using libc++.
// - Relies only on NDK exposed functionality.
// - This doesn't include JniInvocation.
//

cc_library_shared {
    name: "libnativehelper_compat_libc++",
    clang: true,
    local_include_dirs: ["include/nativehelper"],
    export_include_dirs: ["include/nativehelper"],
    cflags: ["-Werror"],
    srcs: [
        "JNIHelp.cpp",
        "JniConstants.cpp",
        "toStringArray.cpp",
    ],
    shared_libs: [
        "liblog",
        "libdl",
    ],
    sdk_version: "19",
    stl: "c++_static",
}

ndk_headers {
    name: "ndk_jni.h",
    from: "include/nativehelper",
    to: "",
    srcs: ["include/nativehelper/jni.h"],
}

//
// Tests.
//

subdirs = ["tests"]
