[sane-devel] dll.c OS/2 specific patch

Henning Meier-Geinitz henning@meier-geinitz.de
Thu, 22 Apr 2004 20:28:29 +0200


Hi,

On Wed, Apr 21, 2004 at 06:12:04PM +0200, Franz Bakan wrote:
> to make dynamic loading of backend-dlls work on OS/2
> there is a patch needed. Could someone please commit?

So currently there is no dynamic loading on OS/2? Only a shared big
dll backend with all backends preloaded or even a statically linked
frontend?

> Drawback on OS/2 is that the backend.dll names have a length
> limitation. IIRC they have to be 8.3
> Doses someone has a suggestion for a workaround?

You could try to write some Makefile/shell script code that only gets
active on OS/2 and shortens the filename of the libs (e.g. by removing
"sane-" from "libsane-" or if that works on OS/2 even removing the
"lib". That will probably break shared linking of those libs.

Are there links on OS/2? Could you use a link with a short name
pointing to the longer name lib?

> *** dll.c	Mon Jan  5 23:25:16 2004
> --- g:dll.c	Wed Apr 21 01:49:36 2004
> ***************
> *** 308,313 ****
> --- 308,317 ----
>   #   undef PREFIX
>   #   define PREFIX "cygsane-"
>   #   define POSTFIX "-%u.dll"
> + #elif defined (HAVE_OS2_H)
> + #   undef PREFIX
> + #   define PREFIX ""
> + #   define POSTFIX ".dll"
>   # else
>   #   define POSTFIX ".so.%u"
>   # endif

If that's all I don't mind applying it as it doesn't cause problems on
other platforms and on OS/2 I guess oyu know what you are doing :-)

Bye,
  Henning