12 Commits

Author SHA1 Message Date
33bbcde48a cafe-1.19.0-py38-gcc-7.5.0 2023-06-19 10:24:07 +02:00
7b052a21fc Updated windows makefiles and config.h to build on windows VSC2019 - L. Rettig (FHI) 2023-01-26 11:51:15 +01:00
d40ecbc53c rm cached 2023-01-16 13:17:50 +01:00
9b5803b7f0 config.h for cpp build 2023-01-16 07:17:01 +01:00
7e31c8fd80 missing config.h now included 2023-01-15 19:07:40 +01:00
64fda927e0 cafe-1.16.1 2022-08-04 10:16:44 +02:00
9851b72ba2 new commit 2022-06-28 10:14:07 +02:00
8c671dee59 investigated cafeMutex not resolved for py35 on RH7 2022-05-12 09:36:50 +02:00
844afa0a02 1.15.0 update 2022-03-11 14:40:13 +01:00
4cab5862dc m4 directory added 2022-01-06 14:19:28 +01:00
c2934ce3f7 py 3.10 option in configure.ac 2022-01-06 13:21:59 +01:00
7c779d9add py 3.10 option in configure.ac 2022-01-06 13:16:36 +01:00
74 changed files with 389924 additions and 23901 deletions

3
.gitignore vendored
View File

@@ -11,12 +11,11 @@
*.bak
aclocal.m4
autom4te.cache
config.*
config.in
configure
depcomp
install-sh
ltmain.sh
m4
makefile
makefile.in
missing

View File

@@ -1,39 +1,38 @@
INCLUDES = -IC:\CAFE\cafe-1.0.0-beta-3\cpp\include -IC:\local\boost_1_63_0\boost \
-IC:\local\boost_1_63_0 -IC:\EPICS\base-3.14.12.5\include -IC:\EPICS\base-3.14.12.5\include\os\WIN32
INCLUDES = -IC:\EPICS\CAFE\cpp\include -IC:\EPICS\CAFE\cpp -IC:\EPICS\boost_1_81_0\boost \
-IC:\EPICS\boost_1_81_0 -IC:\epics\epics-base\include -IC:\epics\epics-base\include\os\WIN32 \
-Ic:\EPICS\epics-base\include\compiler\msvc \
#-IC:\Qt\qt-4.8.6-x64-msvc2010\include -Ic:\Qt\qt-4.8.6-x64-msvc2010\include -Ic:\Qt\qt-4.8.6-x64-msvc2010\include\QtCore \
#-IC:\Qt\qt-4.8.6-msvc2010\include\QtXml
#-IC:\Qt\qt-4.8.6-msvc2010\include\QtXml \
#-IC:\Users\chrin\AppData\Local\Continuum\Anaconda3\envs\py345\include
LIB_DEST=lib\cafe-noqt
CXX=cl
CXXFLAGS = /W4 /EHsc /c /MT
OUTPUT_OPTION = /o "$@"
LIB_LOCAL = C:\epics\base-3.14.12.5\lib\windows-x64\Com.lib C:\epics\base-3.14.12.5\lib\windows-x64\ca.lib \
C:\local\boost_1_63_0\lib64-msvc-10.0\libboost_thread-vc100-mt-s-1_63.lib \
C:\local\boost_1_63_0\lib64-msvc-10.0\libboost_system-vc100-mt-s-1_63.lib
CXXFLAGS = -DUSE_TYPED_RSET -EHsc -nologo -FC -D__STDC__=0 -D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE -Ox -GL -Oy- -W3 -MD -DEPICS_BUILD_DLL -DEPICS_CALL_DLL -c
#OUTPUT_OPTION = /o "$@"
OUTPUT_OPTION = /Fo"$@"
LIB_LOCAL = C:\epics\epics-base\lib\win32-x86\Com.lib C:\epics\epics-base\lib\win32-x86\ca.lib \
#C:\EPICS\boost_1_81_0\stage\lib\\libboost_thread-vc142-mt-x32-1_81.lib \
#C:\EPICS\boost_1_81_0\stage\lib\\libboost_system-vc142-mt-gd-x32-1_81.lib \
#C:\EPICS\boost_1_81_0\stage\lib\\libboost_date_time-vc142-mt-gd-x32-1_81.lib \
#C:\EPICS\boost_1_81_0\stage\lib\\libboost_chrono-vc142-mt-x32-1_81.lib \
#C:\EPICS\boost_1_81_0\stage\lib\\libboost_exception-vc142-mt-gd-x32-1_81.lib \
#C:\Qt\qt-4.8.6-x64-msvc2010\lib\QtCore4.lib C:\Qt\qt-4.8.6-x64-msvc2010\lib\QtXml4.lib \
#C:\Users\chrin\AppData\Local\Continuum\Anaconda3\envs\py345\libs\python34.lib
#C:\Users\chrin\AppData\Local\Continuum\Anaconda3\envs\py345\libs\python34.lib \
OBJS= src\cafeCache.obj src\cafeGroup.obj src\cafe.obj src\cafeVectors.obj \
src\callbackHandlerCreate.obj src\callbackHandlerMonitor.obj src\conduitGroup.obj src\conduit.obj \
src\connectCallbacks.obj src\connectGroup.obj \
src\connect.obj src\exceptionsHelper.obj src\granules.obj src\handleHelper.obj src\helper.obj \
src\methodCallbacks.obj src\policyHelper.obj src\transpose.obj \
src\cafeXML.obj src\loadCollectionXMLParser.obj src\loadGroupXMLParser.obj \
src\restorePVGroupXMLParser.obj $(LIB_LOCAL)
OBJS= cafeCache.obj cafeGroup.obj cafe.obj cafeVectors.obj \
callbackHandlerCreate.obj callbackHandlerMonitor.obj conduitGroup.obj conduit.obj \
connectCallbacks.obj connectGroup.obj \
connect.obj exceptionsHelper.obj granules.obj handleHelper.obj helper.obj \
methodCallbacks.obj policyHelper.obj transpose.obj \
cafeXML.obj loadCollectionXMLParser.obj loadGroupXMLParser.obj \
restorePVGroupXMLParser.obj $(LIB_LOCAL)
cafe.lib: $(OBJS)
LIB $(OBJS) /out:cafe.lib
$(LIB_DEST)\cafe.lib: $(OBJS)
LIB $(OBJS) /out:$(LIB_DEST)\cafe.lib
%.obj: src\%.cpp
%.obj: %.cpp
$(CXX) $(CXXFLAGS) $(INCLUDES) $(OUTPUT_OPTION) $<
clean:
del *.obj
del src\*.obj

View File

@@ -0,0 +1,39 @@
INCLUDES = -IC:\CAFE\cafe-1.0.0-beta-3\cpp\include -IC:\local\boost_1_63_0\boost \
-IC:\local\boost_1_63_0 -IC:\EPICS\base-3.14.12.5\include -IC:\EPICS\base-3.14.12.5\include\os\WIN32
#-IC:\Qt\qt-4.8.6-x64-msvc2010\include -Ic:\Qt\qt-4.8.6-x64-msvc2010\include -Ic:\Qt\qt-4.8.6-x64-msvc2010\include\QtCore \
#-IC:\Qt\qt-4.8.6-msvc2010\include\QtXml
#-IC:\Users\chrin\AppData\Local\Continuum\Anaconda3\envs\py345\include
LIB_DEST=lib\cafe-noqt
CXX=cl
CXXFLAGS = /W4 /EHsc /c /MT
OUTPUT_OPTION = /o "$@"
LIB_LOCAL = C:\epics\base-3.14.12.5\lib\windows-x64\Com.lib C:\epics\base-3.14.12.5\lib\windows-x64\ca.lib \
C:\local\boost_1_63_0\lib64-msvc-10.0\libboost_thread-vc100-mt-s-1_63.lib \
C:\local\boost_1_63_0\lib64-msvc-10.0\libboost_system-vc100-mt-s-1_63.lib
#C:\Qt\qt-4.8.6-x64-msvc2010\lib\QtCore4.lib C:\Qt\qt-4.8.6-x64-msvc2010\lib\QtXml4.lib \
#C:\Users\chrin\AppData\Local\Continuum\Anaconda3\envs\py345\libs\python34.lib
OBJS= cafeCache.obj cafeGroup.obj cafe.obj cafeVectors.obj \
callbackHandlerCreate.obj callbackHandlerMonitor.obj conduitGroup.obj conduit.obj \
connectCallbacks.obj connectGroup.obj \
connect.obj exceptionsHelper.obj granules.obj handleHelper.obj helper.obj \
methodCallbacks.obj policyHelper.obj transpose.obj \
cafeXML.obj loadCollectionXMLParser.obj loadGroupXMLParser.obj \
restorePVGroupXMLParser.obj $(LIB_LOCAL)
$(LIB_DEST)\cafe.lib: $(OBJS)
LIB $(OBJS) /out:$(LIB_DEST)\cafe.lib
%.obj: src\%.cpp
$(CXX) $(CXXFLAGS) $(INCLUDES) $(OUTPUT_OPTION) $<
clean:
del *.obj

28
MakefileWin/config.h Normal file
View File

@@ -0,0 +1,28 @@
/* epics major release */
#define EPICS_MAJOR 7
/* epics minor release */
#define EPICS_MINOR 0
/* epics patch release */
#define EPICS_PATCH 6
/* epics version */
#define HAVE_EPICS 7.0.6
/* Define to 1 if you have the <epicsTypes.h> header file. */
#define HAVE_EPICSTYPES_H 1
/* Define to 1 if you have the `boost_thread' library (-lboost_thread). */
#define HAVE_BOOST_THREAD 1
/* Define to 1 if you have the `QtXml' library (-lQtXml). */
/*define HAVE_LIBQTXML 1 */
/* Define to 1 if you have the <Python.h> header file. */
/*#define HAVE_PYTHON_H 1 */
#ifdef _MSC_VER
#define _CRT_SECURE_NO_WARNINGS
#endif

View File

@@ -0,0 +1,26 @@
/* epics major release */
#define EPICS_MAJOR 3
/* epics minor release */
#define EPICS_MINOR 14
/* epics patch release */
#define EPICS_PATCH 12
/* epics version */
#define HAVE_EPICS 3.14.12
/* Define to 1 if you have the <epicsTypes.h> header file. */
#define HAVE_EPICSTYPES_H 1
/* Define to 1 if you have the `boost_thread' library (-lboost_thread). */
#define HAVE_BOOST_THREAD 1
/* Define to 1 if you have the `QtXml' library (-lQtXml). */
#define HAVE_LIBQTXML 1
/* Define to 1 if you have the <Python.h> header file. */
#define HAVE_PYTHON_H 1

View File

@@ -0,0 +1,26 @@
/* epics major release */
#define EPICS_MAJOR 3
/* epics minor release */
#define EPICS_MINOR 14
/* epics patch release */
#define EPICS_PATCH 12
/* epics version */
#define HAVE_EPICS 3.14.12
/* Define to 1 if you have the <epicsTypes.h> header file. */
#define HAVE_EPICSTYPES_H 1
/* Define to 1 if you have the `boost_thread' library (-lboost_thread). */
#define HAVE_BOOST_THREAD 1
/* Define to 1 if you have the `QtXml' library (-lQtXml). */
#define HAVE_LIBQTXML 1
/* Define to 1 if you have the <Python.h> header file. */
/*#define HAVE_PYTHON_H 1 */

View File

@@ -0,0 +1,26 @@
/* epics major release */
#define EPICS_MAJOR 3
/* epics minor release */
#define EPICS_MINOR 14
/* epics patch release */
#define EPICS_PATCH 12
/* epics version */
#define HAVE_EPICS 3.14.12
/* Define to 1 if you have the <epicsTypes.h> header file. */
#define HAVE_EPICSTYPES_H 1
/* Define to 1 if you have the `boost_thread' library (-lboost_thread). */
#define HAVE_BOOST_THREAD 1
/* Define to 1 if you have the `QtXml' library (-lQtXml). */
/*#define HAVE_LIBQTXML 1 */
/* Define to 1 if you have the <Python.h> header file. */
/*#define HAVE_PYTHON_H 1 */

View File

@@ -22,7 +22,7 @@ automake --force --add-missing --copy
#Used by ./configure
#Assumes format ${EPICS}/base-3.14.12
#source cafeVersion-gcc-7.3.0
CAFE_V="cafe-1.14.4"
CAFE_V="cafe-1.14.5"
#For later check of existence of HOST_ARCH for $EPICS/include/os/$HOST_ARCH
#Assume Linux but check if Darwin
CAFE_HOST_FLAG_DARWIN=$(echo ${EPICS_HOST_ARCH} | grep -c "Darwin")
@@ -56,6 +56,7 @@ echo 'input arg. facility/target' $FACILITY $CACLIENT
if [ -n "$FACILITY" ]
then
if [ "$FACILITY" = "matlab" ] || [ "$FACILITY" = "python" ] || \
[ "$FACILITY" = "py310" ] || [ "$FACILITY" = "py38" ] || \
[ "$FACILITY" = "py37" ] || [ "$FACILITY" = "py35" ] || \
[ "$FACILITY" = "julia" ] || [ "$FACILITY" = "cpp" ] || \
[ "$FACILITY" = "cc" ]
@@ -124,6 +125,7 @@ fi
if [ -n "$CACLIENT" ]
then
if [ "$CACLIENT" = "matlab" ] || [ "$CACLIENT" = "python" ] || \
[ "$CACLIENT" = "py310" ] || [ "$CACLIENT" = "py38" ] || \
[ "$CACLIENT" = "py37" ] || [ "$CACLIENT" = "py35" ] || \
[ "$CACLIENT" = "julia" ] || [ "$CACLIENT" = "cpp" ] || \
[ "$CACLIENT" = "cc" ]
@@ -133,6 +135,7 @@ then
if [ -n "$CACLIENT_TEMP" ]
then
if [ "$CACLIENT_TEMP" = "matlab" ] || [ "$CACLIENT_TEMP" = "python" ] || \
[ "$CACLIENT_TEMP" = "py310" ] || [ "$CACLIENT_TEMP" = "py38" ] || \
[ "$CACLIENT_TEMP" = "py37" ] || [ "$CACLIENT_TEMP" = "py35" ] || \
[ "$CACLIENT_TEMP" = "julia" ] || [ "$CACLIENT_TEMP" = "cpp" ] || \
[ "$CACLIENT_TEMP" = "cc" ]
@@ -204,6 +207,16 @@ then
ENABLE_OPTIONS+=" --enable-python37"
ENABLE_OPTIONS+=" --enable-qt5"
CAFE_V+="-py37"
elif [ "$CACLIENT" = "py38" ]
then
ENABLE_OPTIONS+=" --enable-python38"
ENABLE_OPTIONS+=" --enable-qt5py38"
CAFE_V+="-py38"
elif [ "$CACLIENT" = "py310" ]
then
ENABLE_OPTIONS+=" --enable-python310"
#ENABLE_OPTIONS+=" --enable-qt5py310"
CAFE_V+="-py310"
else
ENABLE_OPTIONS+=" --enable-qt5"
fi
@@ -258,17 +271,20 @@ echo 'ENABLE_OPTIONS='$ENABLE_OPTIONS
--libdir=/opt/gfa/cafe/cpp/${CAFE_V}/lib/${EPICS_HOST_ARCH} \
${ENABLE_OPTIONS} \
--with-boost-inc=/opt/gfa/cafe/boost/boost_1_61_0/include \
--with-epics7=${EPICS}/base-7.0.6 \
--with-epics3=${EPICS}/base \
--with-python310=/ioc/python/latest \
--with-python38=/opt/gfa/python-3.8/latest \
--with-python37=/opt/gfa/python-3.7/latest \
--with-python35=/opt/gfa/python-3.5/latest \
--with-qt5py310=/ioc/python/latest \
--with-qt5py38=/opt/gfa/python-3.8/latest \
--with-qt5=/opt/gfa/python-3.7/latest \
--with-qt4=/opt/gfa/python-3.5/latest \
--with-json=/opt/gfa/zmsglog/json/jsoncpp-src-0.6.0-rc2 \
--with-json=/opt/gfa/zmq/json/jsoncpp-src-0.6.0-rc2 \
--with-zeromq=/opt/gfa/zmq/zeromq-4.2.3-gcc-6.3.0 \
--with-curl=/opt/gfa/zmq/curl-7.55.1 \
--with-lz4=/opt/gfa/zmq/lz4/lib
--with-lz4=/opt/gfa/zmq/lz4/lib \
--with-epics7=${EPICS}/base-7.0.6
unset CAFE_EPICS_V_PATCH
unset CAFE_EPICS_V_MINOR
unset CAFE_EPICS_V_MAJOR

View File

@@ -3,7 +3,7 @@
#<facility = sls sls2 sf> default is sf
#<target_language = cpp matlab python>
module unload gcc
module load gcc/7.3.0
module load gcc/9.4.0
### psi specific - end
rm -f configure.ac
@@ -22,7 +22,7 @@ automake --force --add-missing --copy
#Used by ./configure
#Assumes format ${EPICS}/base-3.14.12
#source cafeVersion-gcc-7.3.0
CAFE_V="cafe-1.14.1"
CAFE_V="cafe-1.14.4"
#For later check of existence of HOST_ARCH for $EPICS/include/os/$HOST_ARCH
#Assume Linux but check if Darwin
CAFE_HOST_FLAG_DARWIN=$(echo ${EPICS_HOST_ARCH} | grep -c "Darwin")
@@ -36,7 +36,7 @@ EPICS_BASE=$(readlink ${EPICS}/base)
echo $EPICS_BASE
if [ -z "$EPICS_BASE" ]
then
EPICS_BASE='base-7.4.1' #7.0 = 7+0 = 7 for major release
EPICS_BASE='base-7' #7.0 = 7+0 = 7 for major release
fi
echo 'input' "$0" "$1" "$2"
@@ -56,6 +56,7 @@ echo 'input arg. facility/target' $FACILITY $CACLIENT
if [ -n "$FACILITY" ]
then
if [ "$FACILITY" = "matlab" ] || [ "$FACILITY" = "python" ] || \
[ "$FACILITY" = "py38" ] ||
[ "$FACILITY" = "py37" ] || [ "$FACILITY" = "py35" ] || \
[ "$FACILITY" = "julia" ] || [ "$FACILITY" = "cpp" ] || \
[ "$FACILITY" = "cc" ]
@@ -124,6 +125,7 @@ fi
if [ -n "$CACLIENT" ]
then
if [ "$CACLIENT" = "matlab" ] || [ "$CACLIENT" = "python" ] || \
[ "$CACLIENT" = "py38" ] || \
[ "$CACLIENT" = "py37" ] || [ "$CACLIENT" = "py35" ] || \
[ "$CACLIENT" = "julia" ] || [ "$CACLIENT" = "cpp" ] || \
[ "$CACLIENT" = "cc" ]
@@ -133,6 +135,7 @@ then
if [ -n "$CACLIENT_TEMP" ]
then
if [ "$CACLIENT_TEMP" = "matlab" ] || [ "$CACLIENT_TEMP" = "python" ] || \
[ "$CACLIENT_TEMP" = "py38" ] || \
[ "$CACLIENT_TEMP" = "py37" ] || [ "$CACLIENT_TEMP" = "py35" ] || \
[ "$CACLIENT_TEMP" = "julia" ] || [ "$CACLIENT_TEMP" = "cpp" ] || \
[ "$CACLIENT_TEMP" = "cc" ]
@@ -204,8 +207,13 @@ then
ENABLE_OPTIONS+=" --enable-python37"
ENABLE_OPTIONS+=" --enable-qt5"
CAFE_V+="-py37"
#else
#ENABLE_OPTIONS+=" --enable-qt5"
elif [ "$CACLIENT" = "py38" ]
then
ENABLE_OPTIONS+=" --enable-python38"
ENABLE_OPTIONS+=" --enable-qt5py38"
CAFE_V+="-py38"
else
ENABLE_OPTIONS+=" --enable-qt5"
fi
if [ "$FACILITY" = "sf" ] && [ "$CACLIENT" != "matlab" ]
@@ -223,7 +231,7 @@ fi
CAFE_V+="-gcc-"$GCC_VERSION
echo "CAFE VERSION: $CAFE_V"
echo "$CAFE_V"
#echo 'EPICS BASE IS='$EPICS_BASE
#echo 'EPICS BASE DIR='${EPICS}/base-7.0.4.1
@@ -258,19 +266,21 @@ echo 'ENABLE_OPTIONS='$ENABLE_OPTIONS
--libdir=/opt/gfa/cafe/cpp/${CAFE_V}/lib/${EPICS_HOST_ARCH} \
${ENABLE_OPTIONS} \
--with-boost-inc=/opt/gfa/cafe/boost/boost_1_61_0/include \
--with-epics7=${EPICS}/base-7.0.4.1 \
--with-epics3=${EPICS}/base \
--with-python38=/opt/gfa/python-3.8/latest \
--with-python37=/opt/gfa/python-3.7/latest \
--with-python35=/opt/gfa/python-3.5/latest \
--with-qt5py38=/opt/gfa/python-3.8/latest \
--with-qt5=/opt/gfa/python-3.7/latest \
--with-qt4=/opt/gfa/python-3.5/latest \
--with-json=/opt/gfa/zmsglog/json/jsoncpp-src-0.6.0-rc2 \
--with-zeromq=/opt/gfa/zmq/zeromq-4.2.3-gcc-6.3.0 \
--with-curl=/opt/gfa/zmq/curl-7.55.1 \
--with-lz4=/opt/gfa/zmq/lz4/lib
--with-lz4=/opt/gfa/zmq/lz4/lib \
--with-epics7=${EPICS}/base-7.0.6
unset CAFE_EPICS_V_PATCH
unset CAFE_EPICS_V_MINOR
unset CAFE_EPICS_V_MAJOR
unset CAFE_HOST_FLAG_DARWIN

307
autogen_sfbd.sh Normal file
View File

@@ -0,0 +1,307 @@
### psi specific - select compiler
#source <this_autogen_file> <facility> <target_language>
#<facility = sls sls2 sf> default is sf
#<target_language = cpp matlab python>
module unload gcc
module load gcc/7.5.0 #7.5.0 for py38 7.3.0 py37
### psi specific - end
rm -f configure.ac
ln -s configurePSI.ac configure.ac
rm -f ./aclocal.m4
rm -rf ./autom4te.cache
aclocal --force -I m4
/opt/gfa/python-3.7/latest/bin/libtoolize --force --copy #select libtools 2.4.6
#libtoolize --force --copy
autoconf --force #interprets configure.ac
autoheader --force
automake --force --add-missing --copy
#autoreconf not wanted
#Check what the EPICS RELEASE IS from ${EPICS}/base
#Used by ./configure
#Assumes format ${EPICS}/base-3.14.12
#source cafeVersion-gcc-7.3.0
CAFE_V="cafe-1.19.0"
#For later check of existence of HOST_ARCH for $EPICS/include/os/$HOST_ARCH
#Assume Linux but check if Darwin
CAFE_HOST_FLAG_DARWIN=$(echo ${EPICS_HOST_ARCH} | grep -c "Darwin")
export CAFE_HOST_FLAG_DARWIN=$CAFE_HOST_FLAG_DARWIN
RETURN_ON_WRONG_INPUT=true
RETURN_FLAG=false
EPICS_BASE=$(readlink ${EPICS_BASE}) #$(readlink ${EPICS}/base)
#EB=$(readlink /afs/psi.ch/project/cafe/gitworkspace/CAFE/cpp/base)
echo $EPICS_BASE
if [ -z "$EPICS_BASE_VERSION" ]
then
EPICS_BASE='base-7.0.6' #7.0 = 7+0 = 7 for major release
fi
echo 'input' "$0" "$1" "$2"
echo $EPICS_BASE
FACILITY=$(echo "$1" | tr '[:upper:]' '[:lower:]')
CACLIENT=$(echo "$2" | tr '[:upper:]' '[:lower:]')
FACILITY_DEFAULT="sf"
CACLIENT_DEFAULT="python"
FACILITY_TEMP=""
CACLIENT_TEMP=""
echo 'input arg. facility/target' $FACILITY $CACLIENT
if [ -n "$FACILITY" ]
then
if [ "$FACILITY" = "matlab" ] || [ "$FACILITY" = "python" ] || \
[ "$FACILITY" = "py310" ] || [ "$FACILITY" = "py38" ] || \
[ "$FACILITY" = "py37" ] || [ "$FACILITY" = "py35" ] || \
[ "$FACILITY" = "julia" ] || [ "$FACILITY" = "cpp" ] || \
[ "$FACILITY" = "cc" ] || [ "$FACILITY" = "py34" ]
then
CACLIENT_TEMP=$FACILITY
FACILITY_TEMP=$2
fi
fi
if [ -n "$CACLIENT" ]
then
if [ "$CACLIENT" = "sls" ] || [ "$CACLIENT" = "sls2" ] || \
[ "$CACLIENT" = "sf" ] || [ "$CACLIENT" = "swissfel" ] || \
[ "$CACLIENT" = "sfel" ] || [ "$CACLIENT" = "hipa" ]
then
if [ -z $FACILITY_TEMP ]
then
FACILITY_TEMP=$CACLIENT
CACLIENT_TEMP=$1
fi
fi
fi
if [ -z "$FACILITY" ]
then
FACILITY="sf"
echo "FACILITY = " $FACILITY
if [ -z $CACLIENT ]
then
CACLIENT=$CACLIENT_DEFAULT
fi
elif [ "$FACILITY" = "sls" ] || [ "$FACILITY" = "sls2" ] || \
[ "$FACILITY" = "sf" ] || [ "$FACILITY" = "swissfel" ] || \
[ "$FACILITY" = "sfel" ] || [ "$FACILITY" = "hipa" ]
then
echo "FACILITY = " $FACILITY
elif [ -n "$FACILITY_TEMP" ]
then
if [ "$FACILITY_TEMP" = "sls" ] || [ "$FACILITY_TEMP" = "sls2" ] || \
[ "$FACILITY_TEMP" = "sf" ] || [ "$FACILITY_TEMP" = "swissfel" ] || \
[ "$FACILITY_TEMP" = "sfel" ] || [ "$FACILITY_TEMP" = "hipa" ]
then
FACILITY=$FACILITY_TEMP
else
if [ -n "$2" ]
then
echo "***UNRECOGNIZED INPUT FACILITY***" $FACILITY
echo "***VALID VALUES ARE: sls sls2 sf hipa"
RETURN_FLAG=true
fi
echo "***OTHERWISE THE DEFAULT FACILITY IS:" $FACILITY_DEFAULT
FACILITY=$FACILITY_DEFAULT
fi
else
echo "***UNRECOGNIZED INPUT FACILITY***" $FACILITY
echo "***VALID VALUES ARE: sls sls2 sf hipa"
RETURN_FLAG=true
echo "***OTHERWISE THE DEFAULT FACILITY IS: " $FACILITY_DEFAULT
FACILITY=$FACILITY_DEFAULT
fi
if [ -n "$CACLIENT" ]
then
if [ "$CACLIENT" = "matlab" ] || [ "$CACLIENT" = "python" ] || \
[ "$CACLIENT" = "py310" ] || [ "$CACLIENT" = "py38" ] || \
[ "$CACLIENT" = "py37" ] || [ "$CACLIENT" = "py35" ] || \
[ "$CACLIENT" = "julia" ] || [ "$CACLIENT" = "cpp" ] || \
[ "$CACLIENT" = "cc" ] || [ "$CACLIENT" = "py34" ]
then
echo "CA TARGET = " $CACLIENT
else
if [ -n "$CACLIENT_TEMP" ]
then
if [ "$CACLIENT_TEMP" = "matlab" ] || [ "$CACLIENT_TEMP" = "python" ] || \
[ "$CACLIENT_TEMP" = "py310" ] || [ "$CACLIENT_TEMP" = "py38" ] || \
[ "$CACLIENT_TEMP" = "py37" ] || [ "$CACLIENT_TEMP" = "py35" ] || \
[ "$CACLIENT_TEMP" = "julia" ] || [ "$CACLIENT_TEMP" = "cpp" ] || \
[ "$CACLIENT_TEMP" = "cc" ] || [ "$CACLIENT_TEMP" = "py34" ]
then
CACLIENT=$CACLIENT_TEMP
else
echo "***UNRECOGNIZED INPUT CA TARGET***" $CACLIENT
echo "***VALID VALUES ARE: cpp matlab python"
RETURN_FLAG=true
echo "***OTHERWISE THE DEFAULT CA TARGET IS:" $CACLIENT_DEFAULT
CACLIENT=$CACLIENT_DEFAULT
fi
else
echo "***UNRECOGNIZED INPUT CA TARGET***" $CACLIENT
echo "***VALID VALUES ARE: cpp matlab python"
RETURN_FLAG=true
echo "***OTHERWISE THE DEFAULT CA TARGET IS:" $CACLIENT_DEFAULT
CACLIENT=$CACLIENT_DEFAULT
fi
fi
else
CACLIENT=$CACLIENT_DEFAULT
fi
if [ $RETURN_ON_WRONG_INPUT = true ] ; then
if [ $RETURN_FLAG = true ] ; then
return 1 2>/dev/null
exit 1
fi
fi
echo "FACILITY SELECTED = " $FACILITY
echo "CA TARGET SELECTED = " $CACLIENT
ENABLE_OPTIONS="--enable-boost-inc"
if [ "$FACILITY" = "sfel" ] || [ "$FACILITY" = "swissfel" ]
then
FACILITY="sf"
fi
if [ "$CACLIENT" = "python" ] || [ "$CACLIENT" = "julia" ]
then
CACLIENT="py37"
fi
if [ "$FACILITY" = "sls2" ]
then
ENABLE_OPTIONS+=" --enable-epics7"
#CAFE_V+="-sls2"
else
ENABLE_OPTIONS+=" --enable-epics3"
if [ "$FACILITY" = "sf" ] && [ "$CACLIENT" != "matlab" ]
then
CAFE_V+="-sf"
elif [ "$FACILITY" = "sls" ] && [ "$CACLIENT" != "matlab" ]
then
CAFE_V+="-epics3"
fi
fi
if [ "$CACLIENT" = "py34" ]
then
ENABLE_OPTIONS+=" --enable-python34"
ENABLE_OPTIONS+=" --enable-qt4py34"
CAFE_V+="-py34"
elif [ "$CACLIENT" = "py35" ]
then
ENABLE_OPTIONS+=" --enable-python35"
ENABLE_OPTIONS+=" --enable-qt4"
CAFE_V+="-py35"
elif [ "$CACLIENT" = "py37" ]
then
ENABLE_OPTIONS+=" --enable-python37"
ENABLE_OPTIONS+=" --enable-qt5"
CAFE_V+="-py37"
elif [ "$CACLIENT" = "py38" ]
then
ENABLE_OPTIONS+=" --enable-python38"
ENABLE_OPTIONS+=" --enable-qt5py38"
CAFE_V+="-py38"
elif [ "$CACLIENT" = "py310" ]
then
ENABLE_OPTIONS+=" --enable-python310"
#ENABLE_OPTIONS+=" --enable-qt5py310"
CAFE_V+="-py310"
else
ENABLE_OPTIONS+=" --enable-qt5"
fi
if [ "$FACILITY" = "sf" ] && [ "$CACLIENT" != "matlab" ]
then
#rm -f src/PyCafe.cpp
#ln -s PyCafe3.cpp src/PyCafe.cpp
ENABLE_OPTIONS+=" --enable-json"
ENABLE_OPTIONS+=" --enable-zeromq"
ENABLE_OPTIONS+=" --enable-curl"
ENABLE_OPTIONS+=" --enable-lz4"
#else
#rm -f src/PyCafe.cpp
#ln -s PyCafe_sls.cpp src/PyCafe.cpp
fi
CAFE_V+="-gcc-"$GCC_VERSION
echo "$CAFE_V"
echo 'EPICS BASE IS='$EPICS_BASE
#echo 'EPICS BASE DIR='${EPICS}/base-7.0.4.1
EB1=$(echo $EPICS_BASE | sed -e "s/[a-zA-Z]*-//g")
EBMAJ=$(echo $EB1 | sed -e "s/[[:punct:]].*//g")
EBMIN1=$(echo $EB1 | sed -e "s/^[[:digit:]]*[[:punct:]]//g")
EBMIN=$(echo $EBMIN1 | sed -e "s/[[:punct:]][[:digit:]]*//g")
EBPAT=$(echo $EB1 | sed -e "s/[[:digit:]]*[[:punct:]]//g")
echo EPICS_MAJOR=$EBMAJ
echo EPICS_MINOR=$EBMIN
echo EPICS_PATCH=$EBPAT
#echo $EBMIN1
export CAFE_EPICS_V_MAJOR=$EBMAJ
export CAFE_EPICS_V_MINOR=$EBMIN
export CAFE_EPICS_V_PATCH=$EBPAT
#ENABLE_OPTIONS+=" --enable-qt5"
##ENABLE_OPTIONS+=" --enable-qt4"
#ENABLE_OPTIONS+=" --enable-python37"
##ENABLE_OPTIONS+=" --enable-python35"
#ENABLE_OPTIONS+=" --enable-json"
#ENABLE_OPTIONS+=" --enable-zeromq"
#ENABLE_OPTIONS+=" --enable-curl"
#ENABLE_OPTIONS+=" --enable-lz4"
echo 'ENABLE_OPTIONS============> '$ENABLE_OPTIONS
./configure \
--prefix=/opt/gfa/cafe/cpp/${CAFE_V} \
--libdir=/opt/gfa/cafe/cpp/${CAFE_V}/lib/${EPICS_HOST_ARCH} \
${ENABLE_OPTIONS} \
--with-boost-inc=/opt/gfa/cafe/boost/boost_1_61_0/include \
--with-epics3=${EPICS}/base \
--with-python310=/ioc/python/latest \
--with-python38=/opt/gfa/python-3.8/latest \
--with-python37=/opt/gfa/python-3.7/latest \
--with-python35=/opt/gfa/python-3.5/latest \
--with-python34=/opt/psi/Programming/psi-python34/2.1.0 \
--with-qt5py310=/ioc/python/latest \
--with-qt5py38=/opt/gfa/python-3.8/latest \
--with-qt5=/opt/gfa/python-3.7/latest \
--with-qt4=/opt/gfa/python-3.5/latest \
--with-qt4py34=/opt/psi/Programming/psi-python34/2.1.0 \
--with-json=/sf/bd/deps/zmq/json/jsoncpp-src-0.6.0-rc2 \
--with-zeromq=/sf/bd/deps/zmq/zeromq-4.2.3-gcc-6.3.0 \
--with-curl=/sf/bd/deps/zmq/curl-7.55.1 \
--with-lz4=/sf/bd/deps/zmq/lz4/lib \
--with-epics7=/usr/local/epics/base-7.0.6
unset CAFE_EPICS_V_PATCH
unset CAFE_EPICS_V_MINOR
unset CAFE_EPICS_V_MAJOR
unset CAFE_HOST_FLAG_DARWIN

306
autogen_sfbd.sh- Normal file
View File

