OSDN Git Service

Add support for OpKill
[android-x86/external-swiftshader.git] / src / Android.mk
1 LOCAL_PATH := $(call my-dir)
2 swiftshader_src_root := $(LOCAL_PATH)
3
4 COMMON_C_INCLUDES += \
5         bionic \
6         $(LOCAL_PATH)/../include \
7         $(LOCAL_PATH)/OpenGL/ \
8         $(LOCAL_PATH)
9
10 ifeq ($(REACTOR_USE_SUBZERO),true)
11
12 COMMON_C_INCLUDES += \
13         $(LOCAL_PATH)/../third_party/subzero/ \
14         $(LOCAL_PATH)/../third_party/llvm-subzero/include/ \
15         $(LOCAL_PATH)/../third_party/llvm-subzero/build/Android/include/ \
16         $(LOCAL_PATH)/../third_party/subzero/pnacl-llvm/include/
17
18 else
19
20 ifeq ($(REACTOR_LLVM_VERSION),3)
21 COMMON_C_INCLUDES += \
22         $(LOCAL_PATH)/../third_party/LLVM/include
23 else
24 COMMON_C_INCLUDES += \
25         $(LOCAL_PATH)/../third_party/llvm-7.0/llvm/include \
26         $(LOCAL_PATH)/../third_party/llvm-7.0/configs/android/include \
27         $(LOCAL_PATH)/../third_party/llvm-7.0/configs/common/include
28 endif
29
30 endif
31
32 # Project Treble is introduced from Oreo MR1
33 ifeq ($(shell test $(PLATFORM_SDK_VERSION) -ge 27 && echo OreoMR1),OreoMR1)
34 COMMON_SHARED_LIBRARIES := libnativewindow liblog
35 COMMON_HEADER_LIBRARIES := libhardware_headers libnativebase_headers
36 COMMON_STATIC_LIBRARIES := libarect
37 endif
38
39 # Marshmallow does not have stlport, but comes with libc++ by default
40 ifeq ($(shell test $(PLATFORM_SDK_VERSION) -lt 23 && echo PreMarshmallow),PreMarshmallow)
41 COMMON_C_INCLUDES += external/stlport/stlport
42 endif
43
44 COMMON_SRC_FILES := \
45         Common/CPUID.cpp \
46         Common/Configurator.cpp \
47         Common/DebugAndroid.cpp \
48         Common/GrallocAndroid.cpp \
49         Common/Half.cpp \
50         Common/Math.cpp \
51         Common/Memory.cpp \
52         Common/Resource.cpp \
53         Common/Socket.cpp \
54         Common/Thread.cpp \
55         Common/Timer.cpp
56
57 COMMON_SRC_FILES += \
58         Main/Config.cpp \
59         Main/FrameBuffer.cpp \
60         Main/FrameBufferAndroid.cpp \
61         Main/SwiftConfig.cpp
62
63 COMMON_SRC_FILES += \
64         Reactor/Reactor.cpp \
65         Reactor/Routine.cpp \
66         Reactor/Debug.cpp \
67         Reactor/DebugAndroid.cpp \
68         Reactor/ExecutableMemory.cpp
69
70 ifeq ($(REACTOR_USE_SUBZERO),true)
71 COMMON_SRC_FILES += \
72         Reactor/SubzeroReactor.cpp \
73         Reactor/Optimizer.cpp
74 else
75 COMMON_SRC_FILES += \
76         Reactor/LLVMReactor.cpp \
77         Reactor/LLVMRoutine.cpp \
78         Reactor/LLVMRoutineManager.cpp \
79         Reactor/CPUID.cpp
80 endif
81
82 COMMON_SRC_FILES += \
83         Renderer/Blitter.cpp \
84         Renderer/Clipper.cpp \
85         Renderer/Color.cpp \
86         Renderer/Context.cpp \
87         Renderer/ETC_Decoder.cpp \
88         Renderer/Matrix.cpp \
89         Renderer/PixelProcessor.cpp \
90         Renderer/Plane.cpp \
91         Renderer/Point.cpp \
92         Renderer/QuadRasterizer.cpp \
93         Renderer/Renderer.cpp \
94         Renderer/Sampler.cpp \
95         Renderer/SetupProcessor.cpp \
96         Renderer/Surface.cpp \
97         Renderer/TextureStage.cpp \
98         Renderer/Vector.cpp \
99         Renderer/VertexProcessor.cpp \
100
101 COMMON_SRC_FILES += \
102         Shader/Constants.cpp \
103         Shader/PixelPipeline.cpp \
104         Shader/PixelProgram.cpp \
105         Shader/PixelRoutine.cpp \
106         Shader/PixelShader.cpp \
107         Shader/SamplerCore.cpp \
108         Shader/SetupRoutine.cpp \
109         Shader/Shader.cpp \
110         Shader/ShaderCore.cpp \
111         Shader/VertexPipeline.cpp \
112         Shader/VertexProgram.cpp \
113         Shader/VertexRoutine.cpp \
114         Shader/VertexShader.cpp \
115
116 COMMON_SRC_FILES += \
117         OpenGL/common/Image.cpp \
118         OpenGL/common/Object.cpp \
119         OpenGL/common/MatrixStack.cpp \
120
121 COMMON_CFLAGS := \
122         -DLOG_TAG=\"swiftshader\" \
123         -Wall \
124         -Werror \
125         -Wno-format \
126         -Wno-switch \
127         -Wno-unused-local-typedef \
128         -Wno-unused-parameter \
129         -Wno-unused-value \
130         -Wno-unused-variable \
131         -Wno-implicit-exception-spec-mismatch \
132         -Wno-implicit-fallthrough \
133         -Wno-overloaded-virtual \
134         -Wno-non-virtual-dtor \
135         -Wno-attributes \
136         -Wno-unknown-attributes \
137         -Wno-unknown-warning-option \
138         -fno-operator-names \
139         -msse2 \
140         -D__STDC_CONSTANT_MACROS \
141         -D__STDC_LIMIT_MACROS \
142         -DANDROID_PLATFORM_SDK_VERSION=$(PLATFORM_SDK_VERSION) \
143         -std=c++11 \
144         -DNO_SANITIZE_FUNCTION=
145
146 ifneq (16,${PLATFORM_SDK_VERSION})
147 COMMON_CFLAGS += -Xclang -fuse-init-array
148 else
149 COMMON_CFLAGS += -D__STDC_INT64__
150 endif
151
152 # gralloc1 is introduced from N MR1
153 ifeq ($(shell test $(PLATFORM_SDK_VERSION) -ge 25 && echo NMR1),NMR1)
154 COMMON_CFLAGS += -DHAVE_GRALLOC1
155 COMMON_C_INCLUDES += \
156         system/core/libsync/include \
157         system/core/libsync
158 endif
159
160 # Common LLVM defines
161 COMMON_CFLAGS += -DREACTOR_LLVM_VERSION=$(REACTOR_LLVM_VERSION)
162
163 # Common Subzero defines
164 COMMON_CFLAGS += -DALLOW_DUMP=0 -DALLOW_TIMERS=0 -DALLOW_LLVM_CL=0 -DALLOW_LLVM_IR=0 -DALLOW_LLVM_IR_AS_INPUT=0 -DALLOW_MINIMAL_BUILD=0 -DALLOW_WASM=0 -DICE_THREAD_LOCAL_HACK=1
165
166 # Subzero target
167 LOCAL_CFLAGS_x86 += -DSZTARGET=X8632
168 LOCAL_CFLAGS_x86_64 += -DSZTARGET=X8664
169 LOCAL_CFLAGS_arm += -DSZTARGET=ARM32
170
171 include $(CLEAR_VARS)
172 LOCAL_CLANG := true
173 LOCAL_MODULE := swiftshader_top_release
174 LOCAL_VENDOR_MODULE := true
175 LOCAL_MODULE_TAGS := optional
176 LOCAL_SRC_FILES := $(COMMON_SRC_FILES)
177 LOCAL_CFLAGS := $(COMMON_CFLAGS) -fomit-frame-pointer -ffunction-sections -fdata-sections -DANGLE_DISABLE_TRACE
178 LOCAL_C_INCLUDES := $(COMMON_C_INCLUDES)
179 LOCAL_SHARED_LIBRARIES := $(COMMON_SHARED_LIBRARIES)
180 LOCAL_HEADER_LIBRARIES := $(COMMON_HEADER_LIBRARIES)
181 LOCAL_STATIC_LIBRARIES := $(COMMON_STATIC_LIBRARIES)
182 include $(BUILD_STATIC_LIBRARY)
183
184 include $(CLEAR_VARS)
185 LOCAL_CLANG := true
186 LOCAL_MODULE := swiftshader_top_debug
187 LOCAL_VENDOR_MODULE := true
188 LOCAL_MODULE_TAGS := optional
189 LOCAL_SRC_FILES := $(COMMON_SRC_FILES)
190 LOCAL_CFLAGS := $(COMMON_CFLAGS) -UNDEBUG -g -O0 -DDEFAULT_THREAD_COUNT=1
191 LOCAL_C_INCLUDES := $(COMMON_C_INCLUDES)
192 LOCAL_SHARED_LIBRARIES := $(COMMON_SHARED_LIBRARIES)
193 LOCAL_HEADER_LIBRARIES := $(COMMON_HEADER_LIBRARIES)
194 LOCAL_STATIC_LIBRARIES := $(COMMON_STATIC_LIBRARIES)
195 include $(BUILD_STATIC_LIBRARY)
196
197 include $(swiftshader_src_root)/Reactor/Android.mk
198 include $(swiftshader_src_root)/OpenGL/libGLESv2/Android.mk
199 include $(swiftshader_src_root)/OpenGL/libGLES_CM/Android.mk
200 include $(swiftshader_src_root)/OpenGL/libEGL/Android.mk
201 include $(swiftshader_src_root)/OpenGL/compiler/Android.mk