aboutsummaryrefslogtreecommitdiffhomepage
path: root/third_party/zlib/BUILD.gn
blob: a1e4836bf6d5638be9fca11bd19e91cb3e991b33 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
# 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_zlib = is_official_build
}

import("../third_party.gni")

if (skia_use_system_zlib) {
  system("zlib") {
    libs = [ "z" ]
  }
} else {
  third_party("zlib") {
    public_include_dirs = [ "../externals/zlib" ]

    deps = [
      ":zlib_x86",
    ]
    sources = [
      "../externals/zlib/adler32.c",
      "../externals/zlib/compress.c",
      "../externals/zlib/crc32.c",
      "../externals/zlib/deflate.c",
      "../externals/zlib/gzclose.c",
      "../externals/zlib/gzlib.c",
      "../externals/zlib/gzread.c",
      "../externals/zlib/gzwrite.c",
      "../externals/zlib/infback.c",
      "../externals/zlib/inffast.c",
      "../externals/zlib/inflate.c",
      "../externals/zlib/inftrees.c",
      "../externals/zlib/trees.c",
      "../externals/zlib/uncompr.c",
      "../externals/zlib/zutil.c",
    ]
  }
}

third_party("zlib_x86") {
  public_include_dirs = []
  if (target_cpu == "x86" || target_cpu == "x64") {
    sources = [
      "../externals/zlib/crc_folding.c",
      "../externals/zlib/fill_window_sse.c",
      "../externals/zlib/x86.c",
    ]
    if (!is_win || is_clang) {
      cflags_c = [
        "-msse4.2",
        "-mpclmul",
      ]
    }
  } else {
    sources = [
      "../externals/zlib/simd_stub.c",
    ]
  }
}