xref: /aosp_15_r20/external/cronet/third_party/jni_zero/Android.bp (revision 6777b5387eb2ff775bb5750e3f5d96f37fb7352b)
1// Copyright (C) 2022 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//
15// This file is automatically generated by gn2bp/gen_android_bp.py. Do not edit.
16
17// GN: Package-Artificial
18package {
19    default_applicable_licenses: [
20        "external_cronet_third_party_jni_zero_license",
21    ],
22}
23
24// GN: License-Artificial
25license {
26    name: "external_cronet_third_party_jni_zero_license",
27    visibility: [
28        ":__subpackages__",
29    ],
30    license_text: [
31        "LICENSE",
32    ],
33    license_kinds: [
34        "SPDX-license-identifier-BSD",
35    ],
36}
37
38// GN: //third_party/jni_zero:jni_zero
39cc_library_static {
40    name: "cronet_aml_third_party_jni_zero_jni_zero",
41    srcs: [
42        "jni_zero.cc",
43        "logging.cc",
44    ],
45    shared_libs: [
46        "liblog",
47    ],
48    defaults: [
49        "cronet_aml_cc_defaults",
50    ],
51    cflags: [
52        "-DANDROID",
53        "-DANDROID_NDK_VERSION_ROLL=r26b_1",
54        "-DCR_CLANG_REVISION=\"llvmorg-19-init-8091-gab037c4f-22\"",
55        "-DCR_LIBCXX_REVISION=e3b94d0e5b86883fd77696bf10dc33ba250ba99b",
56        "-DDYNAMIC_ANNOTATIONS_ENABLED=0",
57        "-DHAVE_SYS_UIO_H",
58        "-DNDEBUG",
59        "-DNO_UNWIND_TABLES",
60        "-DNVALGRIND",
61        "-DOFFICIAL_BUILD",
62        "-D_GNU_SOURCE",
63        "-D_LIBCPP_DISABLE_VISIBILITY_ANNOTATIONS",
64        "-D_LIBCPP_HARDENING_MODE=_LIBCPP_HARDENING_MODE_EXTENSIVE",
65        "-D_LIBCXXABI_DISABLE_VISIBILITY_ANNOTATIONS",
66        "-D__ANDROID_UNAVAILABLE_SYMBOLS_ARE_WEAK__",
67        "-D__STDC_CONSTANT_MACROS",
68        "-D__STDC_FORMAT_MACROS",
69        "-fdata-sections",
70        "-ffunction-sections",
71        "-fno-asynchronous-unwind-tables",
72        "-fno-unwind-tables",
73        "-fstack-protector",
74        "-fvisibility-inlines-hidden",
75        "-fvisibility=hidden",
76        "-g1",
77    ],
78    include_dirs: [
79        "external/cronet/",
80        "external/cronet/buildtools/third_party/libc++/",
81        "external/cronet/third_party/libc++/src/include",
82        "external/cronet/third_party/libc++abi/src/include",
83    ],
84    cpp_std: "c++20",
85    ldflags: [
86        "-Wl,--as-needed",
87        "-Wl,--gc-sections",
88        "-Wl,--icf=all",
89    ],
90    visibility: [
91        "//external/cronet:__subpackages__",
92    ],
93    target: {
94        android_arm: {
95            cflags: [
96                "-D_FORTIFY_SOURCE=2",
97            ],
98        },
99        android_arm64: {
100            cflags: [
101                "-D_FORTIFY_SOURCE=2",
102                "-O2",
103                "-mno-outline",
104            ],
105        },
106        android_x86: {
107            cflags: [
108                "-D_FORTIFY_SOURCE=2",
109                "-msse3",
110            ],
111        },
112        android_x86_64: {
113            cflags: [
114                "-D_FORTIFY_SOURCE=2",
115                "-msse3",
116            ],
117        },
118    },
119}
120
121// GN: //third_party/jni_zero:jni_zero__testing
122cc_library_static {
123    name: "cronet_aml_third_party_jni_zero_jni_zero__testing",
124    srcs: [
125        "jni_zero.cc",
126        "logging.cc",
127    ],
128    shared_libs: [
129        "liblog",
130    ],
131    defaults: [
132        "cronet_aml_cc_defaults",
133    ],
134    cflags: [
135        "-DANDROID",
136        "-DANDROID_NDK_VERSION_ROLL=r26b_1",
137        "-DCR_CLANG_REVISION=\"llvmorg-19-init-8091-gab037c4f-22\"",
138        "-DCR_LIBCXX_REVISION=e3b94d0e5b86883fd77696bf10dc33ba250ba99b",
139        "-DDYNAMIC_ANNOTATIONS_ENABLED=0",
140        "-DHAVE_SYS_UIO_H",
141        "-DNDEBUG",
142        "-DNO_UNWIND_TABLES",
143        "-DNVALGRIND",
144        "-DOFFICIAL_BUILD",
145        "-D_GNU_SOURCE",
146        "-D_LIBCPP_DISABLE_VISIBILITY_ANNOTATIONS",
147        "-D_LIBCPP_HARDENING_MODE=_LIBCPP_HARDENING_MODE_EXTENSIVE",
148        "-D_LIBCXXABI_DISABLE_VISIBILITY_ANNOTATIONS",
149        "-D__ANDROID_UNAVAILABLE_SYMBOLS_ARE_WEAK__",
150        "-D__STDC_CONSTANT_MACROS",
151        "-D__STDC_FORMAT_MACROS",
152        "-fdata-sections",
153        "-ffunction-sections",
154        "-fno-asynchronous-unwind-tables",
155        "-fno-unwind-tables",
156        "-fstack-protector",
157        "-fvisibility-inlines-hidden",
158        "-fvisibility=hidden",
159        "-g1",
160    ],
161    include_dirs: [
162        "external/cronet/",
163        "external/cronet/buildtools/third_party/libc++/",
164        "external/cronet/third_party/libc++/src/include",
165        "external/cronet/third_party/libc++abi/src/include",
166    ],
167    cpp_std: "c++20",
168    ldflags: [
169        "-Wl,--as-needed",
170        "-Wl,--gc-sections",
171        "-Wl,--icf=all",
172    ],
173    visibility: [
174        "//external/cronet:__subpackages__",
175    ],
176    target: {
177        android_arm: {
178            cflags: [
179                "-D_FORTIFY_SOURCE=2",
180            ],
181        },
182        android_arm64: {
183            cflags: [
184                "-D_FORTIFY_SOURCE=2",
185                "-O2",
186                "-mno-outline",
187            ],
188        },
189        android_x86: {
190            cflags: [
191                "-D_FORTIFY_SOURCE=2",
192                "-msse3",
193            ],
194        },
195        android_x86_64: {
196            cflags: [
197                "-D_FORTIFY_SOURCE=2",
198                "-msse3",
199            ],
200        },
201    },
202}
203
204// GN: //third_party/jni_zero:jni_zero_java
205java_library {
206    name: "cronet_aml_third_party_jni_zero_jni_zero_java",
207    srcs: [
208        "java/src/org/jni_zero/AccessedByNative.java",
209        "java/src/org/jni_zero/CalledByNative.java",
210        "java/src/org/jni_zero/CalledByNativeForTesting.java",
211        "java/src/org/jni_zero/CalledByNativeUnchecked.java",
212        "java/src/org/jni_zero/CheckDiscard.java",
213        "java/src/org/jni_zero/JNINamespace.java",
214        "java/src/org/jni_zero/JniStaticTestMocker.java",
215        "java/src/org/jni_zero/JniType.java",
216        "java/src/org/jni_zero/NativeClassQualifiedName.java",
217        "java/src/org/jni_zero/NativeLibraryLoadedStatus.java",
218        "java/src/org/jni_zero/NativeMethods.java",
219    ],
220    static_libs: [
221        "cronet_aml_build_android_build_java",
222    ],
223    defaults: [
224        "cronet_aml_java_framework_defaults",
225    ],
226    apex_available: [
227        "com.android.tethering",
228    ],
229    min_sdk_version: "30",
230    visibility: [
231        "//external/cronet:__subpackages__",
232    ],
233    jarjar_rules: ":remove_gen_jni_jarjar_rules",
234}
235
236// GN: //third_party/jni_zero:jni_zero_java__testing
237java_library {
238    name: "cronet_aml_third_party_jni_zero_jni_zero_java__testing",
239    srcs: [
240        "java/src/org/jni_zero/AccessedByNative.java",
241        "java/src/org/jni_zero/CalledByNative.java",
242        "java/src/org/jni_zero/CalledByNativeForTesting.java",
243        "java/src/org/jni_zero/CalledByNativeUnchecked.java",
244        "java/src/org/jni_zero/CheckDiscard.java",
245        "java/src/org/jni_zero/JNINamespace.java",
246        "java/src/org/jni_zero/JniStaticTestMocker.java",
247        "java/src/org/jni_zero/JniType.java",
248        "java/src/org/jni_zero/NativeClassQualifiedName.java",
249        "java/src/org/jni_zero/NativeLibraryLoadedStatus.java",
250        "java/src/org/jni_zero/NativeMethods.java",
251    ],
252    static_libs: [
253        "cronet_aml_build_android_build_java__testing",
254    ],
255    apex_available: [
256        "com.android.tethering",
257    ],
258    min_sdk_version: "30",
259    sdk_version: "current",
260    visibility: [
261        "//external/cronet:__subpackages__",
262    ],
263    jarjar_rules: ":remove_gen_jni_jarjar_rules",
264}
265