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