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.
8 ['OS == "linux" and chromeos==0', {
9 'use_system_libexif%': 1,
10 }, { # OS != "linux" and chromeos==0
11 'use_system_libexif%': 0,
16 ['use_system_libexif==0', {
19 'target_name': 'libexif',
20 'type': 'loadable_module',
22 'sources/libexif/exif-byte-order.c',
23 'sources/libexif/exif-content.c',
24 'sources/libexif/exif-data.c',
25 'sources/libexif/exif-entry.c',
26 'sources/libexif/exif-format.c',
27 'sources/libexif/exif-ifd.c',
28 'sources/libexif/exif-loader.c',
29 'sources/libexif/exif-log.c',
30 'sources/libexif/exif-mem.c',
31 'sources/libexif/exif-mnote-data.c',
32 'sources/libexif/exif-tag.c',
33 'sources/libexif/exif-utils.c',
34 'sources/libexif/canon/exif-mnote-data-canon.c',
35 'sources/libexif/canon/mnote-canon-entry.c',
36 'sources/libexif/canon/mnote-canon-tag.c',
37 'sources/libexif/fuji/exif-mnote-data-fuji.c',
38 'sources/libexif/fuji/mnote-fuji-entry.c',
39 'sources/libexif/fuji/mnote-fuji-tag.c',
40 'sources/libexif/olympus/exif-mnote-data-olympus.c',
41 'sources/libexif/olympus/mnote-olympus-entry.c',
42 'sources/libexif/olympus/mnote-olympus-tag.c',
43 'sources/libexif/pentax/exif-mnote-data-pentax.c',
44 'sources/libexif/pentax/mnote-pentax-entry.c',
45 'sources/libexif/pentax/mnote-pentax-tag.c',
50 'direct_dependent_settings': {
56 'clang_warning_flags': [
57 '-Wno-enum-conversion',
60 # libexif uses fabs(int) to cast to float.
61 '-Wno-absolute-value',
65 ['os_posix==1 and OS!="mac"', {
66 'cflags!': ['-fvisibility=hidden'],
78 'GCC_SYMBOLS_PRIVATE_EXTERN': 'NO', # no -fvisibility=hidden
82 'product_name': 'libexif',
87 # This seems like a hack, but this is what WebKit Win does.
91 'msvs_disabled_warnings': [
92 4018, # size/unsigned mismatch
93 4267, # size_t -> ExifLong truncation on amd64
95 # As of VS 2013 Update 3, building this project with /analyze hits
96 # an internal compiler error on exif-entry.c. This halts the build
97 # and prevents subsequent analysis. Therefore, /analyze is
98 # disabled for this project. See this bug for details:
99 # https://connect.microsoft.com/VisualStudio/feedback/details/1014689/internal-compiler-error
101 'VCCLCompilerTool': {
102 'AdditionalOptions!': [ '/analyze' ]
109 }, { # 'use_system_libexif!=0
113 'pkg-config': '../../build/linux/pkg-config-wrapper "<(sysroot)" "<(target_arch)" "<(system_libdir)"',
117 'pkg-config': 'pkg-config'
123 'target_name': 'libexif',
125 'direct_dependent_settings': {
127 '<!@(<(pkg-config) --cflags libexif)',
130 'USE_SYSTEM_LIBEXIF',