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