| 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..938d71e24458896ae9cab9781a7f1b841a039d5c
|
| --- /dev/null
|
| +++ b/tools/gn/secondary/third_party/libjpeg_turbo/BUILD.gn
|
| @@ -0,0 +1,164 @@
|
| +# 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.
|
| +
|
| +# Do not use the targets in this file unless you need a certain libjpeg
|
| +# implementation. Use the meta target //third_party:jpeg instead.
|
| +
|
| +if (cpu_arch == "arm") {
|
| + import("//build/config/arm.gni")
|
| +}
|
| +
|
| +source_set("simd") {
|
| + if (cpu_arch == "x86") {
|
| + 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") {
|
| + 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 if (cpu_arch == "arm" && arm_version >= 7 &&
|
| + (arm_use_neon || arm_optionally_use_neon)) {
|
| + sources = [
|
| + "simd/jsimd_arm.c",
|
| + "simd/jsimd_arm_neon.S",
|
| + ]
|
| + } 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" ]
|
| +
|
| + # MemorySanitizer doesn't support assembly code, so keep it disabled in
|
| + # MSan builds for now.
|
| + # TODO: Enable on Linux when .asm files are recognized.
|
| + if (is_msan || is_linux) {
|
| + sources += [ "jsimd_none.c" ]
|
| + } else {
|
| + deps = [ ":simd" ]
|
| + }
|
| +
|
| + # TODO(GYP): Compile the .asm files with YASM as GYP does.
|
| +}
|
|
|