| Lloyd Pique | 66ce40d | 2018-01-23 16:42:19 -0800 | [diff] [blame] | 1 | cc_defaults { | 
 | 2 |     name: "surfaceflinger_defaults", | 
 | 3 |     cflags: [ | 
 | 4 |         "-DLOG_TAG=\"SurfaceFlinger\"", | 
 | 5 |         "-Wall", | 
 | 6 |         "-Werror", | 
| Lloyd Pique | 755e319 | 2018-01-31 16:46:15 -0800 | [diff] [blame] | 7 |         "-Wthread-safety", | 
| Lloyd Pique | 66ce40d | 2018-01-23 16:42:19 -0800 | [diff] [blame] | 8 |         "-Wunused", | 
 | 9 |         "-Wunreachable-code", | 
 | 10 |     ], | 
 | 11 |     cppflags: ["-std=c++1z"], | 
 | 12 | } | 
 | 13 |  | 
 | 14 | cc_defaults { | 
 | 15 |     name: "libsurfaceflinger_defaults", | 
 | 16 |     defaults: ["surfaceflinger_defaults"], | 
 | 17 |     cflags: [ | 
 | 18 |         "-DGL_GLEXT_PROTOTYPES", | 
 | 19 |         "-DEGL_EGLEXT_PROTOTYPES", | 
 | 20 |     ], | 
| Lloyd Pique | 66ce40d | 2018-01-23 16:42:19 -0800 | [diff] [blame] | 21 |     shared_libs: [ | 
 | 22 |         "android.frameworks.vr.composer@1.0", | 
 | 23 |         "android.hardware.configstore-utils", | 
 | 24 |         "android.hardware.configstore@1.0", | 
 | 25 |         "android.hardware.graphics.allocator@2.0", | 
 | 26 |         "android.hardware.graphics.composer@2.1", | 
| Courtney Goeltzenleuchter | f9c98e5 | 2018-02-12 07:23:17 -0700 | [diff] [blame] | 27 |         "android.hardware.graphics.composer@2.2", | 
| Lloyd Pique | 66ce40d | 2018-01-23 16:42:19 -0800 | [diff] [blame] | 28 |         "android.hardware.power@1.0", | 
 | 29 |         "libbase", | 
 | 30 |         "libbinder", | 
| Jiwen 'Steve' Cai | 037f35a | 2018-01-25 19:40:23 -0800 | [diff] [blame] | 31 |         "libbufferhubqueue", | 
| Lloyd Pique | 66ce40d | 2018-01-23 16:42:19 -0800 | [diff] [blame] | 32 |         "libcutils", | 
 | 33 |         "libdl", | 
 | 34 |         "libEGL", | 
 | 35 |         "libfmq", | 
 | 36 |         "libGLESv1_CM", | 
 | 37 |         "libGLESv2", | 
 | 38 |         "libgui", | 
 | 39 |         "libhardware", | 
 | 40 |         "libhidlbase", | 
 | 41 |         "libhidltransport", | 
 | 42 |         "libhwbinder", | 
 | 43 |         "liblayers_proto", | 
 | 44 |         "liblog", | 
| Jiwen 'Steve' Cai | 037f35a | 2018-01-25 19:40:23 -0800 | [diff] [blame] | 45 |         "libpdx_default_transport", | 
| Lloyd Pique | 66ce40d | 2018-01-23 16:42:19 -0800 | [diff] [blame] | 46 |         "libprotobuf-cpp-lite", | 
 | 47 |         "libsync", | 
 | 48 |         "libui", | 
 | 49 |         "libutils", | 
 | 50 |         "libvulkan", | 
 | 51 |     ], | 
 | 52 |     static_libs: [ | 
 | 53 |         "libserviceutils", | 
 | 54 |         "libtrace_proto", | 
 | 55 |         "libvkjson", | 
 | 56 |         "libvr_manager", | 
 | 57 |         "libvrflinger", | 
 | 58 |     ], | 
 | 59 |     header_libs: [ | 
 | 60 |         "android.hardware.graphics.composer@2.1-command-buffer", | 
| Courtney Goeltzenleuchter | f9c98e5 | 2018-02-12 07:23:17 -0700 | [diff] [blame] | 61 |         "android.hardware.graphics.composer@2.2-command-buffer", | 
| Lloyd Pique | 66ce40d | 2018-01-23 16:42:19 -0800 | [diff] [blame] | 62 |     ], | 
 | 63 |     export_static_lib_headers: [ | 
 | 64 |         "libserviceutils", | 
 | 65 |     ], | 
 | 66 |     export_shared_lib_headers: [ | 
 | 67 |         "android.hardware.graphics.allocator@2.0", | 
 | 68 |         "android.hardware.graphics.composer@2.1", | 
| Courtney Goeltzenleuchter | f9c98e5 | 2018-02-12 07:23:17 -0700 | [diff] [blame] | 69 |         "android.hardware.graphics.composer@2.2", | 
| Lloyd Pique | 66ce40d | 2018-01-23 16:42:19 -0800 | [diff] [blame] | 70 |         "libhidlbase", | 
 | 71 |         "libhidltransport", | 
 | 72 |         "libhwbinder", | 
 | 73 |     ], | 
 | 74 | } | 
 | 75 |  | 
 | 76 | cc_library_headers { | 
 | 77 |     name: "libsurfaceflinger_headers", | 
| Alex Vakulenko | 06a7634 | 2017-02-01 22:25:44 -0800 | [diff] [blame] | 78 |     export_include_dirs: ["."], | 
| Logan Chien | 3ac6c96 | 2018-02-27 16:46:00 +0800 | [diff] [blame] | 79 |     static_libs: ["libserviceutils"], | 
 | 80 |     export_static_lib_headers: ["libserviceutils"], | 
| Alex Vakulenko | 06a7634 | 2017-02-01 22:25:44 -0800 | [diff] [blame] | 81 | } | 
| Kalle Raita | a099a24 | 2017-01-11 11:17:29 -0800 | [diff] [blame] | 82 |  | 
| Lloyd Pique | 66ce40d | 2018-01-23 16:42:19 -0800 | [diff] [blame] | 83 | filegroup { | 
 | 84 |     name: "libsurfaceflinger_sources", | 
 | 85 |     srcs: [ | 
 | 86 |         "BufferLayer.cpp", | 
 | 87 |         "BufferLayerConsumer.cpp", | 
 | 88 |         "Client.cpp", | 
 | 89 |         "ColorLayer.cpp", | 
| Robert Carr | cdf8320 | 2018-03-07 12:48:34 -0800 | [diff] [blame] | 90 |         "ContainerLayer.cpp", | 
| Lloyd Pique | 66ce40d | 2018-01-23 16:42:19 -0800 | [diff] [blame] | 91 |         "DisplayDevice.cpp", | 
 | 92 |         "DisplayHardware/ComposerHal.cpp", | 
 | 93 |         "DisplayHardware/FramebufferSurface.cpp", | 
 | 94 |         "DisplayHardware/HWC2.cpp", | 
 | 95 |         "DisplayHardware/HWComposer.cpp", | 
 | 96 |         "DisplayHardware/HWComposerBufferCache.cpp", | 
 | 97 |         "DisplayHardware/VirtualDisplaySurface.cpp", | 
 | 98 |         "DispSync.cpp", | 
 | 99 |         "Effects/Daltonizer.cpp", | 
 | 100 |         "EventControlThread.cpp", | 
 | 101 |         "EventLog/EventLog.cpp", | 
 | 102 |         "EventThread.cpp", | 
 | 103 |         "FrameTracker.cpp", | 
 | 104 |         "GpuService.cpp", | 
 | 105 |         "Layer.cpp", | 
 | 106 |         "LayerProtoHelper.cpp", | 
 | 107 |         "LayerRejecter.cpp", | 
| Yiwei Zhang | 068e31b | 2018-02-21 13:02:45 -0800 | [diff] [blame] | 108 |         "LayerStats.cpp", | 
| Lloyd Pique | 66ce40d | 2018-01-23 16:42:19 -0800 | [diff] [blame] | 109 |         "LayerVector.cpp", | 
 | 110 |         "MessageQueue.cpp", | 
 | 111 |         "MonitoredProducer.cpp", | 
 | 112 |         "RenderArea.cpp", | 
 | 113 |         "RenderEngine/Description.cpp", | 
 | 114 |         "RenderEngine/GLES20RenderEngine.cpp", | 
 | 115 |         "RenderEngine/GLExtensions.cpp", | 
 | 116 |         "RenderEngine/Image.cpp", | 
 | 117 |         "RenderEngine/Mesh.cpp", | 
 | 118 |         "RenderEngine/Program.cpp", | 
 | 119 |         "RenderEngine/ProgramCache.cpp", | 
 | 120 |         "RenderEngine/RenderEngine.cpp", | 
 | 121 |         "RenderEngine/Surface.cpp", | 
 | 122 |         "RenderEngine/Texture.cpp", | 
 | 123 |         "StartPropertySetThread.cpp", | 
 | 124 |         "SurfaceFlinger.cpp", | 
 | 125 |         "SurfaceInterceptor.cpp", | 
 | 126 |         "SurfaceTracing.cpp", | 
 | 127 |         "Transform.cpp", | 
 | 128 |     ], | 
 | 129 | } | 
 | 130 |  | 
 | 131 | cc_library_shared { | 
 | 132 |     name: "libsurfaceflinger", | 
 | 133 |     defaults: ["libsurfaceflinger_defaults"], | 
 | 134 |     cflags: [ | 
 | 135 |         "-fvisibility=hidden", | 
 | 136 |         "-Werror=format", | 
 | 137 |     ], | 
 | 138 |     srcs: [ | 
 | 139 |         ":libsurfaceflinger_sources", | 
 | 140 |     ], | 
| Lloyd Pique | f58625d | 2017-12-19 13:22:33 -0800 | [diff] [blame] | 141 |     logtags: ["EventLog/EventLogTags.logtags"], | 
| Lloyd Pique | 66ce40d | 2018-01-23 16:42:19 -0800 | [diff] [blame] | 142 |     include_dirs: [ | 
 | 143 |         "external/vulkan-validation-layers/libs/vkjson", | 
 | 144 |         "frameworks/native/vulkan/include", | 
 | 145 |     ], | 
| Lloyd Pique | f58625d | 2017-12-19 13:22:33 -0800 | [diff] [blame] | 146 |     cppflags: [ | 
| Logan Chien | 3ac6c96 | 2018-02-27 16:46:00 +0800 | [diff] [blame] | 147 |         "-fwhole-program-vtables", // requires ThinLTO | 
| Lloyd Pique | f58625d | 2017-12-19 13:22:33 -0800 | [diff] [blame] | 148 |     ], | 
 | 149 |     lto: { | 
 | 150 |         thin: true, | 
 | 151 |     }, | 
| Lloyd Pique | 66ce40d | 2018-01-23 16:42:19 -0800 | [diff] [blame] | 152 | } | 
 | 153 |  | 
 | 154 | cc_binary { | 
 | 155 |     name: "surfaceflinger", | 
 | 156 |     defaults: ["surfaceflinger_defaults"], | 
 | 157 |     init_rc: ["surfaceflinger.rc"], | 
 | 158 |     srcs: ["main_surfaceflinger.cpp"], | 
 | 159 |     whole_static_libs: [ | 
 | 160 |         "libsigchain", | 
 | 161 |     ], | 
 | 162 |     shared_libs: [ | 
 | 163 |         "android.frameworks.displayservice@1.0", | 
 | 164 |         "android.hardware.configstore-utils", | 
 | 165 |         "android.hardware.configstore@1.0", | 
 | 166 |         "android.hardware.graphics.allocator@2.0", | 
 | 167 |         "libbinder", | 
 | 168 |         "libcutils", | 
 | 169 |         "libdisplayservicehidl", | 
 | 170 |         "libhidlbase", | 
 | 171 |         "libhidltransport", | 
 | 172 |         "liblayers_proto", | 
 | 173 |         "liblog", | 
 | 174 |         "libsurfaceflinger", | 
 | 175 |         "libutils", | 
 | 176 |     ], | 
 | 177 |     static_libs: [ | 
 | 178 |         "libserviceutils", | 
 | 179 |         "libtrace_proto", | 
 | 180 |     ], | 
 | 181 |     ldflags: ["-Wl,--export-dynamic"], | 
 | 182 |  | 
 | 183 |     // TODO(b/71715793): These version-scripts are required due to the use of | 
 | 184 |     // whole_static_libs to pull in libsigchain. To work, the files had to be | 
 | 185 |     // locally duplicated from their original location | 
 | 186 |     // $ANDROID_ROOT/art/sigchainlib/ | 
 | 187 |     multilib: { | 
 | 188 |         lib32: { | 
 | 189 |             version_script: "version-script32.txt", | 
 | 190 |         }, | 
 | 191 |         lib64: { | 
 | 192 |             version_script: "version-script64.txt", | 
 | 193 |         }, | 
 | 194 |     }, | 
 | 195 | } | 
 | 196 |  | 
 | 197 | cc_library_shared { | 
 | 198 |     name: "libsurfaceflinger_ddmconnection", | 
 | 199 |     defaults: ["surfaceflinger_defaults"], | 
 | 200 |     srcs: ["DdmConnection.cpp"], | 
 | 201 |     shared_libs: [ | 
 | 202 |         "libcutils", | 
 | 203 |         "libdl", | 
 | 204 |         "liblog", | 
 | 205 |     ], | 
 | 206 |     product_variables: { | 
 | 207 |         // uses jni which may not be available in PDK | 
 | 208 |         pdk: { | 
 | 209 |             enabled: false, | 
 | 210 |         }, | 
 | 211 |     }, | 
 | 212 | } | 
 | 213 |  | 
 | 214 | subdirs = [ | 
 | 215 |     "layerproto", | 
 | 216 |     "tests", | 
 | 217 | ] |