From 98224b0d016897a9b1d21b72a83e36837097d918 Mon Sep 17 00:00:00 2001 From: Andrew Johnson Date: Mon, 13 Jul 2015 10:50:55 -0500 Subject: [PATCH] Make microbench library & header optional Requires similar changes in pvaSrv, and in pvCommonCPP if you're actually using the microbench code. --- configure/CONFIG_SITE | 1 + pvtoolsSrc/Makefile | 10 +++++----- src/mb/pvAccessMB.h | 31 +++++++++++++++++++++++++++++++ testApp/Makefile | 2 +- 4 files changed, 38 insertions(+), 6 deletions(-) diff --git a/configure/CONFIG_SITE b/configure/CONFIG_SITE index 6d1c979..40db1d7 100644 --- a/configure/CONFIG_SITE +++ b/configure/CONFIG_SITE @@ -30,5 +30,6 @@ endif ifdef WITH_MICROBENCH USR_CPPFLAGS += -DWITH_MICROBENCH +MBLIB = pvMB endif diff --git a/pvtoolsSrc/Makefile b/pvtoolsSrc/Makefile index 44a4ea4..90e9248 100644 --- a/pvtoolsSrc/Makefile +++ b/pvtoolsSrc/Makefile @@ -4,24 +4,24 @@ include $(TOP)/configure/CONFIG PROD_HOST += pvget pvget_SRCS += pvget.cpp -pvget_LIBS += pvAccess pvData pvMB ca Com +pvget_LIBS += pvAccess pvData $(MBLIB) ca Com PROD_HOST += pvput pvput_SRCS += pvput.cpp -pvput_LIBS += pvAccess pvData pvMB ca Com +pvput_LIBS += pvAccess pvData $(MBLIB) ca Com PROD_HOST += pvinfo pvinfo_SRCS += pvinfo.cpp -pvinfo_LIBS += pvAccess pvData pvMB ca Com +pvinfo_LIBS += pvAccess pvData $(MBLIB) ca Com PROD_HOST += pvlist pvlist_SRCS += pvlist.cpp -pvlist_LIBS += pvAccess pvData pvMB Com +pvlist_LIBS += pvAccess pvData $(MBLIB) Com pvlist_SYS_LIBS_WIN32 += ws2_32 PROD_HOST += eget eget_SRCS += eget.cpp -eget_LIBS += pvAccess pvData pvMB ca Com +eget_LIBS += pvAccess pvData $(MBLIB) ca Com include $(TOP)/configure/RULES #---------------------------------------- diff --git a/src/mb/pvAccessMB.h b/src/mb/pvAccessMB.h index 40f4463..9bc5a1a 100644 --- a/src/mb/pvAccessMB.h +++ b/src/mb/pvAccessMB.h @@ -6,8 +6,39 @@ # undef epicsExportSharedSymbols #endif +#ifdef WITH_MICROBENCH + #include +#else + +#define MB_DECLARE(NAME, SIZE) +#define MB_DECLARE_EXTERN(NAME) + +#define MB_POINT_ID(NAME, STAGE, STAGE_DESC, ID) + +#define MB_INC_AUTO_ID(NAME) +#define MB_POINT(NAME, STAGE, STAGE_DESC) + +#define MB_POINT_CONDITIONAL(NAME, STAGE, STAGE_DESC, COND) + +#define MB_NORMALIZE(NAME) + +#define MB_STATS(NAME, STREAM) +#define MB_STATS_OPT(NAME, STAGE_ONLY, SKIP_FIRST_N_SAMPLES, STREAM) + +#define MB_CSV_EXPORT(NAME, STREAM) +#define MB_CSV_EXPORT_OPT(NAME, STAGE_ONLY, SKIP_FIRST_N_SAMPLES, STREAM) +#define MB_CSV_IMPORT(NAME, STREAM) + +#define MB_PRINT(NAME, STREAM) +#define MB_PRINT_OPT(NAME, STAGE_ONLY, SKIP_FIRST_N_SAMPLES, STREAM) + +#define MB_INIT + +#endif + + #ifdef pvAccessMBEpicsExportSharedSymbols # define epicsExportSharedSymbols # undef pvAccessMBEpicsExportSharedSymbols diff --git a/testApp/Makefile b/testApp/Makefile index 2d1716c..8b85465 100644 --- a/testApp/Makefile +++ b/testApp/Makefile @@ -5,7 +5,7 @@ include $(TOP)/configure/CONFIG PVACCESS_TEST = $(TOP)/testApp -PROD_LIBS += pvAccess pvData pvMB Com +PROD_LIBS += pvAccess pvData $(MBLIB) Com include $(PVACCESS_TEST)/utils/Makefile include $(PVACCESS_TEST)/remote/Makefile