diff --git a/configure/CONFIG_BASE b/configure/CONFIG_BASE index e416f99db..ab30d7f8b 100644 --- a/configure/CONFIG_BASE +++ b/configure/CONFIG_BASE @@ -14,8 +14,8 @@ EPICS_BASE_HOST_BIN = $(EPICS_BASE)/bin/$(EPICS_HOST_ARCH) EPICS_BASE_HOST_LIB = $(EPICS_BASE)/lib/$(EPICS_HOST_ARCH) ifdef T_A -EPICS_BASE_LIB = $(EPICS_BASE)/lib/$(T_A) -EPICS_BASE_BIN = $(EPICS_BASE)/bin/$(T_A) + EPICS_BASE_LIB = $(EPICS_BASE)/lib/$(T_A) + EPICS_BASE_BIN = $(EPICS_BASE)/bin/$(T_A) endif #--------------------------------------------------------------- @@ -33,8 +33,10 @@ EPICS_BASE_HOST_LIBS += ca Com # Version number for base shared libraries (and win32 products) ifdef BASE_TOP -SHRLIB_VERSION = $(EPICS_VERSION).$(EPICS_REVISION) -PROD_VERSION = $(EPICS_VERSION).$(EPICS_REVISION) + # Unix lib.so. Darwin lib..dylib + SHRLIB_VERSION = $(EPICS_VERSION).$(EPICS_REVISION).$(EPICS_MODIFICATION) + # Windows only allows 2 levels of version numbering + PROD_VERSION = $(EPICS_VERSION).$(EPICS_REVISION) endif # BASE_TOP #--------------------------------------------------------------- @@ -84,12 +86,15 @@ ELEX = $(call PATH_FILTER, $(TOOLS)/e_flex$(HOSTEXE)) -S$(EPICS_BASE)/include/fl YACC = $(EYACC) LEX = $(ELEX) +#--------------------------------------------------------------- +# msi used to be an external tool + +MSI ?= $(EPICS_BASE_HOST_BIN)/msi + #--------------------------------------------------------------- # External tools and tool flags - must be in path or defined in application -ifndef ADL2DL -ADL2DL = adl2dl -endif +ADL2DL ?= adl2dl # sch2edif compiler and flags SCH2EDIF = sch2edif @@ -99,18 +104,11 @@ SCH2EDIF_FLAGS = # e2db and flags # - again there is an assumption where edb.def is installed. -ifndef E2DB -E2DB = e2db -endif +E2DB ?= e2db E2DB_SYSFLAGS = -ate -d $(CAPFAST_TEMPLATES)/edb.def E2DB_FLAGS = -ifndef DBST -DBST = dbst -endif - -ifndef MSI -MSI = $(EPICS_BASE_HOST_BIN)/msi -endif +DBST ?= dbst + diff --git a/configure/os/CONFIG.darwinCommon.darwinCommon b/configure/os/CONFIG.darwinCommon.darwinCommon index c3f6eddf9..fc760c0f2 100644 --- a/configure/os/CONFIG.darwinCommon.darwinCommon +++ b/configure/os/CONFIG.darwinCommon.darwinCommon @@ -68,13 +68,12 @@ GNU = NO # # Darwin shared libraries # -SHRLIB_VERSION = $(EPICS_VERSION).$(EPICS_REVISION).$(EPICS_MODIFICATION) SHRLIB_LDFLAGS = -dynamiclib -flat_namespace -undefined suppress \ - -install_name $(shell $(FULLPATHNAME) $(INSTALL_LIB))/$@ \ - -compatibility_version $(EPICS_VERSION).$(EPICS_REVISION) \ - -current_version $(SHRLIB_VERSION) + -install_name $(shell $(FULLPATHNAME) $(INSTALL_LIB))/$@ \ + $(addprefix -compatibility_version , $(SHRLIB_VERSION)) \ + $(addprefix -current_version , $(SHRLIB_VERSION)) SHRLIB_SUFFIX_BASE = .dylib -SHRLIB_SUFFIX = .$(SHRLIB_VERSION)$(SHRLIB_SUFFIX_BASE) +SHRLIB_SUFFIX = $(addprefix ., $(SHRLIB_VERSION))$(SHRLIB_SUFFIX_BASE) LOADABLE_SHRLIB_LDFLAGS = -bundle -flat_namespace -undefined suppress diff --git a/configure/os/CONFIG.win32-x86.win32-x86 b/configure/os/CONFIG.win32-x86.win32-x86 index 0ffcd2606..0ac715d6f 100644 --- a/configure/os/CONFIG.win32-x86.win32-x86 +++ b/configure/os/CONFIG.win32-x86.win32-x86 @@ -130,6 +130,7 @@ RANLIB= # -LTCG whole program optimization # -incremental:no full linking # -fixed:no generate relocatable code +# -version:. - only 2 components allowed, 0-65535 each # -debug generate debugging info LINK_OPT_FLAGS_YES = -LTCG -incremental:no -opt:ref \ -release $(PROD_VERSION:%=-version:%) diff --git a/documentation/RELEASE_NOTES.html b/documentation/RELEASE_NOTES.html index 207cd2d93..dc76e2b86 100644 --- a/documentation/RELEASE_NOTES.html +++ b/documentation/RELEASE_NOTES.html @@ -14,6 +14,15 @@

Changes between 3.15.0.2 and 3.15.1

+

Shared Library Versions

+ +

On architectures that can support it, the shared library version number for +libraries provided with Base has had the third component of the EPICS version +number added to it, thus libCom.so.3.15.1 instead of libCom.so.3.15. Windows +can only support two components to its internal product version number, and the +Darwin bug that external shared libraries were being built using the EPICS +version number has been fixed.

+

Hooking into dbLoadRecords

A function pointer hook has been added to the dbLoadRecords() routine, to