X11 install_name fixer script
X11 install_name fixer script
- Subject: X11 install_name fixer script
- From: Ben Hines <email@hidden>
- Date: Wed, 15 Jan 2003 17:53:31 -0800
This script changes apple's dylib install names to be
libNAME.major.dylib rather than libNAME.major.minor.dylib.
This script enabled me to build QT and KDE once again! We might want to
consider adding it to fink's system-xfree86 package.
#!/usr/bin/perl
use File::Find;
my $newlibrary, @liblist, $libdir = "/usr/X11R6/lib";
if(`id -u` != 0)
{
print "you must be root to run this!";
# exit 1;
}
if (! -e "/usr/bin/install_name_tool")
{
print "can't run /usr/bin/install_name_tool";
exit 2;
}
find ({ wanted => \&process }, $libdir);
sub process {
if (/(.+)\.([0-9])\.([0-9])\.dylib$/)
{
push @liblist, $File::Find::name;
}
}
find ({ wanted => \&process2 }, $libdir);
sub process2 {
if (/(.+)\.([0-9])\.([0-9])\.dylib$/)
{
print "fixing $_ references... \n";
$newlibrary = "$File::Find::dir/$1.$2.dylib";
`/usr/bin/install_name_tool -id $newlibrary $_\n`;
foreach (@liblist)
{
/(.+)\.([0-9])\.([0-9])\.dylib$/;
{
`/usr/bin/install_name_tool -change $File::Find::name
$newlibrary $_\n`;
}
}
}
}
_______________________________________________
x11-users mailing list | email@hidden
Help/Unsubscribe: http://www.lists.apple.com/mailman/listinfo/x11-users
Do not post admin requests to the list. They will be ignored.