OLD | NEW |
1 # Copyright (c) 2012 The Chromium Authors. All rights reserved. | 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 | 2 # Use of this source code is governed by a BSD-style license that can be |
3 # found in the LICENSE file. | 3 # found in the LICENSE file. |
4 | 4 |
5 { | 5 { |
6 'targets': [ | 6 'targets': [ |
7 { | 7 { |
8 'target_name': 'libpng', | 8 'target_name': 'libpng', |
9 'dependencies': [ | 9 'dependencies': [ |
10 '../zlib/zlib.gyp:zlib', | 10 '../zlib/zlib.gyp:zlib', |
11 ], | 11 ], |
12 'variables': { | |
13 # Upstream uses self-assignment to avoid warnings. | |
14 'clang_warning_flags': [ '-Wno-self-assign' ] | |
15 }, | |
16 'defines': [ | |
17 'CHROME_PNG_WRITE_SUPPORT', | |
18 'PNG_USER_CONFIG', | |
19 ], | |
20 'sources': [ | 12 'sources': [ |
21 'png.c', | 13 'png.c', |
22 'png.h', | 14 'png.h', |
23 'pngconf.h', | 15 'pngconf.h', |
24 'pngerror.c', | 16 'pngerror.c', |
25 'pnggccrd.c', | |
26 'pngget.c', | 17 'pngget.c', |
| 18 'pnginfo.h', |
| 19 'pnglibconf.h', |
27 'pngmem.c', | 20 'pngmem.c', |
28 'pngpread.c', | 21 'pngpread.c', |
| 22 'pngprefix.h', |
| 23 'pngpriv.h', |
29 'pngread.c', | 24 'pngread.c', |
30 'pngrio.c', | 25 'pngrio.c', |
31 'pngrtran.c', | 26 'pngrtran.c', |
32 'pngrutil.c', | 27 'pngrutil.c', |
33 'pngset.c', | 28 'pngset.c', |
| 29 'pngstruct.h', |
34 'pngtrans.c', | 30 'pngtrans.c', |
35 'pngusr.h', | |
36 'pngvcrd.c', | |
37 'pngwio.c', | 31 'pngwio.c', |
38 'pngwrite.c', | 32 'pngwrite.c', |
39 'pngwtran.c', | 33 'pngwtran.c', |
40 'pngwutil.c', | 34 'pngwutil.c', |
41 ], | 35 ], |
42 'direct_dependent_settings': { | 36 'direct_dependent_settings': { |
43 'include_dirs': [ | 37 'include_dirs': [ |
44 '.', | 38 '.', |
45 ], | 39 ], |
46 'defines': [ | |
47 'CHROME_PNG_WRITE_SUPPORT', | |
48 'PNG_USER_CONFIG', | |
49 ], | |
50 }, | 40 }, |
51 'export_dependent_settings': [ | 41 'export_dependent_settings': [ |
52 '../zlib/zlib.gyp:zlib', | 42 '../zlib/zlib.gyp:zlib', |
53 ], | 43 ], |
54 # TODO(jschuh): http://crbug.com/167187 | 44 # TODO(jschuh): http://crbug.com/167187 |
55 'msvs_disabled_warnings': [ 4267 ], | 45 'msvs_disabled_warnings': [ 4267 ], |
56 'conditions': [ | 46 'conditions': [ |
| 47 # Disable ARM optimizations on IOS. Can't find a way to get gyp to even
try |
| 48 # to compile the optimization files. This works fine on GN. |
| 49 [ 'OS=="ios"', { |
| 50 'defines': [ |
| 51 'PNG_ARM_NEON_OPT=0', |
| 52 ], |
| 53 }], |
| 54 |
| 55 # SSE optimizations |
| 56 [ 'target_arch=="ia32" or target_arch=="x64"', { |
| 57 'defines': [ |
| 58 'PNG_INTEL_SSE_OPT=1', |
| 59 ], |
| 60 'sources': [ |
| 61 'contrib/intel/intel_init.c', |
| 62 'contrib/intel/filter_sse2_intrinsics.c', |
| 63 ], |
| 64 }], |
| 65 |
| 66 # ARM optimizations |
| 67 [ '(target_arch=="arm" or target_arch=="arm64") and OS!="ios"', { |
| 68 'defines': [ |
| 69 'PNG_ARM_NEON_OPT=2', |
| 70 'PNG_ARM_NEON_IMPLEMENTATION=1', |
| 71 ], |
| 72 'sources': [ |
| 73 'arm/arm_init.c', |
| 74 'arm/filter_neon_intrinsics.c', |
| 75 ], |
| 76 }], |
| 77 |
57 ['OS!="win"', {'product_name': 'png'}], | 78 ['OS!="win"', {'product_name': 'png'}], |
58 ['OS=="win"', { | 79 ['OS=="win"', { |
59 'type': '<(component)', | 80 'type': '<(component)', |
60 }, { | 81 }, { |
61 # Chromium libpng does not support building as a shared_library | 82 # Chromium libpng does not support building as a shared_library |
62 # on non-Windows platforms. | 83 # on non-Windows platforms. |
63 'type': 'static_library', | 84 'type': 'static_library', |
64 }], | 85 }], |
65 ['OS=="win" and component=="shared_library"', { | 86 ['OS=="win" and component=="shared_library"', { |
66 'defines': [ | 87 'defines': [ |
67 'PNG_BUILD_DLL', | 88 'PNG_BUILD_DLL', |
68 'PNG_NO_MODULEDEF', | 89 'PNG_NO_MODULEDEF', |
69 ], | 90 ], |
70 'direct_dependent_settings': { | 91 'direct_dependent_settings': { |
71 'defines': [ | 92 'defines': [ |
72 'PNG_USE_DLL', | 93 'PNG_USE_DLL', |
73 ], | 94 ], |
74 }, | 95 }, |
75 }], | 96 }], |
76 ['OS=="android" or chromecast==1', { | 97 ['OS=="android"', { |
77 'conditions': [ | 98 'toolsets': ['target', 'host'], |
78 ['OS=="android"', { | |
79 'toolsets': ['target', 'host'], | |
80 }], | |
81 ], | |
82 'defines': [ | |
83 'CHROME_PNG_READ_PACK_SUPPORT', # Required by freetype. | |
84 ], | |
85 'direct_dependent_settings': { | |
86 'defines': [ | |
87 'CHROME_PNG_READ_PACK_SUPPORT', | |
88 ], | |
89 }, | |
90 }], | 99 }], |
91 ], | 100 ], |
92 }, | 101 }, |
93 ] | 102 ] |
94 } | 103 } |
OLD | NEW |