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. |
+} |