1e5c4badcSopenharmony_ci# Copyright (C) 2022 Huawei Device Co., Ltd.
2e5c4badcSopenharmony_ci# Licensed under the Apache License, Version 2.0 (the "License");
3e5c4badcSopenharmony_ci# you may not use this file except in compliance with the License.
4e5c4badcSopenharmony_ci# You may obtain a copy of the License at
5e5c4badcSopenharmony_ci#
6e5c4badcSopenharmony_ci#     http://www.apache.org/licenses/LICENSE-2.0
7e5c4badcSopenharmony_ci#
8e5c4badcSopenharmony_ci# Unless required by applicable law or agreed to in writing, software
9e5c4badcSopenharmony_ci# distributed under the License is distributed on an "AS IS" BASIS,
10e5c4badcSopenharmony_ci# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
11e5c4badcSopenharmony_ci# See the License for the specific language governing permissions and
12e5c4badcSopenharmony_ci# limitations under the License.
13e5c4badcSopenharmony_ci
14e5c4badcSopenharmony_ciimport("//build/ohos_var.gni")
15e5c4badcSopenharmony_ci
16e5c4badcSopenharmony_ci# source code for Windows.
17e5c4badcSopenharmony_ciuse_mingw_win = "${current_os}_${current_cpu}" == "mingw_x86_64"
18e5c4badcSopenharmony_ciuse_clang_mac = "${current_os}_${current_cpu}" == "mac_x64"
19e5c4badcSopenharmony_ciuse_clang_ios = current_os == "ios" || current_os == "tvos"
20e5c4badcSopenharmony_ciuse_clang_android = current_os == "android"
21e5c4badcSopenharmony_ci
22e5c4badcSopenharmony_ci# Toolchain
23e5c4badcSopenharmony_ciwindows_buildtool = "//build/toolchain/mingw:mingw_x86_64"
24e5c4badcSopenharmony_cimac_buildtool = "//build/toolchain/mac:clang_x64"
25e5c4badcSopenharmony_ci
26e5c4badcSopenharmony_ci# Defines
27e5c4badcSopenharmony_ciimage_decode_windows_defines = [ "_WIN32" ]
28e5c4badcSopenharmony_ciimage_decode_mac_defines = [ "_APPLE" ]
29e5c4badcSopenharmony_ciimage_decode_ios_defines = [ "IOS_PLATFORM" ]
30e5c4badcSopenharmony_ciimage_decode_android_defines = [ "ANDROID_PLATFORM" ]
31e5c4badcSopenharmony_ciimage_sep_f = "/f"
32e5c4badcSopenharmony_ciimage_sep_p = "/p"
33e5c4badcSopenharmony_ciimage_oundation = "oundation"
34e5c4badcSopenharmony_ciimage_lugins = "lugins"
35e5c4badcSopenharmony_ciimage_multimedia = "multimedia"
36e5c4badcSopenharmony_ciimage_dir = "image_framework"
37e5c4badcSopenharmony_ciimage_subsystem = "/$image_sep_f$image_oundation/$image_multimedia/$image_dir"
38e5c4badcSopenharmony_ciipc_subsystem = "/$image_sep_f$image_oundation"
39e5c4badcSopenharmony_cigraphic_multimedia = "graphic"
40e5c4badcSopenharmony_cigraphic_dir = "graphic_2d"
41e5c4badcSopenharmony_cigraphic_subsystem =
42e5c4badcSopenharmony_ci    "/$image_sep_f$image_oundation/$graphic_multimedia/$graphic_dir"
43e5c4badcSopenharmony_ciplugins_lib_root = "/$image_sep_p$image_lugins/libs"
44e5c4badcSopenharmony_cicomlib_sep_c = "/c"
45e5c4badcSopenharmony_cicomlib_ommonlibrary = "ommonlibrary"
46e5c4badcSopenharmony_cicommonlibrary_c_utils = "c_utils"
47e5c4badcSopenharmony_cicommonlibrary_subsystem =
48e5c4badcSopenharmony_ci    "/$comlib_sep_c$comlib_ommonlibrary/$commonlibrary_c_utils"
49e5c4badcSopenharmony_cicommonlibrary_memory_utils = "memory_utils"
50e5c4badcSopenharmony_cicomlibmemory_subsystem =
51e5c4badcSopenharmony_ci    "/$comlib_sep_c$comlib_ommonlibrary/$commonlibrary_memory_utils"
52e5c4badcSopenharmony_cibase_sep_b = "/b"
53e5c4badcSopenharmony_cibase_ase = "ase"
54e5c4badcSopenharmony_ciresource_management_subsystem =
55e5c4badcSopenharmony_ci    "/$base_sep_b$base_ase/global/resource_management"
56e5c4badcSopenharmony_cigraphic_surface_root = "//foundation/graphic/graphic_surface"
57e5c4badcSopenharmony_ci
58e5c4badcSopenharmony_ci# skia
59e5c4badcSopenharmony_ciimage_use_new_skia = defined(use_new_skia) && use_new_skia
60e5c4badcSopenharmony_ci
61e5c4badcSopenharmony_ciskia_root = "//third_party"
62e5c4badcSopenharmony_ciskia_deps_root = skia_root
63e5c4badcSopenharmony_ciskia_core = [ "$skia_deps_root/skia:skia_core" ]
64e5c4badcSopenharmony_ciskia_skcms = [ "$skia_deps_root/skia:skcms" ]
65e5c4badcSopenharmony_ci
66e5c4badcSopenharmony_ciexif_root = "//third_party"
67e5c4badcSopenharmony_ci
68e5c4badcSopenharmony_ciif (use_clang_android) {
69e5c4badcSopenharmony_ci  if (image_use_new_skia) {
70e5c4badcSopenharmony_ci    skia_platform = [ "$skia_deps_root/skia:skia_android" ]
71e5c4badcSopenharmony_ci  } else {
72e5c4badcSopenharmony_ci    skia_platform = [ "$skia_deps_root/skia:ace_skia_android" ]
73e5c4badcSopenharmony_ci  }
74e5c4badcSopenharmony_ci} else if (use_clang_ios) {
75e5c4badcSopenharmony_ci  if (image_use_new_skia) {
76e5c4badcSopenharmony_ci    skia_platform = [ "$skia_deps_root/skia:skia_ios" ]
77e5c4badcSopenharmony_ci  } else {
78e5c4badcSopenharmony_ci    skia_platform = [ "$skia_deps_root/skia:ace_skia_ios" ]
79e5c4badcSopenharmony_ci  }
80e5c4badcSopenharmony_ci} else if (use_mingw_win) {
81e5c4badcSopenharmony_ci  if (image_use_new_skia) {
82e5c4badcSopenharmony_ci    skia_platform = [ "$skia_deps_root/skia:skia_windows" ]
83e5c4badcSopenharmony_ci  } else {
84e5c4badcSopenharmony_ci    skia_platform = [ "$skia_deps_root/skia:ace_skia_windows" ]
85e5c4badcSopenharmony_ci  }
86e5c4badcSopenharmony_ci} else if (use_clang_mac) {
87e5c4badcSopenharmony_ci  if (image_use_new_skia) {
88e5c4badcSopenharmony_ci    skia_platform = [ "$skia_deps_root/skia:skia_mac" ]
89e5c4badcSopenharmony_ci  } else {
90e5c4badcSopenharmony_ci    skia_platform = [ "$skia_deps_root/skia:ace_skia_mac" ]
91e5c4badcSopenharmony_ci  }
92e5c4badcSopenharmony_ci} else {
93e5c4badcSopenharmony_ci  if (image_use_new_skia) {
94e5c4badcSopenharmony_ci    skia_platform = [ "$skia_deps_root/skia:skia_ohos" ]
95e5c4badcSopenharmony_ci  } else {
96e5c4badcSopenharmony_ci    skia_platform = [ "$skia_deps_root/skia:ace_skia_ohos" ]
97e5c4badcSopenharmony_ci  }
98e5c4badcSopenharmony_ci}
99e5c4badcSopenharmony_ci
100e5c4badcSopenharmony_ci# hw_decoder
101e5c4badcSopenharmony_cideclare_args() {
102e5c4badcSopenharmony_ci  enable_jpeg_hw_decode = true
103e5c4badcSopenharmony_ci  enable_heif_hw_decode = false
104e5c4badcSopenharmony_ci  enable_libexif = true
105e5c4badcSopenharmony_ci  enable_heif_hw_encode = false
106e5c4badcSopenharmony_ci  enable_picture = false
107e5c4badcSopenharmony_ci  enable_picture_ndk = false
108e5c4badcSopenharmony_ci
109e5c4badcSopenharmony_ci  if (defined(global_parts_info) &&
110e5c4badcSopenharmony_ci      !defined(global_parts_info.hdf_drivers_interface_display)) {
111e5c4badcSopenharmony_ci    enable_jpeg_hw_decode = false
112e5c4badcSopenharmony_ci    enable_heif_hw_decode = false
113e5c4badcSopenharmony_ci    enable_heif_hw_encode = false
114e5c4badcSopenharmony_ci    enable_picture = false
115e5c4badcSopenharmony_ci    enable_picture_ndk = false
116e5c4badcSopenharmony_ci  }
117e5c4badcSopenharmony_ci}
118