Android.bp revision 89ed4c8cfd8ad64269dfcff9742e16bdd705b926
1// 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}
23
24// The headers modules are in frameworks/native/opengl/Android.bp.
25ndk_library {
26    name: "libEGL.ndk",
27    symbol_file: "libEGL.map.txt",
28    first_version: "9",
29    unversioned_until: "current",
30}
31
32ndk_library {
33    name: "libGLESv1_CM.ndk",
34    symbol_file: "libGLESv1_CM.map.txt",
35    first_version: "9",
36    unversioned_until: "current",
37}
38
39ndk_library {
40    name: "libGLESv2.ndk",
41    symbol_file: "libGLESv2.map.txt",
42    first_version: "9",
43    unversioned_until: "current",
44}
45
46ndk_library {
47    name: "libGLESv3.ndk",
48    symbol_file: "libGLESv3.map.txt",
49    first_version: "18",
50    unversioned_until: "current",
51}
52
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",
83        "libnativewindow",
84    ],
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"],
112}
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}
164