|  | # Copyright 2014 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. | 
|  |  | 
|  | config("libpng_config") { | 
|  | include_dirs = [ | 
|  | ".", | 
|  | ] | 
|  |  | 
|  | defines = [ | 
|  | "CHROME_PNG_WRITE_SUPPORT", | 
|  | "PNG_USER_CONFIG", | 
|  | ] | 
|  |  | 
|  | if (is_android) { | 
|  | #'toolsets': ['target', 'host'], | 
|  | defines += [ | 
|  | "CHROME_PNG_READ_PACK_SUPPORT",  # Required by freetype. | 
|  | ] | 
|  | } | 
|  |  | 
|  | if (is_win) { | 
|  | if (component_mode == "shared_library") { | 
|  | defines += [ | 
|  | "PNG_USE_DLL", | 
|  | "PNG_NO_MODULEDEF", | 
|  | ] | 
|  | } | 
|  | } | 
|  | } | 
|  |  | 
|  | source_set("libpng_sources") { | 
|  | 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", | 
|  | ] | 
|  |  | 
|  | configs -= [ "//build/config/compiler:chromium_code" ] | 
|  | configs += [ "//build/config/compiler:no_chromium_code" ] | 
|  |  | 
|  | if (is_win) { | 
|  | cflags = [ "/wd4267" ]  # TODO(jschuh): http://crbug.com/167187 | 
|  |  | 
|  | if (component_mode == "shared_library") { | 
|  | defines = [ "PNG_BUILD_DLL" ] | 
|  | } | 
|  | } | 
|  |  | 
|  | public_configs = [ ":libpng_config" ] | 
|  |  | 
|  | public_deps = [ "//third_party/zlib" ] | 
|  | } | 
|  |  | 
|  | if (is_win) { | 
|  | component("libpng") { | 
|  | public_deps = [ ":libpng_sources" ] | 
|  | } | 
|  | } else { | 
|  | group("libpng") { | 
|  | public_deps = [ ":libpng_sources" ] | 
|  | } | 
|  | } |