introduce pv/qsrv.h
workaround EPICS+RTEMS make fault
This commit is contained in:
@ -5,12 +5,31 @@ include $(TOP)/configure/CONFIG
|
||||
# ADD MACRO DEFINITIONS AFTER THIS LINE
|
||||
#=============================
|
||||
|
||||
ifeq ($(OS_CLASS),RTEMS)
|
||||
# set by Base in configure/os/CONFIG.UnixCommon.Common
|
||||
# then clobbered by included RTEMS make/host.cfg
|
||||
# to drop the '-p'
|
||||
MKDIR = mkdir -p
|
||||
endif
|
||||
|
||||
LIBRARY += qsrv
|
||||
|
||||
SHRLIB_VERSION ?= $(EPICS_QSRV_ABI_MAJOR_VERSION).$(EPICS_QSRV_ABI_MINOR_VERSION)
|
||||
|
||||
USR_CPPFLAGS += -I$(TOP)/common -I$(TOP)/p2pApp
|
||||
|
||||
INC += pv/qsrv.h
|
||||
INC += pv/qsrvVersionNum.h
|
||||
|
||||
EXPANDVARS += EPICS_QSRV_MAJOR_VERSION
|
||||
EXPANDVARS += EPICS_QSRV_MINOR_VERSION
|
||||
EXPANDVARS += EPICS_QSRV_MAINTENANCE_VERSION
|
||||
EXPANDVARS += EPICS_QSRV_DEVELOPMENT_FLAG
|
||||
EXPANDVARS += EPICS_QSRV_ABI_MAJOR_VERSION
|
||||
EXPANDVARS += EPICS_QSRV_ABI_MINOR_VERSION
|
||||
|
||||
EXPANDFLAGS += $(foreach var,$(EXPANDVARS),-D$(var)="$(strip $($(var)))")
|
||||
|
||||
qsrv_SRCS += pvif.cpp
|
||||
qsrv_SRCS += qsrv.cpp
|
||||
qsrv_SRCS += pdb.cpp
|
||||
@ -59,3 +78,10 @@ include $(TOP)/configure/RULES
|
||||
#----------------------------------------
|
||||
# ADD RULES AFTER THIS LINE
|
||||
|
||||
# Can't use EXPAND as generated headers must appear
|
||||
# in O.Common, but EXPAND emits rules for O.$(T_A)
|
||||
../O.Common/pv/qsrvVersionNum.h: ../pv/qsrvVersionNum.h@
|
||||
$(MKDIR) $(COMMON_DIR)/pv
|
||||
$(EXPAND_TOOL) $(EXPANDFLAGS) $($@_EXPANDFLAGS) $< $@
|
||||
|
||||
qsrv$(DEP): ../O.Common/pv/qsrvVersionNum.h
|
||||
|
32
pdbApp/pv/qsrv.h
Normal file
32
pdbApp/pv/qsrv.h
Normal file
@ -0,0 +1,32 @@
|
||||
#ifndef PV_QSRV_H
|
||||
#define PV_QSRV_H
|
||||
|
||||
#include <epicsVersion.h>
|
||||
#include <shareLib.h>
|
||||
|
||||
#ifndef VERSION_INT
|
||||
# define VERSION_INT(V,R,M,P) ( ((V)<<24) | ((R)<<16) | ((M)<<8) | (P))
|
||||
#endif
|
||||
|
||||
/* generated header with EPICS_QSRV_*_VERSION macros */
|
||||
# include <pv/qsrvVersionNum.h>
|
||||
|
||||
#define QSRV_VERSION_INT VERSION_INT(EPICS_QSRV_MAJOR_VERSION, EPICS_QSRV_MINOR_VERSION, EPICS_QSRV_MAINTENANCE_VERSION, !(EPICS_QSRV_DEVELOPMENT_FLAG))
|
||||
|
||||
#define QSRV_ABI_VERSION_INT VERSION_INT(EPICS_QSRV_ABI_MAJOR_VERSION, EPICS_QSRV_ABI_MINOR_VERSION, 0, 0)
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/** returns QSRV_VERSION_INT captured at compilation time */
|
||||
epicsShareExtern unsigned qsrvVersion(void);
|
||||
|
||||
/** returns QSRV_ABI_VERSION_INT captured at compilation time */
|
||||
epicsShareExtern unsigned qsrvABIVersion(void);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* PV_QSRV_H */
|
9
pdbApp/pv/qsrvVersionNum.h@
Normal file
9
pdbApp/pv/qsrvVersionNum.h@
Normal file
@ -0,0 +1,9 @@
|
||||
#ifndef PV_QSRV_H
|
||||
# error qsrvVersionNum.h should never be included directly. Include <pv/qsrv.h>
|
||||
#endif
|
||||
#define EPICS_QSRV_MAJOR_VERSION @EPICS_QSRV_MAJOR_VERSION@
|
||||
#define EPICS_QSRV_MINOR_VERSION @EPICS_QSRV_MINOR_VERSION@
|
||||
#define EPICS_QSRV_MAINTENANCE_VERSION @EPICS_QSRV_MAINTENANCE_VERSION@
|
||||
#define EPICS_QSRV_DEVELOPMENT_FLAG @EPICS_QSRV_DEVELOPMENT_FLAG@
|
||||
#define EPICS_QSRV_ABI_MAJOR_VERSION @EPICS_QSRV_ABI_MAJOR_VERSION@
|
||||
#define EPICS_QSRV_ABI_MINOR_VERSION @EPICS_QSRV_ABI_MINOR_VERSION@
|
@ -20,6 +20,7 @@
|
||||
|
||||
#define epicsExportSharedSymbols
|
||||
|
||||
#include "pv/qsrv.h"
|
||||
#include "pvahelper.h"
|
||||
#include "pvif.h"
|
||||
#include "pdb.h"
|
||||
@ -93,6 +94,16 @@ void QSRVRegistrar()
|
||||
|
||||
} // namespace
|
||||
|
||||
unsigned qsrvVersion(void)
|
||||
{
|
||||
return QSRV_VERSION_INT;
|
||||
}
|
||||
|
||||
unsigned qsrvABIVersion(void)
|
||||
{
|
||||
return QSRV_ABI_VERSION_INT;
|
||||
}
|
||||
|
||||
extern "C" {
|
||||
epicsExportRegistrar(QSRVRegistrar);
|
||||
}
|
||||
|
Reference in New Issue
Block a user