SysPaths.py revision 2774
15647Sgblack@eecs.umich.eduimport os, sys
25647Sgblack@eecs.umich.edufrom os.path import isdir, join as joinpath
35647Sgblack@eecs.umich.edufrom os import environ as env
45647Sgblack@eecs.umich.edu
55647Sgblack@eecs.umich.edusystemdir = None
65647Sgblack@eecs.umich.edubindir = None
75647Sgblack@eecs.umich.edudiskdir = None
85647Sgblack@eecs.umich.eduscriptdir = None
95647Sgblack@eecs.umich.edu
105647Sgblack@eecs.umich.edudef load_defaults():
115647Sgblack@eecs.umich.edu    global systemdir, bindir, diskdir, scriptdir
125647Sgblack@eecs.umich.edu    if not systemdir:
135647Sgblack@eecs.umich.edu        try:
145647Sgblack@eecs.umich.edu                path = env['M5_PATH'].split(':')
155647Sgblack@eecs.umich.edu        except KeyError:
165647Sgblack@eecs.umich.edu                path = [ '/dist/m5/system' ]
175647Sgblack@eecs.umich.edu
185647Sgblack@eecs.umich.edu        for systemdir in path:
195647Sgblack@eecs.umich.edu            if os.path.isdir(systemdir):
205647Sgblack@eecs.umich.edu                break
215647Sgblack@eecs.umich.edu        else:
225647Sgblack@eecs.umich.edu            raise ImportError, "Can't find a path to system files."
235647Sgblack@eecs.umich.edu
245647Sgblack@eecs.umich.edu    if not bindir:
255647Sgblack@eecs.umich.edu        bindir = joinpath(systemdir, 'binaries')
265647Sgblack@eecs.umich.edu    if not diskdir:
275647Sgblack@eecs.umich.edu        diskdir = joinpath(systemdir, 'disks')
285647Sgblack@eecs.umich.edu    if not scriptdir:
295647Sgblack@eecs.umich.edu        scriptdir = joinpath(systemdir, 'boot')
305647Sgblack@eecs.umich.edu
315647Sgblack@eecs.umich.edudef disk(file):
325647Sgblack@eecs.umich.edu    load_defaults()
335647Sgblack@eecs.umich.edu    return joinpath(diskdir, file)
345647Sgblack@eecs.umich.edu
355647Sgblack@eecs.umich.edudef binary(file):
365647Sgblack@eecs.umich.edu    load_defaults()
375647Sgblack@eecs.umich.edu    return joinpath(bindir, file)
385647Sgblack@eecs.umich.edu
395647Sgblack@eecs.umich.edudef script(file):
405647Sgblack@eecs.umich.edu    load_defaults()
415647Sgblack@eecs.umich.edu    return joinpath(scriptdir, file)
425647Sgblack@eecs.umich.edu
435647Sgblack@eecs.umich.edu