[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Bug-apl] libapl load - a makefile question.

From: Juergen Sauermann
Subject: Re: [Bug-apl] libapl load - a makefile question.
Date: Thu, 12 Jul 2018 14:51:46 +0200
User-agent: Mozilla/5.0 (X11; Linux i686; rv:52.0) Gecko/20100101 Thunderbird/52.8.0

Hi Peter,

I suppose the line

libapl_la_LDFLAGS += -avoid-version

in src/Makefile.am prevents the creation of
libapl.0.dylib. I suppose if
you remove that line then libapl.0.dylib will show up.
Please note that libapl.0.dylib is simply a symbolic link to libapl.dylib
so one can also easily create it manually if needed.

The reason why I am using -avoid-version is that I would like to avoid
the incorrect impression that I will take care of properly maintaining the library version
numbers of libapl.

There is a difference between people maintaining a particular library (and often shipping
that library in binary form) and libapl which is always built from source and whose version
number comes from svn rather than being stepped up separately. In principle every bugfix in GNU APL
that is committed to svn would then create a new libapl version (-number). Having different libapl
versions on your machine makes little sense, though (unless you need some errors to persist which
I would call bad pactice).

  In other words, I believe that the usual rules for shared library are not applicable to libapl and following
them would create some extra burden on my part which I believe is quite an overkill given the small
number of people using libapl and given that GNU APL as a whole is updated far more often than its
 libapl part.

Regarding Makefile vs. Makefile.in vs. Makefile.am, you should always update Makefile.am because
Makefile.in is automatically created from  Makefile.am (by autoreconf)  and Makefile is automatically
created from 
Makefile.in (by configure).

Best regards,
/// Jürgen

On 07/11/2018 11:27 PM, Peter Teeson wrote:
Hi Jürgen: 

Following up an this subject I noticed this:

libapl.a                    libemacs.a
libapl.dylib              libemacs.dylib
 libapl.la                  libemacs.la

Actually what Elias did for the emacs lib does follow the Apple documentation.
Apple provides a way for dynamic libraries to be improved as well as new capabilities added.
And for the host app to determine to what extent the newer lib will still be usable without problems.

In essence at build time you provide args for the dynamic linker as follows:
-macosx_version_min  version, compatibility_version number, current_version number.

libemacs.0.dylib is an example of embedding the version number in the library name;
In this case the default is 0 (when none is provided).

So where would I look in the emacs makefiles to see where this/these args are provided?
Would I examine makefile.in? or makefile.ac? or what?

I would like to experiment with this a bit.

thanks and respect….

P.S. libapl API is stable so in a sense it’s academic. But one likes to design for the future….

Attachment: signature.asc
Description: OpenPGP digital signature

reply via email to

[Prev in Thread] Current Thread [Next in Thread]