1e9297d28Sopenharmony_ci# Copyright (c) 2021-2023 Huawei Device Co., Ltd.
2e9297d28Sopenharmony_ci# Licensed under the Apache License, Version 2.0 (the "License");
3e9297d28Sopenharmony_ci# you may not use this file except in compliance with the License.
4e9297d28Sopenharmony_ci# You may obtain a copy of the License at
5e9297d28Sopenharmony_ci#
6e9297d28Sopenharmony_ci#     http://www.apache.org/licenses/LICENSE-2.0
7e9297d28Sopenharmony_ci#
8e9297d28Sopenharmony_ci# Unless required by applicable law or agreed to in writing, software
9e9297d28Sopenharmony_ci# distributed under the License is distributed on an "AS IS" BASIS,
10e9297d28Sopenharmony_ci# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
11e9297d28Sopenharmony_ci# See the License for the specific language governing permissions and
12e9297d28Sopenharmony_ci# limitations under the License.
13e9297d28Sopenharmony_ci
14e9297d28Sopenharmony_ciimport("//build/ohos.gni")
15e9297d28Sopenharmony_ci
16e9297d28Sopenharmony_cirosen_is_ohos = current_os == "ohos"
17e9297d28Sopenharmony_cirosen_is_android = current_os == "android"
18e9297d28Sopenharmony_cirosen_is_ios = current_os == "ios" || current_os == "tvos"
19e9297d28Sopenharmony_cirosen_is_mac = current_os == "mac"
20e9297d28Sopenharmony_cirosen_is_win = current_os == "win" || current_os == "mingw"
21e9297d28Sopenharmony_cirosen_is_linux = current_os == "linux"
22e9297d28Sopenharmony_ci
23e9297d28Sopenharmony_cirs_common_define = []
24e9297d28Sopenharmony_ci
25e9297d28Sopenharmony_cirosen_cross_platform =
26e9297d28Sopenharmony_ci    current_os == "mac" || current_os == "mingw" || current_os == "linux" ||
27e9297d28Sopenharmony_ci    current_os == "android" || current_os == "ios"
28e9297d28Sopenharmony_cirosen_preview = rosen_is_mac || rosen_is_win || rosen_is_linux
29e9297d28Sopenharmony_ci
30e9297d28Sopenharmony_ciif (rosen_cross_platform) {
31e9297d28Sopenharmony_ci  rs_common_define += [
32e9297d28Sopenharmony_ci    "ROSEN_CROSS_PLATFORM",
33e9297d28Sopenharmony_ci    "ROSEN_DISABLE_DEBUGLOG",
34e9297d28Sopenharmony_ci    "ROSEN_TRACE_DISABLE",
35e9297d28Sopenharmony_ci  ]
36e9297d28Sopenharmony_ci  if (runtime_mode == "release") {
37e9297d28Sopenharmony_ci    rs_common_define += [ "RUNTIME_MODE_RELEASE" ]
38e9297d28Sopenharmony_ci  }
39e9297d28Sopenharmony_ci}
40e9297d28Sopenharmony_ci
41e9297d28Sopenharmony_ciif (use_rosen_drawing && defined(is_arkui_x) && is_arkui_x) {
42e9297d28Sopenharmony_ci  rs_common_define += [ "USE_ROSEN_DRAWING" ]
43e9297d28Sopenharmony_ci}
44e9297d28Sopenharmony_ci
45e9297d28Sopenharmony_ciif (is_emulator) {
46e9297d28Sopenharmony_ci  rs_common_define += [ "ROSEN_EMULATOR" ]
47e9297d28Sopenharmony_ci}
48e9297d28Sopenharmony_ci
49e9297d28Sopenharmony_ciif (rosen_preview) {
50e9297d28Sopenharmony_ci  rs_common_define += [ "ROSEN_PREVIEW" ]
51e9297d28Sopenharmony_ci}
52e9297d28Sopenharmony_ci
53e9297d28Sopenharmony_ciif (rosen_is_ohos) {
54e9297d28Sopenharmony_ci  rs_common_define += [ "ROSEN_OHOS" ]
55e9297d28Sopenharmony_ci}
56e9297d28Sopenharmony_ci
57e9297d28Sopenharmony_ciif (rosen_is_android) {
58e9297d28Sopenharmony_ci  rs_common_define += [ "ROSEN_ANDROID" ]
59e9297d28Sopenharmony_ci  rs_common_define += [ "USE_SURFACE_TEXTURE" ]
60e9297d28Sopenharmony_ci  rs_common_define += [ "ROSEN_ARKUI_X" ]
61e9297d28Sopenharmony_ci}
62e9297d28Sopenharmony_ci
63e9297d28Sopenharmony_ciif (rosen_is_ios) {
64e9297d28Sopenharmony_ci  rs_common_define += [ "ROSEN_IOS" ]
65e9297d28Sopenharmony_ci  rs_common_define += [ "USE_SURFACE_TEXTURE" ]
66e9297d28Sopenharmony_ci  rs_common_define += [ "ROSEN_ARKUI_X" ]
67e9297d28Sopenharmony_ci}
68e9297d28Sopenharmony_ci
69e9297d28Sopenharmony_ciif (rosen_is_mac) {
70e9297d28Sopenharmony_ci  rs_common_define += [ "ROSEN_MAC" ]
71e9297d28Sopenharmony_ci}
72e9297d28Sopenharmony_ci
73e9297d28Sopenharmony_ciif (rosen_is_win) {
74e9297d28Sopenharmony_ci  rs_common_define += [ "ROSEN_WIN" ]
75e9297d28Sopenharmony_ci}
76e9297d28Sopenharmony_ci
77e9297d28Sopenharmony_ciif (rosen_is_linux) {
78e9297d28Sopenharmony_ci  rs_common_define += [ "ROSEN_LINUX" ]
79e9297d28Sopenharmony_ci}
80e9297d28Sopenharmony_ci
81e9297d28Sopenharmony_cienable_export_macro = true
82e9297d28Sopenharmony_cienable_ipc_security = true
83e9297d28Sopenharmony_cienable_ipc_security_access_counter = false
84e9297d28Sopenharmony_ci
85e9297d28Sopenharmony_ciaccessibility_root = "//foundation/barrierfree/accessibility"
86e9297d28Sopenharmony_ciappframework_root = "//foundation/appframework"
87e9297d28Sopenharmony_ciresourceschedule_root = "//foundation/resourceschedule/frame_aware_sched"
88e9297d28Sopenharmony_cirosen_root = "//foundation/graphic/graphic_2d/rosen"
89