Commit 69f2535a by Chris Forbes

Jettison android subzero support entirely

Pastel proved that the LLVM path works well for all the architectures we care about for Android. Converted all aspects of the build to Android.bp Bug: b/139147241 Change-Id: I8ad8c2cc816fbb313feaf4a0c4d3dcf40cff37af Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/35168 Kokoro-Presubmit: kokoro <noreply+kokoro@google.com> Reviewed-by: 's avatarBen Clayton <bclayton@google.com> Reviewed-by: 's avatarNicolas Capens <nicolascapens@google.com> Tested-by: 's avatarChris Forbes <chrisforbes@google.com>
parent ae0f7506
......@@ -75,21 +75,6 @@ cc_defaults {
],
}
cc_defaults {
name: "swiftshader_subzero",
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",
],
}
cc_library_headers {
name: "swiftshader_platform_headers",
host_supported: true,
......@@ -104,10 +89,3 @@ cc_library_headers {
host_supported: true,
export_include_dirs: ["include/Android"],
}
subdirs = [
"src",
"third_party/llvm-subzero",
"third_party/llvm-7.0",
"third_party/subzero",
]
#
# Copyright 2015 The Android Open-Source Project
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
LOCAL_PATH := $(call my-dir)
swiftshader_root := $(LOCAL_PATH)
# Subzero is an alternative JIT compiler. It is smaller and generally slower.
REACTOR_USE_SUBZERO := false
# SwiftShader requires C++11.
# Full C++11 support is only available from Marshmallow and up.
ifeq ($(shell test $(PLATFORM_SDK_VERSION) -lt 23 && echo PreMarshmallow),PreMarshmallow)
swiftshader_unsupported_build := true
endif
# Check whether $(TARGET_ARCH) is supported.
ifneq ($(TARGET_ARCH),$(filter $(TARGET_ARCH),x86 x86_64 arm arm64))
swiftshader_unsupported_build := true
endif
ifneq ($(swiftshader_unsupported_build),true)
include $(swiftshader_root)/src/Android.mk
include $(swiftshader_root)/tests/GLESUnitTests/Android.mk
include $(swiftshader_root)/third_party/llvm-7.0/Android.mk
endif
......@@ -16,10 +16,8 @@
cc_defaults {
name: "libswiftshader",
device_supported: false,
host_supported: true,
vendor: true,
host_supported: true,
defaults: [ "swiftshader_common" ],
......@@ -49,6 +47,7 @@ cc_defaults {
relative_install_path: "hw",
header_libs: [
"swiftshader_platform_headers",
"libnativebase_headers",
],
shared_libs: [
"libnativewindow",
......@@ -56,6 +55,7 @@ cc_defaults {
"libcutils",
"libsync",
"liblog",
"libui",
],
},
......@@ -63,6 +63,7 @@ cc_defaults {
header_libs: [
"swiftshader_host_headers",
"swiftshader_platform_headers",
"libnativebase_headers",
],
// Pretend to build for Android
......@@ -121,6 +122,7 @@ cc_defaults {
"Common/Socket.cpp",
"Common/Thread.cpp",
"Common/Timer.cpp",
"Common/SharedLibrary.cpp",
"Main/Config.cpp",
"Main/FrameBuffer.cpp",
"Main/FrameBufferAndroid.cpp",
......@@ -214,25 +216,6 @@ cc_defaults {
}
cc_defaults {
name: "libswiftshader_subzero_defaults",
defaults: [ "libswiftshader_common_defaults", "swiftshader_subzero" ],
device_supported: false,
srcs: [
"Reactor/Reactor.cpp",
"Reactor/SubzeroReactor.cpp",
"Reactor/Optimizer.cpp",
"Reactor/Debug.cpp",
],
static_libs: [
"libLLVMSupport_subzero",
"libsubzero",
],
}
cc_defaults {
name: "libswiftshader_common",
defaults: [ "libswiftshader_release", "libswiftshader_common_defaults" ],
......@@ -248,50 +231,26 @@ cc_defaults {
cc_library_static {
name: "libswiftshader_llvm",
defaults: [ "libswiftshader_common", "libswiftshader_llvm_defaults" ],
device_supported: false,
}
cc_library_static {
name: "libswiftshader_llvm_debug",
device_supported: false,
defaults: [ "libswiftshader_common_debug", "libswiftshader_llvm_defaults" ],
}
cc_library_static {
name: "libswiftshadervk_llvm",
device_supported: true,
host_supported: false,
vendor: true,
defaults: [ "libswiftshadervk_llvm_defaults" ],
}
cc_library_static {
name: "libswiftshadervk_llvm_debug",
device_supported: true,
host_supported: false,
vendor: true,
defaults: [ "libswiftshadervk_llvm_defaults" ],
}
cc_library_static {
name: "libswiftshader_subzero",
defaults: [ "libswiftshader_common", "libswiftshader_subzero_defaults" ],
device_supported: false,
}
cc_library_static {
name: "libswiftshader_subzero_debug",
device_supported: false,
defaults: [ "libswiftshader_common_debug", "libswiftshader_subzero_defaults" ],
}
// compiler libraries
cc_defaults {
......@@ -356,63 +315,23 @@ cc_library_static {
// libEGL libraries
cc_defaults {
name: "swiftshader_client_libraries_subzero_or_llvm",
name: "swiftshader_client_libraries",
defaults: [ "libswiftshader_release" ],
target: {
android_arm: {
static_libs: [
"libswiftshader_subzero",
"libsubzero",
"libLLVMSupport_subzero",
],
},
android: {
static_libs: [
"libswiftshader_llvm",
"libLLVM7_swiftshader",
],
},
host: {
static_libs: [
"libswiftshader_llvm",
"libLLVM7_swiftshader",
],
},
},
static_libs: [
"libswiftshader_llvm",
"libLLVM7_swiftshader",
],
}
cc_defaults {
name: "swiftshader_client_libraries_subzero_or_llvm_debug",
name: "swiftshader_client_libraries_debug",
defaults: [ "libswiftshader_debug" ],
target: {
android_arm: {
static_libs: [
"libswiftshader_subzero_debug",
"libsubzero",
"libLLVMSupport_subzero",
],
},
android: {
static_libs: [
"libswiftshader_llvm_debug",
"libLLVM7_swiftshader",
],
},
host: {
static_libs: [
"libswiftshader_llvm_debug",
"libLLVM7_swiftshader",
],
},
},
static_libs: [
"libswiftshader_llvm_debug",
"libLLVM7_swiftshader",
],
}
cc_defaults {
......@@ -443,9 +362,8 @@ cc_library_shared {
defaults: [
"libEGL_swiftshader_defaults",
"swiftshader_client_libraries_subzero_or_llvm",
"swiftshader_client_libraries",
],
device_supported: false,
}
cc_library_shared {
......@@ -453,9 +371,8 @@ cc_library_shared {
defaults: [
"libEGL_swiftshader_defaults",
"swiftshader_client_libraries_subzero_or_llvm_debug",
"swiftshader_client_libraries_debug",
],
device_supported: false,
}
// libGLESv1_CM libraries
......@@ -497,9 +414,8 @@ cc_library_shared {
defaults: [
"libGLESv1_CM_swiftshader_defaults",
"swiftshader_client_libraries_subzero_or_llvm",
"swiftshader_client_libraries",
],
device_supported: false,
}
cc_library_shared {
......@@ -507,9 +423,8 @@ cc_library_shared {
defaults: [
"libGLESv1_CM_swiftshader_defaults",
"swiftshader_client_libraries_subzero_or_llvm_debug",
"swiftshader_client_libraries_debug",
],
device_supported: false,
}
// libGLESv2 libraries
......@@ -518,7 +433,6 @@ cc_defaults {
name: "libGLESv2_swiftshader_defaults",
defaults: [ "libswiftshader" ],
device_supported: false,
cflags: [
"-DLOG_TAG=\"libGLESv2_swiftshader\"",
......@@ -560,9 +474,8 @@ cc_library_shared {
defaults: [
"libGLESv2_swiftshader_defaults",
"swiftshader_client_libraries_subzero_or_llvm",
"swiftshader_client_libraries",
],
device_supported: false,
static_libs: [ "libswiftshader_compiler" ],
}
......@@ -572,9 +485,8 @@ cc_library_shared {
defaults: [
"libGLESv2_swiftshader_defaults",
"swiftshader_client_libraries_subzero_or_llvm_debug",
"swiftshader_client_libraries_debug",
],
device_supported: false,
static_libs: [ "libswiftshader_compiler_debug" ],
}
......@@ -613,9 +525,6 @@ cc_library_static {
cc_defaults {
name: "libvk_swiftshader_defaults",
device_supported: true,
host_supported: false,
vendor: true,
defaults: [ "swiftshader_common" ],
......@@ -704,8 +613,6 @@ cc_library_shared {
"libyarn",
],
host_supported: false,
defaults: [
"libvk_swiftshader_common_defaults",
"libvk_swiftshader_defaults"
......@@ -721,8 +628,6 @@ cc_library_shared {
"libyarn",
],
host_supported: false,
cflags: [
"-UNDEBUG",
"-g",
......
LOCAL_PATH := $(call my-dir)
swiftshader_src_root := $(LOCAL_PATH)
COMMON_C_INCLUDES += \
bionic \
$(LOCAL_PATH)/../include \
$(LOCAL_PATH)/OpenGL/ \
$(LOCAL_PATH)
ifeq ($(REACTOR_USE_SUBZERO),true)
COMMON_C_INCLUDES += \
$(LOCAL_PATH)/../third_party/subzero/ \
$(LOCAL_PATH)/../third_party/llvm-subzero/include/ \
$(LOCAL_PATH)/../third_party/llvm-subzero/build/Android/include/ \
$(LOCAL_PATH)/../third_party/subzero/pnacl-llvm/include/
else
COMMON_C_INCLUDES += \
$(LOCAL_PATH)/../third_party/llvm-7.0/llvm/include \
$(LOCAL_PATH)/../third_party/llvm-7.0/configs/android/include \
$(LOCAL_PATH)/../third_party/llvm-7.0/configs/common/include
endif
# Project Treble is introduced from Oreo MR1
ifeq ($(shell test $(PLATFORM_SDK_VERSION) -ge 27 && echo OreoMR1),OreoMR1)
COMMON_SHARED_LIBRARIES := libnativewindow liblog
COMMON_HEADER_LIBRARIES := libhardware_headers libnativebase_headers
COMMON_STATIC_LIBRARIES := libarect
endif
# Marshmallow does not have stlport, but comes with libc++ by default
ifeq ($(shell test $(PLATFORM_SDK_VERSION) -lt 23 && echo PreMarshmallow),PreMarshmallow)
COMMON_C_INCLUDES += external/stlport/stlport
endif
COMMON_SRC_FILES := \
Common/CPUID.cpp \
Common/Configurator.cpp \
Common/DebugAndroid.cpp \
Common/GrallocAndroid.cpp \
Common/Half.cpp \
Common/Math.cpp \
Common/Memory.cpp \
Common/Resource.cpp \
Common/Socket.cpp \
Common/Thread.cpp \
Common/Timer.cpp
COMMON_SRC_FILES += \
Main/Config.cpp \
Main/FrameBuffer.cpp \
Main/FrameBufferAndroid.cpp \
Main/SwiftConfig.cpp
COMMON_SRC_FILES += \
Reactor/Reactor.cpp \
Reactor/Debug.cpp \
Reactor/DebugAndroid.cpp \
Reactor/ExecutableMemory.cpp
ifeq ($(REACTOR_USE_SUBZERO),true)
COMMON_SRC_FILES += \
Reactor/SubzeroReactor.cpp \
Reactor/Optimizer.cpp
else
COMMON_SRC_FILES += \
Reactor/LLVMReactor.cpp \
Reactor/CPUID.cpp
endif
COMMON_SRC_FILES += \
Renderer/Blitter.cpp \
Renderer/Clipper.cpp \
Renderer/Color.cpp \
Renderer/Context.cpp \
Renderer/ETC_Decoder.cpp \
Renderer/Matrix.cpp \
Renderer/PixelProcessor.cpp \
Renderer/Plane.cpp \
Renderer/Point.cpp \
Renderer/QuadRasterizer.cpp \
Renderer/Renderer.cpp \
Renderer/Sampler.cpp \
Renderer/SetupProcessor.cpp \
Renderer/Surface.cpp \
Renderer/TextureStage.cpp \
Renderer/Vector.cpp \
Renderer/VertexProcessor.cpp \
COMMON_SRC_FILES += \
Shader/Constants.cpp \
Shader/PixelPipeline.cpp \
Shader/PixelProgram.cpp \
Shader/PixelRoutine.cpp \
Shader/PixelShader.cpp \
Shader/SamplerCore.cpp \
Shader/SetupRoutine.cpp \
Shader/Shader.cpp \
Shader/ShaderCore.cpp \
Shader/VertexPipeline.cpp \
Shader/VertexProgram.cpp \
Shader/VertexRoutine.cpp \
Shader/VertexShader.cpp \
COMMON_SRC_FILES += \
OpenGL/common/Image.cpp \
OpenGL/common/Object.cpp \
OpenGL/common/MatrixStack.cpp \
COMMON_CFLAGS := \
-DLOG_TAG=\"swiftshader\" \
-Wall \
-Werror \
-Wno-format \
-Wno-switch \
-Wno-unused-local-typedef \
-Wno-unused-parameter \
-Wno-unused-value \
-Wno-unused-variable \
-Wno-implicit-exception-spec-mismatch \
-Wno-implicit-fallthrough \
-Wno-overloaded-virtual \
-Wno-non-virtual-dtor \
-Wno-attributes \
-Wno-unknown-attributes \
-Wno-unknown-warning-option \
-fno-operator-names \
-msse2 \
-D__STDC_CONSTANT_MACROS \
-D__STDC_LIMIT_MACROS \
-DANDROID_PLATFORM_SDK_VERSION=$(PLATFORM_SDK_VERSION) \
-std=c++11 \
-DNO_SANITIZE_FUNCTION=
ifneq (16,${PLATFORM_SDK_VERSION})
COMMON_CFLAGS += -Xclang -fuse-init-array
else
COMMON_CFLAGS += -D__STDC_INT64__
endif
# gralloc1 is introduced from N MR1
ifeq ($(shell test $(PLATFORM_SDK_VERSION) -ge 25 && echo NMR1),NMR1)
COMMON_CFLAGS += -DHAVE_GRALLOC1
COMMON_C_INCLUDES += \
system/core/libsync/include \
system/core/libsync
endif
# Common Subzero defines
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
# Subzero target
LOCAL_CFLAGS_x86 += -DSZTARGET=X8632
LOCAL_CFLAGS_x86_64 += -DSZTARGET=X8664
LOCAL_CFLAGS_arm += -DSZTARGET=ARM32
include $(CLEAR_VARS)
LOCAL_CLANG := true
LOCAL_MODULE := swiftshader_top_release
LOCAL_VENDOR_MODULE := true
LOCAL_MODULE_TAGS := optional
LOCAL_SRC_FILES := $(COMMON_SRC_FILES)
LOCAL_CFLAGS := $(COMMON_CFLAGS) -fomit-frame-pointer -ffunction-sections -fdata-sections -DANGLE_DISABLE_TRACE
LOCAL_C_INCLUDES := $(COMMON_C_INCLUDES)
LOCAL_SHARED_LIBRARIES := $(COMMON_SHARED_LIBRARIES)
LOCAL_HEADER_LIBRARIES := $(COMMON_HEADER_LIBRARIES)
LOCAL_STATIC_LIBRARIES := $(COMMON_STATIC_LIBRARIES)
include $(BUILD_STATIC_LIBRARY)
include $(CLEAR_VARS)
LOCAL_CLANG := true
LOCAL_MODULE := swiftshader_top_debug
LOCAL_VENDOR_MODULE := true
LOCAL_MODULE_TAGS := optional
LOCAL_SRC_FILES := $(COMMON_SRC_FILES)
LOCAL_CFLAGS := $(COMMON_CFLAGS) -UNDEBUG -g -O0 -DDEFAULT_THREAD_COUNT=1
LOCAL_C_INCLUDES := $(COMMON_C_INCLUDES)
LOCAL_SHARED_LIBRARIES := $(COMMON_SHARED_LIBRARIES)
LOCAL_HEADER_LIBRARIES := $(COMMON_HEADER_LIBRARIES)
LOCAL_STATIC_LIBRARIES := $(COMMON_STATIC_LIBRARIES)
include $(BUILD_STATIC_LIBRARY)
include $(swiftshader_src_root)/Reactor/Android.mk
include $(swiftshader_src_root)/OpenGL/libGLESv2/Android.mk
include $(swiftshader_src_root)/OpenGL/libGLES_CM/Android.mk
include $(swiftshader_src_root)/OpenGL/libEGL/Android.mk
include $(swiftshader_src_root)/OpenGL/compiler/Android.mk
LOCAL_PATH:= $(call my-dir)
COMMON_C_INCLUDES := \
bionic \
$(LOCAL_PATH)/../../../include \
$(LOCAL_PATH)/../ \
$(LOCAL_PATH)/../../ \
$(LOCAL_PATH)/../../Renderer/ \
$(LOCAL_PATH)/../../Common/ \
$(LOCAL_PATH)/../../Shader/ \
$(LOCAL_PATH)/../../Main/
# Marshmallow does not have stlport, but comes with libc++ by default
ifeq ($(shell test $(PLATFORM_SDK_VERSION) -lt 23 && echo PreMarshmallow),PreMarshmallow)
COMMON_C_INCLUDES += \
$(LOCAL_PATH)/../../../third_party/stlport-cpp11-extension/ \
external/stlport/stlport/ \
external/stlport/
endif
COMMON_CFLAGS := \
-DLOG_TAG=\"swiftshader_compiler\" \
-Wall \
-Werror \
-Wno-format \
-Wno-sign-compare \
-Wno-unneeded-internal-declaration \
-Wno-unused-const-variable \
-Wno-unused-parameter \
-Wno-unused-variable \
-Wno-implicit-exception-spec-mismatch \
-Wno-implicit-fallthrough \
-Wno-overloaded-virtual \
-Wno-attributes \
-Wno-unknown-attributes \
-Wno-unknown-warning-option \
-fno-operator-names \
-msse2 \
-D__STDC_CONSTANT_MACROS \
-D__STDC_LIMIT_MACROS \
-std=c++11 \
-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 := \
preprocessor/DiagnosticsBase.cpp \
preprocessor/DirectiveHandlerBase.cpp \
preprocessor/DirectiveParser.cpp \
preprocessor/ExpressionParser.cpp \
preprocessor/Input.cpp \
preprocessor/Lexer.cpp \
preprocessor/Macro.cpp \
preprocessor/MacroExpander.cpp \
preprocessor/Preprocessor.cpp \
preprocessor/Token.cpp \
preprocessor/Tokenizer.cpp \
AnalyzeCallDepth.cpp \
Compiler.cpp \
debug.cpp \
Diagnostics.cpp \
DirectiveHandler.cpp \
glslang_lex.cpp \
glslang_tab.cpp \
InfoSink.cpp \
Initialize.cpp \
InitializeParseContext.cpp \
IntermTraverse.cpp \
Intermediate.cpp \
intermOut.cpp \
ossource_posix.cpp \
OutputASM.cpp \
parseConst.cpp \
ParseHelper.cpp \
PoolAlloc.cpp \
SymbolTable.cpp \
TranslatorASM.cpp \
util.cpp \
ValidateLimitations.cpp \
ValidateSwitch.cpp \
# liblog_headers is introduced from O MR1
ifeq ($(shell test $(PLATFORM_SDK_VERSION) -ge 27 && echo OMR1),OMR1)
COMMON_HEADER_LIBRARIES := liblog_headers
else
COMMON_HEADER_LIBRARIES :=
endif
include $(CLEAR_VARS)
LOCAL_CLANG := true
LOCAL_MODULE := swiftshader_compiler_release
LOCAL_MODULE_TAGS := optional
LOCAL_VENDOR_MODULE := true
LOCAL_SRC_FILES := $(COMMON_SRC_FILES)
LOCAL_CFLAGS += \
$(COMMON_CFLAGS) \
-ffunction-sections \
-fdata-sections \
-DANGLE_DISABLE_TRACE
LOCAL_C_INCLUDES := $(COMMON_C_INCLUDES)
LOCAL_SHARED_LIBRARIES := libcutils
LOCAL_HEADER_LIBRARIES := $(COMMON_HEADER_LIBRARIES)
include $(BUILD_STATIC_LIBRARY)
include $(CLEAR_VARS)
LOCAL_CLANG := true
LOCAL_MODULE := swiftshader_compiler_debug
LOCAL_MODULE_TAGS := optional
LOCAL_VENDOR_MODULE := true
LOCAL_SRC_FILES := $(COMMON_SRC_FILES)
LOCAL_CFLAGS += \
$(COMMON_CFLAGS) \
-UNDEBUG \
-g \
-O0
LOCAL_C_INCLUDES := $(COMMON_C_INCLUDES)
LOCAL_SHARED_LIBRARIES := libcutils
LOCAL_HEADER_LIBRARIES := $(COMMON_HEADER_LIBRARIES)
include $(BUILD_STATIC_LIBRARY)
......@@ -1266,7 +1266,7 @@ namespace glsl
TIntermTyped *result = node;
const TType &resultType = node->getType();
TIntermSequence &arg = node->getSequence();
size_t argumentCount = arg.size();
int argumentCount = static_cast<int>(arg.size());
switch(node->getOp())
{
......@@ -1339,7 +1339,7 @@ namespace glsl
TIntermSequence &arguments = *function->arg;
for(size_t i = 0; i < argumentCount; i++)
for(int i = 0; i < argumentCount; i++)
{
TIntermTyped *in = arguments[i]->getAsTyped();
......@@ -1360,7 +1360,7 @@ namespace glsl
copy(result, function->ret);
}
for(size_t i = 0; i < argumentCount; i++)
for(int i = 0; i < argumentCount; i++)
{
TIntermTyped *argument = arguments[i]->getAsTyped();
TIntermTyped *out = arg[i]->getAsTyped();
......@@ -1500,7 +1500,7 @@ namespace glsl
int component = 0;
int arrayMaxIndex = result->isArray() ? result->getArraySize() - 1 : 0;
int arrayComponents = result->getType().getElementSize();
for(size_t i = 0; i < argumentCount; i++)
for(int i = 0; i < argumentCount; i++)
{
TIntermTyped *argi = arg[i]->getAsTyped();
int size = argi->getNominalSize();
......@@ -1616,7 +1616,7 @@ namespace glsl
int column = 0;
int row = 0;
for(size_t i = 0; i < argumentCount; i++)
for(int i = 0; i < argumentCount; i++)
{
TIntermTyped *argi = arg[i]->getAsTyped();
int size = argi->getNominalSize();
......@@ -1641,7 +1641,7 @@ namespace glsl
if(visit == PostVisit)
{
int offset = 0;
for(size_t i = 0; i < argumentCount; i++)
for(int i = 0; i < argumentCount; i++)
{
TIntermTyped *argi = arg[i]->getAsTyped();
int size = argi->totalRegisterCount();
......
LOCAL_PATH:= $(call my-dir)
COMMON_SWIFTSHADER_RELATIVE_PATH := $(if $(BOARD_SWIFTSHADER_RELATIVE_PATH),$(BOARD_SWIFTSHADER_RELATIVE_PATH),egl)
COMMON_CFLAGS := \
-DLOG_TAG=\"libEGL_swiftshader\" \
-std=c++11 \
-DEGLAPI= \
-DEGL_EGLEXT_PROTOTYPES \
-Wall \
-Werror \
-Wno-format \
-Wno-unused-function \
-Wno-unused-parameter \
-Wno-implicit-exception-spec-mismatch \
-Wno-implicit-fallthrough \
-Wno-overloaded-virtual \
-Wno-attributes \
-Wno-unknown-attributes \
-Wno-unknown-warning-option \
-DANDROID_PLATFORM_SDK_VERSION=$(PLATFORM_SDK_VERSION) \
-DNO_SANITIZE_FUNCTION=
ifneq (16,${PLATFORM_SDK_VERSION})
COMMON_CFLAGS += -Xclang -fuse-init-array
else
COMMON_CFLAGS += -D__STDC_INT64__
endif
COMMON_SRC_FILES := \
Config.cpp \
Display.cpp \
Surface.cpp \
libEGL.cpp \
main.cpp \
../../Common/SharedLibrary.cpp
COMMON_C_INCLUDES := \
bionic \
$(LOCAL_PATH)/../../../include \
$(LOCAL_PATH)/../ \
$(LOCAL_PATH)/../../
COMMON_SHARED_LIBRARIES := \
libdl \
liblog \
libcutils \
libhardware
# Project Treble is introduced from Oreo MR1
ifeq ($(shell test $(PLATFORM_SDK_VERSION) -ge 27 && echo OreoMR1),OreoMR1)
COMMON_SHARED_LIBRARIES += libnativewindow
COMMON_STATIC_LIBRARIES += libarect
COMMON_HEADER_LIBRARIES += libnativebase_headers
endif
# 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)/libEGL.lds \
-Wl,--gc-sections \
-Wl,--hash-style=sysv
include $(CLEAR_VARS)
LOCAL_MODULE := libEGL_swiftshader_debug
ifeq ($(TARGET_TRANSLATE_2ND_ARCH),true)
LOCAL_MULTILIB := first
endif
ifeq (HasRelativePath,$(shell test $(PLATFORM_SDK_VERSION) -ge 21 && echo HasRelativePath))
LOCAL_MODULE_RELATIVE_PATH := $(COMMON_SWIFTSHADER_RELATIVE_PATH)
else
LOCAL_MODULE_PATH := $(TARGET_OUT_SHARED_LIBRARIES)/$(COMMON_SWIFTSHADER_RELATIVE_PATH)
endif
LOCAL_VENDOR_MODULE := true
LOCAL_MODULE_TAGS := optional
LOCAL_CLANG := true
LOCAL_SRC_FILES := $(COMMON_SRC_FILES)
LOCAL_C_INCLUDES += $(COMMON_C_INCLUDES)
LOCAL_STATIC_LIBRARIES += swiftshader_top_debug $(COMMON_STATIC_LIBRARIES)
LOCAL_SHARED_LIBRARIES += $(COMMON_SHARED_LIBRARIES)
LOCAL_HEADER_LIBRARIES := $(COMMON_HEADER_LIBRARIES)
LOCAL_LDFLAGS += $(COMMON_LDFLAGS)
LOCAL_CFLAGS += $(COMMON_CFLAGS) -UNDEBUG -g -O0
include $(BUILD_SHARED_LIBRARY)
include $(CLEAR_VARS)
LOCAL_MODULE := libEGL_swiftshader
ifeq ($(TARGET_TRANSLATE_2ND_ARCH),true)
LOCAL_MULTILIB := first
endif
ifeq (HasRelativePath,$(shell test $(PLATFORM_SDK_VERSION) -ge 21 && echo HasRelativePath))
LOCAL_MODULE_RELATIVE_PATH := $(COMMON_SWIFTSHADER_RELATIVE_PATH)
else
LOCAL_MODULE_PATH := $(TARGET_OUT_SHARED_LIBRARIES)/$(COMMON_SWIFTSHADER_RELATIVE_PATH)
endif
LOCAL_VENDOR_MODULE := true
LOCAL_MODULE_TAGS := optional
LOCAL_CLANG := true
LOCAL_SRC_FILES := $(COMMON_SRC_FILES)
LOCAL_C_INCLUDES += $(COMMON_C_INCLUDES)
LOCAL_STATIC_LIBRARIES += swiftshader_top_release $(COMMON_STATIC_LIBRARIES)
LOCAL_SHARED_LIBRARIES += $(COMMON_SHARED_LIBRARIES)
LOCAL_HEADER_LIBRARIES := $(COMMON_HEADER_LIBRARIES)
LOCAL_LDFLAGS += $(COMMON_LDFLAGS)
LOCAL_CFLAGS += $(COMMON_CFLAGS) -DANGLE_DISABLE_TRACE
include $(BUILD_SHARED_LIBRARY)
LOCAL_PATH:= $(call my-dir)
COMMON_SWIFTSHADER_RELATIVE_PATH := $(if $(BOARD_SWIFTSHADER_RELATIVE_PATH),$(BOARD_SWIFTSHADER_RELATIVE_PATH),egl)
COMMON_CFLAGS := \
-DLOG_TAG=\"libGLES_CM_swiftshader\" \
-std=c++11 \
-fno-operator-names \
-msse2 \
-D__STDC_CONSTANT_MACROS \
-D__STDC_LIMIT_MACROS \
-DEGLAPI= \
-DGL_API= \
-DGL_APICALL= \
-DGL_GLEXT_PROTOTYPES \
-Wall \
-Werror \
-Wno-format \
-Wno-format-extra-args \
-Wno-unused-parameter \
-Wno-unused-variable \
-Wno-implicit-exception-spec-mismatch \
-Wno-implicit-fallthrough \
-Wno-overloaded-virtual \
-Wno-attributes \
-Wno-unknown-attributes \
-Wno-unknown-warning-option \
-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 := \
Buffer.cpp \
Context.cpp \
Device.cpp \
Framebuffer.cpp \
IndexDataManager.cpp \
libGLES_CM.cpp \
main.cpp \
Renderbuffer.cpp \
ResourceManager.cpp \
Texture.cpp \
utilities.cpp \
VertexDataManager.cpp \
../../Common/SharedLibrary.cpp
COMMON_C_INCLUDES := \
bionic \
$(LOCAL_PATH)/../../../include \
$(LOCAL_PATH)/../ \
$(LOCAL_PATH)/../../ \
$(LOCAL_PATH)/../../Renderer/ \
$(LOCAL_PATH)/../../Common/ \
$(LOCAL_PATH)/../../Shader/ \
$(LOCAL_PATH)/../../Main/
ifeq ($(REACTOR_USE_SUBZERO),true)
COMMON_STATIC_LIBRARIES := libsubzero
else
COMMON_STATIC_LIBRARIES := libLLVM7_swiftshader
endif
COMMON_SHARED_LIBRARIES := \
libdl \
liblog \
libcutils \
libhardware
# Project Treble is introduced from Oreo MR1
ifeq ($(shell test $(PLATFORM_SDK_VERSION) -ge 27 && echo OreoMR1),OreoMR1)
COMMON_SHARED_LIBRARIES += libnativewindow
COMMON_STATIC_LIBRARIES += libarect
COMMON_HEADER_LIBRARIES := libnativebase_headers
endif
# 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)/libGLES_CM.lds \
-Wl,--gc-sections \
-Wl,--hash-style=sysv
include $(CLEAR_VARS)
LOCAL_MODULE := libGLESv1_CM_swiftshader_debug
ifeq ($(TARGET_TRANSLATE_2ND_ARCH),true)
LOCAL_MULTILIB := first
endif
ifeq (HasRelativePath,$(shell test $(PLATFORM_SDK_VERSION) -ge 21 && echo HasRelativePath))
LOCAL_MODULE_RELATIVE_PATH := $(COMMON_SWIFTSHADER_RELATIVE_PATH)
else
LOCAL_MODULE_PATH := $(TARGET_OUT_SHARED_LIBRARIES)/$(COMMON_SWIFTSHADER_RELATIVE_PATH)
endif
LOCAL_VENDOR_MODULE := true
LOCAL_MODULE_TAGS := optional
LOCAL_CLANG := true
LOCAL_SRC_FILES += $(COMMON_SRC_FILES)
LOCAL_C_INCLUDES += $(COMMON_C_INCLUDES)
LOCAL_STATIC_LIBRARIES += swiftshader_top_debug $(COMMON_STATIC_LIBRARIES)
LOCAL_SHARED_LIBRARIES += $(COMMON_SHARED_LIBRARIES)
LOCAL_HEADER_LIBRARIES := $(COMMON_HEADER_LIBRARIES)
LOCAL_LDFLAGS += $(COMMON_LDFLAGS)
LOCAL_CFLAGS += $(COMMON_CFLAGS) -UNDEBUG -g -O0
include $(BUILD_SHARED_LIBRARY)
include $(CLEAR_VARS)
LOCAL_MODULE := libGLESv1_CM_swiftshader
ifeq ($(TARGET_TRANSLATE_2ND_ARCH),true)
LOCAL_MULTILIB := first
endif
ifeq (HasRelativePath,$(shell test $(PLATFORM_SDK_VERSION) -ge 21 && echo HasRelativePath))
LOCAL_MODULE_RELATIVE_PATH := $(COMMON_SWIFTSHADER_RELATIVE_PATH)
else
LOCAL_MODULE_PATH := $(TARGET_OUT_SHARED_LIBRARIES)/$(COMMON_SWIFTSHADER_RELATIVE_PATH)
endif
LOCAL_VENDOR_MODULE := true
LOCAL_MODULE_TAGS := optional
LOCAL_CLANG := true
LOCAL_SRC_FILES += $(COMMON_SRC_FILES)
LOCAL_C_INCLUDES += $(COMMON_C_INCLUDES)
LOCAL_STATIC_LIBRARIES += swiftshader_top_release $(COMMON_STATIC_LIBRARIES)
LOCAL_SHARED_LIBRARIES += $(COMMON_SHARED_LIBRARIES)
LOCAL_HEADER_LIBRARIES := $(COMMON_HEADER_LIBRARIES)
LOCAL_LDFLAGS += $(COMMON_LDFLAGS)
LOCAL_CFLAGS += \
$(COMMON_CFLAGS) \
-fomit-frame-pointer \
-ffunction-sections \
-fdata-sections \
-DANGLE_DISABLE_TRACE
include $(BUILD_SHARED_LIBRARY)
LOCAL_PATH:= $(call my-dir)
COMMON_SWIFTSHADER_RELATIVE_PATH := $(if $(BOARD_SWIFTSHADER_RELATIVE_PATH),$(BOARD_SWIFTSHADER_RELATIVE_PATH),egl)
COMMON_CFLAGS := \
-DLOG_TAG=\"libGLESv2_swiftshader\" \
-fno-operator-names \
-msse2 \
-D__STDC_CONSTANT_MACROS \
-D__STDC_LIMIT_MACROS \
-std=c++11 \
-DGL_API= \
-DGL_APICALL= \
-DGL_GLEXT_PROTOTYPES \
-Wall \
-Werror \
-Wno-format \
-Wno-sign-compare \
-Wno-unused-parameter \
-Wno-unused-private-field \
-Wno-unused-variable \
-Wno-implicit-exception-spec-mismatch \
-Wno-implicit-fallthrough \
-Wno-overloaded-virtual \
-Wno-attributes \
-Wno-unknown-attributes \
-Wno-unknown-warning-option \
-DANDROID_PLATFORM_SDK_VERSION=$(PLATFORM_SDK_VERSION) \
-DNO_SANITIZE_FUNCTION=
ifneq (16,${PLATFORM_SDK_VERSION})
COMMON_CFLAGS += -Xclang -fuse-init-array
else
COMMON_CFLAGS += -D__STDC_INT64__
endif
COMMON_SRC_FILES := \
Buffer.cpp \
Context.cpp \
Device.cpp \
Fence.cpp \
Framebuffer.cpp \
IndexDataManager.cpp \
libGLESv2.cpp \
libGLESv3.cpp \
main.cpp \
entry_points.cpp \
Program.cpp \
Query.cpp \
Renderbuffer.cpp \
ResourceManager.cpp \
Shader.cpp \
Texture.cpp \
TransformFeedback.cpp \
utilities.cpp \
VertexArray.cpp \
VertexDataManager.cpp \
../../Common/SharedLibrary.cpp
COMMON_C_INCLUDES := \
bionic \
$(LOCAL_PATH)/../../../include \
$(LOCAL_PATH)/../ \
$(LOCAL_PATH)/../../ \
$(LOCAL_PATH)/../../Renderer/ \
$(LOCAL_PATH)/../../Common/ \
$(LOCAL_PATH)/../../Shader/ \
$(LOCAL_PATH)/../../Main/
ifeq ($(REACTOR_USE_SUBZERO),true)
COMMON_STATIC_LIBRARIES := libsubzero
else
COMMON_STATIC_LIBRARIES := libLLVM7_swiftshader
endif
COMMON_SHARED_LIBRARIES := \
libdl \
liblog \
libcutils \
libhardware
# Project Treble is introduced from Oreo MR1
ifeq ($(shell test $(PLATFORM_SDK_VERSION) -ge 27 && echo OreoMR1),OreoMR1)
COMMON_SHARED_LIBRARIES += libnativewindow
COMMON_STATIC_LIBRARIES += libarect
COMMON_HEADER_LIBRARIES := libnativebase_headers
endif
# 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)/libGLESv2.lds \
-Wl,--gc-sections \
-Wl,--hash-style=sysv
include $(CLEAR_VARS)
LOCAL_MODULE := libGLESv2_swiftshader_debug
ifeq ($(TARGET_TRANSLATE_2ND_ARCH),true)
LOCAL_MULTILIB := first
endif
ifeq (HasRelativePath,$(shell test $(PLATFORM_SDK_VERSION) -ge 21 && echo HasRelativePath))
LOCAL_MODULE_RELATIVE_PATH := $(COMMON_SWIFTSHADER_RELATIVE_PATH)
else
LOCAL_MODULE_PATH := $(TARGET_OUT_SHARED_LIBRARIES)/$(COMMON_SWIFTSHADER_RELATIVE_PATH)
endif
LOCAL_VENDOR_MODULE := true
LOCAL_MODULE_TAGS := optional
LOCAL_CLANG := true
LOCAL_SRC_FILES += $(COMMON_SRC_FILES)
LOCAL_C_INCLUDES += $(COMMON_C_INCLUDES)
LOCAL_STATIC_LIBRARIES += swiftshader_compiler_debug swiftshader_top_debug $(COMMON_STATIC_LIBRARIES)
LOCAL_SHARED_LIBRARIES += $(COMMON_SHARED_LIBRARIES)
LOCAL_HEADER_LIBRARIES := $(COMMON_HEADER_LIBRARIES)
LOCAL_LDFLAGS += $(COMMON_LDFLAGS)
LOCAL_CFLAGS += $(COMMON_CFLAGS) -UNDEBUG -g -O0
include $(BUILD_SHARED_LIBRARY)
include $(CLEAR_VARS)
LOCAL_MODULE := libGLESv2_swiftshader
ifeq ($(TARGET_TRANSLATE_2ND_ARCH),true)
LOCAL_MULTILIB := first
endif
ifeq (HasRelativePath,$(shell test $(PLATFORM_SDK_VERSION) -ge 21 && echo HasRelativePath))
LOCAL_MODULE_RELATIVE_PATH := $(COMMON_SWIFTSHADER_RELATIVE_PATH)
else
LOCAL_MODULE_PATH := $(TARGET_OUT_SHARED_LIBRARIES)/$(COMMON_SWIFTSHADER_RELATIVE_PATH)
endif
LOCAL_VENDOR_MODULE := true
LOCAL_MODULE_TAGS := optional
LOCAL_CLANG := true
LOCAL_SRC_FILES += $(COMMON_SRC_FILES)
LOCAL_C_INCLUDES += $(COMMON_C_INCLUDES)
LOCAL_STATIC_LIBRARIES += swiftshader_compiler_release swiftshader_top_release $(COMMON_STATIC_LIBRARIES)
LOCAL_SHARED_LIBRARIES += $(COMMON_SHARED_LIBRARIES)
LOCAL_HEADER_LIBRARIES := $(COMMON_HEADER_LIBRARIES)
LOCAL_LDFLAGS += $(COMMON_LDFLAGS)
LOCAL_CFLAGS += \
$(COMMON_CFLAGS) \
-fomit-frame-pointer \
-ffunction-sections \
-fdata-sections \
-DANGLE_DISABLE_TRACE
include $(BUILD_SHARED_LIBRARY)
#
# Copyright 2016 The Android Open-Source Project
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
LOCAL_PATH:= $(call my-dir)
include $(CLEAR_VARS)
LOCAL_CLANG := true
LOCAL_MODULE := libsubzero
LOCAL_MODULE_TAGS := optional
LOCAL_VENDOR_MODULE := true
SUBZERO_PATH := ../../third_party/subzero
LLVMDEPENDENCIES_PATH := ../../third_party/llvm-subzero
LOCAL_SRC_FILES := \
$(SUBZERO_PATH)/src/IceAssembler.cpp \
$(SUBZERO_PATH)/src/IceCfg.cpp \
$(SUBZERO_PATH)/src/IceCfgNode.cpp \
$(SUBZERO_PATH)/src/IceClFlags.cpp \
$(SUBZERO_PATH)/src/IceELFObjectWriter.cpp \
$(SUBZERO_PATH)/src/IceELFSection.cpp \
$(SUBZERO_PATH)/src/IceFixups.cpp \
$(SUBZERO_PATH)/src/IceGlobalContext.cpp \
$(SUBZERO_PATH)/src/IceGlobalInits.cpp \
$(SUBZERO_PATH)/src/IceInst.cpp \
$(SUBZERO_PATH)/src/IceInstrumentation.cpp \
$(SUBZERO_PATH)/src/IceIntrinsics.cpp \
$(SUBZERO_PATH)/src/IceLiveness.cpp \
$(SUBZERO_PATH)/src/IceLoopAnalyzer.cpp \
$(SUBZERO_PATH)/src/IceMangling.cpp \
$(SUBZERO_PATH)/src/IceMemory.cpp \
$(SUBZERO_PATH)/src/IceOperand.cpp \
$(SUBZERO_PATH)/src/IceRangeSpec.cpp \
$(SUBZERO_PATH)/src/IceRegAlloc.cpp \
$(SUBZERO_PATH)/src/IceRevision.cpp \
$(SUBZERO_PATH)/src/IceRNG.cpp \
$(SUBZERO_PATH)/src/IceSwitchLowering.cpp \
$(SUBZERO_PATH)/src/IceTargetLowering.cpp \
$(SUBZERO_PATH)/src/IceThreading.cpp \
$(SUBZERO_PATH)/src/IceTimerTree.cpp \
$(SUBZERO_PATH)/src/IceTypes.cpp \
$(SUBZERO_PATH)/src/IceVariableSplitting.cpp
LOCAL_SRC_FILES_x86 += \
$(SUBZERO_PATH)/src/IceInstX8632.cpp \
$(SUBZERO_PATH)/src/IceTargetLoweringX8632.cpp
LOCAL_SRC_FILES_x86_64 += \
$(SUBZERO_PATH)/src/IceInstX8664.cpp \
$(SUBZERO_PATH)/src/IceTargetLoweringX8664.cpp
LOCAL_SRC_FILES_arm += \
$(SUBZERO_PATH)/src/IceAssemblerARM32.cpp \
$(SUBZERO_PATH)/src/IceTargetLoweringARM32.cpp \
$(SUBZERO_PATH)/src/IceInstARM32.cpp
LOCAL_SRC_FILES += \
$(LLVMDEPENDENCIES_PATH)/lib/Support/APInt.cpp \
$(LLVMDEPENDENCIES_PATH)/lib/Support/Atomic.cpp \
$(LLVMDEPENDENCIES_PATH)/lib/Support/circular_raw_ostream.cpp \
$(LLVMDEPENDENCIES_PATH)/lib/Support/CommandLine.cpp \
$(LLVMDEPENDENCIES_PATH)/lib/Support/ConvertUTF.cpp \
$(LLVMDEPENDENCIES_PATH)/lib/Support/ConvertUTFWrapper.cpp \
$(LLVMDEPENDENCIES_PATH)/lib/Support/Debug.cpp \
$(LLVMDEPENDENCIES_PATH)/lib/Support/ErrorHandling.cpp \
$(LLVMDEPENDENCIES_PATH)/lib/Support/FoldingSet.cpp \
$(LLVMDEPENDENCIES_PATH)/lib/Support/Hashing.cpp \
$(LLVMDEPENDENCIES_PATH)/lib/Support/Host.cpp \
$(LLVMDEPENDENCIES_PATH)/lib/Support/ManagedStatic.cpp \
$(LLVMDEPENDENCIES_PATH)/lib/Support/MemoryBuffer.cpp \
$(LLVMDEPENDENCIES_PATH)/lib/Support/Mutex.cpp \
$(LLVMDEPENDENCIES_PATH)/lib/Support/NativeFormatting.cpp \
$(LLVMDEPENDENCIES_PATH)/lib/Support/Path.cpp \
$(LLVMDEPENDENCIES_PATH)/lib/Support/Process.cpp \
$(LLVMDEPENDENCIES_PATH)/lib/Support/Program.cpp \
$(LLVMDEPENDENCIES_PATH)/lib/Support/raw_ostream.cpp \
$(LLVMDEPENDENCIES_PATH)/lib/Support/raw_os_ostream.cpp \
$(LLVMDEPENDENCIES_PATH)/lib/Support/regcomp.c \
$(LLVMDEPENDENCIES_PATH)/lib/Support/regerror.c \
$(LLVMDEPENDENCIES_PATH)/lib/Support/Regex.cpp \
$(LLVMDEPENDENCIES_PATH)/lib/Support/regexec.c \
$(LLVMDEPENDENCIES_PATH)/lib/Support/regfree.c \
$(LLVMDEPENDENCIES_PATH)/lib/Support/regstrlcpy.c \
$(LLVMDEPENDENCIES_PATH)/lib/Support/Signals.cpp \
$(LLVMDEPENDENCIES_PATH)/lib/Support/SmallPtrSet.cpp \
$(LLVMDEPENDENCIES_PATH)/lib/Support/SmallVector.cpp \
$(LLVMDEPENDENCIES_PATH)/lib/Support/StringExtras.cpp \
$(LLVMDEPENDENCIES_PATH)/lib/Support/StringMap.cpp \
$(LLVMDEPENDENCIES_PATH)/lib/Support/StringRef.cpp \
$(LLVMDEPENDENCIES_PATH)/lib/Support/StringSaver.cpp \
$(LLVMDEPENDENCIES_PATH)/lib/Support/TargetParser.cpp \
$(LLVMDEPENDENCIES_PATH)/lib/Support/Threading.cpp \
$(LLVMDEPENDENCIES_PATH)/lib/Support/Timer.cpp \
$(LLVMDEPENDENCIES_PATH)/lib/Support/Triple.cpp \
$(LLVMDEPENDENCIES_PATH)/lib/Support/Twine.cpp
LOCAL_CPPFLAGS := -std=c++11
LOCAL_CFLAGS += \
-DLOG_TAG=\"libsubzero\" \
-Wall \
-Werror \
-Wno-undefined-var-template \
-Wno-unused-lambda-capture \
-Wno-unused-parameter \
-Wno-implicit-exception-spec-mismatch \
-Wno-implicit-fallthrough \
-Wno-overloaded-virtual \
-Wno-non-virtual-dtor \
-Wno-unknown-warning-option \
-Wno-enum-compare-switch
ifneq (16,${PLATFORM_SDK_VERSION})
LOCAL_CFLAGS += -Xclang -fuse-init-array
else
LOCAL_CFLAGS += -D__STDC_INT64__
endif
LOCAL_CFLAGS += -fomit-frame-pointer -Os -ffunction-sections -fdata-sections
LOCAL_CFLAGS += -fno-operator-names -msse2 -D__STDC_CONSTANT_MACROS -D__STDC_LIMIT_MACROS
# Common Subzero defines
LOCAL_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
# Subzero target
LOCAL_CFLAGS_x86 += -DSZTARGET=X8632
LOCAL_CFLAGS_x86_64 += -DSZTARGET=X8664
LOCAL_CFLAGS_arm += -DSZTARGET=ARM32
# Android's make system also uses NDEBUG, so we need to set/unset it forcefully
# Uncomment for debug ON:
# LOCAL_CFLAGS += -UNDEBUG -g -O0
LOCAL_C_INCLUDES += \
bionic \
$(LOCAL_PATH)/$(SUBZERO_PATH)/ \
$(LOCAL_PATH)/$(LLVMDEPENDENCIES_PATH)/include/ \
$(LOCAL_PATH)/$(LLVMDEPENDENCIES_PATH)/build/Android/include/ \
$(LOCAL_PATH)/$(SUBZERO_PATH)/pnacl-llvm/include/
# Marshmallow does not have stlport, but comes with libc++ by default
ifeq ($(shell test $(PLATFORM_SDK_VERSION) -lt 23 && echo PreMarshmallow),PreMarshmallow)
LOCAL_C_INCLUDES += external/stlport/stlport
endif
include $(BUILD_STATIC_LIBRARY)
#
# Copyright 2018 The Android Open-Source Project
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
LOCAL_PATH := $(call my-dir)
ifneq ($(wildcard $(LOCAL_PATH)/../../third_party/googletest/googletest/src/gtest-all.cc),)
include $(CLEAR_VARS)
LOCAL_MODULE := libgtest_all_swiftshader
LOCAL_MODULE_TAGS := optional
LOCAL_VENDOR_MODULE := true
LOCAL_CPP_EXTENSION := .cc
LOCAL_SRC_FILES := \
../../third_party/googletest/googletest/src/gtest-all.cc
LOCAL_C_INCLUDES := \
$(LOCAL_PATH)/../../third_party/googletest/googletest/include/ \
$(LOCAL_PATH)/../../third_party/googletest/googlemock/include/ \
$(LOCAL_PATH)/../../third_party/googletest/googletest/
include $(BUILD_STATIC_LIBRARY)
include $(CLEAR_VARS)
LOCAL_MODULE := swiftshader-unittests
LOCAL_MODULE_TAGS := optional
LOCAL_VENDOR_MODULE := true
LOCAL_SRC_FILES := \
main.cpp \
unittests.cpp
LOCAL_C_INCLUDES := \
$(LOCAL_PATH)/../../third_party/googletest/googletest/include/ \
$(LOCAL_PATH)/../../third_party/googletest/googlemock/include/ \
$(LOCAL_PATH)/../../third_party/googletest/googletest/ \
$(LOCAL_PATH)/../../include/
LOCAL_SHARED_LIBRARIES := \
libEGL_swiftshader \
libGLESv2_swiftshader
LOCAL_STATIC_LIBRARIES := \
libgtest_all_swiftshader
include $(BUILD_EXECUTABLE)
endif # gtest-all.cc exists
LOCAL_PATH:= $(call my-dir)
include $(CLEAR_VARS)
LOCAL_CPP_EXTENSION := .cc .cpp .cxx
LOCAL_SRC_FILES:=test.cpp
LOCAL_MODULE:=spirvtools_test
LOCAL_LDLIBS:=-landroid
LOCAL_CXXFLAGS:=-std=c++11 -fno-exceptions -fno-rtti -Werror
LOCAL_STATIC_LIBRARIES=SPIRV-Tools SPIRV-Tools-opt
include $(BUILD_SHARED_LIBRARY)
include $(LOCAL_PATH)/../Android.mk
APP_ABI := all
APP_BUILD_SCRIPT := Android.mk
APP_STL := gnustl_static
APP_PLATFORM := android-9
NDK_TOOLCHAIN_VERSION := 4.9
//
// Copyright (C) 2018 The Android Open Source Project
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//
cc_library_static {
name: "libsubzero",
defaults: [ "swiftshader_common_release", "swiftshader_subzero" ],
device_supported: false,
host_supported: true,
cflags: [
"-D_GNU_SOURCE",
"-D__STDC_LIMIT_MACROS",
"-D__STDC_CONSTANT_MACROS",
"-D__STDC_FORMAT_MACROS",
"-DLOG_TAG=\"libsubzero\"",
"-Wno-implicit-fallthrough",
"-Wno-unused-parameter",
"-Wno-undefined-var-template",
"-Wno-unused-lambda-capture",
],
cppflags: [
"-Wno-sign-promo",
"-Wno-non-virtual-dtor",
],
srcs: [
"src/IceAssembler.cpp",
"src/IceCfg.cpp",
"src/IceCfgNode.cpp",
"src/IceClFlags.cpp",
"src/IceELFObjectWriter.cpp",
"src/IceELFSection.cpp",
"src/IceFixups.cpp",
"src/IceGlobalContext.cpp",
"src/IceGlobalInits.cpp",
"src/IceInst.cpp",
"src/IceInstrumentation.cpp",
"src/IceIntrinsics.cpp",
"src/IceLiveness.cpp",
"src/IceLoopAnalyzer.cpp",
"src/IceMangling.cpp",
"src/IceMemory.cpp",
"src/IceOperand.cpp",
"src/IceRangeSpec.cpp",
"src/IceRegAlloc.cpp",
"src/IceRevision.cpp",
"src/IceRNG.cpp",
"src/IceSwitchLowering.cpp",
"src/IceTargetLowering.cpp",
"src/IceThreading.cpp",
"src/IceTimerTree.cpp",
"src/IceTypes.cpp",
"src/IceVariableSplitting.cpp",
],
arch: {
arm: {
cflags : [ "-DSZTARGET=ARM32" ],
srcs: [
"src/IceAssemblerARM32.cpp",
"src/IceTargetLoweringARM32.cpp",
"src/IceInstARM32.cpp",
],
},
mips: {
cflags : [ "-DSZTARGET=MIPS32" ],
srcs: [
"src/IceAssemblerMIPS32.cpp",
"src/IceTargetLoweringMIPS32.cpp",
"src/IceInstMIPS32.cpp",
],
},
x86: {
cflags : [ "-DSZTARGET=X8632" ],
srcs: [
"src/IceTargetLoweringX8632.cpp",
"src/IceInstX8632.cpp",
],
},
x86_64: {
cflags : [ "-DSZTARGET=X8664" ],
srcs: [
"src/IceTargetLoweringX8664.cpp",
"src/IceInstX8664.cpp",
],
},
},
// FIXME: The IceCfg.h interface needs to be exported correctly
// FIXME: Exporting the whole src tree is broken
export_include_dirs: [ "pnacl-llvm/include", "." ],
static_libs: [ "libLLVMSupport_subzero" ],
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment