Index: third_party/libexif/BUILD.gn |
diff --git a/third_party/libexif/BUILD.gn b/third_party/libexif/BUILD.gn |
new file mode 100644 |
index 0000000000000000000000000000000000000000..657a0da5831f06f1069c1d12000a4d8e920a4864 |
--- /dev/null |
+++ b/third_party/libexif/BUILD.gn |
@@ -0,0 +1,67 @@ |
+# 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" ] |
+ } |
+ |
+ static_library("libexif") { |
Nico
2015/09/02 22:54:49
doesn't this have to be a dll? image_metadata_extr
Slava Chigrin
2015/09/03 19:28:17
Yes, my bad. In GYP it defined ad "loadable_module
|
+ sources = [ |
+ "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/canon/exif-mnote-data-canon.c", |
+ "sources/libexif/canon/mnote-canon-entry.c", |
+ "sources/libexif/canon/mnote-canon-tag.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 |
+ "/wd4267", # size_t -> ExifLong truncation on amd64 |
+ ] |
+ |
+ # TODO(GYP): Handle /analyze switch, when it will be used in GN. |
+ } |
+ |
+ configs -= [ "//build/config/compiler:chromium_code" ] |
+ configs += [ "//build/config/compiler:no_chromium_code" ] |
+ |
+ public_configs = [ ":libexif_config" ] |
+ } |
+} |