[sane-devel] Build system issues.

Chris Bagwell chris at cnpbagwell.com
Fri Feb 20 20:08:23 UTC 2009


On Fri, Feb 20, 2009 at 12:38 PM, m. allan noah <kitno455 at gmail.com> wrote:

> I'm not sure, but i think the build system used to overwrite all the
> .so and .so.1 symlinks. It no longer does. I think this is a useful
> feature, because you can tell users just to build from source and they
> will be using the new version. Otherwise, they have to uninstall the
> old version, and this can get hairy with novice users and helpful
> package managers.
>
>
You mean during install phase, right?

When backend was converted to automake, it uses the standard automake
support to install libraries.  That does install symlinks on fresh install.

I think your point is that now if a user installs, libsane.so.1.1.0 on top
of a previous libsane.so.1.0.19 install then libsane.so symlink still points
to libsane.so.1.0.19?

I've not tried above yet but seems reasonable libtool behavior to me.  I'll
read up on libtool and see if they have an "opinion" on this.

I didn't port over the following logic from old "install-be" target but it
must have been doing what you said (move symlink to libsane.so.1.1.0).  The
comment suggested that libtool simply wasn't working but since it was I
didn't bother porting over...

If people agree with old behavior, I can add it back. Old logic seems
dangerious if we ever have a libsane.so.2.0.0 (as apposed to
libsane2.so.0.0.0).  We don't want to move libsane.so to libsane.so.2.0.0
blindly or else will break a lot of applications that were working fine.
But since we are not at that point yet, no issue to restore it.  Moving
libsane.so.x to lastest version of libsane.so.x.y.z seems safe.

        @# Create library links manually. Actually this is libtool's job but
it
doesn't
        @# seem to work on some platforms.
        @# Assume the dll name without any versions is last
        @if test "$(USE_LINKS)" = "yes" ; then  \
          dllend=`../tools/libtool-get-dll-ext libsane-dll.la`; \
          list="$(ALL_BACKENDS)"; cd $(DESTDIR)$(libsanedir) && for be in
$$list
; do \
            file=libsane-$${be}.$$dllend.$(V_MAJOR); \
            lib=`grep dlname= libsane-$${be}.la | cut -f2 -d"'"`; \
            if test ! -f $${file} -a -n "$${lib}"; then \
              $(LN_S) $${lib} $${file}; \
            fi; \
          done; \
        fi


Chris
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.alioth.debian.org/pipermail/sane-devel/attachments/20090220/d9e5d3f1/attachment.htm 


More information about the sane-devel mailing list