xref: /aosp_15_r20/external/angle/build/config/linux/atspi2/BUILD.gn (revision 8975f5c5ed3d1c378011245431ada316dfb6f244)
1*8975f5c5SAndroid Build Coastguard Worker# Copyright 2018 The Chromium Authors
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 Workerimport("//build/config/linux/pkg_config.gni")
6*8975f5c5SAndroid Build Coastguard Workerimport("//build/config/ui.gni")
7*8975f5c5SAndroid Build Coastguard Worker
8*8975f5c5SAndroid Build Coastguard Worker# These packages should _only_ be expected when building for a target.
9*8975f5c5SAndroid Build Coastguard Workerassert(current_toolchain == default_toolchain)
10*8975f5c5SAndroid Build Coastguard Worker
11*8975f5c5SAndroid Build Coastguard Workerif (use_atk) {
12*8975f5c5SAndroid Build Coastguard Worker  pkg_config("atspi2") {
13*8975f5c5SAndroid Build Coastguard Worker    packages = [ "atspi-2" ]
14*8975f5c5SAndroid Build Coastguard Worker    atspi_version = exec_script(pkg_config_script,
15*8975f5c5SAndroid Build Coastguard Worker                                common_pkg_config_args + pkg_config_args + [
16*8975f5c5SAndroid Build Coastguard Worker                                      "atspi-2",
17*8975f5c5SAndroid Build Coastguard Worker                                      "--version-as-components",
18*8975f5c5SAndroid Build Coastguard Worker                                    ],
19*8975f5c5SAndroid Build Coastguard Worker                                "value")
20*8975f5c5SAndroid Build Coastguard Worker    major = atspi_version[0]
21*8975f5c5SAndroid Build Coastguard Worker    minor = atspi_version[1]
22*8975f5c5SAndroid Build Coastguard Worker    micro = atspi_version[2]
23*8975f5c5SAndroid Build Coastguard Worker
24*8975f5c5SAndroid Build Coastguard Worker    # These aren't necessarily used if atspi is not old enough to require them.
25*8975f5c5SAndroid Build Coastguard Worker    # Also, gn considers variables unused if the only use of them is
26*8975f5c5SAndroid Build Coastguard Worker    # short-circuited away, so for example if major == 2 and minor == 48, micro
27*8975f5c5SAndroid Build Coastguard Worker    # would be unused.
28*8975f5c5SAndroid Build Coastguard Worker    not_needed([
29*8975f5c5SAndroid Build Coastguard Worker                 "major",
30*8975f5c5SAndroid Build Coastguard Worker                 "minor",
31*8975f5c5SAndroid Build Coastguard Worker                 "micro",
32*8975f5c5SAndroid Build Coastguard Worker               ])
33*8975f5c5SAndroid Build Coastguard Worker
34*8975f5c5SAndroid Build Coastguard Worker    # ATSPI 2.49.90 now defines these for us and it's an error for us to
35*8975f5c5SAndroid Build Coastguard Worker    # redefine them on the compiler command line.
36*8975f5c5SAndroid Build Coastguard Worker    # See ATSPI 927344a34cd5bf81fc64da4968241735ecb4f03b
37*8975f5c5SAndroid Build Coastguard Worker    if (major < 2 || (major == 2 && minor < 49) ||
38*8975f5c5SAndroid Build Coastguard Worker        (major == 2 && minor == 49 && micro < 90)) {
39*8975f5c5SAndroid Build Coastguard Worker      defines = [
40*8975f5c5SAndroid Build Coastguard Worker        "ATSPI_MAJOR_VERSION=$major",
41*8975f5c5SAndroid Build Coastguard Worker        "ATSPI_MINOR_VERSION=$minor",
42*8975f5c5SAndroid Build Coastguard Worker        "ATSPI_MICRO_VERSION=$micro",
43*8975f5c5SAndroid Build Coastguard Worker      ]
44*8975f5c5SAndroid Build Coastguard Worker    }
45*8975f5c5SAndroid Build Coastguard Worker  }
46*8975f5c5SAndroid Build Coastguard Worker}
47