~martin-decky/helenos/rcu

« back to all changes in this revision

Viewing changes to tools/config.py

  • Committer: Martin Decky
  • Date: 2010-03-19 18:30:12 UTC
  • Revision ID: martin@uranus.dsrg.hide.ms.mff.cuni.cz-20100319183012-rmyqumxyx09q51kd
more autotooling: run actually the compiler in autotool.py and detect sizes of integers, generate common.h
more build system cleanup: remove redundancy, remove config.defs, merge kernel makefiles to a single file

Show diffs side-by-side

added added

removed removed

Lines of Context:
42
42
INPUT = sys.argv[1]
43
43
MAKEFILE = 'Makefile.config'
44
44
MACROS = 'config.h'
45
 
DEFS = 'config.defs'
46
45
PRECONF = 'defaults'
47
46
 
48
47
def read_defaults(fname, defaults):
224
223
        
225
224
        return True
226
225
 
227
 
def create_output(mkname, mcname, dfname, defaults, ask_names):
 
226
def create_output(mkname, mcname, defaults, ask_names):
228
227
        "Create output configuration"
229
228
        
230
229
        timestamp = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())
248
247
        
249
248
        outmk = file(mkname, 'w')
250
249
        outmc = file(mcname, 'w')
251
 
        outdf = file(dfname, 'w')
252
250
        
253
251
        outmk.write('#########################################\n')
254
252
        outmk.write('## AUTO-GENERATED FILE, DO NOT EDIT!!! ##\n')
258
256
        outmc.write(' * AUTO-GENERATED FILE, DO NOT EDIT!!! *\n')
259
257
        outmc.write(' ***************************************/\n\n')
260
258
        
261
 
        outdf.write('#########################################\n')
262
 
        outdf.write('## AUTO-GENERATED FILE, DO NOT EDIT!!! ##\n')
263
 
        outdf.write('#########################################\n\n')
264
 
        outdf.write('CONFIG_DEFS =')
 
259
        defs = 'CONFIG_DEFS ='
265
260
        
266
261
        for varname, vartype, name, choices, cond in ask_names:
267
262
                if ((cond) and (not check_condition(cond, defaults, ask_names))):
279
274
                if ((vartype == "y") or (vartype == "n") or (vartype == "y/n") or (vartype == "n/y")):
280
275
                        if (default == "y"):
281
276
                                outmc.write('/* %s */\n#define %s\n\n' % (name, varname))
282
 
                                outdf.write(' -D%s' % varname)
 
277
                                defs += ' -D%s' % varname
283
278
                else:
284
279
                        outmc.write('/* %s */\n#define %s %s\n#define %s_%s\n\n' % (name, varname, default, varname, default))
285
 
                        outdf.write(' -D%s=%s -D%s_%s' % (varname, default, varname, default))
 
280
                        defs += ' -D%s=%s -D%s_%s' % (varname, default, varname, default)
286
281
        
287
282
        if (revision is not None):
288
283
                outmk.write('REVISION = %s\n' % revision)
289
284
                outmc.write('#define REVISION %s\n' % revision)
290
 
                outdf.write(' "-DREVISION=%s"' % revision)
 
285
                defs += ' "-DREVISION=%s"' % revision
291
286
        
292
287
        outmk.write('TIMESTAMP = %s\n' % timestamp)
293
288
        outmc.write('#define TIMESTAMP %s\n' % timestamp)
294
 
        outdf.write(' "-DTIMESTAMP=%s"\n' % timestamp)
 
289
        defs += ' "-DTIMESTAMP=%s"\n' % timestamp
 
290
        
 
291
        outmk.write(defs)
295
292
        
296
293
        outmk.close()
297
294
        outmc.close()
298
 
        outdf.close()
299
295
 
300
296
def sorted_dir(root):
301
297
        list = os.listdir(root)
354
350
        # Default mode: only check defaults and regenerate configuration
355
351
        if ((len(sys.argv) >= 3) and (sys.argv[2] == 'default')):
356
352
                if (check_choices(defaults, ask_names)):
357
 
                        create_output(MAKEFILE, MACROS, DEFS, defaults, ask_names)
 
353
                        create_output(MAKEFILE, MACROS, defaults, ask_names)
358
354
                        return 0
359
355
        
360
356
        # Check mode: only check defaults
472
468
        finally:
473
469
                xtui.screen_done(screen)
474
470
        
475
 
        create_output(MAKEFILE, MACROS, DEFS, defaults, ask_names)
 
471
        create_output(MAKEFILE, MACROS, defaults, ask_names)
476
472
        return 0
477
473
 
478
474
if __name__ == '__main__':