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

Side by Side Diff: build/config/linux/pkg-config.py

Issue 1543483002: gn: leave PKG_CONFIG_PATH untouched when not using a sysroot (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years 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 | « no previous file | no next file » | 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 json 5 import json
6 import os 6 import os
7 import subprocess 7 import subprocess
8 import sys 8 import sys
9 import re 9 import re
10 from optparse import OptionParser 10 from optparse import OptionParser
(...skipping 26 matching lines...) Expand all
37 print "[[],[],[],[],[]]" 37 print "[[],[],[],[],[]]"
38 sys.exit(0) 38 sys.exit(0)
39 39
40 40
41 def SetConfigPath(options): 41 def SetConfigPath(options):
42 """Set the PKG_CONFIG_PATH environment variable. 42 """Set the PKG_CONFIG_PATH environment variable.
43 This takes into account any sysroot and architecture specification from the 43 This takes into account any sysroot and architecture specification from the
44 options on the given command line.""" 44 options on the given command line."""
45 45
46 sysroot = options.sysroot 46 sysroot = options.sysroot
47 if not sysroot: 47 assert sysroot
48 sysroot = ""
49 48
50 # Compute the library path name based on the architecture. 49 # Compute the library path name based on the architecture.
51 arch = options.arch 50 arch = options.arch
52 if sysroot and not arch: 51 if sysroot and not arch:
53 print "You must specify an architecture via -a if using a sysroot." 52 print "You must specify an architecture via -a if using a sysroot."
54 sys.exit(1) 53 sys.exit(1)
55 54
56 # In the gyp world this is configurable via the 'system_libdir' variable, 55 # In the gyp world this is configurable via the 'system_libdir' variable,
57 # which doesn't seem to have an equivelent in gn yet. 56 # which doesn't seem to have an equivelent in gn yet.
58 # TOOD(sbc): Make this configurable like it is under gyp. 57 # TOOD(sbc): Make this configurable like it is under gyp.
(...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after
115 dest='atleast_version', type='string') 114 dest='atleast_version', type='string')
116 parser.add_option('--libdir', action='store_true', dest='libdir') 115 parser.add_option('--libdir', action='store_true', dest='libdir')
117 (options, args) = parser.parse_args() 116 (options, args) = parser.parse_args()
118 117
119 # Make a list of regular expressions to strip out. 118 # Make a list of regular expressions to strip out.
120 strip_out = [] 119 strip_out = []
121 if options.strip_out != None: 120 if options.strip_out != None:
122 for regexp in options.strip_out: 121 for regexp in options.strip_out:
123 strip_out.append(re.compile(regexp)) 122 strip_out.append(re.compile(regexp))
124 123
125 SetConfigPath(options)
126 if options.sysroot: 124 if options.sysroot:
125 SetConfigPath(options)
127 prefix = GetPkgConfigPrefixToStrip(args) 126 prefix = GetPkgConfigPrefixToStrip(args)
128 else: 127 else:
129 prefix = '' 128 prefix = ''
130 129
131 if options.atleast_version: 130 if options.atleast_version:
132 # When asking for the return value, just run pkg-config and print the return 131 # When asking for the return value, just run pkg-config and print the return
133 # value, no need to do other work. 132 # value, no need to do other work.
134 if not subprocess.call([options.pkg_config, 133 if not subprocess.call([options.pkg_config,
135 "--atleast-version=" + options.atleast_version] + 134 "--atleast-version=" + options.atleast_version] +
136 args, 135 args,
(...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after
192 # this anyway. Removing it here prevents a bunch of duplicate inclusions on 191 # this anyway. Removing it here prevents a bunch of duplicate inclusions on
193 # the command line. 192 # the command line.
194 pass 193 pass
195 else: 194 else:
196 cflags.append(flag) 195 cflags.append(flag)
197 196
198 # Output a GN array, the first one is the cflags, the second are the libs. The 197 # Output a GN array, the first one is the cflags, the second are the libs. The
199 # JSON formatter prints GN compatible lists when everything is a list of 198 # JSON formatter prints GN compatible lists when everything is a list of
200 # strings. 199 # strings.
201 print json.dumps([includes, cflags, libs, lib_dirs, ldflags]) 200 print json.dumps([includes, cflags, libs, lib_dirs, ldflags])
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698