Index: gyp/zlib.gyp |
diff --git a/gyp/zlib.gyp b/gyp/zlib.gyp |
index 4b0a5956954e7d6a034104ac37032f0edbad74fc..7ae62309d25f50939ebe924c940c94491fd9b5a8 100644 |
--- a/gyp/zlib.gyp |
+++ b/gyp/zlib.gyp |
@@ -4,28 +4,92 @@ |
# found in the LICENSE file. |
{ |
- 'targets': [{ |
- 'target_name': 'zlib', |
- 'type': 'none', |
- 'direct_dependent_settings': { |
+ 'targets': [ |
+ { |
+ # Only used by win, down below. |
+ 'target_name' : 'zlib_x86_simd', |
mtklein
2015/02/27 23:31:02
Are there portable options for these? I'm thinkin
scroggo
2015/03/02 14:16:16
IIUC, the portable versions are in the files where
|
+ 'type': 'static_library', |
+ 'cflags' : ['-msse4.2', '-mpclmul'], |
+ 'sources' : [ |
+ '../third_party/externals/zlib/crc_folding.c', |
+ '../third_party/externals/zlib/fill_window_sse.c', |
+ ], |
'conditions': [ |
- [ 'skia_android_framework', { 'include_dirs': [ 'external/zlib' ] }], |
- [ 'skia_os == "mac" or skia_os == "ios"', { |
- # XCode needs and explicit file path, not a logical name like -lz. |
- 'link_settings': { 'libraries': [ '$(SDKROOT)/usr/lib/libz.dylib' ] }, |
- },{ |
- 'link_settings': { 'libraries': [ '-lz' ] }, |
- }] |
+ ['skia_clang_build==1', { |
+ 'msvs_settings': { |
+ 'VCCLCompilerTool': { |
+ 'AdditionalOptions': [ '-msse4.2', '-mpclmul' ], |
+ }, |
+ }, |
+ }], |
+ ], |
+ }, |
+ { |
+ 'target_name': 'zlib', |
+ 'direct_dependent_settings': { |
+ 'conditions': [ |
+ [ 'skia_android_framework', { 'include_dirs': [ 'external/zlib' ] }], |
+ [ 'skia_os == "mac" or skia_os == "ios"', { |
+ # XCode needs and explicit file path, not a logical name like -lz. |
+ 'link_settings': { 'libraries': [ '$(SDKROOT)/usr/lib/libz.dylib' ] }, |
+ }], |
+ [ 'skia_os not in ["mac", "ios", "win"]',{ |
mtklein
2015/02/27 23:31:02
If we're going to be building zlib, I'd feel more
scroggo
2015/03/02 14:16:16
Sounds fine to me. My preference is to land this a
|
+ 'link_settings': { 'libraries': [ '-lz' ] }, |
+ }] |
+ ], |
+ }, |
+ 'conditions': [ |
+ [ 'skia_os != "win"', { |
+ 'type': 'none', |
+ }, { |
+ # win |
+ 'type': 'static_library', |
+ 'sources': [ |
+ '../third_party/externals/zlib/adler32.c', |
+ '../third_party/externals/zlib/compress.c', |
+ '../third_party/externals/zlib/crc32.c', |
+ '../third_party/externals/zlib/crc32.h', |
+ '../third_party/externals/zlib/deflate.c', |
+ '../third_party/externals/zlib/deflate.h', |
+ '../third_party/externals/zlib/gzclose.c', |
+ '../third_party/externals/zlib/gzguts.h', |
+ '../third_party/externals/zlib/gzlib.c', |
+ '../third_party/externals/zlib/gzread.c', |
+ '../third_party/externals/zlib/gzwrite.c', |
+ '../third_party/externals/zlib/infback.c', |
+ '../third_party/externals/zlib/inffast.c', |
+ '../third_party/externals/zlib/inffast.h', |
+ '../third_party/externals/zlib/inffixed.h', |
+ '../third_party/externals/zlib/inflate.c', |
+ '../third_party/externals/zlib/inflate.h', |
+ '../third_party/externals/zlib/inftrees.c', |
+ '../third_party/externals/zlib/inftrees.h', |
+ '../third_party/externals/zlib/mozzconf.h', |
+ '../third_party/externals/zlib/trees.c', |
+ '../third_party/externals/zlib/trees.h', |
+ '../third_party/externals/zlib/uncompr.c', |
+ '../third_party/externals/zlib/x86.h', |
+ '../third_party/externals/zlib/x86.c', |
+ '../third_party/externals/zlib/zconf.h', |
+ '../third_party/externals/zlib/zlib.h', |
+ '../third_party/externals/zlib/zutil.c', |
+ '../third_party/externals/zlib/zutil.h', |
+ ], |
+ 'include_dirs': [ |
+ '../third_party/externals/zlib/', |
+ ], |
+ 'direct_dependent_settings': { |
+ 'include_dirs': [ |
+ '../third_party/externals/zlib', |
+ ], |
+ }, |
+ 'dependencies': [ |
+ 'zlib_x86_simd', |
+ ], |
+ 'defines': [ |
+ '_CRT_NONSTDC_NO_DEPRECATE', |
+ ], |
+ }], |
], |
- }, |
- },{ |
- 'target_name': 'miniz', |
- 'type': 'none', |
- 'direct_dependent_settings': { |
- 'include_dirs': [ '../third_party/miniz' ], |
- 'defines': [ 'ZLIB_INCLUDE="miniz.c"' ], |
- # Not ideal, but GCC's issuing an otherwise-unstoppable (but innocuous) warning from miniz.c |
- 'cflags': [ '-w' ], |
- }, |
}], |
} |