blob: 9c87b084c6064750185b76b22aa2b5f15130e181 [file] [log] [blame]
Dan Stoza01049c82014-11-11 10:32:31 -08001LOCAL_PATH := $(call my-dir)
The Android Open Source Projectedbf3b62009-03-03 19:31:44 -08002include $(CLEAR_VARS)
3
Jesse Hall24cd98e2014-07-13 14:37:16 -07004LOCAL_CLANG := true
5
Jesse Halle9b23b62014-07-14 15:32:59 -07006LOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/Android.mk
Dan Stoza01049c82014-11-11 10:32:31 -08007LOCAL_SRC_FILES := \
Jesse Hall99c7dbb2013-03-14 14:29:29 -07008 Client.cpp \
9 DisplayDevice.cpp \
Jamie Gennisfaf77cc2013-07-30 15:10:32 -070010 DispSync.cpp \
Jamie Gennisd1700752013-10-14 12:22:52 -070011 EventControlThread.cpp \
Wei Wangb254fa32017-01-31 17:43:23 -080012 StartBootAnimThread.cpp \
Jesse Hall99c7dbb2013-03-14 14:29:29 -070013 EventThread.cpp \
14 FrameTracker.cpp \
Jesse Hallfc038bd2016-03-26 22:20:22 -070015 GpuService.cpp \
Jesse Hall99c7dbb2013-03-14 14:29:29 -070016 Layer.cpp \
17 LayerDim.cpp \
Fabien Sanglard7b1563a2016-10-13 12:05:28 -070018 LayerRejecter.cpp \
Robert Carr2047fae2016-11-28 14:09:09 -080019 LayerVector.cpp \
Jesse Hall99c7dbb2013-03-14 14:29:29 -070020 MessageQueue.cpp \
Dan Stozab9b08832014-03-13 11:55:57 -070021 MonitoredProducer.cpp \
Jesse Hall99c7dbb2013-03-14 14:29:29 -070022 SurfaceFlingerConsumer.cpp \
Irvelc274c632016-06-13 16:44:08 -070023 SurfaceInterceptor.cpp \
Jesse Hall99c7dbb2013-03-14 14:29:29 -070024 Transform.cpp \
Chia-I Wuaab99f52016-10-05 12:59:58 +080025 DisplayHardware/ComposerHal.cpp \
Jesse Hall99c7dbb2013-03-14 14:29:29 -070026 DisplayHardware/FramebufferSurface.cpp \
Dan Stoza651bf312015-10-23 17:03:17 -070027 DisplayHardware/HWC2.cpp \
Chia-I Wuaaff73f2017-02-13 12:28:24 -080028 DisplayHardware/HWComposerBufferCache.cpp \
Jesse Hall99c7dbb2013-03-14 14:29:29 -070029 DisplayHardware/PowerHAL.cpp \
30 DisplayHardware/VirtualDisplaySurface.cpp \
Mathias Agopianff2ed702013-09-01 21:36:12 -070031 Effects/Daltonizer.cpp \
Mathias Agopian85cce372013-06-04 21:50:31 -070032 EventLog/EventLogTags.logtags \
Mathias Agopian875d8e12013-06-07 15:35:48 -070033 EventLog/EventLog.cpp \
Mathias Agopian3f844832013-08-07 21:24:32 -070034 RenderEngine/Description.cpp \
35 RenderEngine/Mesh.cpp \
36 RenderEngine/Program.cpp \
37 RenderEngine/ProgramCache.cpp \
Mathias Agopian875d8e12013-06-07 15:35:48 -070038 RenderEngine/GLExtensions.cpp \
39 RenderEngine/RenderEngine.cpp \
Mathias Agopian49457ac2013-08-14 18:20:17 -070040 RenderEngine/Texture.cpp \
Irvelc274c632016-06-13 16:44:08 -070041 RenderEngine/GLES20RenderEngine.cpp \
Mathias Agopian875d8e12013-06-07 15:35:48 -070042
Irvelc274c632016-06-13 16:44:08 -070043LOCAL_MODULE := libsurfaceflinger
Jesse Hall8b0d55e2016-03-31 19:29:36 -070044LOCAL_C_INCLUDES := \
Irvelc274c632016-06-13 16:44:08 -070045 frameworks/native/vulkan/include \
46 external/vulkan-validation-layers/libs/vkjson \
Chia-I Wucd8d7f02016-11-16 11:02:31 +080047 system/libhwbinder/fast_msgq/include \
The Android Open Source Projectedbf3b62009-03-03 19:31:44 -080048
Dan Stoza01049c82014-11-11 10:32:31 -080049LOCAL_CFLAGS := -DLOG_TAG=\"SurfaceFlinger\"
Mathias Agopian076b1cc2009-04-10 14:24:30 -070050LOCAL_CFLAGS += -DGL_GLEXT_PROTOTYPES -DEGL_EGLEXT_PROTOTYPES
Dan Stoza9e56aa02015-11-02 13:00:03 -080051
Fabien Sanglard9d96de42016-10-11 00:15:18 +000052ifeq ($(TARGET_USES_HWC2),true)
53 LOCAL_CFLAGS += -DUSE_HWC2
54 LOCAL_SRC_FILES += \
55 SurfaceFlinger.cpp \
Hendrik Wagenaar87670ff2017-02-01 12:10:46 -080056 VrStateCallbacks.cpp \
Fabien Sanglard9d96de42016-10-11 00:15:18 +000057 DisplayHardware/HWComposer.cpp
Fabien Sanglardb7432cc2016-11-11 09:40:27 -080058 ifeq ($(TARGET_USES_HWC2ON1ADAPTER), true)
59 LOCAL_CFLAGS += -DBYPASS_IHWC
60 endif
Fabien Sanglard9d96de42016-10-11 00:15:18 +000061else
Fabien Sanglardb7432cc2016-11-11 09:40:27 -080062 LOCAL_CFLAGS += -DBYPASS_IHWC
Fabien Sanglard9d96de42016-10-11 00:15:18 +000063 LOCAL_SRC_FILES += \
64 SurfaceFlinger_hwc1.cpp \
65 DisplayHardware/HWComposer_hwc1.cpp
66endif
67
Mathias Agopian5df99622012-06-18 17:27:56 -070068ifeq ($(TARGET_BOARD_PLATFORM),omap4)
Andreas Gampe89fd4f72014-11-13 14:18:56 -080069 LOCAL_CFLAGS += -DHAS_CONTEXT_PRIORITY
Mathias Agopian57bf9e72011-10-07 15:42:53 -070070endif
Mathias Agopian5df99622012-06-18 17:27:56 -070071ifeq ($(TARGET_BOARD_PLATFORM),s5pc110)
Andreas Gampe89fd4f72014-11-13 14:18:56 -080072 LOCAL_CFLAGS += -DHAS_CONTEXT_PRIORITY
Mathias Agopian7f42a9c2012-04-23 20:00:16 -070073endif
74
Jesse Hallc354eff2013-10-25 10:44:41 -070075ifeq ($(TARGET_FORCE_HWC_FOR_VIRTUAL_DISPLAYS),true)
76 LOCAL_CFLAGS += -DFORCE_HWC_COPY_FOR_VIRTUAL_DISPLAYS
Naseer Ahmed6a968462013-10-04 16:15:22 -040077endif
78
Jamie Genniscdbaecb2012-10-12 14:18:10 -070079ifneq ($(NUM_FRAMEBUFFER_SURFACE_BUFFERS),)
Andreas Gampe89fd4f72014-11-13 14:18:56 -080080 LOCAL_CFLAGS += -DNUM_FRAMEBUFFER_SURFACE_BUFFERS=$(NUM_FRAMEBUFFER_SURFACE_BUFFERS)
Jamie Genniscdbaecb2012-10-12 14:18:10 -070081endif
82
Jamie Gennisfaf77cc2013-07-30 15:10:32 -070083ifeq ($(TARGET_RUNNING_WITHOUT_SYNC_FRAMEWORK),true)
84 LOCAL_CFLAGS += -DRUNNING_WITHOUT_SYNC_FRAMEWORK
85endif
86
Jamie Gennisfaf77cc2013-07-30 15:10:32 -070087ifneq ($(PRESENT_TIME_OFFSET_FROM_VSYNC_NS),)
88 LOCAL_CFLAGS += -DPRESENT_TIME_OFFSET_FROM_VSYNC_NS=$(PRESENT_TIME_OFFSET_FROM_VSYNC_NS)
89else
90 LOCAL_CFLAGS += -DPRESENT_TIME_OFFSET_FROM_VSYNC_NS=0
91endif
92
Dan Stoza1f3efb12014-10-15 16:34:55 -070093ifneq ($(MAX_VIRTUAL_DISPLAY_DIMENSION),)
94 LOCAL_CFLAGS += -DMAX_VIRTUAL_DISPLAY_DIMENSION=$(MAX_VIRTUAL_DISPLAY_DIMENSION)
95else
96 LOCAL_CFLAGS += -DMAX_VIRTUAL_DISPLAY_DIMENSION=0
97endif
98
Michael Lentine7306c672014-07-30 13:00:37 -070099LOCAL_CFLAGS += -fvisibility=hidden -Werror=format
Mathias Agopianb6df7d02013-05-09 14:53:35 -0700100
Jaesoo Lee6c9875d2017-02-27 13:46:40 +0900101LOCAL_HEADER_LIBRARIES := \
102 android.hardware.configstore-utils
103
Hendrik Wagenaar87670ff2017-02-01 12:10:46 -0800104LOCAL_STATIC_LIBRARIES := \
105 libhwcomposer-command-buffer \
106 libtrace_proto \
107 libvkjson \
108 libvr_manager \
109 libvrflinger
110
The Android Open Source Projectedbf3b62009-03-03 19:31:44 -0800111LOCAL_SHARED_LIBRARIES := \
Daniel Nicoara2f5f8a52016-12-20 16:11:58 -0500112 android.dvr.composer@1.0 \
Chia-I Wuaab99f52016-10-05 12:59:58 +0800113 android.hardware.graphics.allocator@2.0 \
114 android.hardware.graphics.composer@2.1 \
Jiyong Park4b20c2e2017-01-14 19:45:11 +0900115 android.hardware.configstore@1.0 \
Andreas Gampe89fd4f72014-11-13 14:18:56 -0800116 libcutils \
117 liblog \
118 libdl \
Chia-I Wucd8d7f02016-11-16 11:02:31 +0800119 libfmq \
Andreas Gampe89fd4f72014-11-13 14:18:56 -0800120 libhardware \
Fabien Sanglarde29055f2017-03-08 11:36:46 -0800121 libhwc2on1adapter \
Yifan Hong67a47622016-11-17 13:02:06 -0800122 libhidlbase \
123 libhidltransport \
Chia-I Wuaab99f52016-10-05 12:59:58 +0800124 libhwbinder \
Andreas Gampe89fd4f72014-11-13 14:18:56 -0800125 libutils \
126 libEGL \
127 libGLESv1_CM \
128 libGLESv2 \
129 libbinder \
130 libui \
131 libgui \
Jesse Hall8b0d55e2016-03-31 19:29:36 -0700132 libpowermanager \
Irvelc274c632016-06-13 16:44:08 -0700133 libvulkan \
Chia-I Wucd8d7f02016-11-16 11:02:31 +0800134 libsync \
Colin Cross63549382016-10-26 12:52:53 -0700135 libprotobuf-cpp-lite \
Ruchi Kandoib5ee1782016-10-04 17:51:50 -0700136 libbase \
Ruchi Kandoib5ee1782016-10-04 17:51:50 -0700137 android.hardware.power@1.0
The Android Open Source Projectedbf3b62009-03-03 19:31:44 -0800138
Chia-I Wuaab99f52016-10-05 12:59:58 +0800139LOCAL_EXPORT_SHARED_LIBRARY_HEADERS := \
140 android.hardware.graphics.allocator@2.0 \
141 android.hardware.graphics.composer@2.1 \
Yifan Hong67a47622016-11-17 13:02:06 -0800142 libhidlbase \
143 libhidltransport \
Chia-I Wuaab99f52016-10-05 12:59:58 +0800144 libhwbinder
145
Andreas Gampe89fd4f72014-11-13 14:18:56 -0800146LOCAL_CFLAGS += -Wall -Werror -Wunused -Wunreachable-code
147
The Android Open Source Projectedbf3b62009-03-03 19:31:44 -0800148include $(BUILD_SHARED_LIBRARY)
Keun young Park63f165f2012-08-31 10:53:36 -0700149
150###############################################################
Mathias Agopian7ffaa7c2013-07-22 12:20:28 -0700151# build surfaceflinger's executable
152include $(CLEAR_VARS)
153
Dan Stoza01049c82014-11-11 10:32:31 -0800154LOCAL_CLANG := true
Mathias Agopian4f4f0942013-08-19 17:26:18 -0700155
Dimitry Ivanovf06248f2016-08-01 14:13:37 -0700156LOCAL_LDFLAGS_32 := -Wl,--version-script,art/sigchainlib/version-script32.txt -Wl,--export-dynamic
157LOCAL_LDFLAGS_64 := -Wl,--version-script,art/sigchainlib/version-script64.txt -Wl,--export-dynamic
Dan Stoza01049c82014-11-11 10:32:31 -0800158LOCAL_CFLAGS := -DLOG_TAG=\"SurfaceFlinger\"
Dan Stoza01049c82014-11-11 10:32:31 -0800159
Tom Cherry74155992015-08-14 13:01:23 -0700160LOCAL_INIT_RC := surfaceflinger.rc
161
Fabien Sanglard9d96de42016-10-11 00:15:18 +0000162ifeq ($(TARGET_USES_HWC2),true)
163 LOCAL_CFLAGS += -DUSE_HWC2
164endif
165
Dan Stoza01049c82014-11-11 10:32:31 -0800166LOCAL_SRC_FILES := \
Andreas Gampe89fd4f72014-11-13 14:18:56 -0800167 main_surfaceflinger.cpp
Mathias Agopian7ffaa7c2013-07-22 12:20:28 -0700168
169LOCAL_SHARED_LIBRARIES := \
Andreas Gampe89fd4f72014-11-13 14:18:56 -0800170 libsurfaceflinger \
171 libcutils \
172 liblog \
173 libbinder \
174 libutils \
Mathias Agopiana9347642017-02-13 16:42:28 -0800175 libui \
Andreas Gampe89fd4f72014-11-13 14:18:56 -0800176 libdl
Mathias Agopian7ffaa7c2013-07-22 12:20:28 -0700177
Dmitriy Ivanov4340a142014-10-20 14:17:26 -0700178LOCAL_WHOLE_STATIC_LIBRARIES := libsigchain
Irvelc274c632016-06-13 16:44:08 -0700179LOCAL_STATIC_LIBRARIES := libtrace_proto
Dmitriy Ivanov4340a142014-10-20 14:17:26 -0700180
Dan Stoza01049c82014-11-11 10:32:31 -0800181LOCAL_MODULE := surfaceflinger
Mathias Agopian7ffaa7c2013-07-22 12:20:28 -0700182
Colin Cross89450d42014-02-20 15:36:21 -0800183ifdef TARGET_32_BIT_SURFACEFLINGER
184LOCAL_32_BIT_ONLY := true
185endif
186
Andreas Gampe89fd4f72014-11-13 14:18:56 -0800187LOCAL_CFLAGS += -Wall -Werror -Wunused -Wunreachable-code
188
Mathias Agopian7ffaa7c2013-07-22 12:20:28 -0700189include $(BUILD_EXECUTABLE)
190
191###############################################################
Keun young Park63f165f2012-08-31 10:53:36 -0700192# uses jni which may not be available in PDK
193ifneq ($(wildcard libnativehelper/include),)
194include $(CLEAR_VARS)
Mathias Agopian1b3aeb42012-10-07 16:41:12 -0700195
Dan Stoza01049c82014-11-11 10:32:31 -0800196LOCAL_CLANG := true
197
198LOCAL_CFLAGS := -DLOG_TAG=\"SurfaceFlinger\"
Dan Stoza01049c82014-11-11 10:32:31 -0800199
200LOCAL_SRC_FILES := \
Keun young Park63f165f2012-08-31 10:53:36 -0700201 DdmConnection.cpp
202
203LOCAL_SHARED_LIBRARIES := \
Andreas Gampe89fd4f72014-11-13 14:18:56 -0800204 libcutils \
205 liblog \
206 libdl
Keun young Park63f165f2012-08-31 10:53:36 -0700207
Dan Stoza01049c82014-11-11 10:32:31 -0800208LOCAL_MODULE := libsurfaceflinger_ddmconnection
Keun young Park63f165f2012-08-31 10:53:36 -0700209
Andreas Gampe89fd4f72014-11-13 14:18:56 -0800210LOCAL_CFLAGS += -Wall -Werror -Wunused -Wunreachable-code
211
Keun young Park63f165f2012-08-31 10:53:36 -0700212include $(BUILD_SHARED_LIBRARY)
213endif # libnativehelper
Robert Carreb893992017-03-10 13:09:00 -0800214
215include $(call first-makefiles-under,$(LOCAL_PATH))