| # Copyright (c) 2013 The Chromium Authors. All rights reserved. |
| # Use of this source code is governed by a BSD-style license that can be |
| # found in the LICENSE file. |
| |
| import("//build/config/sysroot.gni") |
| |
| # Defines a config specifying the result of running pkg-config for the given |
| # packages. Put the package names you want to query in the "packages" variable |
| # inside the template invocation. |
| # |
| # You can also add defines via the "defines" variable. This can be useful to |
| # add this to the config to pass defines that the library expects to get by |
| # users of its headers. |
| # |
| # Example: |
| # pkg_config("mything") { |
| # packages = [ "mything1", "mything2" ] |
| # defines = [ "ENABLE_AWESOME" ] |
| # } |
| |
| template("pkg_config") { |
| assert(defined(packages), |
| "Variable |packages| must be defined to be a list in pkg_config.") |
| config(target_name) { |
| if (sysroot != "") { |
| # Pass the sysroot if we're using one (it requires the CPU arch also). |
| args = ["-s", sysroot, "-a", cpu_arch] + packages |
| } else { |
| args = packages |
| } |
| pkgresult = exec_script("//build/config/linux/pkg-config.py", |
| args, "value") |
| include_dirs = pkgresult[0] |
| cflags = pkgresult[1] |
| libs = pkgresult[2] |
| lib_dirs = pkgresult[3] |
| ldflags = pkgresult[4] |
| } |
| } |