regenerated new code taking advantage of simplified function prototypes.

* app/composite/gimp-composite-dispatch.[ch]: regenerated new code
taking advantage of simplified function prototypes.

* app/composite/gimp-composite-test.c: New regression testing
driver.  This file is automatically generated, but it's included
in the cvs tree for expediency.

* app/composite/ns.py: hopeful checks for which OS is currently
running as a hint to what nm(1) is available.

* app/composite/gimp-composite-mmx.[ch]
* app/composite/gimp-composite-sse.[ch]
* app/composite/gimp-composite-generic.[ch]: function prototype
cleanup.

* app/composite/make-gimp-composite-dispatch.py: generates code to
test compositing functions.

* app/composite/gimp-composite-regression.[ch]: support for
automatically testing compositing functions.
This commit is contained in:
Helvetix Victorinox
2003-07-24 08:00:12 +00:00
parent e86f52aab6
commit d3fc41f0c2
18 changed files with 566 additions and 172 deletions

View File

@ -51,21 +51,32 @@ class nmx:
def update(self, objfile):
self.filename = objfile
(sysname, nodename, release, version, machine) = os.uname()
if sysname == "Linux":
fp = os.popen("nm -B " + objfile, "r")
symbols = map(lambda l: string.split(l[8:]), fp.readlines())
print symbols
elif sysname == "SunOS":
fp = os.popen("nm -p " + objfile, "r")
symbols = map(lambda l: string.split(l[12:]), fp.readlines())
pass
elif sysname == "IRIX":
fp = os.popen("nm -B " + objfile, "r")
symbols = map(lambda l: string.split(l[8:]), fp.readlines())
pass
object = objfile
fp = os.popen("nm -A " + objfile, "r")
for line in fp.readlines():
(object, type, symbol) = string.split(line)
object = object[:string.rfind(object, ':')]
for (type, symbol) in symbols:
if not self.objects.has_key(object):
self.objects.update({ object : dict({"exports" : dict(), "imports" : dict()})})
self.objects.update({ object : dict({ "exports" : dict(), "imports" : dict() }) })
pass
if type == "U":
self.objects[object]["imports"].update({symbol : dict()})
self.objects[object]["imports"].update({ symbol : dict() })
elif type in ["C", "D", "T"]:
self.objects[object]["exports"].update({symbol : dict()})
self.objects[object]["exports"].update({ symbol : dict() })
pass
pass