[sane-devel] Re: Darwin/MacOSX
Henning Meier-Geinitz
henning@meier-geinitz.de
Fri, 29 Nov 2002 15:15:21 +0100
Hi,
On Thu, Nov 28, 2002 at 09:12:03PM +0900, Peter O'Gorman wrote:
> Note that a dlopen compatibility library is needed, I suggest using
> dlcompat <http://www.opendarwin.org/projects/dlcompat>, but I am a
> little biased :)
Thanks for the patch. So now we at least know how to detect a AmcOS X
sytsem :-)
However, the dynamic loading issue is still unclear for me:
> +# ifdef __APPLE__
> +# define POSTFIX ".%u.so"
> +# else
> # define POSTFIX ".so.%u"
> +# endif
That's the third version of how MacOS shared libraries are stored.
1) libsane-something.so(.version)
2) libsane-something.dylib.version
3) (yours) libsane-something(.version).so
I'm pretty much confused by this stuff. Can we support all of these
versions? Why are there different approaches at all?
> +++ sane-backends-1.0.9/backend/Makefile.in Sun Nov 24 19:40:38 2002
> @@ -139,7 +139,7 @@
> libsane-%.la: %.lo %-s.lo $(EXTRA) $(LIBOBJS)
> @$(LIBTOOL) $(MLINK) $(CC) -export-dynamic -o $@ $($*_LIBS) \
> $(LDFLAGS) $(BACKENDLIBS) $^ -rpath $(libsanedir) \
> - -version-info $(V_MAJOR):$(V_REV):$(V_MINOR)
> + -version-info $(V_MAJOR):$(V_REV):$(V_MINOR) -module
What's the meaning of "-module"? Is it a flag for gcc, ld or libtool?
> +++ sane-backends-1.0.9/configure Sun Nov 24 19:40:38 2002
> @@ -6571,7 +6571,7 @@
> # cross-compilation, but unfortunately the echo tests do not
> # yet detect zsh echo's removal of \ escapes. Also zsh
> mangles
> # `"' quotes if we put them in here... so don't!
> - archive_cmds='$nonopt $(test .$module = .yes && echo -bundle ||
> echo -dynamiclib) $allow_undefined_flag -o $lib $libobjs
> $deplibs$linker_flags -install_name $rpath/$soname $verstring'
> + archive_cmds='$nonopt $(test .$module = .yes && echo -bundle ||
> echo -dynamiclib) $allow_undefined_flag -o $lib $libobjs
> $deplibs$linker_flags $(test .$module = .yes || (echo -install_name
> $rpath/$soname $verstring))'
I guess this should be fixed in libtool. If it already is, I'll try to
use a new libtool version in sane-backends.
Bye,
Henning