Fix crash on app list start page contents not existing.
[chromium-blink-merge.git] / third_party / libexif / BUILD.gn
blobbe8caf6ff16bb37bf43f9bc424d8bb7c2e2ad28b
1 # Copyright 2015 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 # Linux should use system libexif
6 if (!is_linux || is_chromeos) {
8   # TODO(thestig): Properly support building on Linux.
9   config("libexif_config") {
10     include_dirs = [ "sources" ]
11   }
13   static_library("libexif") {
14     sources = [
15       "sources/libexif/exif-byte-order.c",
16       "sources/libexif/exif-content.c",
17       "sources/libexif/exif-data.c",
18       "sources/libexif/exif-entry.c",
19       "sources/libexif/exif-format.c",
20       "sources/libexif/exif-ifd.c",
21       "sources/libexif/exif-loader.c",
22       "sources/libexif/exif-log.c",
23       "sources/libexif/exif-mem.c",
24       "sources/libexif/exif-mnote-data.c",
25       "sources/libexif/exif-tag.c",
26       "sources/libexif/exif-utils.c",
27       "sources/libexif/canon/exif-mnote-data-canon.c",
28       "sources/libexif/canon/mnote-canon-entry.c",
29       "sources/libexif/canon/mnote-canon-tag.c",
30       "sources/libexif/fuji/exif-mnote-data-fuji.c",
31       "sources/libexif/fuji/mnote-fuji-entry.c",
32       "sources/libexif/fuji/mnote-fuji-tag.c",
33       "sources/libexif/olympus/exif-mnote-data-olympus.c",
34       "sources/libexif/olympus/mnote-olympus-entry.c",
35       "sources/libexif/olympus/mnote-olympus-tag.c",
36       "sources/libexif/pentax/exif-mnote-data-pentax.c",
37       "sources/libexif/pentax/mnote-pentax-entry.c",
38       "sources/libexif/pentax/mnote-pentax-tag.c",
39     ]
41     include_dirs = [ "sources" ]
43     # TODO(GYP): Additional options for non-Windows platforms.
45     if (is_win) {
46       defines = [
47         # This seems like a hack, but this is what WebKit Win does.
48         "snprintf=_snprintf",
49         "inline=__inline",
50       ]
52       ldflags = [ "/DEF:" + rebase_path("libexif.def") ]
54       cflags = [
55         "/wd4018",  # size/unsigned mismatch
56       ]
58       # TODO(GYP): Handle /analyze switch, when it will be used in GN.
59     } else if (is_linux) {
60       libs = [ "m" ]
61     }
63     configs -= [ "//build/config/compiler:chromium_code" ]
64     configs += [ "//build/config/compiler:no_chromium_code" ]
66     public_configs = [ ":libexif_config" ]
67   }