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`;
}
}
}
}



-------------------------------------------------------
This SF.NET email is sponsored by: A Thawte Code Signing Certificate is essential in establishing user confidence by providing assurance of authenticity and code integrity. Download our Free Code Signing guide:
http://ads.sourceforge.net/cgi-bin/redirect.pl?thaw0028en
_______________________________________________
Fink-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/fink-devel

Reply via email to