@@ -0,0 +1,306 @@
### psi specific - select compiler
#source <this_autogen_file> <facility> <target_language>
#<facility = sls sls2 sf> default is sf
#<target_language = cpp matlab python>
module unload gcc
module load gcc/7.3.0
### psi specific - end
rm -f configure.ac
ln -s configurePSI.ac configure.ac
rm -f ./aclocal.m4
rm -rf ./autom4te.cache
aclocal --force -I m4
/opt/gfa/python-3.7/latest/bin/libtoolize --force --copy #select libtools 2.4.6
#libtoolize --force --copy
autoconf --force #interprets configure.ac
autoheader --force
automake --force --add-missing --copy
#autoreconf not wanted
#Check what the EPICS RELEASE IS from ${EPICS}/base
#Used by ./configure
#Assumes format ${EPICS}/base-3.14.12
#source cafeVersion-gcc-7.3.0
CAFE_V="cafe-1.15.1"
#For later check of existence of HOST_ARCH for $EPICS/include/os/$HOST_ARCH
#Assume Linux but check if Darwin
CAFE_HOST_FLAG_DARWIN=$(echo ${EPICS_HOST_ARCH} | grep -c "Darwin")
export CAFE_HOST_FLAG_DARWIN=$CAFE_HOST_FLAG_DARWIN
RETURN_ON_WRONG_INPUT=true
RETURN_FLAG=false
EPICS_BASE=$(readlink ${EPICS}/base)
#EB=$(readlink /afs/psi.ch/project/cafe/gitworkspace/CAFE/cpp/base)
echo $EPICS_BASE
if [ -z "$EPICS_BASE" ]
then
EPICS_BASE='base-7' #7.0 = 7+0 = 7 for major release
fi
echo 'input' "$0" "$1" "$2"
echo $EPICS_BASE
FACILITY=$(echo "$1" | tr '[:upper:]' '[:lower:]')
CACLIENT=$(echo "$2" | tr '[:upper:]' '[:lower:]')
FACILITY_DEFAULT="sf"
CACLIENT_DEFAULT="python"
FACILITY_TEMP=""
CACLIENT_TEMP=""
echo 'input arg. facility/target' $FACILITY $CACLIENT
if [ -n "$FACILITY" ]
then
if [ "$FACILITY" = "matlab" ] || [ "$FACILITY" = "python" ] || \
[ "$FACILITY" = "py310" ] || [ "$FACILITY" = "py38" ] || \
[ "$FACILITY" = "py37" ] || [ "$FACILITY" = "py35" ] || \
[ "$FACILITY" = "julia" ] || [ "$FACILITY" = "cpp" ] || \
[ "$FACILITY" = "cc" ] || [ "$FACILITY" = "py34" ]
then
CACLIENT_TEMP=$FACILITY
FACILITY_TEMP=$2
fi
fi
if [ -n "$CACLIENT" ]
then
if [ "$CACLIENT" = "sls" ] || [ "$CACLIENT" = "sls2" ] || \
[ "$CACLIENT" = "sf" ] || [ "$CACLIENT" = "swissfel" ] || \
[ "$CACLIENT" = "sfel" ] || [ "$CACLIENT" = "hipa" ]
then
if [ -z $FACILITY_TEMP ]
then
FACILITY_TEMP=$CACLIENT
CACLIENT_TEMP=$1
fi
fi
fi
if [ -z "$FACILITY" ]
then
FACILITY="sf"
echo "FACILITY = " $FACILITY
if [ -z $CACLIENT ]
then
CACLIENT=$CACLIENT_DEFAULT
fi
elif [ "$FACILITY" = "sls" ] || [ "$FACILITY" = "sls2" ] || \
[ "$FACILITY" = "sf" ] || [ "$FACILITY" = "swissfel" ] || \
[ "$FACILITY" = "sfel" ] || [ "$FACILITY" = "hipa" ]
then
echo "FACILITY = " $FACILITY
elif [ -n "$FACILITY_TEMP" ]
then
if [ "$FACILITY_TEMP" = "sls" ] || [ "$FACILITY_TEMP" = "sls2" ] || \
[ "$FACILITY_TEMP" = "sf" ] || [ "$FACILITY_TEMP" = "swissfel" ] || \
[ "$FACILITY_TEMP" = "sfel" ] || [ "$FACILITY_TEMP" = "hipa" ]
then
FACILITY=$FACILITY_TEMP
else
if [ -n "$2" ]
then
echo "***UNRECOGNIZED INPUT FACILITY***" $FACILITY
echo "***VALID VALUES ARE: sls sls2 sf hipa"
RETURN_FLAG=true
fi
echo "***OTHERWISE THE DEFAULT FACILITY IS:" $FACILITY_DEFAULT
FACILITY=$FACILITY_DEFAULT
fi
else
echo "***UNRECOGNIZED INPUT FACILITY***" $FACILITY
echo "***VALID VALUES ARE: sls sls2 sf hipa"
RETURN_FLAG=true
echo "***OTHERWISE THE DEFAULT FACILITY IS: " $FACILITY_DEFAULT
FACILITY=$FACILITY_DEFAULT
fi
if [ -n "$CACLIENT" ]
then
if [ "$CACLIENT" = "matlab" ] || [ "$CACLIENT" = "python" ] || \
[ "$CACLIENT" = "py310" ] || [ "$CACLIENT" = "py38" ] || \
[ "$CACLIENT" = "py37" ] || [ "$CACLIENT" = "py35" ] || \
[ "$CACLIENT" = "julia" ] || [ "$CACLIENT" = "cpp" ] || \
[ "$CACLIENT" = "cc" ] || [ "$CACLIENT" = "py34" ]
then
echo "CA TARGET = " $CACLIENT
else
if [ -n "$CACLIENT_TEMP" ]
then
if [ "$CACLIENT_TEMP" = "matlab" ] || [ "$CACLIENT_TEMP" = "python" ] || \
[ "$CACLIENT_TEMP" = "py310" ] || [ "$CACLIENT_TEMP" = "py38" ] || \
[ "$CACLIENT_TEMP" = "py37" ] || [ "$CACLIENT_TEMP" = "py35" ] || \
[ "$CACLIENT_TEMP" = "julia" ] || [ "$CACLIENT_TEMP" = "cpp" ] || \
[ "$CACLIENT_TEMP" = "cc" ] || [ "$CACLIENT_TEMP" = "py34" ]
then
CACLIENT=$CACLIENT_TEMP
else
echo "***UNRECOGNIZED INPUT CA TARGET***" $CACLIENT
echo "***VALID VALUES ARE: cpp matlab python"
RETURN_FLAG=true
echo "***OTHERWISE THE DEFAULT CA TARGET IS:" $CACLIENT_DEFAULT
CACLIENT=$CACLIENT_DEFAULT
fi
else
echo "***UNRECOGNIZED INPUT CA TARGET***" $CACLIENT
echo "***VALID VALUES ARE: cpp matlab python"
RETURN_FLAG=true
echo "***OTHERWISE THE DEFAULT CA TARGET IS:" $CACLIENT_DEFAULT
CACLIENT=$CACLIENT_DEFAULT
fi
fi
else
CACLIENT=$CACLIENT_DEFAULT
fi
if [ $RETURN_ON_WRONG_INPUT = true ] ; then
if [ $RETURN_FLAG = true ] ; then
return 1 2>/dev/null
exit 1
fi
fi
echo "FACILITY SELECTED = " $FACILITY
echo "CA TARGET SELECTED = " $CACLIENT
ENABLE_OPTIONS="--enable-boost-inc"
if [ "$FACILITY" = "sfel" ] || [ "$FACILITY" = "swissfel" ]
then
FACILITY="sf"
fi
if [ "$CACLIENT" = "python" ] || [ "$CACLIENT" = "julia" ]
then
CACLIENT="py37"
fi
if [ "$FACILITY" = "sls2" ]
then
ENABLE_OPTIONS+=" --enable-epics7"
#CAFE_V+="-sls2"
else
ENABLE_OPTIONS+=" --enable-epics3"
if [ "$FACILITY" = "sf" ] && [ "$CACLIENT" != "matlab" ]
then
CAFE_V+="-sf"
elif [ "$FACILITY" = "sls" ] && [ "$CACLIENT" != "matlab" ]
then
CAFE_V+="-epics3"
fi
fi
if [ "$CACLIENT" = "py34" ]
then
ENABLE_OPTIONS+=" --enable-python34"
ENABLE_OPTIONS+=" --enable-qt4py34"
CAFE_V+="-py34"
elif [ "$CACLIENT" = "py35" ]
then
ENABLE_OPTIONS+=" --enable-python35"
ENABLE_OPTIONS+=" --enable-qt4"
CAFE_V+="-py35"
elif [ "$CACLIENT" = "py37" ]
then
ENABLE_OPTIONS+=" --enable-python37"
ENABLE_OPTIONS+=" --enable-qt5"
CAFE_V+="-py37"
elif [ "$CACLIENT" = "py38" ]
then
ENABLE_OPTIONS+=" --enable-python38"
ENABLE_OPTIONS+=" --enable-qt5py38"
CAFE_V+="-py38"
elif [ "$CACLIENT" = "py310" ]
then
ENABLE_OPTIONS+=" --enable-python310"
#ENABLE_OPTIONS+=" --enable-qt5py310"
CAFE_V+="-py310"
else
ENABLE_OPTIONS+=" --enable-qt5"
fi
if [ "$FACILITY" = "sf" ] && [ "$CACLIENT" != "matlab" ]
then
#rm -f src/PyCafe.cpp
#ln -s PyCafe3.cpp src/PyCafe.cpp
ENABLE_OPTIONS+=" --enable-json"
ENABLE_OPTIONS+=" --enable-zeromq"
ENABLE_OPTIONS+=" --enable-curl"
ENABLE_OPTIONS+=" --enable-lz4"
#else
#rm -f src/PyCafe.cpp
#ln -s PyCafe_sls.cpp src/PyCafe.cpp
fi
CAFE_V+="-gcc-"$GCC_VERSION
echo "$CAFE_V"
#echo 'EPICS BASE IS='$EPICS_BASE
#echo 'EPICS BASE DIR='${EPICS}/base-7.0.4.1
EB1=$(echo $EPICS_BASE | sed -e "s/[a-zA-Z]*-//g")
EBMAJ=$(echo $EB1 | sed -e "s/[[:punct:]].*//g")
EBMIN1=$(echo $EB1 | sed -e "s/^[[:digit:]]*[[:punct:]]//g")
EBMIN=$(echo $EBMIN1 | sed -e "s/[[:punct:]][[:digit:]]*//g")
EBPAT=$(echo $EB1 | sed -e "s/[[:digit:]]*[[:punct:]]//g")
echo EPICS_MAJOR=$EBMAJ
echo EPICS_MINOR=$EBMIN
echo EPICS_PATCH=$EBPAT
#echo $EBMIN1
export CAFE_EPICS_V_MAJOR=$EBMAJ
export CAFE_EPICS_V_MINOR=$EBMIN
export CAFE_EPICS_V_PATCH=$EBPAT
#ENABLE_OPTIONS+=" --enable-qt5"
##ENABLE_OPTIONS+=" --enable-qt4"
#ENABLE_OPTIONS+=" --enable-python37"
##ENABLE_OPTIONS+=" --enable-python35"
#ENABLE_OPTIONS+=" --enable-json"
#ENABLE_OPTIONS+=" --enable-zeromq"
#ENABLE_OPTIONS+=" --enable-curl"
#ENABLE_OPTIONS+=" --enable-lz4"
echo 'ENABLE_OPTIONS='$ENABLE_OPTIONS
./configure \
--prefix=/opt/gfa/cafe/cpp/${CAFE_V} \
--libdir=/opt/gfa/cafe/cpp/${CAFE_V}/lib/${EPICS_HOST_ARCH} \
${ENABLE_OPTIONS} \
--with-boost-inc=/opt/gfa/cafe/boost/boost_1_61_0/include \
--with-epics3=${EPICS}/base \
--with-python310=/ioc/python/latest \
--with-python38=/opt/gfa/python-3.8/latest \
--with-python37=/opt/gfa/python-3.7/latest \
--with-python35=/opt/gfa/python-3.5/latest \
--with-python34=/opt/psi/Programming/psi-python34/2.1.0 \
--with-qt5py310=/ioc/python/latest \
--with-qt5py38=/opt/gfa/python-3.8/latest \
--with-qt5=/opt/gfa/python-3.7/latest \
--with-qt4=/opt/gfa/python-3.5/latest \
--with-qt4py34=/opt/psi/Programming/psi-python34/2.1.0 \
--with-json=/sf/bd/deps/zmq/json/jsoncpp-src-0.6.0-rc2 \
--with-zeromq=/sf/bd/deps/zmq/zeromq-4.2.3-gcc-6.3.0 \
--with-curl=/sf/bd/deps/zmq/curl-7.55.1 \
--with-lz4=/sf/bd/deps/zmq/lz4/lib \
--with-epics7=${EPICS}/base-7.0.6
unset CAFE_EPICS_V_PATCH
unset CAFE_EPICS_V_MINOR
unset CAFE_EPICS_V_MAJOR
unset CAFE_HOST_FLAG_DARWIN

View File

@@ -22,7 +22,7 @@ automake --force --add-missing --copy
#Used by ./configure
#Assumes format ${EPICS}/base-3.14.12
#source cafeVersion-gcc-7.3.0
CAFE_V="cafe-1.14.1"
CAFE_V="cafe-1.15.1"
#For later check of existence of HOST_ARCH for $EPICS/include/os/$HOST_ARCH
#Assume Linux but check if Darwin
CAFE_HOST_FLAG_DARWIN=$(echo ${EPICS_HOST_ARCH} | grep -c "Darwin")
@@ -206,8 +206,16 @@ then
CAFE_V+="-py37"
#else
#ENABLE_OPTIONS+=" --enable-qt5"
elif [ "$CACLIENT" = "py34" ]
then
ENABLE_OPTIONS+=" --enable-python34"
ENABLE_OPTIONS+=" --enable-qt4"
CAFE_V+="-py34"
#else
#ENABLE_OPTIONS+=" --enable-qt5"
fi
if [ "$FACILITY" = "sf" ] && [ "$CACLIENT" != "matlab" ]
then
#rm -f src/PyCafe.cpp
@@ -263,6 +271,7 @@ echo 'EPICS='${EPICS}
--with-epics3=${EPICS}/base \
--with-python37=/opt/gfa/python-3.7/latest \
--with-python35=/opt/gfa/python-3.5/latest \
--with-python34=/opt/psi/Programming/psi-python34/2.1.0 \
--with-qt5=/opt/gfa/python-3.7/latest \
--with-qt4=/opt/gfa/python-3.5/latest \
--with-json=/opt/gfa/zmsglog/json/jsoncpp-src-0.6.0-rc2 \

1558
config.guess vendored Executable file

File diff suppressed because it is too large Load Diff

902
config.log Normal file
View File

