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