blob: f2340f1c5584d8912a7a080a1bec41a24756600a [file] [log] [blame]
Colin Crosscf47d9b2016-07-27 10:35:53 -07001// 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
Jiyong Park083b9202017-07-14 15:56:33 +090015cc_library_headers {
16 name: "jni_headers",
17 host_supported: true,
18 export_include_dirs: ["include_jni"],
19 vendor_available: true,
Jerome Gaillardf0d42052019-03-12 15:17:22 +000020 target: {
21 windows: {
22 enabled: true,
23 },
24 },
Jiyong Park083b9202017-07-14 15:56:33 +090025}
26
Andreas Gampe12afda42017-08-23 11:26:30 -070027cc_library_headers {
Andreas Gamped299c072017-10-17 10:50:00 -070028 name: "libnativehelper_header_only",
29 host_supported: true,
30 export_include_dirs: ["header_only_include"],
Jerome Gaillardf0d42052019-03-12 15:17:22 +000031 target: {
32 windows: {
33 enabled: true,
34 },
35 },
Andreas Gamped299c072017-10-17 10:50:00 -070036}
37
38cc_library_headers {
Andreas Gampe12afda42017-08-23 11:26:30 -070039 name: "jni_platform_headers",
40 host_supported: true,
41 export_include_dirs: ["platform_include"],
Jerome Gaillardf0d42052019-03-12 15:17:22 +000042 target: {
43 windows: {
44 enabled: true,
45 },
46 },
Andreas Gampe12afda42017-08-23 11:26:30 -070047}
48
Martin Stjernholm8f6839c2019-02-05 15:06:45 +000049cc_library {
50 name: "libnativehelper",
Colin Crosscf47d9b2016-07-27 10:35:53 -070051 host_supported: true,
52 srcs: [
53 "JNIHelp.cpp",
54 "JniConstants.cpp",
Colin Crosscf47d9b2016-07-27 10:35:53 -070055 "JniInvocation.cpp",
Orion Hodsonaadb3732018-11-21 12:58:34 +000056 "toStringArray.cpp",
Colin Crosscf47d9b2016-07-27 10:35:53 -070057 ],
Colin Crosscf47d9b2016-07-27 10:35:53 -070058 shared_libs: [
Jerome Gaillardf0d42052019-03-12 15:17:22 +000059 "libbase",
Colin Crosscf47d9b2016-07-27 10:35:53 -070060 "liblog",
61 ],
Colin Crosscf47d9b2016-07-27 10:35:53 -070062 cflags: [
63 "-Werror",
64 "-fvisibility=protected",
65 ],
Orion Hodsonb01e7fe2018-11-07 06:07:50 +000066 export_include_dirs: [
Martin Stjernholm8f6839c2019-02-05 15:06:45 +000067 "include",
68 "header_only_include",
69 "platform_include"
Orion Hodsonb01e7fe2018-11-07 06:07:50 +000070 ],
Martin Stjernholm8f6839c2019-02-05 15:06:45 +000071 stubs: {
72 symbol_file: "libnativehelper.map.txt",
73 versions: ["1"],
74 },
Jerome Gaillardf0d42052019-03-12 15:17:22 +000075 target: {
76 windows: {
77 enabled: true,
78 },
79 },
Colin Crosscf47d9b2016-07-27 10:35:53 -070080}
81
82//
83// NDK-only build for the target (device), using libc++.
84// - Relies only on NDK exposed functionality.
85// - This doesn't include JniInvocation.
86//
87
88cc_library_shared {
89 name: "libnativehelper_compat_libc++",
Steven Moreland3544a932017-07-19 10:26:05 -070090 export_include_dirs: [
Andreas Gamped299c072017-10-17 10:50:00 -070091 "header_only_include",
Steven Moreland3544a932017-07-19 10:26:05 -070092 "include",
Steven Moreland3544a932017-07-19 10:26:05 -070093 ],
Colin Crosscf47d9b2016-07-27 10:35:53 -070094 cflags: ["-Werror"],
Andreas Gamped299c072017-10-17 10:50:00 -070095 include_dirs: [
96 "libnativehelper/header_only_include",
97 "libnativehelper/platform_include",
98 ],
Colin Crosscf47d9b2016-07-27 10:35:53 -070099 srcs: [
100 "JNIHelp.cpp",
101 "JniConstants.cpp",
102 "toStringArray.cpp",
103 ],
104 shared_libs: [
105 "liblog",
Colin Crosscf47d9b2016-07-27 10:35:53 -0700106 ],
107 sdk_version: "19",
108 stl: "c++_static",
109}
110
Dan Albert3cada472016-07-27 12:44:35 -0700111ndk_headers {
112 name: "ndk_jni.h",
Steven Morelandab365e32017-07-18 13:24:41 -0700113 from: "include_jni",
Dan Albert3cada472016-07-27 12:44:35 -0700114 to: "",
Steven Morelandab365e32017-07-18 13:24:41 -0700115 srcs: ["include_jni/jni.h"],
Dan Alberta725dc62016-10-20 10:17:46 -0700116 license: "NOTICE",
Dan Albert3cada472016-07-27 12:44:35 -0700117}
118
Colin Crosscf47d9b2016-07-27 10:35:53 -0700119//
120// Tests.
121//
122
123subdirs = ["tests"]