@@ -0,0 +1,902 @@
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
It was created by CAFE configure 1.19.0, which was
generated by GNU Autoconf 2.69. Invocation command line was
$ ./configure --prefix=/opt/gfa/cafe/cpp/cafe-1.19.0-py38-gcc-7.5.0 --libdir=/opt/gfa/cafe/cpp/cafe-1.19.0-py38-gcc-7.5.0/lib/RHEL7-x86_64 --enable-boost-inc --enable-epics7 --enable-python38 --enable-qt5py38 --with-boost-inc=/opt/gfa/cafe/boost/boost_1_61_0/include --with-epics3=/usr/local/epics/base --with-python310=/ioc/python/latest --with-python38=/opt/gfa/python-3.8/latest --with-python37=/opt/gfa/python-3.7/latest --with-python35=/opt/gfa/python-3.5/latest --with-python34=/opt/psi/Programming/psi-python34/2.1.0 --with-qt5py310=/ioc/python/latest --with-qt5py38=/opt/gfa/python-3.8/latest --with-qt5=/opt/gfa/python-3.7/latest --with-qt4=/opt/gfa/python-3.5/latest --with-qt4py34=/opt/psi/Programming/psi-python34/2.1.0 --with-json=/sf/bd/deps/zmq/json/jsoncpp-src-0.6.0-rc2 --with-zeromq=/sf/bd/deps/zmq/zeromq-4.2.3-gcc-6.3.0 --with-curl=/sf/bd/deps/zmq/curl-7.55.1 --with-lz4=/sf/bd/deps/zmq/lz4/lib --with-epics7=/usr/local/epics/base-7.0.6 CXX=/opt/psi/Programming/gcc/7.5.0/bin/g++ CC=/opt/psi/Programming/gcc/7.5.0/bin/gcc --no-create --no-recursion
## --------- ##
## Platform. ##
## --------- ##
hostname = gfa-lc7.psi.ch
uname -m = x86_64
uname -r = 3.10.0-1160.80.1.el7.x86_64
uname -s = Linux
uname -v = #1 SMP Sat Oct 8 18:13:21 UTC 2022
/usr/bin/uname -p = x86_64
/bin/uname -X = unknown
/bin/arch = x86_64
/usr/bin/arch -k = unknown
/usr/convex/getsysinfo = unknown
/usr/bin/hostinfo = unknown
/bin/machine = unknown
/usr/bin/oslevel = unknown
/bin/universe = unknown
PATH: /usr/local/epics/seq/bin/RHEL7-x86_64
PATH: .
PATH: /usr/lib/openoffice.org/program
PATH: /opt/psi/Programming/gcc/7.5.0/bin
PATH: /opt/gfa/python-3.8/20211215/epics/bin/linux-x86_64
PATH: /opt/gfa/python-3.8/20211215/epics/bin/linux-x86_64
PATH: /opt/gfa/python-3.8/20211215/bin
PATH: /opt/gfa/python-3.8/20211215/condabin
PATH: /usr/local/epics/seq/bin/RHEL7-x86_64
PATH: .
PATH: /usr/lib/openoffice.org/program
PATH: /opt/psi/Tools/HDFView/3.1.2/bin
PATH: /opt/psi/Programming/matlab/2018a/bin
PATH: /usr/local/bin
PATH: /usr/bin
PATH: /usr/local/sbin
PATH: /usr/sbin
PATH: /work/bd/bin
PATH: /sls/bd/bin
PATH: /sls/controls/bin
PATH: /work/sls/bin
PATH: /work/bin
PATH: /opt/puppetlabs/bin
PATH: /afs/psi.ch/project/zeromq/deps/pycharm-community-2018.1.4/bin
PATH: /afs/psi.ch/user/c/chrin/Downloads/astyle/build/gcc/bin
PATH: /afs/psi.ch/user/c/chrin/.local/bin
PATH: /afs/psi.ch/user/c/chrin/python/pycharm-community-2018.1.4/bin
PATH: /afs/psi.ch/user/c/chrin/bin
PATH: /opt/psi/Tools/Pmodules/1.0.0rc4/bin
PATH: /afs/psi.ch/project/zeromq/deps/pycharm-community-2018.1.4/bin
PATH: /afs/psi.ch/user/c/chrin/Downloads/astyle/build/gcc/bin
PATH: /afs/psi.ch/user/c/chrin/.local/bin
PATH: /afs/psi.ch/user/c/chrin/python/pycharm-community-2018.1.4/bin
PATH: /afs/psi.ch/user/c/chrin/bin
## ----------- ##
## Core tests. ##
## ----------- ##
configure:2503: checking for a BSD-compatible install
configure:2571: result: /usr/bin/install -c
configure:2582: checking whether build environment is sane
configure:2637: result: yes
configure:2788: checking for a thread-safe mkdir -p
configure:2827: result: /usr/bin/mkdir -p
configure:2834: checking for gawk
configure:2850: found /usr/bin/gawk
configure:2861: result: gawk
configure:2872: checking whether make sets $(MAKE)
configure:2894: result: yes
configure:2923: checking whether make supports nested variables
configure:2940: result: yes
configure:3147: checking for C++ compiler version
configure:3156: /opt/psi/Programming/gcc/7.5.0/bin/g++ --version >&5
g++ ('PSI Environment Module') 7.5.0
Copyright (C) 2017 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
configure:3167: $? = 0
configure:3156: /opt/psi/Programming/gcc/7.5.0/bin/g++ -v >&5
Using built-in specs.
COLLECT_GCC=/opt/psi/Programming/gcc/7.5.0/bin/g++
COLLECT_LTO_WRAPPER=/afs/psi.ch/sys/psi.ra/Programming/gcc/7.5.0/bin/../libexec/gcc/x86_64-pc-linux-gnu/7.5.0/lto-wrapper
Target: x86_64-pc-linux-gnu
Configured with: /var/tmp/gsell/gcc-7.5.0/src/configure --prefix=/opt/psi/Programming/gcc/7.5.0 --with-gmp=/opt/psi/Libraries/gmp/6.2.0 --with-mpfr=/opt/psi/Libraries/mpfr/4.0.2-1 --with-mpc=/opt/psi/Libraries/mpc/1.1.0-4 --enable-lto --disable-multilib --with-build-config=bootstrap-debug --with-pkgversion=''\''PSI Environment Module'\''' --with-build-config=bootstrap-debug
Thread model: posix
gcc version 7.5.0 ('PSI Environment Module')
configure:3167: $? = 0
configure:3156: /opt/psi/Programming/gcc/7.5.0/bin/g++ -V >&5
g++: error: unrecognized command line option '-V'
g++: fatal error: no input files
compilation terminated.
configure:3167: $? = 1
configure:3156: /opt/psi/Programming/gcc/7.5.0/bin/g++ -qversion >&5
g++: error: unrecognized command line option '-qversion'; did you mean '--version'?
g++: fatal error: no input files
compilation terminated.
configure:3167: $? = 1
configure:3187: checking whether the C++ compiler works
configure:3209: /opt/psi/Programming/gcc/7.5.0/bin/g++ conftest.cpp >&5
configure:3213: $? = 0
configure:3261: result: yes
configure:3264: checking for C++ compiler default output file name
configure:3266: result: a.out
configure:3272: checking for suffix of executables
configure:3279: /opt/psi/Programming/gcc/7.5.0/bin/g++ -o conftest conftest.cpp >&5
configure:3283: $? = 0
configure:3305: result:
configure:3327: checking whether we are cross compiling
configure:3335: /opt/psi/Programming/gcc/7.5.0/bin/g++ -o conftest conftest.cpp >&5
configure:3339: $? = 0
configure:3346: ./conftest
configure:3350: $? = 0
configure:3365: result: no
configure:3370: checking for suffix of object files
configure:3392: /opt/psi/Programming/gcc/7.5.0/bin/g++ -c conftest.cpp >&5
configure:3396: $? = 0
configure:3417: result: o
configure:3421: checking whether we are using the GNU C++ compiler
configure:3440: /opt/psi/Programming/gcc/7.5.0/bin/g++ -c conftest.cpp >&5
configure:3440: $? = 0
configure:3449: result: yes
configure:3458: checking whether /opt/psi/Programming/gcc/7.5.0/bin/g++ accepts -g
configure:3478: /opt/psi/Programming/gcc/7.5.0/bin/g++ -c -g conftest.cpp >&5
configure:3478: $? = 0
configure:3519: result: yes
configure:3553: checking for style of include used by make
configure:3581: result: GNU
configure:3607: checking dependency style of /opt/psi/Programming/gcc/7.5.0/bin/g++
configure:3718: result: gcc3
configure:3764: checking build system type
configure:3778: result: x86_64-unknown-linux-gnu
configure:3798: checking host system type
configure:3811: result: x86_64-unknown-linux-gnu
configure:3852: checking how to print strings
configure:3879: result: printf
configure:3948: checking for gcc
configure:3975: result: /opt/psi/Programming/gcc/7.5.0/bin/gcc
configure:4204: checking for C compiler version
configure:4213: /opt/psi/Programming/gcc/7.5.0/bin/gcc --version >&5
gcc ('PSI Environment Module') 7.5.0
Copyright (C) 2017 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
configure:4224: $? = 0
configure:4213: /opt/psi/Programming/gcc/7.5.0/bin/gcc -v >&5
Using built-in specs.
COLLECT_GCC=/opt/psi/Programming/gcc/7.5.0/bin/gcc
COLLECT_LTO_WRAPPER=/afs/psi.ch/sys/psi.ra/Programming/gcc/7.5.0/bin/../libexec/gcc/x86_64-pc-linux-gnu/7.5.0/lto-wrapper
Target: x86_64-pc-linux-gnu
Configured with: /var/tmp/gsell/gcc-7.5.0/src/configure --prefix=/opt/psi/Programming/gcc/7.5.0 --with-gmp=/opt/psi/Libraries/gmp/6.2.0 --with-mpfr=/opt/psi/Libraries/mpfr/4.0.2-1 --with-mpc=/opt/psi/Libraries/mpc/1.1.0-4 --enable-lto --disable-multilib --with-build-config=bootstrap-debug --with-pkgversion=''\''PSI Environment Module'\''' --with-build-config=bootstrap-debug
Thread model: posix
gcc version 7.5.0 ('PSI Environment Module')
configure:4224: $? = 0
configure:4213: /opt/psi/Programming/gcc/7.5.0/bin/gcc -V >&5
gcc: error: unrecognized command line option '-V'
gcc: fatal error: no input files
compilation terminated.
configure:4224: $? = 1
configure:4213: /opt/psi/Programming/gcc/7.5.0/bin/gcc -qversion >&5
gcc: error: unrecognized command line option '-qversion'; did you mean '--version'?
gcc: fatal error: no input files
compilation terminated.
configure:4224: $? = 1
configure:4228: checking whether we are using the GNU C compiler
configure:4247: /opt/psi/Programming/gcc/7.5.0/bin/gcc -c conftest.c >&5
configure:4247: $? = 0
configure:4256: result: yes
configure:4265: checking whether /opt/psi/Programming/gcc/7.5.0/bin/gcc accepts -g
configure:4285: /opt/psi/Programming/gcc/7.5.0/bin/gcc -c -g conftest.c >&5
configure:4285: $? = 0
configure:4326: result: yes
configure:4343: checking for /opt/psi/Programming/gcc/7.5.0/bin/gcc option to accept ISO C89
configure:4406: /opt/psi/Programming/gcc/7.5.0/bin/gcc -c -g -O2 conftest.c >&5
configure:4406: $? = 0
configure:4419: result: none needed
configure:4441: checking dependency style of /opt/psi/Programming/gcc/7.5.0/bin/gcc
configure:4552: result: gcc3
configure:4567: checking for a sed that does not truncate output
configure:4631: result: /usr/bin/sed
configure:4649: checking for grep that handles long lines and -e
configure:4707: result: /usr/bin/grep
configure:4712: checking for egrep
configure:4774: result: /usr/bin/grep -E
configure:4779: checking for fgrep
configure:4841: result: /usr/bin/grep -F
configure:4876: checking for ld used by /opt/psi/Programming/gcc/7.5.0/bin/gcc
configure:4943: result: /usr/bin/ld
configure:4950: checking if the linker (/usr/bin/ld) is GNU ld
configure:4965: result: yes
configure:4977: checking for BSD- or MS-compatible name lister (nm)
configure:5031: result: /usr/bin/nm -B
configure:5161: checking the name lister (/usr/bin/nm -B) interface
configure:5168: /opt/psi/Programming/gcc/7.5.0/bin/g++ -c -g -O2 conftest.cpp >&5
configure:5171: /usr/bin/nm -B "conftest.o"
configure:5174: output
0000000000000000 B some_variable
configure:5181: result: BSD nm
configure:5184: checking whether ln -s works
configure:5188: result: yes
configure:5196: checking the maximum length of command line arguments
configure:5327: result: 1572864
configure:5375: checking how to convert x86_64-unknown-linux-gnu file names to x86_64-unknown-linux-gnu format
configure:5415: result: func_convert_file_noop
configure:5422: checking how to convert x86_64-unknown-linux-gnu file names to toolchain format
configure:5442: result: func_convert_file_noop
configure:5449: checking for /usr/bin/ld option to reload object files
configure:5456: result: -r
configure:5530: checking for objdump
configure:5546: found /usr/bin/objdump
configure:5557: result: objdump
configure:5589: checking how to recognize dependent libraries
configure:5789: result: pass_all
configure:5874: checking for dlltool
configure:5904: result: no
configure:5934: checking how to associate runtime and link libraries
configure:5961: result: printf %s\n
configure:6022: checking for ar
configure:6038: found /usr/bin/ar
configure:6049: result: ar
configure:6086: checking for archiver @FILE support
configure:6103: /opt/psi/Programming/gcc/7.5.0/bin/g++ -c -g -O2 conftest.cpp >&5
configure:6103: $? = 0
configure:6106: ar cru libconftest.a @conftest.lst >&5
configure:6109: $? = 0
configure:6114: ar cru libconftest.a @conftest.lst >&5
ar: conftest.o: No such file or directory
configure:6117: $? = 1
configure:6129: result: @
configure:6187: checking for strip
configure:6203: found /usr/bin/strip
configure:6214: result: strip
configure:6286: checking for ranlib
configure:6302: found /usr/bin/ranlib
configure:6313: result: ranlib
configure:6415: checking command to parse /usr/bin/nm -B output from /opt/psi/Programming/gcc/7.5.0/bin/gcc object
configure:6568: /opt/psi/Programming/gcc/7.5.0/bin/g++ -c -g -O2 conftest.cpp >&5
configure:6571: $? = 0
configure:6575: /usr/bin/nm -B conftest.o \| sed -n -e 's/^.*[ ]\([ABCDGIRSTW][ABCDGIRSTW]*\)[ ][ ]*\([_A-Za-z][_A-Za-z0-9]*\)$/\1 \2 \2/p' | sed '/ __gnu_lto/d' \> conftest.nm
configure:6578: $? = 0
configure:6644: /opt/psi/Programming/gcc/7.5.0/bin/g++ -o conftest -g -O2 conftest.cpp conftstm.o >&5
configure:6647: $? = 0
configure:6685: result: ok
configure:6732: checking for sysroot
configure:6762: result: no
configure:6769: checking for a working dd
configure:6807: result: /usr/bin/dd
configure:6811: checking how to truncate binary pipes
configure:6826: result: /usr/bin/dd bs=4096 count=1
configure:6963: /opt/psi/Programming/gcc/7.5.0/bin/g++ -c -g -O2 conftest.cpp >&5
configure:6966: $? = 0
configure:7156: checking for mt
configure:7186: result: no
configure:7206: checking if : is a manifest tool
configure:7212: : '-?'
configure:7220: result: no
configure:7897: checking how to run the C preprocessor
configure:7928: /opt/psi/Programming/gcc/7.5.0/bin/gcc -E conftest.c
configure:7928: $? = 0
configure:7942: /opt/psi/Programming/gcc/7.5.0/bin/gcc -E conftest.c
conftest.c:11:10: fatal error: ac_nonexistent.h: No such file or directory
#include <ac_nonexistent.h>
^~~~~~~~~~~~~~~~~~
compilation terminated.
configure:7942: $? = 1
configure: failed program was:
| /* confdefs.h */
| #define PACKAGE_NAME "CAFE"
| #define PACKAGE_TARNAME "cafe"
| #define PACKAGE_VERSION "1.19.0"
| #define PACKAGE_STRING "CAFE 1.19.0"
| #define PACKAGE_BUGREPORT "Bug reports to: jan.chrin@psi.ch"
| #define PACKAGE_URL ""
| #define PACKAGE "cafe"
| #define VERSION "1.19.0"
| /* end confdefs.h. */
| #include <ac_nonexistent.h>
configure:7967: result: /opt/psi/Programming/gcc/7.5.0/bin/gcc -E
configure:7987: /opt/psi/Programming/gcc/7.5.0/bin/gcc -E conftest.c
configure:7987: $? = 0
configure:8001: /opt/psi/Programming/gcc/7.5.0/bin/gcc -E conftest.c
conftest.c:11:10: fatal error: ac_nonexistent.h: No such file or directory
#include <ac_nonexistent.h>
^~~~~~~~~~~~~~~~~~
compilation terminated.
configure:8001: $? = 1
configure: failed program was:
| /* confdefs.h */
| #define PACKAGE_NAME "CAFE"
| #define PACKAGE_TARNAME "cafe"
| #define PACKAGE_VERSION "1.19.0"
| #define PACKAGE_STRING "CAFE 1.19.0"
| #define PACKAGE_BUGREPORT "Bug reports to: jan.chrin@psi.ch"
| #define PACKAGE_URL ""
| #define PACKAGE "cafe"
| #define VERSION "1.19.0"
| /* end confdefs.h. */
| #include <ac_nonexistent.h>
configure:8030: checking for ANSI C header files
configure:8050: /opt/psi/Programming/gcc/7.5.0/bin/gcc -c -g -O2 conftest.c >&5
configure:8050: $? = 0
configure:8123: /opt/psi/Programming/gcc/7.5.0/bin/gcc -o conftest -g -O2 conftest.c >&5
configure:8123: $? = 0
configure:8123: ./conftest
configure:8123: $? = 0
configure:8134: result: yes
configure:8147: checking for sys/types.h
configure:8147: /opt/psi/Programming/gcc/7.5.0/bin/gcc -c -g -O2 conftest.c >&5
configure:8147: $? = 0
configure:8147: result: yes
configure:8147: checking for sys/stat.h
configure:8147: /opt/psi/Programming/gcc/7.5.0/bin/gcc -c -g -O2 conftest.c >&5
configure:8147: $? = 0
configure:8147: result: yes
configure:8147: checking for stdlib.h
configure:8147: /opt/psi/Programming/gcc/7.5.0/bin/gcc -c -g -O2 conftest.c >&5
configure:8147: $? = 0
configure:8147: result: yes
configure:8147: checking for string.h
configure:8147: /opt/psi/Programming/gcc/7.5.0/bin/gcc -c -g -O2 conftest.c >&5
configure:8147: $? = 0
configure:8147: result: yes
configure:8147: checking for memory.h
configure:8147: /opt/psi/Programming/gcc/7.5.0/bin/gcc -c -g -O2 conftest.c >&5
configure:8147: $? = 0
configure:8147: result: yes
configure:8147: checking for strings.h
configure:8147: /opt/psi/Programming/gcc/7.5.0/bin/gcc -c -g -O2 conftest.c >&5
configure:8147: $? = 0
configure:8147: result: yes
configure:8147: checking for inttypes.h
configure:8147: /opt/psi/Programming/gcc/7.5.0/bin/gcc -c -g -O2 conftest.c >&5
configure:8147: $? = 0
configure:8147: result: yes
configure:8147: checking for stdint.h
configure:8147: /opt/psi/Programming/gcc/7.5.0/bin/gcc -c -g -O2 conftest.c >&5
configure:8147: $? = 0
configure:8147: result: yes
configure:8147: checking for unistd.h
configure:8147: /opt/psi/Programming/gcc/7.5.0/bin/gcc -c -g -O2 conftest.c >&5
configure:8147: $? = 0
configure:8147: result: yes
configure:8161: checking for dlfcn.h
configure:8161: /opt/psi/Programming/gcc/7.5.0/bin/gcc -c -g -O2 conftest.c >&5
configure:8161: $? = 0
configure:8161: result: yes
configure:8427: checking for objdir
configure:8442: result: .libs
configure:8706: checking if /opt/psi/Programming/gcc/7.5.0/bin/gcc supports -fno-rtti -fno-exceptions
configure:8724: /opt/psi/Programming/gcc/7.5.0/bin/gcc -c -g -O2 -fno-rtti -fno-exceptions conftest.c >&5
cc1: warning: command line option '-fno-rtti' is valid for C++/ObjC++ but not for C
configure:8728: $? = 0
configure:8741: result: no
configure:9099: checking for /opt/psi/Programming/gcc/7.5.0/bin/gcc option to produce PIC
configure:9106: result: -fPIC -DPIC
configure:9114: checking if /opt/psi/Programming/gcc/7.5.0/bin/gcc PIC flag -fPIC -DPIC works
configure:9132: /opt/psi/Programming/gcc/7.5.0/bin/gcc -c -g -O2 -fPIC -DPIC -DPIC conftest.c >&5
configure:9136: $? = 0
configure:9149: result: yes
configure:9178: checking if /opt/psi/Programming/gcc/7.5.0/bin/gcc static flag -static works
configure:9206: result: no
configure:9221: checking if /opt/psi/Programming/gcc/7.5.0/bin/gcc supports -c -o file.o
configure:9242: /opt/psi/Programming/gcc/7.5.0/bin/gcc -c -g -O2 -o out/conftest2.o conftest.c >&5
configure:9246: $? = 0
configure:9268: result: yes
configure:9276: checking if /opt/psi/Programming/gcc/7.5.0/bin/gcc supports -c -o file.o
configure:9323: result: yes
configure:9356: checking whether the /opt/psi/Programming/gcc/7.5.0/bin/gcc linker (/usr/bin/ld -m elf_x86_64) supports shared libraries
configure:10615: result: yes
configure:10652: checking whether -lc should be explicitly linked in
configure:10660: /opt/psi/Programming/gcc/7.5.0/bin/gcc -c -g -O2 conftest.c >&5
configure:10663: $? = 0
configure:10678: /opt/psi/Programming/gcc/7.5.0/bin/gcc -shared -fPIC -DPIC conftest.o -v -Wl,-soname -Wl,conftest -o conftest 2\>\&1 \| /usr/bin/grep -lc \>/dev/null 2\>\&1
configure:10681: $? = 0
configure:10695: result: no
configure:10855: checking dynamic linker characteristics
configure:11436: /opt/psi/Programming/gcc/7.5.0/bin/gcc -o conftest -g -O2 -Wl,-rpath -Wl,/foo conftest.c >&5
configure:11436: $? = 0
configure:11673: result: GNU/Linux ld.so
configure:11795: checking how to hardcode library paths into programs
configure:11820: result: immediate
configure:12368: checking whether stripping libraries is possible
configure:12373: result: yes
configure:12408: checking if libtool supports shared libraries
configure:12410: result: yes
configure:12413: checking whether to build shared libraries
configure:12438: result: yes
configure:12441: checking whether to build static libraries
configure:12445: result: yes
configure:12468: checking how to run the C++ preprocessor
configure:12495: /opt/psi/Programming/gcc/7.5.0/bin/g++ -E conftest.cpp
configure:12495: $? = 0
configure:12509: /opt/psi/Programming/gcc/7.5.0/bin/g++ -E conftest.cpp
conftest.cpp:23:10: fatal error: ac_nonexistent.h: No such file or directory
#include <ac_nonexistent.h>
^~~~~~~~~~~~~~~~~~
compilation terminated.
configure:12509: $? = 1
configure: failed program was:
| /* confdefs.h */
| #define PACKAGE_NAME "CAFE"
| #define PACKAGE_TARNAME "cafe"
| #define PACKAGE_VERSION "1.19.0"
| #define PACKAGE_STRING "CAFE 1.19.0"
| #define PACKAGE_BUGREPORT "Bug reports to: jan.chrin@psi.ch"
| #define PACKAGE_URL ""
| #define PACKAGE "cafe"
| #define VERSION "1.19.0"
| #define STDC_HEADERS 1
| #define HAVE_SYS_TYPES_H 1
| #define HAVE_SYS_STAT_H 1
| #define HAVE_STDLIB_H 1
| #define HAVE_STRING_H 1
| #define HAVE_MEMORY_H 1
| #define HAVE_STRINGS_H 1
| #define HAVE_INTTYPES_H 1
| #define HAVE_STDINT_H 1
| #define HAVE_UNISTD_H 1
| #define HAVE_DLFCN_H 1
| #define LT_OBJDIR ".libs/"
| /* end confdefs.h. */
| #include <ac_nonexistent.h>
configure:12534: result: /opt/psi/Programming/gcc/7.5.0/bin/g++ -E
configure:12554: /opt/psi/Programming/gcc/7.5.0/bin/g++ -E conftest.cpp
configure:12554: $? = 0
configure:12568: /opt/psi/Programming/gcc/7.5.0/bin/g++ -E conftest.cpp
conftest.cpp:23:10: fatal error: ac_nonexistent.h: No such file or directory
#include <ac_nonexistent.h>
^~~~~~~~~~~~~~~~~~
compilation terminated.
configure:12568: $? = 1
configure: failed program was:
| /* confdefs.h */
| #define PACKAGE_NAME "CAFE"
| #define PACKAGE_TARNAME "cafe"
| #define PACKAGE_VERSION "1.19.0"
| #define PACKAGE_STRING "CAFE 1.19.0"
| #define PACKAGE_BUGREPORT "Bug reports to: jan.chrin@psi.ch"
| #define PACKAGE_URL ""
| #define PACKAGE "cafe"
| #define VERSION "1.19.0"
| #define STDC_HEADERS 1
| #define HAVE_SYS_TYPES_H 1
| #define HAVE_SYS_STAT_H 1
| #define HAVE_STDLIB_H 1
| #define HAVE_STRING_H 1
| #define HAVE_MEMORY_H 1
| #define HAVE_STRINGS_H 1
| #define HAVE_INTTYPES_H 1
| #define HAVE_STDINT_H 1
| #define HAVE_UNISTD_H 1
| #define HAVE_DLFCN_H 1
| #define LT_OBJDIR ".libs/"
| /* end confdefs.h. */
| #include <ac_nonexistent.h>
configure:12730: checking for ld used by /opt/psi/Programming/gcc/7.5.0/bin/g++
configure:12797: result: /usr/bin/ld -m elf_x86_64
configure:12804: checking if the linker (/usr/bin/ld -m elf_x86_64) is GNU ld
configure:12819: result: yes
configure:12874: checking whether the /opt/psi/Programming/gcc/7.5.0/bin/g++ linker (/usr/bin/ld -m elf_x86_64) supports shared libraries
configure:13947: result: yes
configure:13983: /opt/psi/Programming/gcc/7.5.0/bin/g++ -c -g -O2 conftest.cpp >&5
configure:13986: $? = 0
configure:14467: checking for /opt/psi/Programming/gcc/7.5.0/bin/g++ option to produce PIC
configure:14474: result: -fPIC -DPIC
configure:14482: checking if /opt/psi/Programming/gcc/7.5.0/bin/g++ PIC flag -fPIC -DPIC works
configure:14500: /opt/psi/Programming/gcc/7.5.0/bin/g++ -c -g -O2 -fPIC -DPIC -DPIC conftest.cpp >&5
configure:14504: $? = 0
configure:14517: result: yes
configure:14540: checking if /opt/psi/Programming/gcc/7.5.0/bin/g++ static flag -static works
configure:14568: result: no
configure:14580: checking if /opt/psi/Programming/gcc/7.5.0/bin/g++ supports -c -o file.o
configure:14601: /opt/psi/Programming/gcc/7.5.0/bin/g++ -c -g -O2 -o out/conftest2.o conftest.cpp >&5
configure:14605: $? = 0
configure:14627: result: yes
configure:14632: checking if /opt/psi/Programming/gcc/7.5.0/bin/g++ supports -c -o file.o
configure:14679: result: yes
configure:14709: checking whether the /opt/psi/Programming/gcc/7.5.0/bin/g++ linker (/usr/bin/ld -m elf_x86_64) supports shared libraries
configure:14749: result: yes
configure:14890: checking dynamic linker characteristics
configure:15635: result: GNU/Linux ld.so
configure:15700: checking how to hardcode library paths into programs
configure:15725: result: immediate
configure:15949: checking cadef.h usability
configure:15949: /opt/psi/Programming/gcc/7.5.0/bin/g++ -c -g -O2 -fexceptions -fPIC -std=c++1z -I/usr/local/epics/base-7.0.6/include/ -I/usr/local/epics/base-7.0.6/include/os/Linux -I/usr/local/epics/base-7.0.6/include/compiler/gcc conftest.cpp >&5
configure:15949: $? = 0
configure:15949: result: yes
configure:15949: checking cadef.h presence
configure:15949: /opt/psi/Programming/gcc/7.5.0/bin/g++ -E -fexceptions -fPIC -std=c++1z -I/usr/local/epics/base-7.0.6/include/ -I/usr/local/epics/base-7.0.6/include/os/Linux -I/usr/local/epics/base-7.0.6/include/compiler/gcc conftest.cpp
configure:15949: $? = 0
configure:15949: result: yes
configure:15949: checking for cadef.h
configure:15949: result: yes
configure:15968: checking epicsTypes.h usability
configure:15968: /opt/psi/Programming/gcc/7.5.0/bin/g++ -c -g -O2 -fexceptions -fPIC -std=c++1z -I/usr/local/epics/base-7.0.6/include/ -I/usr/local/epics/base-7.0.6/include/os/Linux -I/usr/local/epics/base-7.0.6/include/compiler/gcc conftest.cpp >&5
configure:15968: $? = 0
configure:15968: result: yes
configure:15968: checking epicsTypes.h presence
configure:15968: /opt/psi/Programming/gcc/7.5.0/bin/g++ -E -fexceptions -fPIC -std=c++1z -I/usr/local/epics/base-7.0.6/include/ -I/usr/local/epics/base-7.0.6/include/os/Linux -I/usr/local/epics/base-7.0.6/include/compiler/gcc conftest.cpp
configure:15968: $? = 0
configure:15968: result: yes
configure:15968: checking for epicsTypes.h
configure:15968: result: yes
configure:15985: checking for main in -lca
configure:16004: /opt/psi/Programming/gcc/7.5.0/bin/g++ -o conftest -g -O2 -fexceptions -fPIC -std=c++1z -I/usr/local/epics/base-7.0.6/include/ -I/usr/local/epics/base-7.0.6/include/os/Linux -I/usr/local/epics/base-7.0.6/include/compiler/gcc -L/usr/local/epics/base-7.0.6/lib/RHEL7-x86_64 -Wl,-rpath,/usr/local/epics/base-7.0.6/lib/RHEL7-x86_64 conftest.cpp -lca >&5
configure:16004: $? = 0
configure:16013: result: yes
configure:16026: checking for main in -lCom
configure:16045: /opt/psi/Programming/gcc/7.5.0/bin/g++ -o conftest -g -O2 -fexceptions -fPIC -std=c++1z -I/usr/local/epics/base-7.0.6/include/ -I/usr/local/epics/base-7.0.6/include/os/Linux -I/usr/local/epics/base-7.0.6/include/compiler/gcc -L/usr/local/epics/base-7.0.6/lib/RHEL7-x86_64 -Wl,-rpath,/usr/local/epics/base-7.0.6/lib/RHEL7-x86_64 conftest.cpp -lCom >&5
configure:16045: $? = 0
configure:16054: result: yes
configure:16067: checking for main in -ldl
configure:16086: /opt/psi/Programming/gcc/7.5.0/bin/g++ -o conftest -g -O2 -fexceptions -fPIC -std=c++1z -I/usr/local/epics/base-7.0.6/include/ -I/usr/local/epics/base-7.0.6/include/os/Linux -I/usr/local/epics/base-7.0.6/include/compiler/gcc -L/usr/local/epics/base-7.0.6/lib/RHEL7-x86_64 -Wl,-rpath,/usr/local/epics/base-7.0.6/lib/RHEL7-x86_64 conftest.cpp -ldl >&5
configure:16086: $? = 0
configure:16095: result: yes
configure:16300: checking multi_index_container.hpp usability
configure:16300: /opt/psi/Programming/gcc/7.5.0/bin/g++ -c -g -O2 -fexceptions -fPIC -std=c++1z -I/usr/local/epics/base-7.0.6/include/ -I/usr/local/epics/base-7.0.6/include/os/Linux -I/usr/local/epics/base-7.0.6/include/compiler/gcc -I/opt/gfa/cafe/boost/boost_1_61_0/include/boost -I/opt/gfa/cafe/boost/boost_1_61_0/include conftest.cpp >&5
configure:16300: $? = 0
configure:16300: result: yes
configure:16300: checking multi_index_container.hpp presence
configure:16300: /opt/psi/Programming/gcc/7.5.0/bin/g++ -E -fexceptions -fPIC -std=c++1z -I/usr/local/epics/base-7.0.6/include/ -I/usr/local/epics/base-7.0.6/include/os/Linux -I/usr/local/epics/base-7.0.6/include/compiler/gcc -I/opt/gfa/cafe/boost/boost_1_61_0/include/boost -I/opt/gfa/cafe/boost/boost_1_61_0/include conftest.cpp
configure:16300: $? = 0
configure:16300: result: yes
configure:16300: checking for multi_index_container.hpp
configure:16300: result: yes
configure:16524: checking Python.h usability
configure:16524: /opt/psi/Programming/gcc/7.5.0/bin/g++ -c -g -O2 -fexceptions -fPIC -std=c++1z -I/usr/local/epics/base-7.0.6/include/ -I/usr/local/epics/base-7.0.6/include/os/Linux -I/usr/local/epics/base-7.0.6/include/compiler/gcc -I/opt/gfa/cafe/boost/boost_1_61_0/include/boost -I/opt/gfa/cafe/boost/boost_1_61_0/include -I/opt/gfa/python-3.8/latest/include/python3.8 -I/opt/gfa/python-3.8/latest/lib/python3.8/site-packages/numpy/core/include conftest.cpp >&5
configure:16524: $? = 0
configure:16524: result: yes
configure:16524: checking Python.h presence
configure:16524: /opt/psi/Programming/gcc/7.5.0/bin/g++ -E -fexceptions -fPIC -std=c++1z -I/usr/local/epics/base-7.0.6/include/ -I/usr/local/epics/base-7.0.6/include/os/Linux -I/usr/local/epics/base-7.0.6/include/compiler/gcc -I/opt/gfa/cafe/boost/boost_1_61_0/include/boost -I/opt/gfa/cafe/boost/boost_1_61_0/include -I/opt/gfa/python-3.8/latest/include/python3.8 -I/opt/gfa/python-3.8/latest/lib/python3.8/site-packages/numpy/core/include conftest.cpp
configure:16524: $? = 0
configure:16524: result: yes
configure:16524: checking for Python.h
configure:16524: result: yes
configure:16591: checking for main in -lpython3.8
configure:16610: /opt/psi/Programming/gcc/7.5.0/bin/g++ -o conftest -g -O2 -fexceptions -fPIC -std=c++1z -I/usr/local/epics/base-7.0.6/include/ -I/usr/local/epics/base-7.0.6/include/os/Linux -I/usr/local/epics/base-7.0.6/include/compiler/gcc -I/opt/gfa/cafe/boost/boost_1_61_0/include/boost -I/opt/gfa/cafe/boost/boost_1_61_0/include -I/opt/gfa/python-3.8/latest/include/python3.8 -I/opt/gfa/python-3.8/latest/lib/python3.8/site-packages/numpy/core/include -L/usr/local/epics/base-7.0.6/lib/RHEL7-x86_64 -Wl,-rpath,/usr/local/epics/base-7.0.6/lib/RHEL7-x86_64 -L/opt/gfa/python-3.8/latest/lib -Wl,-rpath,/opt/gfa/python-3.8/latest/lib conftest.cpp -lpython3.8 >&5
configure:16610: $? = 0
configure:16619: result: yes
configure:17014: checking qxml.h usability
configure:17014: /opt/psi/Programming/gcc/7.5.0/bin/g++ -c -g -O2 -fexceptions -fPIC -std=c++1z -I/usr/local/epics/base-7.0.6/include/ -I/usr/local/epics/base-7.0.6/include/os/Linux -I/usr/local/epics/base-7.0.6/include/compiler/gcc -I/opt/gfa/cafe/boost/boost_1_61_0/include/boost -I/opt/gfa/cafe/boost/boost_1_61_0/include -I/opt/gfa/python-3.8/latest/include/python3.8 -I/opt/gfa/python-3.8/latest/lib/python3.8/site-packages/numpy/core/include -I/opt/gfa/python-3.8/latest/include/qt -I/opt/gfa/python-3.8/latest/include/qt/QtCore -I/opt/gfa/python-3.8/latest/include/qt/QtXml conftest.cpp >&5
configure:17014: $? = 0
configure:17014: result: yes
configure:17014: checking qxml.h presence
configure:17014: /opt/psi/Programming/gcc/7.5.0/bin/g++ -E -fexceptions -fPIC -std=c++1z -I/usr/local/epics/base-7.0.6/include/ -I/usr/local/epics/base-7.0.6/include/os/Linux -I/usr/local/epics/base-7.0.6/include/compiler/gcc -I/opt/gfa/cafe/boost/boost_1_61_0/include/boost -I/opt/gfa/cafe/boost/boost_1_61_0/include -I/opt/gfa/python-3.8/latest/include/python3.8 -I/opt/gfa/python-3.8/latest/lib/python3.8/site-packages/numpy/core/include -I/opt/gfa/python-3.8/latest/include/qt -I/opt/gfa/python-3.8/latest/include/qt/QtCore -I/opt/gfa/python-3.8/latest/include/qt/QtXml conftest.cpp
configure:17014: $? = 0
configure:17014: result: yes
configure:17014: checking for qxml.h
configure:17014: result: yes
configure:18061: checking that generated files are newer than configure
configure:18067: result: done
configure:18106: creating ./config.status
## ---------------- ##
## Cache variables. ##
## ---------------- ##
ac_cv_build=x86_64-unknown-linux-gnu
ac_cv_c_compiler_gnu=yes
ac_cv_cxx_compiler_gnu=yes
ac_cv_env_CCC_set=
ac_cv_env_CCC_value=
ac_cv_env_CC_set=set
ac_cv_env_CC_value=/opt/psi/Programming/gcc/7.5.0/bin/gcc
ac_cv_env_CFLAGS_set=
ac_cv_env_CFLAGS_value=
ac_cv_env_CPPFLAGS_set=
ac_cv_env_CPPFLAGS_value=
ac_cv_env_CPP_set=
ac_cv_env_CPP_value=
ac_cv_env_CXXCPP_set=
ac_cv_env_CXXCPP_value=
ac_cv_env_CXXFLAGS_set=
ac_cv_env_CXXFLAGS_value=
ac_cv_env_CXX_set=set
ac_cv_env_CXX_value=/opt/psi/Programming/gcc/7.5.0/bin/g++
ac_cv_env_LDFLAGS_set=
ac_cv_env_LDFLAGS_value=
ac_cv_env_LIBS_set=
ac_cv_env_LIBS_value=
ac_cv_env_LT_SYS_LIBRARY_PATH_set=
ac_cv_env_LT_SYS_LIBRARY_PATH_value=
ac_cv_env_build_alias_set=
ac_cv_env_build_alias_value=
ac_cv_env_host_alias_set=
ac_cv_env_host_alias_value=
ac_cv_env_target_alias_set=
ac_cv_env_target_alias_value=
ac_cv_header_Python_h=yes
ac_cv_header_cadef_h=yes
ac_cv_header_dlfcn_h=yes
ac_cv_header_epicsTypes_h=yes
ac_cv_header_inttypes_h=yes
ac_cv_header_memory_h=yes
ac_cv_header_multi_index_container_hpp=yes
ac_cv_header_qxml_h=yes
ac_cv_header_stdc=yes
ac_cv_header_stdint_h=yes
ac_cv_header_stdlib_h=yes
ac_cv_header_string_h=yes
ac_cv_header_strings_h=yes
ac_cv_header_sys_stat_h=yes
ac_cv_header_sys_types_h=yes
ac_cv_header_unistd_h=yes
ac_cv_host=x86_64-unknown-linux-gnu
ac_cv_lib_Com_main=yes
ac_cv_lib_ca_main=yes
ac_cv_lib_dl_main=yes
ac_cv_lib_python3_8_main=yes
ac_cv_objext=o
ac_cv_path_EGREP='/usr/bin/grep -E'
ac_cv_path_FGREP='/usr/bin/grep -F'
ac_cv_path_GREP=/usr/bin/grep
ac_cv_path_SED=/usr/bin/sed
ac_cv_path_install='/usr/bin/install -c'
ac_cv_path_lt_DD=/usr/bin/dd
ac_cv_path_mkdir=/usr/bin/mkdir
ac_cv_prog_AWK=gawk
ac_cv_prog_CPP='/opt/psi/Programming/gcc/7.5.0/bin/gcc -E'
ac_cv_prog_CXXCPP='/opt/psi/Programming/gcc/7.5.0/bin/g++ -E'
ac_cv_prog_ac_ct_AR=ar
ac_cv_prog_ac_ct_CC=/opt/psi/Programming/gcc/7.5.0/bin/gcc
ac_cv_prog_ac_ct_OBJDUMP=objdump
ac_cv_prog_ac_ct_RANLIB=ranlib
ac_cv_prog_ac_ct_STRIP=strip
ac_cv_prog_cc_c89=
ac_cv_prog_cc_g=yes
ac_cv_prog_cxx_g=yes
ac_cv_prog_make_make_set=yes
am_cv_CC_dependencies_compiler_type=gcc3
am_cv_CXX_dependencies_compiler_type=gcc3
am_cv_make_support_nested_variables=yes
lt_cv_ar_at_file=@
lt_cv_archive_cmds_need_lc=no
lt_cv_deplibs_check_method=pass_all
lt_cv_file_magic_cmd='$MAGIC_CMD'
lt_cv_file_magic_test_file=
lt_cv_ld_reload_flag=-r
lt_cv_nm_interface='BSD nm'
lt_cv_objdir=.libs
lt_cv_path_LD=/usr/bin/ld
lt_cv_path_LDCXX='/usr/bin/ld -m elf_x86_64'
lt_cv_path_NM='/usr/bin/nm -B'
lt_cv_path_mainfest_tool=no
lt_cv_prog_compiler_c_o=yes
lt_cv_prog_compiler_c_o_CXX=yes
lt_cv_prog_compiler_pic='-fPIC -DPIC'
lt_cv_prog_compiler_pic_CXX='-fPIC -DPIC'
lt_cv_prog_compiler_pic_works=yes
lt_cv_prog_compiler_pic_works_CXX=yes
lt_cv_prog_compiler_rtti_exceptions=no
lt_cv_prog_compiler_static_works=no
lt_cv_prog_compiler_static_works_CXX=no
lt_cv_prog_gnu_ld=yes
lt_cv_prog_gnu_ldcxx=yes
lt_cv_sharedlib_from_linklib_cmd='printf %s\n'
lt_cv_shlibpath_overrides_runpath=no
lt_cv_sys_global_symbol_pipe='sed -n -e '\''s/^.*[ ]\([ABCDGIRSTW][ABCDGIRSTW]*\)[ ][ ]*\([_A-Za-z][_A-Za-z0-9]*\)$/\1 \2 \2/p'\'' | sed '\''/ __gnu_lto/d'\'''
lt_cv_sys_global_symbol_to_c_name_address='sed -n -e '\''s/^: \(.*\) .*$/ {"\1", (void *) 0},/p'\'' -e '\''s/^[ABCDGIRSTW][ABCDGIRSTW]* .* \(.*\)$/ {"\1", (void *) \&\1},/p'\'''
lt_cv_sys_global_symbol_to_c_name_address_lib_prefix='sed -n -e '\''s/^: \(.*\) .*$/ {"\1", (void *) 0},/p'\'' -e '\''s/^[ABCDGIRSTW][ABCDGIRSTW]* .* \(lib.*\)$/ {"\1", (void *) \&\1},/p'\'' -e '\''s/^[ABCDGIRSTW][ABCDGIRSTW]* .* \(.*\)$/ {"lib\1", (void *) \&\1},/p'\'''
lt_cv_sys_global_symbol_to_cdecl='sed -n -e '\''s/^T .* \(.*\)$/extern int \1();/p'\'' -e '\''s/^[ABCDGIRSTW][ABCDGIRSTW]* .* \(.*\)$/extern char \1;/p'\'''
lt_cv_sys_global_symbol_to_import=
lt_cv_sys_max_cmd_len=1572864
lt_cv_to_host_file_cmd=func_convert_file_noop
lt_cv_to_tool_file_cmd=func_convert_file_noop
lt_cv_truncate_bin='/usr/bin/dd bs=4096 count=1'
## ----------------- ##
## Output variables. ##
## ----------------- ##
ACLOCAL='${SHELL} /afs/psi.ch/project/cafe/gitlab/CAFE/cpp/missing aclocal-1.13'
AMDEPBACKSLASH='\'
AMDEP_FALSE='#'
AMDEP_TRUE=''
AMTAR='$${TAR-tar}'
AM_BACKSLASH='\'
AM_CPPFLAGS=' -fexceptions -fPIC -std=c++1z -I/usr/local/epics/base-7.0.6/include/ -I/usr/local/epics/base-7.0.6/include/os/Linux -I/usr/local/epics/base-7.0.6/include/compiler/gcc -I/opt/gfa/cafe/boost/boost_1_61_0/include/boost -I/opt/gfa/cafe/boost/boost_1_61_0/include -I/opt/gfa/python-3.8/latest/include/python3.8 -I/opt/gfa/python-3.8/latest/lib/python3.8/site-packages/numpy/core/include -I/opt/gfa/python-3.8/latest/include/qt -I/opt/gfa/python-3.8/latest/include/qt/QtCore -I/opt/gfa/python-3.8/latest/include/qt/QtXml'
AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)'
AM_DEFAULT_VERBOSITY='1'
AM_LDFLAGS=' -L/usr/local/epics/base-7.0.6/lib/RHEL7-x86_64 -Wl,-rpath,/usr/local/epics/base-7.0.6/lib/RHEL7-x86_64 -L/opt/gfa/python-3.8/latest/lib -Wl,-rpath,/opt/gfa/python-3.8/latest/lib -L/opt/gfa/python-3.8/latest/lib -Wl,-rpath,/opt/gfa/python-3.8/latest/lib '
AM_V='$(V)'
AR='ar'
AUTOCONF='${SHELL} /afs/psi.ch/project/cafe/gitlab/CAFE/cpp/missing autoconf'
AUTOHEADER='${SHELL} /afs/psi.ch/project/cafe/gitlab/CAFE/cpp/missing autoheader'
AUTOMAKE='${SHELL} /afs/psi.ch/project/cafe/gitlab/CAFE/cpp/missing automake-1.13'
AWK='gawk'
CAFE_CPPFLAGS='-I$(top_srcdir)/include '
CC='/opt/psi/Programming/gcc/7.5.0/bin/gcc'
CCDEPMODE='depmode=gcc3'
CFLAGS='-g -O2'
CPP='/opt/psi/Programming/gcc/7.5.0/bin/gcc -E'
CPPFLAGS=' -fexceptions -fPIC -std=c++1z -I/usr/local/epics/base-7.0.6/include/ -I/usr/local/epics/base-7.0.6/include/os/Linux -I/usr/local/epics/base-7.0.6/include/compiler/gcc -I/opt/gfa/cafe/boost/boost_1_61_0/include/boost -I/opt/gfa/cafe/boost/boost_1_61_0/include -I/opt/gfa/python-3.8/latest/include/python3.8 -I/opt/gfa/python-3.8/latest/lib/python3.8/site-packages/numpy/core/include -I/opt/gfa/python-3.8/latest/include/qt -I/opt/gfa/python-3.8/latest/include/qt/QtCore -I/opt/gfa/python-3.8/latest/include/qt/QtXml'
CXX='/opt/psi/Programming/gcc/7.5.0/bin/g++'
CXXCPP='/opt/psi/Programming/gcc/7.5.0/bin/g++ -E'
CXXDEPMODE='depmode=gcc3'
CXXFLAGS='-g -O2'
CYGPATH_W='echo'
DEFS='-DHAVE_CONFIG_H'
DEPDIR='.deps'
DLLTOOL='false'
DSYMUTIL=''
DUMPBIN=''
ECHO_C=''
ECHO_N='-n'
ECHO_T=''
EGREP='/usr/bin/grep -E'
EXEEXT=''
FGREP='/usr/bin/grep -F'
GREP='/usr/bin/grep'
HAVE_PYCAFE_EXT__FALSE='#'
HAVE_PYCAFE_EXT__TRUE=''
HAVE_PYTHON__FALSE='#'
HAVE_PYTHON__TRUE=''
HAVE_ZEROMQ__FALSE=''
HAVE_ZEROMQ__TRUE='#'
INSTALL_DATA='${INSTALL} -m 644'
INSTALL_PROGRAM='${INSTALL}'
INSTALL_SCRIPT='${INSTALL}'
INSTALL_STRIP_PROGRAM='$(install_sh) -c -s'
LD='/usr/bin/ld -m elf_x86_64'
LDFLAGS=' -L/usr/local/epics/base-7.0.6/lib/RHEL7-x86_64 -Wl,-rpath,/usr/local/epics/base-7.0.6/lib/RHEL7-x86_64 -L/opt/gfa/python-3.8/latest/lib -Wl,-rpath,/opt/gfa/python-3.8/latest/lib -L/opt/gfa/python-3.8/latest/lib -Wl,-rpath,/opt/gfa/python-3.8/latest/lib '
LIBOBJS=''
LIBS='-lpython3.8 '
LIBTOOL='$(SHELL) $(top_builddir)/libtool'
LIPO=''
LN_S='ln -s'
LTLIBOBJS=''
LT_SYS_LIBRARY_PATH=''
MAKEINFO='${SHELL} /afs/psi.ch/project/cafe/gitlab/CAFE/cpp/missing makeinfo'
MANIFEST_TOOL=':'
MKDIR_P='/usr/bin/mkdir -p'
NM='/usr/bin/nm -B'
NMEDIT=''
OBJDUMP='objdump'
OBJEXT='o'
OTOOL64=''
OTOOL=''
PACKAGE='cafe'
PACKAGE_BUGREPORT='Bug reports to: jan.chrin@psi.ch'
PACKAGE_NAME='CAFE'
PACKAGE_STRING='CAFE 1.19.0'
PACKAGE_TARNAME='cafe'
PACKAGE_URL=''
PACKAGE_VERSION='1.19.0'
PATH_SEPARATOR=':'
RANLIB='ranlib'
SED='/usr/bin/sed'
SET_MAKE=''
SHELL='/bin/sh'
STRIP='strip'
VERSION='1.19.0'
ac_ct_AR='ar'
ac_ct_CC='/opt/psi/Programming/gcc/7.5.0/bin/gcc'
ac_ct_CXX=''
ac_ct_DUMPBIN=''
am__EXEEXT_FALSE=''
am__EXEEXT_TRUE='#'
am__fastdepCC_FALSE='#'
am__fastdepCC_TRUE=''
am__fastdepCXX_FALSE='#'
am__fastdepCXX_TRUE=''
am__include='include'
am__isrc=''
am__leading_dot='.'
am__nodep='_no'
am__quote=''
am__tar='$${TAR-tar} chof - "$$tardir"'
am__untar='$${TAR-tar} xf -'
bindir='${exec_prefix}/bin'
build='x86_64-unknown-linux-gnu'
build_alias=''
build_cpu='x86_64'
build_os='linux-gnu'
build_vendor='unknown'
datadir='${datarootdir}'
datarootdir='${prefix}/share'
docdir='${datarootdir}/doc/${PACKAGE_TARNAME}'
dvidir='${docdir}'
exec_prefix='${prefix}'
host='x86_64-unknown-linux-gnu'
host_alias=''
host_cpu='x86_64'
host_os='linux-gnu'
host_vendor='unknown'
htmldir='${docdir}'
includedir='${prefix}/include'
infodir='${datarootdir}/info'
install_sh='${SHELL} /afs/psi.ch/project/cafe/gitlab/CAFE/cpp/install-sh'
libdir='/opt/gfa/cafe/cpp/cafe-1.19.0-py38-gcc-7.5.0/lib/RHEL7-x86_64'
libexecdir='${exec_prefix}/libexec'
localedir='${datarootdir}/locale'
localstatedir='${prefix}/var'
mandir='${datarootdir}/man'
mkdir_p='$(MKDIR_P)'
oldincludedir='/usr/include'
pdfdir='${docdir}'
prefix='/opt/gfa/cafe/cpp/cafe-1.19.0-py38-gcc-7.5.0'
program_transform_name='s,x,x,'
psdir='${docdir}'
sbindir='${exec_prefix}/sbin'
sharedstatedir='${prefix}/com'
sysconfdir='${prefix}/etc'
target_alias=''
## ----------- ##
## confdefs.h. ##
## ----------- ##
/* confdefs.h */
#define PACKAGE_NAME "CAFE"
#define PACKAGE_TARNAME "cafe"
#define PACKAGE_VERSION "1.19.0"
#define PACKAGE_STRING "CAFE 1.19.0"
#define PACKAGE_BUGREPORT "Bug reports to: jan.chrin@psi.ch"
#define PACKAGE_URL ""
#define PACKAGE "cafe"
#define VERSION "1.19.0"
#define STDC_HEADERS 1
#define HAVE_SYS_TYPES_H 1
#define HAVE_SYS_STAT_H 1
#define HAVE_STDLIB_H 1
#define HAVE_STRING_H 1
#define HAVE_MEMORY_H 1
#define HAVE_STRINGS_H 1
#define HAVE_INTTYPES_H 1
#define HAVE_STDINT_H 1
#define HAVE_UNISTD_H 1
#define HAVE_DLFCN_H 1
#define LT_OBJDIR ".libs/"
#define HAVE_LINUX 1
#define HAVE_CADEF_H 1
#define HAVE_EPICSTYPES_H 1
#define HAVE_EPICS 7.4.1
#define EPICS_MAJOR 7
#define EPICS_MINOR 4
#define EPICS_PATCH 1
#define HAVE_MULTI_INDEX_CONTAINER_HPP 1
#define HAVE_BOOST 1
#define HAVE_PYTHON_H 1
#define HAVE_LIBPYTHON3_8 1
#define HAVE_PYTHON 1
#define HAVE_PYCAFE_EXT 1
#define HAVE_QXML_H 1
#define HAVE_QT 1
#define HAVE_LIBQTXML 1
#define QT_NO_VERSION_TAGGING 1
configure: exit 0
## ---------------------- ##
## Running config.status. ##
## ---------------------- ##
This file was extended by CAFE config.status 1.19.0, which was
generated by GNU Autoconf 2.69. Invocation command line was
CONFIG_FILES =
CONFIG_HEADERS =
CONFIG_LINKS =
CONFIG_COMMANDS =
$ ./config.status
on gfa-lc7.psi.ch
config.status:1182: creating makefile
config.status:1182: creating src/makefile
config.status:1182: creating include/makefile
config.status:1182: creating ./include/config.h
config.status:1363: ./include/config.h is unchanged
config.status:1411: executing depfiles commands
config.status:1411: executing libtool commands
## ---------------------- ##
## Running config.status. ##
## ---------------------- ##
This file was extended by CAFE config.status 1.19.0, which was
generated by GNU Autoconf 2.69. Invocation command line was
CONFIG_FILES =
CONFIG_HEADERS =
CONFIG_LINKS =
CONFIG_COMMANDS =
$ ./config.status ./include/config.h
on gfa-lc7.psi.ch
config.status:1182: creating ./include/config.h
config.status:1363: ./include/config.h is unchanged

2226
config.status Executable file

File diff suppressed because it is too large Load Diff

1788
config.sub vendored Executable file

File diff suppressed because it is too large Load Diff

