discuss-gnustep
[Top][All Lists]
Advanced

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

question regarding xxx_INTERFACE_VERSION for libraries/frameworks


From: Sebastian Reitenbach
Subject: question regarding xxx_INTERFACE_VERSION for libraries/frameworks
Date: Sun, 14 Nov 2010 12:32:15 +0100
User-agent: Thunderbird 2.0.0.22 (X11/20090701)

Hi,

if I see that right, the variable above is not much used across gnustep
projects. But if I understand the documentation right, I should set it,
to manipulate the major and minor numbers of the shared library, if I
need to do so. If it is empty, the interface version of the
library/framework is derived from the xxx_VERSION variable, or if that
is also not set, then its getting its default value of 0.1.
In OpenBSD ports tree, when importing new libraries, they are usually
imported with interface version 0.0, i.e. libPDFKit.so.0.0, and there
are no symlinks created to libPDFKit.so.0 or libPDFKit.so, since the
linker always searches for library names, suffixed with major and minor
number.
So I specified libXXX_INTERFACE_VERSION=0.0 as make environment like this:

libXXX_INTERFACE_VERSION=0.0 gmake
which did not worked, it still picked up the version from xxx_VERSION.
then I tried it as a flag:
gmake libXXX_INTERFACE_VERSION=0.0
which did not worked, it still picked up the version from xxx_VERSION.
afterwards I patched the GNUmakefile, with the same result.

After a lot of head banging, I found that when I patch
Instance/library.make in the gnumakefile package like the patch below,
then its starting to work as expected. I also added a similar patch to
Instance/framework.make, to make it work for the frameworks.

The patch is against gnustep-make-2.4.0, and I'm also using all latest
stable release versions of gnustep-core. I have to admit, there are some
more patches against gnustep-make in the ports system, but they should
not interfere here. The patches can be found
here:http://www.openbsd.org/cgi-bin/cvsweb/ports/x11/gnustep/make/patches/

Someone, maybe Nicola ;), could tell me whether I do sth. wrong here, or
why it is not working as I think it should do?
Or is this a kind of a bug in gnustep makefiles?

cheers,
Sebastian


--- Instance/library.make.orig  Thu Mar 19 17:59:53 2009
+++ Instance/library.make       Tue Oct  6 20:36:23 2009
@@ -184,7 +184,7 @@ endif
 ifneq ($(BUILD_DLL),yes)
 
 LIBRARY_FILE = $(LIBRARY_NAME_WITH_LIB)$(SHARED_LIBEXT)
-VERSION_LIBRARY_FILE = $(LIBRARY_FILE).$(VERSION)
+VERSION_LIBRARY_FILE = $(LIBRARY_FILE).$(INTERFACE_VERSION)
 SONAME_LIBRARY_FILE  = $(LIBRARY_FILE).$(INTERFACE_VERSION)
 
 else # BUILD_DLL



reply via email to

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