| 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 |