blob: abc7a72716e5e84ee7fbadac2f0a1e2c11ae10a3 [file] [log] [blame]
// Build the ETC1 library
cc_library {
name: "libETC1",
srcs: ["ETC1/etc1.cpp"],
host_supported: true,
cflags: ["-Wall", "-Werror"],
target: {
android: {
static: {
enabled: false,
},
},
host: {
shared: {
enabled: false,
},
},
windows: {
enabled: true,
},
},
}
// The headers modules are in frameworks/native/opengl/Android.bp.
ndk_library {
name: "libEGL",
symbol_file: "libEGL.map.txt",
first_version: "9",
unversioned_until: "current",
}
ndk_library {
name: "libGLESv1_CM",
symbol_file: "libGLESv1_CM.map.txt",
first_version: "9",
unversioned_until: "current",
}
ndk_library {
name: "libGLESv2",
symbol_file: "libGLESv2.map.txt",
first_version: "9",
unversioned_until: "current",
}
ndk_library {
name: "libGLESv3",
symbol_file: "libGLESv3.map.txt",
first_version: "18",
unversioned_until: "current",
}
cc_defaults {
name: "gl_libs_defaults",
cflags: [
"-DGL_GLEXT_PROTOTYPES",
"-DEGL_EGLEXT_PROTOTYPES",
"-fvisibility=hidden",
"-Wall",
"-Werror",
"-Wno-unused-variable",
],
shared_libs: [
// ***** DO NOT ADD NEW DEPENDENCIES HERE *****
// In particular, DO NOT add libutils or anything "above" libcutils
"libcutils",
"liblog",
"libdl",
],
static_libs: [
"libarect",
],
header_libs: [
"gl_headers",
"libsystem_headers",
"libhardware_headers",
"libnativebase_headers",
],
export_header_lib_headers: ["gl_headers"],
// we need to access the private Bionic header <bionic_tls.h>
include_dirs: ["bionic/libc/private"],
}
//##############################################################################
// Build META EGL library
//
cc_defaults {
name: "egl_libs_defaults",
defaults: ["gl_libs_defaults"],
cflags: [
"-DLOG_TAG=\"libEGL\"",
"-Wall",
"-Werror",
"-Wno-error=deprecated-register",
"-Wno-error=unknown-attributes",
"-Wno-unused-variable",
],
shared_libs: [
// ***** DO NOT ADD NEW DEPENDENCIES HERE *****
// In particular, DO NOT add libutils nor anything "above" libui
"libgraphicsenv",
"libnativewindow",
"libbacktrace",
],
target: {
vendor: {
exclude_shared_libs: ["libgraphicsenv"],
},
},
}
cc_library_static {
name: "libEGL_getProcAddress",
defaults: ["egl_libs_defaults"],
srcs: ["EGL/getProcAddress.cpp"],
arch: {
arm: {
instruction_set: "arm",
},
},
}
cc_library_static {
name: "libEGL_blobCache",
defaults: ["egl_libs_defaults"],
srcs: [
"EGL/BlobCache.cpp",
"EGL/FileBlobCache.cpp",
],
export_include_dirs: ["EGL"],
}
cc_library_shared {
name: "libEGL",
defaults: ["egl_libs_defaults"],
srcs: [
"EGL/egl_tls.cpp",
"EGL/egl_cache.cpp",
"EGL/egl_display.cpp",
"EGL/egl_object.cpp",
"EGL/egl_layers.cpp",
"EGL/egl.cpp",
"EGL/eglApi.cpp",
"EGL/egl_platform_entries.cpp",
"EGL/Loader.cpp",
"EGL/egl_angle_platform.cpp",
],
shared_libs: [
"libvndksupport",
"android.hardware.configstore@1.0",
"android.hardware.configstore-utils",
"libbase",
"libhidlbase",
"libhidltransport",
"libnativebridge_lazy",
"libnativeloader_lazy",
"libutils",
],
static_libs: [
"libEGL_getProcAddress",
"libEGL_blobCache",
],
ldflags: ["-Wl,--exclude-libs=ALL"],
export_include_dirs: ["EGL/include"],
}
cc_test {
name: "libEGL_test",
defaults: ["egl_libs_defaults"],
srcs: [
"EGL/BlobCache.cpp",
"EGL/BlobCache_test.cpp",
],
}
cc_defaults {
name: "gles_libs_defaults",
defaults: ["gl_libs_defaults"],
arch: {
arm: {
instruction_set: "arm",
// TODO: This is to work around b/20093774. Remove after root cause is fixed
ldflags: ["-Wl,--hash-style,both"],
},
},
shared_libs: ["libEGL"],
}
//##############################################################################
// Build the wrapper OpenGL ES 1.x library
//
cc_library_shared {
name: "libGLESv1_CM",
defaults: ["gles_libs_defaults"],
srcs: ["GLES_CM/gl.cpp"],
cflags: ["-DLOG_TAG=\"libGLESv1\""],
version_script: "libGLESv1_CM.map.txt",
}
//##############################################################################
// Build the wrapper OpenGL ES 2.x library
//
cc_library_shared {
name: "libGLESv2",
defaults: ["gles_libs_defaults"],
srcs: ["GLES2/gl2.cpp"],
cflags: ["-DLOG_TAG=\"libGLESv2\""],
// Bug: http://b/133874658 Disable native_coverage as we investigate a
// crash in surfaceflinger on coverage-enabled cuttlefish builds.
native_coverage: false,
}
//##############################################################################
// Build the wrapper OpenGL ES 3.x library (this is just different name for v2)
//
cc_library_shared {
name: "libGLESv3",
defaults: ["gles_libs_defaults"],
srcs: ["GLES2/gl2.cpp"],
cflags: ["-DLOG_TAG=\"libGLESv3\""],
}