1191
configure.ac-Mar10 Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -8,8 +8,8 @@
# Standard macros
AC_PREREQ(2.63)
AC_COPYRIGHT([CAFE,Jan Chrin, 2010-2021])
AC_INIT([CAFE], [1.14.4], [Bug reports to: jan.chrin@psi.ch])
AC_COPYRIGHT([CAFE, Jan Chrin, PSI, 2010-2023])
AC_INIT([CAFE], [1.19.0], [Bug reports to: jan.chrin@psi.ch])
AC_CONFIG_AUX_DIR(./)
@@ -166,6 +166,8 @@ if test x$HAVE_EPICS == xtrue; then
CPPFLAGS=${CPPFLAGS}" "${EPICS_INCL_PATH}
TEMP_LDFLAGS=${LDFLAGS}
LDFLAGS=${LDFLAGS}" -L"${EPICS_LIB_PATH}" -Wl,-rpath,"${EPICS_LIB_PATH}
#LDFLAGS=${LDFLAGS}" -L/opt/psi/Programming/gcc/7.3.0/lib64 -Wl,-rpath,/opt/psi/Programming/gcc/7.3.0/lib64"
#LDFLAGS=${LDFLAGS}" -L/opt/psi/Programming/gcc/7.3.0/lib -Wl,-rpath,/opt/psi/Programming/gcc/7.3.0/lib"
fi
if test x$HAVE_EPICS == xtrue ; then
@@ -363,6 +365,31 @@ PYTHON_OPTION=""
##-- Python 3.5/3.7 -- path and options
##-- Python header files required for callbacks
AC_ARG_ENABLE(
[python34],
AC_HELP_STRING([--enable-python34],
[enable python use [default=no]]),
[HAVE_PYTHON_=true
HAVE_PY34_=true]
)
if test x$HAVE_PY34_ == xtrue ; then
AC_ARG_WITH(
python34,
AC_HELP_STRING(
[--with-python34 = location of python],
[prefix giving the python base directory]),
[#HAVE_PYTHON_=true
PYTHON_PREFIX=$withval
PYTHON_INCL_PATH="-I"${PYTHON_PREFIX}/include/python3.4m
PYTHON_INCL_PATH=${PYTHON_INCL_PATH}" -I"${PYTHON_PREFIX}\
"/lib/python3.4/site-packages/numpy/core/include"
PYTHON_LIB_PATH=${PYTHON_PREFIX}"/lib"
]
)
fi
AC_ARG_ENABLE(
[python35],
@@ -394,7 +421,8 @@ AC_ARG_ENABLE(
[enable python use [default=no]]),
[HAVE_PYTHON_=true
HAVE_PY37_=true
HAVE_PY35_=false]
HAVE_PY35_=false
HAVE_PY34_=false]
)
if test x$HAVE_PY37_ == xtrue ; then
@@ -412,6 +440,65 @@ if test x$HAVE_PY37_ == xtrue ; then
]
)
fi
AC_ARG_ENABLE(
[python38],
AC_HELP_STRING([--enable-python38],
[enable python use [default=no]]),
[HAVE_PYTHON_=true
HAVE_PY38_=true
HAVE_PY37_=false
HAVE_PY35_=false
HAVE_PY34_=false]
)
if test x$HAVE_PY38_ == xtrue ; then
AC_ARG_WITH(
python38,
AC_HELP_STRING(
[--with-python38 = location of python],
[prefix giving the python base directory]),
[#HAVE_PYTHON_=true
PYTHON_PREFIX=$withval
PYTHON_INCL_PATH="-I"${PYTHON_PREFIX}/include/python3.8
PYTHON_INCL_PATH=${PYTHON_INCL_PATH}" -I"${PYTHON_PREFIX}\
"/lib/python3.8/site-packages/numpy/core/include"
PYTHON_LIB_PATH=${PYTHON_PREFIX}"/lib"
]
)
fi
AC_ARG_ENABLE(
[python310],
AC_HELP_STRING([--enable-python310],
[enable python use [default=no]]),
[HAVE_PYTHON_=true
HAVE_PY310_=true
HAVE_PY38_=false
HAVE_PY37_=false
HAVE_PY35_=false
HAVE_PY34_=false]
)
if test x$HAVE_PY310_ == xtrue ; then
AC_ARG_WITH(
python310,
AC_HELP_STRING(
[--with-python310 = location of python],
[prefix giving the python base directory]),
[#HAVE_PYTHON_=true
PYTHON_PREFIX=$withval
PYTHON_INCL_PATH="-I"${PYTHON_PREFIX}/include/python3.10
PYTHON_INCL_PATH=${PYTHON_INCL_PATH}" -I"${PYTHON_PREFIX}\
"/lib/python3.10/site-packages/numpy/core/include"
PYTHON_LIB_PATH=${PYTHON_PREFIX}"/lib"
]
)
fi
##
##---------------------------------------------------------------------------
@@ -450,6 +537,23 @@ if test x$HAVE_PYTHON_ == xtrue ; then
[])
#fi
if test x$HAVE_PY310_ == xtrue ; then
AC_CHECK_LIB(python3.10,[main], [],
[HAVE_PYTHON_=false
AC_MSG_WARN(libpython3.10 not found!)]
)
fi
if test x$HAVE_PY38_ == xtrue ; then
AC_CHECK_LIB(python3.8,[main], [],
[HAVE_PYTHON_=false
AC_MSG_WARN(libpython3.8 not found!)]
)
fi
if test x$HAVE_PY37_ == xtrue ; then
AC_CHECK_LIB(python3.7m,[main], [],
@@ -466,6 +570,16 @@ if test x$HAVE_PYTHON_ == xtrue ; then
)
fi
if test x$HAVE_PY34_ == xtrue ; then
AC_CHECK_LIB(python3.4m,[main], [],
[HAVE_PYTHON_=false
AC_MSG_WARN(libpython3.4m not found!)]
)
fi
# If all checks are OK we add Qt version 4 to the FLAGS.
if test x$HAVE_PYTHON_ != xtrue ; then
@@ -488,7 +602,7 @@ fi
AC_LANG_POP
##
##-- end Python 3.7 -- check header files and library
##-- end Python 3.7(3.8 -- check header files and library
##-----------------------------
@@ -538,7 +652,7 @@ AC_ARG_ENABLE(
HAVE_QT_4_=false]
)
#Only if enable flag is set
if test x$HAVE_QT_5_ == xtrue ; then
@@ -556,7 +670,101 @@ if test x$HAVE_QT_5_ == xtrue ; then
]
)
fi
AC_ARG_ENABLE(
[qt5py38],
AC_HELP_STRING([--enable-qt5py38],
[enable Qt version 5 use [default=no]]),
[HAVE_QT_=true
HAVE_QT_5py38_=true
HAVE_QT_5_=false
HAVE_QT_4_=false]
)
#Only if enable flag is set
if test x$HAVE_QT_5py38_ == xtrue ; then
AC_ARG_WITH(
qt5py38,
AC_HELP_STRING([--with-qt5py38=PREFIX],
[prefix, parent directory where the Qt version 5 library is installed]),
[#HAVE_QT_=true
QT_PREFIX=$withval
QT_INCL_BASE=" -I"${QT_PREFIX}"/include/qt"
QT_INCL_PATH=${QT_INCL_BASE}
QT_INCL_PATH=${QT_INCL_PATH}" "${QT_INCL_BASE}"/QtCore"
QT_INCL_PATH=${QT_INCL_PATH}" "${QT_INCL_BASE}"/QtXml"
QT_LIB_PATH=${QT_PREFIX}"/lib "
]
)
fi
AC_ARG_ENABLE(
[qt5py310],
AC_HELP_STRING([--enable-qt5py310],
[enable Qt version 5 use [default=no]]),
[HAVE_QT_=true
HAVE_QT_5py310_=true
HAVE_QT_5py38_=false
HAVE_QT_5_=false
HAVE_QT_4_=false]
)
#Only if enable flag is set
if test x$HAVE_QT_5py310_ == xtrue ; then
AC_ARG_WITH(
qt5py310,
AC_HELP_STRING([--with-qt5py310=PREFIX],
[prefix, parent directory where the Qt version 5 library is installed]),
[#HAVE_QT_=true
QT_PREFIX=$withval
QT_INCL_BASE=" -I"${QT_PREFIX}"/include/qt"
QT_INCL_PATH=${QT_INCL_BASE}
QT_INCL_PATH=${QT_INCL_PATH}" "${QT_INCL_BASE}"/QtCore"
QT_INCL_PATH=${QT_INCL_PATH}" "${QT_INCL_BASE}"/QtXml"
QT_LIB_PATH=${QT_PREFIX}"/lib "
]
)
fi
AC_ARG_ENABLE(
[qt4py34],
AC_HELP_STRING([--enable-qt4py34],
[enable Qt version 4 use [default=no]]),
[HAVE_QT_=true
HAVE_QT_4py34_=true
HAVE_QT_5py310_=false
HAVE_QT_5py38_=false
HAVE_QT_5_=false
HAVE_QT_4_=false]
)
#Only if enable flag is set
if test x$HAVE_QT_4py34_ == xtrue ; then
AC_ARG_WITH(
qt4py34,
AC_HELP_STRING([--with-qt4py34=PREFIX],
[prefix, parent directory where the Qt version 4 library is installed]),
[#HAVE_QT_=true
QT_PREFIX=$withval
QT_INCL_BASE=" -I"${QT_PREFIX}"/include"
QT_INCL_PATH=${QT_INCL_BASE}
QT_INCL_PATH=${QT_INCL_PATH}" "${QT_INCL_BASE}"/QtCore"
QT_INCL_PATH=${QT_INCL_PATH}" "${QT_INCL_BASE}"/QtXml"
QT_LIB_PATH=${QT_PREFIX}"/lib "
]
)
fi
##
##---------------------------------------------------------------------------
@@ -616,6 +824,8 @@ if test x$HAVE_QT_ == xtrue ; then
fi
# If all checks are OK we add Qt version 5 to the FLAGS.
if test x$HAVE_QT_ != xtrue ; then
if test x"${QT_PREFIX}" != x"" ; then

1052
configurePSI.ac- Normal file

File diff suppressed because it is too large Load Diff

1118
configurePSI.ac-- Normal file

File diff suppressed because it is too large Load Diff

1191
configurePSI.ac-Mar10 Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,3 @@

Binary file not shown.

Binary file not shown.

BIN
examples/cafeTest/cafeTest-- Executable file

Binary file not shown.

View File

@@ -2,7 +2,6 @@
// A simple example
//
#include <cafe.h>
#include "callbacks.h" //ca callback funtions
// Test with 6 PVS
@@ -64,7 +63,14 @@ int main( int argc, char *argv[] )
//Instantaite CAFE
CAFE * cafe = new CAFE();
//PVCtrlHolder pvcd;
//dbr_string_t str_out;
//cafe->open("SF-OP:CR-MSG:OP-MSG1.DESC", handle);
//cafe->open("ARIDI-BPM:OFB-YRMS", handle);
//status = cafe->getCtrl("ARIDI-BPM:OFB-YRMS", pvcd);
//pvcd.print();
//cout << "status " << status << " value " << str_out << endl;
//exit(1);
//------------------------------------------------------------
//(1) Establishing connections to EPICS Process Variables (PVs)
@@ -1118,7 +1124,7 @@ int main( int argc, char *argv[] )
MonitorPolicy mp, mp2;
mp.setUserArgs((void *) pvArray[0].c_str());
mp.setHandler(callbackHandlerMonitor);
mp.setHandler(callbackHandlerMoqnitor);
mp.setCafeDbrType(CAFENUM::DBR_TIME);
mp.setDataType(DBR_STS_FLOAT); //THis will overwrite DBR_TIME above
mp.setMask(DBE_VALUE | DBE_LOG | DBE_ALARM);

View File

@@ -7,7 +7,7 @@
#CAFE version to link to
CAFE_VERSION=cafe-1.14.1-gcc-7.3.0
CAFE_VERSION=cafe-1.14.4-gcc-7.3.0
#PYTHON_INCLUDE=/opt/gfa/python-3.5/latest/include/python3.5m
#PYTHON_LIB=/opt/gfa/python-3.5/latest/lib
@@ -19,7 +19,6 @@ CAFE_BASE=/opt/gfa/cafe
CAFE_CPP_BASE=${CAFE_BASE}/cpp
BOOST_BASE=${CAFE_BASE}/boost/boost_1_61_0/include
INCLUDE_PATH += -I$(CAFE_CPP_BASE)/$(CAFE_VERSION)/include \
@@ -32,7 +31,9 @@ LIB_DIR += -L$(EPICS_BASE)/lib/${EPICS_HOST_ARCH} \
-L$(CAFE_CPP_BASE)/$(CAFE_VERSION)/lib/${EPICS_HOST_ARCH} \
-Wl,-rpath,$(CAFE_CPP_BASE)/$(CAFE_VERSION)/lib/${EPICS_HOST_ARCH} \
-L/opt/gfa/python-3.7/latest/lib \
-Wl,-rpath,/opt/gfa/python-3.7/latest/lib
-Wl,-rpath,/opt/gfa/python-3.7/latest/lib \
-L/opt/psi/Programming/gcc/10.3.0/lib64 \
-Wl,-rpath,/opt/psi/Programming/gcc/10.3.0/lib64
LIBS += -lcafe -lca -lCom -lQt5Core

View File

@@ -0,0 +1,52 @@
#
# Jan Chrin
# June 2016
#
# Makefile to build a simple C++ cafe client
#
#-py37- libcafe.so: undefined reference to `cy_event_handler_wrapper
#CAFE version to link to
#CAFE_VERSION=cafe-1.14.4-sls2-gcc-7.3.0
#CAFE_VERSION=cafe-1.15.0-py37-gcc-10.3.0
CAFE_VERSION=cafe-1.15.0-gcc-10.3.0
PYTHON_INCLUDE=/opt/gfa/python-3.7/latest/include/python3.7m
PYTHON_LIB=/opt/gfa/python-3.7/latest/lib
EPICS_BASE=${EPICS}/base-7.0.6
#CAFE project base
CAFE_BASE=/opt/gfa/cafe
CAFE_CPP_BASE=${CAFE_BASE}/cpp
BOOST_BASE=${CAFE_BASE}/boost/boost_1_61_0/include
INCLUDE_PATH += -I$(CAFE_CPP_BASE)/$(CAFE_VERSION)/include \
-I$(EPICS_BASE)/include -I$(EPICS_BASE)/include/compiler/gcc \
-I$(EPICS_BASE)/include/os/Linux \
-I$(BOOST_BASE) -I${PYTHON_INCLUDE}
#-I$(BOOST_BASE)/boost
LIB_DIR += -L$(EPICS_BASE)/lib/${EPICS_HOST_ARCH} \
-Wl,-rpath,$(EPICS_BASE)/lib/${EPICS_HOST_ARCH} \
-L$(CAFE_CPP_BASE)/$(CAFE_VERSION)/lib/${EPICS_HOST_ARCH} \
-Wl,-rpath,$(CAFE_CPP_BASE)/$(CAFE_VERSION)/lib/${EPICS_HOST_ARCH} \
-L/opt/psi/Programming/gcc/10.3.0/lib64 -Wl,-rpath,/opt/psi/Programming/gcc/10.3.0/lib64 \
-L$(PYTHON_LIB) -Wl,-rpath,$(PYTHON_LIB)
LIBS += -lcafe -lca -lCom -lQt5Core -lpython3.7m
${EPICS_HOST_ARCH}/monitorTest: monitorTest.cc
g++ monitorTest.cc -o ${EPICS_HOST_ARCH}/monitorTest \
$(INCLUDE_PATH) $(LIB_DIR) $(LIBS)
cafeTest: cafeTest.cc callbacks.h
g++ cafeTest.cc -o cafeTest \
$(INCLUDE_PATH) $(LIB_DIR) $(LIBS)
clean:
rm -f cafeTest.o cafeTest

View File

@@ -1,22 +1,26 @@
INCLUDES = -Ic:\CAFE\CAFE\cpp\include -Ic:\CAFE\CAFE\cpp -Ic:\local\boost_1_62_0 \
-Ic:\local\boost_1_62_0\boost -Ic:\epics\base-3.14.12.5\include -Ic:\epics\base-3.14.12.5\include\os\WIN32 \
-Ic:\Qt\4.8.4\include
INCLUDES = -Ic:\EPICS\CAFE\cpp\include -Ic:\EPICS\CAFE\cpp -Ic:\EPICS\boost_1_81_0 \
-Ic:\EPICS\boost_1_81_0\boost -IC:\epics\epics-base\include -IC:\epics\epics-base\include\os\WIN32 \
-Ic:\EPICS\epics-base\include\compiler\msvc \
#-Ic:\Qt\4.8.4\include
CXX=cl
CXXFLAGS = /W4 /EHsc
OUTPUT_OPTION = /o $@
LIB_LOCAL = C:\epics\base-3.14.12.5\lib\windows-x64\Com.lib C:\epics\base-3.14.12.5\lib\windows-x64\ca.lib \
C:\CAFE\CAFE\cpp\cafe.lib \
C:\local\boost_1_62_0\lib64-msvc-10.0\libboost_thread-vc100-mt-s-1_62.lib \
C:\local\boost_1_62_0\lib64-msvc-10.0\libboost_system-vc100-mt-s-1_62.lib \
C:\local\boost_1_62_0\lib64-msvc-10.0\libboost_date_time-vc100-mt-s-1_62.lib \
C:\local\boost_1_62_0\lib64-msvc-10.0\libboost_chrono-vc100-mt-s-1_62.lib \
C:\Qt\4.8.4\lib\QtCore4.lib C:\Qt\4.8.4\lib\QtXml4.lib
CXXFLAGS = -DUSE_TYPED_RSET -EHsc -nologo -FC -D__STDC__=0 -D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE -Ox -GL -Oy- -W3 -MD -DEPICS_BUILD_DLL -DEPICS_CALL_DLL -c
OUTPUT_OPTION = /Fo"$@"
LIB_LOCAL = C:\epics\epics-base\lib\win32-x86\Com.lib C:\epics\epics-base\lib\win32-x86\ca.lib \
C:\EPICS\CAFE\cpp\cafe.lib \
C:\EPICS\boost_1_81_0\stage\lib\\libboost_thread-vc142-mt-x32-1_81.lib \
C:\EPICS\boost_1_81_0\stage\lib\\libboost_system-vc142-mt-x32-1_81.lib \
C:\EPICS\boost_1_81_0\stage\lib\\libboost_date_time-vc142-mt-x32-1_81.lib \
C:\EPICS\boost_1_81_0\stage\lib\\libboost_chrono-vc142-mt-x32-1_81.lib \
# C:\Qt\4.8.4\lib\QtCore4.lib C:\Qt\4.8.4\lib\QtXml4.lib
cafeTest: cafeTest.obj
$(CXX) cafeTest.obj $(LIB_LOCAL)
link -nologo -LTCG -incremental:no -opt:ref -release cafeTest.obj $(LIB_LOCAL)
cafeTest.obj: cafeTest.cpp
$(CXX) $(CXXFLAGS) $(INCLUDES) /c cafeTest.cpp
cafeTest.obj: cafeTest.cc
$(CXX) $(CXXFLAGS) $(INCLUDES) cafeTest.cc
clean:
del *.obj
#"C:\Program Files (x86)\GnuWin32\bin\make"

View File

@@ -0,0 +1,23 @@
INCLUDES = -Ic:\CAFE\CAFE\cpp\include -Ic:\CAFE\CAFE\cpp -Ic:\local\boost_1_62_0 \
-Ic:\local\boost_1_62_0\boost -Ic:\epics\base-3.14.12.5\include -Ic:\epics\base-3.14.12.5\include\os\WIN32 \
-Ic:\Qt\4.8.4\include
CXX=cl
CXXFLAGS = /W4 /EHsc
OUTPUT_OPTION = /o $@
LIB_LOCAL = C:\epics\base-3.14.12.5\lib\windows-x64\Com.lib C:\epics\base-3.14.12.5\lib\windows-x64\ca.lib \
C:\CAFE\CAFE\cpp\cafe.lib \
C:\local\boost_1_62_0\lib64-msvc-10.0\libboost_thread-vc100-mt-s-1_62.lib \
C:\local\boost_1_62_0\lib64-msvc-10.0\libboost_system-vc100-mt-s-1_62.lib \
C:\local\boost_1_62_0\lib64-msvc-10.0\libboost_date_time-vc100-mt-s-1_62.lib \
C:\local\boost_1_62_0\lib64-msvc-10.0\libboost_chrono-vc100-mt-s-1_62.lib \
C:\Qt\4.8.4\lib\QtCore4.lib C:\Qt\4.8.4\lib\QtXml4.lib
cafeTest: cafeTest.obj
$(CXX) cafeTest.obj $(LIB_LOCAL)
cafeTest.obj: cafeTest.cpp
$(CXX) $(CXXFLAGS) $(INCLUDES) /c cafeTest.cpp
#"C:\Program Files (x86)\GnuWin32\bin\make"

View File

@@ -9,7 +9,7 @@
#CAFE version to link to
CAFE_VERSION=pyzcafe-1.12.5-gcc-7.3.0
CAFE_VERSION=cafe-1.15.0-gcc-7.3.0
PYTHON_INCLUDE=/opt/gfa/python-3.7/latest/include/python3.7m
PYTHON_LIB=/opt/gfa/python-3.7/latest/lib

BIN
examples/cafeTest/monitorTest Executable file

Binary file not shown.

View File

@@ -0,0 +1,293 @@
//
// A simple example
//
#include <cafe.h>
#include <fcntl.h>
/* Green States */
#define FEEDBACK_OFF 0
#define READY_FOR_EVENT 1
#define CHECKING_TUNE 2
#define RAMPING_UP 3
#define RAMPING_DOWN 4
#define TUNE_OK 5
#define IPCT_BELOW_THRESHOLD 6
/* Yellow States */
#define NO_TUNE_VALUE 7
#define BAD_TUNE_VALUE 8
/* Red States */
#define CHANNELS_DISCONNECTED 9
#define ZERO_NOMINAL_TUNE 10
#define ZERO_DQ_MINIMUM 11
#define EMERGENCY_OFF 12
/* Define Anti_States with underscore*/
/* Green States */
#define _FEEDBACK_ON 100
#define _IPCT_ABOVE_THRESHOLD 106
/* Red State */
#define _CHANNELS_CONNECTED 109
#define _NON_ZERO_NOMINAL_TUNE 110
#define _NON_ZERO_DQ_MINIMUM 111
void callbackHandlerMonitor( struct event_handler_args args) {
#define __METHOD__ "callbackHandlerMonitor"
if (args.status != ECA_NORMAL) {
std::cout << __FILE__ << "//" << __LINE__ << "//" << __METHOD__ << std::endl;
std::cout << "Status=" << args.status << " for channel " << ca_name (args.chid) << std::endl;
//return;
//}
unsigned int _handle = (unsigned long) ca_puser(args.chid);// args.usr; // ca_puser(args.chid);
cafeConduit_set_by_handle & handle_index = cs.get<by_handle> ();
cafeConduit_set_by_handle::iterator it_handle;
it_handle = handle_index.find((unsigned int)_handle);
if (it_handle != handle_index.end()) {
//std::cout << (*it_handle).getPV() << " " << (*it_handle).getHandle() << std::endl;
if(MUTEX){cafeMutex.lock();}
handle_index.modify(it_handle, change_eventHandlerArgs (args));
if(MUTEX){cafeMutex.unlock();}
//**** ADD USER CODE HERE ***//
if (args.type < DBR_GR_STRING) {
PVDataHolder pvd(args.count);
(*it_handle).getPVDataHolder(pvd);
pvd.print();
//std::cout << "val/D//= " << pvd.getAsString(0) << std::endl;
}
else if (args.type < DBR_PUT_ACKT) {
PVCtrlHolder pvc(args.count);
(*it_handle).getPVCtrlHolder(pvc);
pvc.print();
//std::cout << "val/C/= " << pvc.getAsString(0) << std::endl;
}
//**** END USER CODE ***//
}
else {
std::cout << __FILE__ << "/" << __LINE__ << "/" << __METHOD__ << std::endl;
std::cout << " Internal CAFE ERROR! Unknown Handle! handle=" << _handle << std::endl;
}
}
return;
#undef __METHOD__
};
#define NHANDLES 40
#define ALLHANDLES 72*4
int main( int argc, char *argv[] )
{
using namespace std;
int poutFlag = 0;
char message[40];
char s[40];
sprintf(message," OUTPUT FLAG == %d \n", poutFlag);
time_t nowJCrhcp=time(NULL);
char * theTime=ctime(&nowJCrhcp);
strftime(s,36,"/tmp/QX_%Y_%m_%d_%H:%M:%S",localtime(&nowJCrhcp));
char * pmac = s;
cout << s << " " << theTime << endl;
cout << pmac << endl;
open(pmac, O_WRONLY | O_CREAT, 0777);
FILE * ofpJCrhcp = fopen(pmac, "w");
fprintf(ofpJCrhcp, "%s%s: STARTING Q_CHECK SEQUENCER \n", theTime, "QX");
fclose(ofpJCrhcp);
char theMessage[40];
strcpy(theMessage, "FEEDBACK ON\n");
time_t now=time(NULL);
theTime=ctime(&now);
FILE * ofp = fopen(pmac, "a");
fprintf(ofp, "%s%s: %s",theTime, "QX", theMessage);
fclose(ofp);
int code = READY_FOR_EVENT;
switch(code) {
case FEEDBACK_OFF:
strcpy(theMessage, "FEEDBACK OFF\n");
break;
case _FEEDBACK_ON:
strcpy(theMessage, "FEEDBACK ON\n");
break;
case READY_FOR_EVENT:
strcpy(theMessage, "READY FOR EVENT\n");
break;
case RAMPING_UP:
strcpy(theMessage, "RAMPING UP\n");
break;
case RAMPING_DOWN:
strcpy(theMessage, "RAMPING DOWN\n");
break;
case TUNE_OK:
strcpy(theMessage, "TUNE OK\n");
break;
case IPCT_BELOW_THRESHOLD:
strcpy(theMessage, "IPCT BELOW THRESHOLD\n");
break;
case _IPCT_ABOVE_THRESHOLD:
strcpy(theMessage, "IPCT ABOVE THRESHOLD\n");
break;
case NO_TUNE_VALUE:
strcpy(theMessage, "NO TUNE VALUE\n");
break;
case BAD_TUNE_VALUE:
strcpy(theMessage, "BAD TUNE VALUE: OUTSIDE ALLOWED RANGE\n");
break;
case CHANNELS_DISCONNECTED:
strcpy(theMessage, "CHANNEL DISCONNECTED\n");
break;
case ZERO_NOMINAL_TUNE:
strcpy(theMessage, "ZERO NOMINAL TUNE\n");
break;
case _NON_ZERO_NOMINAL_TUNE:
strcpy(theMessage, "NOMINAL TUNE NOW NON-ZERO\n");
break;
case ZERO_DQ_MINIMUM:
strcpy(theMessage, "ZERO DQ MINIMUM\n");
break;
case _NON_ZERO_DQ_MINIMUM:
strcpy(theMessage, "DQ MINIMUM NOW NON-ZERO\n");
break;
case EMERGENCY_OFF:
strcpy(theMessage, "RAMPING DOWN\n");
break;
case _CHANNELS_CONNECTED:
strcpy(theMessage, "CHANNELS CONNECTED\n");
break;
}
now=time(NULL);
theTime=ctime(&now);
ofp = fopen(pmac, "a");
fprintf(ofp, "%s%s: %s",theTime, "QX", theMessage);
fclose(ofp);
unsigned int hArray [NHANDLES];
string pvArray[NHANDLES]= {
"ARIDI-BPM-03SD:X-AVG", "ARIDI-BPM-03SD:Y-AVG", "ARIDI-BPM-03SD:INT-AVG", "ARIDI-BPM-03SD:GET-ENABLE",
"ARIDI-BPM-06SB:X-AVG", "ARIDI-BPM-06SB:Y-AVG", "ARIDI-BPM-06SB:INT-AVG", "ARIDI-BPM-06SB:GET-ENABLE",
"ARIDI-BPM-11MB:X-AVG", "ARIDI-BPM-11MB:Y-AVG", "ARIDI-BPM-11MB:INT-AVG", "ARIDI-BPM-11MB:GET-ENABLE",
"ARIDI-BPM-09LB:X-AVG", "ARIDI-BPM-09LB:Y-AVG", "ARIDI-BPM-09LB:INT-AVG", "ARIDI-BPM-09LB:GET-ENABLE",
"ARIDI-BPM-11SB:X-AVG", "ARIDI-BPM-11SB:Y-AVG", "ARIDI-BPM-11SB:INT-AVG", "ARIDI-BPM-11SB:GET-ENABLE",
"ARIDI-BPM-10SB:X-AVG", "ARIDI-BPM-10SB:Y-AVG", "ARIDI-BPM-10SB:INT-AVG", "ARIDI-BPM-10SB:GET-ENABLE",
"ARIDI-BPM-04LD:X-AVG", "ARIDI-BPM-04LB:Y-AVG", "ARIDI-BPM-04LD:INT-AVG", "ARIDI-BPM-04LB:GET-ENABLE",
"ARIDI-BPM-09LD:X-AVG", "ARIDI-BPM-09LD:Y-AVG", "ARIDI-BPM-09LD:INT-AVG", "ARIDI-BPM-09LD:GET-ENABLE",
"ARIDI-BPM-05SE:X-AVG", "ARIDI-BPM-05SE:Y-AVG", "ARIDI-BPM-05SE:INT-AVG", "ARIDI-BPM-05SE:GET-ENABLE",
"ARIDI-BPM-09SD:X-AVG", "ARIDI-BPM-09SD:Y-AVG", "ARIDI-BPM-09SD:INT-AVG", "ARIDI-BPM-09SD:GET-ENABLE"
};
char bpmList[73][18]= {"ARIDI-BPM-01LB" , "ARIDI-BPM-01LE" , "ARIDI-BPM-01LD" , "ARIDI-BPM-01SD" , "ARIDI-BPM-01SE" , "ARIDI-BPM-01SB" , "ARIDI-BPM-02SB" , "ARIDI-BPM-02SE" , "ARIDI-BPM-02SD" , "ARIDI-BPM-02MD" , "ARIDI-BPM-02ME" , "ARIDI-BPM-02MB" , "ARIDI-BPM-03MB" , "ARIDI-BPM-03ME" , "ARIDI-BPM-03MD" , "ARIDI-BPM-03SD" , "ARIDI-BPM-03SE" , "ARIDI-BPM-03SB" , "ARIDI-BPM-04SB" , "ARIDI-BPM-04SE" , "ARIDI-BPM-04SD" , "ARIDI-BPM-04LD" , "ARIDI-BPM-04LE" , "ARIDI-BPM-04LB" , "ARIDI-BPM-05LB" , "ARIDI-BPM-05LE" , "ARIDI-BPM-05LD" , "ARIDI-BPM-05SD" , "ARIDI-BPM-05SE" , "ARIDI-BPM-05SB" , "ARIDI-BPM-06SB" , "ARIDI-BPM-06SE" , "ARIDI-BPM-06SD" , "ARIDI-BPM-06MD" , "ARIDI-BPM-06ME" , "ARIDI-BPM-06MB" , "ARIDI-BPM-07MB" , "ARIDI-BPM-07ME" , "ARIDI-BPM-07MD" , "ARIDI-BPM-07SD" , "ARIDI-BPM-07SE" , "ARIDI-BPM-07SB" , "ARIDI-BPM-08SB" , "ARIDI-BPM-08SE" , "ARIDI-BPM-08SD" , "ARIDI-BPM-08LD" , "ARIDI-BPM-08LE" , "ARIDI-BPM-08LB" , "ARIDI-BPM-09LB" , "ARIDI-BPM-09LE" , "ARIDI-BPM-09LD" , "ARIDI-BPM-09SD" , "ARIDI-BPM-09SE" , "ARIDI-BPM-09SB" , "ARIDI-BPM-10SB" , "ARIDI-BPM-10SE" , "ARIDI-BPM-10SD" , "ARIDI-BPM-10MD" , "ARIDI-BPM-10ME" , "ARIDI-BPM-10MB" , "ARIDI-BPM-11MB" , "ARIDI-BPM-11ME" , "ARIDI-BPM-11MD" , "ARIDI-BPM-11SD" , "ARIDI-BPM-11SE" , "ARIDI-BPM-11SB" , "ARIDI-BPM-12SB" , "ARIDI-BPM-12SE" , "ARIDI-BPM-12SD" , "ARIDI-BPM-12LD" , "ARIDI-BPM-12LE" , "ARIDI-BPM-12LB" , "ARIDI-BPM-MP" };
string dev, att[4], devAtt;
int bpmRingMax=73;
att[1]="X-AVG"; att[2]="Y-AVG"; att[0]="INT-AVG"; att[3]="GET-ENABLE";
vector<string> pvArrayString;
pvArrayString.reserve(72*4);
vector<unsigned int> hArrayString;
hArrayString.reserve(72*4);
int ij=0;
for (int i=0; i<bpmRingMax-1 ; ++i) { // max 72
dev=bpmList[i];
for (int j=0; j<4; ++j) {
devAtt = dev +":" + att[j];
pvArrayString.push_back(devAtt);
}
}
//Instantaite CAFE
CAFE * cafe = new CAFE();
cafe->openPrepare();
cafe->open(pvArrayString, hArrayString); //, ALLHANDLES);
cafe->openNowAndWait(4);
MonitorPolicy mp[ALLHANDLES];
for (int i=0; i<ALLHANDLES; ++i) {
mp[i].setUserArgs((void *) pvArrayString[i].c_str());
mp[i].setHandler(callbackHandlerMonitor);
mp[i].setCafeDbrType(CAFENUM::DBR_TIME);
mp[i].setMask(DBE_VALUE | DBE_LOG | DBE_ALARM);
}
for (int i=0; i<ALLHANDLES; ++i) {
cafe->monitorStart(hArrayString[i], mp[i]);
cout << pvArrayString[i] << endl;
}
cafe->printDisconnectedHandles();
while (true) {
//for (int i=0; i<100; ++i) {
usleep(10000);
}
for (int i=0; i<ALLHANDLES; ++i) {
cafe->monitorStop(hArray[i], mp[i]);
}
cafe->closeHandles();
cafe->terminate();
return 0;
}

View File

