19066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source ProjectLOCAL_PATH:= $(call my-dir) 29066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 32820bd4eda4c75457007f11eb9d98da9bff24a27Mathias Agopian############################################################################### 49066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project# Build META EGL library 59066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project# 69066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 79066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectinclude $(CLEAR_VARS) 89066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 99066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source ProjectLOCAL_SRC_FILES:= \ 101473f46cbc82aa6f0ba744cc896a36923823d55bMathias Agopian EGL/egl.cpp \ 119d17c057bdb9da5fa991a2c3efebe453106ca0a7Mathias Agopian EGL/hooks.cpp \ 129d17c057bdb9da5fa991a2c3efebe453106ca0a7Mathias Agopian EGL/Loader.cpp \ 139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project# 149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 159d17c057bdb9da5fa991a2c3efebe453106ca0a7Mathias AgopianLOCAL_SHARED_LIBRARIES += libcutils libutils 169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source ProjectLOCAL_LDLIBS := -lpthread -ldl 179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source ProjectLOCAL_MODULE:= libEGL 189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project# needed on sim build because of weird logging issues 209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectifeq ($(TARGET_SIMULATOR),true) 219066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectelse 229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project LOCAL_SHARED_LIBRARIES += libdl 2301f8c06cbe63ea7281a3f3d38ed84411e683c789Gary King # Bionic's private TLS header relies on the ARCH_ARM_HAVE_TLS_REGISTER to 2401f8c06cbe63ea7281a3f3d38ed84411e683c789Gary King # select the appropriate TLS codepath 2501f8c06cbe63ea7281a3f3d38ed84411e683c789Gary King ifeq ($(ARCH_ARM_HAVE_TLS_REGISTER),true) 2601f8c06cbe63ea7281a3f3d38ed84411e683c789Gary King LOCAL_CFLAGS += -DHAVE_ARM_TLS_REGISTER 2701f8c06cbe63ea7281a3f3d38ed84411e683c789Gary King endif 28b4b4c11f82e88f9a1cecd97460a9fcc192b37612Mathias Agopian # we need to access the private Bionic header <bionic_tls.h> 29b4b4c11f82e88f9a1cecd97460a9fcc192b37612Mathias Agopian LOCAL_C_INCLUDES += bionic/libc/private 309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectendif 319066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 321473f46cbc82aa6f0ba744cc896a36923823d55bMathias AgopianLOCAL_CFLAGS += -DLOG_TAG=\"libEGL\" 331473f46cbc82aa6f0ba744cc896a36923823d55bMathias AgopianLOCAL_CFLAGS += -DGL_GLEXT_PROTOTYPES -DEGL_EGLEXT_PROTOTYPES 34cb29e6237d7f471a28f8e73116e131f257d9842fMathias AgopianLOCAL_CFLAGS += -fvisibility=hidden 351473f46cbc82aa6f0ba744cc896a36923823d55bMathias Agopian 3694263d79234778277959c5ec0cc3f2182cc9df0bMathias Agopianifeq ($(TARGET_BOARD_PLATFORM),msm7k) 3794263d79234778277959c5ec0cc3f2182cc9df0bMathias AgopianLOCAL_CFLAGS += -DADRENO130=1 3894263d79234778277959c5ec0cc3f2182cc9df0bMathias Agopianendif 3994263d79234778277959c5ec0cc3f2182cc9df0bMathias Agopian 40b34d5d527596102ae7a040d787e4d8c336bf192bMathias Agopianifeq ($(ARCH_ARM_HAVE_TLS_REGISTER),true) 41b34d5d527596102ae7a040d787e4d8c336bf192bMathias Agopian LOCAL_CFLAGS += -DHAVE_ARM_TLS_REGISTER 42b34d5d527596102ae7a040d787e4d8c336bf192bMathias Agopianendif 43b34d5d527596102ae7a040d787e4d8c336bf192bMathias Agopian 449066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectinclude $(BUILD_SHARED_LIBRARY) 459d17c057bdb9da5fa991a2c3efebe453106ca0a7Mathias Agopianinstalled_libEGL := $(LOCAL_INSTALLED_MODULE) 469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 489d17c057bdb9da5fa991a2c3efebe453106ca0a7Mathias Agopian# OpenGL drivers config file 499d17c057bdb9da5fa991a2c3efebe453106ca0a7Mathias Agopianifneq ($(BOARD_EGL_CFG),) 509d17c057bdb9da5fa991a2c3efebe453106ca0a7Mathias Agopian 519d17c057bdb9da5fa991a2c3efebe453106ca0a7Mathias Agopianinclude $(CLEAR_VARS) 529d17c057bdb9da5fa991a2c3efebe453106ca0a7Mathias AgopianLOCAL_MODULE := egl.cfg 539d17c057bdb9da5fa991a2c3efebe453106ca0a7Mathias AgopianLOCAL_MODULE_TAGS := optional 549d17c057bdb9da5fa991a2c3efebe453106ca0a7Mathias AgopianLOCAL_MODULE_CLASS := ETC 559d17c057bdb9da5fa991a2c3efebe453106ca0a7Mathias AgopianLOCAL_MODULE_PATH := $(TARGET_OUT)/lib/egl 569d17c057bdb9da5fa991a2c3efebe453106ca0a7Mathias AgopianLOCAL_SRC_FILES := ../../../../$(BOARD_EGL_CFG) 579d17c057bdb9da5fa991a2c3efebe453106ca0a7Mathias Agopianinclude $(BUILD_PREBUILT) 589d17c057bdb9da5fa991a2c3efebe453106ca0a7Mathias Agopian 599d17c057bdb9da5fa991a2c3efebe453106ca0a7Mathias Agopian# make sure we depend on egl.cfg, so it gets installed 609d17c057bdb9da5fa991a2c3efebe453106ca0a7Mathias Agopian$(installed_libEGL): | egl.cfg 619d17c057bdb9da5fa991a2c3efebe453106ca0a7Mathias Agopian 629d17c057bdb9da5fa991a2c3efebe453106ca0a7Mathias Agopianendif 639066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 642820bd4eda4c75457007f11eb9d98da9bff24a27Mathias Agopian############################################################################### 652820bd4eda4c75457007f11eb9d98da9bff24a27Mathias Agopian# Build the wrapper OpenGL ES 1.x library 669066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project# 679066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 689066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectinclude $(CLEAR_VARS) 699066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 702820bd4eda4c75457007f11eb9d98da9bff24a27Mathias AgopianLOCAL_SRC_FILES:= \ 712820bd4eda4c75457007f11eb9d98da9bff24a27Mathias Agopian GLES_CM/gl.cpp.arm \ 729066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project# 739066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 7411be99de5f3901c32130ea4c5fd52e62e1845e73Mathias AgopianLOCAL_SHARED_LIBRARIES += libcutils libEGL 759066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source ProjectLOCAL_LDLIBS := -lpthread -ldl 769066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source ProjectLOCAL_MODULE:= libGLESv1_CM 779066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 789066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project# needed on sim build because of weird logging issues 799066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectifeq ($(TARGET_SIMULATOR),true) 809066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectelse 819066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project LOCAL_SHARED_LIBRARIES += libdl 82b4b4c11f82e88f9a1cecd97460a9fcc192b37612Mathias Agopian # we need to access the private Bionic header <bionic_tls.h> 8301f8c06cbe63ea7281a3f3d38ed84411e683c789Gary King ifeq ($(ARCH_ARM_HAVE_TLS_REGISTER),true) 8401f8c06cbe63ea7281a3f3d38ed84411e683c789Gary King LOCAL_CFLAGS += -DHAVE_ARM_TLS_REGISTER 8501f8c06cbe63ea7281a3f3d38ed84411e683c789Gary King endif 86b4b4c11f82e88f9a1cecd97460a9fcc192b37612Mathias Agopian LOCAL_C_INCLUDES += bionic/libc/private 879066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectendif 889066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 891473f46cbc82aa6f0ba744cc896a36923823d55bMathias AgopianLOCAL_CFLAGS += -DLOG_TAG=\"libGLESv1\" 901473f46cbc82aa6f0ba744cc896a36923823d55bMathias AgopianLOCAL_CFLAGS += -DGL_GLEXT_PROTOTYPES -DEGL_EGLEXT_PROTOTYPES 91cb29e6237d7f471a28f8e73116e131f257d9842fMathias AgopianLOCAL_CFLAGS += -fvisibility=hidden 921473f46cbc82aa6f0ba744cc896a36923823d55bMathias Agopian 93b34d5d527596102ae7a040d787e4d8c336bf192bMathias Agopianifeq ($(ARCH_ARM_HAVE_TLS_REGISTER),true) 94b34d5d527596102ae7a040d787e4d8c336bf192bMathias Agopian LOCAL_CFLAGS += -DHAVE_ARM_TLS_REGISTER 95b34d5d527596102ae7a040d787e4d8c336bf192bMathias Agopianendif 96b34d5d527596102ae7a040d787e4d8c336bf192bMathias Agopian 979066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectinclude $(BUILD_SHARED_LIBRARY) 982820bd4eda4c75457007f11eb9d98da9bff24a27Mathias Agopian 992820bd4eda4c75457007f11eb9d98da9bff24a27Mathias Agopian 1002820bd4eda4c75457007f11eb9d98da9bff24a27Mathias Agopian############################################################################### 1012820bd4eda4c75457007f11eb9d98da9bff24a27Mathias Agopian# Build the wrapper OpenGL ES 2.x library 1022820bd4eda4c75457007f11eb9d98da9bff24a27Mathias Agopian# 1032820bd4eda4c75457007f11eb9d98da9bff24a27Mathias Agopian 1042820bd4eda4c75457007f11eb9d98da9bff24a27Mathias Agopianinclude $(CLEAR_VARS) 1052820bd4eda4c75457007f11eb9d98da9bff24a27Mathias Agopian 1062820bd4eda4c75457007f11eb9d98da9bff24a27Mathias AgopianLOCAL_SRC_FILES:= \ 1072820bd4eda4c75457007f11eb9d98da9bff24a27Mathias Agopian GLES2/gl2.cpp.arm \ 1082820bd4eda4c75457007f11eb9d98da9bff24a27Mathias Agopian# 1092820bd4eda4c75457007f11eb9d98da9bff24a27Mathias Agopian 1102820bd4eda4c75457007f11eb9d98da9bff24a27Mathias AgopianLOCAL_SHARED_LIBRARIES += libcutils libEGL 1112820bd4eda4c75457007f11eb9d98da9bff24a27Mathias AgopianLOCAL_LDLIBS := -lpthread -ldl 1122820bd4eda4c75457007f11eb9d98da9bff24a27Mathias AgopianLOCAL_MODULE:= libGLESv2 1132820bd4eda4c75457007f11eb9d98da9bff24a27Mathias Agopian 1142820bd4eda4c75457007f11eb9d98da9bff24a27Mathias Agopian# needed on sim build because of weird logging issues 1152820bd4eda4c75457007f11eb9d98da9bff24a27Mathias Agopianifeq ($(TARGET_SIMULATOR),true) 1162820bd4eda4c75457007f11eb9d98da9bff24a27Mathias Agopianelse 1172820bd4eda4c75457007f11eb9d98da9bff24a27Mathias Agopian LOCAL_SHARED_LIBRARIES += libdl 118b4b4c11f82e88f9a1cecd97460a9fcc192b37612Mathias Agopian # we need to access the private Bionic header <bionic_tls.h> 11901f8c06cbe63ea7281a3f3d38ed84411e683c789Gary King ifeq ($(ARCH_ARM_HAVE_TLS_REGISTER),true) 12001f8c06cbe63ea7281a3f3d38ed84411e683c789Gary King LOCAL_CFLAGS += -DHAVE_ARM_TLS_REGISTER 12101f8c06cbe63ea7281a3f3d38ed84411e683c789Gary King endif 122b4b4c11f82e88f9a1cecd97460a9fcc192b37612Mathias Agopian LOCAL_C_INCLUDES += bionic/libc/private 1232820bd4eda4c75457007f11eb9d98da9bff24a27Mathias Agopianendif 1242820bd4eda4c75457007f11eb9d98da9bff24a27Mathias Agopian 1252820bd4eda4c75457007f11eb9d98da9bff24a27Mathias AgopianLOCAL_CFLAGS += -DLOG_TAG=\"libGLESv2\" 1262820bd4eda4c75457007f11eb9d98da9bff24a27Mathias AgopianLOCAL_CFLAGS += -DGL_GLEXT_PROTOTYPES -DEGL_EGLEXT_PROTOTYPES 1272820bd4eda4c75457007f11eb9d98da9bff24a27Mathias AgopianLOCAL_CFLAGS += -fvisibility=hidden 1282820bd4eda4c75457007f11eb9d98da9bff24a27Mathias Agopian 129b34d5d527596102ae7a040d787e4d8c336bf192bMathias Agopianifeq ($(ARCH_ARM_HAVE_TLS_REGISTER),true) 130b34d5d527596102ae7a040d787e4d8c336bf192bMathias Agopian LOCAL_CFLAGS += -DHAVE_ARM_TLS_REGISTER 131b34d5d527596102ae7a040d787e4d8c336bf192bMathias Agopianendif 132b34d5d527596102ae7a040d787e4d8c336bf192bMathias Agopian 1332820bd4eda4c75457007f11eb9d98da9bff24a27Mathias Agopianinclude $(BUILD_SHARED_LIBRARY) 134a6276fdd4253c3a7150ab675678c750473ab6c45Jack Palevich 135a6276fdd4253c3a7150ab675678c750473ab6c45Jack Palevich############################################################################### 136a6276fdd4253c3a7150ab675678c750473ab6c45Jack Palevich# Build the ETC1 host static library 137a6276fdd4253c3a7150ab675678c750473ab6c45Jack Palevich# 138a6276fdd4253c3a7150ab675678c750473ab6c45Jack Palevich 139a6276fdd4253c3a7150ab675678c750473ab6c45Jack Palevichinclude $(CLEAR_VARS) 140a6276fdd4253c3a7150ab675678c750473ab6c45Jack Palevich 141a6276fdd4253c3a7150ab675678c750473ab6c45Jack PalevichLOCAL_SRC_FILES:= \ 142a6276fdd4253c3a7150ab675678c750473ab6c45Jack Palevich ETC1/etc1.cpp \ 143a6276fdd4253c3a7150ab675678c750473ab6c45Jack Palevich# 144a6276fdd4253c3a7150ab675678c750473ab6c45Jack Palevich 145a6276fdd4253c3a7150ab675678c750473ab6c45Jack PalevichLOCAL_LDLIBS := -lpthread -ldl 146a6276fdd4253c3a7150ab675678c750473ab6c45Jack PalevichLOCAL_MODULE:= libETC1 147a6276fdd4253c3a7150ab675678c750473ab6c45Jack Palevich 148a6276fdd4253c3a7150ab675678c750473ab6c45Jack Palevichinclude $(BUILD_HOST_STATIC_LIBRARY) 149a6276fdd4253c3a7150ab675678c750473ab6c45Jack Palevich 150a6276fdd4253c3a7150ab675678c750473ab6c45Jack Palevich############################################################################### 151a6276fdd4253c3a7150ab675678c750473ab6c45Jack Palevich# Build the ETC1 device library 152a6276fdd4253c3a7150ab675678c750473ab6c45Jack Palevich# 153a6276fdd4253c3a7150ab675678c750473ab6c45Jack Palevich 154a6276fdd4253c3a7150ab675678c750473ab6c45Jack Palevichinclude $(CLEAR_VARS) 155a6276fdd4253c3a7150ab675678c750473ab6c45Jack Palevich 156a6276fdd4253c3a7150ab675678c750473ab6c45Jack PalevichLOCAL_SRC_FILES:= \ 157a6276fdd4253c3a7150ab675678c750473ab6c45Jack Palevich ETC1/etc1.cpp \ 158a6276fdd4253c3a7150ab675678c750473ab6c45Jack Palevich# 159a6276fdd4253c3a7150ab675678c750473ab6c45Jack Palevich 160a6276fdd4253c3a7150ab675678c750473ab6c45Jack PalevichLOCAL_LDLIBS := -lpthread -ldl 161a6276fdd4253c3a7150ab675678c750473ab6c45Jack PalevichLOCAL_MODULE:= libETC1 162a6276fdd4253c3a7150ab675678c750473ab6c45Jack Palevich 163a6276fdd4253c3a7150ab675678c750473ab6c45Jack Palevichinclude $(BUILD_SHARED_LIBRARY) 164