1*c8dee2aaSAndroid Build Coastguard Worker# Copyright 2016 Google Inc. 2*c8dee2aaSAndroid Build Coastguard Worker# 3*c8dee2aaSAndroid Build Coastguard Worker# Use of this source code is governed by a BSD-style license that can be 4*c8dee2aaSAndroid Build Coastguard Worker# found in the LICENSE file. 5*c8dee2aaSAndroid Build Coastguard Worker 6*c8dee2aaSAndroid Build Coastguard Workerimport("../third_party.gni") 7*c8dee2aaSAndroid Build Coastguard Workerimport("zlib.gni") 8*c8dee2aaSAndroid Build Coastguard Worker 9*c8dee2aaSAndroid Build Coastguard Workerif (skia_use_system_zlib) { 10*c8dee2aaSAndroid Build Coastguard Worker system("zlib") { 11*c8dee2aaSAndroid Build Coastguard Worker libs = [ "z" ] 12*c8dee2aaSAndroid Build Coastguard Worker } 13*c8dee2aaSAndroid Build Coastguard Worker} else { 14*c8dee2aaSAndroid Build Coastguard Worker config("zlib_internal_config") { 15*c8dee2aaSAndroid Build Coastguard Worker defines = [ "ZLIB_IMPLEMENTATION" ] 16*c8dee2aaSAndroid Build Coastguard Worker } 17*c8dee2aaSAndroid Build Coastguard Worker source_set("zlib_common_headers") { 18*c8dee2aaSAndroid Build Coastguard Worker visibility = [ ":*" ] 19*c8dee2aaSAndroid Build Coastguard Worker sources = [ 20*c8dee2aaSAndroid Build Coastguard Worker "../externals/zlib/chromeconf.h", 21*c8dee2aaSAndroid Build Coastguard Worker "../externals/zlib/deflate.h", 22*c8dee2aaSAndroid Build Coastguard Worker "../externals/zlib/inffast.h", 23*c8dee2aaSAndroid Build Coastguard Worker "../externals/zlib/inffixed.h", 24*c8dee2aaSAndroid Build Coastguard Worker "../externals/zlib/inflate.h", 25*c8dee2aaSAndroid Build Coastguard Worker "../externals/zlib/inftrees.h", 26*c8dee2aaSAndroid Build Coastguard Worker "../externals/zlib/zconf.h", 27*c8dee2aaSAndroid Build Coastguard Worker "../externals/zlib/zlib.h", 28*c8dee2aaSAndroid Build Coastguard Worker "../externals/zlib/zutil.h", 29*c8dee2aaSAndroid Build Coastguard Worker ] 30*c8dee2aaSAndroid Build Coastguard Worker } 31*c8dee2aaSAndroid Build Coastguard Worker 32*c8dee2aaSAndroid Build Coastguard Worker use_arm_neon_optimizations = 33*c8dee2aaSAndroid Build Coastguard Worker (current_cpu == "arm" || current_cpu == "arm64") && (is_clang || !is_win) 34*c8dee2aaSAndroid Build Coastguard Worker use_x86_x64_optimizations = 35*c8dee2aaSAndroid Build Coastguard Worker (current_cpu == "x86" || current_cpu == "x64") && !is_ios 36*c8dee2aaSAndroid Build Coastguard Worker 37*c8dee2aaSAndroid Build Coastguard Worker config("zlib_adler32_simd_config") { 38*c8dee2aaSAndroid Build Coastguard Worker if (use_x86_x64_optimizations) { 39*c8dee2aaSAndroid Build Coastguard Worker defines = [ "ADLER32_SIMD_SSSE3" ] 40*c8dee2aaSAndroid Build Coastguard Worker if (is_win) { 41*c8dee2aaSAndroid Build Coastguard Worker defines += [ "X86_WINDOWS" ] 42*c8dee2aaSAndroid Build Coastguard Worker } else { 43*c8dee2aaSAndroid Build Coastguard Worker defines += [ "X86_NOT_WINDOWS" ] 44*c8dee2aaSAndroid Build Coastguard Worker } 45*c8dee2aaSAndroid Build Coastguard Worker } 46*c8dee2aaSAndroid Build Coastguard Worker 47*c8dee2aaSAndroid Build Coastguard Worker if (use_arm_neon_optimizations) { 48*c8dee2aaSAndroid Build Coastguard Worker defines = [ "ADLER32_SIMD_NEON" ] 49*c8dee2aaSAndroid Build Coastguard Worker } 50*c8dee2aaSAndroid Build Coastguard Worker } 51*c8dee2aaSAndroid Build Coastguard Worker 52*c8dee2aaSAndroid Build Coastguard Worker source_set("zlib_adler32_simd") { 53*c8dee2aaSAndroid Build Coastguard Worker visibility = [ ":*" ] 54*c8dee2aaSAndroid Build Coastguard Worker 55*c8dee2aaSAndroid Build Coastguard Worker if (use_x86_x64_optimizations) { 56*c8dee2aaSAndroid Build Coastguard Worker sources = [ 57*c8dee2aaSAndroid Build Coastguard Worker "../externals/zlib/adler32_simd.c", 58*c8dee2aaSAndroid Build Coastguard Worker "../externals/zlib/adler32_simd.h", 59*c8dee2aaSAndroid Build Coastguard Worker ] 60*c8dee2aaSAndroid Build Coastguard Worker 61*c8dee2aaSAndroid Build Coastguard Worker if (!is_win || is_clang) { 62*c8dee2aaSAndroid Build Coastguard Worker cflags = [ "-mssse3" ] 63*c8dee2aaSAndroid Build Coastguard Worker } 64*c8dee2aaSAndroid Build Coastguard Worker } 65*c8dee2aaSAndroid Build Coastguard Worker 66*c8dee2aaSAndroid Build Coastguard Worker if (use_arm_neon_optimizations) { 67*c8dee2aaSAndroid Build Coastguard Worker sources = [ 68*c8dee2aaSAndroid Build Coastguard Worker "../externals/zlib/adler32_simd.c", 69*c8dee2aaSAndroid Build Coastguard Worker "../externals/zlib/adler32_simd.h", 70*c8dee2aaSAndroid Build Coastguard Worker ] 71*c8dee2aaSAndroid Build Coastguard Worker } 72*c8dee2aaSAndroid Build Coastguard Worker 73*c8dee2aaSAndroid Build Coastguard Worker configs += [ ":zlib_internal_config" ] 74*c8dee2aaSAndroid Build Coastguard Worker 75*c8dee2aaSAndroid Build Coastguard Worker public_configs = [ ":zlib_adler32_simd_config" ] 76*c8dee2aaSAndroid Build Coastguard Worker 77*c8dee2aaSAndroid Build Coastguard Worker public_deps = [ ":zlib_common_headers" ] 78*c8dee2aaSAndroid Build Coastguard Worker } 79*c8dee2aaSAndroid Build Coastguard Worker 80*c8dee2aaSAndroid Build Coastguard Worker if (use_arm_neon_optimizations) { 81*c8dee2aaSAndroid Build Coastguard Worker config("zlib_arm_crc32_config") { 82*c8dee2aaSAndroid Build Coastguard Worker defines = [ "CRC32_ARMV8_CRC32" ] 83*c8dee2aaSAndroid Build Coastguard Worker if (is_android) { 84*c8dee2aaSAndroid Build Coastguard Worker defines += [ "ARMV8_OS_ANDROID" ] 85*c8dee2aaSAndroid Build Coastguard Worker } else if (is_linux || is_chromeos) { 86*c8dee2aaSAndroid Build Coastguard Worker defines += [ "ARMV8_OS_LINUX" ] 87*c8dee2aaSAndroid Build Coastguard Worker } else if (is_mac) { 88*c8dee2aaSAndroid Build Coastguard Worker defines += [ "ARMV8_OS_MACOS" ] 89*c8dee2aaSAndroid Build Coastguard Worker } else if (is_ios) { 90*c8dee2aaSAndroid Build Coastguard Worker defines += [ "ARMV8_OS_IOS" ] 91*c8dee2aaSAndroid Build Coastguard Worker } else if (is_fuchsia) { 92*c8dee2aaSAndroid Build Coastguard Worker defines += [ "ARMV8_OS_FUCHSIA" ] 93*c8dee2aaSAndroid Build Coastguard Worker } else if (is_win) { 94*c8dee2aaSAndroid Build Coastguard Worker defines += [ "ARMV8_OS_WINDOWS" ] 95*c8dee2aaSAndroid Build Coastguard Worker } else { 96*c8dee2aaSAndroid Build Coastguard Worker assert(false, "Unsupported ARM OS") 97*c8dee2aaSAndroid Build Coastguard Worker } 98*c8dee2aaSAndroid Build Coastguard Worker } 99*c8dee2aaSAndroid Build Coastguard Worker 100*c8dee2aaSAndroid Build Coastguard Worker source_set("zlib_arm_crc32") { 101*c8dee2aaSAndroid Build Coastguard Worker visibility = [ ":*" ] 102*c8dee2aaSAndroid Build Coastguard Worker 103*c8dee2aaSAndroid Build Coastguard Worker include_dirs = [ 104*c8dee2aaSAndroid Build Coastguard Worker "../externals/zlib/", 105*c8dee2aaSAndroid Build Coastguard Worker "../externals/zlib/contrib/optimizations/", 106*c8dee2aaSAndroid Build Coastguard Worker ] 107*c8dee2aaSAndroid Build Coastguard Worker 108*c8dee2aaSAndroid Build Coastguard Worker if (!is_win && !is_clang) { 109*c8dee2aaSAndroid Build Coastguard Worker cflags_c = [ "-march=armv8-a+aes+crc" ] 110*c8dee2aaSAndroid Build Coastguard Worker } 111*c8dee2aaSAndroid Build Coastguard Worker 112*c8dee2aaSAndroid Build Coastguard Worker sources = [ 113*c8dee2aaSAndroid Build Coastguard Worker "../externals/zlib/crc32_simd.c", 114*c8dee2aaSAndroid Build Coastguard Worker "../externals/zlib/crc32_simd.h", 115*c8dee2aaSAndroid Build Coastguard Worker ] 116*c8dee2aaSAndroid Build Coastguard Worker 117*c8dee2aaSAndroid Build Coastguard Worker configs += [ ":zlib_internal_config" ] 118*c8dee2aaSAndroid Build Coastguard Worker 119*c8dee2aaSAndroid Build Coastguard Worker public_configs = [ ":zlib_arm_crc32_config" ] 120*c8dee2aaSAndroid Build Coastguard Worker 121*c8dee2aaSAndroid Build Coastguard Worker public_deps = [ ":zlib_common_headers" ] 122*c8dee2aaSAndroid Build Coastguard Worker } 123*c8dee2aaSAndroid Build Coastguard Worker } 124*c8dee2aaSAndroid Build Coastguard Worker 125*c8dee2aaSAndroid Build Coastguard Worker config("zlib_inflate_chunk_simd_config") { 126*c8dee2aaSAndroid Build Coastguard Worker if (use_x86_x64_optimizations) { 127*c8dee2aaSAndroid Build Coastguard Worker defines = [ "INFLATE_CHUNK_SIMD_SSE2" ] 128*c8dee2aaSAndroid Build Coastguard Worker 129*c8dee2aaSAndroid Build Coastguard Worker if (current_cpu == "x64") { 130*c8dee2aaSAndroid Build Coastguard Worker defines += [ "INFLATE_CHUNK_READ_64LE" ] 131*c8dee2aaSAndroid Build Coastguard Worker } 132*c8dee2aaSAndroid Build Coastguard Worker } 133*c8dee2aaSAndroid Build Coastguard Worker 134*c8dee2aaSAndroid Build Coastguard Worker if (use_arm_neon_optimizations) { 135*c8dee2aaSAndroid Build Coastguard Worker defines = [ "INFLATE_CHUNK_SIMD_NEON" ] 136*c8dee2aaSAndroid Build Coastguard Worker 137*c8dee2aaSAndroid Build Coastguard Worker if (current_cpu == "arm64") { 138*c8dee2aaSAndroid Build Coastguard Worker defines += [ "INFLATE_CHUNK_READ_64LE" ] 139*c8dee2aaSAndroid Build Coastguard Worker } 140*c8dee2aaSAndroid Build Coastguard Worker } 141*c8dee2aaSAndroid Build Coastguard Worker } 142*c8dee2aaSAndroid Build Coastguard Worker 143*c8dee2aaSAndroid Build Coastguard Worker source_set("zlib_inflate_chunk_simd") { 144*c8dee2aaSAndroid Build Coastguard Worker visibility = [ ":*" ] 145*c8dee2aaSAndroid Build Coastguard Worker 146*c8dee2aaSAndroid Build Coastguard Worker if (use_x86_x64_optimizations || use_arm_neon_optimizations) { 147*c8dee2aaSAndroid Build Coastguard Worker include_dirs = [ 148*c8dee2aaSAndroid Build Coastguard Worker "../externals/zlib/", 149*c8dee2aaSAndroid Build Coastguard Worker "../externals/zlib/contrib/optimizations/", 150*c8dee2aaSAndroid Build Coastguard Worker ] 151*c8dee2aaSAndroid Build Coastguard Worker sources = [ 152*c8dee2aaSAndroid Build Coastguard Worker "../externals/zlib/contrib/optimizations/chunkcopy.h", 153*c8dee2aaSAndroid Build Coastguard Worker "../externals/zlib/contrib/optimizations/inffast_chunk.c", 154*c8dee2aaSAndroid Build Coastguard Worker "../externals/zlib/contrib/optimizations/inffast_chunk.h", 155*c8dee2aaSAndroid Build Coastguard Worker "../externals/zlib/contrib/optimizations/inflate.c", 156*c8dee2aaSAndroid Build Coastguard Worker ] 157*c8dee2aaSAndroid Build Coastguard Worker } 158*c8dee2aaSAndroid Build Coastguard Worker 159*c8dee2aaSAndroid Build Coastguard Worker configs += [ ":zlib_internal_config" ] 160*c8dee2aaSAndroid Build Coastguard Worker configs += [ ":zlib_warnings" ] 161*c8dee2aaSAndroid Build Coastguard Worker 162*c8dee2aaSAndroid Build Coastguard Worker public_configs = [ ":zlib_inflate_chunk_simd_config" ] 163*c8dee2aaSAndroid Build Coastguard Worker 164*c8dee2aaSAndroid Build Coastguard Worker public_deps = [ ":zlib_common_headers" ] 165*c8dee2aaSAndroid Build Coastguard Worker } 166*c8dee2aaSAndroid Build Coastguard Worker 167*c8dee2aaSAndroid Build Coastguard Worker config("zlib_crc32_simd_config") { 168*c8dee2aaSAndroid Build Coastguard Worker if (use_x86_x64_optimizations) { 169*c8dee2aaSAndroid Build Coastguard Worker defines = [ "CRC32_SIMD_SSE42_PCLMUL" ] 170*c8dee2aaSAndroid Build Coastguard Worker } 171*c8dee2aaSAndroid Build Coastguard Worker } 172*c8dee2aaSAndroid Build Coastguard Worker 173*c8dee2aaSAndroid Build Coastguard Worker source_set("zlib_crc32_simd") { 174*c8dee2aaSAndroid Build Coastguard Worker visibility = [ ":*" ] 175*c8dee2aaSAndroid Build Coastguard Worker 176*c8dee2aaSAndroid Build Coastguard Worker if (use_x86_x64_optimizations) { 177*c8dee2aaSAndroid Build Coastguard Worker sources = [ 178*c8dee2aaSAndroid Build Coastguard Worker "../externals/zlib/crc32_simd.c", 179*c8dee2aaSAndroid Build Coastguard Worker "../externals/zlib/crc32_simd.h", 180*c8dee2aaSAndroid Build Coastguard Worker "../externals/zlib/crc_folding.c", 181*c8dee2aaSAndroid Build Coastguard Worker ] 182*c8dee2aaSAndroid Build Coastguard Worker 183*c8dee2aaSAndroid Build Coastguard Worker if (!is_win || is_clang) { 184*c8dee2aaSAndroid Build Coastguard Worker cflags = [ 185*c8dee2aaSAndroid Build Coastguard Worker "-msse4.2", 186*c8dee2aaSAndroid Build Coastguard Worker "-mpclmul", 187*c8dee2aaSAndroid Build Coastguard Worker ] 188*c8dee2aaSAndroid Build Coastguard Worker } 189*c8dee2aaSAndroid Build Coastguard Worker } 190*c8dee2aaSAndroid Build Coastguard Worker 191*c8dee2aaSAndroid Build Coastguard Worker configs += [ ":zlib_internal_config" ] 192*c8dee2aaSAndroid Build Coastguard Worker 193*c8dee2aaSAndroid Build Coastguard Worker public_configs = [ ":zlib_crc32_simd_config" ] 194*c8dee2aaSAndroid Build Coastguard Worker 195*c8dee2aaSAndroid Build Coastguard Worker public_deps = [ ":zlib_common_headers" ] 196*c8dee2aaSAndroid Build Coastguard Worker } 197*c8dee2aaSAndroid Build Coastguard Worker 198*c8dee2aaSAndroid Build Coastguard Worker config("zlib_slide_hash_simd_config") { 199*c8dee2aaSAndroid Build Coastguard Worker if (use_x86_x64_optimizations) { 200*c8dee2aaSAndroid Build Coastguard Worker defines = [ "DEFLATE_SLIDE_HASH_SSE2" ] 201*c8dee2aaSAndroid Build Coastguard Worker } 202*c8dee2aaSAndroid Build Coastguard Worker 203*c8dee2aaSAndroid Build Coastguard Worker if (use_arm_neon_optimizations) { 204*c8dee2aaSAndroid Build Coastguard Worker defines = [ "DEFLATE_SLIDE_HASH_NEON" ] 205*c8dee2aaSAndroid Build Coastguard Worker } 206*c8dee2aaSAndroid Build Coastguard Worker } 207*c8dee2aaSAndroid Build Coastguard Worker 208*c8dee2aaSAndroid Build Coastguard Worker source_set("zlib_slide_hash_simd") { 209*c8dee2aaSAndroid Build Coastguard Worker visibility = [ ":*" ] 210*c8dee2aaSAndroid Build Coastguard Worker 211*c8dee2aaSAndroid Build Coastguard Worker if (use_x86_x64_optimizations) { 212*c8dee2aaSAndroid Build Coastguard Worker sources = [ "../externals/zlib/slide_hash_simd.h" ] 213*c8dee2aaSAndroid Build Coastguard Worker } 214*c8dee2aaSAndroid Build Coastguard Worker 215*c8dee2aaSAndroid Build Coastguard Worker if (use_arm_neon_optimizations) { 216*c8dee2aaSAndroid Build Coastguard Worker sources = [ "../externals/zlib/slide_hash_simd.h" ] 217*c8dee2aaSAndroid Build Coastguard Worker } 218*c8dee2aaSAndroid Build Coastguard Worker 219*c8dee2aaSAndroid Build Coastguard Worker configs += [ ":zlib_internal_config" ] 220*c8dee2aaSAndroid Build Coastguard Worker 221*c8dee2aaSAndroid Build Coastguard Worker public_configs = [ ":zlib_slide_hash_simd_config" ] 222*c8dee2aaSAndroid Build Coastguard Worker 223*c8dee2aaSAndroid Build Coastguard Worker public_deps = [ ":zlib_common_headers" ] 224*c8dee2aaSAndroid Build Coastguard Worker } 225*c8dee2aaSAndroid Build Coastguard Worker 226*c8dee2aaSAndroid Build Coastguard Worker config("zlib_warnings") { 227*c8dee2aaSAndroid Build Coastguard Worker if (is_clang) { 228*c8dee2aaSAndroid Build Coastguard Worker cflags = [ 229*c8dee2aaSAndroid Build Coastguard Worker "-Wno-incompatible-pointer-types", 230*c8dee2aaSAndroid Build Coastguard Worker "-Wunused-variable", 231*c8dee2aaSAndroid Build Coastguard Worker ] 232*c8dee2aaSAndroid Build Coastguard Worker } 233*c8dee2aaSAndroid Build Coastguard Worker } 234*c8dee2aaSAndroid Build Coastguard Worker 235*c8dee2aaSAndroid Build Coastguard Worker third_party("zlib") { 236*c8dee2aaSAndroid Build Coastguard Worker public_include_dirs = [ "../externals/zlib" ] 237*c8dee2aaSAndroid Build Coastguard Worker defines = [] 238*c8dee2aaSAndroid Build Coastguard Worker deps = [] 239*c8dee2aaSAndroid Build Coastguard Worker configs = [] 240*c8dee2aaSAndroid Build Coastguard Worker 241*c8dee2aaSAndroid Build Coastguard Worker sources = [ 242*c8dee2aaSAndroid Build Coastguard Worker "../externals/zlib/adler32.c", 243*c8dee2aaSAndroid Build Coastguard Worker "../externals/zlib/chromeconf.h", 244*c8dee2aaSAndroid Build Coastguard Worker "../externals/zlib/compress.c", 245*c8dee2aaSAndroid Build Coastguard Worker "../externals/zlib/contrib/optimizations/insert_string.h", 246*c8dee2aaSAndroid Build Coastguard Worker "../externals/zlib/cpu_features.c", 247*c8dee2aaSAndroid Build Coastguard Worker "../externals/zlib/cpu_features.h", 248*c8dee2aaSAndroid Build Coastguard Worker "../externals/zlib/crc32.c", 249*c8dee2aaSAndroid Build Coastguard Worker "../externals/zlib/crc32.h", 250*c8dee2aaSAndroid Build Coastguard Worker "../externals/zlib/deflate.c", 251*c8dee2aaSAndroid Build Coastguard Worker "../externals/zlib/deflate.h", 252*c8dee2aaSAndroid Build Coastguard Worker "../externals/zlib/gzclose.c", 253*c8dee2aaSAndroid Build Coastguard Worker "../externals/zlib/gzguts.h", 254*c8dee2aaSAndroid Build Coastguard Worker "../externals/zlib/gzlib.c", 255*c8dee2aaSAndroid Build Coastguard Worker "../externals/zlib/gzread.c", 256*c8dee2aaSAndroid Build Coastguard Worker "../externals/zlib/gzwrite.c", 257*c8dee2aaSAndroid Build Coastguard Worker "../externals/zlib/infback.c", 258*c8dee2aaSAndroid Build Coastguard Worker "../externals/zlib/inffast.c", 259*c8dee2aaSAndroid Build Coastguard Worker "../externals/zlib/inffast.h", 260*c8dee2aaSAndroid Build Coastguard Worker "../externals/zlib/inffixed.h", 261*c8dee2aaSAndroid Build Coastguard Worker "../externals/zlib/inflate.h", 262*c8dee2aaSAndroid Build Coastguard Worker "../externals/zlib/inftrees.c", 263*c8dee2aaSAndroid Build Coastguard Worker "../externals/zlib/inftrees.h", 264*c8dee2aaSAndroid Build Coastguard Worker "../externals/zlib/trees.c", 265*c8dee2aaSAndroid Build Coastguard Worker "../externals/zlib/trees.h", 266*c8dee2aaSAndroid Build Coastguard Worker "../externals/zlib/uncompr.c", 267*c8dee2aaSAndroid Build Coastguard Worker "../externals/zlib/zconf.h", 268*c8dee2aaSAndroid Build Coastguard Worker "../externals/zlib/zlib.h", 269*c8dee2aaSAndroid Build Coastguard Worker "../externals/zlib/zutil.c", 270*c8dee2aaSAndroid Build Coastguard Worker "../externals/zlib/zutil.h", 271*c8dee2aaSAndroid Build Coastguard Worker ] 272*c8dee2aaSAndroid Build Coastguard Worker 273*c8dee2aaSAndroid Build Coastguard Worker if (is_android) { 274*c8dee2aaSAndroid Build Coastguard Worker deps += [ "//third_party/cpu-features" ] 275*c8dee2aaSAndroid Build Coastguard Worker } 276*c8dee2aaSAndroid Build Coastguard Worker 277*c8dee2aaSAndroid Build Coastguard Worker if (!use_x86_x64_optimizations && !use_arm_neon_optimizations) { 278*c8dee2aaSAndroid Build Coastguard Worker defines += [ "CPU_NO_SIMD" ] 279*c8dee2aaSAndroid Build Coastguard Worker } 280*c8dee2aaSAndroid Build Coastguard Worker 281*c8dee2aaSAndroid Build Coastguard Worker if (use_x86_x64_optimizations || use_arm_neon_optimizations) { 282*c8dee2aaSAndroid Build Coastguard Worker deps += [ 283*c8dee2aaSAndroid Build Coastguard Worker ":zlib_adler32_simd", 284*c8dee2aaSAndroid Build Coastguard Worker ":zlib_inflate_chunk_simd", 285*c8dee2aaSAndroid Build Coastguard Worker ":zlib_slide_hash_simd", 286*c8dee2aaSAndroid Build Coastguard Worker ] 287*c8dee2aaSAndroid Build Coastguard Worker 288*c8dee2aaSAndroid Build Coastguard Worker if (use_x86_x64_optimizations) { 289*c8dee2aaSAndroid Build Coastguard Worker deps += [ ":zlib_crc32_simd" ] 290*c8dee2aaSAndroid Build Coastguard Worker } else if (use_arm_neon_optimizations) { 291*c8dee2aaSAndroid Build Coastguard Worker deps += [ ":zlib_arm_crc32" ] 292*c8dee2aaSAndroid Build Coastguard Worker } 293*c8dee2aaSAndroid Build Coastguard Worker } else { 294*c8dee2aaSAndroid Build Coastguard Worker sources += [ "../externals/zlib/inflate.c" ] 295*c8dee2aaSAndroid Build Coastguard Worker } 296*c8dee2aaSAndroid Build Coastguard Worker 297*c8dee2aaSAndroid Build Coastguard Worker configs += [ 298*c8dee2aaSAndroid Build Coastguard Worker ":zlib_internal_config", 299*c8dee2aaSAndroid Build Coastguard Worker ":zlib_warnings", 300*c8dee2aaSAndroid Build Coastguard Worker ] 301*c8dee2aaSAndroid Build Coastguard Worker 302*c8dee2aaSAndroid Build Coastguard Worker allow_circular_includes_from = deps 303*c8dee2aaSAndroid Build Coastguard Worker } 304*c8dee2aaSAndroid Build Coastguard Worker} 305*c8dee2aaSAndroid Build Coastguard Worker 306*c8dee2aaSAndroid Build Coastguard Workerconfig("zlib_config") { 307*c8dee2aaSAndroid Build Coastguard Worker} 308*c8dee2aaSAndroid Build Coastguard Worker 309*c8dee2aaSAndroid Build Coastguard Workerthird_party("compression_utils_portable") { 310*c8dee2aaSAndroid Build Coastguard Worker visibility = [ "//third_party/externals/angle2:*" ] 311*c8dee2aaSAndroid Build Coastguard Worker public_include_dirs = [ "../externals/zlib/google" ] 312*c8dee2aaSAndroid Build Coastguard Worker sources = [ 313*c8dee2aaSAndroid Build Coastguard Worker "../externals/zlib/google/compression_utils_portable.cc", 314*c8dee2aaSAndroid Build Coastguard Worker "../externals/zlib/google/compression_utils_portable.h", 315*c8dee2aaSAndroid Build Coastguard Worker ] 316*c8dee2aaSAndroid Build Coastguard Worker public_deps = [ ":zlib" ] # either system or from source 317*c8dee2aaSAndroid Build Coastguard Worker} 318