@@ -7,12 +7,13 @@
#ifndef CAFE_H
#define CAFE_H
#include <hashConduit.h>
#include <connect.h>
#include <conduitEventHandlerArgs.h>
#include <instant.h>
#include <cafeDataType.h>
#include <global.h>
#if HAVE_PYTHON_H
#include <unicodeobject.h>
#endif
@@ -112,6 +113,9 @@ public:
// if HAVE_LIBQTXML moved to within header file
//#endif
int wfExpress(const unsigned int handle, const unsigned int nelem, dbr_char_t * chval);
//int wfExpress(const unsigned int handle);
//get NON_BLOCKING
int getNonBlocking(const unsigned int handle)
{

View File

@@ -182,6 +182,10 @@ int getCache(const unsigned int handle, dbr_long_t * _val, dbr_short_t &alarm
return cafeLatte.getCache(handle, DBR_TIME_LONG, _val, alarmStatus, alarmSeverity, ts);
};
//4
int getCacheCharArray(const unsigned int handle, dbr_char_t * _val)
{
return cafeCappuccino.getCache(handle, DBR_CHAR, _val);
};
int getCache(const unsigned int handle, dbr_char_t * _val)
{
return cafeCappuccino.getCache(handle, DBR_CHAR, _val);

View File

@@ -325,6 +325,128 @@ int matchMany(std::vector<std::string> valSetV, std::vector<unsigned int> handle
//
int matchManyWithStatus(std::vector<dbr_double_t> valSet, std::vector<unsigned int> handleMatch,
dbr_double_t tolerance, double timeout, bool printFlag, std::vector<int> &statusV)
{
status = cafeDoppio.matchManyWithStatus(DBR_DOUBLE, valSet, handleMatch, tolerance, timeout, printFlag, statusV);
return status;
}
int matchManyWithStatus(std::vector<dbr_float_t> valSet, std::vector<unsigned int> handleMatch,
dbr_float_t tolerance, double timeout, bool printFlag, std::vector<int> &statusV)
{
return cafeFrappuccino.matchManyWithStatus(DBR_FLOAT, valSet, handleMatch, tolerance, timeout, printFlag, statusV);
}
int matchManyWithStatus(std::vector<dbr_char_t> valSet, std::vector<unsigned int> handleMatch,
dbr_char_t tolerance, double timeout, bool printFlag, std::vector<int> &statusV)
{
return cafeCappuccino.matchManyWithStatus(DBR_CHAR, valSet, handleMatch, tolerance, timeout, printFlag, statusV);
}
int matchManyWithStatus(std::vector<dbr_enum_t> valSet, std::vector<unsigned int> handleMatch,
dbr_enum_t tolerance, double timeout, bool printFlag, std::vector<int> statusV)
{
return cafeEspresso.matchManyWithStatus(DBR_ENUM, valSet, handleMatch, tolerance, timeout, printFlag, statusV);
}
int matchManyWithStatus(std::vector<dbr_short_t> valSet, std::vector<unsigned int> handleMatch,
dbr_short_t tolerance, double timeout, bool printFlag, std::vector<int> &statusV)
{
return cafeSchale.matchManyWithStatus(DBR_SHORT, valSet, handleMatch, tolerance, timeout, printFlag, statusV);
}
int matchManyWithStatus(std::vector<dbr_long_t> valSet, std::vector<unsigned int> handleMatch,
dbr_long_t tolerance, double timeout, bool printFlag, std::vector<int> &statusV)
{
return cafeLatte.matchManyWithStatus(DBR_LONG, valSet, handleMatch, tolerance, timeout, printFlag, statusV);
}
int matchManyWithStatus(std::vector<long long> valSet, std::vector<unsigned int> handleMatch,
long long tolerance, double timeout, bool printFlag, std::vector<int> &statusV)
{
std::vector<dbr_double_t> valSetDoubleV;
valSetDoubleV.reserve(valSet.size());
std::copy(valSet.begin(), valSet.end(),
std::back_inserter(valSetDoubleV));
dbr_double_t toleranceDouble = tolerance;
return cafeDoppio.matchManyWithStatus(DBR_DOUBLE, valSetDoubleV, handleMatch, toleranceDouble, timeout, printFlag, statusV);
}
int matchManyWithStatus(std::vector<std::string> valSetV, std::vector<unsigned int> handleMatchV,
std::string tolerance, double timeout, bool printFlag, std::vector<int> &statusV)
{
#define __METHOD__ "matchManyWithStatus (std::vector<string> valSetV, std::vector<unsigned int> handleMatchV, \
string tolerance, double timeout, bool printFlag, std::vector<int> statusV)"
std::vector<dbr_double_t> valSetDoubleV;
std::istringstream ss;
dbr_double_t d=0;
dbr_double_t toleranceDouble = 0;
for (size_t i=0; i< valSetV.size(); ++i)
{
d=0;
ss.clear();
ss.str(valSetV[i]);
ss>>d;
if ( !ss.fail())
{
valSetDoubleV.push_back(d);
}
else
{
std::cout << __METHOD__ << __LINE__ << std::endl;
std::cout << "***WARNING*** NO STRING TO DBR_DOUBLE CONVERSION " << std::endl;
std::cout << "***WARNING*** COULD NOT CONVERT: ";
std::cout << valSetV[i];
std::cout << " TO DOUBLE!" << std::endl;
return ECAFE_NO_CONVERT;
}
}
d=0;
ss.clear();
ss.str(tolerance);
ss>>d;
if ( !ss.fail())
{
toleranceDouble=d;
}
else
{
std::cout << __METHOD__ << __LINE__ << std::endl;
std::cout << "***WARNING*** NO STRING TO DBR_DOUBLE CONVERSION " << std::endl;
std::cout << "***WARNING*** COULD NOT CONVERT: ";
std::cout << tolerance;
std::cout << " TO DOUBLE!" << std::endl;
return ECAFE_NO_CONVERT;
}
return cafeDoppio.matchManyWithStatus(DBR_DOUBLE, valSetDoubleV, handleMatchV, toleranceDouble, timeout, printFlag, statusV);
#undef __METHOD__
}
int setAndMatchMany(std::vector<unsigned int> handleSet, std::vector<dbr_double_t> valSet, std::vector<unsigned int> handleMatch,
dbr_double_t tolerance, double timeout, bool printFlag)
{

View File

@@ -179,13 +179,13 @@ public:
}
};
std::string getCafeConnectionStateAsString()
std::string getCafeConnectionStateAsString()
{
return cafeStatus.csc.message(cafeConnectionState);
};
ChannelRegalia():channelID((chid) NULL), connectFlag(false), nelem((unsigned int) 1),
dataType((chtype) CAFE_TYPENOTCONN),
dataType(chtype((int)CAFE_TYPENOTCONN)),
accessRead((unsigned short) 0), accessWrite((unsigned short) 0),
connectionState((int) CA_OP_CONN_DOWN), cafeConnectionState((int) ICAFE_CS_NEVER_CONN)
{

View File

@@ -741,6 +741,8 @@ public:
std::cout << "getMonitorPolicyVector(monitor_id): " << monitor_id << " NOT FOUND! " << std::endl;
std::cout << "Could not modify entry!" << std::endl;
}
MonitorPolicy mp;
return mp;
};
std::vector<MonitorPolicy> getMonitorPolicyVector(void) const

View File

@@ -299,7 +299,7 @@ struct change_dataBufferSize_CTRL
{
//std::cout << "sizeof c.ctrlBuffer " << dbr_size_n(new_ctrlTypeBuffer,c.channelRequestMetaCtrl.getNelem()) << std::endl;
c.ctrlBuffer = (db_access_val *) malloc ( dbr_size_n(new_ctrlTypeBuffer,c.channelRequestMetaCtrl.getNelem()) );
c.channelRequestMetaCtrl.byteSize=dbr_size_n(new_ctrlTypeBuffer,c.channelRequestMetaCtrl.getNelem());
c.channelRequestMetaCtrl.byteSize=dbr_size_n(new_ctrlTypeBuffer, c.channelRequestMetaCtrl.getNelem());
}

View File

@@ -29,9 +29,12 @@ struct change_eventHandlerArgs
//c.eventHandlerArgs = new_eventHandlerArgs;
c.status= new_eventHandlerArgs.status;
//Must always return else segmentataion fault
//But all initCallbacksComplete method will return false
//Change this to stop this happening
if(c.status!=ECA_NORMAL) {
std::cout << __METHOD__ << " STATUS IS " << c.status << std::endl;
std::cout << __METHOD__ << " return from method ***IS*** enforced " << std::endl;
std::cout << "conduitEventHandlerArgs.h/" << __LINE__ << " " << __METHOD__ << " STATUS IS " << c.status << std::endl;
std::cout << "conduitEventHandlerArgs.h/" << __LINE__ << " " << __METHOD__ << " return from method ***IS *** enforced " << std::endl;
return;
}
//std::cout << __METHOD__ << " STATUS IS " << c.status << std::endl;

177
include/config.h Normal file
View File

@@ -0,0 +1,177 @@
/* ./include/config.h. Generated from config.in by configure. */
/* ./include/config.in. Generated from configure.ac by autoheader. */
/* epics major release */
#define EPICS_MAJOR 7
/* epics minor release */
#define EPICS_MINOR 4
/* epics patch release */
#define EPICS_PATCH 1
/* Availability of boost */
#define HAVE_BOOST 1
/* boost thread library */
/* #undef HAVE_BOOST_THREAD */
/* Define to 1 if you have the <cadef.h> header file. */
#define HAVE_CADEF_H 1
/* Availability of curl */
/* #undef HAVE_CURL */
/* Define to 1 if you have the <curl/curl.h> header file. */
/* #undef HAVE_CURL_CURL_H */
/* Define to 1 if you have the <dlfcn.h> header file. */
#define HAVE_DLFCN_H 1
/* epics version */
#define HAVE_EPICS 7.4.1
/* Define to 1 if you have the <epicsTypes.h> header file. */
#define HAVE_EPICSTYPES_H 1
/* Define to 1 if you have the <inttypes.h> header file. */
#define HAVE_INTTYPES_H 1
/* Availability of json */
/* #undef HAVE_JSON */
/* Define to 1 if you have the <json/json.h> header file. */
/* #undef HAVE_JSON_JSON_H */
/* Define to 1 if you have the `boost_thread' library (-lboost_thread). */
/* #undef HAVE_LIBBOOST_THREAD */
/* Define to 1 if you have the `curl' library (-lcurl). */
/* #undef HAVE_LIBCURL */
/* Define to 1 if you have the `json_linux-gcc-6.3.0_libmt' library
(-ljson_linux-gcc-6.3.0_libmt). */
/* #undef HAVE_LIBJSON_LINUX_GCC_6_3_0_LIBMT */
/* Define to 1 if you have the `lz4' library (-llz4). */
/* #undef HAVE_LIBLZ4 */
/* Define to 1 if you have the `python3.10' library (-lpython3.10). */
/* #undef HAVE_LIBPYTHON3_10 */
/* Define to 1 if you have the `python3.4m' library (-lpython3.4m). */
/* #undef HAVE_LIBPYTHON3_4M */
/* Define to 1 if you have the `python3.5m' library (-lpython3.5m). */
/* #undef HAVE_LIBPYTHON3_5M */
/* Define to 1 if you have the `python3.7m' library (-lpython3.7m). */
/* #undef HAVE_LIBPYTHON3_7M */
/* Define to 1 if you have the `python3.8' library (-lpython3.8). */
#define HAVE_LIBPYTHON3_8 1
/* Define to 1 if you have the `Qt5Core' library (-lQt5Core). */
/* #undef HAVE_LIBQT5CORE */
/* Define to 1 if you have the `Qt5Xml' library (-lQt5Xml). */
/* #undef HAVE_LIBQT5XML */
/* Define to 1 if you have the `QtCore' library (-lQtCore). */
/* #undef HAVE_LIBQTCORE */
/* Availability of Qt version 5 confirmed */
#define HAVE_LIBQTXML 1
/* Define to 1 if you have the `zmq' library (-lzmq). */
/* #undef HAVE_LIBZMQ */
/* linux dependency (sleep) */
#define HAVE_LINUX 1
/* Availability of LZ4 */
/* #undef HAVE_LZ4 */
/* Define to 1 if you have the <lz4.h> header file. */
/* #undef HAVE_LZ4_H */
/* Define to 1 if you have the <memory.h> header file. */
#define HAVE_MEMORY_H 1
/* Define to 1 if you have the <multi_index_container.hpp> header file. */
#define HAVE_MULTI_INDEX_CONTAINER_HPP 1
/* pycafe extern C */
#define HAVE_PYCAFE_EXT 1
/* Availability of python */
#define HAVE_PYTHON 1
/* Define to 1 if you have the <Python.h> header file. */
#define HAVE_PYTHON_H 1
/* Availability of Qt version 5 confirmed */
#define HAVE_QT 1
/* Define to 1 if you have the <qxml.h> header file. */
#define HAVE_QXML_H 1
/* Define to 1 if you have the <stdint.h> header file. */
#define HAVE_STDINT_H 1
/* Define to 1 if you have the <stdlib.h> header file. */
#define HAVE_STDLIB_H 1
/* Define to 1 if you have the <strings.h> header file. */
#define HAVE_STRINGS_H 1
/* Define to 1 if you have the <string.h> header file. */
#define HAVE_STRING_H 1
/* Define to 1 if you have the <sys/stat.h> header file. */
#define HAVE_SYS_STAT_H 1
/* Define to 1 if you have the <sys/types.h> header file. */
#define HAVE_SYS_TYPES_H 1
/* Define to 1 if you have the <unistd.h> header file. */
#define HAVE_UNISTD_H 1
/* Availability of zeromq */
/* #undef HAVE_ZEROMQ */
/* Define to 1 if you have the <zmq.h> header file. */
/* #undef HAVE_ZMQ_H */
/* Define to the sub-directory where libtool stores uninstalled libraries. */
#define LT_OBJDIR ".libs/"
/* Name of package */
#define PACKAGE "cafe"
/* Define to the address where bug reports for this package should be sent. */
#define PACKAGE_BUGREPORT "Bug reports to: jan.chrin@psi.ch"
/* Define to the full name of this package. */
#define PACKAGE_NAME "CAFE"
/* Define to the full name and version of this package. */
#define PACKAGE_STRING "CAFE 1.19.0"
/* Define to the one symbol short name of this package. */
#define PACKAGE_TARNAME "cafe"
/* Define to the home page for this package. */
#define PACKAGE_URL ""
/* Define to the version of this package. */
#define PACKAGE_VERSION "1.19.0"
/* Availability of Qt version 5 confirmed */
#define QT_NO_VERSION_TAGGING 1
/* Define to 1 if you have the ANSI C header files. */
#define STDC_HEADERS 1
/* Version number of package */
#define VERSION "1.19.0"

View File

@@ -32,8 +32,7 @@
#include <boost/chrono.hpp>
#endif
#include <epicsVersion.h>
class Connect
{
@@ -202,6 +201,14 @@ public:
return ca_flush_io();
}
std::string _ca_version(){
return (std::string) ca_version();
}
std::string _epics_version(){
return (std::string) EPICS_VERSION_STRING;
}
int _ca_flush_io()
{
return ca_flush_io();

View File

@@ -9,7 +9,7 @@
#ifndef GLOBAL_H
#define GLOBAL_H
#include <epicsMutex.h>
#include <cadef.h>
#include <hashConduit.h>
#include <hashConduitGroup.h>
@@ -21,8 +21,6 @@ extern bool CHECK_CONSISTENCY_CA_STATE;
extern bool MUTEX;
extern epicsMutex cafeMutex;
extern cafeConduit_set cs;
extern cafeGroup_set gs;
extern std::vector<PVGroup> PVGroupV;
@@ -32,14 +30,11 @@ extern std::map<std::vector<unsigned int>, std::string> groupPseudoMap;
extern std::vector<std::string> globalChannelList;
extern std::string contentsS;
extern std::string contentsBS;
extern unsigned long nCBs;
extern bool callbackLiveFlag;
extern bool SF_WITH_PULSE_ID;

View File

@@ -132,10 +132,17 @@ public:
std::vector<unsigned int> handleAction, std::vector<std::string> valAction, std::vector<unsigned int> handleMatch,
CTYPE tolerance, double timeout, bool printFlag);
int matchMany( const chtype dbrType, std::vector<CTYPE> valSet, std::vector<unsigned int> handleMatch,
int matchMany(
const chtype dbrType, std::vector<CTYPE> valSet, std::vector<unsigned int> handleMatch,
CTYPE tolerance, double timeout, bool printFlag);
int match( const chtype dbrType, CTYPE valSet, unsigned int handleMatch,
int matchManyWithStatus(
const chtype dbrType, std::vector<CTYPE> valSet, std::vector<unsigned int> handleMatch,
CTYPE tolerance, double timeout, bool printFlag, std::vector<int> & statusV);
int match(
const chtype dbrType, CTYPE valSet, unsigned int handleMatch,
CTYPE tolerance, double timeout, bool printFlag);
int setMany(std::vector<unsigned int> handleSet, const chtype dbrType, std::vector<CTYPE> valSet, bool printFlag);
@@ -456,13 +463,8 @@ public:
};
//include <instant.cpp>
/**
* \brief Set values of data type CTYPE
* \param _handle input: handle to CAFEConduit object
@@ -819,8 +821,6 @@ template <class CTYPE> int Instant<CTYPE>::getCache(const unsigned int _handle
}; //unlock
}
//ifNeverConnected - return error
if ( (*it_handle).getChannelRegalia().getCafeConnectionState() == ICAFE_CS_NEVER_CONN)
{
@@ -3729,5 +3729,441 @@ template <class CTYPE> int Instant<CTYPE>::matchMany(const chtype dbrType, std:
/**
* \brief Set Channels followed by a corresponding readback of Channels \n
* Method verifies whether or not the set/readback values agree within the given tolerance and timeout \n
* Method returns with ECA_NORMAL as soon as a match is reached
* \param dbrType input: chtype of set value
* \param valSet input: vector of CTYPE values to set
* \param handleMatch input: vector of handles of readback channel
* \param tolerance input: CTYPE of tolerance margin
* \param timeout input: double value; maximum time allowed for agreement to occur
* \param printFlag input: bool, set to true for diagnostics
* \param statusV ouput: vector of individual status
* \return ECA_NORMAL if all OK else first ECAFE error encountered
*/
template <class CTYPE> int Instant<CTYPE>::matchManyWithStatus(
const chtype dbrType, std::vector<CTYPE> valSet, std::vector<unsigned int> handleMatch,
CTYPE tolerance, double timeout, bool printFlag, std::vector<int> &statusV)
{
#define __METHOD__ "Instant<CTYPE>::matchManyWithStatus(const chtype dbrType, std::vector<CTYPE>valSet, std::vector<unsigned int>handleMatch, \
CTYPE tolerance, double timeout, bool printFlag, std::vector<int> &statusV))"
Connect connect;
CAFEStatus cstat;
CTYPE valGetA[1];
////CTYPE valSetA[1];
status=ICAFE_NORMAL;
statusV.clear();
statusV.reserve(handleMatch.size());
if (handleMatch.size() != valSet.size() )
{
return ECAFE_HANDLE_MISMATCH_SET_AND_MATCH;
}
for (size_t i=0; i< handleMatch.size(); ++i)
{
if ( !helper.isChannelConnected(handleMatch[i]))
{
std::cout << __FILE__ << "//" << __LINE__ << "//" << __METHOD__ << std::endl;
std::cout << "NOT ALL CHANNELS CONNECTED: " << std::endl;
helper.printHandle(handleMatch[i]);
status=helper.getStatus(handleMatch[i]);
}
}
if (status!=ICAFE_NORMAL)
{
return status;
}
for (size_t i=0; i< handleMatch.size(); ++i)
{
if (printFlag)
{
std::cout << "SET VALUE IS = " << valSet[i] << std::endl;
std::cout << "READBACK PV=" << helper.getPVFromHandle(handleMatch[i])
<< " tolerance= " << fabs((double)tolerance) << std::endl;
std::cout << "TIME ALLOWED FOR MATCH IS " << timeout << " (sec) " << std::endl;
}
}
std::vector<CTYPE> valSetUpper;
std::vector<CTYPE> valSetLower;
std::vector<unsigned int> monitorID;
std::vector<int> statMonitor;
std::vector<unsigned short> nMonitors;
std::vector<CTYPE> valGet;
std::vector<unsigned int> nelemPreviousCache;
valSetUpper.reserve( handleMatch.size());
valSetLower.reserve( handleMatch.size());
monitorID.reserve( handleMatch.size());
statMonitor.reserve( handleMatch.size());
valGet.reserve( handleMatch.size());
nMonitors.reserve( handleMatch.size() );
nelemPreviousCache.reserve(handleMatch.size());
for (size_t i=0; i< handleMatch.size(); ++i)
{
switch (dbrType)
{
case DBR_LONG :
case DBR_SHORT :
case DBR_ENUM:
valSetUpper[i] = valSet[i] + abs((int)tolerance);
valSetLower[i] = valSet[i] - abs((int)tolerance);
break;
case DBR_CHAR :
valSetUpper[i] = (unsigned short) valSet[i] + abs((unsigned short) tolerance);
valSetLower[i] = (unsigned short) valSet[i] - abs((unsigned short) tolerance);
break;
case DBR_FLOAT:
case DBR_DOUBLE:
default:
valSetUpper[i] = (CTYPE) (valSet[i] + fabs((double)tolerance));
valSetLower[i] = (CTYPE) (valSet[i] - fabs((double)tolerance));
break;
}
std::vector<MonitorPolicy> mpVMatch;
mpVMatch.clear();
helper.getMonitorPolicyVector(handleMatch[i], mpVMatch);
nMonitors[i]=mpVMatch.size();
monitorID[i]=0;
////valGetA[0][i]=0;
valGet[i]=0;
statMonitor[i]=ICAFE_NORMAL;
statusV.push_back(ICAFE_NORMAL);
}
for (size_t i=0; i< handleMatch.size(); ++i)
{
//what is monitorpolicy??
if (nMonitors[i]==0)
{
unsigned int _nelemPrevious, _nelemRequestedCheck=0;
unsigned int _nelemRequested=1;
_nelemPrevious=helper.getNelemClient(handleMatch[i]);
//Check the number of elements requested?
if (_nelemPrevious>1)
{
_nelemRequestedCheck = helper.setNelem(handleMatch[i],_nelemRequested);
if (_nelemRequestedCheck != _nelemRequested)
{
std::cout << __FILE__ << "//" << __LINE__ << "//" << __METHOD__ << std::endl;
std::cout << "Internal CAFE FUNNY: Wanted to set the no. elements from: "
<< _nelemPrevious << std::endl;
std::cout << "to: " << _nelemRequested << " but got instead: "
<< _nelemRequestedCheck << std::endl;
}
}
//first do get to update cache before monitor starts
status=Instant::get(handleMatch[i], dbrType, valGetA);
valGet[i]=valGetA[0];
if (_nelemPrevious>1)
{
helper.setNelem(handleMatch[i],_nelemPrevious);
}
if (status!=ICAFE_NORMAL)
{
std::cout << __FILE__ << "//" << __LINE__ << "//" << __METHOD__ << std::endl;
cstat.report(status);
}
ChannelWhenToFlushSendBufferPolicyKind whenKind=
connect.channelMonitorPolicy.getWhenToFlushSendBuffer();
connect.channelMonitorPolicy.setWhenToFlushSendBuffer(FLUSH_AUTOMATIC);
statMonitor[i]=connect.monitorStart(handleMatch[i], monitorID[i]);
if (statMonitor[i]!=ICAFE_NORMAL)
{
std::cout << __FILE__ << "//" << __LINE__ << "//" << __METHOD__ << std::endl;
cstat.report(statMonitor[i]);
}
else
{
if(printFlag)
{
std::cout << "MONITOR STARTED WITH ID=" << monitorID[i] << std::endl;
}
}
//revert to previous
if (whenKind != FLUSH_AUTOMATIC)
{
connect.channelMonitorPolicy.setWhenToFlushSendBuffer(whenKind);
}
} //if nMonitors
////valSetA[0][i]=valSet[i];
//set No of Elements to 1
unsigned int nelemPrevious, nelemRequestedCheck=0;
unsigned int nelemRequested=1;
nelemPrevious=helper.getNelemClient(handleMatch[i]);
//Check the number of elements requested?
if (nelemPrevious>1)
{
nelemRequestedCheck = helper.setNelem(handleMatch[i],nelemRequested);
if (nelemRequestedCheck != nelemRequested)
{
std::cout << __FILE__ << "//" << __LINE__ << "//" << __METHOD__ << std::endl;
std::cout << "Internal CAFE FUNNY: Wanted to set the no. elements from: "
<< nelemPrevious << std::endl;
std::cout << "to: " << nelemRequested << " but got instead: "
<< nelemRequestedCheck << std::endl;
}
}
//No of elements to get from Cache
////unsigned int nelemPreviousCheck=0;
nelemRequested=1;
nelemRequestedCheck=0;
nelemPreviousCache[i]=helper.getNelemRequest(handleMatch[i]);
//Check the number of elements requested
//See set and Match; this needs to be checked
//Avoid problem when readback channel is the very same as the set(!)
if (nelemPreviousCache[i]>0 && helper.getNelemNative(handleMatch[i])>1)
{
nelemRequestedCheck = helper.setNelemToRetrieveFromCache(handleMatch[i],nelemRequested);
if (nelemRequestedCheck != nelemRequested)
{
std::cout << __FILE__ << "//" << __LINE__ << "//" << __METHOD__ << std::endl;
std::cout << "Internal CAFE FUNNY: Wanted to set the no. elements from: "
<< nelemPreviousCache[i] << std::endl;
std::cout << "to: " << nelemRequested << " but got instead: "
<< nelemRequestedCheck << std::endl;
}
}
} //if size_t
//start time
double timeElapsed=0;
double timeElapsed2=0;
double timeElapsedBase=0;
using namespace boost::posix_time;
ptime timeStart(microsec_clock::local_time());
for (size_t i=0; i< handleMatch.size(); ++i)
{
valGetA[0]=0;
status=Instant::getCache(handleMatch[i], dbrType, valGetA);
valGet[i]=valGetA[0];
if (status !=ICAFE_NORMAL)
{
std::cout << __FILE__ << "//" << __LINE__ << "//" << __METHOD__ << std::endl;
cstat.report(status);
}
///valGet[i]=valGetA[0][i];
if (dbrType==DBR_CHAR)
{
valGet[i] = (unsigned short) valGet[i];
}
if(printFlag)
{
std::cout << __FILE__ << "//" << __LINE__ << "//" << __METHOD__ << std::endl;
std::cout << "Current Cached Value = " << valGet[i] << std::endl;
std::cout << "Lower/Upper Target Values = " << valSetLower[i] << " and " << valSetUpper[i] << std::endl;
}
} //for size_t
ptime timeEnd(microsec_clock::local_time());
time_duration duration(timeEnd-timeStart);
timeElapsed= (double) duration.total_microseconds()/1000000.0;
for (size_t i=0; i< handleMatch.size(); ++i)
{
while ( (valGet[i]>valSetUpper[i] || valGet[i]<valSetLower[i] )
&& timeElapsed < timeout )
{
valGetA[0]=0;
status=Instant::getCache(handleMatch[i], dbrType, valGetA);
valGet[i]=valGetA[0];
//std::cout <<"Cached value " << valGet[i] << std::endl;
if (dbrType==DBR_CHAR)
{
valGet[i] = (unsigned short) valGet[i];
}
//std::cout << valSetUpper[i] << " U/L " << valSetLower[i] << std::endl;
ptime timeEnd(microsec_clock::local_time());
time_duration duration(timeEnd-timeStart);
timeElapsed= (double) duration.total_microseconds()/1000000.0;
timeElapsed2=timeElapsed-timeElapsedBase;
if (printFlag && timeElapsed2>1 && status==ICAFE_NORMAL)
{
for (size_t ij=0; ij< handleMatch.size(); ++ij)
{
status=Instant::getCache(handleMatch[ij], dbrType, valGetA);
valGet[ij]=valGetA[0];
if (valGet[ij]>valSetUpper[ij] || valGet[ij]<valSetLower[ij])
{
std::cout << "REPORTING ON: " << helper.getPVFromHandle(handleMatch[ij]) << " SET VALUE= " << valSet[ij] \
<<" WHILE CURRENT READBACK VALUE=" << valGet[ij]
<< " TimeElapsed " << timeElapsed << " (sec) " << std::endl;
}
}
timeElapsedBase=timeElapsed;
}
#if HAVE_BOOST_THREAD
boost::this_thread::sleep_for(boost::chrono::microseconds(20));
#else
#if HAVE_LINUX
usleep(20);
#endif
#endif
}
} //for size_t
if (timeout <=timeElapsed )
{
std::cout << "*****TIMEOUT REACHED****** AFTER " << timeout << " (sec) " << std::endl;
status=ECAFE_TIMEOUT_SET_AND_MATCH;
for (size_t i=0; i< handleMatch.size(); ++i)
{
if (valGet[i]>valSetUpper[i] || valGet[i]<valSetLower[i] ) {
statusV[i] = status;
}
}
}
else
{
for (size_t i=0; i< handleMatch.size(); ++i)
{
//if (printFlag) {std::cout << "MONITOR STARTED WITH ID/2-/=" << monitorID[i] << std::endl;}
if (printFlag)
{
valGetA[0]=0;
status=Instant::getCache(handleMatch[i], dbrType, valGetA);
valGet[i]=valGetA[0];
std::cout << "GAME SET AND MATCH==>: " << " SET VALUE= " << valSet[i] << " // " << helper.getPVFromHandle(handleMatch[i]) << " READBACK VALUE= " << valGet[i] //pvdMatch.getAsDouble()
<< " TimeElapsed " << timeElapsed << " (sec) " << "status " << statusV[i] << std::endl;
}
} //for
}
for (size_t i=0; i< handleMatch.size(); ++i)
{
unsigned int nelemPreviousCheck;
unsigned int nelemRequested=1;
if (nelemPreviousCache[i]>1)
{
nelemPreviousCheck= helper.setNelemToRetrieveFromCache(handleMatch[i],nelemPreviousCache[i]);
if (nelemPreviousCheck != nelemPreviousCache[i])
{
std::cout << __FILE__ << "//" << __LINE__ << "//" << __METHOD__ << std::endl;
std::cout << "Internal CAFE FUNNY: Wanted to re-set the no. elements from: "
<< nelemRequested << std::endl;
std::cout << "to the previous: " << nelemPreviousCache[i] << " but got instead: "
<< nelemPreviousCheck << std::endl;
}
}
if (nMonitors[i]==0 && statMonitor[i]==ICAFE_NORMAL)
{
std::cout << "STOPPING MONITOR WITH ID=" << monitorID[i] << std::endl;
int statm;
statm=connect.monitorStop(handleMatch[i], monitorID[i]);
if(status==ICAFE_NORMAL)
{
status=statm;
}
}
} //for
return status;
#undef __METHOD__
}
#endif // INSTANT_H

View File

@@ -86,8 +86,8 @@ host_triplet = x86_64-unknown-linux-gnu
#if HAVE_PYTHON_
#include_HEADERS += PyCafe_api.h
#endif
#am__append_2 = PyCafe.h
am__append_3 = PyCafe_api.h
am__append_2 = PyCafe.h
#am__append_3 = PyCafe_api.h
subdir = include
DIST_COMMON = $(srcdir)/makefile.in $(srcdir)/makefile.am \
$(am__include_HEADERS_DIST)
@@ -188,22 +188,22 @@ CTAGS = ctags
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = ${SHELL} /afs/psi.ch/project/cafe/gitlab/CAFE/cpp/missing aclocal-1.13
AMTAR = $${TAR-tar}
AM_CPPFLAGS = -fexceptions -fPIC -std=c++1z -I/usr/local/epics/base/include/ -I/usr/local/epics/base/include/os/Linux -I/opt/gfa/cafe/boost/boost_1_61_0/include/boost -I/opt/gfa/cafe/boost/boost_1_61_0/include -I/opt/gfa/python-3.7/latest/include/qt -I/opt/gfa/python-3.7/latest/include/qt/QtCore -I/opt/gfa/python-3.7/latest/include/qt/QtXml
AM_CPPFLAGS = -fexceptions -fPIC -std=c++1z -I/usr/local/epics/base-7.0.6/include/ -I/usr/local/epics/base-7.0.6/include/os/Linux -I/usr/local/epics/base-7.0.6/include/compiler/gcc -I/opt/gfa/cafe/boost/boost_1_61_0/include/boost -I/opt/gfa/cafe/boost/boost_1_61_0/include -I/opt/gfa/python-3.8/latest/include/python3.8 -I/opt/gfa/python-3.8/latest/lib/python3.8/site-packages/numpy/core/include -I/opt/gfa/python-3.8/latest/include/qt -I/opt/gfa/python-3.8/latest/include/qt/QtCore -I/opt/gfa/python-3.8/latest/include/qt/QtXml
AM_DEFAULT_VERBOSITY = 1
AM_LDFLAGS = -L/usr/local/epics/base/lib/RHEL7-x86_64 -Wl,-rpath,/usr/local/epics/base/lib/RHEL7-x86_64 -L/opt/gfa/python-3.7/latest/lib -Wl,-rpath,/opt/gfa/python-3.7/latest/lib
AM_LDFLAGS = -L/usr/local/epics/base-7.0.6/lib/RHEL7-x86_64 -Wl,-rpath,/usr/local/epics/base-7.0.6/lib/RHEL7-x86_64 -L/opt/gfa/python-3.8/latest/lib -Wl,-rpath,/opt/gfa/python-3.8/latest/lib -L/opt/gfa/python-3.8/latest/lib -Wl,-rpath,/opt/gfa/python-3.8/latest/lib
AR = ar
AUTOCONF = ${SHELL} /afs/psi.ch/project/cafe/gitlab/CAFE/cpp/missing autoconf
AUTOHEADER = ${SHELL} /afs/psi.ch/project/cafe/gitlab/CAFE/cpp/missing autoheader
AUTOMAKE = ${SHELL} /afs/psi.ch/project/cafe/gitlab/CAFE/cpp/missing automake-1.13
AWK = gawk
CAFE_CPPFLAGS = -I$(top_srcdir)/include
CC = /opt/psi/Programming/gcc/7.3.0/bin/gcc
CC = /opt/psi/Programming/gcc/7.5.0/bin/gcc
CCDEPMODE = depmode=gcc3
CFLAGS = -g -O2
CPP = /opt/psi/Programming/gcc/7.3.0/bin/gcc -E
CPPFLAGS = -fexceptions -fPIC -std=c++1z -I/usr/local/epics/base/include/ -I/usr/local/epics/base/include/os/Linux -I/opt/gfa/cafe/boost/boost_1_61_0/include/boost -I/opt/gfa/cafe/boost/boost_1_61_0/include -I/opt/gfa/python-3.7/latest/include/qt -I/opt/gfa/python-3.7/latest/include/qt/QtCore -I/opt/gfa/python-3.7/latest/include/qt/QtXml
CXX = /opt/psi/Programming/gcc/7.3.0/bin/g++
CXXCPP = /opt/psi/Programming/gcc/7.3.0/bin/g++ -E
CPP = /opt/psi/Programming/gcc/7.5.0/bin/gcc -E
CPPFLAGS = -fexceptions -fPIC -std=c++1z -I/usr/local/epics/base-7.0.6/include/ -I/usr/local/epics/base-7.0.6/include/os/Linux -I/usr/local/epics/base-7.0.6/include/compiler/gcc -I/opt/gfa/cafe/boost/boost_1_61_0/include/boost -I/opt/gfa/cafe/boost/boost_1_61_0/include -I/opt/gfa/python-3.8/latest/include/python3.8 -I/opt/gfa/python-3.8/latest/lib/python3.8/site-packages/numpy/core/include -I/opt/gfa/python-3.8/latest/include/qt -I/opt/gfa/python-3.8/latest/include/qt/QtCore -I/opt/gfa/python-3.8/latest/include/qt/QtXml
CXX = /opt/psi/Programming/gcc/7.5.0/bin/g++
CXXCPP = /opt/psi/Programming/gcc/7.5.0/bin/g++ -E
CXXDEPMODE = depmode=gcc3
CXXFLAGS = -g -O2
CYGPATH_W = echo
@@ -225,9 +225,9 @@ INSTALL_PROGRAM = ${INSTALL}
INSTALL_SCRIPT = ${INSTALL}
INSTALL_STRIP_PROGRAM = $(install_sh) -c -s
LD = /usr/bin/ld -m elf_x86_64
LDFLAGS = -L/usr/local/epics/base/lib/RHEL7-x86_64 -Wl,-rpath,/usr/local/epics/base/lib/RHEL7-x86_64 -L/opt/gfa/python-3.7/latest/lib -Wl,-rpath,/opt/gfa/python-3.7/latest/lib
LDFLAGS = -L/usr/local/epics/base-7.0.6/lib/RHEL7-x86_64 -Wl,-rpath,/usr/local/epics/base-7.0.6/lib/RHEL7-x86_64 -L/opt/gfa/python-3.8/latest/lib -Wl,-rpath,/opt/gfa/python-3.8/latest/lib -L/opt/gfa/python-3.8/latest/lib -Wl,-rpath,/opt/gfa/python-3.8/latest/lib
LIBOBJS =
LIBS = -lQt5Xml -lQt5Core
LIBS = -lpython3.8
LIBTOOL = $(SHELL) $(top_builddir)/libtool
LIPO =
LN_S = ln -s
@@ -245,23 +245,23 @@ OTOOL64 =
PACKAGE = cafe
PACKAGE_BUGREPORT = Bug reports to: jan.chrin@psi.ch
PACKAGE_NAME = CAFE
PACKAGE_STRING = CAFE 1.14.4
PACKAGE_STRING = CAFE 1.19.0
PACKAGE_TARNAME = cafe
PACKAGE_URL =
PACKAGE_VERSION = 1.14.4
PACKAGE_VERSION = 1.19.0
PATH_SEPARATOR = :
RANLIB = ranlib
SED = /usr/bin/sed
SET_MAKE =
SHELL = /bin/sh
STRIP = strip
VERSION = 1.14.4
VERSION = 1.19.0
abs_builddir = /afs/psi.ch/project/cafe/gitlab/CAFE/cpp/include
abs_srcdir = /afs/psi.ch/project/cafe/gitlab/CAFE/cpp/include
abs_top_builddir = /afs/psi.ch/project/cafe/gitlab/CAFE/cpp
abs_top_srcdir = /afs/psi.ch/project/cafe/gitlab/CAFE/cpp
ac_ct_AR = ar
ac_ct_CC = /opt/psi/Programming/gcc/7.3.0/bin/gcc
ac_ct_CC = /opt/psi/Programming/gcc/7.5.0/bin/gcc
ac_ct_CXX =
ac_ct_DUMPBIN =
am__include = include
@@ -290,7 +290,7 @@ htmldir = ${docdir}
includedir = ${prefix}/include
infodir = ${datarootdir}/info
install_sh = ${SHELL} /afs/psi.ch/project/cafe/gitlab/CAFE/cpp/install-sh
libdir = /opt/gfa/cafe/cpp/cafe-1.14.4-gcc-7.3.0/lib/RHEL7-x86_64
libdir = /opt/gfa/cafe/cpp/cafe-1.19.0-py38-gcc-7.5.0/lib/RHEL7-x86_64
libexecdir = ${exec_prefix}/libexec
localedir = ${datarootdir}/locale
localstatedir = ${prefix}/var
@@ -298,7 +298,7 @@ mandir = ${datarootdir}/man
mkdir_p = $(MKDIR_P)
oldincludedir = /usr/include
pdfdir = ${docdir}
prefix = /opt/gfa/cafe/cpp/cafe-1.14.4-gcc-7.3.0
prefix = /opt/gfa/cafe/cpp/cafe-1.19.0-py38-gcc-7.5.0
program_transform_name = s,x,x,
psdir = ${docdir}
sbindir = ${exec_prefix}/sbin

