| # Copyright 2016 Google Inc. |
| # |
| # Use of this source code is governed by a BSD-style license that can be |
| # found in the LICENSE file. |
| |
| declare_args() { |
| skia_use_system_libpng = is_official_build && !is_wasm |
| } |
| |
| import("../third_party.gni") |
| |
| if (skia_use_system_libpng) { |
| system("libpng") { |
| libs = [ "png" ] |
| } |
| } else { |
| third_party("libpng") { |
| public_include_dirs = [ |
| ".", |
| "../externals/libpng", |
| ] |
| |
| defines = [ "PNG_SET_OPTION_SUPPORTED" ] |
| deps = [ "//third_party/zlib" ] |
| sources = [ |
| "../externals/libpng/png.c", |
| "../externals/libpng/pngerror.c", |
| "../externals/libpng/pngget.c", |
| "../externals/libpng/pngmem.c", |
| "../externals/libpng/pngpread.c", |
| "../externals/libpng/pngread.c", |
| "../externals/libpng/pngrio.c", |
| "../externals/libpng/pngrtran.c", |
| "../externals/libpng/pngrutil.c", |
| "../externals/libpng/pngset.c", |
| "../externals/libpng/pngtrans.c", |
| "../externals/libpng/pngwio.c", |
| "../externals/libpng/pngwrite.c", |
| "../externals/libpng/pngwtran.c", |
| "../externals/libpng/pngwutil.c", |
| ] |
| |
| if (current_cpu == "arm" || current_cpu == "arm64") { |
| sources += [ |
| "../externals/libpng/arm/arm_init.c", |
| "../externals/libpng/arm/filter_neon_intrinsics.c", |
| "../externals/libpng/arm/palette_neon_intrinsics.c", |
| ] |
| } |
| |
| if (current_cpu == "x86" || current_cpu == "x64") { |
| defines += [ "PNG_INTEL_SSE" ] |
| sources += [ |
| "../externals/libpng/intel/filter_sse2_intrinsics.c", |
| "../externals/libpng/intel/intel_init.c", |
| ] |
| } |
| } |
| } |