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