aboutsummaryrefslogtreecommitdiffhomepage
path: root/third_party/zlib
diff options
context:
space:
mode:
Diffstat (limited to 'third_party/zlib')
-rw-r--r--third_party/zlib/BUILD.gn25
1 files changed, 24 insertions, 1 deletions
diff --git a/third_party/zlib/BUILD.gn b/third_party/zlib/BUILD.gn
index 00eb327590..3f9bc5c7c8 100644
--- a/third_party/zlib/BUILD.gn
+++ b/third_party/zlib/BUILD.gn
@@ -17,6 +17,9 @@ if (skia_use_system_zlib) {
third_party("zlib") {
public_include_dirs = [ "../externals/zlib" ]
+ deps = [
+ ":zlib_x86",
+ ]
sources = [
"../externals/zlib/adler32.c",
"../externals/zlib/compress.c",
@@ -30,10 +33,30 @@ if (skia_use_system_zlib) {
"../externals/zlib/inffast.c",
"../externals/zlib/inflate.c",
"../externals/zlib/inftrees.c",
- "../externals/zlib/simd_stub.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) {
+ cflags_c = [
+ "-msse4.2",
+ "-mpclmul",
+ ]
+ }
+ } else {
+ sources = [
+ "../externals/zlib/simd_stub.c",
+ ]
+ }
+}