| LOCAL_PATH:= $(call my-dir) |
| |
| COMMON_SWIFTSHADER_RELATIVE_PATH := $(if $(BOARD_SWIFTSHADER_RELATIVE_PATH),$(BOARD_SWIFTSHADER_RELATIVE_PATH),egl) |
| |
| COMMON_CFLAGS := \ |
| -DLOG_TAG=\"libGLESv2_swiftshader\" \ |
| -fno-operator-names \ |
| -msse2 \ |
| -D__STDC_CONSTANT_MACROS \ |
| -D__STDC_LIMIT_MACROS \ |
| -std=c++11 \ |
| -DGL_API= \ |
| -DGL_APICALL= \ |
| -DGL_GLEXT_PROTOTYPES \ |
| -Wall \ |
| -Werror \ |
| -Wno-format \ |
| -Wno-sign-compare \ |
| -Wno-unused-parameter \ |
| -Wno-unused-private-field \ |
| -Wno-unused-variable \ |
| -Wno-implicit-exception-spec-mismatch \ |
| -Wno-implicit-fallthrough \ |
| -Wno-overloaded-virtual \ |
| -Wno-attributes \ |
| -Wno-unknown-attributes \ |
| -Wno-unknown-warning-option \ |
| -DANDROID_PLATFORM_SDK_VERSION=$(PLATFORM_SDK_VERSION) \ |
| -DNO_SANITIZE_FUNCTION= |
| |
| ifneq (16,${PLATFORM_SDK_VERSION}) |
| COMMON_CFLAGS += -Xclang -fuse-init-array |
| else |
| COMMON_CFLAGS += -D__STDC_INT64__ |
| endif |
| |
| COMMON_SRC_FILES := \ |
| Buffer.cpp \ |
| Context.cpp \ |
| Device.cpp \ |
| Fence.cpp \ |
| Framebuffer.cpp \ |
| IndexDataManager.cpp \ |
| libGLESv2.cpp \ |
| libGLESv3.cpp \ |
| main.cpp \ |
| entry_points.cpp \ |
| Program.cpp \ |
| Query.cpp \ |
| Renderbuffer.cpp \ |
| ResourceManager.cpp \ |
| Shader.cpp \ |
| Texture.cpp \ |
| TransformFeedback.cpp \ |
| utilities.cpp \ |
| VertexArray.cpp \ |
| VertexDataManager.cpp \ |
| ../../Common/SharedLibrary.cpp |
| |
| COMMON_C_INCLUDES := \ |
| bionic \ |
| $(LOCAL_PATH)/../../../include \ |
| $(LOCAL_PATH)/../ \ |
| $(LOCAL_PATH)/../../ \ |
| $(LOCAL_PATH)/../../Renderer/ \ |
| $(LOCAL_PATH)/../../Common/ \ |
| $(LOCAL_PATH)/../../Shader/ \ |
| $(LOCAL_PATH)/../../Main/ |
| |
| ifeq ($(REACTOR_USE_SUBZERO),true) |
| COMMON_STATIC_LIBRARIES := libsubzero |
| else |
| COMMON_STATIC_LIBRARIES := libLLVM_swiftshader |
| endif |
| |
| COMMON_SHARED_LIBRARIES := \ |
| libdl \ |
| liblog \ |
| libcutils \ |
| libhardware |
| |
| # Project Treble is introduced from Oreo MR1 |
| ifeq ($(shell test $(PLATFORM_SDK_VERSION) -ge 27 && echo OreoMR1),OreoMR1) |
| COMMON_SHARED_LIBRARIES += libnativewindow |
| COMMON_STATIC_LIBRARIES += libarect |
| COMMON_HEADER_LIBRARIES := libnativebase_headers |
| endif |
| |
| # gralloc1 is introduced from N MR1 |
| ifeq ($(shell test $(PLATFORM_SDK_VERSION) -ge 25 && echo NMR1),NMR1) |
| COMMON_CFLAGS += -DHAVE_GRALLOC1 |
| COMMON_SHARED_LIBRARIES += libsync |
| endif |
| |
| # Marshmallow does not have stlport, but comes with libc++ by default |
| ifeq ($(shell test $(PLATFORM_SDK_VERSION) -lt 23 && echo PreMarshmallow),PreMarshmallow) |
| COMMON_SHARED_LIBRARIES += libstlport |
| COMMON_C_INCLUDES += external/stlport/stlport |
| endif |
| |
| COMMON_LDFLAGS := \ |
| -Wl,--version-script=$(LOCAL_PATH)/libGLESv2.lds \ |
| -Wl,--gc-sections \ |
| -Wl,--hash-style=sysv |
| |
| include $(CLEAR_VARS) |
| LOCAL_MODULE := libGLESv2_swiftshader_debug |
| |
| ifeq ($(TARGET_TRANSLATE_2ND_ARCH),true) |
| LOCAL_MULTILIB := first |
| endif |
| |
| ifeq (HasRelativePath,$(shell test $(PLATFORM_SDK_VERSION) -ge 21 && echo HasRelativePath)) |
| LOCAL_MODULE_RELATIVE_PATH := $(COMMON_SWIFTSHADER_RELATIVE_PATH) |
| else |
| LOCAL_MODULE_PATH := $(TARGET_OUT_SHARED_LIBRARIES)/$(COMMON_SWIFTSHADER_RELATIVE_PATH) |
| endif |
| |
| LOCAL_VENDOR_MODULE := true |
| LOCAL_MODULE_TAGS := optional |
| LOCAL_CLANG := true |
| LOCAL_SRC_FILES += $(COMMON_SRC_FILES) |
| LOCAL_C_INCLUDES += $(COMMON_C_INCLUDES) |
| LOCAL_STATIC_LIBRARIES += swiftshader_compiler_debug swiftshader_top_debug $(COMMON_STATIC_LIBRARIES) |
| LOCAL_SHARED_LIBRARIES += $(COMMON_SHARED_LIBRARIES) |
| LOCAL_HEADER_LIBRARIES := $(COMMON_HEADER_LIBRARIES) |
| LOCAL_LDFLAGS += $(COMMON_LDFLAGS) |
| LOCAL_CFLAGS += $(COMMON_CFLAGS) -UNDEBUG -g -O0 |
| include $(BUILD_SHARED_LIBRARY) |
| |
| include $(CLEAR_VARS) |
| LOCAL_MODULE := libGLESv2_swiftshader |
| |
| ifeq ($(TARGET_TRANSLATE_2ND_ARCH),true) |
| LOCAL_MULTILIB := first |
| endif |
| |
| ifeq (HasRelativePath,$(shell test $(PLATFORM_SDK_VERSION) -ge 21 && echo HasRelativePath)) |
| LOCAL_MODULE_RELATIVE_PATH := $(COMMON_SWIFTSHADER_RELATIVE_PATH) |
| else |
| LOCAL_MODULE_PATH := $(TARGET_OUT_SHARED_LIBRARIES)/$(COMMON_SWIFTSHADER_RELATIVE_PATH) |
| endif |
| |
| LOCAL_VENDOR_MODULE := true |
| LOCAL_MODULE_TAGS := optional |
| LOCAL_CLANG := true |
| LOCAL_SRC_FILES += $(COMMON_SRC_FILES) |
| LOCAL_C_INCLUDES += $(COMMON_C_INCLUDES) |
| LOCAL_STATIC_LIBRARIES += swiftshader_compiler_release swiftshader_top_release $(COMMON_STATIC_LIBRARIES) |
| LOCAL_SHARED_LIBRARIES += $(COMMON_SHARED_LIBRARIES) |
| LOCAL_HEADER_LIBRARIES := $(COMMON_HEADER_LIBRARIES) |
| LOCAL_LDFLAGS += $(COMMON_LDFLAGS) |
| LOCAL_CFLAGS += \ |
| $(COMMON_CFLAGS) \ |
| -fomit-frame-pointer \ |
| -ffunction-sections \ |
| -fdata-sections \ |
| -DANGLE_DISABLE_TRACE |
| include $(BUILD_SHARED_LIBRARY) |