blob: 6825b6bfeee76efcae827c36a9077bf1e3c51194 [file] [log] [blame]
mtklein7d10b9f2016-07-27 11:17:18 -07001# Copyright 2016 Google Inc.
2#
3# Use of this source code is governed by a BSD-style license that can be
4# found in the LICENSE file.
5
6declare_args() {
Mike Klein10d665d2016-11-01 11:46:10 -04007 skia_use_system_libjpeg_turbo = false
mtklein7d10b9f2016-07-27 11:17:18 -07008}
9
10import("../third_party.gni")
11
Mike Klein10d665d2016-11-01 11:46:10 -040012if (skia_use_system_libjpeg_turbo) {
13 system("libjpeg") {
14 libs = [ "jpeg" ]
15 }
16} else {
17 third_party("libjpeg") {
18 public_include_dirs = [ "../externals/libjpeg-turbo" ]
mtklein7d10b9f2016-07-27 11:17:18 -070019
Mike Klein10d665d2016-11-01 11:46:10 -040020 defines = [ "TURBO_FOR_WINDOWS" ]
mtklein7a1f45f2016-08-04 06:19:33 -070021
Mike Klein10d665d2016-11-01 11:46:10 -040022 sources = [
23 "../externals/libjpeg-turbo/jcapimin.c",
24 "../externals/libjpeg-turbo/jcapistd.c",
25 "../externals/libjpeg-turbo/jccoefct.c",
26 "../externals/libjpeg-turbo/jccolor.c",
27 "../externals/libjpeg-turbo/jcdctmgr.c",
28 "../externals/libjpeg-turbo/jchuff.c",
29 "../externals/libjpeg-turbo/jcinit.c",
30 "../externals/libjpeg-turbo/jcmainct.c",
31 "../externals/libjpeg-turbo/jcmarker.c",
32 "../externals/libjpeg-turbo/jcmaster.c",
33 "../externals/libjpeg-turbo/jcomapi.c",
34 "../externals/libjpeg-turbo/jcparam.c",
35 "../externals/libjpeg-turbo/jcphuff.c",
36 "../externals/libjpeg-turbo/jcprepct.c",
37 "../externals/libjpeg-turbo/jcsample.c",
38 "../externals/libjpeg-turbo/jdapimin.c",
39 "../externals/libjpeg-turbo/jdapistd.c",
40 "../externals/libjpeg-turbo/jdcoefct.c",
41 "../externals/libjpeg-turbo/jdcolor.c",
42 "../externals/libjpeg-turbo/jddctmgr.c",
43 "../externals/libjpeg-turbo/jdhuff.c",
44 "../externals/libjpeg-turbo/jdinput.c",
45 "../externals/libjpeg-turbo/jdmainct.c",
46 "../externals/libjpeg-turbo/jdmarker.c",
47 "../externals/libjpeg-turbo/jdmaster.c",
48 "../externals/libjpeg-turbo/jdmerge.c",
49 "../externals/libjpeg-turbo/jdphuff.c",
50 "../externals/libjpeg-turbo/jdpostct.c",
51 "../externals/libjpeg-turbo/jdsample.c",
52 "../externals/libjpeg-turbo/jerror.c",
53 "../externals/libjpeg-turbo/jfdctflt.c",
54 "../externals/libjpeg-turbo/jfdctfst.c",
55 "../externals/libjpeg-turbo/jfdctint.c",
56 "../externals/libjpeg-turbo/jidctflt.c",
57 "../externals/libjpeg-turbo/jidctfst.c",
58 "../externals/libjpeg-turbo/jidctint.c",
59 "../externals/libjpeg-turbo/jidctred.c",
60 "../externals/libjpeg-turbo/jmemmgr.c",
61 "../externals/libjpeg-turbo/jmemnobs.c",
62 "../externals/libjpeg-turbo/jquant1.c",
63 "../externals/libjpeg-turbo/jquant2.c",
Mike Klein10d665d2016-11-01 11:46:10 -040064 "../externals/libjpeg-turbo/jutils.c",
65 ]
Mike Kleine7bd81d2016-11-13 08:52:07 -050066
Mike Klein4fea6632016-11-14 09:16:32 -050067 if (current_cpu == "arm" && current_os != "ios") {
Mike Kleine7bd81d2016-11-13 08:52:07 -050068 sources += [
69 "../externals/libjpeg-turbo/simd/jsimd_arm.c",
70 "../externals/libjpeg-turbo/simd/jsimd_arm_neon.S",
71 ]
Mike Klein4fea6632016-11-14 09:16:32 -050072 } else if (current_cpu == "arm64" && current_os != "ios") {
Mike Kleine7bd81d2016-11-13 08:52:07 -050073 sources += [
74 "../externals/libjpeg-turbo/simd/jsimd_arm64.c",
75 "../externals/libjpeg-turbo/simd/jsimd_arm64_neon.S",
76 ]
77 } else {
78 sources += [ "../externals/libjpeg-turbo/jsimd_none.c" ]
79 }
Mike Klein10d665d2016-11-01 11:46:10 -040080 }
mtklein7d10b9f2016-07-27 11:17:18 -070081}