blob: 66e10955d5dd257240de65d703dff11bfe735998 [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 Kleine459afd2017-03-03 09:21:30 -05007 skia_use_system_libjpeg_turbo = is_official_build
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") {
Leon Scroggins III4f498fc2017-12-06 16:21:01 -050018 public_include_dirs = [
19 ".",
20 "../externals/libjpeg-turbo",
21 ]
mtklein7d10b9f2016-07-27 11:17:18 -070022
Mike Klein10d665d2016-11-01 11:46:10 -040023 defines = [ "TURBO_FOR_WINDOWS" ]
mtklein7a1f45f2016-08-04 06:19:33 -070024
Mike Klein10d665d2016-11-01 11:46:10 -040025 sources = [
Matt Sarett9119de62017-02-10 17:47:51 -050026 "../externals/libjpeg-turbo/jaricom.c",
Mike Klein10d665d2016-11-01 11:46:10 -040027 "../externals/libjpeg-turbo/jcapimin.c",
28 "../externals/libjpeg-turbo/jcapistd.c",
Matt Sarett9119de62017-02-10 17:47:51 -050029 "../externals/libjpeg-turbo/jcarith.c",
Mike Klein10d665d2016-11-01 11:46:10 -040030 "../externals/libjpeg-turbo/jccoefct.c",
31 "../externals/libjpeg-turbo/jccolor.c",
32 "../externals/libjpeg-turbo/jcdctmgr.c",
33 "../externals/libjpeg-turbo/jchuff.c",
34 "../externals/libjpeg-turbo/jcinit.c",
35 "../externals/libjpeg-turbo/jcmainct.c",
36 "../externals/libjpeg-turbo/jcmarker.c",
37 "../externals/libjpeg-turbo/jcmaster.c",
38 "../externals/libjpeg-turbo/jcomapi.c",
39 "../externals/libjpeg-turbo/jcparam.c",
40 "../externals/libjpeg-turbo/jcphuff.c",
41 "../externals/libjpeg-turbo/jcprepct.c",
42 "../externals/libjpeg-turbo/jcsample.c",
43 "../externals/libjpeg-turbo/jdapimin.c",
44 "../externals/libjpeg-turbo/jdapistd.c",
Matt Sarett9119de62017-02-10 17:47:51 -050045 "../externals/libjpeg-turbo/jdarith.c",
Mike Klein10d665d2016-11-01 11:46:10 -040046 "../externals/libjpeg-turbo/jdcoefct.c",
47 "../externals/libjpeg-turbo/jdcolor.c",
48 "../externals/libjpeg-turbo/jddctmgr.c",
49 "../externals/libjpeg-turbo/jdhuff.c",
50 "../externals/libjpeg-turbo/jdinput.c",
51 "../externals/libjpeg-turbo/jdmainct.c",
52 "../externals/libjpeg-turbo/jdmarker.c",
53 "../externals/libjpeg-turbo/jdmaster.c",
54 "../externals/libjpeg-turbo/jdmerge.c",
55 "../externals/libjpeg-turbo/jdphuff.c",
56 "../externals/libjpeg-turbo/jdpostct.c",
57 "../externals/libjpeg-turbo/jdsample.c",
58 "../externals/libjpeg-turbo/jerror.c",
59 "../externals/libjpeg-turbo/jfdctflt.c",
60 "../externals/libjpeg-turbo/jfdctfst.c",
61 "../externals/libjpeg-turbo/jfdctint.c",
62 "../externals/libjpeg-turbo/jidctflt.c",
63 "../externals/libjpeg-turbo/jidctfst.c",
64 "../externals/libjpeg-turbo/jidctint.c",
65 "../externals/libjpeg-turbo/jidctred.c",
66 "../externals/libjpeg-turbo/jmemmgr.c",
67 "../externals/libjpeg-turbo/jmemnobs.c",
68 "../externals/libjpeg-turbo/jquant1.c",
69 "../externals/libjpeg-turbo/jquant2.c",
Mike Klein10d665d2016-11-01 11:46:10 -040070 "../externals/libjpeg-turbo/jutils.c",
71 ]
Mike Kleine7bd81d2016-11-13 08:52:07 -050072
Matthew Leibowitz3150ec62017-03-14 16:22:32 -040073 if (current_cpu == "arm" && !is_ios) {
Mike Kleine7bd81d2016-11-13 08:52:07 -050074 sources += [
75 "../externals/libjpeg-turbo/simd/jsimd_arm.c",
76 "../externals/libjpeg-turbo/simd/jsimd_arm_neon.S",
77 ]
Matthew Leibowitz3150ec62017-03-14 16:22:32 -040078 } else if (current_cpu == "arm64" && !is_ios) {
Mike Kleine7bd81d2016-11-13 08:52:07 -050079 sources += [
80 "../externals/libjpeg-turbo/simd/jsimd_arm64.c",
81 "../externals/libjpeg-turbo/simd/jsimd_arm64_neon.S",
82 ]
83 } else {
84 sources += [ "../externals/libjpeg-turbo/jsimd_none.c" ]
85 }
Mike Klein10d665d2016-11-01 11:46:10 -040086 }
mtklein7d10b9f2016-07-27 11:17:18 -070087}