1275793eaSopenharmony_ci# Copyright (c) 2023 Huawei Device Co., Ltd. All rights reserved. 2275793eaSopenharmony_ci 3275793eaSopenharmony_ciimport("//build/config/config.gni") 4275793eaSopenharmony_ciimport("//build/ohos.gni") 5275793eaSopenharmony_ciimport("//build/ohos/ndk/ndk.gni") 6275793eaSopenharmony_ci 7275793eaSopenharmony_ciconfig("zlib_config") { 8275793eaSopenharmony_ci cflags = [ 9275793eaSopenharmony_ci "-Wno-incompatible-pointer-types", 10275793eaSopenharmony_ci "-Werror", 11275793eaSopenharmony_ci "-Wno-strict-prototypes", 12275793eaSopenharmony_ci "-Wimplicit-function-declaration", 13275793eaSopenharmony_ci ] 14275793eaSopenharmony_ci} 15275793eaSopenharmony_ci 16275793eaSopenharmony_ciconfig("zlib_public_config") { 17275793eaSopenharmony_ci include_dirs = [ 18275793eaSopenharmony_ci ".", 19275793eaSopenharmony_ci "contrib/minizip", 20275793eaSopenharmony_ci ] 21275793eaSopenharmony_ci} 22275793eaSopenharmony_ci 23275793eaSopenharmony_ciohos_static_library("libz") { 24275793eaSopenharmony_ci sources = [ 25275793eaSopenharmony_ci "adler32.c", 26275793eaSopenharmony_ci "compress.c", 27275793eaSopenharmony_ci "contrib/minizip/ioapi.c", 28275793eaSopenharmony_ci "contrib/minizip/unzip.c", 29275793eaSopenharmony_ci "contrib/minizip/zip.c", 30275793eaSopenharmony_ci "crc32.c", 31275793eaSopenharmony_ci "crc32.h", 32275793eaSopenharmony_ci "deflate.c", 33275793eaSopenharmony_ci "deflate.h", 34275793eaSopenharmony_ci "gzclose.c", 35275793eaSopenharmony_ci "gzguts.h", 36275793eaSopenharmony_ci "gzlib.c", 37275793eaSopenharmony_ci "gzread.c", 38275793eaSopenharmony_ci "gzwrite.c", 39275793eaSopenharmony_ci "infback.c", 40275793eaSopenharmony_ci "inffast.c", 41275793eaSopenharmony_ci "inffast.h", 42275793eaSopenharmony_ci "inffixed.h", 43275793eaSopenharmony_ci "inflate.c", 44275793eaSopenharmony_ci "inflate.h", 45275793eaSopenharmony_ci "inftrees.c", 46275793eaSopenharmony_ci "inftrees.h", 47275793eaSopenharmony_ci "trees.c", 48275793eaSopenharmony_ci "trees.h", 49275793eaSopenharmony_ci "uncompr.c", 50275793eaSopenharmony_ci "zconf.h", 51275793eaSopenharmony_ci "zlib.h", 52275793eaSopenharmony_ci "zutil.c", 53275793eaSopenharmony_ci "zutil.h", 54275793eaSopenharmony_ci ] 55275793eaSopenharmony_ci configs = [ ":zlib_config" ] 56275793eaSopenharmony_ci public_configs = [ ":zlib_public_config" ] 57275793eaSopenharmony_ci 58275793eaSopenharmony_ci part_name = "zlib" 59275793eaSopenharmony_ci subsystem_name = "thirdparty" 60275793eaSopenharmony_ci} 61275793eaSopenharmony_ci 62275793eaSopenharmony_ciohos_shared_library("shared_libz") { 63275793eaSopenharmony_ci branch_protector_ret = "pac_ret" 64275793eaSopenharmony_ci sources = [ 65275793eaSopenharmony_ci "adler32.c", 66275793eaSopenharmony_ci "compress.c", 67275793eaSopenharmony_ci "contrib/minizip/ioapi.c", 68275793eaSopenharmony_ci "contrib/minizip/unzip.c", 69275793eaSopenharmony_ci "contrib/minizip/zip.c", 70275793eaSopenharmony_ci "crc32.c", 71275793eaSopenharmony_ci "crc32.h", 72275793eaSopenharmony_ci "deflate.c", 73275793eaSopenharmony_ci "deflate.h", 74275793eaSopenharmony_ci "gzclose.c", 75275793eaSopenharmony_ci "gzguts.h", 76275793eaSopenharmony_ci "gzlib.c", 77275793eaSopenharmony_ci "gzread.c", 78275793eaSopenharmony_ci "gzwrite.c", 79275793eaSopenharmony_ci "infback.c", 80275793eaSopenharmony_ci "inffast.c", 81275793eaSopenharmony_ci "inffast.h", 82275793eaSopenharmony_ci "inffixed.h", 83275793eaSopenharmony_ci "inflate.c", 84275793eaSopenharmony_ci "inflate.h", 85275793eaSopenharmony_ci "inftrees.c", 86275793eaSopenharmony_ci "inftrees.h", 87275793eaSopenharmony_ci "trees.c", 88275793eaSopenharmony_ci "trees.h", 89275793eaSopenharmony_ci "uncompr.c", 90275793eaSopenharmony_ci "zconf.h", 91275793eaSopenharmony_ci "zlib.h", 92275793eaSopenharmony_ci "zutil.c", 93275793eaSopenharmony_ci "zutil.h", 94275793eaSopenharmony_ci ] 95275793eaSopenharmony_ci configs = [ ":zlib_config" ] 96275793eaSopenharmony_ci public_configs = [ ":zlib_public_config" ] 97275793eaSopenharmony_ci 98275793eaSopenharmony_ci if (current_os == "ios") { 99275793eaSopenharmony_ci ldflags = [ 100275793eaSopenharmony_ci "-Wl", 101275793eaSopenharmony_ci "-install_name", 102275793eaSopenharmony_ci "@rpath/libshared_libz.framework/libshared_libz", 103275793eaSopenharmony_ci ] 104275793eaSopenharmony_ci } 105275793eaSopenharmony_ci 106275793eaSopenharmony_ci install_images = [ 107275793eaSopenharmony_ci "system", 108275793eaSopenharmony_ci "updater", 109275793eaSopenharmony_ci ] 110275793eaSopenharmony_ci 111275793eaSopenharmony_ci symlink_target_name = [ "libz.so" ] 112275793eaSopenharmony_ci 113275793eaSopenharmony_ci innerapi_tags = [ 114275793eaSopenharmony_ci "chipsetsdk", 115275793eaSopenharmony_ci "platformsdk", 116275793eaSopenharmony_ci ] 117275793eaSopenharmony_ci part_name = "zlib" 118275793eaSopenharmony_ci subsystem_name = "thirdparty" 119275793eaSopenharmony_ci} 120275793eaSopenharmony_ci 121275793eaSopenharmony_ciif (current_os == "ios") { 122275793eaSopenharmony_ci ohos_combine_darwin_framework("libshared_libz") { 123275793eaSopenharmony_ci deps = [ ":shared_libz" ] 124275793eaSopenharmony_ci subsystem_name = "thirdparty" 125275793eaSopenharmony_ci part_name = "zlib" 126275793eaSopenharmony_ci } 127275793eaSopenharmony_ci} 128275793eaSopenharmony_ci 129275793eaSopenharmony_ciif (current_cpu == "arm64") { 130275793eaSopenharmony_ci config("zlib_crc_config") { 131275793eaSopenharmony_ci cflags = [ 132275793eaSopenharmony_ci "-Wno-incompatible-pointer-types", 133275793eaSopenharmony_ci "-Werror", 134275793eaSopenharmony_ci "-Wno-strict-prototypes", 135275793eaSopenharmony_ci "-Wimplicit-function-declaration", 136275793eaSopenharmony_ci "-march=armv8-a+crc", 137275793eaSopenharmony_ci ] 138275793eaSopenharmony_ci } 139275793eaSopenharmony_ci} else { 140275793eaSopenharmony_ci config("zlib_crc_config") { 141275793eaSopenharmony_ci cflags = [ 142275793eaSopenharmony_ci "-Wno-incompatible-pointer-types", 143275793eaSopenharmony_ci "-Werror", 144275793eaSopenharmony_ci "-Wno-strict-prototypes", 145275793eaSopenharmony_ci "-Wimplicit-function-declaration", 146275793eaSopenharmony_ci ] 147275793eaSopenharmony_ci } 148275793eaSopenharmony_ci} 149275793eaSopenharmony_ci 150275793eaSopenharmony_ciohos_static_library("libz_crc") { 151275793eaSopenharmony_ci sources = [ 152275793eaSopenharmony_ci "crc32.c", 153275793eaSopenharmony_ci "crc32.h", 154275793eaSopenharmony_ci "zconf.h", 155275793eaSopenharmony_ci ] 156275793eaSopenharmony_ci configs = [ ":zlib_crc_config" ] 157275793eaSopenharmony_ci public_configs = [ ":zlib_public_config" ] 158275793eaSopenharmony_ci 159275793eaSopenharmony_ci part_name = "zlib" 160275793eaSopenharmony_ci subsystem_name = "thirdparty" 161275793eaSopenharmony_ci} 162