1filegroup { 2 name: "gpuservice_sources", 3 srcs: [ 4 "GpuService.cpp", 5 "gpustats/GpuStats.cpp" 6 ], 7} 8 9filegroup { 10 name: "gpuservice_binary_sources", 11 srcs: ["main_gpuservice.cpp"], 12} 13 14cc_defaults { 15 name: "gpuservice_defaults", 16 cflags: [ 17 "-DLOG_TAG=\"GpuService\"", 18 "-Wall", 19 "-Werror", 20 "-Wformat", 21 "-Wthread-safety", 22 "-Wunused", 23 "-Wunreachable-code", 24 ], 25 srcs: [ 26 ":gpuservice_sources", 27 ], 28 include_dirs: [ 29 "frameworks/native/vulkan/vkjson", 30 "frameworks/native/vulkan/include", 31 ], 32 shared_libs: [ 33 "libbase", 34 "libbinder", 35 "libcutils", 36 "libgraphicsenv", 37 "liblog", 38 "libutils", 39 "libvulkan", 40 ], 41 static_libs: [ 42 "libserviceutils", 43 "libvkjson", 44 ], 45} 46 47cc_defaults { 48 name: "gpuservice_production_defaults", 49 defaults: ["gpuservice_defaults"], 50 cflags: [ 51 "-fvisibility=hidden", 52 "-fwhole-program-vtables", // requires ThinLTO 53 ], 54 lto: { 55 thin: true, 56 }, 57} 58 59cc_defaults { 60 name: "gpuservice_binary", 61 defaults: ["gpuservice_defaults"], 62 whole_static_libs: [ 63 "libsigchain", 64 ], 65 shared_libs: [ 66 "libbinder", 67 "libcutils", 68 "liblog", 69 "libutils", 70 ], 71 ldflags: ["-Wl,--export-dynamic"], 72} 73 74cc_binary { 75 name: "gpuservice", 76 defaults: ["gpuservice_binary"], 77 init_rc: ["gpuservice.rc"], 78 srcs: [":gpuservice_binary_sources"], 79} 80