Android.bp revision b9c62a6950ef6550d7a0293386677a38f62d7e59
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    ],
84}
85
86cc_library_static {
87    name: "libEGL_getProcAddress",
88    defaults: ["egl_libs_defaults"],
89    srcs: ["EGL/getProcAddress.cpp"],
90    arch: {
91        arm: {
92            instruction_set: "arm",
93        },
94    },
95}
96
97cc_library_shared {
98    name: "libEGL",
99    defaults: ["egl_libs_defaults"],
100    srcs: [
101        "EGL/egl_tls.cpp",
102        "EGL/egl_cache.cpp",
103        "EGL/egl_display.cpp",
104        "EGL/egl_object.cpp",
105        "EGL/egl.cpp",
106        "EGL/eglApi.cpp",
107        "EGL/Loader.cpp",
108    ],
109    static_libs: ["libEGL_getProcAddress"],
110    ldflags: ["-Wl,--exclude-libs=ALL"],
111
112    required: ["egl.cfg"],
113}
114
115cc_defaults {
116    name: "gles_libs_defaults",
117    defaults: ["gl_libs_defaults"],
118    arch: {
119        arm: {
120            instruction_set: "arm",
121
122            // TODO: This is to work around b/20093774. Remove after root cause is fixed
123            ldflags: ["-Wl,--hash-style,both"],
124        },
125    },
126    shared_libs: ["libEGL"],
127}
128
129//##############################################################################
130// Build the wrapper OpenGL ES 1.x library
131//
132cc_library_shared {
133    name: "libGLESv1_CM",
134    defaults: ["gles_libs_defaults"],
135    srcs: ["GLES_CM/gl.cpp"],
136
137    cflags: ["-DLOG_TAG=\"libGLESv1\""],
138}
139
140//##############################################################################
141// Build the wrapper OpenGL ES 2.x library
142//
143cc_library_shared {
144    name: "libGLESv2",
145    defaults: ["gles_libs_defaults"],
146    srcs: ["GLES2/gl2.cpp"],
147
148    shared_libs: ["libutils"],
149
150    cflags: ["-DLOG_TAG=\"libGLESv2\""],
151}
152
153//##############################################################################
154// Build the wrapper OpenGL ES 3.x library (this is just different name for v2)
155//
156cc_library_shared {
157    name: "libGLESv3",
158    defaults: ["gles_libs_defaults"],
159    srcs: ["GLES2/gl2.cpp"],
160
161    shared_libs: ["libutils"],
162
163    cflags: ["-DLOG_TAG=\"libGLESv3\""],
164}
165