View File

@@ -0,0 +1,104 @@
/* ./include/config.h. Generated from config.in by configure. */
/* ./include/config.in. Generated from configure.ac by autoheader. */
/* epics major release */
#define EPICS_MAJOR 3
/* epics minor release */
#define EPICS_MINOR 14
/* epics patch release */
#define EPICS_PATCH 12
/* Availability of boost */
#define HAVE_BOOST 1
/* boost thread library */
/* #undef HAVE_BOOST_THREAD */
/* Define to 1 if you have the <cadef.h> header file. */
#define HAVE_CADEF_H 1
/* Define to 1 if you have the <dlfcn.h> header file. */
#define HAVE_DLFCN_H 1
/* epics version */
#define HAVE_EPICS 3.14.12
/* Define to 1 if you have the <epicsTypes.h> header file. */
#define HAVE_EPICSTYPES_H 1
/* Define to 1 if you have the <inttypes.h> header file. */
#define HAVE_INTTYPES_H 1
/* Define to 1 if you have the `boost_thread' library (-lboost_thread). */
/* #undef HAVE_LIBBOOST_THREAD */
/* Define to 1 if you have the `QtCore' library (-lQtCore). */
/* #undef HAVE_LIBQTCORE */
/* Define to 1 if you have the `QtXml' library (-lQtXml). */
/* #undef HAVE_LIBQTXML */
/* linux dependency (sleep) */
#define HAVE_LINUX 1
/* Define to 1 if you have the <memory.h> header file. */
#define HAVE_MEMORY_H 1
/* Define to 1 if you have the <multi_index_container.hpp> header file. */
#define HAVE_MULTI_INDEX_CONTAINER_HPP 1
/* Availability of Qt version 4 confirmed */
/* #undef HAVE_QT4 */
/* Define to 1 if you have the <qxml.h> header file. */
/* #undef HAVE_QXML_H */
/* Define to 1 if you have the <stdint.h> header file. */
#define HAVE_STDINT_H 1
/* Define to 1 if you have the <stdlib.h> header file. */
#define HAVE_STDLIB_H 1
/* Define to 1 if you have the <strings.h> header file. */
#define HAVE_STRINGS_H 1
/* Define to 1 if you have the <string.h> header file. */
#define HAVE_STRING_H 1
/* Define to 1 if you have the <sys/stat.h> header file. */
#define HAVE_SYS_STAT_H 1
/* Define to 1 if you have the <sys/types.h> header file. */
#define HAVE_SYS_TYPES_H 1
/* Define to 1 if you have the <unistd.h> header file. */
#define HAVE_UNISTD_H 1
/* Define to the sub-directory where libtool stores uninstalled libraries. */
#define LT_OBJDIR ".libs/"
/* Name of package */
#define PACKAGE "cafe"
/* Define to the address where bug reports for this package should be sent. */
#define PACKAGE_BUGREPORT "Bug reports to: jan.chrin@psi.ch"
/* Define to the full name of this package. */
#define PACKAGE_NAME "CAFE"
/* Define to the full name and version of this package. */
#define PACKAGE_STRING "CAFE 1.12.5"
/* Define to the one symbol short name of this package. */
#define PACKAGE_TARNAME "cafe"
/* Define to the version of this package. */
#define PACKAGE_VERSION "1.12.5"
/* Define to 1 if you have the ANSI C header files. */
#define STDC_HEADERS 1
/* Version number of package */
#define VERSION "1.12.5"

View File

@@ -0,0 +1,157 @@
/* ./include/config.h. Generated from config.in by configure. */
/* ./include/config.in. Generated from configure.ac by autoheader. */
/* epics major release */
#define EPICS_MAJOR 3
/* epics minor release */
#define EPICS_MINOR 14
/* epics patch release */
#define EPICS_PATCH 12
/* Availability of boost */
#define HAVE_BOOST 1
/* boost thread library */
/* #undef HAVE_BOOST_THREAD */
/* Define to 1 if you have the <cadef.h> header file. */
#define HAVE_CADEF_H 1
/* Availability of curl */
/* #undef HAVE_CURL */
/* Define to 1 if you have the <curl/curl.h> header file. */
/* #undef HAVE_CURL_CURL_H */
/* Define to 1 if you have the <dlfcn.h> header file. */
#define HAVE_DLFCN_H 1
/* epics version */
#define HAVE_EPICS 3.14.12
/* Define to 1 if you have the <epicsTypes.h> header file. */
#define HAVE_EPICSTYPES_H 1
/* Define to 1 if you have the <inttypes.h> header file. */
#define HAVE_INTTYPES_H 1
/* Availability of json */
/* #undef HAVE_JSON */
/* Define to 1 if you have the <json/json.h> header file. */
/* #undef HAVE_JSON_JSON_H */
/* Define to 1 if you have the `boost_thread' library (-lboost_thread). */
/* #undef HAVE_LIBBOOST_THREAD */
/* Define to 1 if you have the `curl' library (-lcurl). */
/* #undef HAVE_LIBCURL */
/* Define to 1 if you have the `json_linux-gcc-6.3.0_libmt' library
(-ljson_linux-gcc-6.3.0_libmt). */
/* #undef HAVE_LIBJSON_LINUX_GCC_6_3_0_LIBMT */
/* Define to 1 if you have the `lz4' library (-llz4). */
/* #undef HAVE_LIBLZ4 */
/* Define to 1 if you have the `python2.7' library (-lpython2.7). */
/* #undef HAVE_LIBPYTHON2_7 */
/* Define to 1 if you have the `python3.5m' library (-lpython3.5m). */
/* #undef HAVE_LIBPYTHON3_5M */
/* Define to 1 if you have the `QtCore' library (-lQtCore). */
#define HAVE_LIBQTCORE 1
/* Define to 1 if you have the `QtXml' library (-lQtXml). */
#define HAVE_LIBQTXML 1
/* Define to 1 if you have the `zmq' library (-lzmq). */
/* #undef HAVE_LIBZMQ */
/* linux dependency (sleep) */
#define HAVE_LINUX 1
/* Availability of LZ4 */
/* #undef HAVE_LZ4 */
/* Define to 1 if you have the <lz4.h> header file. */
/* #undef HAVE_LZ4_H */
/* Define to 1 if you have the <memory.h> header file. */
#define HAVE_MEMORY_H 1
/* Define to 1 if you have the <multi_index_container.hpp> header file. */
#define HAVE_MULTI_INDEX_CONTAINER_HPP 1
/* pycafe extern C */
/* #undef HAVE_PYCAFE_EXT */
/* Availability of python2 */
/* #undef HAVE_PYTHON */
/* Define to 1 if you have the <Python.h> header file. */
/* #undef HAVE_PYTHON_H */
/* Availability of Qt version 4 confirmed */
#define HAVE_QT4 1
/* Define to 1 if you have the <qxml.h> header file. */
#define HAVE_QXML_H 1
/* Define to 1 if you have the <stdint.h> header file. */
#define HAVE_STDINT_H 1
/* Define to 1 if you have the <stdlib.h> header file. */
#define HAVE_STDLIB_H 1
/* Define to 1 if you have the <strings.h> header file. */
#define HAVE_STRINGS_H 1
/* Define to 1 if you have the <string.h> header file. */
#define HAVE_STRING_H 1
/* Define to 1 if you have the <sys/stat.h> header file. */
#define HAVE_SYS_STAT_H 1
/* Define to 1 if you have the <sys/types.h> header file. */
#define HAVE_SYS_TYPES_H 1
/* Define to 1 if you have the <unistd.h> header file. */
#define HAVE_UNISTD_H 1
/* Availability of zeromq */
/* #undef HAVE_ZEROMQ */
/* Define to 1 if you have the <zmq.h> header file. */
/* #undef HAVE_ZMQ_H */
/* Define to the sub-directory in which libtool stores uninstalled libraries.
*/
#define LT_OBJDIR ".libs/"
/* Name of package */
#define PACKAGE "cafe"
/* Define to the address where bug reports for this package should be sent. */
#define PACKAGE_BUGREPORT "Bug reports to: jan.chrin@psi.ch"
/* Define to the full name of this package. */
#define PACKAGE_NAME "CAFE"
/* Define to the full name and version of this package. */
#define PACKAGE_STRING "CAFE 1.8.0"
/* Define to the one symbol short name of this package. */
#define PACKAGE_TARNAME "cafe"
/* Define to the version of this package. */
#define PACKAGE_VERSION "1.8.0"
/* Define to 1 if you have the ANSI C header files. */
#define STDC_HEADERS 1
/* Version number of package */
#define VERSION "1.8.0"

View File

@@ -0,0 +1,157 @@
/* ./include/config.h. Generated from config.in by configure. */
/* ./include/config.in. Generated from configure.ac by autoheader. */
/* epics major release */
#define EPICS_MAJOR 3
/* epics minor release */
#define EPICS_MINOR 14
/* epics patch release */
#define EPICS_PATCH 12
/* Availability of boost */
#define HAVE_BOOST 1
/* boost thread library */
/* #undef HAVE_BOOST_THREAD */
/* Define to 1 if you have the <cadef.h> header file. */
#define HAVE_CADEF_H 1
/* Availability of curl */
/* #undef HAVE_CURL */
/* Define to 1 if you have the <curl/curl.h> header file. */
/* #undef HAVE_CURL_CURL_H */
/* Define to 1 if you have the <dlfcn.h> header file. */
#define HAVE_DLFCN_H 1
/* epics version */
#define HAVE_EPICS 3.14.12
/* Define to 1 if you have the <epicsTypes.h> header file. */
#define HAVE_EPICSTYPES_H 1
/* Define to 1 if you have the <inttypes.h> header file. */
#define HAVE_INTTYPES_H 1
/* Availability of json */
/* #undef HAVE_JSON */
/* Define to 1 if you have the <json/json.h> header file. */
/* #undef HAVE_JSON_JSON_H */
/* Define to 1 if you have the `boost_thread' library (-lboost_thread). */
/* #undef HAVE_LIBBOOST_THREAD */
/* Define to 1 if you have the `curl' library (-lcurl). */
/* #undef HAVE_LIBCURL */
/* Define to 1 if you have the `json_linux-gcc-6.3.0_libmt' library
(-ljson_linux-gcc-6.3.0_libmt). */
/* #undef HAVE_LIBJSON_LINUX_GCC_6_3_0_LIBMT */
/* Define to 1 if you have the `lz4' library (-llz4). */
/* #undef HAVE_LIBLZ4 */
/* Define to 1 if you have the `python2.7' library (-lpython2.7). */
/* #undef HAVE_LIBPYTHON2_7 */
/* Define to 1 if you have the `python3.5m' library (-lpython3.5m).
#define HAVE_LIBPYTHON3_5M 1 */
/* Define to 1 if you have the `QtCore' library (-lQtCore). */
#define HAVE_LIBQTCORE 1
/* Define to 1 if you have the `QtXml' library (-lQtXml). */
#define HAVE_LIBQTXML 1
/* Define to 1 if you have the `zmq' library (-lzmq). */
/* #undef HAVE_LIBZMQ */
/* linux dependency (sleep) */
#define HAVE_LINUX 1
/* Availability of LZ4 */
/* #undef HAVE_LZ4 */
/* Define to 1 if you have the <lz4.h> header file. */
/* #undef HAVE_LZ4_H */
/* Define to 1 if you have the <memory.h> header file. */
#define HAVE_MEMORY_H 1
/* Define to 1 if you have the <multi_index_container.hpp> header file. */
#define HAVE_MULTI_INDEX_CONTAINER_HPP 1
/* pycafe extern C */
#define HAVE_PYCAFE_EXT 1
/* Availability of python2 */
#define HAVE_PYTHON 1
/* Define to 1 if you have the <Python.h> header file. */
#define HAVE_PYTHON_H 1
/* Availability of Qt version 4 confirmed */
#define HAVE_QT4 1
/* Define to 1 if you have the <qxml.h> header file. */
#define HAVE_QXML_H 1
/* Define to 1 if you have the <stdint.h> header file. */
#define HAVE_STDINT_H 1
/* Define to 1 if you have the <stdlib.h> header file. */
#define HAVE_STDLIB_H 1
/* Define to 1 if you have the <strings.h> header file. */
#define HAVE_STRINGS_H 1
/* Define to 1 if you have the <string.h> header file. */
#define HAVE_STRING_H 1
/* Define to 1 if you have the <sys/stat.h> header file. */
#define HAVE_SYS_STAT_H 1
/* Define to 1 if you have the <sys/types.h> header file. */
#define HAVE_SYS_TYPES_H 1
/* Define to 1 if you have the <unistd.h> header file. */
#define HAVE_UNISTD_H 1
/* Availability of zeromq */
/* #undef HAVE_ZEROMQ */
/* Define to 1 if you have the <zmq.h> header file. */
/* #undef HAVE_ZMQ_H */
/* Define to the sub-directory in which libtool stores uninstalled libraries.
*/
#define LT_OBJDIR ".libs/"
/* Name of package */
#define PACKAGE "cafe"
/* Define to the address where bug reports for this package should be sent. */
#define PACKAGE_BUGREPORT "Bug reports to: jan.chrin@psi.ch"
/* Define to the full name of this package. */
#define PACKAGE_NAME "CAFE"
/* Define to the full name and version of this package. */
#define PACKAGE_STRING "CAFE 1.12.5"
/* Define to the one symbol short name of this package. */
#define PACKAGE_TARNAME "cafe"
/* Define to the version of this package. */
#define PACKAGE_VERSION "1.12.5"
/* Define to 1 if you have the ANSI C header files. */
#define STDC_HEADERS 1
/* Version number of package */
#define VERSION "1.12.5"

View File

@@ -0,0 +1,162 @@
/* include/config.h. Generated from config.in by configure. */
/* ./include/config.in. Generated from configure.ac by autoheader. */
/* epics major release */
#define EPICS_MAJOR 3
/* epics minor release */
#define EPICS_MINOR 14
/* epics patch release */
#define EPICS_PATCH 12
/* Availability of boost */
#define HAVE_BOOST 1
/* boost thread library */
/* #undef HAVE_BOOST_THREAD */
/* Define to 1 if you have the <cadef.h> header file. */
#define HAVE_CADEF_H 1
/* Availability of curl */
#define HAVE_CURL 1
/* Define to 1 if you have the <curl/curl.h> header file. */
#define HAVE_CURL_CURL_H 1
/* Define to 1 if you have the <dlfcn.h> header file. */
#define HAVE_DLFCN_H 1
/* epics version */
#define HAVE_EPICS 3.14.12
/* Define to 1 if you have the <epicsTypes.h> header file. */
#define HAVE_EPICSTYPES_H 1
/* Define to 1 if you have the <inttypes.h> header file. */
#define HAVE_INTTYPES_H 1
/* Availability of json */
#define HAVE_JSON 1
/* Define to 1 if you have the <json/json.h> header file. */
#define HAVE_JSON_JSON_H 1
/* Define to 1 if you have the `boost_thread' library (-lboost_thread). */
/* #undef HAVE_LIBBOOST_THREAD */
/* Define to 1 if you have the `curl' library (-lcurl). */
#define HAVE_LIBCURL 1
/* Define to 1 if you have the `json_linux-gcc-6.3.0_libmt' library
(-ljson_linux-gcc-6.3.0_libmt). */
#define HAVE_LIBJSON_LINUX_GCC_6_3_0_LIBMT 1
/* Define to 1 if you have the `lz4' library (-llz4). */
#define HAVE_LIBLZ4 1
/* Define to 1 if you have the `python2.7' library (-lpython2.7). */
/* #undef HAVE_LIBPYTHON2_7 */
/* Define to 1 if you have the `python3.7m' library (-lpython3.7m). */
#define HAVE_LIBPYTHON3_7M 1
/* Define to 1 if you have the `Qt5Core' library (-lQt5Core). */
/* #undef HAVE_LIBQT5CORE */
/* Define to 1 if you have the `Qt5Xml' library (-lQt5Xml). */
#define HAVE_LIBQT5XML 1
/* Availability of Qt version 5 confirmed */
#define HAVE_LIBQTXML 1
/* Define to 1 if you have the `zmq' library (-lzmq). */
#define HAVE_LIBZMQ 1
/* linux dependency (sleep) */
#define HAVE_LINUX 1
/* Availability of LZ4 */
#define HAVE_LZ4 1
/* Define to 1 if you have the <lz4.h> header file. */
#define HAVE_LZ4_H 1
/* Define to 1 if you have the <memory.h> header file. */
#define HAVE_MEMORY_H 1
/* Define to 1 if you have the <multi_index_container.hpp> header file. */
#define HAVE_MULTI_INDEX_CONTAINER_HPP 1
/* pycafe extern C */
#define HAVE_PYCAFE_EXT 1
/* Availability of python2 */
#define HAVE_PYTHON 1
/* Define to 1 if you have the <Python.h> header file. */
#define HAVE_PYTHON_H 1
/* Availability of Qt version 5 confirmed */
#define HAVE_QT5 1
/* Define to 1 if you have the <qxml.h> header file. */
#define HAVE_QXML_H 1
/* Define to 1 if you have the <stdint.h> header file. */
#define HAVE_STDINT_H 1
/* Define to 1 if you have the <stdlib.h> header file. */
#define HAVE_STDLIB_H 1
/* Define to 1 if you have the <strings.h> header file. */
#define HAVE_STRINGS_H 1
/* Define to 1 if you have the <string.h> header file. */
#define HAVE_STRING_H 1
/* Define to 1 if you have the <sys/stat.h> header file. */
#define HAVE_SYS_STAT_H 1
/* Define to 1 if you have the <sys/types.h> header file. */
#define HAVE_SYS_TYPES_H 1
/* Define to 1 if you have the <unistd.h> header file. */
#define HAVE_UNISTD_H 1
/* Availability of zeromq */
#define HAVE_ZEROMQ 1
/* Define to 1 if you have the <zmq.h> header file. */
#define HAVE_ZMQ_H 1
/* Define to the sub-directory where libtool stores uninstalled libraries. */
#define LT_OBJDIR ".libs/"
/* Name of package */
#define PACKAGE "cafe"
/* Define to the address where bug reports for this package should be sent. */
#define PACKAGE_BUGREPORT "Bug reports to: jan.chrin@psi.ch"
/* Define to the full name of this package. */
#define PACKAGE_NAME "CAFE"
/* Define to the full name and version of this package. */
#define PACKAGE_STRING "CAFE 1.12.5"
/* Define to the one symbol short name of this package. */
#define PACKAGE_TARNAME "cafe"
/* Define to the version of this package. */
#define PACKAGE_VERSION "1.12.5"
/* Availability of Qt version 5 confirmed */
#define QT_NO_VERSION_TAGGING 1
/* Define to 1 if you have the ANSI C header files. */
#define STDC_HEADERS 1
/* Version number of package */
#define VERSION "1.12.5"

View File

@@ -120,7 +120,7 @@ public:
}
unsigned short setPriority(unsigned short p)
{
priority=std::min(p,(unsigned short) CA_SERVER_DISPATCH_PRIORITY_MAX);
priority=(std::min)(p,(unsigned short) CA_SERVER_DISPATCH_PRIORITY_MAX);
return priority;
}
@@ -462,17 +462,17 @@ public:
};
double setTimeout(double t)
{
timeout=std::max(t,TIMEOUT_PEND_IO_MIN);
return timeout=std::min(timeout,TIMEOUT_PEND_IO_MAX);
timeout=(std::max)(t,TIMEOUT_PEND_IO_MIN);
return timeout=(std::min)(timeout,TIMEOUT_PEND_IO_MAX);
};
double setDeltaTimeout(double dt)
{
deltaTimeout=std::max(dt,PEND_IO_INCREMENT_TIME_MIN);
return deltaTimeout=std::min(deltaTimeout,PEND_IO_INCREMENT_TIME_MAX);
deltaTimeout=(std::max)(dt,PEND_IO_INCREMENT_TIME_MIN);
return deltaTimeout=(std::min)(deltaTimeout,PEND_IO_INCREMENT_TIME_MAX);
};
unsigned short setNtries(unsigned short nt)
{
return ntries=std::min(nt, PEND_IO_MAX_TRIES);
return ntries=(std::min)(nt, PEND_IO_MAX_TRIES);
};
double setDefaultTimeout(double t)

View File

@@ -113,7 +113,7 @@ public:
double g;
int st;
st=getTimeout(_handle, p, g);
pg=std::min(p,g);
pg=(std::min)(p,g);
return st;
}
int getTimeoutPut(unsigned int _handle, double &p)
@@ -192,7 +192,7 @@ public:
double g;
int st;
st=getSGTimeout(_handle, p, g);
pg=std::min(p,g);
pg=(std::min)(p,g);
return st;
}
int getSGTimeoutPut(unsigned int _handle, double &p)

View File

