[sane-devel] Build system issues.
m. allan noah
kitno455 at gmail.com
Fri Feb 20 20:17:31 UTC 2009
On Fri, Feb 20, 2009 at 3:08 PM, Chris Bagwell <chris at cnpbagwell.com> wrote:
>
>
> 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?
yes.
>
> 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?
it's not just that it leaves the links behind, it actually makes the
links to 1.0.19, even when 1.1.0 is also installed.
> 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.
yes. but i think we are going to end up with libsane2.so anyway, so
don't worry about that.
allan
>
> @# 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
>
>
--
"The truth is an offense, but not a sin"
More information about the sane-devel
mailing list