From 765b53e3fd1578250e5f7469c1b2cda566424dcc Mon Sep 17 00:00:00 2001 From: Ralph Lange Date: Tue, 19 Sep 2017 17:02:48 +0200 Subject: [PATCH] client: add module version numbering --- src/client/Makefile | 24 ++++++++++++++++++++++++ src/client/caVersion.h | 28 ++++++++++++++++++++++++++++ src/client/caVersionNum.h@ | 7 +++++++ 3 files changed, 59 insertions(+) create mode 100644 src/client/caVersion.h create mode 100644 src/client/caVersionNum.h@ diff --git a/src/client/Makefile b/src/client/Makefile index 1f61d8481..309986309 100644 --- a/src/client/Makefile +++ b/src/client/Makefile @@ -13,6 +13,11 @@ include $(TOP)/configure/CONFIG HTMLS += CAref.html +EPICS_CA_MAJOR_VERSION = 4 +EPICS_CA_MINOR_VERSION = 13 +EPICS_CA_MAINTENANCE_VERSION = 1 +EPICS_CA_DEVELOPMENT_FLAG = 1 + # # includes to install from this subproject # @@ -25,6 +30,8 @@ INC += addrList.h INC += cacIO.h INC += caDiagnostics.h INC += net_convert.h +INC += caVersion.h +INC += caVersionNum.h LIBSRCS += cac.cpp LIBSRCS += cacChannel.cpp @@ -115,4 +122,21 @@ ca_test_SYS_LIBS_WIN32 = ws2_32 advapi32 user32 OBJS_vxWorks += ca_test +EXPANDVARS += EPICS_CA_MAJOR_VERSION +EXPANDVARS += EPICS_CA_MINOR_VERSION +EXPANDVARS += EPICS_CA_MAINTENANCE_VERSION +EXPANDVARS += EPICS_CA_DEVELOPMENT_FLAG + +EXPANDFLAGS += $(foreach var,$(EXPANDVARS),-D$(var)="$(strip $($(var)))") + +# shared library ABI version. +SHRLIB_VERSION = $(EPICS_CA_MAJOR_VERSION).$(EPICS_CA_MINOR_VERSION).$(EPICS_CA_MAINTENANCE_VERSION) + + include $(TOP)/configure/RULES + + +# Can't use EXPAND as generated headers must appear +# in O.Common, but EXPAND emits rules for O.$(T_A) +../O.Common/caVersionNum.h: ../caVersionNum.h@ + $(EXPAND_TOOL) $(EXPANDFLAGS) $($@_EXPANDFLAGS) $< $@ diff --git a/src/client/caVersion.h b/src/client/caVersion.h new file mode 100644 index 000000000..cdae17dce --- /dev/null +++ b/src/client/caVersion.h @@ -0,0 +1,28 @@ +/*************************************************************************\ +* Copyright (c) 2017 UChicago Argonne LLC, as Operator of Argonne +* National Laboratory. +* EPICS BASE is distributed subject to a Software License Agreement found +* in file LICENSE that is included with this distribution. +\*************************************************************************/ + +#ifndef CAVERSION_H +#define CAVERSION_H + +#include +#include + +#ifndef VERSION_INT +# define VERSION_INT(V,R,M,P) ( ((V)<<24) | ((R)<<16) | ((M)<<8) | (P)) +#endif + +/* include generated headers with: + * EPICS_CA_MAJOR_VERSION + * EPICS_CA_MINOR_VERSION + * EPICS_CA_MAINTENANCE_VERSION + * EPICS_CA_DEVELOPMENT_FLAG + */ +#include "caVersionNum.h" + +#define CA_VERSION_INT VERSION_INT(EPICS_CA_MAJOR_VERSION, EPICS_CA_MINOR_VERSION, EPICS_CA_MAINTENANCE_VERSION, 0) + +#endif // CAVERSION_H diff --git a/src/client/caVersionNum.h@ b/src/client/caVersionNum.h@ new file mode 100644 index 000000000..26ce6e1af --- /dev/null +++ b/src/client/caVersionNum.h@ @@ -0,0 +1,7 @@ +#ifndef CAVERSION_H +# error include caVersion.h, not this header +#endif +#define EPICS_CA_MAJOR_VERSION @EPICS_CA_MAJOR_VERSION@ +#define EPICS_CA_MINOR_VERSION @EPICS_CA_MINOR_VERSION@ +#define EPICS_CA_MAINTENANCE_VERSION @EPICS_CA_MAINTENANCE_VERSION@ +#define EPICS_CA_DEVELOPMENT_FLAG @EPICS_CA_DEVELOPMENT_FLAG@