[sane-devel] MacOS X SCSI support updated in CVS

Henning Meier-Geinitz henning@meier-geinitz.de
Sat, 6 Dec 2003 14:39:30 +0100


I've just appliead a patch for the SCSI support on MacOS X from
Mattias Ellert to CVS. All MacOS X users please test if it compiles on
your version of MacOS X and if it works.

Either use CVS to get the latest code or wait one day and use one of
the snapshots.

I'll attach Mattias' mail to me as he can explain what he did much
better :-)


Mattias Ellert <mattias.ellert@tsl.uu.se>:  
| I have now completed my efforts to get the autotools to configure the 
| Mac OS X scsi stuff.
| There are patches to two files. The first is in configure.in to make a 
| check for two different header files instead of one, so that the two 
| different APIs can be checked.
| The second one is sanei_scsi.c. Most changes are to remove the 
| OSX_ONLY_10_x_API symbols and replace them with the two new symbols 
| declared by autotools.
| With Mac OS X 10.3 there is a new feature in the linker that allows to 
| cross-compile for older versions of Mac OS X, provided you have the 
| correct SDKs installed. Some of the changes in the patch was made in 
| order to make the code compile with gcc 2.95.2, which is necessary for 
| doing a cross compilation for Mac OS X 10.1. With the patch the 
| compilation works, but since I don't have a computer running Mac OS X 
| 10.1 I haven't been able to verify that it runs. But at least it 
| compiles now.
| The kIOMasterPortDefault is not defined on Mac OS X 10.1 so I replaced 
| it with calls to IOMasterPort that works.
| I have also fixed bug #300317, by calling CFRelease on the created 
| CFStrings.
| This took a bit longer than I expected. The reason for this was mainly 
| the new cross compilation feature that required that I compiled 
| maciconv, gettext, libusb and sane-backends 3 times (for 10.1.5, 10.2.7 
| and 10.3.0) in order to test the three available cross compilation 
| SDKs.
| With the patches all three versions compile. The Mac OS X 10.3 version 
| runs. I can not test the other ones, since they were obtained using 
| cross compilation, and I don't have any computer running those versions 
| of Mac OS X to install on.