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 _______________________________________________ Discuss-gnustep mailing list [email protected] http://lists.gnu.org/mailman/listinfo/discuss-gnustep
