Update of /cvsroot/fink/fink/perlmod/Fink
In directory sfp-cvsdas-3.v30.ch3.sourceforge.com:/tmp/cvs-serv32144

Modified Files:
        ChangeLog Validation.pm 
Log Message:
OSX 10.4 needs otool64 to read 64-bit binaries at all, so fall back to that 
command if normal otool fails (otool64 only present on old systems; newer have 
'otool' that does it all)


Index: Validation.pm
===================================================================
RCS file: /cvsroot/fink/fink/perlmod/Fink/Validation.pm,v
retrieving revision 1.323
retrieving revision 1.324
diff -u -d -r1.323 -r1.324
--- Validation.pm       6 May 2010 19:27:45 -0000       1.323
+++ Validation.pm       11 May 2010 01:39:59 -0000      1.324
@@ -1454,6 +1454,8 @@
 
        chomp(my $otool = `which otool 2>/dev/null`);
        undef $otool unless -x $otool;
+       chomp(my $otool64 = `which otool64 2>/dev/null`); # older OSX has 
separate tool for 64-bit
+       undef $otool64 unless -x $otool;                                  # 
binaries (otool itself cannot handle them)
        my $basepath;   # %p
        my $buildpath;  # BuildPath from fink.conf
        # determine the base path
@@ -1958,6 +1960,15 @@
                                        close (OTOOL);
 
                                        if (!defined $libname or !defined 
$compat_version) {
+                                               if (defined $otool64) {
+                                                       if (open (OTOOL, 
"$otool64 -L '$file' |")) {
+                                                               <OTOOL>; # skip 
the first line
+                                                               ($libname, 
$compat_version) = <OTOOL> =~ /^\s*(\/.+?)\s*\(compatibility version ([\d\.]+)/;
+                                                               close (OTOOL);
+                                                       }
+                                               }
+                                       }
+                                       if (!defined $libname or !defined 
$compat_version) {
                                                print "Error: File name 
'$shlibs_file' specified in Shlibs does not appear to have linker data at 
all\n";
                                                $looks_good = 0;
                                        } else {

Index: ChangeLog
===================================================================
RCS file: /cvsroot/fink/fink/perlmod/Fink/ChangeLog,v
retrieving revision 1.1655
retrieving revision 1.1656
diff -u -d -r1.1655 -r1.1656
--- ChangeLog   6 May 2010 19:27:44 -0000       1.1655
+++ ChangeLog   11 May 2010 01:39:59 -0000      1.1656
@@ -1,4 +1,8 @@
-2010-05-06     Alexander Hansen <alexkhan...@users.sourceforge.net>
+2010-05-10  Daniel Macks <dma...@netspace.org>
+
+       * Validation.pm: Fallback try otool64 -L if otool -L fails
+
+2010-05-06  Alexander Hansen <alexkhan...@users.sourceforge.net>
 
        * Validation.pm:  Accept DYLIB_STUB as also being a dylib.
 


------------------------------------------------------------------------------

_______________________________________________
Fink-commits mailing list
Fink-commits@lists.sourceforge.net
http://news.gmane.org/gmane.os.apple.fink.cvs

Reply via email to