From: Nathan Binkert Date: Sat, 17 Jun 2006 22:14:16 +0000 (-0400) Subject: Make the system paths more configurable X-Git-Tag: m5_2.0_beta1~36^2~55^2~2 X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=78ea17ea30bbc67ffafcb0e23462b0968ebe188e;p=gem5.git Make the system paths more configurable configs/test/SysPaths.py: Make the paths more configurable --HG-- extra : convert_revision : c426b102dfe55e4b601a23e980e1b01140e0ee93 --- diff --git a/configs/test/SysPaths.py b/configs/test/SysPaths.py index c7c7db4e7..9acfedc8b 100644 --- a/configs/test/SysPaths.py +++ b/configs/test/SysPaths.py @@ -1,32 +1,42 @@ -from m5 import * - -import os.path -import sys - -# Edit the following list to include the possible paths to the binary -# and disk image directories. The first directory on the list that -# exists will be selected. -SYSTEMDIR_PATH = ['/n/poolfs/z/dist/m5/system'] - -SYSTEMDIR = None -for d in SYSTEMDIR_PATH: - if os.path.exists(d): - SYSTEMDIR = d - break - -if not SYSTEMDIR: - print >>sys.stderr, "Can't find a path to system files." - sys.exit(1) - -BINDIR = SYSTEMDIR + '/binaries' -DISKDIR = SYSTEMDIR + '/disks' +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 load_defaults(): + global systemdir, bindir, diskdir, scriptdir + if not systemdir: + try: + path = env['M5_PATH'].split(':') + except KeyError: + path = [ '/dist/m5/system' ] + + for systemdir in path: + if os.path.isdir(systemdir): + 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): - return os.path.join(DISKDIR, file) + load_defaults() + return joinpath(diskdir, file) def binary(file): - return os.path.join(BINDIR, file) + load_defaults() + return joinpath(bindir, file) def script(file): - return os.path.join(SYSTEMDIR, 'boot', file) + load_defaults() + return joinpath(scriptdir, file)