# Copyright (c) 2012 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.

{
  'targets': [
    {
      'target_name': 'libjpeg',
      'type': 'static_library',
      'include_dirs': [
        '.',
      ],
      'defines': [
        'BMP_SUPPORTED',
        'PPM_SUPPORTED'
      ],
      'variables': {
        'no_simd_files': [
          'jsimd.h',
          'jsimd_none.c',
        ]
      },
      'sources': [
        'cdjpeg.h',
        'jaricom.c',
        'jcapimin.c',
        'jcapistd.c',
        'jcarith.c',
        'jccoefct.c',
        'jccolor.c',
        'jcdctmgr.c',
        'jchuff.c',
        'jchuff.h',
        'jcinit.c',
        'jcmainct.c',
        'jcmarker.c',
        'jcmaster.c',
        'jcomapi.c',
        'jconfig.h',
        'jconfigint.h',
        'jcparam.c',
        'jcphuff.c',
        'jcprepct.c',
        'jcsample.c',
        'jctrans.c',
        'jdapimin.c',
        'jdapistd.c',
        'jdarith.c',
        'jdatadst-tj.c',
        'jdatasrc-tj.c',
        'jdcoefct.c',
        'jdcolor.c',
        'jdct.h',
        'jddctmgr.c',
        'jdhuff.c',
        'jdhuff.h',
        'jdinput.c',
        'jdmainct.c',
        'jdmarker.c',
        'jdmaster.c',
        'jdmerge.c',
        'jdphuff.c',
        'jdpostct.c',
        'jdsample.c',
        'jdtrans.c',
        'jerror.c',
        'jerror.h',
        'jfdctflt.c',
        'jfdctfst.c',
        'jfdctint.c',
        'jidctflt.c',
        'jidctfst.c',
        'jidctint.c',
        'jidctred.c',
        'jinclude.h',
        'jmemmgr.c',
        'jmemnobs.c',
        'jmemsys.h',
        'jmorecfg.h',
        'jpegint.h',
        'jpeglib.h',
        'jpeglibmangler.h',
        'jquant1.c',
        'jquant2.c',
        'jutils.c',
        'jversion.h',
        'transupp.h',
        'transupp.c',
        'turbojpeg.h',
        'turbojpeg.c',
        '<@(no_simd_files)',
        # These dependecies are needed for file io
        # and are not currently used by Cobalt.
        #'rdbmp.c',
        #'rdppm.c',
        #'wrbmp.c',
        #'wrppm.c',
        #'jdatasrc.c',
        #'jdatadst.c',
      ],
      'conditions': [
        # arm processor specific optimizations.
        ['target_arch == "arm" and arm_neon == 1', {
          'sources!': [
            '<@(no_simd_files)'
          ],
          'sources': [
            'simd/arm/jsimd.c',
            'simd/arm/jsimd_neon.S',
            'simd/jsimd.h',
          ],
        }],
        # x86_64 specific optimizations.
        ['<(yasm_exists) == 1 and target_arch == "x64"', {
          'sources!': [
            '<@(no_simd_files)'
          ],
          'sources': [
            'simd/x86_64/jsimdcpu.asm',
            'simd/x86_64/jfdctflt-sse.asm',
            'simd/x86_64/jccolor-sse2.asm',
            'simd/x86_64/jcgray-sse2.asm',
            'simd/x86_64/jchuff-sse2.asm',
            'simd/x86_64/jcphuff-sse2.asm',
            'simd/x86_64/jcsample-sse2.asm',
            'simd/x86_64/jdcolor-sse2.asm',
            'simd/x86_64/jdmerge-sse2.asm',
            'simd/x86_64/jdsample-sse2.asm',
            'simd/x86_64/jfdctfst-sse2.asm',
            'simd/x86_64/jfdctint-sse2.asm',
            'simd/x86_64/jidctflt-sse2.asm',
            'simd/x86_64/jidctfst-sse2.asm',
            'simd/x86_64/jidctint-sse2.asm',
            'simd/x86_64/jidctred-sse2.asm',
            'simd/x86_64/jquantf-sse2.asm',
            'simd/x86_64/jquanti-sse2.asm',
            'simd/x86_64/jccolor-avx2.asm',
            'simd/x86_64/jcgray-avx2.asm',
            'simd/x86_64/jcsample-avx2.asm',
            'simd/x86_64/jdcolor-avx2.asm',
            'simd/x86_64/jdmerge-avx2.asm',
            'simd/x86_64/jdsample-avx2.asm',
            'simd/x86_64/jfdctint-avx2.asm',
            'simd/x86_64/jidctint-avx2.asm',
            'simd/x86_64/jquanti-avx2.asm',
            'simd/x86_64/jsimd.c',
            'simd/jsimd.h',
          ],
          # Rules for assembling .asm files with yasm.
          'rules': [
            {
              'rule_name': 'assemble',
              'extension': 'asm',
                  'inputs': [ ],
                  'outputs': [
                    '<(PRODUCT_DIR)/obj/third_party/libjpeg-turbo/<(RULE_INPUT_ROOT).asm.o',
                  ],
                  'action': [
                    '<(path_to_yasm)',
                    '-DELF',
                    '-D__x86_64__',
                    '-DPIC',
                    '-Isimd/nasm/',
                    '-Isimd/x86_64/',
                    '-f',
                    'elf64',
                    '-o',
                    "<(PRODUCT_DIR)/$out",
                    '<(RULE_INPUT_PATH)',
                  ],
                  'process_outputs_as_sources': 1,
                  'message': 'Building <(RULE_INPUT_ROOT).asm.o',
            },
          ],
          },
        ]
      ],
    },
  ],
}
