blob: ed2ed831c9a9751f3a2fdc08e40d6c6c4353e849 [file] [log] [blame]
Dan Willemsen59e086f2016-07-25 17:13:45 -07001// Build the ETC1 library
2cc_library {
3 name: "libETC1",
4 srcs: ["ETC1/etc1.cpp"],
5 host_supported: true,
Chih-Hung Hsiehc60a0f02017-10-05 14:25:18 -07006 cflags: ["-Wall", "-Werror"],
Dan Willemsen59e086f2016-07-25 17:13:45 -07007
8 target: {
9 android: {
10 static: {
11 enabled: false,
12 },
13 },
14 host: {
15 shared: {
16 enabled: false,
17 },
18 },
19 windows: {
20 enabled: true,
21 },
22 },
23}
Dan Albert49fbff42016-10-03 12:36:00 -070024
Dan Albert7facb1d2016-10-03 12:36:00 -070025// The headers modules are in frameworks/native/opengl/Android.bp.
Dan Albert49fbff42016-10-03 12:36:00 -070026ndk_library {
Dan Willemsen219db6c2017-04-07 15:48:39 -070027 name: "libEGL",
Dan Albert49fbff42016-10-03 12:36:00 -070028 symbol_file: "libEGL.map.txt",
29 first_version: "9",
Dan Albertb9c62a62017-01-05 15:58:50 -080030 unversioned_until: "current",
Dan Albert49fbff42016-10-03 12:36:00 -070031}
Dan Albert7facb1d2016-10-03 12:36:00 -070032
33ndk_library {
Dan Willemsen219db6c2017-04-07 15:48:39 -070034 name: "libGLESv1_CM",
Dan Albert7facb1d2016-10-03 12:36:00 -070035 symbol_file: "libGLESv1_CM.map.txt",
36 first_version: "9",
Dan Albertb9c62a62017-01-05 15:58:50 -080037 unversioned_until: "current",
Dan Albert7facb1d2016-10-03 12:36:00 -070038}
Dan Albert00500c72016-10-03 12:36:00 -070039
40ndk_library {
Dan Willemsen219db6c2017-04-07 15:48:39 -070041 name: "libGLESv2",
Dan Albert00500c72016-10-03 12:36:00 -070042 symbol_file: "libGLESv2.map.txt",
43 first_version: "9",
Dan Albertb9c62a62017-01-05 15:58:50 -080044 unversioned_until: "current",
Dan Albert00500c72016-10-03 12:36:00 -070045}
Dan Albertd7d8efa2016-10-03 12:36:00 -070046
47ndk_library {
Dan Willemsen219db6c2017-04-07 15:48:39 -070048 name: "libGLESv3",
Dan Albertd7d8efa2016-10-03 12:36:00 -070049 symbol_file: "libGLESv3.map.txt",
50 first_version: "18",
Dan Albertb9c62a62017-01-05 15:58:50 -080051 unversioned_until: "current",
Dan Albertd7d8efa2016-10-03 12:36:00 -070052}
Dan Willemsena3310632016-10-03 23:56:51 -070053
54cc_defaults {
55 name: "gl_libs_defaults",
56 cflags: [
57 "-DGL_GLEXT_PROTOTYPES",
58 "-DEGL_EGLEXT_PROTOTYPES",
59 "-fvisibility=hidden",
Chih-Hung Hsiehc60a0f02017-10-05 14:25:18 -070060 "-Wall",
61 "-Werror",
62 "-Wno-unused-variable",
Dan Willemsena3310632016-10-03 23:56:51 -070063 ],
64 shared_libs: [
Mathias Agopian5f1af042017-03-09 18:50:05 -080065 // ***** DO NOT ADD NEW DEPENDENCIES HERE *****
66 // In particular, DO NOT add libutils or anything "above" libcutils
Dan Willemsena3310632016-10-03 23:56:51 -070067 "libcutils",
68 "liblog",
69 "libdl",
70 ],
Jiyong Parka243e5d2017-06-21 12:26:51 +090071 static_libs: [
72 "libarect",
73 ],
74 header_libs: [
Christopher Ferrisddd1d6b2019-09-26 08:27:25 -070075 "bionic_libc_platform_headers",
Jiyong Parka243e5d2017-06-21 12:26:51 +090076 "gl_headers",
77 "libsystem_headers",
Jiyong Parka243e5d2017-06-21 12:26:51 +090078 "libnativebase_headers",
79 ],
80 export_header_lib_headers: ["gl_headers"],
Dan Willemsena3310632016-10-03 23:56:51 -070081}
82
83//##############################################################################
84// Build META EGL library
85//
86cc_defaults {
87 name: "egl_libs_defaults",
88 defaults: ["gl_libs_defaults"],
89 cflags: [
90 "-DLOG_TAG=\"libEGL\"",
Chih-Hung Hsiehc60a0f02017-10-05 14:25:18 -070091 "-Wall",
92 "-Werror",
93 "-Wno-error=deprecated-register",
94 "-Wno-error=unknown-attributes",
95 "-Wno-unused-variable",
Dan Willemsena3310632016-10-03 23:56:51 -070096 ],
97 shared_libs: [
Mathias Agopian5f1af042017-03-09 18:50:05 -080098 // ***** DO NOT ADD NEW DEPENDENCIES HERE *****
99 // In particular, DO NOT add libutils nor anything "above" libui
Jiyong Park27c39e12017-05-08 13:00:02 +0900100 "libgraphicsenv",
Mathias Agopian89ed4c82017-02-09 18:48:34 -0800101 "libnativewindow",
Mathias Agopian5f1af042017-03-09 18:50:05 -0800102 "libbacktrace",
Michael Hoisie4e0f56b2020-04-30 18:40:55 -0400103 "libbase",
Dan Willemsena3310632016-10-03 23:56:51 -0700104 ],
Jiyong Parka243e5d2017-06-21 12:26:51 +0900105 target: {
106 vendor: {
107 exclude_shared_libs: ["libgraphicsenv"],
108 },
109 },
Dan Willemsena3310632016-10-03 23:56:51 -0700110}
111
112cc_library_static {
113 name: "libEGL_getProcAddress",
114 defaults: ["egl_libs_defaults"],
115 srcs: ["EGL/getProcAddress.cpp"],
116 arch: {
117 arm: {
118 instruction_set: "arm",
119 },
120 },
121}
122
Stan Iliev9e7cd072017-10-09 15:56:10 -0400123cc_library_static {
124 name: "libEGL_blobCache",
125 defaults: ["egl_libs_defaults"],
126 srcs: [
127 "EGL/BlobCache.cpp",
128 "EGL/FileBlobCache.cpp",
129 ],
130 export_include_dirs: ["EGL"],
131}
132
Dan Willemsena3310632016-10-03 23:56:51 -0700133cc_library_shared {
134 name: "libEGL",
135 defaults: ["egl_libs_defaults"],
Colin Cross8af6d1c2020-10-19 13:38:00 -0700136 llndk_stubs: "libEGL.llndk",
Dan Willemsena3310632016-10-03 23:56:51 -0700137 srcs: [
138 "EGL/egl_tls.cpp",
139 "EGL/egl_cache.cpp",
140 "EGL/egl_display.cpp",
141 "EGL/egl_object.cpp",
Cody Northrop629ce4e2018-10-15 07:22:09 -0600142 "EGL/egl_layers.cpp",
Dan Willemsena3310632016-10-03 23:56:51 -0700143 "EGL/egl.cpp",
Cody Northrop68d10352018-10-15 07:22:09 -0600144 "EGL/eglApi.cpp",
Cody Northrop0ec5d382018-10-15 07:22:07 -0600145 "EGL/egl_platform_entries.cpp",
Dan Willemsena3310632016-10-03 23:56:51 -0700146 "EGL/Loader.cpp",
Tobin Ehlis96a184d2018-07-18 16:14:07 -0600147 "EGL/egl_angle_platform.cpp",
Dan Willemsena3310632016-10-03 23:56:51 -0700148 ],
Courtney Goeltzenleuchter1b717022017-07-07 14:55:40 -0600149 shared_libs: [
150 "libvndksupport",
151 "android.hardware.configstore@1.0",
152 "android.hardware.configstore-utils",
Cody Northrop629ce4e2018-10-15 07:22:09 -0600153 "libbase",
Courtney Goeltzenleuchter1b717022017-07-07 14:55:40 -0600154 "libhidlbase",
Jiyong Parkbd1ddb22019-02-18 21:22:28 +0900155 "libnativebridge_lazy",
156 "libnativeloader_lazy",
Courtney Goeltzenleuchter1b717022017-07-07 14:55:40 -0600157 "libutils",
Sundong Ahn204fb1f2020-04-23 21:56:36 +0900158 "libSurfaceFlingerProp",
Courtney Goeltzenleuchter1b717022017-07-07 14:55:40 -0600159 ],
Stan Iliev9e7cd072017-10-09 15:56:10 -0400160 static_libs: [
161 "libEGL_getProcAddress",
162 "libEGL_blobCache",
163 ],
Tao Wu8f054a62019-05-14 09:16:07 -0700164 ldflags: ["-Wl,--exclude-libs=ALL,--Bsymbolic-functions"],
Mathias Agopianb7f9a242017-03-08 22:29:31 -0800165 export_include_dirs: ["EGL/include"],
jorgegil@google.come8141512019-11-21 13:42:16 -0800166 stubs: {
167 symbol_file: "libEGL.map.txt",
168 versions: ["29"],
169 },
Sundong Ahn204fb1f2020-04-23 21:56:36 +0900170 header_libs: ["libsurfaceflinger_headers"],
Mathias Agopianb7f9a242017-03-08 22:29:31 -0800171}
172
173cc_test {
174 name: "libEGL_test",
175 defaults: ["egl_libs_defaults"],
176 srcs: [
177 "EGL/BlobCache.cpp",
178 "EGL/BlobCache_test.cpp",
179 ],
Dan Willemsena3310632016-10-03 23:56:51 -0700180}
181
182cc_defaults {
183 name: "gles_libs_defaults",
184 defaults: ["gl_libs_defaults"],
185 arch: {
186 arm: {
187 instruction_set: "arm",
188
189 // TODO: This is to work around b/20093774. Remove after root cause is fixed
190 ldflags: ["-Wl,--hash-style,both"],
191 },
192 },
193 shared_libs: ["libEGL"],
194}
195
196//##############################################################################
197// Build the wrapper OpenGL ES 1.x library
198//
199cc_library_shared {
200 name: "libGLESv1_CM",
201 defaults: ["gles_libs_defaults"],
Colin Cross8af6d1c2020-10-19 13:38:00 -0700202 llndk_stubs: "libGLESv1_CM.llndk",
Dan Willemsena3310632016-10-03 23:56:51 -0700203 srcs: ["GLES_CM/gl.cpp"],
Dan Willemsena3310632016-10-03 23:56:51 -0700204 cflags: ["-DLOG_TAG=\"libGLESv1\""],
dimitry0b586e82018-12-11 14:33:30 +0100205 version_script: "libGLESv1_CM.map.txt",
Dan Willemsena3310632016-10-03 23:56:51 -0700206}
207
208//##############################################################################
209// Build the wrapper OpenGL ES 2.x library
210//
211cc_library_shared {
212 name: "libGLESv2",
213 defaults: ["gles_libs_defaults"],
Colin Cross8af6d1c2020-10-19 13:38:00 -0700214 llndk_stubs: "libGLESv2.llndk",
Dan Willemsena3310632016-10-03 23:56:51 -0700215 srcs: ["GLES2/gl2.cpp"],
Dan Willemsena3310632016-10-03 23:56:51 -0700216 cflags: ["-DLOG_TAG=\"libGLESv2\""],
Pirama Arumuga Nainar5d7eb4f2019-05-29 15:17:53 -0700217
218 // Bug: http://b/133874658 Disable native_coverage as we investigate a
219 // crash in surfaceflinger on coverage-enabled cuttlefish builds.
220 native_coverage: false,
Dan Willemsena3310632016-10-03 23:56:51 -0700221}
222
223//##############################################################################
224// Build the wrapper OpenGL ES 3.x library (this is just different name for v2)
225//
226cc_library_shared {
227 name: "libGLESv3",
228 defaults: ["gles_libs_defaults"],
Colin Cross8af6d1c2020-10-19 13:38:00 -0700229 llndk_stubs: "libGLESv3.llndk",
Dan Willemsena3310632016-10-03 23:56:51 -0700230 srcs: ["GLES2/gl2.cpp"],
Dan Willemsena3310632016-10-03 23:56:51 -0700231 cflags: ["-DLOG_TAG=\"libGLESv3\""],
232}
Colin Cross88fd5242020-12-17 10:31:34 -0800233
234llndk_library {
235 name: "libEGL.llndk",
236 symbol_file: "libEGL.map.txt",
237 export_llndk_headers: ["gl_llndk_headers"],
238}
239
240llndk_library {
241 name: "libGLESv1_CM.llndk",
242 symbol_file: "libGLESv1_CM.map.txt",
243 export_llndk_headers: ["gl_llndk_headers"],
244}
245
246llndk_library {
247 name: "libGLESv2.llndk",
248 symbol_file: "libGLESv2.map.txt",
249 export_llndk_headers: ["gl_llndk_headers"],
250}
251
252llndk_library {
253 name: "libGLESv3.llndk",
254 symbol_file: "libGLESv3.map.txt",
255 export_llndk_headers: ["gl_llndk_headers"],
256}