| # Copyright (c) 2012 The Chromium Authors. All rights reserved. |
| # Use of this source code is governed by a BSD-style license that can be |
| # found in the LICENSE file. |
| |
| { |
| 'variables': { |
| 'conditions': [ |
| [ 'os_posix == 1 and OS != "mac" and OS != "android"', { |
| # Maybe link to system .so once the security concerns are thought |
| # through, since we already use it due to GTK. |
| 'use_system_libpng%': 0, |
| }, { # os_posix != 1 or OS == "mac" |
| 'use_system_libpng%': 0, |
| }], |
| ], |
| }, |
| 'conditions': [ |
| ['use_system_libpng==0', { |
| 'targets': [ |
| { |
| 'target_name': 'libpng', |
| 'dependencies': [ |
| '../zlib/zlib.gyp:zlib', |
| ], |
| 'defines': [ |
| 'CHROME_PNG_WRITE_SUPPORT', |
| 'PNG_USER_CONFIG', |
| ], |
| 'sources': [ |
| 'png.c', |
| 'png.h', |
| 'pngconf.h', |
| 'pngerror.c', |
| 'pnggccrd.c', |
| 'pngget.c', |
| 'pngmem.c', |
| 'pngpread.c', |
| 'pngread.c', |
| 'pngrio.c', |
| 'pngrtran.c', |
| 'pngrutil.c', |
| 'pngset.c', |
| 'pngtrans.c', |
| 'pngusr.h', |
| 'pngvcrd.c', |
| 'pngwio.c', |
| 'pngwrite.c', |
| 'pngwtran.c', |
| 'pngwutil.c', |
| ], |
| 'direct_dependent_settings': { |
| 'include_dirs': [ |
| '.', |
| ], |
| 'defines': [ |
| 'CHROME_PNG_WRITE_SUPPORT', |
| 'PNG_USER_CONFIG', |
| ], |
| }, |
| 'export_dependent_settings': [ |
| '../zlib/zlib.gyp:zlib', |
| ], |
| 'msvs_disabled_warnings': [ |
| # Level 1 (but documentation says 3) - incompatible type conversion. |
| 4133, |
| ], |
| 'conditions': [ |
| ['clang == 1', { |
| 'cflags': [ |
| '-Wno-tautological-compare', |
| ], |
| }], |
| ['OS!="win"', {'product_name': 'png'}], |
| ['OS=="win"', { |
| 'type': '<(component)', |
| }, { |
| # Chromium libpng does not support building as a shared_library |
| # on non-Windows platforms. |
| 'type': 'static_library', |
| }], |
| ['OS=="win" and component=="shared_library"', { |
| 'defines': [ |
| 'PNG_BUILD_DLL', |
| 'PNG_NO_MODULEDEF', |
| ], |
| 'direct_dependent_settings': { |
| 'defines': [ |
| 'PNG_USE_DLL', |
| ], |
| }, |
| }], |
| ['OS=="android"', { |
| 'toolsets': ['target', 'host'], |
| }], |
| ], |
| }, |
| ] |
| }, { |
| 'conditions': [ |
| ['sysroot!=""', { |
| 'variables': { |
| 'pkg-config': '../../build/linux/pkg-config-wrapper "<(sysroot)" "<(target_arch)"', |
| }, |
| }, { |
| 'variables': { |
| 'pkg-config': 'pkg-config' |
| }, |
| }], |
| ], |
| 'targets': [ |
| { |
| 'target_name': 'libpng', |
| 'type': 'none', |
| 'dependencies': [ |
| '../zlib/zlib.gyp:zlib', |
| ], |
| 'direct_dependent_settings': { |
| 'cflags': [ |
| '<!@(<(pkg-config) --cflags libpng)', |
| ], |
| }, |
| 'link_settings': { |
| 'ldflags': [ |
| '<!@(<(pkg-config) --libs-only-L --libs-only-other libpng)', |
| ], |
| 'libraries': [ |
| '<!@(<(pkg-config) --libs-only-l libpng)', |
| ], |
| }, |
| 'variables': { |
| 'headers_root_path': '.', |
| 'header_filenames': [ |
| 'png.h', |
| 'pngconf.h', |
| ], |
| }, |
| 'includes': [ |
| '../../build/shim_headers.gypi', |
| ], |
| }, |
| ], |
| }], |
| ], |
| } |