OSDN Git Service

add support for gralloc1 mapper
[android-x86/external-swiftshader.git] / src / OpenGL / libEGL / Android.mk
1 LOCAL_PATH:= $(call my-dir)
2
3 COMMON_CFLAGS := \
4         -DLOG_TAG=\"libEGL_swiftshader\" \
5         -std=c++11 \
6         -DEGLAPI= \
7         -DEGL_EGLEXT_PROTOTYPES \
8         -Wno-unused-parameter \
9         -Wno-implicit-exception-spec-mismatch \
10         -Wno-overloaded-virtual \
11         -DANDROID_PLATFORM_SDK_VERSION=$(PLATFORM_SDK_VERSION)
12
13 ifneq (16,${PLATFORM_SDK_VERSION})
14 COMMON_CFLAGS += -Xclang -fuse-init-array
15 else
16 COMMON_CFLAGS += -D__STDC_INT64__
17 endif
18
19 COMMON_SRC_FILES := \
20         Config.cpp \
21         Display.cpp \
22         Surface.cpp \
23         libEGL.cpp \
24         main.cpp
25
26 COMMON_C_INCLUDES := \
27         bionic \
28         $(LOCAL_PATH)/../../../include \
29         $(LOCAL_PATH)/../ \
30         $(LOCAL_PATH)/../../
31
32 COMMON_SHARED_LIBRARIES := \
33         libdl \
34         liblog \
35         libcutils \
36         libhardware
37
38 # gralloc1 is introduced from N MR1
39 ifeq ($(shell test $(PLATFORM_SDK_VERSION) -ge 25 && echo NMR1),NMR1)
40 COMMON_CFLAGS += -DHAVE_GRALLOC1
41 COMMON_SHARED_LIBRARIES += libsync
42 endif
43
44 # Marshmallow does not have stlport, but comes with libc++ by default
45 ifeq ($(shell test $(PLATFORM_SDK_VERSION) -lt 23 && echo PreMarshmallow),PreMarshmallow)
46 COMMON_SHARED_LIBRARIES += libstlport
47 COMMON_C_INCLUDES += external/stlport/stlport
48 endif
49
50 COMMON_LDFLAGS := \
51         -Wl,--version-script=$(LOCAL_PATH)/exports.map \
52         -Wl,--hash-style=sysv
53
54 include $(CLEAR_VARS)
55 LOCAL_MODULE := libEGL_swiftshader_debug
56 ifdef TARGET_2ND_ARCH
57 ifeq ($(TARGET_TRANSLATE_2ND_ARCH),true)
58 LOCAL_MULTILIB := first
59 LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR)/lib/egl
60 else
61 LOCAL_MODULE_PATH_32 := $(TARGET_OUT_VENDOR)/lib/egl
62 LOCAL_MODULE_PATH_64 := $(TARGET_OUT_VENDOR)/lib64/egl
63 endif
64 else
65 LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR)/lib/egl
66 endif
67 LOCAL_MODULE_TAGS := optional
68 LOCAL_CLANG := true
69 LOCAL_SRC_FILES := $(COMMON_SRC_FILES)
70 LOCAL_C_INCLUDES += $(COMMON_C_INCLUDES)
71 LOCAL_STATIC_LIBRARIES += swiftshader_top_debug $(COMMON_STATIC_LIBRARIES)
72 LOCAL_SHARED_LIBRARIES += $(COMMON_SHARED_LIBRARIES)
73 LOCAL_LDFLAGS += $(COMMON_LDFLAGS)
74 LOCAL_CFLAGS += $(COMMON_CFLAGS) -UNDEBUG -g -O0
75 include $(BUILD_SHARED_LIBRARY)
76
77 include $(CLEAR_VARS)
78 LOCAL_MODULE := libEGL_swiftshader
79 ifdef TARGET_2ND_ARCH
80 ifeq ($(TARGET_TRANSLATE_2ND_ARCH),true)
81 LOCAL_MULTILIB := first
82 LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR)/lib/egl
83 else
84 LOCAL_MODULE_PATH_32 := $(TARGET_OUT_VENDOR)/lib/egl
85 LOCAL_MODULE_PATH_64 := $(TARGET_OUT_VENDOR)/lib64/egl
86 endif
87 else
88 LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR)/lib/egl
89 endif
90 LOCAL_MODULE_TAGS := optional
91 LOCAL_CLANG := true
92 LOCAL_SRC_FILES := $(COMMON_SRC_FILES)
93 LOCAL_C_INCLUDES += $(COMMON_C_INCLUDES)
94 LOCAL_STATIC_LIBRARIES += swiftshader_top_release $(COMMON_STATIC_LIBRARIES)
95 LOCAL_SHARED_LIBRARIES += $(COMMON_SHARED_LIBRARIES)
96 LOCAL_LDFLAGS += $(COMMON_LDFLAGS)
97 LOCAL_CFLAGS += $(COMMON_CFLAGS) -DANGLE_DISABLE_TRACE
98 include $(BUILD_SHARED_LIBRARY)