1# Copyright (c) 2022 Huawei Device Co., Ltd.. All rights reserved. 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/arkui/ace_engine/ace_config.gni") 16 17config("ace_libjpeg_config") { 18 visibility = [ ":*" ] 19 include_dirs = [ 20 "$flutter_root/skia/third_party/libjpeg-turbo", 21 "$flutter_root/skia/third_party/externals/libjpeg-turbo", 22 ] 23 cflags = [ 24 "-w", 25 "-fstrict-aliasing", 26 "-Os", 27 "-fdata-sections", 28 "-ffunction-sections", 29 "-gline-tables-only", 30 "-funwind-tables", 31 "-Wno-unused-parameter", 32 "-fvisibility=hidden", 33 ] 34} 35 36ohos_source_set("ace_libjpeg") { 37 configs = [ ":ace_libjpeg_config" ] 38 configs += [ "$ace_root/build:reduce_eh_frame_config" ] 39 sources = [ 40 "$flutter_root/skia/third_party/externals/libjpeg-turbo/jaricom.c", 41 "$flutter_root/skia/third_party/externals/libjpeg-turbo/jcapimin.c", 42 "$flutter_root/skia/third_party/externals/libjpeg-turbo/jcapistd.c", 43 "$flutter_root/skia/third_party/externals/libjpeg-turbo/jcarith.c", 44 "$flutter_root/skia/third_party/externals/libjpeg-turbo/jccoefct.c", 45 "$flutter_root/skia/third_party/externals/libjpeg-turbo/jccolor.c", 46 "$flutter_root/skia/third_party/externals/libjpeg-turbo/jcdctmgr.c", 47 "$flutter_root/skia/third_party/externals/libjpeg-turbo/jchuff.c", 48 "$flutter_root/skia/third_party/externals/libjpeg-turbo/jcinit.c", 49 "$flutter_root/skia/third_party/externals/libjpeg-turbo/jcmainct.c", 50 "$flutter_root/skia/third_party/externals/libjpeg-turbo/jcmarker.c", 51 "$flutter_root/skia/third_party/externals/libjpeg-turbo/jcmaster.c", 52 "$flutter_root/skia/third_party/externals/libjpeg-turbo/jcomapi.c", 53 "$flutter_root/skia/third_party/externals/libjpeg-turbo/jcparam.c", 54 "$flutter_root/skia/third_party/externals/libjpeg-turbo/jcphuff.c", 55 "$flutter_root/skia/third_party/externals/libjpeg-turbo/jcprepct.c", 56 "$flutter_root/skia/third_party/externals/libjpeg-turbo/jcsample.c", 57 "$flutter_root/skia/third_party/externals/libjpeg-turbo/jdapimin.c", 58 "$flutter_root/skia/third_party/externals/libjpeg-turbo/jdapistd.c", 59 "$flutter_root/skia/third_party/externals/libjpeg-turbo/jdarith.c", 60 "$flutter_root/skia/third_party/externals/libjpeg-turbo/jdcoefct.c", 61 "$flutter_root/skia/third_party/externals/libjpeg-turbo/jdcolor.c", 62 "$flutter_root/skia/third_party/externals/libjpeg-turbo/jddctmgr.c", 63 "$flutter_root/skia/third_party/externals/libjpeg-turbo/jdhuff.c", 64 "$flutter_root/skia/third_party/externals/libjpeg-turbo/jdinput.c", 65 "$flutter_root/skia/third_party/externals/libjpeg-turbo/jdmainct.c", 66 "$flutter_root/skia/third_party/externals/libjpeg-turbo/jdmarker.c", 67 "$flutter_root/skia/third_party/externals/libjpeg-turbo/jdmaster.c", 68 "$flutter_root/skia/third_party/externals/libjpeg-turbo/jdmerge.c", 69 "$flutter_root/skia/third_party/externals/libjpeg-turbo/jdphuff.c", 70 "$flutter_root/skia/third_party/externals/libjpeg-turbo/jdpostct.c", 71 "$flutter_root/skia/third_party/externals/libjpeg-turbo/jdsample.c", 72 "$flutter_root/skia/third_party/externals/libjpeg-turbo/jerror.c", 73 "$flutter_root/skia/third_party/externals/libjpeg-turbo/jfdctflt.c", 74 "$flutter_root/skia/third_party/externals/libjpeg-turbo/jfdctfst.c", 75 "$flutter_root/skia/third_party/externals/libjpeg-turbo/jfdctint.c", 76 "$flutter_root/skia/third_party/externals/libjpeg-turbo/jidctflt.c", 77 "$flutter_root/skia/third_party/externals/libjpeg-turbo/jidctfst.c", 78 "$flutter_root/skia/third_party/externals/libjpeg-turbo/jidctint.c", 79 "$flutter_root/skia/third_party/externals/libjpeg-turbo/jidctred.c", 80 "$flutter_root/skia/third_party/externals/libjpeg-turbo/jmemmgr.c", 81 "$flutter_root/skia/third_party/externals/libjpeg-turbo/jmemnobs.c", 82 "$flutter_root/skia/third_party/externals/libjpeg-turbo/jquant1.c", 83 "$flutter_root/skia/third_party/externals/libjpeg-turbo/jquant2.c", 84 "$flutter_root/skia/third_party/externals/libjpeg-turbo/jutils.c", 85 ] 86 87 if (use_mingw_win || target_cpu == "x86_64" || use_mac) { 88 sources += [ 89 "$flutter_root/skia/third_party/externals/libjpeg-turbo/jsimd_none.c", 90 ] 91 } else if (target_cpu == "arm") { 92 sources += [ 93 "$flutter_root/skia/third_party/externals/libjpeg-turbo/simd/arm/jsimd.c", 94 "$flutter_root/skia/third_party/externals/libjpeg-turbo/simd/arm/jsimd_neon.S", 95 ] 96 } else { 97 sources += [ 98 "$flutter_root/skia/third_party/externals/libjpeg-turbo/simd/arm64/jsimd.c", 99 "$flutter_root/skia/third_party/externals/libjpeg-turbo/simd/arm64/jsimd_neon.S", 100 ] 101 } 102 103 defines = [ "TURBO_FOR_WINDOWS" ] 104} 105