@@ -228,7 +228,7 @@ public:
};
int asInt (std::string message)
int asInt(std::string message)
{
for (pos=mapAlarmCondition.begin(); pos != mapAlarmCondition.end(); ++pos)
{

22
libtool
View File

@@ -1,6 +1,6 @@
#! /bin/sh
# Generated automatically by config.status (cafe) 1.14.4
# Libtool was configured on host sf-lc7a.psi.ch:
# Generated automatically by config.status (cafe) 1.19.0
# Libtool was configured on host gfa-lc7.psi.ch:
# NOTE: Changes made to this file will be lost: look at ltmain.sh.
# Provide generalized library-building support services.
@@ -162,7 +162,7 @@ old_postuninstall_cmds=""
lock_old_archive_extraction=no
# A C compiler.
LTCC="/opt/psi/Programming/gcc/7.3.0/bin/gcc"
LTCC="/opt/psi/Programming/gcc/7.5.0/bin/gcc"
# LTCC compiler flags.
LTCFLAGS="-g -O2"
@@ -282,10 +282,10 @@ finish_eval=""
hardcode_into_libs=yes
# Compile-time system search path for libraries.
sys_lib_search_path_spec="/afs/psi.ch/sys/psi.x86_64_slp6/Programming/gcc/7.3.0/lib/gcc/x86_64-pc-linux-gnu/7.3.0 /afs/psi.ch/sys/psi.x86_64_slp6/Programming/gcc/7.3.0/lib/gcc /opt/psi/Programming/gcc/7.3.0/lib64 /afs/psi.ch/sys/psi.x86_64_slp6/Programming/gcc/7.3.0/lib64 /lib64 /usr/lib64 /opt/psi/Programming/gcc/7.3.0/lib /afs/psi.ch/sys/psi.x86_64_slp6/Programming/gcc/7.3.0/lib /lib /usr/lib "
sys_lib_search_path_spec="/afs/psi.ch/sys/psi.ra/Programming/gcc/7.5.0/lib/gcc/x86_64-pc-linux-gnu/7.5.0 /afs/psi.ch/sys/psi.ra/Programming/gcc/7.5.0/lib/gcc /opt/psi/Programming/gcc/7.5.0/lib64 /afs/psi.ch/sys/psi.ra/Programming/gcc/7.5.0/lib64 /lib64 /usr/lib64 /opt/psi/Programming/gcc/7.5.0/lib /opt/psi/Tools/HDFView/3.1.2/lib /afs/psi.ch/sys/psi.ra/Programming/gcc/7.5.0/lib /lib /usr/lib "
# Detected run-time system search path for libraries.
sys_lib_dlsearch_path_spec="/lib /usr/lib /usr/lib64/atlas /usr/lib64//bind9-export/ /usr/lib64/dyninst /usr/lib64/mysql /usr/lib/oracle/12.2/client64/lib /usr/lib64/tcl8.5/tclx8.4 "
sys_lib_dlsearch_path_spec="/lib /usr/lib /usr/lib64/atlas /usr/lib64//bind9-export/ /opt/rh/devtoolset-6/root/usr/lib64/dyninst /usr/lib64/dyninst /usr/lib64/llvm /usr/lib64/mysql /usr/lib/oracle/12.2/client64/lib /usr/lib64/tcl8.5/tclx8.4 /usr/lib64/tcl8.5 /usr/lib64/wine/ "
# Explicit LT_SYS_LIBRARY_PATH set during ./configure time.
configure_time_lt_sys_library_path=""
@@ -315,7 +315,7 @@ reload_cmds="\$LD\$reload_flag -o \$output\$reload_objs"
old_archive_cmds="\$AR \$AR_FLAGS \$oldlib\$oldobjs~\$RANLIB \$tool_oldlib"
# A language specific compiler.
CC="/opt/psi/Programming/gcc/7.3.0/bin/gcc"
CC="/opt/psi/Programming/gcc/7.5.0/bin/gcc"
# Is the compiler the GNU compiler?
with_gcc=yes
@@ -11694,7 +11694,7 @@ reload_cmds="\$LD\$reload_flag -o \$output\$reload_objs"
old_archive_cmds="\$AR \$AR_FLAGS \$oldlib\$oldobjs~\$RANLIB \$tool_oldlib"
# A language specific compiler.
CC="/opt/psi/Programming/gcc/7.3.0/bin/g++"
CC="/opt/psi/Programming/gcc/7.5.0/bin/g++"
# Is the compiler the GNU compiler?
with_gcc=yes
@@ -11815,17 +11815,17 @@ file_list_spec=""
hardcode_action=immediate
# The directories searched by this compiler when creating a shared library.
compiler_lib_search_dirs="/afs/psi.ch/sys/psi.x86_64_slp6/Programming/gcc/7.3.0/bin/../lib/gcc/x86_64-pc-linux-gnu/7.3.0 /afs/psi.ch/sys/psi.x86_64_slp6/Programming/gcc/7.3.0/bin/../lib/gcc /opt/psi/Programming/gcc/7.3.0/lib64/../lib64 /opt/psi/Programming/gcc/7.3.0/lib/../lib64 /afs/psi.ch/sys/psi.x86_64_slp6/Programming/gcc/7.3.0/bin/../lib/gcc/x86_64-pc-linux-gnu/7.3.0/../../../../lib64 /lib/../lib64 /usr/lib/../lib64 /opt/psi/Programming/gcc/7.3.0/lib64 /opt/psi/Programming/gcc/7.3.0/lib /afs/psi.ch/sys/psi.x86_64_slp6/Programming/gcc/7.3.0/bin/../lib/gcc/x86_64-pc-linux-gnu/7.3.0/../../.."
compiler_lib_search_dirs="/afs/psi.ch/sys/psi.ra/Programming/gcc/7.5.0/bin/../lib/gcc/x86_64-pc-linux-gnu/7.5.0 /afs/psi.ch/sys/psi.ra/Programming/gcc/7.5.0/bin/../lib/gcc /opt/psi/Programming/gcc/7.5.0/lib64/../lib64 /opt/psi/Programming/gcc/7.5.0/lib/../lib64 /afs/psi.ch/sys/psi.ra/Programming/gcc/7.5.0/bin/../lib/gcc/x86_64-pc-linux-gnu/7.5.0/../../../../lib64 /lib/../lib64 /usr/lib/../lib64 /opt/psi/Programming/gcc/7.5.0/lib64 /opt/psi/Programming/gcc/7.5.0/lib /opt/psi/Tools/HDFView/3.1.2/lib /afs/psi.ch/sys/psi.ra/Programming/gcc/7.5.0/bin/../lib/gcc/x86_64-pc-linux-gnu/7.5.0/../../.."
# Dependencies to place before and after the objects being linked to
# create a shared library.
predep_objects="/lib/../lib64/crti.o /afs/psi.ch/sys/psi.x86_64_slp6/Programming/gcc/7.3.0/bin/../lib/gcc/x86_64-pc-linux-gnu/7.3.0/crtbeginS.o"
postdep_objects="/afs/psi.ch/sys/psi.x86_64_slp6/Programming/gcc/7.3.0/bin/../lib/gcc/x86_64-pc-linux-gnu/7.3.0/crtendS.o /lib/../lib64/crtn.o"
predep_objects="/lib/../lib64/crti.o /afs/psi.ch/sys/psi.ra/Programming/gcc/7.5.0/bin/../lib/gcc/x86_64-pc-linux-gnu/7.5.0/crtbeginS.o"
postdep_objects="/afs/psi.ch/sys/psi.ra/Programming/gcc/7.5.0/bin/../lib/gcc/x86_64-pc-linux-gnu/7.5.0/crtendS.o /lib/../lib64/crtn.o"
predeps=""
postdeps="-lstdc++ -lm -lgcc_s -lc -lgcc_s"
# The library search path used internally by the compiler when linking
# a shared library.
compiler_lib_search_path="-L/afs/psi.ch/sys/psi.x86_64_slp6/Programming/gcc/7.3.0/bin/../lib/gcc/x86_64-pc-linux-gnu/7.3.0 -L/afs/psi.ch/sys/psi.x86_64_slp6/Programming/gcc/7.3.0/bin/../lib/gcc -L/opt/psi/Programming/gcc/7.3.0/lib64/../lib64 -L/opt/psi/Programming/gcc/7.3.0/lib/../lib64 -L/afs/psi.ch/sys/psi.x86_64_slp6/Programming/gcc/7.3.0/bin/../lib/gcc/x86_64-pc-linux-gnu/7.3.0/../../../../lib64 -L/lib/../lib64 -L/usr/lib/../lib64 -L/opt/psi/Programming/gcc/7.3.0/lib64 -L/opt/psi/Programming/gcc/7.3.0/lib -L/afs/psi.ch/sys/psi.x86_64_slp6/Programming/gcc/7.3.0/bin/../lib/gcc/x86_64-pc-linux-gnu/7.3.0/../../.."
compiler_lib_search_path="-L/afs/psi.ch/sys/psi.ra/Programming/gcc/7.5.0/bin/../lib/gcc/x86_64-pc-linux-gnu/7.5.0 -L/afs/psi.ch/sys/psi.ra/Programming/gcc/7.5.0/bin/../lib/gcc -L/opt/psi/Programming/gcc/7.5.0/lib64/../lib64 -L/opt/psi/Programming/gcc/7.5.0/lib/../lib64 -L/afs/psi.ch/sys/psi.ra/Programming/gcc/7.5.0/bin/../lib/gcc/x86_64-pc-linux-gnu/7.5.0/../../../../lib64 -L/lib/../lib64 -L/usr/lib/../lib64 -L/opt/psi/Programming/gcc/7.5.0/lib64 -L/opt/psi/Programming/gcc/7.5.0/lib -L/opt/psi/Tools/HDFView/3.1.2/lib -L/afs/psi.ch/sys/psi.ra/Programming/gcc/7.5.0/bin/../lib/gcc/x86_64-pc-linux-gnu/7.5.0/../../.."
# ### END LIBTOOL TAG CONFIG: CXX

8369
m4/libtool.m4 vendored Normal file

File diff suppressed because it is too large Load Diff

437
m4/ltoptions.m4 vendored Normal file
View File

@@ -0,0 +1,437 @@
# Helper functions for option handling. -*- Autoconf -*-
#
# Copyright (C) 2004-2005, 2007-2009, 2011-2015 Free Software
# Foundation, Inc.
# Written by Gary V. Vaughan, 2004
#
# This file is free software; the Free Software Foundation gives
# unlimited permission to copy and/or distribute it, with or without
# modifications, as long as this notice is preserved.
# serial 8 ltoptions.m4
# This is to help aclocal find these macros, as it can't see m4_define.
AC_DEFUN([LTOPTIONS_VERSION], [m4_if([1])])
# _LT_MANGLE_OPTION(MACRO-NAME, OPTION-NAME)
# ------------------------------------------
m4_define([_LT_MANGLE_OPTION],
[[_LT_OPTION_]m4_bpatsubst($1__$2, [[^a-zA-Z0-9_]], [_])])
# _LT_SET_OPTION(MACRO-NAME, OPTION-NAME)
# ---------------------------------------
# Set option OPTION-NAME for macro MACRO-NAME, and if there is a
# matching handler defined, dispatch to it. Other OPTION-NAMEs are
# saved as a flag.
m4_define([_LT_SET_OPTION],
[m4_define(_LT_MANGLE_OPTION([$1], [$2]))dnl
m4_ifdef(_LT_MANGLE_DEFUN([$1], [$2]),
_LT_MANGLE_DEFUN([$1], [$2]),
[m4_warning([Unknown $1 option '$2'])])[]dnl
])
# _LT_IF_OPTION(MACRO-NAME, OPTION-NAME, IF-SET, [IF-NOT-SET])
# ------------------------------------------------------------
# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise.
m4_define([_LT_IF_OPTION],
[m4_ifdef(_LT_MANGLE_OPTION([$1], [$2]), [$3], [$4])])
# _LT_UNLESS_OPTIONS(MACRO-NAME, OPTION-LIST, IF-NOT-SET)
# -------------------------------------------------------
# Execute IF-NOT-SET unless all options in OPTION-LIST for MACRO-NAME
# are set.
m4_define([_LT_UNLESS_OPTIONS],
[m4_foreach([_LT_Option], m4_split(m4_normalize([$2])),
[m4_ifdef(_LT_MANGLE_OPTION([$1], _LT_Option),
[m4_define([$0_found])])])[]dnl
m4_ifdef([$0_found], [m4_undefine([$0_found])], [$3
])[]dnl
])
# _LT_SET_OPTIONS(MACRO-NAME, OPTION-LIST)
# ----------------------------------------
# OPTION-LIST is a space-separated list of Libtool options associated
# with MACRO-NAME. If any OPTION has a matching handler declared with
# LT_OPTION_DEFINE, dispatch to that macro; otherwise complain about
# the unknown option and exit.
m4_defun([_LT_SET_OPTIONS],
[# Set options
m4_foreach([_LT_Option], m4_split(m4_normalize([$2])),
[_LT_SET_OPTION([$1], _LT_Option)])
m4_if([$1],[LT_INIT],[
dnl
dnl Simply set some default values (i.e off) if boolean options were not
dnl specified:
_LT_UNLESS_OPTIONS([LT_INIT], [dlopen], [enable_dlopen=no
])
_LT_UNLESS_OPTIONS([LT_INIT], [win32-dll], [enable_win32_dll=no
])
dnl
dnl If no reference was made to various pairs of opposing options, then
dnl we run the default mode handler for the pair. For example, if neither
dnl 'shared' nor 'disable-shared' was passed, we enable building of shared
dnl archives by default:
_LT_UNLESS_OPTIONS([LT_INIT], [shared disable-shared], [_LT_ENABLE_SHARED])
_LT_UNLESS_OPTIONS([LT_INIT], [static disable-static], [_LT_ENABLE_STATIC])
_LT_UNLESS_OPTIONS([LT_INIT], [pic-only no-pic], [_LT_WITH_PIC])
_LT_UNLESS_OPTIONS([LT_INIT], [fast-install disable-fast-install],
[_LT_ENABLE_FAST_INSTALL])
_LT_UNLESS_OPTIONS([LT_INIT], [aix-soname=aix aix-soname=both aix-soname=svr4],
[_LT_WITH_AIX_SONAME([aix])])
])
])# _LT_SET_OPTIONS
## --------------------------------- ##
## Macros to handle LT_INIT options. ##
## --------------------------------- ##
# _LT_MANGLE_DEFUN(MACRO-NAME, OPTION-NAME)
# -----------------------------------------
m4_define([_LT_MANGLE_DEFUN],
[[_LT_OPTION_DEFUN_]m4_bpatsubst(m4_toupper([$1__$2]), [[^A-Z0-9_]], [_])])
# LT_OPTION_DEFINE(MACRO-NAME, OPTION-NAME, CODE)
# -----------------------------------------------
m4_define([LT_OPTION_DEFINE],
[m4_define(_LT_MANGLE_DEFUN([$1], [$2]), [$3])[]dnl
])# LT_OPTION_DEFINE
# dlopen
# ------
LT_OPTION_DEFINE([LT_INIT], [dlopen], [enable_dlopen=yes
])
AU_DEFUN([AC_LIBTOOL_DLOPEN],
[_LT_SET_OPTION([LT_INIT], [dlopen])
AC_DIAGNOSE([obsolete],
[$0: Remove this warning and the call to _LT_SET_OPTION when you
put the 'dlopen' option into LT_INIT's first parameter.])
])
dnl aclocal-1.4 backwards compatibility:
dnl AC_DEFUN([AC_LIBTOOL_DLOPEN], [])
# win32-dll
# ---------
# Declare package support for building win32 dll's.
LT_OPTION_DEFINE([LT_INIT], [win32-dll],
[enable_win32_dll=yes
case $host in
*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-cegcc*)
AC_CHECK_TOOL(AS, as, false)
AC_CHECK_TOOL(DLLTOOL, dlltool, false)
AC_CHECK_TOOL(OBJDUMP, objdump, false)
;;
esac
test -z "$AS" && AS=as
_LT_DECL([], [AS], [1], [Assembler program])dnl
test -z "$DLLTOOL" && DLLTOOL=dlltool
_LT_DECL([], [DLLTOOL], [1], [DLL creation program])dnl
test -z "$OBJDUMP" && OBJDUMP=objdump
_LT_DECL([], [OBJDUMP], [1], [Object dumper program])dnl
])# win32-dll
AU_DEFUN([AC_LIBTOOL_WIN32_DLL],
[AC_REQUIRE([AC_CANONICAL_HOST])dnl
_LT_SET_OPTION([LT_INIT], [win32-dll])
AC_DIAGNOSE([obsolete],
[$0: Remove this warning and the call to _LT_SET_OPTION when you
put the 'win32-dll' option into LT_INIT's first parameter.])
])
dnl aclocal-1.4 backwards compatibility:
dnl AC_DEFUN([AC_LIBTOOL_WIN32_DLL], [])
# _LT_ENABLE_SHARED([DEFAULT])
# ----------------------------
# implement the --enable-shared flag, and supports the 'shared' and
# 'disable-shared' LT_INIT options.
# DEFAULT is either 'yes' or 'no'. If omitted, it defaults to 'yes'.
m4_define([_LT_ENABLE_SHARED],
[m4_define([_LT_ENABLE_SHARED_DEFAULT], [m4_if($1, no, no, yes)])dnl
AC_ARG_ENABLE([shared],
[AS_HELP_STRING([--enable-shared@<:@=PKGS@:>@],
[build shared libraries @<:@default=]_LT_ENABLE_SHARED_DEFAULT[@:>@])],
[p=${PACKAGE-default}
case $enableval in
yes) enable_shared=yes ;;
no) enable_shared=no ;;
*)
enable_shared=no
# Look at the argument we got. We use all the common list separators.
lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR,
for pkg in $enableval; do
IFS=$lt_save_ifs
if test "X$pkg" = "X$p"; then
enable_shared=yes
fi
done
IFS=$lt_save_ifs
;;
esac],
[enable_shared=]_LT_ENABLE_SHARED_DEFAULT)
_LT_DECL([build_libtool_libs], [enable_shared], [0],
[Whether or not to build shared libraries])
])# _LT_ENABLE_SHARED
LT_OPTION_DEFINE([LT_INIT], [shared], [_LT_ENABLE_SHARED([yes])])
LT_OPTION_DEFINE([LT_INIT], [disable-shared], [_LT_ENABLE_SHARED([no])])
# Old names:
AC_DEFUN([AC_ENABLE_SHARED],
[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[shared])
])
AC_DEFUN([AC_DISABLE_SHARED],
[_LT_SET_OPTION([LT_INIT], [disable-shared])
])
AU_DEFUN([AM_ENABLE_SHARED], [AC_ENABLE_SHARED($@)])
AU_DEFUN([AM_DISABLE_SHARED], [AC_DISABLE_SHARED($@)])
dnl aclocal-1.4 backwards compatibility:
dnl AC_DEFUN([AM_ENABLE_SHARED], [])
dnl AC_DEFUN([AM_DISABLE_SHARED], [])
# _LT_ENABLE_STATIC([DEFAULT])
# ----------------------------
# implement the --enable-static flag, and support the 'static' and
# 'disable-static' LT_INIT options.
# DEFAULT is either 'yes' or 'no'. If omitted, it defaults to 'yes'.
m4_define([_LT_ENABLE_STATIC],
[m4_define([_LT_ENABLE_STATIC_DEFAULT], [m4_if($1, no, no, yes)])dnl
AC_ARG_ENABLE([static],
[AS_HELP_STRING([--enable-static@<:@=PKGS@:>@],
[build static libraries @<:@default=]_LT_ENABLE_STATIC_DEFAULT[@:>@])],
[p=${PACKAGE-default}
case $enableval in
yes) enable_static=yes ;;
no) enable_static=no ;;
*)
enable_static=no
# Look at the argument we got. We use all the common list separators.
lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR,
for pkg in $enableval; do
IFS=$lt_save_ifs
if test "X$pkg" = "X$p"; then
enable_static=yes
fi
done
IFS=$lt_save_ifs
;;
esac],
[enable_static=]_LT_ENABLE_STATIC_DEFAULT)
_LT_DECL([build_old_libs], [enable_static], [0],
[Whether or not to build static libraries])
])# _LT_ENABLE_STATIC
LT_OPTION_DEFINE([LT_INIT], [static], [_LT_ENABLE_STATIC([yes])])
LT_OPTION_DEFINE([LT_INIT], [disable-static], [_LT_ENABLE_STATIC([no])])
# Old names:
AC_DEFUN([AC_ENABLE_STATIC],
[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[static])
])
AC_DEFUN([AC_DISABLE_STATIC],
[_LT_SET_OPTION([LT_INIT], [disable-static])
])
AU_DEFUN([AM_ENABLE_STATIC], [AC_ENABLE_STATIC($@)])
AU_DEFUN([AM_DISABLE_STATIC], [AC_DISABLE_STATIC($@)])
dnl aclocal-1.4 backwards compatibility:
dnl AC_DEFUN([AM_ENABLE_STATIC], [])
dnl AC_DEFUN([AM_DISABLE_STATIC], [])
# _LT_ENABLE_FAST_INSTALL([DEFAULT])
# ----------------------------------
# implement the --enable-fast-install flag, and support the 'fast-install'
# and 'disable-fast-install' LT_INIT options.
# DEFAULT is either 'yes' or 'no'. If omitted, it defaults to 'yes'.
m4_define([_LT_ENABLE_FAST_INSTALL],
[m4_define([_LT_ENABLE_FAST_INSTALL_DEFAULT], [m4_if($1, no, no, yes)])dnl
AC_ARG_ENABLE([fast-install],
[AS_HELP_STRING([--enable-fast-install@<:@=PKGS@:>@],
[optimize for fast installation @<:@default=]_LT_ENABLE_FAST_INSTALL_DEFAULT[@:>@])],
[p=${PACKAGE-default}
case $enableval in
yes) enable_fast_install=yes ;;
no) enable_fast_install=no ;;
*)
enable_fast_install=no
# Look at the argument we got. We use all the common list separators.
lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR,
for pkg in $enableval; do
IFS=$lt_save_ifs
if test "X$pkg" = "X$p"; then
enable_fast_install=yes
fi
done
IFS=$lt_save_ifs
;;
esac],
[enable_fast_install=]_LT_ENABLE_FAST_INSTALL_DEFAULT)
_LT_DECL([fast_install], [enable_fast_install], [0],
[Whether or not to optimize for fast installation])dnl
])# _LT_ENABLE_FAST_INSTALL
LT_OPTION_DEFINE([LT_INIT], [fast-install], [_LT_ENABLE_FAST_INSTALL([yes])])
LT_OPTION_DEFINE([LT_INIT], [disable-fast-install], [_LT_ENABLE_FAST_INSTALL([no])])
# Old names:
AU_DEFUN([AC_ENABLE_FAST_INSTALL],
[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[fast-install])
AC_DIAGNOSE([obsolete],
[$0: Remove this warning and the call to _LT_SET_OPTION when you put
the 'fast-install' option into LT_INIT's first parameter.])
])
AU_DEFUN([AC_DISABLE_FAST_INSTALL],
[_LT_SET_OPTION([LT_INIT], [disable-fast-install])
AC_DIAGNOSE([obsolete],
[$0: Remove this warning and the call to _LT_SET_OPTION when you put
the 'disable-fast-install' option into LT_INIT's first parameter.])
])
dnl aclocal-1.4 backwards compatibility:
dnl AC_DEFUN([AC_ENABLE_FAST_INSTALL], [])
dnl AC_DEFUN([AM_DISABLE_FAST_INSTALL], [])
# _LT_WITH_AIX_SONAME([DEFAULT])
# ----------------------------------
# implement the --with-aix-soname flag, and support the `aix-soname=aix'
# and `aix-soname=both' and `aix-soname=svr4' LT_INIT options. DEFAULT
# is either `aix', `both' or `svr4'. If omitted, it defaults to `aix'.
m4_define([_LT_WITH_AIX_SONAME],
[m4_define([_LT_WITH_AIX_SONAME_DEFAULT], [m4_if($1, svr4, svr4, m4_if($1, both, both, aix))])dnl
shared_archive_member_spec=
case $host,$enable_shared in
power*-*-aix[[5-9]]*,yes)
AC_MSG_CHECKING([which variant of shared library versioning to provide])
AC_ARG_WITH([aix-soname],
[AS_HELP_STRING([--with-aix-soname=aix|svr4|both],
[shared library versioning (aka "SONAME") variant to provide on AIX, @<:@default=]_LT_WITH_AIX_SONAME_DEFAULT[@:>@.])],
[case $withval in
aix|svr4|both)
;;
*)
AC_MSG_ERROR([Unknown argument to --with-aix-soname])
;;
esac
lt_cv_with_aix_soname=$with_aix_soname],
[AC_CACHE_VAL([lt_cv_with_aix_soname],
[lt_cv_with_aix_soname=]_LT_WITH_AIX_SONAME_DEFAULT)
with_aix_soname=$lt_cv_with_aix_soname])
AC_MSG_RESULT([$with_aix_soname])
if test aix != "$with_aix_soname"; then
# For the AIX way of multilib, we name the shared archive member
# based on the bitwidth used, traditionally 'shr.o' or 'shr_64.o',
# and 'shr.imp' or 'shr_64.imp', respectively, for the Import File.
# Even when GNU compilers ignore OBJECT_MODE but need '-maix64' flag,
# the AIX toolchain works better with OBJECT_MODE set (default 32).
if test 64 = "${OBJECT_MODE-32}"; then
shared_archive_member_spec=shr_64
else
shared_archive_member_spec=shr
fi
fi
;;
*)
with_aix_soname=aix
;;
esac
_LT_DECL([], [shared_archive_member_spec], [0],
[Shared archive member basename, for filename based shared library versioning on AIX])dnl
])# _LT_WITH_AIX_SONAME
LT_OPTION_DEFINE([LT_INIT], [aix-soname=aix], [_LT_WITH_AIX_SONAME([aix])])
LT_OPTION_DEFINE([LT_INIT], [aix-soname=both], [_LT_WITH_AIX_SONAME([both])])
LT_OPTION_DEFINE([LT_INIT], [aix-soname=svr4], [_LT_WITH_AIX_SONAME([svr4])])
# _LT_WITH_PIC([MODE])
# --------------------
# implement the --with-pic flag, and support the 'pic-only' and 'no-pic'
# LT_INIT options.
# MODE is either 'yes' or 'no'. If omitted, it defaults to 'both'.
m4_define([_LT_WITH_PIC],
[AC_ARG_WITH([pic],
[AS_HELP_STRING([--with-pic@<:@=PKGS@:>@],
[try to use only PIC/non-PIC objects @<:@default=use both@:>@])],
[lt_p=${PACKAGE-default}
case $withval in
yes|no) pic_mode=$withval ;;
*)
pic_mode=default
# Look at the argument we got. We use all the common list separators.
lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR,
for lt_pkg in $withval; do
IFS=$lt_save_ifs
if test "X$lt_pkg" = "X$lt_p"; then
pic_mode=yes
fi
done
IFS=$lt_save_ifs
;;
esac],
[pic_mode=m4_default([$1], [default])])
_LT_DECL([], [pic_mode], [0], [What type of objects to build])dnl
])# _LT_WITH_PIC
LT_OPTION_DEFINE([LT_INIT], [pic-only], [_LT_WITH_PIC([yes])])
LT_OPTION_DEFINE([LT_INIT], [no-pic], [_LT_WITH_PIC([no])])
# Old name:
AU_DEFUN([AC_LIBTOOL_PICMODE],
[_LT_SET_OPTION([LT_INIT], [pic-only])
AC_DIAGNOSE([obsolete],
[$0: Remove this warning and the call to _LT_SET_OPTION when you
put the 'pic-only' option into LT_INIT's first parameter.])
])
dnl aclocal-1.4 backwards compatibility:
dnl AC_DEFUN([AC_LIBTOOL_PICMODE], [])
## ----------------- ##
## LTDL_INIT Options ##
## ----------------- ##
m4_define([_LTDL_MODE], [])
LT_OPTION_DEFINE([LTDL_INIT], [nonrecursive],
[m4_define([_LTDL_MODE], [nonrecursive])])
LT_OPTION_DEFINE([LTDL_INIT], [recursive],
[m4_define([_LTDL_MODE], [recursive])])
LT_OPTION_DEFINE([LTDL_INIT], [subproject],
[m4_define([_LTDL_MODE], [subproject])])
m4_define([_LTDL_TYPE], [])
LT_OPTION_DEFINE([LTDL_INIT], [installable],
[m4_define([_LTDL_TYPE], [installable])])
LT_OPTION_DEFINE([LTDL_INIT], [convenience],
[m4_define([_LTDL_TYPE], [convenience])])

124
m4/ltsugar.m4 vendored Normal file
View File

@@ -0,0 +1,124 @@
# ltsugar.m4 -- libtool m4 base layer. -*-Autoconf-*-
#
# Copyright (C) 2004-2005, 2007-2008, 2011-2015 Free Software
# Foundation, Inc.
# Written by Gary V. Vaughan, 2004
#
# This file is free software; the Free Software Foundation gives
# unlimited permission to copy and/or distribute it, with or without
# modifications, as long as this notice is preserved.
# serial 6 ltsugar.m4
# This is to help aclocal find these macros, as it can't see m4_define.
AC_DEFUN([LTSUGAR_VERSION], [m4_if([0.1])])
# lt_join(SEP, ARG1, [ARG2...])
# -----------------------------
# Produce ARG1SEPARG2...SEPARGn, omitting [] arguments and their
# associated separator.
# Needed until we can rely on m4_join from Autoconf 2.62, since all earlier
# versions in m4sugar had bugs.
m4_define([lt_join],
[m4_if([$#], [1], [],
[$#], [2], [[$2]],
[m4_if([$2], [], [], [[$2]_])$0([$1], m4_shift(m4_shift($@)))])])
m4_define([_lt_join],
[m4_if([$#$2], [2], [],
[m4_if([$2], [], [], [[$1$2]])$0([$1], m4_shift(m4_shift($@)))])])
# lt_car(LIST)
# lt_cdr(LIST)
# ------------
# Manipulate m4 lists.
# These macros are necessary as long as will still need to support
# Autoconf-2.59, which quotes differently.
m4_define([lt_car], [[$1]])
m4_define([lt_cdr],
[m4_if([$#], 0, [m4_fatal([$0: cannot be called without arguments])],
[$#], 1, [],
[m4_dquote(m4_shift($@))])])
m4_define([lt_unquote], $1)
# lt_append(MACRO-NAME, STRING, [SEPARATOR])
# ------------------------------------------
# Redefine MACRO-NAME to hold its former content plus 'SEPARATOR''STRING'.
# Note that neither SEPARATOR nor STRING are expanded; they are appended
# to MACRO-NAME as is (leaving the expansion for when MACRO-NAME is invoked).
# No SEPARATOR is output if MACRO-NAME was previously undefined (different
# than defined and empty).
#
# This macro is needed until we can rely on Autoconf 2.62, since earlier
# versions of m4sugar mistakenly expanded SEPARATOR but not STRING.
m4_define([lt_append],
[m4_define([$1],
m4_ifdef([$1], [m4_defn([$1])[$3]])[$2])])
# lt_combine(SEP, PREFIX-LIST, INFIX, SUFFIX1, [SUFFIX2...])
# ----------------------------------------------------------
# Produce a SEP delimited list of all paired combinations of elements of
# PREFIX-LIST with SUFFIX1 through SUFFIXn. Each element of the list
# has the form PREFIXmINFIXSUFFIXn.
# Needed until we can rely on m4_combine added in Autoconf 2.62.
m4_define([lt_combine],
[m4_if(m4_eval([$# > 3]), [1],
[m4_pushdef([_Lt_sep], [m4_define([_Lt_sep], m4_defn([lt_car]))])]]dnl
[[m4_foreach([_Lt_prefix], [$2],
[m4_foreach([_Lt_suffix],
]m4_dquote(m4_dquote(m4_shift(m4_shift(m4_shift($@)))))[,
[_Lt_sep([$1])[]m4_defn([_Lt_prefix])[$3]m4_defn([_Lt_suffix])])])])])
# lt_if_append_uniq(MACRO-NAME, VARNAME, [SEPARATOR], [UNIQ], [NOT-UNIQ])
# -----------------------------------------------------------------------
# Iff MACRO-NAME does not yet contain VARNAME, then append it (delimited
# by SEPARATOR if supplied) and expand UNIQ, else NOT-UNIQ.
m4_define([lt_if_append_uniq],
[m4_ifdef([$1],
[m4_if(m4_index([$3]m4_defn([$1])[$3], [$3$2$3]), [-1],
[lt_append([$1], [$2], [$3])$4],
[$5])],
[lt_append([$1], [$2], [$3])$4])])
# lt_dict_add(DICT, KEY, VALUE)
# -----------------------------
m4_define([lt_dict_add],
[m4_define([$1($2)], [$3])])
# lt_dict_add_subkey(DICT, KEY, SUBKEY, VALUE)
# --------------------------------------------
m4_define([lt_dict_add_subkey],
[m4_define([$1($2:$3)], [$4])])
# lt_dict_fetch(DICT, KEY, [SUBKEY])
# ----------------------------------
m4_define([lt_dict_fetch],
[m4_ifval([$3],
m4_ifdef([$1($2:$3)], [m4_defn([$1($2:$3)])]),
m4_ifdef([$1($2)], [m4_defn([$1($2)])]))])
# lt_if_dict_fetch(DICT, KEY, [SUBKEY], VALUE, IF-TRUE, [IF-FALSE])
# -----------------------------------------------------------------
m4_define([lt_if_dict_fetch],
[m4_if(lt_dict_fetch([$1], [$2], [$3]), [$4],
[$5],
[$6])])
# lt_dict_filter(DICT, [SUBKEY], VALUE, [SEPARATOR], KEY, [...])
# --------------------------------------------------------------
m4_define([lt_dict_filter],
[m4_if([$5], [], [],
[lt_join(m4_quote(m4_default([$4], [[, ]])),
lt_unquote(m4_split(m4_normalize(m4_foreach(_Lt_key, lt_car([m4_shiftn(4, $@)]),
[lt_if_dict_fetch([$1], _Lt_key, [$2], [$3], [_Lt_key ])])))))])[]dnl
])

23
m4/ltversion.m4 vendored Normal file
View File

@@ -0,0 +1,23 @@
# ltversion.m4 -- version numbers -*- Autoconf -*-
#
# Copyright (C) 2004, 2011-2015 Free Software Foundation, Inc.
# Written by Scott James Remnant, 2004
#
# This file is free software; the Free Software Foundation gives
# unlimited permission to copy and/or distribute it, with or without
# modifications, as long as this notice is preserved.
# @configure_input@
# serial 4179 ltversion.m4
# This file is part of GNU Libtool
m4_define([LT_PACKAGE_VERSION], [2.4.6])
m4_define([LT_PACKAGE_REVISION], [2.4.6])
AC_DEFUN([LTVERSION_VERSION],
[macro_version='2.4.6'
macro_revision='2.4.6'
_LT_DECL(, macro_version, 0, [Which release of libtool.m4 was used?])
_LT_DECL(, macro_revision, 0)
])

99
m4/lt~obsolete.m4 vendored Normal file
View File

@@ -0,0 +1,99 @@
# lt~obsolete.m4 -- aclocal satisfying obsolete definitions. -*-Autoconf-*-
#
# Copyright (C) 2004-2005, 2007, 2009, 2011-2015 Free Software
# Foundation, Inc.
# Written by Scott James Remnant, 2004.
#
# This file is free software; the Free Software Foundation gives
# unlimited permission to copy and/or distribute it, with or without
# modifications, as long as this notice is preserved.
# serial 5 lt~obsolete.m4
# These exist entirely to fool aclocal when bootstrapping libtool.
#
# In the past libtool.m4 has provided macros via AC_DEFUN (or AU_DEFUN),
# which have later been changed to m4_define as they aren't part of the
# exported API, or moved to Autoconf or Automake where they belong.
#
# The trouble is, aclocal is a bit thick. It'll see the old AC_DEFUN
# in /usr/share/aclocal/libtool.m4 and remember it, then when it sees us
# using a macro with the same name in our local m4/libtool.m4 it'll
# pull the old libtool.m4 in (it doesn't see our shiny new m4_define
# and doesn't know about Autoconf macros at all.)
#
# So we provide this file, which has a silly filename so it's always
# included after everything else. This provides aclocal with the
# AC_DEFUNs it wants, but when m4 processes it, it doesn't do anything
# because those macros already exist, or will be overwritten later.
# We use AC_DEFUN over AU_DEFUN for compatibility with aclocal-1.6.
#
# Anytime we withdraw an AC_DEFUN or AU_DEFUN, remember to add it here.
# Yes, that means every name once taken will need to remain here until
# we give up compatibility with versions before 1.7, at which point
# we need to keep only those names which we still refer to.
# This is to help aclocal find these macros, as it can't see m4_define.
AC_DEFUN([LTOBSOLETE_VERSION], [m4_if([1])])
m4_ifndef([AC_LIBTOOL_LINKER_OPTION], [AC_DEFUN([AC_LIBTOOL_LINKER_OPTION])])
m4_ifndef([AC_PROG_EGREP], [AC_DEFUN([AC_PROG_EGREP])])
m4_ifndef([_LT_AC_PROG_ECHO_BACKSLASH], [AC_DEFUN([_LT_AC_PROG_ECHO_BACKSLASH])])
m4_ifndef([_LT_AC_SHELL_INIT], [AC_DEFUN([_LT_AC_SHELL_INIT])])
m4_ifndef([_LT_AC_SYS_LIBPATH_AIX], [AC_DEFUN([_LT_AC_SYS_LIBPATH_AIX])])
m4_ifndef([_LT_PROG_LTMAIN], [AC_DEFUN([_LT_PROG_LTMAIN])])
m4_ifndef([_LT_AC_TAGVAR], [AC_DEFUN([_LT_AC_TAGVAR])])
m4_ifndef([AC_LTDL_ENABLE_INSTALL], [AC_DEFUN([AC_LTDL_ENABLE_INSTALL])])
m4_ifndef([AC_LTDL_PREOPEN], [AC_DEFUN([AC_LTDL_PREOPEN])])
m4_ifndef([_LT_AC_SYS_COMPILER], [AC_DEFUN([_LT_AC_SYS_COMPILER])])
m4_ifndef([_LT_AC_LOCK], [AC_DEFUN([_LT_AC_LOCK])])
m4_ifndef([AC_LIBTOOL_SYS_OLD_ARCHIVE], [AC_DEFUN([AC_LIBTOOL_SYS_OLD_ARCHIVE])])
m4_ifndef([_LT_AC_TRY_DLOPEN_SELF], [AC_DEFUN([_LT_AC_TRY_DLOPEN_SELF])])
m4_ifndef([AC_LIBTOOL_PROG_CC_C_O], [AC_DEFUN([AC_LIBTOOL_PROG_CC_C_O])])
m4_ifndef([AC_LIBTOOL_SYS_HARD_LINK_LOCKS], [AC_DEFUN([AC_LIBTOOL_SYS_HARD_LINK_LOCKS])])
m4_ifndef([AC_LIBTOOL_OBJDIR], [AC_DEFUN([AC_LIBTOOL_OBJDIR])])
m4_ifndef([AC_LTDL_OBJDIR], [AC_DEFUN([AC_LTDL_OBJDIR])])
m4_ifndef([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH], [AC_DEFUN([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH])])
m4_ifndef([AC_LIBTOOL_SYS_LIB_STRIP], [AC_DEFUN([AC_LIBTOOL_SYS_LIB_STRIP])])
m4_ifndef([AC_PATH_MAGIC], [AC_DEFUN([AC_PATH_MAGIC])])
m4_ifndef([AC_PROG_LD_GNU], [AC_DEFUN([AC_PROG_LD_GNU])])
m4_ifndef([AC_PROG_LD_RELOAD_FLAG], [AC_DEFUN([AC_PROG_LD_RELOAD_FLAG])])
m4_ifndef([AC_DEPLIBS_CHECK_METHOD], [AC_DEFUN([AC_DEPLIBS_CHECK_METHOD])])
m4_ifndef([AC_LIBTOOL_PROG_COMPILER_NO_RTTI], [AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_NO_RTTI])])
m4_ifndef([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE], [AC_DEFUN([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE])])
m4_ifndef([AC_LIBTOOL_PROG_COMPILER_PIC], [AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_PIC])])
m4_ifndef([AC_LIBTOOL_PROG_LD_SHLIBS], [AC_DEFUN([AC_LIBTOOL_PROG_LD_SHLIBS])])
m4_ifndef([AC_LIBTOOL_POSTDEP_PREDEP], [AC_DEFUN([AC_LIBTOOL_POSTDEP_PREDEP])])
m4_ifndef([LT_AC_PROG_EGREP], [AC_DEFUN([LT_AC_PROG_EGREP])])
m4_ifndef([LT_AC_PROG_SED], [AC_DEFUN([LT_AC_PROG_SED])])
m4_ifndef([_LT_CC_BASENAME], [AC_DEFUN([_LT_CC_BASENAME])])
m4_ifndef([_LT_COMPILER_BOILERPLATE], [AC_DEFUN([_LT_COMPILER_BOILERPLATE])])
m4_ifndef([_LT_LINKER_BOILERPLATE], [AC_DEFUN([_LT_LINKER_BOILERPLATE])])
m4_ifndef([_AC_PROG_LIBTOOL], [AC_DEFUN([_AC_PROG_LIBTOOL])])
m4_ifndef([AC_LIBTOOL_SETUP], [AC_DEFUN([AC_LIBTOOL_SETUP])])
m4_ifndef([_LT_AC_CHECK_DLFCN], [AC_DEFUN([_LT_AC_CHECK_DLFCN])])
m4_ifndef([AC_LIBTOOL_SYS_DYNAMIC_LINKER], [AC_DEFUN([AC_LIBTOOL_SYS_DYNAMIC_LINKER])])
m4_ifndef([_LT_AC_TAGCONFIG], [AC_DEFUN([_LT_AC_TAGCONFIG])])
m4_ifndef([AC_DISABLE_FAST_INSTALL], [AC_DEFUN([AC_DISABLE_FAST_INSTALL])])
m4_ifndef([_LT_AC_LANG_CXX], [AC_DEFUN([_LT_AC_LANG_CXX])])
m4_ifndef([_LT_AC_LANG_F77], [AC_DEFUN([_LT_AC_LANG_F77])])
m4_ifndef([_LT_AC_LANG_GCJ], [AC_DEFUN([_LT_AC_LANG_GCJ])])
m4_ifndef([AC_LIBTOOL_LANG_C_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_C_CONFIG])])
m4_ifndef([_LT_AC_LANG_C_CONFIG], [AC_DEFUN([_LT_AC_LANG_C_CONFIG])])
m4_ifndef([AC_LIBTOOL_LANG_CXX_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_CXX_CONFIG])])
m4_ifndef([_LT_AC_LANG_CXX_CONFIG], [AC_DEFUN([_LT_AC_LANG_CXX_CONFIG])])
m4_ifndef([AC_LIBTOOL_LANG_F77_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_F77_CONFIG])])
m4_ifndef([_LT_AC_LANG_F77_CONFIG], [AC_DEFUN([_LT_AC_LANG_F77_CONFIG])])
m4_ifndef([AC_LIBTOOL_LANG_GCJ_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_GCJ_CONFIG])])
m4_ifndef([_LT_AC_LANG_GCJ_CONFIG], [AC_DEFUN([_LT_AC_LANG_GCJ_CONFIG])])
m4_ifndef([AC_LIBTOOL_LANG_RC_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_RC_CONFIG])])
m4_ifndef([_LT_AC_LANG_RC_CONFIG], [AC_DEFUN([_LT_AC_LANG_RC_CONFIG])])
m4_ifndef([AC_LIBTOOL_CONFIG], [AC_DEFUN([AC_LIBTOOL_CONFIG])])
m4_ifndef([_LT_AC_FILE_LTDLL_C], [AC_DEFUN([_LT_AC_FILE_LTDLL_C])])
m4_ifndef([_LT_REQUIRED_DARWIN_CHECKS], [AC_DEFUN([_LT_REQUIRED_DARWIN_CHECKS])])
m4_ifndef([_LT_AC_PROG_CXXCPP], [AC_DEFUN([_LT_AC_PROG_CXXCPP])])
m4_ifndef([_LT_PREPARE_SED_QUOTE_VARS], [AC_DEFUN([_LT_PREPARE_SED_QUOTE_VARS])])
m4_ifndef([_LT_PROG_ECHO_BACKSLASH], [AC_DEFUN([_LT_PROG_ECHO_BACKSLASH])])
m4_ifndef([_LT_PROG_F77], [AC_DEFUN([_LT_PROG_F77])])
m4_ifndef([_LT_PROG_FC], [AC_DEFUN([_LT_PROG_FC])])
m4_ifndef([_LT_PROG_CXX], [AC_DEFUN([_LT_PROG_CXX])])

1
m4/makefile.am Normal file
View File

@@ -0,0 +1 @@
ACLOCAL_AMFLAGS -I m4

View File

@@ -232,22 +232,22 @@ am__distuninstallcheck_listfiles = $(distuninstallcheck_listfiles) \
distcleancheck_listfiles = find . -type f -print
ACLOCAL = ${SHELL} /afs/psi.ch/project/cafe/gitlab/CAFE/cpp/missing aclocal-1.13
AMTAR = $${TAR-tar}
AM_CPPFLAGS = -fexceptions -fPIC -std=c++1z -I/usr/local/epics/base/include/ -I/usr/local/epics/base/include/os/Linux -I/opt/gfa/cafe/boost/boost_1_61_0/include/boost -I/opt/gfa/cafe/boost/boost_1_61_0/include -I/opt/gfa/python-3.7/latest/include/qt -I/opt/gfa/python-3.7/latest/include/qt/QtCore -I/opt/gfa/python-3.7/latest/include/qt/QtXml -I$(top_srcdir)/include
AM_CPPFLAGS = -fexceptions -fPIC -std=c++1z -I/usr/local/epics/base-7.0.6/include/ -I/usr/local/epics/base-7.0.6/include/os/Linux -I/usr/local/epics/base-7.0.6/include/compiler/gcc -I/opt/gfa/cafe/boost/boost_1_61_0/include/boost -I/opt/gfa/cafe/boost/boost_1_61_0/include -I/opt/gfa/python-3.8/latest/include/python3.8 -I/opt/gfa/python-3.8/latest/lib/python3.8/site-packages/numpy/core/include -I/opt/gfa/python-3.8/latest/include/qt -I/opt/gfa/python-3.8/latest/include/qt/QtCore -I/opt/gfa/python-3.8/latest/include/qt/QtXml -I$(top_srcdir)/include
AM_DEFAULT_VERBOSITY = 1
AM_LDFLAGS = -L/usr/local/epics/base/lib/RHEL7-x86_64 -Wl,-rpath,/usr/local/epics/base/lib/RHEL7-x86_64 -L/opt/gfa/python-3.7/latest/lib -Wl,-rpath,/opt/gfa/python-3.7/latest/lib @CAFE_LIBS@
AM_LDFLAGS = -L/usr/local/epics/base-7.0.6/lib/RHEL7-x86_64 -Wl,-rpath,/usr/local/epics/base-7.0.6/lib/RHEL7-x86_64 -L/opt/gfa/python-3.8/latest/lib -Wl,-rpath,/opt/gfa/python-3.8/latest/lib -L/opt/gfa/python-3.8/latest/lib -Wl,-rpath,/opt/gfa/python-3.8/latest/lib @CAFE_LIBS@
AR = ar
AUTOCONF = ${SHELL} /afs/psi.ch/project/cafe/gitlab/CAFE/cpp/missing autoconf
AUTOHEADER = ${SHELL} /afs/psi.ch/project/cafe/gitlab/CAFE/cpp/missing autoheader
AUTOMAKE = ${SHELL} /afs/psi.ch/project/cafe/gitlab/CAFE/cpp/missing automake-1.13
AWK = gawk
CAFE_CPPFLAGS = -I$(top_srcdir)/include
CC = /opt/psi/Programming/gcc/7.3.0/bin/gcc
CC = /opt/psi/Programming/gcc/7.5.0/bin/gcc
CCDEPMODE = depmode=gcc3
CFLAGS = -g -O2
CPP = /opt/psi/Programming/gcc/7.3.0/bin/gcc -E
CPPFLAGS = -fexceptions -fPIC -std=c++1z -I/usr/local/epics/base/include/ -I/usr/local/epics/base/include/os/Linux -I/opt/gfa/cafe/boost/boost_1_61_0/include/boost -I/opt/gfa/cafe/boost/boost_1_61_0/include -I/opt/gfa/python-3.7/latest/include/qt -I/opt/gfa/python-3.7/latest/include/qt/QtCore -I/opt/gfa/python-3.7/latest/include/qt/QtXml
CXX = /opt/psi/Programming/gcc/7.3.0/bin/g++
CXXCPP = /opt/psi/Programming/gcc/7.3.0/bin/g++ -E
CPP = /opt/psi/Programming/gcc/7.5.0/bin/gcc -E
CPPFLAGS = -fexceptions -fPIC -std=c++1z -I/usr/local/epics/base-7.0.6/include/ -I/usr/local/epics/base-7.0.6/include/os/Linux -I/usr/local/epics/base-7.0.6/include/compiler/gcc -I/opt/gfa/cafe/boost/boost_1_61_0/include/boost -I/opt/gfa/cafe/boost/boost_1_61_0/include -I/opt/gfa/python-3.8/latest/include/python3.8 -I/opt/gfa/python-3.8/latest/lib/python3.8/site-packages/numpy/core/include -I/opt/gfa/python-3.8/latest/include/qt -I/opt/gfa/python-3.8/latest/include/qt/QtCore -I/opt/gfa/python-3.8/latest/include/qt/QtXml
CXX = /opt/psi/Programming/gcc/7.5.0/bin/g++
CXXCPP = /opt/psi/Programming/gcc/7.5.0/bin/g++ -E
CXXDEPMODE = depmode=gcc3
CXXFLAGS = -g -O2
CYGPATH_W = echo
@@ -269,9 +269,9 @@ INSTALL_PROGRAM = ${INSTALL}
INSTALL_SCRIPT = ${INSTALL}
INSTALL_STRIP_PROGRAM = $(install_sh) -c -s
LD = /usr/bin/ld -m elf_x86_64
LDFLAGS = -L/usr/local/epics/base/lib/RHEL7-x86_64 -Wl,-rpath,/usr/local/epics/base/lib/RHEL7-x86_64 -L/opt/gfa/python-3.7/latest/lib -Wl,-rpath,/opt/gfa/python-3.7/latest/lib
LDFLAGS = -L/usr/local/epics/base-7.0.6/lib/RHEL7-x86_64 -Wl,-rpath,/usr/local/epics/base-7.0.6/lib/RHEL7-x86_64 -L/opt/gfa/python-3.8/latest/lib -Wl,-rpath,/opt/gfa/python-3.8/latest/lib -L/opt/gfa/python-3.8/latest/lib -Wl,-rpath,/opt/gfa/python-3.8/latest/lib
LIBOBJS =
LIBS = -lQt5Xml -lQt5Core
LIBS = -lpython3.8
LIBTOOL = $(SHELL) $(top_builddir)/libtool
LIPO =
LN_S = ln -s
@@ -289,23 +289,23 @@ OTOOL64 =
PACKAGE = cafe
PACKAGE_BUGREPORT = Bug reports to: jan.chrin@psi.ch
PACKAGE_NAME = CAFE
PACKAGE_STRING = CAFE 1.14.4
PACKAGE_STRING = CAFE 1.19.0
PACKAGE_TARNAME = cafe
PACKAGE_URL =
PACKAGE_VERSION = 1.14.4
PACKAGE_VERSION = 1.19.0
PATH_SEPARATOR = :
RANLIB = ranlib
SED = /usr/bin/sed
SET_MAKE =
SHELL = /bin/sh
STRIP = strip
VERSION = 1.14.4
VERSION = 1.19.0
abs_builddir = /afs/psi.ch/project/cafe/gitlab/CAFE/cpp
abs_srcdir = /afs/psi.ch/project/cafe/gitlab/CAFE/cpp
abs_top_builddir = /afs/psi.ch/project/cafe/gitlab/CAFE/cpp
abs_top_srcdir = /afs/psi.ch/project/cafe/gitlab/CAFE/cpp
ac_ct_AR = ar
ac_ct_CC = /opt/psi/Programming/gcc/7.3.0/bin/gcc
ac_ct_CC = /opt/psi/Programming/gcc/7.5.0/bin/gcc
ac_ct_CXX =
ac_ct_DUMPBIN =
am__include = include
@@ -334,7 +334,7 @@ htmldir = ${docdir}
includedir = ${prefix}/include
infodir = ${datarootdir}/info
install_sh = ${SHELL} /afs/psi.ch/project/cafe/gitlab/CAFE/cpp/install-sh
libdir = /opt/gfa/cafe/cpp/cafe-1.14.4-gcc-7.3.0/lib/RHEL7-x86_64
libdir = /opt/gfa/cafe/cpp/cafe-1.19.0-py38-gcc-7.5.0/lib/RHEL7-x86_64
libexecdir = ${exec_prefix}/libexec
localedir = ${datarootdir}/locale
localstatedir = ${prefix}/var
@@ -342,7 +342,7 @@ mandir = ${datarootdir}/man
mkdir_p = $(MKDIR_P)
oldincludedir = /usr/include
pdfdir = ${docdir}
prefix = /opt/gfa/cafe/cpp/cafe-1.14.4-gcc-7.3.0
prefix = /opt/gfa/cafe/cpp/cafe-1.19.0-py38-gcc-7.5.0
program_transform_name = s,x,x,
psdir = ${docdir}
sbindir = ${exec_prefix}/sbin

