Dave wrote:
Thanks, I will look into merging the two together sometime soon, if no one beats me to it. First I want to make the existing program a little more readable before it becomes unmanageable and even I don't know what it does. :)
The sample HTML I created was done from my laptop, which has all sorts of applications installed. There might be a lot of irrelevant information. It may become a much smaller table once it's run on a clean system.
Please keep the foreend/backend approach, as I have neither tools nor environment to run your original perl prog, and I would still like to get the HTML rendering. I think the best approach is for a backend to dump the raw data into a easy to parse format (and your original format was, as you can see, not too difficult once you add the newlines), and a frontend that formats these into HTML.
As for the unnecessaries - 238 columns is much better than I feered. More worriying than the sheer number is the warning my prog issues when run on your original input (like I said - I don't have any other): DLL fsusd depends on DLL gdiplus, which does not exist DLL photowiz depends on DLL gdiplus, which does not exist DLL shmedia depends on DLL gdiplus, which does not exist DLL webvw depends on DLL gdiplus, which does not exist DLL wiadefui depends on DLL gdiplus, which does not exist DLL wiavideo depends on DLL gdiplus, which does not exist DLL wiavideo depends on DLL gdiplus, which does not exist DLL wiavusd depends on DLL gdiplus, which does not exist
Manually checking that with your output reveals that to be a correct assesment (i.e. - not a bug). there are references to a DLL called "gdiplus", which does not itself show in the output. Care to check your system and find out how that came about?
Shachar
At 01:11 AM 2/9/2003 +0200, you wrote:
Attached is a perl prog that taked David's original HTML output with a single necessary preprocessing (replacing each <br> with <br>\n), and issues a list of the DLLs (no deps as of yet) in the order discussed before (i.e. - A depends on B -> A is higher, A has more dependants than B -> A is higher).
I will now work on displaying this in a table. Shouldn't be too difficult (the fact that the table will be 238 coloumns wide nonwithstanding). Could be worse. The table is 1141 lines long.
This does not work with David's new prog yet, but as the both of them are in perl I am sure it will not be too big a deal to merge the two progs into one. This will just simplify the process of getting the initial input (currently parsed from the HTML).
Shachar
Shachar Shemesh wrote:
Havn't had a chance to look at your script yet, but I am two hours' work away from something that parses the original HTML you gave, and outputs the monster in the form Dimi and I suggested. I will attach it later today, and then you can merge the two, if you like.
Shachar
Quoting David Miller compsol@ptd.net:
I thought a few of you might be interested in the current status of this script, so here is an update. I will attach a copy in case anyone wants to test it, or add functionality or fixes. I'd be interested in the results of any tests, especially if you discover any parsing errors.
It is far from complete, but at this stage does the following:
- Scan a given path, locating all dll files
- Generate an HTML map of dll imports only (sorted, lowercase,
stripped of paths)
- dumpbin /import and dumpbin /export on all dll files and save the
results in imports.txt and exports.txt respectively
- parse imports.txt as follows, and save the results in
imported_api.txt:
DLL name imported DLL imported API
- parse exports.txt as follows, and save the results in
exported_api.txt:
DLL name exported API
Future plans:
- Create a matrix of data currently in HTML map
- Generate HTML cross reference of all imported/exported API
- Implement dumping of data into a database (Something queryable, but
what?)
- Detect and report unimplemented APIs in wine
-- Shachar Shemesh Open Source integration consultant http://www.consumer.org.il/sun/