From Joran Jessurun, updated to look for lib/win32.
This commit is contained in:
parent
26e3424195
commit
794a36f30f
@ -1,51 +1,102 @@
|
|||||||
/* collect_mangled_names - Copyright (C) 2006 Joran Jessurun
|
/* collect_mangled_names - Copyright (C) 2006 Joran Jessurun
|
||||||
|
|
||||||
*
|
*
|
||||||
|
|
||||||
* This library is open source and may be redistributed and/or modified under
|
* This library is open source and may be redistributed and/or modified under
|
||||||
|
|
||||||
* the terms of the OpenSceneGraph Public License (OSGPL) version 0.0 or
|
* the terms of the OpenSceneGraph Public License (OSGPL) version 0.0 or
|
||||||
|
|
||||||
* (at your option) any later version. The full license is in LICENSE file
|
* (at your option) any later version. The full license is in LICENSE file
|
||||||
|
|
||||||
* included with this distribution, and on the openscenegraph.org website.
|
* included with this distribution, and on the openscenegraph.org website.
|
||||||
|
|
||||||
*
|
*
|
||||||
|
|
||||||
* This library is distributed in the hope that it will be useful,
|
* This library is distributed in the hope that it will be useful,
|
||||||
|
|
||||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
|
||||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
|
||||||
* OpenSceneGraph Public License for more details.
|
* OpenSceneGraph Public License for more details.
|
||||||
|
|
||||||
*
|
*
|
||||||
|
|
||||||
* Made by Joran Jessurun (A.J.Jessurun@tue.nl)
|
* Made by Joran Jessurun (A.J.Jessurun@tue.nl)
|
||||||
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
var dumpbin="dumpbin";
|
var dumpbin="dumpbin";
|
||||||
|
|
||||||
var fso=WScript.createObject("Scripting.FileSystemObject");
|
var fso=WScript.createObject("Scripting.FileSystemObject");
|
||||||
|
|
||||||
var ForReading=1;
|
var ForReading=1;
|
||||||
|
|
||||||
var ForWriting=2;
|
var ForWriting=2;
|
||||||
|
|
||||||
var shell=WScript.createObject("WScript.Shell");
|
var shell=WScript.createObject("WScript.Shell");
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
function process(file) {
|
function process(file) {
|
||||||
|
|
||||||
WScript.echo("Processing: "+file);
|
WScript.echo("Processing: "+file);
|
||||||
|
|
||||||
var txt="";
|
var txt="";
|
||||||
|
|
||||||
var exec=shell.exec(dumpbin+' /linkermember:1 "'+file+'"');
|
var exec=shell.exec(dumpbin+' /linkermember:1 "'+file+'"');
|
||||||
|
|
||||||
while(!exec.stdOut.atEndOfStream)
|
while(!exec.stdOut.atEndOfStream)
|
||||||
|
|
||||||
{
|
{
|
||||||
|
|
||||||
var line=exec.stdOut.readLine();
|
var line=exec.stdOut.readLine();
|
||||||
|
|
||||||
if(/3V\?\$RegisterReaderWriterProxy/.test(line)
|
if(/3V\?\$RegisterReaderWriterProxy/.test(line)
|
||||||
|
|
||||||
|| /3VRegisterDotOsgWrapperProxy/.test(line))
|
|| /3VRegisterDotOsgWrapperProxy/.test(line))
|
||||||
|
|
||||||
{
|
{
|
||||||
|
|
||||||
txt+=line.substr(10)+"\n";
|
txt+=line.substr(10)+"\n";
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
while(exec.status!=1) WScript.sleep(100);
|
while(exec.status!=1) WScript.sleep(100);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
if(txt!="") {
|
if(txt!="") {
|
||||||
|
|
||||||
file=file.replace(/\.lib$/m,".sym");
|
file=file.replace(/\.lib$/m,".sym");
|
||||||
|
|
||||||
var f=fso.openTextFile(file,ForWriting,true);
|
var f=fso.openTextFile(file,ForWriting,true);
|
||||||
|
|
||||||
f.write(txt);
|
f.write(txt);
|
||||||
|
|
||||||
f.close();
|
f.close();
|
||||||
|
|
||||||
WScript.echo("Created: "+file);
|
WScript.echo("Created: "+file);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
WScript.echo("Collecting mangled names");
|
WScript.echo("Collecting mangled names");
|
||||||
var files=new Enumerator(fso.getFolder("..\\lib").Files);
|
|
||||||
|
var files=new Enumerator(fso.getFolder("..\\lib\\win32").Files);
|
||||||
|
|
||||||
for(;!files.atEnd();files.moveNext()) {
|
for(;!files.atEnd();files.moveNext()) {
|
||||||
|
|
||||||
if(/_s\.lib$/.test(files.item())) {
|
if(/_s\.lib$/.test(files.item())) {
|
||||||
|
|
||||||
process(""+files.item());
|
process(""+files.item());
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user