blob: 9efbd9a655ac51d273c0ed86f16c840f42c0a492 [file] [log] [blame]
Greg Hartmanc363dab2015-03-20 13:04:51 -07001LOCAL_PATH:= $(call my-dir)
Greg Hartmanc363dab2015-03-20 13:04:51 -07002
Greg Hartmand5411c82018-08-29 18:58:40 -07003COMMON_SWIFTSHADER_RELATIVE_PATH := $(if $(BOARD_SWIFTSHADER_RELATIVE_PATH),$(BOARD_SWIFTSHADER_RELATIVE_PATH),egl)
4
Greg Hartman394b7072015-04-30 15:44:11 -07005COMMON_CFLAGS := \
6 -DLOG_TAG=\"libGLES_CM_swiftshader\" \
7 -std=c++11 \
8 -fno-operator-names \
9 -msse2 \
10 -D__STDC_CONSTANT_MACROS \
11 -D__STDC_LIMIT_MACROS \
12 -DEGLAPI= \
13 -DGL_API= \
14 -DGL_APICALL= \
Greg Hartman84c9cf02015-05-15 11:44:11 -070015 -DGL_GLEXT_PROTOTYPES \
Chih-Hung Hsieh4be91712017-10-11 14:23:57 -070016 -Wall \
17 -Werror \
18 -Wno-format \
19 -Wno-format-extra-args \
Greg Hartman850c9462015-06-11 16:24:48 -070020 -Wno-unused-parameter \
Chih-Hung Hsieh4be91712017-10-11 14:23:57 -070021 -Wno-unused-variable \
Greg Hartman850c9462015-06-11 16:24:48 -070022 -Wno-implicit-exception-spec-mismatch \
Nicolas Capens7cfb50c2018-12-08 12:35:32 -080023 -Wno-implicit-fallthrough \
Greg Hartman10b57d42017-03-14 15:23:41 -070024 -Wno-overloaded-virtual \
Nicolas Capensdc209332017-08-04 09:40:46 -040025 -Wno-attributes \
26 -Wno-unknown-attributes \
27 -Wno-unknown-warning-option \
Greg Hartman10b57d42017-03-14 15:23:41 -070028 -DANDROID_PLATFORM_SDK_VERSION=$(PLATFORM_SDK_VERSION)
Greg Hartman3b876b92015-12-01 20:07:21 -080029
30ifneq (16,${PLATFORM_SDK_VERSION})
31COMMON_CFLAGS += -Xclang -fuse-init-array
32else
33COMMON_CFLAGS += -D__STDC_INT64__
34endif
Greg Hartmanc363dab2015-03-20 13:04:51 -070035
Greg Hartman394b7072015-04-30 15:44:11 -070036COMMON_SRC_FILES := \
Greg Hartmanc363dab2015-03-20 13:04:51 -070037 Buffer.cpp \
38 Context.cpp \
39 Device.cpp \
40 Framebuffer.cpp \
Greg Hartmanc363dab2015-03-20 13:04:51 -070041 IndexDataManager.cpp \
42 libGLES_CM.cpp \
43 main.cpp \
44 Renderbuffer.cpp \
45 ResourceManager.cpp \
46 Texture.cpp \
47 utilities.cpp \
Alexis Hetu0ab9f3b2018-11-26 17:25:23 -050048 VertexDataManager.cpp \
49 ../../Common/SharedLibrary.cpp
Greg Hartmanc363dab2015-03-20 13:04:51 -070050
Greg Hartman394b7072015-04-30 15:44:11 -070051COMMON_C_INCLUDES := \
Greg Hartman127fac32015-05-27 22:16:36 -070052 bionic \
Nicolas Capensb7510aa2016-05-16 13:16:32 -040053 $(LOCAL_PATH)/../../../include \
Nicolas Capens9c025c02015-12-07 20:58:40 -050054 $(LOCAL_PATH)/../ \
55 $(LOCAL_PATH)/../../ \
Nicolas Capens9c025c02015-12-07 20:58:40 -050056 $(LOCAL_PATH)/../../Renderer/ \
57 $(LOCAL_PATH)/../../Common/ \
58 $(LOCAL_PATH)/../../Shader/ \
59 $(LOCAL_PATH)/../../Main/
Greg Hartmanc363dab2015-03-20 13:04:51 -070060
Logan Chien6c9fb0e2019-02-26 13:39:52 +080061ifeq ($(REACTOR_USE_SUBZERO),true)
Nicolas Capens1ba26112017-05-02 11:57:06 -040062COMMON_STATIC_LIBRARIES := libsubzero
63else
Ben Claytond632e6d2019-04-12 16:51:47 -040064COMMON_STATIC_LIBRARIES := libLLVM7_swiftshader
Nicolas Capens1ba26112017-05-02 11:57:06 -040065endif
Greg Hartmanc363dab2015-03-20 13:04:51 -070066
Greg Hartman394b7072015-04-30 15:44:11 -070067COMMON_SHARED_LIBRARIES := \
68 libdl \
69 liblog \
70 libcutils \
Greg Hartmand2cde9c2016-02-23 20:08:48 -080071 libhardware
Nicolas Capens9c025c02015-12-07 20:58:40 -050072
Greg Hartman7e45f6d2018-03-16 00:02:23 -070073# Project Treble is introduced from Oreo MR1
74ifeq ($(shell test $(PLATFORM_SDK_VERSION) -ge 27 && echo OreoMR1),OreoMR1)
Nicolas Capensc33b4732017-08-03 15:53:25 -040075COMMON_SHARED_LIBRARIES += libnativewindow
Jiyong Parka114ed52017-08-18 19:07:26 +090076COMMON_STATIC_LIBRARIES += libarect
77COMMON_HEADER_LIBRARIES := libnativebase_headers
Nicolas Capensc33b4732017-08-03 15:53:25 -040078endif
79
Jaesung Chungfccddfe2017-06-22 20:02:09 +090080# gralloc1 is introduced from N MR1
81ifeq ($(shell test $(PLATFORM_SDK_VERSION) -ge 25 && echo NMR1),NMR1)
82COMMON_CFLAGS += -DHAVE_GRALLOC1
83COMMON_SHARED_LIBRARIES += libsync
84endif
85
Nicolas Capens9c025c02015-12-07 20:58:40 -050086# Marshmallow does not have stlport, but comes with libc++ by default
87ifeq ($(shell test $(PLATFORM_SDK_VERSION) -lt 23 && echo PreMarshmallow),PreMarshmallow)
88COMMON_SHARED_LIBRARIES += libstlport
89COMMON_C_INCLUDES += external/stlport/stlport
90endif
Greg Hartman394b7072015-04-30 15:44:11 -070091
92COMMON_LDFLAGS := \
Nicolas Capense75d3342017-10-06 11:24:13 -040093 -Wl,--version-script=$(LOCAL_PATH)/libGLES_CM.lds \
Greg Hartman394b7072015-04-30 15:44:11 -070094 -Wl,--gc-sections \
Greg Hartman394b7072015-04-30 15:44:11 -070095 -Wl,--hash-style=sysv
96
97include $(CLEAR_VARS)
Greg Hartmancd4fe6a2017-02-08 10:55:05 -080098LOCAL_MODULE := libGLESv1_CM_swiftshader_debug
Greg Hartmanf7a3ff02018-03-16 11:50:19 -070099
Greg Hartmancd4fe6a2017-02-08 10:55:05 -0800100ifeq ($(TARGET_TRANSLATE_2ND_ARCH),true)
101LOCAL_MULTILIB := first
Greg Hartmancd4fe6a2017-02-08 10:55:05 -0800102endif
Greg Hartmanf7a3ff02018-03-16 11:50:19 -0700103
104ifeq (HasRelativePath,$(shell test $(PLATFORM_SDK_VERSION) -ge 21 && echo HasRelativePath))
Greg Hartmand5411c82018-08-29 18:58:40 -0700105LOCAL_MODULE_RELATIVE_PATH := $(COMMON_SWIFTSHADER_RELATIVE_PATH)
Greg Hartmanf7a3ff02018-03-16 11:50:19 -0700106else
Greg Hartmand5411c82018-08-29 18:58:40 -0700107LOCAL_MODULE_PATH := $(TARGET_OUT_SHARED_LIBRARIES)/$(COMMON_SWIFTSHADER_RELATIVE_PATH)
Greg Hartmanf7a3ff02018-03-16 11:50:19 -0700108endif
109
Tomasz Wiszkowski8507f322018-02-12 09:05:31 -0800110LOCAL_VENDOR_MODULE := true
Greg Hartmancd4fe6a2017-02-08 10:55:05 -0800111LOCAL_MODULE_TAGS := optional
112LOCAL_CLANG := true
113LOCAL_SRC_FILES += $(COMMON_SRC_FILES)
114LOCAL_C_INCLUDES += $(COMMON_C_INCLUDES)
115LOCAL_STATIC_LIBRARIES += swiftshader_top_debug $(COMMON_STATIC_LIBRARIES)
116LOCAL_SHARED_LIBRARIES += $(COMMON_SHARED_LIBRARIES)
Jiyong Parka114ed52017-08-18 19:07:26 +0900117LOCAL_HEADER_LIBRARIES := $(COMMON_HEADER_LIBRARIES)
Greg Hartmancd4fe6a2017-02-08 10:55:05 -0800118LOCAL_LDFLAGS += $(COMMON_LDFLAGS)
119LOCAL_CFLAGS += $(COMMON_CFLAGS) -UNDEBUG -g -O0
120include $(BUILD_SHARED_LIBRARY)
121
122include $(CLEAR_VARS)
Greg Hartman8527e472015-11-02 13:08:12 -0800123LOCAL_MODULE := libGLESv1_CM_swiftshader
Greg Hartmanf7a3ff02018-03-16 11:50:19 -0700124
Victor Khimenko6817e152016-09-30 21:31:01 +0200125ifeq ($(TARGET_TRANSLATE_2ND_ARCH),true)
126LOCAL_MULTILIB := first
Victor Khimenko6817e152016-09-30 21:31:01 +0200127endif
Greg Hartmanf7a3ff02018-03-16 11:50:19 -0700128
129ifeq (HasRelativePath,$(shell test $(PLATFORM_SDK_VERSION) -ge 21 && echo HasRelativePath))
Greg Hartmand5411c82018-08-29 18:58:40 -0700130LOCAL_MODULE_RELATIVE_PATH := $(COMMON_SWIFTSHADER_RELATIVE_PATH)
Greg Hartmanf7a3ff02018-03-16 11:50:19 -0700131else
Greg Hartmand5411c82018-08-29 18:58:40 -0700132LOCAL_MODULE_PATH := $(TARGET_OUT_SHARED_LIBRARIES)/$(COMMON_SWIFTSHADER_RELATIVE_PATH)
Greg Hartmanf7a3ff02018-03-16 11:50:19 -0700133endif
134
Tomasz Wiszkowski8507f322018-02-12 09:05:31 -0800135LOCAL_VENDOR_MODULE := true
Greg Hartman8527e472015-11-02 13:08:12 -0800136LOCAL_MODULE_TAGS := optional
137LOCAL_CLANG := true
138LOCAL_SRC_FILES += $(COMMON_SRC_FILES)
139LOCAL_C_INCLUDES += $(COMMON_C_INCLUDES)
Greg Hartmancd4fe6a2017-02-08 10:55:05 -0800140LOCAL_STATIC_LIBRARIES += swiftshader_top_release $(COMMON_STATIC_LIBRARIES)
Greg Hartman8527e472015-11-02 13:08:12 -0800141LOCAL_SHARED_LIBRARIES += $(COMMON_SHARED_LIBRARIES)
Jiyong Parka114ed52017-08-18 19:07:26 +0900142LOCAL_HEADER_LIBRARIES := $(COMMON_HEADER_LIBRARIES)
Greg Hartman8527e472015-11-02 13:08:12 -0800143LOCAL_LDFLAGS += $(COMMON_LDFLAGS)
Greg Hartman8527e472015-11-02 13:08:12 -0800144LOCAL_CFLAGS += \
145 $(COMMON_CFLAGS) \
146 -fomit-frame-pointer \
147 -ffunction-sections \
148 -fdata-sections \
149 -DANGLE_DISABLE_TRACE
Greg Hartman8527e472015-11-02 13:08:12 -0800150include $(BUILD_SHARED_LIBRARY)