View File

@@ -1 +1 @@
PyCafe_sls.cpp
PyCafe_sls_py38.cpp

File diff suppressed because it is too large Load Diff

166929
src/PyCafe_sls_py37.cpp Normal file

File diff suppressed because it is too large Load Diff

169336
src/PyCafe_sls_py38.cpp Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -20,7 +20,6 @@
///
#include <cafe.h>
#include <conduitGroup.h>
#include <cafeEnum.h>
@@ -34,7 +33,6 @@ using namespace std;
bool MUTEX=true;
bool CHECK_CONSISTENCY_CA_STATE=true;
bool SF_WITH_PULSE_ID = false;
epicsMutex cafeMutex;
vector<PVGroup> PVGroupV;
vector<PVGroup> PVGroupPseudo;
@@ -44,7 +42,122 @@ map<vector<unsigned int>, string> groupPseudoMap;
cafeGroup_set gs;
cafeConduit_set cs;
epicsMutex cafeMutex;
/*
int CAFE::wfExpress(const unsigned int handle) {
int status = ICAFE_NORMAL;
cafeConduit_set_by_handle & handle_index = cs.get<by_handle> ();
cafeConduit_set_by_handle::iterator it_handle;
it_handle = handle_index.find(handle);
if (it_handle != handle_index.end())
{
std::cout << "Initiate Callback =============" << std::endl;
status=(*it_handle).getWithCallback(CALLBACK_CAFE::handlerGet);
ca_flush_io();
}
return status;
}
*/
int CAFE::wfExpress(const unsigned int handle, const unsigned int nelem, dbr_char_t * chval) {
int status = ICAFE_NORMAL;
chval = new dbr_char_t[nelem];
//dbr_float_t * val = new dbr_float_t[nelem];
//cafeGranules.channelExecuteGet(handle);
cafeConduit_set_by_handle & handle_index = cs.get<by_handle> ();
cafeConduit_set_by_handle::iterator it_handle;
it_handle = handle_index.find(handle);
if (it_handle != handle_index.end())
{
std::cout << "Initiate Callback =============" << std::endl;
status=(*it_handle).getWithCallback(CALLBACK_CAFE::handlerGet);
ca_flush_io();
for (int i=0; i <20; ++i) {
#if HAVE_BOOST_THREAD
boost::this_thread::sleep_for(boost::chrono::milliseconds(50));
#else
#if HAVE_LINUX
sleep(0.05);
#endif
#endif
//std::cout << "iscb done " << cafeGranules.isGetCallbackDone(handle) << std::endl;
}
//(*it_handle).getWithCallback(CALLBACK_CAFE::handlerGet);
union db_access_val * PVDataL = (*it_handle).getDataBuffer();
for (unsigned int i=0; i<nelem; ++i) {
//val[i] = (dbr_float_t) (*(&((PVDataL)->tfltval.value)+i));
chval[i] = (dbr_char_t) (*(&((PVDataL)->tchrval.value)+i));
}
//memcpy( chval, &(&((PVDataL)->charval))[0], sizeof(dbr_char_t)*nelem);
std::cout << chval[0] << " //0//==> " << (short) chval[0] << std::endl;
std::cout << chval[1] << " //1//==> " << (short) chval[1] << std::endl;
}
delete [] chval;
return status;
//union db_access_val * data;
ChannelRegalia channelInfo;
CAFE::getChannelInfo(handle, channelInfo);
chid channelID = channelInfo.getChannelID();
dbr_time_char * data = (dbr_time_char *) malloc(dbr_size_n(DBR_TIME_CHAR, nelem));
//chval[0] = 2;
std::cout << channelID << " // " << nelem << std::endl;
//data = (db_access_val *) malloc (dbr_size_n(DBR_CHAR, nelem) );
status = ca_array_get(DBR_TIME_CHAR, nelem, channelID, data);
status = ca_pend_io(4.1);
std::cout << status << " // " << nelem << std::endl;
if (status == ICAFE_NORMAL) {
dbr_char_t * value = & data->value;
std::cout << value[0] << "///" << (short) value[0] << std::endl;
std::cout << value[1] << "///" << (short) value[1] << std::endl;
}
//memcpy(chval, &((data)->charval), nelem*sizeof(dbr_char_t));
/*
for (unsigned int i=0; i<nelem; ++i)
{
chval[i] = (unsigned short) value[i]; //(*(&((data)->charval)+i));
}
std::cout << chval[0] << "///" << (unsigned short) chval[0] << std::endl;
*/
free(data);
return status;
}
//5+ long long
@@ -5131,7 +5244,13 @@ int CAFE::supplementHandlesV(std::vector<unsigned int> hV)
for (int ij=0; ij<20; ++ij) {
if (!initCallbackComplete(allHandles) ) {
//cout << "Will wait for " << ij << " " << (1+ij)*0.1 << " ======= SECONDS ==== " << endl;
usleep(100000); //tenth of a sec and loop over 2 sec
#if HAVE_BOOST_THREAD
boost::this_thread::sleep_for(boost::chrono::microseconds(100000)); //tenth of a sec and loop over 2 sec
#else
#if HAVE_LINUX
usleep(100000); //tenth of a sec and loop over 2 sec
#endif
#endif
}
}

View File

@@ -162,7 +162,7 @@ void MonitorPolicy::PyCallbackHandlerMonitor (struct event_handler_args args)
if (it_handle != handle_index.end())
{
if(MUTEX)
{
cafeMutex.lock();
@@ -175,7 +175,9 @@ void MonitorPolicy::PyCallbackHandlerMonitor (struct event_handler_args args)
cafeMutex.unlock();
}
#if HAVE_PYTHON_H
unsigned long monid = (unsigned long) (*it_handle).getUsrArgs();
MonitorPolicy mp = (*it_handle).getMonitorPolicy(monid);
ptime timeNow(microsec_clock::local_time());
@@ -199,13 +201,15 @@ void MonitorPolicy::PyCallbackHandlerMonitor (struct event_handler_args args)
else {
mp.setLastUpdate(timeNow);
handle_index.modify(it_handle, change_monitorPolicy(mp));
}
}
//cout << __FILE__ << "/" << __LINE__ << "/" << __METHOD__ << endl;
//(*it_handle).PyEventHandler();
//(*it_handle).CyEventHandler(); //pushes handle, pvname
(*it_handle).CyMonitorHandler();
#endif
}
else
{

View File

@@ -415,7 +415,7 @@ void * Conduit::CyDataEventHandler() const
void * Conduit::CyMonitorHandler() const
{
#define __METHOD__ "Conduit::CyMonitorHandler( "
#define __METHOD__ "Conduit::CyMonitorHandler() "
void * cythonCallback = NULL;
unsigned int ncbparameters = 1;
@@ -565,13 +565,14 @@ int Conduit::putWithCallback(pCallback callbackHandlerPut) const
int Conduit::get(void) const
{
#define __METHOD__ "Conduit::get(void) "
/* For testing readout time for waveforms!
/* For testing readout time for waveforms! */
/*
using namespace boost::posix_time;
ptime timeStart(microsec_clock::local_time());
double timeElapsed=0;
unsigned int nPoll=0;
for (int i=0; i< 100000; ++i) {
unsigned nevent = 10;
for (int i=0; i< nevent; ++i) {
ca_array_get(channelRequestMetaData.dbrDataType, channelRequestMetaData.nelem,
channelRegalia.channelID,dataBuffer);
}
@@ -580,13 +581,16 @@ int Conduit::get(void) const
timeElapsed= (double) duration.total_microseconds()/1000000.0;
std::cout << "Time Elapsed " << timeElapsed << std::endl;
*/
std::cout << "Time Elapsed/per event " << timeElapsed/nevent << std::endl;
*/
return ca_array_get(channelRequestMetaData.dbrDataType, channelRequestMetaData.nelem,
channelRegalia.channelID, dataBuffer);
#undef __METHOD__
};
/**
* \brief Called from Granules.cc \n
* Retrieves PV data through channel access into the Conduit::dataBuffer thru callbackHandlerGet
@@ -596,6 +600,52 @@ int Conduit::get(void) const
int Conduit::getWithCallback(pCallback callbackHandlerGet) const
{
#define __METHOD__ "Conduit::getCallback(pCallback callbackHandlerGet) "
//Need ca_pend_io and ca-flush_io!!
/*
if (channelRequestMetaData.nelem > 1) {
using namespace boost::posix_time;
ptime timeStart(microsec_clock::local_time());
double timeElapsed=0;
unsigned int nPoll=0;
unsigned int nevent = 1000;
std::cout << "NELM ==> " << channelRequestMetaData.nelem << std::endl;
for (int i=0; i< nevent; ++i) {
ca_array_get(channelRequestMetaData.dbrDataType, channelRequestMetaData.nelem,
channelRegalia.channelID,dataBuffer);
}
ptime timeEnd(microsec_clock::local_time());
time_duration duration(timeEnd-timeStart);
timeElapsed= (double) duration.total_microseconds()/1000000.0;
std::cout << "Time Elapsed nevents " << timeElapsed << " " << nevent << std::endl;
std::cout << "Time Elapsed/per event " << timeElapsed/nevent << std::endl;
ptime timeStart2(microsec_clock::local_time());
timeElapsed=0;
nPoll=0;
for (int i=0; i<nevent; ++i) {
ca_array_get_callback(channelRequestMetaData.dbrDataType, channelRequestMetaData.nelem,
channelRegalia.channelID,callbackHandlerGet,(void *) (long long) handle );
}
ptime timeEnd2(microsec_clock::local_time());
time_duration duration2(timeEnd2-timeStart2);
timeElapsed= (double) duration2.total_microseconds()/1000000.0;
std::cout << "Time Elapsed with CB " << timeElapsed << std::endl;
std::cout << "Time Elapsed/per event " << timeElapsed/nevent << std::endl;
}
*/
//std::cout << "Datatype " << channelRequestMetaData.dbrDataType << std::endl;
//std::cout << "Nelem " << channelRequestMetaData.nelem << std::endl;
//std::cout << "channelRegalia.channelID " << channelRegalia.channelID << std::endl;
//std::cout << "handle " << handle << std::endl;
return ca_array_get_callback(channelRequestMetaData.dbrDataType, channelRequestMetaData.nelem,
channelRegalia.channelID,callbackHandlerGet,(void *) (long long) handle );

View File

@@ -5,6 +5,8 @@
/// \version CAFE 1.6.0
///
#include <epicsMutex.h>
#include <connect.h>
#include <conduitFriends.h>
#include <conduitConnectionHandlerArgs.h>
@@ -24,7 +26,9 @@
#endif
#endif
using namespace std;
//epicsMutex cafeMutex;
/**
* \brief Return epics Version as an unsigned short \n
@@ -186,16 +190,17 @@ int Connect::createChannel(unsigned int handle, const char * pv, chid &pCh)
ChannelRequestStatus cre;
handleHelper.getChannelRequestStatusGet (handle, cre);
nPoll=0;
unsigned int microSecondsWait=2000;
while (cre.getCallbackProgressKind()==(CAFENUM::CallbackProgressKind) CAFENUM::PENDING
&& nPoll<50)
&& nPoll<200)
{
#if HAVE_BOOST_THREAD
boost::this_thread::sleep_for(boost::chrono::microseconds(2000));
boost::this_thread::sleep_for(boost::chrono::microseconds(microSecondsWait));
#else
#if HAVE_LINUX
usleep(2000);
usleep(microSecondsWait);
#endif
#endif
++nPoll;
@@ -205,12 +210,22 @@ int Connect::createChannel(unsigned int handle, const char * pv, chid &pCh)
//std::cout << __FILE__ << ":" << __LINE__ << " nPoll=" << nPoll << std::endl;
if ((*it_handle).isConnected() && cre.getCallbackProgressKind()==(CAFENUM::CallbackProgressKind) CAFENUM::PENDING)
{
std::cout << __FILE__ << ":" << __LINE__ << std::endl;
std::cout << "==================================" << std::endl;
std::cout << __FILE__ << ":" << __LINE__ << " pv = " << pv << std::endl;
std::cout << __METHOD__ << std::endl;
std::cout << handleHelper.getPVFromHandle(handle) << " with handle " << handle << std::endl;
std::cout << "Value of 1 is pending, Value of 2 is complete" << std::endl;
std::cout << "Get Callback PENDING for createChannel?: " << cre.getCallbackProgressKind() << std::endl;
std::cout << "Get Callback PENDING for createChannel?: " << cre.getCallbackProgressKind() << std::endl;
std::cout << "==================================" << std::endl;
}
if (nPoll > 140) {
std::cout << "==================================" << std::endl;
std::cout << __FILE__ << ":" << __LINE__ << " pv = " << pv << std::endl;
std::cout << __METHOD__ << std::endl;
std::cout << "nPoll = " << nPoll << std::endl;
std::cout << "Wait time for all callbacks for pv to complete = " << float(microSecondsWait)/1000000*nPoll << " sec" <<std::endl;
std::cout << "==================================" << std::endl;
}
}//if (channelOpenPolicy.getWhenToFlushSendBuffer()==FLUSH_AFTER_EACH_CHANNEL_CREATION)

View File

@@ -8,9 +8,9 @@
#include <connect.h>
#include <conduitFriends.h>
extern cafeConduit_set cs;
extern bool MUTEX;
extern epicsMutex cafeMutex;
//extern cafeConduit_set cs;
//extern bool MUTEX;
//extern epicsMutex cafeMutex;
/**
* Callback function for callbackHandlerAccessRights \n

View File

@@ -792,7 +792,7 @@ int Granules::channelVerifyGet(const unsigned int _handle, chtype _dbrType)
}
// This check of the datatype requested by client and that recorded in the hash table
// is now done in advance of CAFENUM::GET_CACHE_NO_CHECK check made in getCache in instanst.cpp
// is now done in advance of CAFENUM::GET_CACHE_NO_CHECK check made in getCache in instant.cpp
channelRequestMetaDataClient= (*it_handle).getChannelRequestMetaDataClient(); // 2
//2
@@ -927,7 +927,7 @@ int Granules::channelPrepareGet(const unsigned int _handle)
{
//cout << __METHOD__ << endl;
//cout << __METHOD__ << endl;
//cout << " channelRequestMetaData.getNelem() " << channelRequestMetaData.getNelem() << endl;
//cout << " channelRequestMetaDataClient.getNelem() " << channelRequestMetaDataClient.getNelem() << endl;
//cout << " channelRequestMetaDataClient.getOffset() " << channelRequestMetaDataClient.getOffset() << endl;

View File

@@ -928,7 +928,7 @@ int HandleHelper::getChannelRequestStatusGet (unsigned int _handle, Channel
*/
int HandleHelper::getChannelRegalia(unsigned int _handle, ChannelRegalia & channelInfo)
{
#define __METHOD__ "HandleHelper::getChannelInfo(unsigned int _handle, ChannelRegalia channelInfo)"
#define __METHOD__ "HandleHelper::getChannelRegalia(unsigned int _handle, ChannelRegalia channelInfo)"
cafeConduit_set_by_handle & handle_index=cs.get<by_handle>();
cafeConduit_set_by_handle::iterator it_handle;
it_handle = handle_index.find(_handle);

View File

@@ -78,11 +78,8 @@ PRE_UNINSTALL = :
POST_UNINSTALL = :
build_triplet = x86_64-unknown-linux-gnu
host_triplet = x86_64-unknown-linux-gnu
#if HAVE_PYCAFE_EXT_
#libcafe_la_SOURCES += PyCafe.cpp
#endif
#am__append_1 = zbsCafeService.cpp zbsDataHolders.cpp \
am__append_1 = PyCafe.cpp
#am__append_2 = zbsCafeService.cpp zbsDataHolders.cpp \
# bitshuffle/bitshuffle_core.c bitshuffle/bitshuffle.c bitshuffle/iochain.c
subdir = src
@@ -136,11 +133,13 @@ am__libcafe_la_SOURCES_DIST = cafe.cpp cafeCache.cpp cafeGroup.cpp \
handleHelper.cpp loadCollectionXMLParser.cpp \
loadGroupXMLParser.cpp methodCallbacks.cpp helper.cpp \
policyHelper.cpp conduitGroup.cpp connectGroup.cpp \
transpose.cpp restorePVGroupXMLParser.cpp zbsCafeService.cpp \
zbsDataHolders.cpp bitshuffle/bitshuffle_core.c \
bitshuffle/bitshuffle.c bitshuffle/iochain.c
transpose.cpp restorePVGroupXMLParser.cpp PyCafe.cpp \
zbsCafeService.cpp zbsDataHolders.cpp \
bitshuffle/bitshuffle_core.c bitshuffle/bitshuffle.c \
bitshuffle/iochain.c
am__objects_1 = PyCafe.lo
am__dirstamp = $(am__leading_dot)dirstamp
#am__objects_1 = zbsCafeService.lo zbsDataHolders.lo \
#am__objects_2 = zbsCafeService.lo zbsDataHolders.lo \
# bitshuffle/bitshuffle_core.lo \
# bitshuffle/bitshuffle.lo \
# bitshuffle/iochain.lo
@@ -151,7 +150,7 @@ am_libcafe_la_OBJECTS = cafe.lo cafeCache.lo cafeGroup.lo \
handleHelper.lo loadCollectionXMLParser.lo \
loadGroupXMLParser.lo methodCallbacks.lo helper.lo \
policyHelper.lo conduitGroup.lo connectGroup.lo transpose.lo \
restorePVGroupXMLParser.lo $(am__objects_1)
restorePVGroupXMLParser.lo $(am__objects_1) $(am__objects_2)
libcafe_la_OBJECTS = $(am_libcafe_la_OBJECTS)
AM_V_lt = $(am__v_lt_$(V))
am__v_lt_ = $(am__v_lt_$(AM_DEFAULT_VERBOSITY))
@@ -249,22 +248,22 @@ AMTAR = $${TAR-tar}
#if HAVE_PYTHON_
#libcafe_la_SOURCES += pycafe/PyCafe.cpp
#endif
AM_CPPFLAGS = -fexceptions -fPIC -std=c++1z -I/usr/local/epics/base/include/ -I/usr/local/epics/base/include/os/Linux -I/opt/gfa/cafe/boost/boost_1_61_0/include/boost -I/opt/gfa/cafe/boost/boost_1_61_0/include -I/opt/gfa/python-3.7/latest/include/qt -I/opt/gfa/python-3.7/latest/include/qt/QtCore -I/opt/gfa/python-3.7/latest/include/qt/QtXml -I$(top_srcdir)/include
AM_CPPFLAGS = -fexceptions -fPIC -std=c++1z -I/usr/local/epics/base-7.0.6/include/ -I/usr/local/epics/base-7.0.6/include/os/Linux -I/usr/local/epics/base-7.0.6/include/compiler/gcc -I/opt/gfa/cafe/boost/boost_1_61_0/include/boost -I/opt/gfa/cafe/boost/boost_1_61_0/include -I/opt/gfa/python-3.8/latest/include/python3.8 -I/opt/gfa/python-3.8/latest/lib/python3.8/site-packages/numpy/core/include -I/opt/gfa/python-3.8/latest/include/qt -I/opt/gfa/python-3.8/latest/include/qt/QtCore -I/opt/gfa/python-3.8/latest/include/qt/QtXml -I$(top_srcdir)/include
AM_DEFAULT_VERBOSITY = 1
AM_LDFLAGS = -L/usr/local/epics/base/lib/RHEL7-x86_64 -Wl,-rpath,/usr/local/epics/base/lib/RHEL7-x86_64 -L/opt/gfa/python-3.7/latest/lib -Wl,-rpath,/opt/gfa/python-3.7/latest/lib
AM_LDFLAGS = -L/usr/local/epics/base-7.0.6/lib/RHEL7-x86_64 -Wl,-rpath,/usr/local/epics/base-7.0.6/lib/RHEL7-x86_64 -L/opt/gfa/python-3.8/latest/lib -Wl,-rpath,/opt/gfa/python-3.8/latest/lib -L/opt/gfa/python-3.8/latest/lib -Wl,-rpath,/opt/gfa/python-3.8/latest/lib
AR = ar
AUTOCONF = ${SHELL} /afs/psi.ch/project/cafe/gitlab/CAFE/cpp/missing autoconf
AUTOHEADER = ${SHELL} /afs/psi.ch/project/cafe/gitlab/CAFE/cpp/missing autoheader
AUTOMAKE = ${SHELL} /afs/psi.ch/project/cafe/gitlab/CAFE/cpp/missing automake-1.13
AWK = gawk
CAFE_CPPFLAGS = -I$(top_srcdir)/include
CC = /opt/psi/Programming/gcc/7.3.0/bin/gcc
CC = /opt/psi/Programming/gcc/7.5.0/bin/gcc
CCDEPMODE = depmode=gcc3
CFLAGS = -g -O2
CPP = /opt/psi/Programming/gcc/7.3.0/bin/gcc -E
CPPFLAGS = -fexceptions -fPIC -std=c++1z -I/usr/local/epics/base/include/ -I/usr/local/epics/base/include/os/Linux -I/opt/gfa/cafe/boost/boost_1_61_0/include/boost -I/opt/gfa/cafe/boost/boost_1_61_0/include -I/opt/gfa/python-3.7/latest/include/qt -I/opt/gfa/python-3.7/latest/include/qt/QtCore -I/opt/gfa/python-3.7/latest/include/qt/QtXml
CXX = /opt/psi/Programming/gcc/7.3.0/bin/g++
CXXCPP = /opt/psi/Programming/gcc/7.3.0/bin/g++ -E
CPP = /opt/psi/Programming/gcc/7.5.0/bin/gcc -E
CPPFLAGS = -fexceptions -fPIC -std=c++1z -I/usr/local/epics/base-7.0.6/include/ -I/usr/local/epics/base-7.0.6/include/os/Linux -I/usr/local/epics/base-7.0.6/include/compiler/gcc -I/opt/gfa/cafe/boost/boost_1_61_0/include/boost -I/opt/gfa/cafe/boost/boost_1_61_0/include -I/opt/gfa/python-3.8/latest/include/python3.8 -I/opt/gfa/python-3.8/latest/lib/python3.8/site-packages/numpy/core/include -I/opt/gfa/python-3.8/latest/include/qt -I/opt/gfa/python-3.8/latest/include/qt/QtCore -I/opt/gfa/python-3.8/latest/include/qt/QtXml
CXX = /opt/psi/Programming/gcc/7.5.0/bin/g++
CXXCPP = /opt/psi/Programming/gcc/7.5.0/bin/g++ -E
CXXDEPMODE = depmode=gcc3
CXXFLAGS = -g -O2
CYGPATH_W = echo
@@ -286,9 +285,9 @@ INSTALL_PROGRAM = ${INSTALL}
INSTALL_SCRIPT = ${INSTALL}
INSTALL_STRIP_PROGRAM = $(install_sh) -c -s
LD = /usr/bin/ld -m elf_x86_64
LDFLAGS = -L/usr/local/epics/base/lib/RHEL7-x86_64 -Wl,-rpath,/usr/local/epics/base/lib/RHEL7-x86_64 -L/opt/gfa/python-3.7/latest/lib -Wl,-rpath,/opt/gfa/python-3.7/latest/lib
LDFLAGS = -L/usr/local/epics/base-7.0.6/lib/RHEL7-x86_64 -Wl,-rpath,/usr/local/epics/base-7.0.6/lib/RHEL7-x86_64 -L/opt/gfa/python-3.8/latest/lib -Wl,-rpath,/opt/gfa/python-3.8/latest/lib -L/opt/gfa/python-3.8/latest/lib -Wl,-rpath,/opt/gfa/python-3.8/latest/lib
LIBOBJS =
LIBS = -lQt5Xml -lQt5Core
LIBS = -lpython3.8
LIBTOOL = $(SHELL) $(top_builddir)/libtool
LIPO =
LN_S = ln -s
@@ -306,23 +305,23 @@ OTOOL64 =
PACKAGE = cafe
PACKAGE_BUGREPORT = Bug reports to: jan.chrin@psi.ch
PACKAGE_NAME = CAFE
PACKAGE_STRING = CAFE 1.14.4
PACKAGE_STRING = CAFE 1.19.0
PACKAGE_TARNAME = cafe
PACKAGE_URL =
PACKAGE_VERSION = 1.14.4
PACKAGE_VERSION = 1.19.0
PATH_SEPARATOR = :
RANLIB = ranlib
SED = /usr/bin/sed
SET_MAKE =
SHELL = /bin/sh
STRIP = strip
VERSION = 1.14.4
VERSION = 1.19.0
abs_builddir = /afs/psi.ch/project/cafe/gitlab/CAFE/cpp/src
abs_srcdir = /afs/psi.ch/project/cafe/gitlab/CAFE/cpp/src
abs_top_builddir = /afs/psi.ch/project/cafe/gitlab/CAFE/cpp
abs_top_srcdir = /afs/psi.ch/project/cafe/gitlab/CAFE/cpp
ac_ct_AR = ar
ac_ct_CC = /opt/psi/Programming/gcc/7.3.0/bin/gcc
ac_ct_CC = /opt/psi/Programming/gcc/7.5.0/bin/gcc
ac_ct_CXX =
ac_ct_DUMPBIN =
am__include = include
@@ -351,7 +350,7 @@ htmldir = ${docdir}
includedir = ${prefix}/include
infodir = ${datarootdir}/info
install_sh = ${SHELL} /afs/psi.ch/project/cafe/gitlab/CAFE/cpp/install-sh
libdir = /opt/gfa/cafe/cpp/cafe-1.14.4-gcc-7.3.0/lib/RHEL7-x86_64
libdir = /opt/gfa/cafe/cpp/cafe-1.19.0-py38-gcc-7.5.0/lib/RHEL7-x86_64
libexecdir = ${exec_prefix}/libexec
localedir = ${datarootdir}/locale
localstatedir = ${prefix}/var
@@ -359,7 +358,7 @@ mandir = ${datarootdir}/man
mkdir_p = $(MKDIR_P)
oldincludedir = /usr/include
pdfdir = ${docdir}
prefix = /opt/gfa/cafe/cpp/cafe-1.14.4-gcc-7.3.0
prefix = /opt/gfa/cafe/cpp/cafe-1.19.0-py38-gcc-7.5.0
program_transform_name = s,x,x,
psdir = ${docdir}
sbindir = ${exec_prefix}/sbin
@@ -379,7 +378,7 @@ lib_LTLIBRARIES = libcafe.la
#2nd: age
#3rd: revision
#1.9.1 1.10.2 1.11.0 1.11.1 1.12.0 1.12.1 1.12.2 1.12.4
libcafe_la_LDFLAGS = -version-info 15:4:14
libcafe_la_LDFLAGS = -version-info 20:0:19
libcafe_la_SOURCES = cafe.cpp cafeCache.cpp cafeGroup.cpp \
cafeVectors.cpp cafeXML.cpp callbackHandlerCreate.cpp \
callbackHandlerMonitor.cpp conduit.cpp connect.cpp \
@@ -387,7 +386,8 @@ libcafe_la_SOURCES = cafe.cpp cafeCache.cpp cafeGroup.cpp \
handleHelper.cpp loadCollectionXMLParser.cpp \
loadGroupXMLParser.cpp methodCallbacks.cpp helper.cpp \
policyHelper.cpp conduitGroup.cpp connectGroup.cpp \
transpose.cpp restorePVGroupXMLParser.cpp $(am__append_1)
transpose.cpp restorePVGroupXMLParser.cpp $(am__append_1) \
$(am__append_2)
all: all-am
.SUFFIXES:
@@ -481,6 +481,7 @@ mostlyclean-compile:
distclean-compile:
-rm -f *.tab.c
include ./$(DEPDIR)/PyCafe.Plo
include ./$(DEPDIR)/cafe.Plo
include ./$(DEPDIR)/cafeCache.Plo
include ./$(DEPDIR)/cafeGroup.Plo

View File

@@ -12,7 +12,7 @@ lib_LTLIBRARIES = libcafe.la
#2nd: age
#3rd: revision
#1.9.1 1.10.2 1.11.0 1.11.1 1.12.0 1.12.1 1.12.2 1.12.4
libcafe_la_LDFLAGS = -version-info 15:4:14
libcafe_la_LDFLAGS = -version-info 20:0:19
libcafe_la_SOURCES = cafe.cpp cafeCache.cpp cafeGroup.cpp cafeVectors.cpp cafeXML.cpp \
callbackHandlerCreate.cpp callbackHandlerMonitor.cpp conduit.cpp connect.cpp connectCallbacks.cpp \
@@ -21,9 +21,9 @@ libcafe_la_SOURCES = cafe.cpp cafeCache.cpp cafeGroup.cpp cafeVectors.cpp cafeXM
conduitGroup.cpp connectGroup.cpp transpose.cpp restorePVGroupXMLParser.cpp
#if HAVE_PYCAFE_EXT_
#libcafe_la_SOURCES += PyCafe.cpp
#endif
if HAVE_PYCAFE_EXT_
libcafe_la_SOURCES += PyCafe.cpp
endif
if HAVE_ZEROMQ_
libcafe_la_SOURCES += zbsCafeService.cpp zbsDataHolders.cpp \

View File

@@ -17,7 +17,7 @@ using namespace std;
//#include <PyCafe_api.h>
//#endif
#define RETURN_ON_ERROR true
#define RETURN_ON_ERROR false
#if HAVE_PYTHON_H
@@ -123,7 +123,7 @@ void CALLBACK_CAFE::PyHandlerGet( struct event_handler_args args)
if (it_handle != handle_index.end())
{
ChannelRequestStatus channelRequestStatusGet=(*it_handle).getChannelRequestStatusGet();
channelRequestStatusGet.setCallbackKind(false, true);
@@ -138,6 +138,7 @@ void CALLBACK_CAFE::PyHandlerGet( struct event_handler_args args)
{
cafeMutex.unlock();
}
(*it_handle).PyGetHandler();
}
else
@@ -161,17 +162,16 @@ void CALLBACK_CAFE::PyHandlerGet( struct event_handler_args args)
}
handle_index.modify(itcs, change_eventHandlerArgs (args));
handle_index.modify(itcs, change_channelRequestStatusGet(channelRequestStatusGet));
if(MUTEX)
{
cafeMutex.unlock();
}
//if HAVE_PYTHON_H
(*it_handle).PyGetHandler();
//endif
internalFlag=true;
break;
}
@@ -327,11 +327,13 @@ void CALLBACK_CAFE::handlerGet( struct event_handler_args args)
{
#define __METHOD__ "CALLBACK_CAFE::handlerGet"
if (args.status !=ECA_NORMAL)
if (args.status == ECA_NORMAL)
{
if ("X09DA-FE-CCD1:FPICTURE" == ca_name (args.chid) ) {
cout << __FILE__ << "/" << __LINE__ << "/" << __METHOD__ << endl;
cout << "Status=" << args.status << " for channel " << ca_name (args.chid) << endl;
if (RETURN_ON_ERROR == true) return;
}
}
unsigned int _handle = (unsigned long) args.usr; // ca_puser(args.chid);
@@ -349,7 +351,7 @@ void CALLBACK_CAFE::handlerGet( struct event_handler_args args)
{
cafeMutex.lock();
}
handle_index.modify(it_handle, change_eventHandlerArgs (args));
handle_index.modify(it_handle, change_eventHandlerArgs (args));
handle_index.modify(it_handle, change_channelRequestStatusGet(channelRequestStatusGet));
//cout << __METHOD__ << " CALLBACK DONE " << (*it_handle).getChannelRequestStatusGet().getCallbackProgressKind() << endl;
if(MUTEX)