blob: 63c79dec018ff2f67f556733cf13478676427df8 [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 Park5309d7d2017-06-21 12:26:51 +090071 static_libs: [
72 "libarect",
73 ],
74 header_libs: [
75 "gl_headers",
76 "libsystem_headers",
77 "libhardware_headers",
78 ],
79 export_header_lib_headers: ["gl_headers"],
Dan Willemsena3310632016-10-03 23:56:51 -070080
81 // we need to access the private Bionic header <bionic_tls.h>
82 include_dirs: ["bionic/libc/private"],
83}
84
85//##############################################################################
86// Build META EGL library
87//
88cc_defaults {
89 name: "egl_libs_defaults",
90 defaults: ["gl_libs_defaults"],
91 cflags: [
92 "-DLOG_TAG=\"libEGL\"",
Chih-Hung Hsiehc60a0f02017-10-05 14:25:18 -070093 "-Wall",
94 "-Werror",
95 "-Wno-error=deprecated-register",
96 "-Wno-error=unknown-attributes",
97 "-Wno-unused-variable",
Dan Willemsena3310632016-10-03 23:56:51 -070098 ],
99 shared_libs: [
Mathias Agopian5f1af042017-03-09 18:50:05 -0800100 // ***** DO NOT ADD NEW DEPENDENCIES HERE *****
101 // In particular, DO NOT add libutils nor anything "above" libui
Jiyong Parka3f88402017-05-08 13:00:02 +0900102 "libgraphicsenv",
Mathias Agopian89ed4c82017-02-09 18:48:34 -0800103 "libnativewindow",
Mathias Agopian5f1af042017-03-09 18:50:05 -0800104 "libbacktrace",
Dan Willemsena3310632016-10-03 23:56:51 -0700105 ],
Jiyong Park5309d7d2017-06-21 12:26:51 +0900106 target: {
107 vendor: {
108 exclude_shared_libs: ["libgraphicsenv"],
109 },
110 },
Dan Willemsena3310632016-10-03 23:56:51 -0700111}
112
113cc_library_static {
114 name: "libEGL_getProcAddress",
115 defaults: ["egl_libs_defaults"],
116 srcs: ["EGL/getProcAddress.cpp"],
117 arch: {
118 arm: {
119 instruction_set: "arm",
120 },
121 },
122}
123
124cc_library_shared {
125 name: "libEGL",
126 defaults: ["egl_libs_defaults"],
127 srcs: [
128 "EGL/egl_tls.cpp",
129 "EGL/egl_cache.cpp",
130 "EGL/egl_display.cpp",
131 "EGL/egl_object.cpp",
132 "EGL/egl.cpp",
133 "EGL/eglApi.cpp",
134 "EGL/Loader.cpp",
Mathias Agopianb7f9a242017-03-08 22:29:31 -0800135 "EGL/BlobCache.cpp",
Dan Willemsena3310632016-10-03 23:56:51 -0700136 ],
Justin Yunea404012017-05-22 15:13:40 +0900137 shared_libs: ["libvndksupport"],
Dan Willemsena3310632016-10-03 23:56:51 -0700138 static_libs: ["libEGL_getProcAddress"],
139 ldflags: ["-Wl,--exclude-libs=ALL"],
Mathias Agopianb7f9a242017-03-08 22:29:31 -0800140 export_include_dirs: ["EGL/include"],
141}
142
143cc_test {
144 name: "libEGL_test",
145 defaults: ["egl_libs_defaults"],
146 srcs: [
147 "EGL/BlobCache.cpp",
148 "EGL/BlobCache_test.cpp",
149 ],
Dan Willemsena3310632016-10-03 23:56:51 -0700150}
151
152cc_defaults {
153 name: "gles_libs_defaults",
154 defaults: ["gl_libs_defaults"],
155 arch: {
156 arm: {
157 instruction_set: "arm",
158
159 // TODO: This is to work around b/20093774. Remove after root cause is fixed
160 ldflags: ["-Wl,--hash-style,both"],
161 },
162 },
163 shared_libs: ["libEGL"],
164}
165
166//##############################################################################
167// Build the wrapper OpenGL ES 1.x library
168//
169cc_library_shared {
170 name: "libGLESv1_CM",
171 defaults: ["gles_libs_defaults"],
172 srcs: ["GLES_CM/gl.cpp"],
Dan Willemsena3310632016-10-03 23:56:51 -0700173 cflags: ["-DLOG_TAG=\"libGLESv1\""],
174}
175
176//##############################################################################
177// Build the wrapper OpenGL ES 2.x library
178//
179cc_library_shared {
180 name: "libGLESv2",
181 defaults: ["gles_libs_defaults"],
182 srcs: ["GLES2/gl2.cpp"],
Dan Willemsena3310632016-10-03 23:56:51 -0700183 cflags: ["-DLOG_TAG=\"libGLESv2\""],
184}
185
186//##############################################################################
187// Build the wrapper OpenGL ES 3.x library (this is just different name for v2)
188//
189cc_library_shared {
190 name: "libGLESv3",
191 defaults: ["gles_libs_defaults"],
192 srcs: ["GLES2/gl2.cpp"],
Dan Willemsena3310632016-10-03 23:56:51 -0700193 cflags: ["-DLOG_TAG=\"libGLESv3\""],
194}