summaryrefslogtreecommitdiff
path: root/configs/test/SysPaths.py
blob: 3f96a546f8e90e5bd692068f0e65fadaf3a6898b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
import os, sys
from os.path import isdir, join as joinpath
from os import environ as env

def disk(file):
    system()
    return joinpath(disk.dir, file)

def binary(file):
    system()
    return joinpath(binary.dir, file)

def script(file):
    system()
    return joinpath(script.dir, file)

def system():
    if not system.dir:
        try:
                path = env['M5_PATH'].split(':')
        except KeyError:
                path = [ '/dist/m5/system', '/n/poolfs/z/dist/m5/system' ]

        for system.dir in path:
            if os.path.isdir(system.dir):
                break
        else:
            raise ImportError, "Can't find a path to system files."

    if not binary.dir:
        binary.dir = joinpath(system.dir, 'binaries')
    if not disk.dir:
        disk.dir = joinpath(system.dir, 'disks')
    if not script.dir:
        script.dir = joinpath(system.dir, 'boot')

system.dir = None
binary.dir = None
disk.dir = None
script.dir = None