1# Copyright 2016 Google Inc. 2# 3# Use of this source code is governed by a BSD-style license that can be 4# found in the LICENSE file. 5 6declare_args() { 7 skia_use_system_libpng = is_official_build 8} 9 10import("../../gn/oh_skia.gni") 11import("../third_party.gni") 12 13if (skia_use_system_libpng) { 14 system("libpng") { 15 libs = [ "png" ] 16 } 17} else { 18 third_party("libpng") { 19 public_include_dirs = [ 20 ".", 21 "../externals/libpng", 22 ] 23 24 defines = [ "PNG_SET_OPTION_SUPPORTED" ] 25 if (is_mingw) { 26 external_deps = [ "zlib:libz" ] 27 } else { 28 deps = [ "${skia_third_party_dir}/zlib" ] 29 } 30 sources = [ 31 "../externals/libpng/png.c", 32 "../externals/libpng/pngerror.c", 33 "../externals/libpng/pngget.c", 34 "../externals/libpng/pngmem.c", 35 "../externals/libpng/pngpread.c", 36 "../externals/libpng/pngread.c", 37 "../externals/libpng/pngrio.c", 38 "../externals/libpng/pngrtran.c", 39 "../externals/libpng/pngrutil.c", 40 "../externals/libpng/pngset.c", 41 "../externals/libpng/pngtrans.c", 42 "../externals/libpng/pngwio.c", 43 "../externals/libpng/pngwrite.c", 44 "../externals/libpng/pngwtran.c", 45 "../externals/libpng/pngwutil.c", 46 ] 47 48 if (current_cpu == "arm" || current_cpu == "arm64") { 49 sources += [ 50 "../externals/libpng/arm/arm_init.c", 51 "../externals/libpng/arm/filter_neon_intrinsics.c", 52 "../externals/libpng/arm/palette_neon_intrinsics.c", 53 ] 54 } 55 56 if (current_cpu == "x86" || current_cpu == "x64") { 57 defines += [ "PNG_INTEL_SSE" ] 58 sources += [ 59 "../externals/libpng/intel/filter_sse2_intrinsics.c", 60 "../externals/libpng/intel/intel_init.c", 61 ] 62 } 63 } 64} 65