diff options
Diffstat (limited to 'configs/test/SysPaths.py')
-rw-r--r-- | configs/test/SysPaths.py | 54 |
1 files changed, 26 insertions, 28 deletions
diff --git a/configs/test/SysPaths.py b/configs/test/SysPaths.py index e458d5225..3f96a546f 100644 --- a/configs/test/SysPaths.py +++ b/configs/test/SysPaths.py @@ -2,41 +2,39 @@ import os, sys from os.path import isdir, join as joinpath from os import environ as env -systemdir = None -bindir = None -diskdir = None -scriptdir = None +def disk(file): + system() + return joinpath(disk.dir, file) + +def binary(file): + system() + return joinpath(binary.dir, file) -def load_defaults(): - global systemdir, bindir, diskdir, scriptdir - if not systemdir: +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 systemdir in path: - if os.path.isdir(systemdir): + 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 bindir: - bindir = joinpath(systemdir, 'binaries') - if not diskdir: - diskdir = joinpath(systemdir, 'disks') - if not scriptdir: - scriptdir = joinpath(systemdir, 'boot') - -def disk(file): - load_defaults() - return joinpath(diskdir, file) - -def binary(file): - load_defaults() - return joinpath(bindir, file) - -def script(file): - load_defaults() - return joinpath(scriptdir, file) - + 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 |