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

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

Issue 549453004: GN: Fix compile errors with os==chromeos mojo/public build (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@signed
Patch Set: Update description Created 6 years, 3 months 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
« no previous file with comments | « build/config/linux/pkg-config.py ('k') | build/toolchain/cros/BUILD.gn » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 #
11 # You can also add defines via the "defines" variable. This can be useful to 11 # You can also add defines via the "defines" variable. This can be useful to
12 # add this to the config to pass defines that the library expects to get by 12 # add this to the config to pass defines that the library expects to get by
13 # users of its headers. 13 # users of its headers.
14 # 14 #
15 # Example: 15 # Example:
16 # pkg_config("mything") { 16 # pkg_config("mything") {
17 # packages = [ "mything1", "mything2" ] 17 # packages = [ "mything1", "mything2" ]
18 # defines = [ "ENABLE_AWESOME" ] 18 # defines = [ "ENABLE_AWESOME" ]
19 # } 19 # }
20 # 20 #
21 # You can also use "extra args" to filter out results (see pkg-config.py): 21 # You can also use "extra args" to filter out results (see pkg-config.py):
22 # extra_args = [ "-v, "foo" ] 22 # extra_args = [ "-v, "foo" ]
23 # To ignore libs and ldflags (only cflags/defines will be set, which is useful 23 # To ignore libs and ldflags (only cflags/defines will be set, which is useful
24 # when doing manual dynamic linking), set: 24 # when doing manual dynamic linking), set:
25 # ignore_libs = true 25 # ignore_libs = true
26 26
27 declare_args() {
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
30 # environments.
31 # Leaving it blank defaults to searching PATH for 'pkg-config' and relying on
32 # the sysroot mechanism to find the right .pc files.
33 pkg_config = ""
34 }
35
27 template("pkg_config") { 36 template("pkg_config") {
28 assert(defined(invoker.packages), 37 assert(defined(invoker.packages),
29 "Variable |packages| must be defined to be a list in pkg_config.") 38 "Variable |packages| must be defined to be a list in pkg_config.")
30 config(target_name) { 39 config(target_name) {
31 if (sysroot != "") { 40 if (sysroot != "") {
32 # Pass the sysroot if we're using one (it requires the CPU arch also). 41 # Pass the sysroot if we're using one (it requires the CPU arch also).
33 args = ["-s", sysroot, "-a", cpu_arch] + invoker.packages 42 args = ["-s", sysroot, "-a", cpu_arch] + invoker.packages
43 } else if (pkg_config != "") {
44 args = ["-p", pkg_config] + invoker.packages
34 } else { 45 } else {
35 args = invoker.packages 46 args = invoker.packages
36 } 47 }
37 48
38 if (defined(invoker.extra_args)) { 49 if (defined(invoker.extra_args)) {
39 args += invoker.extra_args 50 args += invoker.extra_args
40 } 51 }
41 52
42 pkgresult = exec_script("//build/config/linux/pkg-config.py", 53 pkgresult = exec_script("//build/config/linux/pkg-config.py",
43 args, "value") 54 args, "value")
44 include_dirs = pkgresult[0] 55 include_dirs = pkgresult[0]
45 cflags = pkgresult[1] 56 cflags = pkgresult[1]
46 57
47 if (!defined(invoker.ignore_libs) || !invoker.ignore_libs) { 58 if (!defined(invoker.ignore_libs) || !invoker.ignore_libs) {
48 libs = pkgresult[2] 59 libs = pkgresult[2]
49 lib_dirs = pkgresult[3] 60 lib_dirs = pkgresult[3]
50 ldflags = pkgresult[4] 61 ldflags = pkgresult[4]
51 } 62 }
52 63
53 if (defined(invoker.defines)) { 64 if (defined(invoker.defines)) {
54 defines = invoker.defines 65 defines = invoker.defines
55 } 66 }
56 if (defined(invoker.visibility)) { 67 if (defined(invoker.visibility)) {
57 visibility = invoker.visibility 68 visibility = invoker.visibility
58 } 69 }
59 } 70 }
60 } 71 }
OLDNEW
« no previous file with comments | « build/config/linux/pkg-config.py ('k') | build/toolchain/cros/BUILD.gn » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698