2006-06-18 00:14:16 +02:00
|
|
|
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:
|
2006-06-18 17:10:08 +02:00
|
|
|
path = [ '/dist/m5/system', '/n/poolfs/z/dist/m5/system' ]
|
2006-06-18 00:14:16 +02:00
|
|
|
|
|
|
|
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')
|
2006-04-25 01:31:50 +02:00
|
|
|
|
|
|
|
def disk(file):
|
2006-06-18 00:14:16 +02:00
|
|
|
load_defaults()
|
|
|
|
return joinpath(diskdir, file)
|
2006-04-25 01:31:50 +02:00
|
|
|
|
|
|
|
def binary(file):
|
2006-06-18 00:14:16 +02:00
|
|
|
load_defaults()
|
|
|
|
return joinpath(bindir, file)
|
2006-04-25 01:31:50 +02:00
|
|
|
|
|
|
|
def script(file):
|
2006-06-18 00:14:16 +02:00
|
|
|
load_defaults()
|
|
|
|
return joinpath(scriptdir, file)
|
2006-04-25 01:31:50 +02:00
|
|
|
|