Changes in tools/config.py [28f4adb:fe12f9f4] in mainline
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
tools/config.py
r28f4adb rfe12f9f4 28 28 # THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 29 29 # 30 31 30 """ 32 31 HelenOS configuration system 33 32 """ 34 35 33 import sys 36 34 import os … … 43 41 MAKEFILE = 'Makefile.config' 44 42 MACROS = 'config.h' 43 DEFS = 'config.defs' 45 44 PRECONF = 'defaults' 46 45 … … 48 47 "Read saved values from last configuration run" 49 48 50 inf = open(fname, 'r')49 inf = file(fname, 'r') 51 50 52 51 for line in inf: … … 103 102 condval = res.group(3) 104 103 105 if (not condname in defaults):104 if (not defaults.has_key(condname)): 106 105 varval = '' 107 106 else: … … 131 130 "Parse configuration file" 132 131 133 inf = open(fname, 'r')132 inf = file(fname, 'r') 134 133 135 134 name = '' … … 219 218 continue 220 219 221 if (not varname in defaults):220 if (not defaults.has_key(varname)): 222 221 return False 223 222 224 223 return True 225 224 226 def create_output(mkname, mcname, d efaults, ask_names):225 def create_output(mkname, mcname, dfname, defaults, ask_names): 227 226 "Create output configuration" 228 227 … … 230 229 231 230 sys.stderr.write("Fetching current revision identifier ... ") 232 233 try: 234 version = subprocess.Popen(['bzr', 'version-info', '--custom', '--template={clean}:{revno}:{revision_id}'], stdout = subprocess.PIPE).communicate()[0].decode().split(':') 235 sys.stderr.write("ok\n") 236 except: 237 version = [1, "unknown", "unknown"] 238 sys.stderr.write("failed\n") 231 version = subprocess.Popen(['bzr', 'version-info', '--custom', '--template={clean}:{revno}:{revision_id}'], stdout = subprocess.PIPE).communicate()[0].split(':') 232 sys.stderr.write("OK\n") 239 233 240 234 if (len(version) == 3): … … 246 240 revision = None 247 241 248 outmk = open(mkname, 'w') 249 outmc = open(mcname, 'w') 242 outmk = file(mkname, 'w') 243 outmc = file(mcname, 'w') 244 outdf = file(dfname, 'w') 250 245 251 246 outmk.write('#########################################\n') … … 257 252 outmc.write(' ***************************************/\n\n') 258 253 259 defs = 'CONFIG_DEFS =' 254 outdf.write('#########################################\n') 255 outdf.write('## AUTO-GENERATED FILE, DO NOT EDIT!!! ##\n') 256 outdf.write('#########################################\n\n') 257 outdf.write('CONFIG_DEFS =') 260 258 261 259 for varname, vartype, name, choices, cond in ask_names: … … 263 261 continue 264 262 265 if (not varname in defaults):263 if (not defaults.has_key(varname)): 266 264 default = '' 267 265 else: … … 275 273 if (default == "y"): 276 274 outmc.write('/* %s */\n#define %s\n\n' % (name, varname)) 277 defs += ' -D%s' % varname275 outdf.write(' -D%s' % varname) 278 276 else: 279 277 outmc.write('/* %s */\n#define %s %s\n#define %s_%s\n\n' % (name, varname, default, varname, default)) 280 defs += ' -D%s=%s -D%s_%s' % (varname, default, varname, default)278 outdf.write(' -D%s=%s -D%s_%s' % (varname, default, varname, default)) 281 279 282 280 if (revision is not None): 283 281 outmk.write('REVISION = %s\n' % revision) 284 282 outmc.write('#define REVISION %s\n' % revision) 285 defs += ' "-DREVISION=%s"' % revision283 outdf.write(' "-DREVISION=%s"' % revision) 286 284 287 285 outmk.write('TIMESTAMP = %s\n' % timestamp) 288 286 outmc.write('#define TIMESTAMP %s\n' % timestamp) 289 defs += ' "-DTIMESTAMP=%s"\n' % timestamp 290 291 outmk.write(defs) 287 outdf.write(' "-DTIMESTAMP=%s"\n' % timestamp) 292 288 293 289 outmk.close() 294 290 outmc.close() 291 outdf.close() 295 292 296 293 def sorted_dir(root): … … 351 348 if ((len(sys.argv) >= 3) and (sys.argv[2] == 'default')): 352 349 if (check_choices(defaults, ask_names)): 353 create_output(MAKEFILE, MACROS, defaults, ask_names)350 create_output(MAKEFILE, MACROS, DEFS, defaults, ask_names) 354 351 return 0 355 352 … … 368 365 # Cancel out all defaults which have to be deduced 369 366 for varname, vartype, name, choices, cond in ask_names: 370 if ((vartype == 'y') and ( varname in defaults) and (defaults[varname] == '*')):367 if ((vartype == 'y') and (defaults.has_key(varname)) and (defaults[varname] == '*')): 371 368 defaults[varname] = None 372 369 … … 385 382 position = cnt 386 383 387 if (not varname in defaults):384 if (not defaults.has_key(varname)): 388 385 default = None 389 386 else: … … 428 425 cnt += 1 429 426 430 if (position != None) and (position >= len(options)):427 if (position >= options): 431 428 position = None 432 429 … … 449 446 450 447 position = None 451 if (not value in opt2row):448 if (not opt2row.has_key(value)): 452 449 raise RuntimeError("Error selecting value: %s" % value) 453 450 454 451 (selname, seltype, name, choices) = opt2row[value] 455 452 456 if (not selname in defaults):453 if (not defaults.has_key(selname)): 457 454 default = None 458 455 else: … … 469 466 xtui.screen_done(screen) 470 467 471 create_output(MAKEFILE, MACROS, defaults, ask_names)468 create_output(MAKEFILE, MACROS, DEFS, defaults, ask_names) 472 469 return 0 473 470
Note:
See TracChangeset
for help on using the changeset viewer.