SysPaths.py revision 2784
1import os, sys 2from os.path import isdir, join as joinpath 3from os import environ as env 4 5systemdir = None 6bindir = None 7diskdir = None 8scriptdir = None 9 10def load_defaults(): 11 global systemdir, bindir, diskdir, scriptdir 12 if not systemdir: 13 try: 14 path = env['M5_PATH'].split(':') 15 except KeyError: 16 path = [ '/dist/m5/system', '/n/poolfs/z/dist/m5/system' ] 17 18 for systemdir in path: 19 if os.path.isdir(systemdir): 20 break 21 else: 22 raise ImportError, "Can't find a path to system files." 23 24 if not bindir: 25 bindir = joinpath(systemdir, 'binaries') 26 if not diskdir: 27 diskdir = joinpath(systemdir, 'disks') 28 if not scriptdir: 29 scriptdir = joinpath(systemdir, 'boot') 30 31def disk(file): 32 load_defaults() 33 return joinpath(diskdir, file) 34 35def binary(file): 36 load_defaults() 37 return joinpath(bindir, file) 38 39def script(file): 40 load_defaults() 41 return joinpath(scriptdir, file) 42 43