[liblouis-liblouisxml] Re: Library version in filename

  • From: Eitan Isaacson <eitan@xxxxxxxxxxxx>
  • To: liblouis-liblouisxml@xxxxxxxxxxxxx
  • Date: Mon, 19 Jan 2009 12:37:45 +0200

The version in the .so file is standard in POSIX systems. If this is
not standard in Windows than we should somehow make that the exception
in the configure/build process. As for the Python bindings version
compatibility, we should be able to do that in a more sophisticated
and bomb-proof manner by either with lou_version() or the equivalent.
I wouldn't worry about it now though. It will only affect us if the
lou_translate function prototype changes.

Cheers,
  Eitan.

On Mon, Jan 19, 2009 at 5:40 AM, John J. Boyer <johnjboyer@xxxxxxxxxxxxx> wrote:
> I'll let people who are more knowledgeable about autotools and Windows
> DLLs comment on this. However, I changed the values of LIBLOUIS_CURRENT
> LIBLOUIS_REVISION and LIBLOUIS_AGE in configure.ac because of the hooks
> added to compileTranslationTable.c for lou_debug. This does not change
> liblouis.h, which is what external programs use, but it does change
> louis.h, which contains definitions of internal functions and may be
> used by more tools in the future.
>
> Thanks,
> John
>
> On Mon, Jan 19, 2009 at 01:09:16PM +1000, James Teh wrote:
>> Hi all,
>>
>> As I noted previously, when built in Windows, the liblouis dll gets the
>> name liblouis-1.dll. The reason this version suffix is appended is to
>> prevent collisions when there are multiple versions of a library with
>> different APIs present on a given system.
>>
>> I assume that under Linux, you get liblouis.so.1. Is a symlink
>> automatically created called liblouis.so linking to liblouis.so.1?
>>
>> It is apparently possible to eliminate this version suffix by specifying
>> -avoid-version to libtool (which I *think* would be done in the
>> liblouis_la_LDFLAGS variable in liblouis/Makefile.am). However, perhaps
>> this is actually incorrect given that the whole point of the suffix is
>> to avoid conflicts. We could possibly do this just for Windows. (I
>> assume you can do conditional stuff in Makefile.am?)
>>
>> The reason it is even an issue is that the Python bindings currently
>> hard-code liblouis.dll for Windows and liblouis.so for Linux. However,
>> if the API ever changes (thus changing the version suffix), these
>> bindings probably won't work anyway. Therefore, it could be argued that
>> they should specify liblouis-1.dll for Windows and liblouis.so.1 for Linux.
>>
>> Thoughts appreciated.
>>
>> --
>> James Teh
>> Email/MSN Messenger/Jabber: jamie@xxxxxxxxxxx
>> Web site: http://www.jantrid.net/
>> For a description of the software and to download it go to
>> http://www.jjb-software.com
>
> --
> My websites:
> http://www.godtouches.org
> http://www.jjb-software.com
> Location: Madison, WI, USA
>
> For a description of the software and to download it go to
> http://www.jjb-software.com
>
For a description of the software and to download it go to
http://www.jjb-software.com

Other related posts: