OSDN Git Service

Remove sub-vector load/store address hack.
[android-x86/external-swiftshader.git] / src / Android.mk
1 LOCAL_PATH:= $(call my-dir)
2
3 # Use Subzero as the Reactor JIT back-end on ARM, else LLVM.
4 ifeq ($(TARGET_ARCH),$(filter $(TARGET_ARCH),arm))
5 use_subzero := true
6 endif
7
8 COMMON_C_INCLUDES += \
9         bionic \
10         $(LOCAL_PATH)/../include \
11         $(LOCAL_PATH)/OpenGL/ \
12         $(LOCAL_PATH) \
13         $(LOCAL_PATH)/Renderer/ \
14         $(LOCAL_PATH)/Common/ \
15         $(LOCAL_PATH)/Shader/ \
16         $(LOCAL_PATH)/Main/
17
18 ifdef use_subzero
19 COMMON_C_INCLUDES += \
20         $(LOCAL_PATH)/../third_party/subzero/ \
21         $(LOCAL_PATH)/../third_party/llvm-subzero/include/ \
22         $(LOCAL_PATH)/../third_party/llvm-subzero/build/Android/include/ \
23         $(LOCAL_PATH)/../third_party/subzero/pnacl-llvm/include/
24 else
25 COMMON_C_INCLUDES += \
26         $(LOCAL_PATH)/../third_party/LLVM/include
27 endif
28
29 # Marshmallow does not have stlport, but comes with libc++ by default
30 ifeq ($(shell test $(PLATFORM_SDK_VERSION) -lt 23 && echo PreMarshmallow),PreMarshmallow)
31 COMMON_C_INCLUDES += external/stlport/stlport
32 endif
33
34 COMMON_SRC_FILES := \
35         Common/CPUID.cpp \
36         Common/Configurator.cpp \
37         Common/DebugAndroid.cpp \
38         Common/GrallocAndroid.cpp \
39         Common/Half.cpp \
40         Common/Math.cpp \
41         Common/Memory.cpp \
42         Common/Resource.cpp \
43         Common/Socket.cpp \
44         Common/Thread.cpp \
45         Common/Timer.cpp
46
47 COMMON_SRC_FILES += \
48         Main/Config.cpp \
49         Main/FrameBuffer.cpp \
50         Main/FrameBufferAndroid.cpp \
51         Main/SwiftConfig.cpp
52
53 ifdef use_subzero
54 COMMON_SRC_FILES += \
55         Reactor/SubzeroReactor.cpp \
56         Reactor/Routine.cpp \
57         Reactor/Optimizer.cpp
58 else
59 COMMON_SRC_FILES += \
60         Reactor/LLVMReactor.cpp \
61         Reactor/Routine.cpp \
62         Reactor/LLVMRoutine.cpp \
63         Reactor/LLVMRoutineManager.cpp
64 endif
65
66 COMMON_SRC_FILES += \
67         Renderer/Blitter.cpp \
68         Renderer/Clipper.cpp \
69         Renderer/Color.cpp \
70         Renderer/Context.cpp \
71         Renderer/ETC_Decoder.cpp \
72         Renderer/Matrix.cpp \
73         Renderer/PixelProcessor.cpp \
74         Renderer/Plane.cpp \
75         Renderer/Point.cpp \
76         Renderer/QuadRasterizer.cpp \
77         Renderer/Renderer.cpp \
78         Renderer/Sampler.cpp \
79         Renderer/SetupProcessor.cpp \
80         Renderer/Surface.cpp \
81         Renderer/TextureStage.cpp \
82         Renderer/Vector.cpp \
83         Renderer/VertexProcessor.cpp \
84
85 COMMON_SRC_FILES += \
86         Shader/Constants.cpp \
87         Shader/PixelPipeline.cpp \
88         Shader/PixelProgram.cpp \
89         Shader/PixelRoutine.cpp \
90         Shader/PixelShader.cpp \
91         Shader/SamplerCore.cpp \
92         Shader/SetupRoutine.cpp \
93         Shader/Shader.cpp \
94         Shader/ShaderCore.cpp \
95         Shader/VertexPipeline.cpp \
96         Shader/VertexProgram.cpp \
97         Shader/VertexRoutine.cpp \
98         Shader/VertexShader.cpp \
99
100 COMMON_SRC_FILES += \
101         OpenGL/common/Image.cpp \
102         OpenGL/common/Object.cpp \
103         OpenGL/common/MatrixStack.cpp \
104
105 COMMON_CFLAGS := \
106         -DLOG_TAG=\"swiftshader\" \
107         -Wno-unused-parameter \
108         -Wno-implicit-exception-spec-mismatch \
109         -Wno-overloaded-virtual \
110         -Wno-non-virtual-dtor \
111         -fno-operator-names \
112         -msse2 \
113         -D__STDC_CONSTANT_MACROS \
114         -D__STDC_LIMIT_MACROS \
115         -DANDROID_PLATFORM_SDK_VERSION=$(PLATFORM_SDK_VERSION) \
116         -std=c++11 \
117         -DNO_SANITIZE_FUNCTION=
118
119 ifneq (16,${PLATFORM_SDK_VERSION})
120 COMMON_CFLAGS += -Xclang -fuse-init-array
121 else
122 COMMON_CFLAGS += -D__STDC_INT64__
123 endif
124
125 # gralloc1 is introduced from N MR1
126 ifeq ($(shell test $(PLATFORM_SDK_VERSION) -ge 25 && echo NMR1),NMR1)
127 COMMON_CFLAGS += -DHAVE_GRALLOC1
128 COMMON_C_INCLUDES += \
129         system/core/libsync/include \
130         system/core/libsync
131 endif
132
133 # Common Subzero defines
134 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
135
136 # Subzero target
137 LOCAL_CFLAGS_x86 += -DSZTARGET=X8632
138 LOCAL_CFLAGS_x86_64 += -DSZTARGET=X8664
139 LOCAL_CFLAGS_arm += -DSZTARGET=ARM32
140
141 include $(CLEAR_VARS)
142 LOCAL_CLANG := true
143 LOCAL_MODULE := swiftshader_top_release
144 LOCAL_MODULE_TAGS := optional
145 LOCAL_SRC_FILES := $(COMMON_SRC_FILES)
146 LOCAL_CFLAGS := $(COMMON_CFLAGS) -fomit-frame-pointer -ffunction-sections -fdata-sections -DANGLE_DISABLE_TRACE
147 LOCAL_C_INCLUDES := $(COMMON_C_INCLUDES)
148 include $(BUILD_STATIC_LIBRARY)
149
150 include $(CLEAR_VARS)
151 LOCAL_CLANG := true
152 LOCAL_MODULE := swiftshader_top_debug
153 LOCAL_MODULE_TAGS := optional
154 LOCAL_SRC_FILES := $(COMMON_SRC_FILES)
155 LOCAL_CFLAGS := $(COMMON_CFLAGS) -UNDEBUG -g -O0 -DDEFAULT_THREAD_COUNT=1
156 LOCAL_C_INCLUDES := $(COMMON_C_INCLUDES)
157 include $(BUILD_STATIC_LIBRARY)
158
159 include $(call all-makefiles-under,$(LOCAL_PATH))