Merge Chromium + Blink git repositories
[chromium-blink-merge.git] / third_party / zlib / zlib.gyp
blob42e4e9508499fc2f6da0083882edbd508265edcf
1 # Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 # Use of this source code is governed by a BSD-style license that can be
3 # found in the LICENSE file.
6   'targets': [
7     {
8       'target_name' : 'zlib_x86_simd',
9       'type': 'static_library',
10       'conditions': [
11         ['OS!="ios" and (target_arch=="ia32" or target_arch=="x64")', {
12           'cflags' : ['-msse4.2', '-mpclmul'],
13           'xcode_settings' : {
14              'OTHER_CFLAGS' : ['-msse4.2', '-mpclmul'],
15           },
16           'sources' : [
17             'crc_folding.c',
18             'fill_window_sse.c',
19           ],
20           'conditions': [
21             ['OS=="win" and clang==1', {
22               'msvs_settings': {
23                 'VCCLCompilerTool': {
24                   'AdditionalOptions': [ '-msse4.2', '-mpclmul' ],
25                 },
26               },
27             }],
28           ],
29         }, {
30           'sources' : [ 'simd_stub.c' ],
31         }],
32         ['OS=="android"', {
33           'toolsets': ['target', 'host'],
34         }],
35       ],
36     },
37     {
38       'target_name': 'zlib',
39       'type': 'static_library',
40       'sources': [
41         'adler32.c',
42         'compress.c',
43         'crc32.c',
44         'crc32.h',
45         'deflate.c',
46         'deflate.h',
47         'gzclose.c',
48         'gzguts.h',
49         'gzlib.c',
50         'gzread.c',
51         'gzwrite.c',
52         'infback.c',
53         'inffast.c',
54         'inffast.h',
55         'inffixed.h',
56         'inflate.c',
57         'inflate.h',
58         'inftrees.c',
59         'inftrees.h',
60         'mozzconf.h',
61         'trees.c',
62         'trees.h',
63         'uncompr.c',
64         'x86.h',
65         'zconf.h',
66         'zlib.h',
67         'zutil.c',
68         'zutil.h',
69       ],
70       'dependencies' : [
71         'zlib_x86_simd'
72       ],
73       'include_dirs': [
74         '.',
75       ],
76       'direct_dependent_settings': {
77         'include_dirs': [
78           '.',
79         ],
80       },
81       'conditions': [
82         ['OS!="ios" and (target_arch=="ia32" or target_arch=="x64")', {
83           'sources' : [ 'x86.c', ],
84           'variables': {
85             'clang_warning_flags': [
86               '-Wno-incompatible-pointer-types',
87             ],
88           },
89         }],
90         ['OS!="win"', {
91           'product_name': 'chrome_zlib',
92         }], ['OS=="android"', {
93           'toolsets': ['target', 'host'],
94         }],
95       ],
96     },
97     {
98       'target_name': 'minizip',
99       'type': 'static_library',
100       'sources': [
101         'contrib/minizip/ioapi.c',
102         'contrib/minizip/ioapi.h',
103         'contrib/minizip/iowin32.c',
104         'contrib/minizip/iowin32.h',
105         'contrib/minizip/unzip.c',
106         'contrib/minizip/unzip.h',
107         'contrib/minizip/zip.c',
108         'contrib/minizip/zip.h',
109       ],
110       'dependencies': [
111         'zlib',
112       ],
113       'include_dirs': [
114         '.',
115         '../..',
116       ],
117       'direct_dependent_settings': {
118         'include_dirs': [
119           '.',
120         ],
121       },
122       'variables': {
123         'clang_warning_flags': [
124           # zlib uses `if ((a == b))` for some reason.
125           '-Wno-parentheses-equality',
126         ],
127       },
128       'conditions': [
129         ['OS!="win"', {
130           'sources!': [
131             'contrib/minizip/iowin32.c'
132           ],
133         }],
134         ['OS=="android"', {
135           'toolsets': ['target', 'host'],
136         }],
137         ['OS=="mac" or OS=="ios" or os_bsd==1 or OS=="android"', {
138           # Mac, Android and the BSDs don't have fopen64, ftello64, or
139           # fseeko64. We use fopen, ftell, and fseek instead on these
140           # systems.
141           'defines': [
142             'USE_FILE32API'
143           ],
144         }],
145       ],
146     },
147   ],