SysPaths.py revision 2774
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' ]
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