aboutsummaryrefslogtreecommitdiffhomepage
path: root/third_party/dng_sdk
diff options
context:
space:
mode:
authorGravatar scroggo <scroggo@chromium.org>2016-10-31 09:02:57 -0700
committerGravatar Commit bot <commit-bot@chromium.org>2016-10-31 09:02:57 -0700
commitf84ad646f94ee959eb17d05f072935edd1ad14fd (patch)
treeb3c2c605b3a24cb84ee17bc8a3a2a0f680c8fc49 /third_party/dng_sdk
parenta9fd106d0c4dd5449c607add0716db7bbd81bc73 (diff)
Reland "Build SkRawCodec in GN"
Add BUILD.gn files for dng_sdk and piex and updated BUILD.gn to build SkRawCodec. We stopped testing raw images when we switched to GN, so this will bring back our testing. Leave SkRawCodec disabled on Windows, where we've had problems in the past. Originally landed in issue 4603. Reverted due to build errors. GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2463433002 Review-Url: https://codereview.chromium.org/2463433002
Diffstat (limited to 'third_party/dng_sdk')
-rw-r--r--third_party/dng_sdk/BUILD.gn189
1 files changed, 189 insertions, 0 deletions
diff --git a/third_party/dng_sdk/BUILD.gn b/third_party/dng_sdk/BUILD.gn
new file mode 100644
index 0000000000..07b19905a8
--- /dev/null
+++ b/third_party/dng_sdk/BUILD.gn
@@ -0,0 +1,189 @@
+# Copyright 2016 Google Inc.
+#
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+# The Adobe DNG SDK, an API for reading and writing DNG files.
+
+declare_args() {
+}
+
+import("../third_party.gni")
+
+third_party("dng_sdk") {
+ public_include_dirs = [ "../externals/dng_sdk/source" ]
+
+ configs -= [
+ "//gn:no_exceptions",
+ "//gn:no_rtti",
+ ]
+
+ public_defines = [ "qDNGBigEndian=0" ]
+
+ defines = [
+ "qDNGReportErrors=0",
+ "qDNGThreadSafe=1",
+ "qDNGUseLibJPEG=1",
+ "qDNGUseXMP=0",
+ "qDNGValidate=0",
+ "qDNGValidateTarget=1",
+ "UNIX_ENV=1",
+ ]
+
+ deps = [
+ "//third_party/libjpeg-turbo:libjpeg",
+ "//third_party/zlib",
+ ]
+
+ sources = [
+ "../externals/dng_sdk/source/RawEnvironment.h",
+ "../externals/dng_sdk/source/dng_1d_function.cpp",
+ "../externals/dng_sdk/source/dng_1d_function.h",
+ "../externals/dng_sdk/source/dng_1d_table.cpp",
+ "../externals/dng_sdk/source/dng_1d_table.h",
+ "../externals/dng_sdk/source/dng_abort_sniffer.cpp",
+ "../externals/dng_sdk/source/dng_abort_sniffer.h",
+ "../externals/dng_sdk/source/dng_area_task.cpp",
+ "../externals/dng_sdk/source/dng_area_task.h",
+ "../externals/dng_sdk/source/dng_assertions.h",
+ "../externals/dng_sdk/source/dng_auto_ptr.h",
+ "../externals/dng_sdk/source/dng_bad_pixels.cpp",
+ "../externals/dng_sdk/source/dng_bad_pixels.h",
+ "../externals/dng_sdk/source/dng_bottlenecks.cpp",
+ "../externals/dng_sdk/source/dng_bottlenecks.h",
+ "../externals/dng_sdk/source/dng_camera_profile.cpp",
+ "../externals/dng_sdk/source/dng_camera_profile.h",
+ "../externals/dng_sdk/source/dng_classes.h",
+ "../externals/dng_sdk/source/dng_color_space.cpp",
+ "../externals/dng_sdk/source/dng_color_space.h",
+ "../externals/dng_sdk/source/dng_color_spec.cpp",
+ "../externals/dng_sdk/source/dng_color_spec.h",
+ "../externals/dng_sdk/source/dng_date_time.cpp",
+ "../externals/dng_sdk/source/dng_date_time.h",
+ "../externals/dng_sdk/source/dng_errors.h",
+ "../externals/dng_sdk/source/dng_exceptions.cpp",
+ "../externals/dng_sdk/source/dng_exceptions.h",
+ "../externals/dng_sdk/source/dng_exif.cpp",
+ "../externals/dng_sdk/source/dng_exif.h",
+ "../externals/dng_sdk/source/dng_fast_module.h",
+ "../externals/dng_sdk/source/dng_file_stream.cpp",
+ "../externals/dng_sdk/source/dng_file_stream.h",
+ "../externals/dng_sdk/source/dng_filter_task.cpp",
+ "../externals/dng_sdk/source/dng_filter_task.h",
+ "../externals/dng_sdk/source/dng_fingerprint.cpp",
+ "../externals/dng_sdk/source/dng_fingerprint.h",
+ "../externals/dng_sdk/source/dng_flags.h",
+ "../externals/dng_sdk/source/dng_gain_map.cpp",
+ "../externals/dng_sdk/source/dng_gain_map.h",
+ "../externals/dng_sdk/source/dng_globals.cpp",
+ "../externals/dng_sdk/source/dng_globals.h",
+ "../externals/dng_sdk/source/dng_host.cpp",
+ "../externals/dng_sdk/source/dng_host.h",
+ "../externals/dng_sdk/source/dng_hue_sat_map.cpp",
+ "../externals/dng_sdk/source/dng_hue_sat_map.h",
+ "../externals/dng_sdk/source/dng_ifd.cpp",
+ "../externals/dng_sdk/source/dng_ifd.h",
+ "../externals/dng_sdk/source/dng_image.cpp",
+ "../externals/dng_sdk/source/dng_image.h",
+ "../externals/dng_sdk/source/dng_image_writer.cpp",
+ "../externals/dng_sdk/source/dng_image_writer.h",
+ "../externals/dng_sdk/source/dng_info.cpp",
+ "../externals/dng_sdk/source/dng_info.h",
+ "../externals/dng_sdk/source/dng_iptc.cpp",
+ "../externals/dng_sdk/source/dng_iptc.h",
+ "../externals/dng_sdk/source/dng_jpeg_image.cpp",
+ "../externals/dng_sdk/source/dng_jpeg_image.h",
+ "../externals/dng_sdk/source/dng_jpeg_memory_source.cpp",
+ "../externals/dng_sdk/source/dng_jpeg_memory_source.h",
+ "../externals/dng_sdk/source/dng_jpeglib.h",
+ "../externals/dng_sdk/source/dng_lens_correction.cpp",
+ "../externals/dng_sdk/source/dng_lens_correction.h",
+ "../externals/dng_sdk/source/dng_linearization_info.cpp",
+ "../externals/dng_sdk/source/dng_linearization_info.h",
+ "../externals/dng_sdk/source/dng_lossless_jpeg.cpp",
+ "../externals/dng_sdk/source/dng_lossless_jpeg.h",
+ "../externals/dng_sdk/source/dng_matrix.cpp",
+ "../externals/dng_sdk/source/dng_matrix.h",
+ "../externals/dng_sdk/source/dng_memory.cpp",
+ "../externals/dng_sdk/source/dng_memory.h",
+ "../externals/dng_sdk/source/dng_memory_stream.cpp",
+ "../externals/dng_sdk/source/dng_memory_stream.h",
+ "../externals/dng_sdk/source/dng_misc_opcodes.cpp",
+ "../externals/dng_sdk/source/dng_misc_opcodes.h",
+ "../externals/dng_sdk/source/dng_mosaic_info.cpp",
+ "../externals/dng_sdk/source/dng_mosaic_info.h",
+ "../externals/dng_sdk/source/dng_mutex.cpp",
+ "../externals/dng_sdk/source/dng_mutex.h",
+ "../externals/dng_sdk/source/dng_negative.cpp",
+ "../externals/dng_sdk/source/dng_negative.h",
+ "../externals/dng_sdk/source/dng_opcode_list.cpp",
+ "../externals/dng_sdk/source/dng_opcode_list.h",
+ "../externals/dng_sdk/source/dng_opcodes.cpp",
+ "../externals/dng_sdk/source/dng_opcodes.h",
+ "../externals/dng_sdk/source/dng_orientation.cpp",
+ "../externals/dng_sdk/source/dng_orientation.h",
+ "../externals/dng_sdk/source/dng_parse_utils.cpp",
+ "../externals/dng_sdk/source/dng_parse_utils.h",
+ "../externals/dng_sdk/source/dng_pixel_buffer.cpp",
+ "../externals/dng_sdk/source/dng_pixel_buffer.h",
+ "../externals/dng_sdk/source/dng_point.cpp",
+ "../externals/dng_sdk/source/dng_point.h",
+ "../externals/dng_sdk/source/dng_preview.cpp",
+ "../externals/dng_sdk/source/dng_preview.h",
+ "../externals/dng_sdk/source/dng_pthread.cpp",
+ "../externals/dng_sdk/source/dng_pthread.h",
+ "../externals/dng_sdk/source/dng_rational.cpp",
+ "../externals/dng_sdk/source/dng_rational.h",
+ "../externals/dng_sdk/source/dng_read_image.cpp",
+ "../externals/dng_sdk/source/dng_read_image.h",
+ "../externals/dng_sdk/source/dng_rect.cpp",
+ "../externals/dng_sdk/source/dng_rect.h",
+ "../externals/dng_sdk/source/dng_ref_counted_block.cpp",
+ "../externals/dng_sdk/source/dng_ref_counted_block.h",
+ "../externals/dng_sdk/source/dng_reference.cpp",
+ "../externals/dng_sdk/source/dng_reference.h",
+ "../externals/dng_sdk/source/dng_render.cpp",
+ "../externals/dng_sdk/source/dng_render.h",
+ "../externals/dng_sdk/source/dng_resample.cpp",
+ "../externals/dng_sdk/source/dng_resample.h",
+ "../externals/dng_sdk/source/dng_safe_arithmetic.cpp",
+ "../externals/dng_sdk/source/dng_safe_arithmetic.h",
+ "../externals/dng_sdk/source/dng_sdk_limits.h",
+ "../externals/dng_sdk/source/dng_shared.cpp",
+ "../externals/dng_sdk/source/dng_shared.h",
+ "../externals/dng_sdk/source/dng_simple_image.cpp",
+ "../externals/dng_sdk/source/dng_simple_image.h",
+ "../externals/dng_sdk/source/dng_spline.cpp",
+ "../externals/dng_sdk/source/dng_spline.h",
+ "../externals/dng_sdk/source/dng_stream.cpp",
+ "../externals/dng_sdk/source/dng_stream.h",
+ "../externals/dng_sdk/source/dng_string.cpp",
+ "../externals/dng_sdk/source/dng_string.h",
+ "../externals/dng_sdk/source/dng_string_list.cpp",
+ "../externals/dng_sdk/source/dng_string_list.h",
+ "../externals/dng_sdk/source/dng_tag_codes.h",
+ "../externals/dng_sdk/source/dng_tag_types.cpp",
+ "../externals/dng_sdk/source/dng_tag_types.h",
+ "../externals/dng_sdk/source/dng_tag_values.h",
+ "../externals/dng_sdk/source/dng_temperature.cpp",
+ "../externals/dng_sdk/source/dng_temperature.h",
+ "../externals/dng_sdk/source/dng_tile_iterator.cpp",
+ "../externals/dng_sdk/source/dng_tile_iterator.h",
+ "../externals/dng_sdk/source/dng_tone_curve.cpp",
+ "../externals/dng_sdk/source/dng_tone_curve.h",
+ "../externals/dng_sdk/source/dng_types.h",
+ "../externals/dng_sdk/source/dng_uncopyable.h",
+ "../externals/dng_sdk/source/dng_utils.cpp",
+ "../externals/dng_sdk/source/dng_utils.h",
+ "../externals/dng_sdk/source/dng_xy_coord.cpp",
+ "../externals/dng_sdk/source/dng_xy_coord.h",
+ ]
+
+ if (current_cpu == "x86" || current_cpu == "mipsel" || current_cpu == "arm") {
+ # DNG SDK uses __builtin_smulll_overflow() to detect 64x64 bit multiply overflow.
+ # On some platforms, the compiler implements this with __mulodi4().
+ # I can't quite figure out how to link that here, so instead here's a shim for
+ # __builtin_smulll_overflow() that multiplies normally assuming no overflow.
+ # Tracked in b/29412086.
+ defines += [ "__builtin_smulll_overflow(x,y,p)=(*(p)=(x)*(y), false)" ]
+ }
+}