ioc: add module version numbering

This commit is contained in:
Ralph Lange
2017-07-31 13:19:02 +02:00
parent 6ab01f23c5
commit f6c205dafe
5 changed files with 67 additions and 0 deletions

View File

@@ -15,6 +15,7 @@ endif
CONFIG = $(RULES)/configure
include $(CONFIG)/CONFIG
include $(TOP)/configure/CONFIG_DATABASE_VERSION
# Override the Base definition:
INSTALL_LOCATION = $(TOP)
@@ -22,6 +23,9 @@ INSTALL_LOCATION = $(TOP)
# Use new RSET definition
BASE_CPPFLAGS += -DUSE_TYPED_RSET
# Shared library ABI version.
SHRLIB_VERSION = $(EPICS_DATABASE_MAJOR_VERSION).$(EPICS_DATABASE_MINOR_VERSION).$(EPICS_DATABASE_MAINTENANCE_VERSION)
# Set path for local tools
MAKEBPT = $(INSTALL_HOST_BIN)/makeBpt$(HOSTEXE)
DBEXPAND = $(PERL) $(INSTALL_HOST_BIN)/dbdExpand.pl

View File

@@ -0,0 +1,5 @@
EPICS_DATABASE_MAJOR_VERSION = 3
EPICS_DATABASE_MINOR_VERSION = 17
EPICS_DATABASE_MAINTENANCE_VERSION = 0
EPICS_DATABASE_DEVELOPMENT_FLAG = 1

View File

@@ -20,8 +20,16 @@ dbCore_SYS_LIBS_WIN32 += ws2_32
dbCore_RCS += dbCore.rc
dbStaticHost_RCS = dbStaticHost.rc
INC += databaseVersion.h
INC += databaseVersionNum.h
PROD_LIBS = Com
EPICS_DATABASE_MAJOR_VERSION = 3
EPICS_DATABASE_MINOR_VERSION = 17
EPICS_DATABASE_MAINTENANCE_VERSION = 0
EPICS_DATABASE_DEVELOPMENT_FLAG = 1
include $(IOCDIR)/as/Makefile
include $(IOCDIR)/bpt/Makefile
include $(IOCDIR)/db/Makefile
@@ -31,9 +39,25 @@ include $(IOCDIR)/misc/Makefile
include $(IOCDIR)/registry/Makefile
include $(IOCDIR)/rsrv/Makefile
EXPANDVARS += EPICS_DATABASE_MAJOR_VERSION
EXPANDVARS += EPICS_DATABASE_MINOR_VERSION
EXPANDVARS += EPICS_DATABASE_MAINTENANCE_VERSION
EXPANDVARS += EPICS_DATABASE_DEVELOPMENT_FLAG
EXPANDFLAGS += $(foreach var,$(EXPANDVARS),-D$(var)="$(strip $($(var)))")
# shared library ABI version.
SHRLIB_VERSION = $(EPICS_DATABASE_MAJOR_VERSION).$(EPICS_DATABASE_MINOR_VERSION).$(EPICS_DATABASE_MAINTENANCE_VERSION)
include $(TOP)/configure/RULES
include $(IOCDIR)/dbStatic/RULES
include $(IOCDIR)/bpt/RULES
include $(IOCDIR)/db/RULES
include $(IOCDIR)/dbtemplate/RULES
# Can't use EXPAND as generated headers must appear
# in O.Common, but EXPAND emits rules for O.$(T_A)
../O.Common/databaseVersionNum.h: ../databaseVersionNum.h@
$(MKDIR) $(COMMON_DIR)
$(EXPAND_TOOL) $(EXPANDFLAGS) $($@_EXPANDFLAGS) $< $@

27
src/ioc/databaseVersion.h Normal file
View File

@@ -0,0 +1,27 @@
/*************************************************************************\
* 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 DATABASEVERSION_H
#define DATABASEVERSION_H
#include <epicsVersion.h>
#ifndef VERSION_INT
# define VERSION_INT(V,R,M,P) ( ((V)<<24) | ((R)<<16) | ((M)<<8) | (P))
#endif
/* include generated headers with:
* EPICS_DATABASE_MAJOR_VERSION
* EPICS_DATABASE_MINOR_VERSION
* EPICS_DATABASE_MAINTENANCE_VERSION
* EPICS_DATABASE_DEVELOPMENT_FLAG
*/
#include "databaseVersionNum.h"
#define DATABASE_VERSION_INT VERSION_INT(EPICS_DATABASE_MAJOR_VERSION, EPICS_DATABASE_MINOR_VERSION, EPICS_DATABASE_MAINTENANCE_VERSION, 0)
#endif // DATABASEVERSION_H

View File

@@ -0,0 +1,7 @@
#ifndef DATABASEVERSION_H
# error include databaseVersion.h, not this header
#endif
#define EPICS_DATABASE_MAJOR_VERSION @EPICS_DATABASE_MAJOR_VERSION@
#define EPICS_DATABASE_MINOR_VERSION @EPICS_DATABASE_MINOR_VERSION@
#define EPICS_DATABASE_MAINTENANCE_VERSION @EPICS_DATABASE_MAINTENANCE_VERSION@
#define EPICS_DATABASE_DEVELOPMENT_FLAG @EPICS_DATABASE_DEVELOPMENT_FLAG@