blob: a01ede6501df3eada0277298704d72e7296a974f [file] [log] [blame]
mtklein7d10b9f2016-07-27 11:17:18 -07001# 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() {
Mike Kleine459afd2017-03-03 09:21:30 -05007 skia_use_system_libpng = is_official_build
mtklein7d10b9f2016-07-27 11:17:18 -07008}
9
10import("../third_party.gni")
11
Mike Klein10d665d2016-11-01 11:46:10 -040012if (skia_use_system_libpng) {
13 system("libpng") {
14 libs = [ "png" ]
15 }
16} else {
17 third_party("libpng") {
Mike Klein6b6674d2017-09-19 13:30:58 -040018 public_include_dirs = [
19 ".",
20 "../externals/libpng",
21 ]
mtklein7d10b9f2016-07-27 11:17:18 -070022
Mike Kleind23341b2016-11-07 16:56:53 -050023 defines = []
Mike Klein10d665d2016-11-01 11:46:10 -040024 deps = [
25 "//third_party/zlib",
mtklein7d6fb2c2016-08-25 14:50:44 -070026 ]
Mike Klein10d665d2016-11-01 11:46:10 -040027 sources = [
Mike Klein6b6674d2017-09-19 13:30:58 -040028 "../externals/libpng/png.c",
29 "../externals/libpng/pngerror.c",
30 "../externals/libpng/pngget.c",
31 "../externals/libpng/pngmem.c",
32 "../externals/libpng/pngpread.c",
33 "../externals/libpng/pngread.c",
34 "../externals/libpng/pngrio.c",
35 "../externals/libpng/pngrtran.c",
36 "../externals/libpng/pngrutil.c",
37 "../externals/libpng/pngset.c",
38 "../externals/libpng/pngtrans.c",
39 "../externals/libpng/pngwio.c",
40 "../externals/libpng/pngwrite.c",
41 "../externals/libpng/pngwtran.c",
42 "../externals/libpng/pngwutil.c",
Mike Klein10d665d2016-11-01 11:46:10 -040043 ]
44
45 if (current_cpu == "arm" || current_cpu == "arm64") {
46 sources += [
Mike Klein6b6674d2017-09-19 13:30:58 -040047 "../externals/libpng/arm/arm_init.c",
48 "../externals/libpng/arm/filter_neon_intrinsics.c",
Mike Klein10d665d2016-11-01 11:46:10 -040049 ]
50 }
Mike Kleind23341b2016-11-07 16:56:53 -050051
52 if (current_cpu == "x86" || current_cpu == "x64") {
53 defines += [ "PNG_INTEL_SSE" ]
54 sources += [
Mike Klein6b6674d2017-09-19 13:30:58 -040055 "../externals/libpng/intel/filter_sse2_intrinsics.c",
56 "../externals/libpng/intel/intel_init.c",
Mike Kleind23341b2016-11-07 16:56:53 -050057 ]
58 }
mtklein7d6fb2c2016-08-25 14:50:44 -070059 }
mtklein7d10b9f2016-07-27 11:17:18 -070060}