Chromium Code Reviews| Index: tools/gn/secondary/third_party/libjpeg_turbo/BUILD.gn |
| diff --git a/tools/gn/secondary/third_party/libjpeg_turbo/BUILD.gn b/tools/gn/secondary/third_party/libjpeg_turbo/BUILD.gn |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..2e73df71969cf60298befe781bc06ab1fdc27ca1 |
| --- /dev/null |
| +++ b/tools/gn/secondary/third_party/libjpeg_turbo/BUILD.gn |
| @@ -0,0 +1,169 @@ |
| +# Copyright (c) 2014 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. |
| + |
| +source_set("simd") { |
| + if (cpu_arch == "ia32") { |
|
brettw
2014/05/03 04:38:33
ia32 -> x86
ckocagil
2014/05/03 06:43:46
Done.
|
| + sources = [ |
| + "simd/jsimd_i386.c", |
| + "simd/jccolmmx.asm", |
| + "simd/jccolss2.asm", |
| + "simd/jcgrammx.asm", |
| + "simd/jcgrass2.asm", |
| + "simd/jcqnt3dn.asm", |
| + "simd/jcqntmmx.asm", |
| + "simd/jcqnts2f.asm", |
| + "simd/jcqnts2i.asm", |
| + "simd/jcqntsse.asm", |
| + "simd/jcsammmx.asm", |
| + "simd/jcsamss2.asm", |
| + "simd/jdcolmmx.asm", |
| + "simd/jdcolss2.asm", |
| + "simd/jdmermmx.asm", |
| + "simd/jdmerss2.asm", |
| + "simd/jdsammmx.asm", |
| + "simd/jdsamss2.asm", |
| + "simd/jf3dnflt.asm", |
| + "simd/jfmmxfst.asm", |
| + "simd/jfmmxint.asm", |
| + "simd/jfss2fst.asm", |
| + "simd/jfss2int.asm", |
| + "simd/jfsseflt.asm", |
| + "simd/ji3dnflt.asm", |
| + "simd/jimmxfst.asm", |
| + "simd/jimmxint.asm", |
| + "simd/jimmxred.asm", |
| + "simd/jiss2flt.asm", |
| + "simd/jiss2fst.asm", |
| + "simd/jiss2int.asm", |
| + "simd/jiss2red.asm", |
| + "simd/jisseflt.asm", |
| + "simd/jsimdcpu.asm", |
| + ] |
| + } else if (cpu_arch == "x64" && !is_msan) { |
| + sources = [ |
| + "simd/jsimd_x86_64.c", |
| + "simd/jccolss2-64.asm", |
| + "simd/jcgrass2-64.asm", |
| + "simd/jcqnts2f-64.asm", |
| + "simd/jcqnts2i-64.asm", |
| + "simd/jcsamss2-64.asm", |
| + "simd/jdcolss2-64.asm", |
| + "simd/jdmerss2-64.asm", |
| + "simd/jdsamss2-64.asm", |
| + "simd/jfss2fst-64.asm", |
| + "simd/jfss2int-64.asm", |
| + "simd/jfsseflt-64.asm", |
| + "simd/jiss2flt-64.asm", |
| + "simd/jiss2fst-64.asm", |
| + "simd/jiss2int-64.asm", |
| + "simd/jiss2red-64.asm", |
| + ] |
| + } else { |
| + sources = [ "jsimd_none.c" ] |
| + } |
| +} |
| + |
| +config("libjpeg_config") { |
| + include_dirs = [ "." ] |
| +} |
| + |
| +source_set("libjpeg") { |
| + sources = [ |
| + "jcapimin.c", |
| + "jcapistd.c", |
| + "jccoefct.c", |
| + "jccolor.c", |
| + "jcdctmgr.c", |
| + "jchuff.c", |
| + "jchuff.h", |
| + "jcinit.c", |
| + "jcmainct.c", |
| + "jcmarker.c", |
| + "jcmaster.c", |
| + "jcomapi.c", |
| + "jconfig.h", |
| + "jcparam.c", |
| + "jcphuff.c", |
| + "jcprepct.c", |
| + "jcsample.c", |
| + "jdapimin.c", |
| + "jdapistd.c", |
| + "jdatadst.c", |
| + "jdatasrc.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", |
| + "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", |
| + ] |
| + |
| + defines = [ |
| + "WITH_SIMD", |
| + "MOTION_JPEG_SUPPORTED", |
| + "NO_GETENV", |
| + ] |
| + |
| + configs += [ ":libjpeg_config" ] |
| + |
| + direct_dependent_configs = [ ":libjpeg_config" ] |
| + |
| + deps = [] |
| + |
| + # MemorySanitizer doesn't support assembly code, so keep it disabled in |
| + # MSan builds for now. |
| + if (is_msan || cpu_arch == "arm64" || cpu_arch == "mipsel") { |
| + sources += [ "jsimd_none.c" ] |
| + } else { |
| + deps += [ ":simd" ] |
| + } |
| + |
| + # TODO: |
| + # The ARM SIMD implementation can be used for devices that support |
| + # the NEON instruction set. This can safely be done dynamically by |
| + # probing CPU features at runtime, if you wish. |
| + # [ 'target_arch=="arm"', { |
|
brettw
2014/05/03 04:38:33
This should be pretty easy to finish now:
at the t
ckocagil
2014/05/03 06:43:46
Done.
|
| + # 'conditions': [ |
| + # [ 'arm_version >= 7 and (arm_neon == 1 or arm_neon_optional == 1)', { |
| + # 'sources': [ |
| + # 'simd/jsimd_arm.c', |
| + # 'simd/jsimd_arm_neon.S', |
| + # ], |
| + # }, { |
| + # 'sources': [ |
| + # 'jsimd_none.c', |
| + # ], |
| + # }] |
| + # ], |
| + # }], |
|
brettw
2014/05/03 04:38:33
Can you put a TODO here about Windows & Mac?
ckocagil
2014/05/03 06:43:46
About what exactly?
brettw
2014/05/05 18:09:04
It looks like there's a whole bunch of stuff in th
ckocagil
2014/05/05 23:29:42
Done.
|
| +} |