[sane-devel] OS/2 version of Sane

Franz Bakan Franz Bakan" <fbakan@gmx.net
Thu, 22 Nov 2001 14:06:30 +0100 (MEZ)


On Thu, 22 Nov 2001 10:12:33 +0100 (MET), Paul Floyd wrote:

>1. configure failed to detect syslog. Had to edit 
include/sane/config.h

yes, that's another small problem.
A list  of my manual modifications to get the OS/2
executables and libsane.dll is written down at:

http://home.tiscalinet.de/fbakan/sane106.htm

>2. similar problems with .exe as Franz. I fixed that by editing 
all the
>Makefiles and changing the statements that look like [from 
memory]
>
>ifneq ($exeext, .exe)
>	COPTS = -Zomf ...
>else
>	COPTS = ...
>endif
>
>to be "ifeq" instead
>
>This results in a OMF exe being generated (as opposed to an 
a.out file which
>OS/2 can't run).

As far as I know, OMF exe's are more 'modern' on OS/2 and should
be used (Allthough I don't know why, perhpas one day someone 
tellls
me the advantages)

But OS/2 _can_ run a.out - style executables. That's the way I 
build
sane-os/2. In this case you have to use the emx-gcc-linker.

>This does not result in a DLL being produced. Instead, one 
great big .exe is
>produced - I manually set the compile options to -g and removed 
the -s. In order
>to get a DLL, some significant work with libtool is required.

Things should be easier for you if you (like I do) use the old 
but working
libtool from Yuri Dario's sane1.01 distribution. It's available 
on my web-site.

But you are right, it would be nice, if someone could include 
the
OS/2-specific things to the 'official' libtool distribution.

>3. snapscan is not supported on OS/2 (USB code uses headers 
that are not
>available).
>
>My fix for this is to do something like
>
>#ifdef OS2
>#include "snapscan-usb-stubs.c"
>#else
>#include "snapscan-usb.c"
>#endif
>
>where the 'stubs' version doesn't include the offending header 
file, but it does
>have empty function bodies to keep the linker happy.

I also think, that the scsi-scanner-backends should build on all 
systems
even if they do not have USB-Support.

Regards,
Franz