• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1LOCAL_PATH:= $(call my-dir)
2
3COMMON_CFLAGS := \
4	-DLOG_TAG=\"libGLESv2_swiftshader\" \
5	-fno-operator-names \
6	-msse2 \
7	-D__STDC_CONSTANT_MACROS \
8	-D__STDC_LIMIT_MACROS \
9	-std=c++11 \
10	-DGL_API= \
11	-DGL_APICALL= \
12	-DGL_GLEXT_PROTOTYPES \
13	-Wno-unused-parameter \
14	-Wno-implicit-exception-spec-mismatch \
15	-Wno-overloaded-virtual \
16	-Wno-attributes \
17	-Wno-unknown-attributes \
18	-Wno-unknown-warning-option \
19	-DANDROID_PLATFORM_SDK_VERSION=$(PLATFORM_SDK_VERSION) \
20	-DNO_SANITIZE_FUNCTION=
21
22ifneq (16,${PLATFORM_SDK_VERSION})
23COMMON_CFLAGS += -Xclang -fuse-init-array
24else
25COMMON_CFLAGS += -D__STDC_INT64__
26endif
27
28COMMON_SRC_FILES := \
29	Buffer.cpp \
30	Context.cpp \
31	Device.cpp \
32	Fence.cpp \
33	Framebuffer.cpp \
34	IndexDataManager.cpp \
35	libGLESv2.cpp \
36	libGLESv3.cpp \
37	main.cpp \
38	Program.cpp \
39	Query.cpp \
40	Renderbuffer.cpp \
41	ResourceManager.cpp \
42	Shader.cpp \
43	Texture.cpp \
44	TransformFeedback.cpp \
45	utilities.cpp \
46	VertexArray.cpp \
47	VertexDataManager.cpp \
48
49COMMON_C_INCLUDES := \
50	bionic \
51	$(LOCAL_PATH)/../../../include \
52	$(LOCAL_PATH)/../ \
53	$(LOCAL_PATH)/../../ \
54	$(LOCAL_PATH)/../../Renderer/ \
55	$(LOCAL_PATH)/../../Common/ \
56	$(LOCAL_PATH)/../../Shader/ \
57	$(LOCAL_PATH)/../../Main/
58
59ifdef use_subzero
60COMMON_STATIC_LIBRARIES := libsubzero
61else
62COMMON_STATIC_LIBRARIES := libLLVM_swiftshader
63endif
64
65COMMON_SHARED_LIBRARIES := \
66	libdl \
67	liblog \
68	libcutils \
69	libhardware
70
71# libnativewindow is introduced from O
72ifeq ($(shell test $(PLATFORM_SDK_VERSION) -ge 26 && echo O),O)
73COMMON_SHARED_LIBRARIES += libnativewindow
74COMMON_STATIC_LIBRARIES += libarect
75COMMON_HEADER_LIBRARIES := libnativebase_headers
76endif
77
78# gralloc1 is introduced from N MR1
79ifeq ($(shell test $(PLATFORM_SDK_VERSION) -ge 25 && echo NMR1),NMR1)
80COMMON_CFLAGS += -DHAVE_GRALLOC1
81COMMON_SHARED_LIBRARIES += libsync
82endif
83
84# Marshmallow does not have stlport, but comes with libc++ by default
85ifeq ($(shell test $(PLATFORM_SDK_VERSION) -lt 23 && echo PreMarshmallow),PreMarshmallow)
86COMMON_SHARED_LIBRARIES += libstlport
87COMMON_C_INCLUDES += external/stlport/stlport
88endif
89
90COMMON_LDFLAGS := \
91	-Wl,--gc-sections \
92	-Wl,--version-script=$(LOCAL_PATH)/exports.map \
93	-Wl,--hash-style=sysv
94
95include $(CLEAR_VARS)
96LOCAL_MODULE := libGLESv2_swiftshader_debug
97ifdef TARGET_2ND_ARCH
98ifeq ($(TARGET_TRANSLATE_2ND_ARCH),true)
99LOCAL_MULTILIB := first
100LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR)/lib/egl
101else
102LOCAL_MODULE_PATH_32 := $(TARGET_OUT_VENDOR)/lib/egl
103LOCAL_MODULE_PATH_64 := $(TARGET_OUT_VENDOR)/lib64/egl
104endif
105else
106LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR)/lib/egl
107endif
108LOCAL_MODULE_TAGS := optional
109LOCAL_CLANG := true
110LOCAL_SRC_FILES += $(COMMON_SRC_FILES)
111LOCAL_C_INCLUDES += $(COMMON_C_INCLUDES)
112LOCAL_STATIC_LIBRARIES += swiftshader_compiler_debug swiftshader_top_debug $(COMMON_STATIC_LIBRARIES)
113LOCAL_SHARED_LIBRARIES += $(COMMON_SHARED_LIBRARIES)
114LOCAL_HEADER_LIBRARIES := $(COMMON_HEADER_LIBRARIES)
115LOCAL_LDFLAGS += $(COMMON_LDFLAGS)
116LOCAL_CFLAGS += $(COMMON_CFLAGS) -UNDEBUG -g -O0
117include $(BUILD_SHARED_LIBRARY)
118
119include $(CLEAR_VARS)
120LOCAL_MODULE := libGLESv2_swiftshader
121ifdef TARGET_2ND_ARCH
122ifeq ($(TARGET_TRANSLATE_2ND_ARCH),true)
123LOCAL_MULTILIB := first
124LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR)/lib/egl
125else
126LOCAL_MODULE_PATH_32 := $(TARGET_OUT_VENDOR)/lib/egl
127LOCAL_MODULE_PATH_64 := $(TARGET_OUT_VENDOR)/lib64/egl
128endif
129else
130LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR)/lib/egl
131endif
132LOCAL_MODULE_TAGS := optional
133LOCAL_CLANG := true
134LOCAL_SRC_FILES += $(COMMON_SRC_FILES)
135LOCAL_C_INCLUDES += $(COMMON_C_INCLUDES)
136LOCAL_STATIC_LIBRARIES += swiftshader_compiler_release swiftshader_top_release $(COMMON_STATIC_LIBRARIES)
137LOCAL_SHARED_LIBRARIES += $(COMMON_SHARED_LIBRARIES)
138LOCAL_HEADER_LIBRARIES := $(COMMON_HEADER_LIBRARIES)
139LOCAL_LDFLAGS += $(COMMON_LDFLAGS)
140LOCAL_CFLAGS += \
141	$(COMMON_CFLAGS) \
142	-fomit-frame-pointer \
143	-ffunction-sections \
144	-fdata-sections \
145	-DANGLE_DISABLE_TRACE
146include $(BUILD_SHARED_LIBRARY)
147