Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(385)

Side by Side Diff: build/config/linux/pkg_config.gni

Issue 702903004: Add chrome perf tests and sniffer to GN build. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 6 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 # Copyright (c) 2013 The Chromium Authors. All rights reserved. 1 # Copyright (c) 2013 The Chromium Authors. All rights reserved.
2 # Use of this source code is governed by a BSD-style license that can be 2 # Use of this source code is governed by a BSD-style license that can be
3 # found in the LICENSE file. 3 # found in the LICENSE file.
4 4
5 import("//build/config/sysroot.gni") 5 import("//build/config/sysroot.gni")
6 6
7 # Defines a config specifying the result of running pkg-config for the given 7 # Defines a config specifying the result of running pkg-config for the given
8 # packages. Put the package names you want to query in the "packages" variable 8 # packages. Put the package names you want to query in the "packages" variable
9 # inside the template invocation. 9 # inside the template invocation.
10 # 10 #
(...skipping 15 matching lines...) Expand all
26 26
27 declare_args() { 27 declare_args() {
28 # A pkg-config wrapper to call instead of trying to find and call the right 28 # A pkg-config wrapper to call instead of trying to find and call the right
29 # pkg-config directly. Wrappers like this are common in cross-compilation 29 # pkg-config directly. Wrappers like this are common in cross-compilation
30 # environments. 30 # environments.
31 # Leaving it blank defaults to searching PATH for 'pkg-config' and relying on 31 # Leaving it blank defaults to searching PATH for 'pkg-config' and relying on
32 # the sysroot mechanism to find the right .pc files. 32 # the sysroot mechanism to find the right .pc files.
33 pkg_config = "" 33 pkg_config = ""
34 } 34 }
35 35
36 pkg_config_script = "//build/config/linux/pkg-config.py"
37
38 # Define the args we pass to the pkg-config script for other build files that
39 # need to invoke it manually.
40 if (sysroot != "") {
41 # Pass the sysroot if we're using one (it requires the CPU arch also).
42 pkg_config_args = ["-s", sysroot, "-a", cpu_arch]
43 } else if (pkg_config != "") {
44 pkg_config_args = ["-p", pkg_config]
45 } else {
46 pkg_config_args = []
47 }
48
36 template("pkg_config") { 49 template("pkg_config") {
37 assert(defined(invoker.packages), 50 assert(defined(invoker.packages),
38 "Variable |packages| must be defined to be a list in pkg_config.") 51 "Variable |packages| must be defined to be a list in pkg_config.")
39 config(target_name) { 52 config(target_name) {
40 if (sysroot != "") { 53 args = pkg_config_args + invoker.packages
41 # Pass the sysroot if we're using one (it requires the CPU arch also).
42 args = ["-s", sysroot, "-a", cpu_arch] + invoker.packages
43 } else if (pkg_config != "") {
44 args = ["-p", pkg_config] + invoker.packages
45 } else {
46 args = invoker.packages
47 }
48
49 if (defined(invoker.extra_args)) { 54 if (defined(invoker.extra_args)) {
50 args += invoker.extra_args 55 args += invoker.extra_args
51 } 56 }
52 57
53 pkgresult = exec_script("//build/config/linux/pkg-config.py", 58 pkgresult = exec_script(pkg_config_script, args, "value")
54 args, "value")
55 include_dirs = pkgresult[0] 59 include_dirs = pkgresult[0]
56 cflags = pkgresult[1] 60 cflags = pkgresult[1]
57 61
58 if (!defined(invoker.ignore_libs) || !invoker.ignore_libs) { 62 if (!defined(invoker.ignore_libs) || !invoker.ignore_libs) {
59 libs = pkgresult[2] 63 libs = pkgresult[2]
60 lib_dirs = pkgresult[3] 64 lib_dirs = pkgresult[3]
61 ldflags = pkgresult[4] 65 ldflags = pkgresult[4]
62 } 66 }
63 67
64 if (defined(invoker.defines)) { 68 if (defined(invoker.defines)) {
65 defines = invoker.defines 69 defines = invoker.defines
66 } 70 }
67 if (defined(invoker.visibility)) { 71 if (defined(invoker.visibility)) {
68 visibility = invoker.visibility 72 visibility = invoker.visibility
69 } 73 }
70 } 74 }
71 } 75 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698