blob: 4fa6a3379b92e3d2151ba3effabdfd2718675045 [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 {
26 name: "libEGL.ndk",
27 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 {
33 name: "libGLESv1_CM.ndk",
34 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 {
40 name: "libGLESv2.ndk",
41 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 {
47 name: "libGLESv3.ndk",
48 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: [
61 "libcutils",
62 "liblog",
63 "libdl",
64 ],
65
66 // we need to access the private Bionic header <bionic_tls.h>
67 include_dirs: ["bionic/libc/private"],
68}
69
70//##############################################################################
71// Build META EGL library
72//
73cc_defaults {
74 name: "egl_libs_defaults",
75 defaults: ["gl_libs_defaults"],
76 cflags: [
77 "-DLOG_TAG=\"libEGL\"",
78 ],
79 shared_libs: [
80 "libbinder",
81 "libutils",
82 "libui",
Mathias Agopian89ed4c82017-02-09 18:48:34 -080083 "libnativewindow",
Dan Willemsena3310632016-10-03 23:56:51 -070084 ],
85}
86
87cc_library_static {
88 name: "libEGL_getProcAddress",
89 defaults: ["egl_libs_defaults"],
90 srcs: ["EGL/getProcAddress.cpp"],
91 arch: {
92 arm: {
93 instruction_set: "arm",
94 },
95 },
96}
97
98cc_library_shared {
99 name: "libEGL",
100 defaults: ["egl_libs_defaults"],
101 srcs: [
102 "EGL/egl_tls.cpp",
103 "EGL/egl_cache.cpp",
104 "EGL/egl_display.cpp",
105 "EGL/egl_object.cpp",
106 "EGL/egl.cpp",
107 "EGL/eglApi.cpp",
108 "EGL/Loader.cpp",
109 ],
110 static_libs: ["libEGL_getProcAddress"],
111 ldflags: ["-Wl,--exclude-libs=ALL"],
Dan Willemsena3310632016-10-03 23:56:51 -0700112}
113
114cc_defaults {
115 name: "gles_libs_defaults",
116 defaults: ["gl_libs_defaults"],
117 arch: {
118 arm: {
119 instruction_set: "arm",
120
121 // TODO: This is to work around b/20093774. Remove after root cause is fixed
122 ldflags: ["-Wl,--hash-style,both"],
123 },
124 },
125 shared_libs: ["libEGL"],
126}
127
128//##############################################################################
129// Build the wrapper OpenGL ES 1.x library
130//
131cc_library_shared {
132 name: "libGLESv1_CM",
133 defaults: ["gles_libs_defaults"],
134 srcs: ["GLES_CM/gl.cpp"],
135
136 cflags: ["-DLOG_TAG=\"libGLESv1\""],
137}
138
139//##############################################################################
140// Build the wrapper OpenGL ES 2.x library
141//
142cc_library_shared {
143 name: "libGLESv2",
144 defaults: ["gles_libs_defaults"],
145 srcs: ["GLES2/gl2.cpp"],
146
147 shared_libs: ["libutils"],
148
149 cflags: ["-DLOG_TAG=\"libGLESv2\""],
150}
151
152//##############################################################################
153// Build the wrapper OpenGL ES 3.x library (this is just different name for v2)
154//
155cc_library_shared {
156 name: "libGLESv3",
157 defaults: ["gles_libs_defaults"],
158 srcs: ["GLES2/gl2.cpp"],
159
160 shared_libs: ["libutils"],
161
162 cflags: ["-DLOG_TAG=\"libGLESv3\""],
163}