xref: /aosp_15_r20/external/cronet/build/config/linux/libffi/BUILD.gn (revision 6777b5387eb2ff775bb5750e3f5d96f37fb7352b)
1*6777b538SAndroid Build Coastguard Worker# Copyright 2016 The Chromium Authors
2*6777b538SAndroid Build Coastguard Worker# Use of this source code is governed by a BSD-style license that can be
3*6777b538SAndroid Build Coastguard Worker# found in the LICENSE file.
4*6777b538SAndroid Build Coastguard Worker
5*6777b538SAndroid Build Coastguard Workerimport("//build/config/linux/pkg_config.gni")
6*6777b538SAndroid Build Coastguard Worker
7*6777b538SAndroid Build Coastguard Workerdeclare_args() {
8*6777b538SAndroid Build Coastguard Worker  # Controls whether the build should use the version of libffi library shipped
9*6777b538SAndroid Build Coastguard Worker  # with the system. By default, we only use the system version on Chrome OS:
10*6777b538SAndroid Build Coastguard Worker  # on Linux, libffi must be statically linked to prevent a situation where the
11*6777b538SAndroid Build Coastguard Worker  # runtime version of libffi is different from the build-time version from the
12*6777b538SAndroid Build Coastguard Worker  # sysroot.
13*6777b538SAndroid Build Coastguard Worker  use_system_libffi = default_toolchain == "//build/toolchain/cros:target"
14*6777b538SAndroid Build Coastguard Worker}
15*6777b538SAndroid Build Coastguard Worker
16*6777b538SAndroid Build Coastguard Workerif (use_system_libffi) {
17*6777b538SAndroid Build Coastguard Worker  pkg_config("libffi") {
18*6777b538SAndroid Build Coastguard Worker    packages = [ "libffi" ]
19*6777b538SAndroid Build Coastguard Worker  }
20*6777b538SAndroid Build Coastguard Worker} else {
21*6777b538SAndroid Build Coastguard Worker  config("libffi") {
22*6777b538SAndroid Build Coastguard Worker    libs = [ "ffi_pic" ]
23*6777b538SAndroid Build Coastguard Worker  }
24*6777b538SAndroid Build Coastguard Worker}
25