From a736a8fab6dd1ae0d5546939bc0c7fc4aec003e8 Mon Sep 17 00:00:00 2001
From: Nathan Binkert <binkertn@umich.edu>
Date: Wed, 2 Feb 2005 21:13:01 -0500
Subject: Update config file language to take simobj and no longer use siminst

objects/AlphaConsole.mpy:
objects/AlphaTLB.mpy:
objects/BadDevice.mpy:
objects/BaseCPU.mpy:
objects/BaseCache.mpy:
objects/BaseSystem.mpy:
objects/Bus.mpy:
objects/CoherenceProtocol.mpy:
objects/Device.mpy:
objects/DiskImage.mpy:
objects/Ethernet.mpy:
objects/Ide.mpy:
objects/IntrControl.mpy:
objects/MemTest.mpy:
objects/Pci.mpy:
objects/PhysicalMemory.mpy:
objects/Platform.mpy:
objects/Process.mpy:
objects/Repl.mpy:
objects/Root.mpy:
objects/SimConsole.mpy:
objects/SimpleDisk.mpy:
objects/Tsunami.mpy:
objects/Uart.mpy:
    simobj now requires a type= line if it is actually intended
    to be a type
sim/pyconfig/SConscript:
    keep track of the filename of embedded files for better
    error messages.
sim/pyconfig/m5config.py:
    Add support for the trickery done with the compiler to get the
    simobj language feature added to the importer.

    fix the bug that gave objects the wrong name in error messages.
test/genini.py:
    Globals have been fixed and use execfile

--HG--
extra : convert_revision : b74495fd6f3479a87ecea7f1234ebb6731279b2b
---
 sim/pyconfig/SConscript | 15 ++++++++-------
 1 file changed, 8 insertions(+), 7 deletions(-)

(limited to 'sim/pyconfig/SConscript')

diff --git a/sim/pyconfig/SConscript b/sim/pyconfig/SConscript
index 127b0efae..5708ac9a8 100644
--- a/sim/pyconfig/SConscript
+++ b/sim/pyconfig/SConscript
@@ -28,14 +28,15 @@
 
 import os, os.path, re
 
-def WriteEmbeddedPyFile(target, source, path, name, ext):
+def WriteEmbeddedPyFile(target, source, path, name, ext, filename):
     if isinstance(source, str):
         source = file(source, 'r')
 
     if isinstance(target, str):
         target = file(target, 'w')
 
-    print >>target, "AddModule(%s, %s, %s, '''\\" % (`path`, `name`, `ext`)
+    print >>target, "AddModule(%s, %s, %s, %s, '''\\" % \
+          (`path`, `name`, `ext`, `filename`)
 
     for line in source:
         line = line
@@ -105,7 +106,7 @@ def MakeEmbeddedPyFile(target, source, env):
         name,ext = pyfile.split('.')
         if name == '__init__':
             node['.hasinit'] = True
-        node[pyfile] = (src,name,ext)
+        node[pyfile] = (src,name,ext,src)
 
     done = False
     while not done:
@@ -136,12 +137,12 @@ def MakeEmbeddedPyFile(target, source, env):
                     raise NameError, 'package directory missing __init__.py'
                 populate(entry, path + [ name ])
             else:
-                pyfile,name,ext = entry
-                files.append((pyfile, path, name, ext))
+                pyfile,name,ext,filename = entry
+                files.append((pyfile, path, name, ext, filename))
     populate(tree)
 
-    for pyfile, path, name, ext in files:
-        WriteEmbeddedPyFile(target, pyfile, path, name, ext)
+    for pyfile, path, name, ext, filename in files:
+        WriteEmbeddedPyFile(target, pyfile, path, name, ext, filename)
 
 CFileCounter = 0
 def MakePythonCFile(target, source, env):
-- 
cgit v1.2.3