mirror of
https://github.com/gnustep/tools-make.git
synced 2025-04-23 22:33:28 +00:00
Implemented versioning of DLLs in a way that works exactly in the same way as it works under Unix
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/tools/make/trunk@24833 72102866-910b-0410-8b05-ffd578937521
This commit is contained in:
parent
1b46123b05
commit
5264b5d3d6
4 changed files with 31 additions and 14 deletions
10
ChangeLog
10
ChangeLog
|
@ -1,3 +1,13 @@
|
|||
2007-03-09 Nicola Pero <nicola.pero@meta-innovation.com>
|
||||
|
||||
Implemented versioning of Microsoft Windows DLLs. Every DLL now
|
||||
has got the interface version in their name, and applications are
|
||||
linked to a DLL including the interface version.
|
||||
* Instance/library.make (INTERFACE_VERSION): Compute even if
|
||||
building DLLs, using the same rules used on other platforms.
|
||||
(LIB_LINK_DLL_FILE): Include the INTERFACE_VERSION in the name.
|
||||
* Instance/framework.make (LIB_LINK_DLL_FILE): Same change.
|
||||
|
||||
2007-03-08 Nicola Pero <nicola.pero@meta-innovation.com>
|
||||
|
||||
You can now start up applications on the command line by just
|
||||
|
|
|
@ -225,10 +225,6 @@ FRAMEWORK_LIBRARY_DIR = $(GNUSTEP_BUILD_DIR)/$(FRAMEWORK_LIBRARY_DIR_NAME)
|
|||
FRAMEWORK_CURRENT_LIBRARY_DIR_NAME = $(FRAMEWORK_CURRENT_DIR_NAME)/$(GNUSTEP_TARGET_LDIR)
|
||||
FRAMEWORK_CURRENT_LIBRARY_DIR = $(GNUSTEP_BUILD_DIR)/$(FRAMEWORK_CURRENT_LIBRARY_DIR_NAME)
|
||||
|
||||
ifneq ($(BUILD_DLL), yes)
|
||||
FRAMEWORK_LIBRARY_FILE = lib$(GNUSTEP_INSTANCE)$(SHARED_LIBEXT)
|
||||
VERSION_FRAMEWORK_LIBRARY_FILE = $(FRAMEWORK_LIBRARY_FILE).$(VERSION)
|
||||
|
||||
# By setting xxx_INTERFACE_VERSION you can change the soversion used
|
||||
# when linking the library. See comments in library.make for the
|
||||
# variables with the same name for libraries.
|
||||
|
@ -238,6 +234,11 @@ ifeq ($($(GNUSTEP_INSTANCE)_INTERFACE_VERSION),)
|
|||
else
|
||||
INTERFACE_VERSION = $($(GNUSTEP_INSTANCE)_INTERFACE_VERSION)
|
||||
endif
|
||||
|
||||
ifneq ($(BUILD_DLL), yes)
|
||||
|
||||
FRAMEWORK_LIBRARY_FILE = lib$(GNUSTEP_INSTANCE)$(SHARED_LIBEXT)
|
||||
VERSION_FRAMEWORK_LIBRARY_FILE = $(FRAMEWORK_LIBRARY_FILE).$(VERSION)
|
||||
SONAME_FRAMEWORK_FILE = $(FRAMEWORK_LIBRARY_FILE).$(INTERFACE_VERSION)
|
||||
|
||||
else # BUILD_DLL
|
||||
|
@ -267,8 +268,11 @@ FRAMEWORK_LIBRARY_FILE = lib$(GNUSTEP_INSTANCE)$(DLL_LIBEXT)$(LIBEXT)
|
|||
VERSION_FRAMEWORK_LIBRARY_FILE = $(FRAMEWORK_LIBRARY_FILE)
|
||||
SONAME_FRAMEWORK_FILE = $(FRAMEWORK_LIBRARY_FILE)
|
||||
|
||||
# LIB_LINK_DLL_FILE is the DLL library, Renaissance.dll
|
||||
LIB_LINK_DLL_FILE = $(GNUSTEP_INSTANCE)$(DLL_LIBEXT)
|
||||
# LIB_LINK_DLL_FILE is the DLL library, Renaissance-0.dll. Include
|
||||
# the INTERFACE_VERSION in the DLL library name. Applications are
|
||||
# linked explicitly to this INTERFACE_VERSION of the library; this
|
||||
# works exactly in the same way as under Unix.
|
||||
LIB_LINK_DLL_FILE = $(GNUSTEP_INSTANCE)-$(subst .,_,$(INTERFACE_VERSION))$(DLL_LIBEXT)
|
||||
|
||||
FRAMEWORK_OBJ_EXT = $(DLL_LIBEXT)
|
||||
endif # BUILD_DLL
|
||||
|
|
|
@ -125,11 +125,6 @@ INTERNAL_LIBRARIES_DEPEND_UPON = \
|
|||
|
||||
ifeq ($(shared), yes)
|
||||
|
||||
ifneq ($(BUILD_DLL),yes)
|
||||
|
||||
LIBRARY_FILE = $(LIBRARY_NAME_WITH_LIB)$(SHARED_LIBEXT)
|
||||
VERSION_LIBRARY_FILE = $(LIBRARY_FILE).$(VERSION)
|
||||
|
||||
# Allow the user GNUmakefile to define xxx_INTERFACE_VERSION to
|
||||
# replace the default INTERFACE_VERSION for this library.
|
||||
|
||||
|
@ -183,6 +178,11 @@ ifeq ($($(GNUSTEP_INSTANCE)_INTERFACE_VERSION),)
|
|||
else
|
||||
INTERFACE_VERSION = $($(GNUSTEP_INSTANCE)_INTERFACE_VERSION)
|
||||
endif
|
||||
|
||||
ifneq ($(BUILD_DLL),yes)
|
||||
|
||||
LIBRARY_FILE = $(LIBRARY_NAME_WITH_LIB)$(SHARED_LIBEXT)
|
||||
VERSION_LIBRARY_FILE = $(LIBRARY_FILE).$(VERSION)
|
||||
SONAME_LIBRARY_FILE = $(LIBRARY_FILE).$(INTERFACE_VERSION)
|
||||
|
||||
else # BUILD_DLL
|
||||
|
@ -212,8 +212,11 @@ LIBRARY_FILE = $(LIBRARY_NAME_WITH_LIB)$(DLL_LIBEXT)$(LIBEXT)
|
|||
VERSION_LIBRARY_FILE = $(LIBRARY_FILE)
|
||||
SONAME_LIBRARY_FILE = $(LIBRARY_FILE)
|
||||
|
||||
# LIB_LINK_DLL_FILE is the DLL library, gnustep-base.dll
|
||||
LIB_LINK_DLL_FILE = $(LIBRARY_NAME_WITHOUT_LIB)$(DLL_LIBEXT)
|
||||
# LIB_LINK_DLL_FILE is the DLL library, gnustep-base-1.dll. Include
|
||||
# the INTERFACE_VERSION in the DLL library name. Applications are
|
||||
# linked explicitly to this INTERFACE_VERSION of the library; this
|
||||
# works exactly in the same way as under Unix.
|
||||
LIB_LINK_DLL_FILE = $(LIBRARY_NAME_WITHOUT_LIB)-$(subst .,_,$(INTERFACE_VERSION))$(DLL_LIBEXT)
|
||||
endif # BUILD_DLL
|
||||
|
||||
else # following code for static libs
|
||||
|
|
|
@ -873,7 +873,7 @@ ifeq ($(findstring mingw32, $(GNUSTEP_TARGET_OS)), mingw32)
|
|||
shared = yes
|
||||
HAVE_SHARED_LIBS = yes
|
||||
# This command links the library, generates automatically the list of
|
||||
# symbols to export, creates the DLL (eg, obj/gnustep-base.dll) and
|
||||
# symbols to export, creates the DLL (eg, obj/gnustep-base-1_13.dll) and
|
||||
# the import library (eg, obj/libgnustep-base.dll.a).
|
||||
SHARED_LIB_LINK_CMD = \
|
||||
$(CC) $(SHARED_LD_PREFLAGS) -shared \
|
||||
|
|
Loading…
Reference in a new issue