OSDN Git Service

add support for gralloc1 mapper
[android-x86/external-swiftshader.git] / src / OpenGL / libEGL / Android.mk
index e12cb72..8026c7b 100644 (file)
@@ -5,7 +5,16 @@ COMMON_CFLAGS := \
        -std=c++11 \
        -DEGLAPI= \
        -DEGL_EGLEXT_PROTOTYPES \
-       -Wno-unused-parameter
+       -Wno-unused-parameter \
+       -Wno-implicit-exception-spec-mismatch \
+       -Wno-overloaded-virtual \
+       -DANDROID_PLATFORM_SDK_VERSION=$(PLATFORM_SDK_VERSION)
+
+ifneq (16,${PLATFORM_SDK_VERSION})
+COMMON_CFLAGS += -Xclang -fuse-init-array
+else
+COMMON_CFLAGS += -D__STDC_INT64__
+endif
 
 COMMON_SRC_FILES := \
        Config.cpp \
@@ -15,62 +24,75 @@ COMMON_SRC_FILES := \
        main.cpp
 
 COMMON_C_INCLUDES := \
-       device/google/gce/include \
-       $(LOCAL_PATH)/../include \
+       bionic \
+       $(LOCAL_PATH)/../../../include \
        $(LOCAL_PATH)/../ \
        $(LOCAL_PATH)/../../
 
-COMMON_STATIC_LIBRARIES := \
-       swiftshader_top \
-       libLLVM_swiftshader \
-       libgcemetadata
-
 COMMON_SHARED_LIBRARIES := \
-       libgceframebufferconfig \
        libdl \
        liblog \
-       libandroid \
-       libutils \
        libcutils \
-       libhardware \
-       $(GCE_STLPORT_LIBS)
+       libhardware
+
+# 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)/exports.map \
        -Wl,--hash-style=sysv
 
 include $(CLEAR_VARS)
-
-LOCAL_MODULE_PATH := vendor/transgaming/swiftshader/$(TARGET_ARCH)/debug/obj
-LOCAL_UNSTRIPPED_PATH := vendor/transgaming/swiftshader/$(TARGET_ARCH)/debug/sym
-LOCAL_MODULE := libEGL_swiftshader_vendor_debug
+LOCAL_MODULE := libEGL_swiftshader_debug
+ifdef TARGET_2ND_ARCH
+ifeq ($(TARGET_TRANSLATE_2ND_ARCH),true)
+LOCAL_MULTILIB := first
+LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR)/lib/egl
+else
+LOCAL_MODULE_PATH_32 := $(TARGET_OUT_VENDOR)/lib/egl
+LOCAL_MODULE_PATH_64 := $(TARGET_OUT_VENDOR)/lib64/egl
+endif
+else
+LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR)/lib/egl
+endif
 LOCAL_MODULE_TAGS := optional
-LOCAL_INSTALLED_MODULE_STEM := libEGL_swiftshader.so
-LOCAL_CFLAGS += $(COMMON_CFLAGS) -UNDEBUG -g -O0
-
 LOCAL_CLANG := true
 LOCAL_SRC_FILES := $(COMMON_SRC_FILES)
 LOCAL_C_INCLUDES += $(COMMON_C_INCLUDES)
-LOCAL_STATIC_LIBRARIES += $(COMMON_STATIC_LIBRARIES)
+LOCAL_STATIC_LIBRARIES += swiftshader_top_debug $(COMMON_STATIC_LIBRARIES)
 LOCAL_SHARED_LIBRARIES += $(COMMON_SHARED_LIBRARIES)
 LOCAL_LDFLAGS += $(COMMON_LDFLAGS)
-include external/stlport/libstlport.mk
+LOCAL_CFLAGS += $(COMMON_CFLAGS) -UNDEBUG -g -O0
 include $(BUILD_SHARED_LIBRARY)
 
 include $(CLEAR_VARS)
-
-LOCAL_MODULE_PATH := vendor/transgaming/swiftshader/$(TARGET_ARCH)/release/obj
-LOCAL_UNSTRIPPED_PATH := vendor/transgaming/swiftshader/$(TARGET_ARCH)/release/sym
-LOCAL_MODULE := libEGL_swiftshader_vendor_release
+LOCAL_MODULE := libEGL_swiftshader
+ifdef TARGET_2ND_ARCH
+ifeq ($(TARGET_TRANSLATE_2ND_ARCH),true)
+LOCAL_MULTILIB := first
+LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR)/lib/egl
+else
+LOCAL_MODULE_PATH_32 := $(TARGET_OUT_VENDOR)/lib/egl
+LOCAL_MODULE_PATH_64 := $(TARGET_OUT_VENDOR)/lib64/egl
+endif
+else
+LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR)/lib/egl
+endif
 LOCAL_MODULE_TAGS := optional
-LOCAL_INSTALLED_MODULE_STEM := libEGL_swiftshader.so
-LOCAL_CFLAGS += $(COMMON_CFLAGS) -DANGLE_DISABLE_TRACE
-
 LOCAL_CLANG := true
 LOCAL_SRC_FILES := $(COMMON_SRC_FILES)
 LOCAL_C_INCLUDES += $(COMMON_C_INCLUDES)
-LOCAL_STATIC_LIBRARIES += $(COMMON_STATIC_LIBRARIES)
+LOCAL_STATIC_LIBRARIES += swiftshader_top_release $(COMMON_STATIC_LIBRARIES)
 LOCAL_SHARED_LIBRARIES += $(COMMON_SHARED_LIBRARIES)
 LOCAL_LDFLAGS += $(COMMON_LDFLAGS)
-include external/stlport/libstlport.mk
+LOCAL_CFLAGS += $(COMMON_CFLAGS) -DANGLE_DISABLE_TRACE
 include $(BUILD_SHARED_LIBRARY)