xref: /aosp_15_r20/external/angle/third_party/BUILD.gn (revision 8975f5c5ed3d1c378011245431ada316dfb6f244)
1*8975f5c5SAndroid Build Coastguard Worker# Copyright 2019 The ANGLE Project Authors. All rights reserved.
2*8975f5c5SAndroid Build Coastguard Worker# Use of this source code is governed by a BSD-style license that can be
3*8975f5c5SAndroid Build Coastguard Worker# found in the LICENSE file.
4*8975f5c5SAndroid Build Coastguard Worker#
5*8975f5c5SAndroid Build Coastguard Worker# See:
6*8975f5c5SAndroid Build Coastguard Worker# https://chromium.googlesource.com/chromium/src/+/main/third_party/BUILD.gn
7*8975f5c5SAndroid Build Coastguard Worker
8*8975f5c5SAndroid Build Coastguard Workerimport("//third_party/libjpeg.gni")
9*8975f5c5SAndroid Build Coastguard Worker
10*8975f5c5SAndroid Build Coastguard Workerassert(!is_ios, "This is not used on iOS, don't drag it in unintentionally")
11*8975f5c5SAndroid Build Coastguard Worker
12*8975f5c5SAndroid Build Coastguard Workerconfig("system_libjpeg_config") {
13*8975f5c5SAndroid Build Coastguard Worker  libs = [ "jpeg" ]
14*8975f5c5SAndroid Build Coastguard Worker  defines = [ "USE_SYSTEM_LIBJPEG" ]
15*8975f5c5SAndroid Build Coastguard Worker}
16*8975f5c5SAndroid Build Coastguard Worker
17*8975f5c5SAndroid Build Coastguard Workerconfig("libjpeg_turbo_config") {
18*8975f5c5SAndroid Build Coastguard Worker  defines = [ "USE_LIBJPEG_TURBO=1" ]
19*8975f5c5SAndroid Build Coastguard Worker}
20*8975f5c5SAndroid Build Coastguard Worker
21*8975f5c5SAndroid Build Coastguard Worker# This is a meta target that forwards to the system's libjpeg,
22*8975f5c5SAndroid Build Coastguard Worker# third_party/libjpeg, or third_party/libjpeg_turbo depending on the build args
23*8975f5c5SAndroid Build Coastguard Worker# declared in this file.
24*8975f5c5SAndroid Build Coastguard Workergroup("jpeg") {
25*8975f5c5SAndroid Build Coastguard Worker  if (use_system_libjpeg) {
26*8975f5c5SAndroid Build Coastguard Worker    public_configs = [ ":system_libjpeg_config" ]
27*8975f5c5SAndroid Build Coastguard Worker  } else if (use_libjpeg_turbo) {
28*8975f5c5SAndroid Build Coastguard Worker    public_deps = [ "//third_party/libjpeg_turbo:libjpeg" ]
29*8975f5c5SAndroid Build Coastguard Worker    public_configs = [ ":libjpeg_turbo_config" ]
30*8975f5c5SAndroid Build Coastguard Worker  } else {
31*8975f5c5SAndroid Build Coastguard Worker    public_deps = [ "//third_party/libjpeg:libjpeg" ]
32*8975f5c5SAndroid Build Coastguard Worker  }
33*8975f5c5SAndroid Build Coastguard Worker}
34*8975f5c5SAndroid Build Coastguard Worker
35*8975f5c5SAndroid Build Coastguard Worker# This is a meta target that forwards include paths only to the system's
36*8975f5c5SAndroid Build Coastguard Worker# libjpeg, third_party/libjpeg, or third_party/libjpeg_turbo depending on the
37*8975f5c5SAndroid Build Coastguard Worker# build args declared in this file. This is needed, rarely, for targets that
38*8975f5c5SAndroid Build Coastguard Worker# need to reference libjpeg without explicitly building it.
39*8975f5c5SAndroid Build Coastguard Workergroup("jpeg_includes") {
40*8975f5c5SAndroid Build Coastguard Worker  if (use_system_libjpeg) {
41*8975f5c5SAndroid Build Coastguard Worker    public_configs = [ ":system_libjpeg_config" ]
42*8975f5c5SAndroid Build Coastguard Worker  } else if (use_libjpeg_turbo) {
43*8975f5c5SAndroid Build Coastguard Worker    public_configs = [ "//third_party/libjpeg_turbo:libjpeg_config" ]
44*8975f5c5SAndroid Build Coastguard Worker  } else {
45*8975f5c5SAndroid Build Coastguard Worker    public_configs = [ "//third_party/libjpeg:libjpeg_config" ]
46*8975f5c5SAndroid Build Coastguard Worker  }
47*8975f5c5SAndroid Build Coastguard Worker}
48