@@ -23,6 +23,8 @@ If not, see <http://www.gnu.org/licenses/>.
23
23
import argparse
24
24
import os
25
25
from ConfigParser import SafeConfigParser , NoOptionError
26
+ import subprocess
27
+ import re
26
28
27
29
HEADER = '\033 [95m'
28
30
OKBLUE = '\033 [94m'
@@ -42,7 +44,7 @@ def parse_config(verbose=True):
42
44
]
43
45
44
46
for guess in guesses :
45
- if guess != None and os .path .isfile (guess ):
47
+ if guess is not None and os .path .isfile (guess ):
46
48
if verbose :
47
49
print ("%sFound config file%s:\n \t %s" % (OKBLUE , END , guess ))
48
50
confparser = SafeConfigParser ()
@@ -59,13 +61,39 @@ def get_stack(config, verbose=True):
59
61
return [s .strip () for s in stack .split ("," )]
60
62
61
63
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
+
62
75
def print_stack_keys (config , stack , key , prefix = "\t " ):
63
76
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
+
69
97
70
98
71
99
@@ -77,9 +105,11 @@ if __name__ == "__main__":
77
105
args .config = parse_config ()
78
106
args .stack = get_stack (args .config )
79
107
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")
83
113
84
114
print ("%sOpenMP Environment Variables:%s" % (OKBLUE , END ))
85
115
for key , val in os .environ .iteritems ():
0 commit comments