Index: third_party/zlib/BUILD.gn |
diff --git a/third_party/zlib/BUILD.gn b/third_party/zlib/BUILD.gn |
new file mode 100644 |
index 0000000000000000000000000000000000000000..da0e52d2ba7b6dc4ae1b355b1db5704e7bdfea1b |
--- /dev/null |
+++ b/third_party/zlib/BUILD.gn |
@@ -0,0 +1,90 @@ |
+# Copyright (c) 2013 The Chromium Authors. All rights reserved. |
+# Use of this source code is governed by a BSD-style license that can be |
+# found in the LICENSE file. |
+ |
+config("zlib_config") { |
+ include_dirs = [ "." ] |
+} |
+ |
+static_library("zlib_x86_simd") { |
+ if (!is_ios && (current_cpu == "x86" || current_cpu == "x64")) { |
+ sources = [ |
+ "crc_folding.c", |
+ "fill_window_sse.c", |
+ ] |
+ if (!is_win || is_clang) { |
+ cflags = [ |
+ "-msse4.2", |
+ "-mpclmul", |
+ ] |
+ } |
+ } else { |
+ sources = [ |
+ "simd_stub.c", |
+ ] |
+ } |
+ |
+ configs -= [ "//build/config/compiler:chromium_code" ] |
+ configs += [ "//build/config/compiler:no_chromium_code" ] |
+} |
+ |
+config("zlib_warnings") { |
+ if (is_clang && !is_ios && (current_cpu == "x86" || current_cpu == "x64")) { |
+ cflags = [ "-Wno-incompatible-pointer-types" ] |
+ } |
+} |
+ |
+static_library("zlib") { |
+ if (!is_win) { |
+ # Don't stomp on "libzlib" on other platforms. |
+ output_name = "chrome_zlib" |
+ } |
+ |
+ sources = [ |
+ "adler32.c", |
+ "compress.c", |
+ "crc32.c", |
+ "crc32.h", |
+ "deflate.c", |
+ "deflate.h", |
+ "gzclose.c", |
+ "gzguts.h", |
+ "gzlib.c", |
+ "gzread.c", |
+ "gzwrite.c", |
+ "infback.c", |
+ "inffast.c", |
+ "inffast.h", |
+ "inffixed.h", |
+ "inflate.c", |
+ "inflate.h", |
+ "inftrees.c", |
+ "inftrees.h", |
+ "mozzconf.h", |
+ "trees.c", |
+ "trees.h", |
+ "uncompr.c", |
+ "x86.h", |
+ "zconf.h", |
+ "zlib.h", |
+ "zutil.c", |
+ "zutil.h", |
+ ] |
+ |
+ if (!is_ios && (current_cpu == "x86" || current_cpu == "x64")) { |
+ sources += [ "x86.c" ] |
+ } |
+ |
+ configs -= [ "//build/config/compiler:chromium_code" ] |
+ configs += [ |
+ "//build/config/compiler:no_chromium_code", |
+ |
+ # Must be after no_chromium_code for warning flags to be ordered correctly. |
+ ":zlib_warnings", |
+ ] |
+ |
+ public_configs = [ ":zlib_config" ] |
+ deps = [ |
+ ":zlib_x86_simd", |
+ ] |
+} |