blob: 1cfc5133c1dc273d7e49aee4ba3cc4cca20b4876 [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,
6
7 target: {
8 android: {
9 static: {
10 enabled: false,
11 },
12 },
13 host: {
14 shared: {
15 enabled: false,
16 },
17 },
18 windows: {
19 enabled: true,
20 },
21 },
22}
Dan Albert49fbff42016-10-03 12:36:00 -070023
Dan Albert7facb1d2016-10-03 12:36:00 -070024// The headers modules are in frameworks/native/opengl/Android.bp.
Dan Albert49fbff42016-10-03 12:36:00 -070025ndk_library {
Dan Willemsen219db6c2017-04-07 15:48:39 -070026 name: "libEGL",
Dan Albert49fbff42016-10-03 12:36:00 -070027 symbol_file: "libEGL.map.txt",
28 first_version: "9",
Dan Albertb9c62a62017-01-05 15:58:50 -080029 unversioned_until: "current",
Dan Albert49fbff42016-10-03 12:36:00 -070030}
Dan Albert7facb1d2016-10-03 12:36:00 -070031
32ndk_library {
Dan Willemsen219db6c2017-04-07 15:48:39 -070033 name: "libGLESv1_CM",
Dan Albert7facb1d2016-10-03 12:36:00 -070034 symbol_file: "libGLESv1_CM.map.txt",
35 first_version: "9",
Dan Albertb9c62a62017-01-05 15:58:50 -080036 unversioned_until: "current",
Dan Albert7facb1d2016-10-03 12:36:00 -070037}
Dan Albert00500c72016-10-03 12:36:00 -070038
39ndk_library {
Dan Willemsen219db6c2017-04-07 15:48:39 -070040 name: "libGLESv2",
Dan Albert00500c72016-10-03 12:36:00 -070041 symbol_file: "libGLESv2.map.txt",
42 first_version: "9",
Dan Albertb9c62a62017-01-05 15:58:50 -080043 unversioned_until: "current",
Dan Albert00500c72016-10-03 12:36:00 -070044}
Dan Albertd7d8efa2016-10-03 12:36:00 -070045
46ndk_library {
Dan Willemsen219db6c2017-04-07 15:48:39 -070047 name: "libGLESv3",
Dan Albertd7d8efa2016-10-03 12:36:00 -070048 symbol_file: "libGLESv3.map.txt",
49 first_version: "18",
Dan Albertb9c62a62017-01-05 15:58:50 -080050 unversioned_until: "current",
Dan Albertd7d8efa2016-10-03 12:36:00 -070051}
Dan Willemsena3310632016-10-03 23:56:51 -070052
53cc_defaults {
54 name: "gl_libs_defaults",
55 cflags: [
56 "-DGL_GLEXT_PROTOTYPES",
57 "-DEGL_EGLEXT_PROTOTYPES",
58 "-fvisibility=hidden",
59 ],
60 shared_libs: [
Mathias Agopian5f1af042017-03-09 18:50:05 -080061 // ***** DO NOT ADD NEW DEPENDENCIES HERE *****
62 // In particular, DO NOT add libutils or anything "above" libcutils
Dan Willemsena3310632016-10-03 23:56:51 -070063 "libcutils",
64 "liblog",
65 "libdl",
66 ],
Jiyong Parka243e5d2017-06-21 12:26:51 +090067 static_libs: [
68 "libarect",
69 ],
70 header_libs: [
71 "gl_headers",
72 "libsystem_headers",
73 "libhardware_headers",
74 "libnativebase_headers",
75 ],
76 export_header_lib_headers: ["gl_headers"],
Dan Willemsena3310632016-10-03 23:56:51 -070077
78 // we need to access the private Bionic header <bionic_tls.h>
79 include_dirs: ["bionic/libc/private"],
80}
81
82//##############################################################################
83// Build META EGL library
84//
85cc_defaults {
86 name: "egl_libs_defaults",
87 defaults: ["gl_libs_defaults"],
Jiyong Parka243e5d2017-06-21 12:26:51 +090088 vendor_available: true,
Dan Willemsena3310632016-10-03 23:56:51 -070089 cflags: [
90 "-DLOG_TAG=\"libEGL\"",
91 ],
92 shared_libs: [
Mathias Agopian5f1af042017-03-09 18:50:05 -080093 // ***** DO NOT ADD NEW DEPENDENCIES HERE *****
94 // In particular, DO NOT add libutils nor anything "above" libui
Jiyong Park27c39e12017-05-08 13:00:02 +090095 "libgraphicsenv",
Mathias Agopian89ed4c82017-02-09 18:48:34 -080096 "libnativewindow",
Mathias Agopian5f1af042017-03-09 18:50:05 -080097 "libbacktrace",
Dan Willemsena3310632016-10-03 23:56:51 -070098 ],
Jiyong Parka243e5d2017-06-21 12:26:51 +090099 target: {
100 vendor: {
101 exclude_shared_libs: ["libgraphicsenv"],
102 },
103 },
Dan Willemsena3310632016-10-03 23:56:51 -0700104}
105
106cc_library_static {
107 name: "libEGL_getProcAddress",
108 defaults: ["egl_libs_defaults"],
109 srcs: ["EGL/getProcAddress.cpp"],
110 arch: {
111 arm: {
112 instruction_set: "arm",
113 },
114 },
115}
116
117cc_library_shared {
118 name: "libEGL",
119 defaults: ["egl_libs_defaults"],
Justin Yun91bbdcc2017-07-26 12:16:52 +0900120 vndk: {
121 enabled: true,
122 },
Dan Willemsena3310632016-10-03 23:56:51 -0700123 srcs: [
124 "EGL/egl_tls.cpp",
125 "EGL/egl_cache.cpp",
126 "EGL/egl_display.cpp",
127 "EGL/egl_object.cpp",
128 "EGL/egl.cpp",
129 "EGL/eglApi.cpp",
130 "EGL/Loader.cpp",
Mathias Agopianb7f9a242017-03-08 22:29:31 -0800131 "EGL/BlobCache.cpp",
Dan Willemsena3310632016-10-03 23:56:51 -0700132 ],
Courtney Goeltzenleuchtere5d6f992017-07-07 14:55:40 -0600133 shared_libs: [
134 "libvndksupport",
135 "android.hardware.configstore@1.0",
136 "android.hardware.configstore-utils",
137 "libhidlbase",
138 "libhidltransport",
139 "libutils",
140 ],
Dan Willemsena3310632016-10-03 23:56:51 -0700141 static_libs: ["libEGL_getProcAddress"],
142 ldflags: ["-Wl,--exclude-libs=ALL"],
Mathias Agopianb7f9a242017-03-08 22:29:31 -0800143 export_include_dirs: ["EGL/include"],
144}
145
146cc_test {
147 name: "libEGL_test",
148 defaults: ["egl_libs_defaults"],
149 srcs: [
150 "EGL/BlobCache.cpp",
151 "EGL/BlobCache_test.cpp",
152 ],
Dan Willemsena3310632016-10-03 23:56:51 -0700153}
154
155cc_defaults {
156 name: "gles_libs_defaults",
157 defaults: ["gl_libs_defaults"],
Jiyong Parka243e5d2017-06-21 12:26:51 +0900158 vendor_available: true,
Dan Willemsena3310632016-10-03 23:56:51 -0700159 arch: {
160 arm: {
161 instruction_set: "arm",
162
163 // TODO: This is to work around b/20093774. Remove after root cause is fixed
164 ldflags: ["-Wl,--hash-style,both"],
165 },
166 },
167 shared_libs: ["libEGL"],
168}
169
170//##############################################################################
171// Build the wrapper OpenGL ES 1.x library
172//
173cc_library_shared {
174 name: "libGLESv1_CM",
175 defaults: ["gles_libs_defaults"],
176 srcs: ["GLES_CM/gl.cpp"],
Dan Willemsena3310632016-10-03 23:56:51 -0700177 cflags: ["-DLOG_TAG=\"libGLESv1\""],
178}
179
180//##############################################################################
181// Build the wrapper OpenGL ES 2.x library
182//
183cc_library_shared {
184 name: "libGLESv2",
185 defaults: ["gles_libs_defaults"],
Justin Yun91bbdcc2017-07-26 12:16:52 +0900186 vndk: {
187 enabled: true,
188 },
Dan Willemsena3310632016-10-03 23:56:51 -0700189 srcs: ["GLES2/gl2.cpp"],
Dan Willemsena3310632016-10-03 23:56:51 -0700190 cflags: ["-DLOG_TAG=\"libGLESv2\""],
191}
192
193//##############################################################################
194// Build the wrapper OpenGL ES 3.x library (this is just different name for v2)
195//
196cc_library_shared {
197 name: "libGLESv3",
198 defaults: ["gles_libs_defaults"],
199 srcs: ["GLES2/gl2.cpp"],
Dan Willemsena3310632016-10-03 23:56:51 -0700200 cflags: ["-DLOG_TAG=\"libGLESv3\""],
201}