Roll src/third_party/skia ef6c50a:d0fff5b
[chromium-blink-merge.git] / third_party / libpng / BUILD.gn
blob21420596db7fcaae359799e594aec3d1e320947f
1 # Copyright 2014 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.
5 config("libpng_config") {
6   include_dirs = [ "." ]
8   defines = [
9     "CHROME_PNG_WRITE_SUPPORT",
10     "PNG_USER_CONFIG",
11   ]
13   if (is_android) {
14     #'toolsets': ['target', 'host'],
15     defines += [ "CHROME_PNG_READ_PACK_SUPPORT" ]  # Required by freetype.
16   }
18   if (is_win) {
19     if (is_component_build) {
20       defines += [
21         "PNG_USE_DLL",
22         "PNG_NO_MODULEDEF",
23       ]
24     }
25   }
28 # Must be in a config because of how GN orders flags (otherwise -Wall will
29 # appear after this, and turn it back on).
30 config("clang_warnings") {
31   if (is_clang) {
32     # Upstream uses self-assignment to avoid warnings.
33     cflags = [ "-Wno-self-assign" ]
34   }
37 source_set("libpng_sources") {
38   sources = [
39     "png.c",
40     "png.h",
41     "pngconf.h",
42     "pngerror.c",
43     "pnggccrd.c",
44     "pngget.c",
45     "pngmem.c",
46     "pngpread.c",
47     "pngread.c",
48     "pngrio.c",
49     "pngrtran.c",
50     "pngrutil.c",
51     "pngset.c",
52     "pngtrans.c",
53     "pngusr.h",
54     "pngvcrd.c",
55     "pngwio.c",
56     "pngwrite.c",
57     "pngwtran.c",
58     "pngwutil.c",
59   ]
61   configs -= [ "//build/config/compiler:chromium_code" ]
62   configs += [ "//build/config/compiler:no_chromium_code" ]
64   if (is_win && is_component_build) {
65     defines = [ "PNG_BUILD_DLL" ]
66   }
68   public_configs = [ ":libpng_config" ]
70   public_deps = [
71     "//third_party/zlib",
72   ]
74   configs += [ ":clang_warnings" ]
77 if (is_win) {
78   component("libpng") {
79     public_deps = [
80       ":libpng_sources",
81     ]
82   }
83 } else {
84   group("libpng") {
85     public_deps = [
86       ":libpng_sources",
87     ]
88   }