| # 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' |
| ], |
| '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.c', |
| 'jdatadst-tj.c', |
| 'jdatasrc.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', |
| 'rdbmp.c', |
| 'rdppm.c', |
| 'transupp.h', |
| 'transupp.c', |
| 'turbojpeg.h', |
| 'turbojpeg.c', |
| 'wrbmp.c', |
| 'wrppm.c', |
| ], |
| 'conditions': [ |
| #x86_64 specific optimizations |
| ['target_arch == "x64"', { |
| '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 yarn |
| 'rules': [ |
| { |
| 'rule_name': 'assemble', |
| 'extension': 'asm', |
| 'inputs': [ ], |
| 'outputs': [ |
| '../../out/<(RULE_INPUT_ROOT).asm.o', |
| ], |
| 'action': [ |
| 'yasm', |
| '-DELF', |
| '-D__x86_64__', |
| '-DPIC', |
| '-Isimd/nasm/', |
| '-Isimd/x86_64/', |
| '-f', |
| 'elf64', |
| '-o', |
| "$out", |
| '<(RULE_INPUT_PATH)', |
| ], |
| 'process_outputs_as_sources': 1, |
| 'message': 'Building <(RULE_INPUT_ROOT).asm.o', |
| }, |
| ], |
| }, |
| #no optimizations |
| { |
| 'sources': [ |
| 'jsimd.h', |
| 'jsimd_none.c' |
| ] |
| }] |
| ], |
| }, |
| ], |
| } |