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