blob: 5a464e6d33e09ec512cc359926727a1c9cc6df8a [file] [log] [blame]
# Copyright 2015 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.
# Linux should use system libexif
if (!is_linux || is_chromeos) {
# TODO(thestig): Properly support building on Linux.
config("libexif_config") {
include_dirs = [ "sources" ]
if (is_clang) {
cflags = [
"-Wno-enum-conversion",
"-Wno-switch",
"-Wno-format",
# libexif uses fabs(int) to cast to float.
"-Wno-absolute-value",
]
}
}
static_library("libexif") {
sources = [
"sources/libexif/canon/exif-mnote-data-canon.c",
"sources/libexif/canon/mnote-canon-entry.c",
"sources/libexif/canon/mnote-canon-tag.c",
"sources/libexif/exif-byte-order.c",
"sources/libexif/exif-content.c",
"sources/libexif/exif-data.c",
"sources/libexif/exif-entry.c",
"sources/libexif/exif-format.c",
"sources/libexif/exif-ifd.c",
"sources/libexif/exif-loader.c",
"sources/libexif/exif-log.c",
"sources/libexif/exif-mem.c",
"sources/libexif/exif-mnote-data.c",
"sources/libexif/exif-tag.c",
"sources/libexif/exif-utils.c",
"sources/libexif/fuji/exif-mnote-data-fuji.c",
"sources/libexif/fuji/mnote-fuji-entry.c",
"sources/libexif/fuji/mnote-fuji-tag.c",
"sources/libexif/olympus/exif-mnote-data-olympus.c",
"sources/libexif/olympus/mnote-olympus-entry.c",
"sources/libexif/olympus/mnote-olympus-tag.c",
"sources/libexif/pentax/exif-mnote-data-pentax.c",
"sources/libexif/pentax/mnote-pentax-entry.c",
"sources/libexif/pentax/mnote-pentax-tag.c",
]
include_dirs = [ "sources" ]
# TODO(GYP): Additional options for non-Windows platforms.
if (is_win) {
defines = [
# This seems like a hack, but this is what WebKit Win does.
"snprintf=_snprintf",
"inline=__inline",
]
ldflags = [ "/DEF:" + rebase_path("libexif.def") ]
cflags = [ "/wd4018" ] # size/unsigned mismatch
# TODO(GYP): Handle /analyze switch, when it will be used in GN.
} else if (is_linux) {
libs = [ "m" ]
}
configs -= [ "//build/config/compiler:chromium_code" ]
configs += [ "//build/config/compiler:no_chromium_code" ]
public_configs = [ ":libexif_config" ]
}
}