# 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/portable:add_exceptions",
    "//gn/portable:add_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 == "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)" ]
  }
}
