1// Copyright (C) 2009 The Android Open Source Project 2// 3// Licensed under the Apache License, Version 2.0 (the "License"); 4// you may not use this file except in compliance with the License. 5// You may obtain a copy of the License at 6// 7// http://www.apache.org/licenses/LICENSE-2.0 8// 9// Unless required by applicable law or agreed to in writing, software 10// distributed under the License is distributed on an "AS IS" BASIS, 11// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12// See the License for the specific language governing permissions and 13// limitations under the License. 14 15cc_library_headers { 16 name: "jni_headers", 17 host_supported: true, 18 export_include_dirs: ["include_jni"], 19 vendor_available: true, 20} 21 22cc_library_headers { 23 name: "libnativehelper_header_only", 24 host_supported: true, 25 export_include_dirs: ["header_only_include"], 26} 27 28cc_library_headers { 29 name: "jni_platform_headers", 30 host_supported: true, 31 export_include_dirs: ["platform_include"], 32} 33 34cc_library { 35 name: "libnativehelper", 36 host_supported: true, 37 srcs: [ 38 "JNIHelp.cpp", 39 "JniConstants.cpp", 40 "toStringArray.cpp", 41 "JniInvocation.cpp", 42 ], 43 44 target: { 45 linux: { 46 srcs: ["AsynchronousCloseMonitor.cpp"], 47 }, 48 }, 49 50 header_libs: [ 51 "jni_headers", 52 "libnativehelper_header_only", 53 "jni_platform_headers" 54 ], 55 export_header_lib_headers: [ 56 "jni_headers", 57 "libnativehelper_header_only", 58 "jni_platform_headers", 59 ], 60 61 shared_libs: [ 62 "liblog", 63 ], 64 cflags: [ 65 "-Werror", 66 "-fvisibility=protected", 67 ], 68 69 export_include_dirs: ["include"], 70} 71 72// 73// NDK-only build for the target (device), using libc++. 74// - Relies only on NDK exposed functionality. 75// - This doesn't include JniInvocation. 76// 77 78cc_library_shared { 79 name: "libnativehelper_compat_libc++", 80 export_include_dirs: [ 81 "header_only_include", 82 "include", 83 ], 84 cflags: ["-Werror"], 85 include_dirs: [ 86 "libnativehelper/header_only_include", 87 "libnativehelper/platform_include", 88 ], 89 srcs: [ 90 "JNIHelp.cpp", 91 "JniConstants.cpp", 92 "toStringArray.cpp", 93 ], 94 shared_libs: [ 95 "liblog", 96 "libdl", 97 ], 98 sdk_version: "19", 99 stl: "c++_static", 100} 101 102ndk_headers { 103 name: "ndk_jni.h", 104 from: "include_jni", 105 to: "", 106 srcs: ["include_jni/jni.h"], 107 license: "NOTICE", 108} 109 110// 111// Tests. 112// 113 114subdirs = ["tests"] 115