__init__.py revision 1530
16757SAli.Saidi@ARM.comimport sys, os
26757SAli.Saidi@ARM.com
36757SAli.Saidi@ARM.com# the mpy import code is added to the global import meta_path as a
46757SAli.Saidi@ARM.com# side effect of this import
56757SAli.Saidi@ARM.comfrom mpy_importer import AddToPath, LoadMpyFile
66757SAli.Saidi@ARM.com
76757SAli.Saidi@ARM.com# define this here so we can use it right away if necessary
86757SAli.Saidi@ARM.comdef panic(string):
96757SAli.Saidi@ARM.com    print >>sys.stderr, 'panic:', string
106757SAli.Saidi@ARM.com    sys.exit(1)
116757SAli.Saidi@ARM.com
126757SAli.Saidi@ARM.com# find the m5 compile options: must be specified as a dict in
136757SAli.Saidi@ARM.com# __main__.m5_build_env.
146757SAli.Saidi@ARM.comimport __main__
156757SAli.Saidi@ARM.comif not hasattr(__main__, 'm5_build_env'):
166757SAli.Saidi@ARM.com    panic("__main__ must define m5_build_env")
176757SAli.Saidi@ARM.com
186757SAli.Saidi@ARM.com# make a SmartDict out of the build options for our local use
196757SAli.Saidi@ARM.comimport smartdict
206757SAli.Saidi@ARM.combuild_env = smartdict.SmartDict()
216757SAli.Saidi@ARM.combuild_env.update(__main__.m5_build_env)
226757SAli.Saidi@ARM.com
236757SAli.Saidi@ARM.com# make a SmartDict out of the OS environment too
246757SAli.Saidi@ARM.comenv = smartdict.SmartDict()
256757SAli.Saidi@ARM.comenv.update(os.environ)
266757SAli.Saidi@ARM.com
276757SAli.Saidi@ARM.com# import the main m5 config code
286757SAli.Saidi@ARM.comfrom config import *
296757SAli.Saidi@ARM.comconfig.add_param_types(config)
306757SAli.Saidi@ARM.com
316757SAli.Saidi@ARM.com# import the built-in object definitions
326757SAli.Saidi@ARM.comfrom objects import *
336757SAli.Saidi@ARM.comconfig.add_param_types(objects)
346757SAli.Saidi@ARM.com
356757SAli.Saidi@ARM.comcpp_classes = config.MetaSimObject.cpp_classes
366757SAli.Saidi@ARM.comcpp_classes.sort()
37
38