1# Copyright (c) 2021-2022 Huawei Device Co., Ltd. 2# Licensed under the Apache License, Version 2.0 (the "License"); 3# you may not use this file except in compliance with the License. 4# You may obtain a copy of the License at 5# 6# http://www.apache.org/licenses/LICENSE-2.0 7# 8# Unless required by applicable law or agreed to in writing, software 9# distributed under the License is distributed on an "AS IS" BASIS, 10# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11# See the License for the specific language governing permissions and 12# limitations under the License. 13 14import("//build/ohos.gni") 15import("//foundation/graphic/graphic_2d/graphic_config.gni") 16 17## Build librender_service.so 18ohos_shared_library("librender_service") { 19 defines = [] 20 if (graphic_standard_feature_color_gamut_enable) { 21 defines += [ "PADDING_HEIGHT_32" ] 22 } else { 23 defines += [] 24 } 25 defines += gpu_defines 26 27 if (use_musl) { 28 defines += [ "FRAME_AWARE_TRACE" ] 29 } 30 sources = [ 31 "core/pipeline/rs_base_render_engine.cpp", 32 "core/pipeline/rs_base_render_util.cpp", 33 "core/pipeline/rs_cold_start_thread.cpp", 34 "core/pipeline/rs_composer_adapter.cpp", 35 "core/pipeline/rs_divided_render_util.cpp", 36 "core/pipeline/rs_main_thread.cpp", 37 "core/pipeline/rs_physical_screen_processor.cpp", 38 "core/pipeline/rs_processor.cpp", 39 "core/pipeline/rs_processor_factory.cpp", 40 "core/pipeline/rs_qos_thread.cpp", 41 "core/pipeline/rs_render_engine.cpp", 42 "core/pipeline/rs_render_service.cpp", 43 "core/pipeline/rs_render_service_connection.cpp", 44 "core/pipeline/rs_render_service_listener.cpp", 45 "core/pipeline/rs_render_service_visitor.cpp", 46 "core/pipeline/rs_surface_capture_task.cpp", 47 "core/pipeline/rs_uni_render_engine.cpp", 48 "core/pipeline/rs_uni_render_judgement.cpp", 49 "core/pipeline/rs_uni_render_listener.cpp", 50 "core/pipeline/rs_uni_render_mirror_processor.cpp", 51 "core/pipeline/rs_uni_render_processor.cpp", 52 "core/pipeline/rs_uni_render_util.cpp", 53 "core/pipeline/rs_uni_render_visitor.cpp", 54 "core/pipeline/rs_unmarshal_thread.cpp", 55 "core/pipeline/rs_virtual_screen_processor.cpp", 56 "core/screen_manager/rs_screen.cpp", 57 "core/screen_manager/rs_screen_manager.cpp", 58 "core/transaction/rs_render_service_connection_stub.cpp", 59 "core/transaction/rs_render_service_stub.cpp", 60 ] 61 62 if (rs_enable_eglimage) { 63 sources += [ "core/pipeline/rs_egl_image_manager.cpp" ] 64 } 65 66 include_dirs = [ 67 "core", 68 "//foundation/graphic/graphic_2d/frameworks/surface/include", 69 "//foundation/graphic/graphic_2d/rosen/include", 70 "//foundation/graphic/graphic_2d/rosen/modules/composer/vsync/include", 71 "$graphic_2d_root/rosen/modules/render_frame_trace/include", 72 "//foundation/graphic/graphic_2d/rosen/modules/render_service_base/src", 73 "//foundation/graphic/graphic_2d/rosen/modules/utils", 74 "//commonlibrary/c_utils/base/include", 75 "//utils/system/safwk/native/include", 76 "//foundation/graphic/graphic_2d/utils/log", 77 "//foundation/barrierfree/accessibility/interfaces/innerkits/acfwk/include", 78 ] 79 80 deps = [ 81 "//foundation/barrierfree/accessibility/interfaces/innerkits/acfwk:accessibilityconfig", 82 "//foundation/graphic/graphic_2d:libsurface", 83 "//foundation/graphic/graphic_2d/rosen/modules/composer:libcomposer", 84 "$graphic_2d_root/rosen/modules/render_frame_trace:render_frame_trace", 85 "//foundation/graphic/graphic_2d/rosen/modules/render_service_base:librender_service_base", 86 "//foundation/resourceschedule/resource_schedule_service/soc_perf:socperf_client", 87 "//foundation/systemabilitymgr/safwk/interfaces/innerkits/safwk:system_ability_fwk", 88 ] 89 90 public_deps = [ 91 "//third_party/flutter/build/skia:ace_skia_ohos", 92 "//third_party/libpng:libpng", 93 ] 94 95 external_deps = [ 96 "c_utils:utils", 97 "eventhandler:libeventhandler", 98 "hicollie_native:libhicollie", 99 "hitrace_native:hitrace_meter", 100 "init:libbegetutil", 101 "ipc:ipc_core", 102 "samgr:samgr_proxy", 103 ] 104 105 part_name = "graphic_standard" 106 subsystem_name = "graphic" 107} 108 109## Build render_service.bin 110ohos_executable("render_service") { 111 sources = [ "core/main.cpp" ] 112 113 include_dirs = [ 114 "core", 115 "//commonlibrary/c_utils/base/include", 116 ] 117 118 deps = [ 119 ":librender_service", 120 "//foundation/graphic/graphic_2d/rosen/modules/composer:libcomposer", 121 "//foundation/graphic/graphic_2d/rosen/modules/render_service_base:librender_service_base", 122 ] 123 124 part_name = "graphic_standard" 125 subsystem_name = "graphic" 126} 127