Skip to content

Commit 2409107

Browse files
committed
bh-info: added compiler version
1 parent cd26a43 commit 2409107

File tree

1 file changed

+39
-9
lines changed

1 file changed

+39
-9
lines changed

Diff for: misc/bh-info

+39-9
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,8 @@ If not, see <http://www.gnu.org/licenses/>.
2323
import argparse
2424
import os
2525
from ConfigParser import SafeConfigParser, NoOptionError
26+
import subprocess
27+
import re
2628

2729
HEADER = '\033[95m'
2830
OKBLUE = '\033[94m'
@@ -42,7 +44,7 @@ def parse_config(verbose=True):
4244
]
4345

4446
for guess in guesses:
45-
if guess != None and os.path.isfile(guess):
47+
if guess is not None and os.path.isfile(guess):
4648
if verbose:
4749
print("%sFound config file%s:\n\t%s"%(OKBLUE, END, guess))
4850
confparser = SafeConfigParser()
@@ -59,13 +61,39 @@ def get_stack(config, verbose=True):
5961
return [s.strip() for s in stack.split(",")]
6062

6163

64+
def get_value(config, component, key, default=None, verbose=False, prefix="\t"):
65+
if not config.has_section(component) or not config.has_option(component, key):
66+
ret = default
67+
else:
68+
ret = config.get(component, key)
69+
70+
if verbose:
71+
print("%s%s.%s = %s"%(prefix, component, key, ret))
72+
return ret
73+
74+
6275
def print_stack_keys(config, stack, key, prefix="\t"):
6376
for comp in stack:
64-
try:
65-
val = config.get(comp, key)
66-
print("%s%s.%s = %s"%(prefix, comp, key, val))
67-
except NoOptionError:
68-
pass
77+
value = get_value(config, comp, key, verbose=False, prefix=prefix)
78+
if value is not None:
79+
print("%s%s.%s = %s"%(prefix, comp, key, value))
80+
81+
82+
def print_compiler(config, component, prefix="\t"):
83+
84+
cmd = get_value(config, component, "compiler_cmd", verbose=True, prefix=prefix)
85+
try:
86+
cmd_version = "%s -v"%cmd
87+
version = subprocess.check_output(cmd_version, stderr=subprocess.STDOUT, shell=True)
88+
version = version.split("\n")[-2].strip()
89+
except subprocess.CalledProcessError:
90+
print ('%sFail cmd "%s"%s'%(FAIL, cmd_version, END))
91+
raise
92+
print('%s%s.%s = "%s"'%(prefix, component, "compiler_ver", version))
93+
lib = get_value(config, component, "compiler_lib", verbose=True, prefix=prefix)
94+
flg = get_value(config, component, "compiler_flg", verbose=True, prefix=prefix)
95+
96+
6997

7098

7199

@@ -77,9 +105,11 @@ if __name__ == "__main__":
77105
args.config = parse_config()
78106
args.stack = get_stack(args.config)
79107
print ("%sJIT compiler options:%s"%(OKBLUE, END))
80-
print_stack_keys(args.config, args.stack, "compiler_cmd")
81-
print_stack_keys(args.config, args.stack, "compiler_lib")
82-
print_stack_keys(args.config, args.stack, "compiler_flg")
108+
print_compiler(args.config, args.stack[-1])
109+
110+
# print_stack_keys(args.config, args.stack, "compiler_cmd")
111+
#print_stack_keys(args.config, args.stack, "compiler_lib")
112+
# print_stack_keys(args.config, args.stack, "compiler_flg")
83113

84114
print ("%sOpenMP Environment Variables:%s"%(OKBLUE, END))
85115
for key, val in os.environ.iteritems():

0 commit comments

Comments
 (0)