OLD | NEW |
| (Empty) |
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. | |
4 | |
5 { | |
6 'targets': [ | |
7 { | |
8 'target_name': 'libpng', | |
9 'dependencies': [ | |
10 '../zlib/zlib.gyp:zlib', | |
11 ], | |
12 'variables': { | |
13 # libpng checks that the width is not greater than PNG_SIZE_MAX. | |
14 # On platforms where size_t is 64-bits, this comparison will always | |
15 # be false. | |
16 'clang_warning_flags': [ '-Wno-tautological-constant-out-of-range-compar
e' ], | |
17 }, | |
18 'sources': [ | |
19 'png.c', | |
20 'png.h', | |
21 'pngconf.h', | |
22 'pngerror.c', | |
23 'pngget.c', | |
24 'pnginfo.h', | |
25 'pnglibconf.h', | |
26 'pngmem.c', | |
27 'pngpread.c', | |
28 'pngprefix.h', | |
29 'pngpriv.h', | |
30 'pngread.c', | |
31 'pngrio.c', | |
32 'pngrtran.c', | |
33 'pngrutil.c', | |
34 'pngset.c', | |
35 'pngstruct.h', | |
36 'pngtrans.c', | |
37 'pngwio.c', | |
38 'pngwrite.c', | |
39 'pngwtran.c', | |
40 'pngwutil.c', | |
41 ], | |
42 'direct_dependent_settings': { | |
43 'include_dirs': [ | |
44 '.', | |
45 ], | |
46 }, | |
47 'export_dependent_settings': [ | |
48 '../zlib/zlib.gyp:zlib', | |
49 ], | |
50 'msvs_disabled_warnings': [ | |
51 4267, # TODO(jschuh): http://crbug.com/167187 | |
52 4146, # Unary minus applied to unsigned type. | |
53 ], | |
54 'conditions': [ | |
55 # Disable ARM optimizations on IOS. Can't find a way to get gyp to even
try | |
56 # to compile the optimization files. This works fine on GN. | |
57 [ 'OS=="ios"', { | |
58 'defines': [ | |
59 'PNG_ARM_NEON_OPT=0', | |
60 ], | |
61 }], | |
62 | |
63 # SSE optimizations | |
64 [ 'target_arch=="ia32" or target_arch=="x64"', { | |
65 'defines': [ | |
66 'PNG_INTEL_SSE_OPT=1', | |
67 ], | |
68 'sources': [ | |
69 'contrib/intel/intel_init.c', | |
70 'contrib/intel/filter_sse2_intrinsics.c', | |
71 ], | |
72 }], | |
73 | |
74 # ARM optimizations | |
75 [ '(target_arch=="arm" or target_arch=="arm64") and OS!="ios" and arm_ne
on==1', { | |
76 'defines': [ | |
77 'PNG_ARM_NEON_OPT=2', | |
78 'PNG_ARM_NEON_IMPLEMENTATION=1', | |
79 ], | |
80 'sources': [ | |
81 'arm/arm_init.c', | |
82 'arm/filter_neon_intrinsics.c', | |
83 ], | |
84 }], | |
85 | |
86 ['OS!="win"', {'product_name': 'png'}], | |
87 ['OS=="win"', { | |
88 'type': '<(component)', | |
89 }, { | |
90 # Chromium libpng does not support building as a shared_library | |
91 # on non-Windows platforms. | |
92 'type': 'static_library', | |
93 }], | |
94 ['OS=="win" and component=="shared_library"', { | |
95 'defines': [ | |
96 'PNG_BUILD_DLL', | |
97 'PNG_NO_MODULEDEF', | |
98 ], | |
99 'direct_dependent_settings': { | |
100 'defines': [ | |
101 'PNG_USE_DLL', | |
102 ], | |
103 }, | |
104 }], | |
105 ['OS=="android"', { | |
106 'toolsets': ['target', 'host'], | |
107 }], | |
108 ], | |
109 }, | |
110 ] | |
111 } | |
OLD | NEW |