diff --git a/autogen_psi.sh b/autogen_psi.sh index 48c93f0..64d6bd7 100644 --- a/autogen_psi.sh +++ b/autogen_psi.sh @@ -3,7 +3,7 @@ # default is sf # module unload gcc -module load gcc/7.3.0 +module load gcc/9.3.0 ### psi specific - end rm -f configure.ac @@ -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-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 diff --git a/autogen_psi.sh- b/autogen_psi.sh- new file mode 100644 index 0000000..6050ce6 --- /dev/null +++ b/autogen_psi.sh- @@ -0,0 +1,286 @@ +### psi specific - select compiler +#source +# default is sf +# +module unload gcc +module load gcc/9.4.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 +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.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") +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" = "py38" ] || + [ "$FACILITY" = "py37" ] || [ "$FACILITY" = "py35" ] || \ + [ "$FACILITY" = "julia" ] || [ "$FACILITY" = "cpp" ] || \ + [ "$FACILITY" = "cc" ] + 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" = "py38" ] || \ + [ "$CACLIENT" = "py37" ] || [ "$CACLIENT" = "py35" ] || \ + [ "$CACLIENT" = "julia" ] || [ "$CACLIENT" = "cpp" ] || \ + [ "$CACLIENT" = "cc" ] + then + echo "CA TARGET = " $CACLIENT + else + 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" ] + 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" + fi +fi + +if [ "$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" +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-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-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 + diff --git a/configurePSI.ac b/configurePSI.ac index 210ce06..46f0c65 100644 --- a/configurePSI.ac +++ b/configurePSI.ac @@ -412,6 +412,63 @@ 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] +) + +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] +) + +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 +507,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], [], @@ -488,7 +562,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 +612,7 @@ AC_ARG_ENABLE( HAVE_QT_4_=false] ) - + #Only if enable flag is set if test x$HAVE_QT_5_ == xtrue ; then @@ -556,7 +630,68 @@ 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 + + ## ##--------------------------------------------------------------------------- @@ -616,6 +751,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 diff --git a/configurePSI.ac- b/configurePSI.ac- new file mode 100644 index 0000000..210ce06 --- /dev/null +++ b/configurePSI.ac- @@ -0,0 +1,1052 @@ +## CAFE (Channel Access interFacE) +## Author: Jan Chrin, GFA, PSI +## +## configure.ac is processed by autoconf +## +## output: configure.in file for building the cafe library +## + +# 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_CONFIG_AUX_DIR(./) + +AC_CONFIG_MACRO_DIR([m4]) +m4_pattern_allow([AC_CONFIG_MACRO]) + +AM_INIT_AUTOMAKE([gnu subdir-objects]) +AC_CONFIG_SRCDIR([./include/cafe.h]) + +AC_LANG_CPLUSPLUS + +AC_CONFIG_HEADER([./include/config.h:./include/config.in]) +AC_PROG_CXX + +# library creation +AC_PROG_LIBTOOL +AM_PROG_LIBTOOL + +LT_PREREQ([2.4.6]) +LT_INIT + + +#AX_CHECK_COMPILE_FLAG([-std=c++14], [CPPFLAGS="$CPPFLAGS -std=c++14"]) + +AC_LANG([C++]) + +AC_DEFINE_UNQUOTED(HAVE_LINUX, 1, [linux dependency (sleep)]) + +CPPFLAGS=" -fexceptions -fPIC -std=c++1z" + +# provide include directories +AC_SUBST([CAFE_CPPFLAGS], '-I$(top_srcdir)/include ') + +##--------------------------------------------------------------------------- +##-- EPICS -- path and options +## +EPICS_PREFIX="" +EPICS_INCL_PATH="" +EPICS_LIB_PATH="" + + + +## Host Arch +if test x"${HOST_ARCH}" == x""; then + HOST_ARCH=Linux + #echo ${EPICS_HOST_ARCH} | grep -c 'SL6' + #echo ${EPICS_HOST_ARCH} | grep -c 'darwin' + if test x"${CAFE_HOST_FLAG_DARWIN}" == x"1"; then + HOST_ARCH=Darwin + fi + echo "HOST_ARCH="${HOST_ARCH} +fi + +echo "HOST_ARCH="${HOST_ARCH} + + +AC_ARG_ENABLE( + [epics3], + AC_HELP_STRING([--enable-epics3], + [enable epics use [default=no]]), + [HAVE_EPICS=true + HAVE_EPICS_3=true] +) + + +AC_ARG_ENABLE( + [epics7], + AC_HELP_STRING([--enable-epics7], + [enable epics use [default=no]]), + [HAVE_EPICS=true + HAVE_EPICS_7=true] +) + +if test x$HAVE_EPICS_3 == xtrue ; then + AC_ARG_WITH( + epics3, + AC_HELP_STRING( + [--with-epics3 location of EPICS], + [prefix where the epics libraries and include files are to be found]), + [#HAVE_EPICS=true + EPICS_PREFIX=$withval + EPICS_INCL_PATH="-I"${EPICS_PREFIX}"/include/ \ +-I"${EPICS_PREFIX}"/include/os/"${HOST_ARCH} + EPICS_LIB_PATH=${EPICS_PREFIX}"/lib/"${EPICS_HOST_ARCH} + ## Add epics release + EPICS_MAJOR_DEFAULT="3" + EPICS_MINOR_DEFAULT="14" + EPICS_PATCH_DEFAULT="12" + ] +) +fi + +if test x$HAVE_EPICS_7 == xtrue ; then + AC_ARG_WITH( + epics7, + AC_HELP_STRING( + [--with-epics7 location of EPICS], + [prefix where the epics libraries and include files are to be found]), + [#HAVE_EPICS=true + EPICS_PREFIX=$withval + EPICS_INCL_PATH="-I"${EPICS_PREFIX}"/include/ \ +-I"${EPICS_PREFIX}"/include/os/"${HOST_ARCH} + EPICS_INCL_PATH=${EPICS_INCL_PATH}" \ +-I"${EPICS_PREFIX}"/include/compiler/gcc" + EPICS_LIB_PATH=${EPICS_PREFIX}"/lib/"${EPICS_HOST_ARCH} + ## Add epics release + EPICS_MAJOR_DEFAULT="7" + EPICS_MINOR_DEFAULT="4" + EPICS_PATCH_DEFAULT="1" + ] +) +fi + +EPICS_MAJOR_REL=${EPICS_MAJOR_DEFAULT} +EPICS_MINOR_REL=${EPICS_MINOR_DEFAULT} +EPICS_PATCH_REL=${EPICS_PATCH_DEFAULT} + +#overwrite default with actual if determined +if test x"${CAFE_EPICS_V_MAJOR}" != x""; then + EPICS_MAJOR_REL=${CAFE_EPICS_V_MAJOR} +fi +if test x"${CAFE_EPICS_V_MINOR}" != x""; then + EPICS_MINOR_REL=${CAFE_EPICS_V_MINOR} +fi +if test x"${CAFE_EPICS_V_PATCH}" != x""; then + EPICS_PATCH_REL=${CAFE_EPICS_V_PATCH} +fi + +echo EPICS_MAJOR=$EPICS_MAJOR_REL +echo EPICS_MINOR=$EPICS_MINOR_REL +echo EPICS_PATCH=$EPICS_PATCH_REL + + +#echo "TEST ", $EPICS_LIB_PATH +## +##-- end EPICS -- path and options +##--------------------------------------------------------------------------- + +##=========================================================================== +##== Check for header files and libraries. +##=========================================================================== + +##--------------------------------------------------------------------------- +##-- EPICS -- check header files and libs +## +AC_LANG_PUSH([C++]) + +if test x$HAVE_EPICS == xtrue; then + + # Change flags: if all tests are successfull, accept these changes; if + # the tests are not successfull, use the old flags. + if test x"${EPICS_PREFIX}" != x"" ; then + TEMP_CPPFLAGS=${CPPFLAGS} + CPPFLAGS=${CPPFLAGS}" "${EPICS_INCL_PATH} + TEMP_LDFLAGS=${LDFLAGS} + LDFLAGS=${LDFLAGS}" -L"${EPICS_LIB_PATH}" -Wl,-rpath,"${EPICS_LIB_PATH} + fi + + if test x$HAVE_EPICS == xtrue ; then + AC_CHECK_HEADERS( + [cadef.h], + [HAVE_EPICS=true], + [HAVE_EPICS=true + AC_MSG_WARN(cadef.h not not found!)], + []) + fi + + if test x$HAVE_EPICS == xtrue ; then + AC_CHECK_HEADERS( + [epicsTypes.h], + [HAVE_EPICS=true], + [HAVE_EPICS=true + AC_MSG_WARN(epicsTypes.h not found!)], + []) + fi + + if test x$HAVE_EPICS == xtrue ; then + AC_CHECK_LIB(ca,[main], + [HAVE_EPICS=true], + [HAVE_EPICS=false + AC_MSG_WARN(libca either not found or not operational!)]) + fi + + if test x$HAVE_EPICS == xtrue ; then + AC_CHECK_LIB(Com,[main], + [HAVE_EPICS=true], + [HAVE_EPICS=false + AC_MSG_WARN(libCom either not found or not operational!)]) + fi + + if test x$HAVE_EPICS == xtrue ; then + AC_CHECK_LIB(dl,[main], + [HAVE_EPICS=true], + [HAVE_EPICS=false + AC_MSG_WARN(libdl either not found or not operational!)]) + fi + + # If all checks are OK we add rlog to the CXXFLAGS. + if test x$HAVE_EPICS != xtrue ; then + + if test x"${EPICS_PREFIX}" != x"" ; then + CPPFLAGS=${TEMP_CPPFLAGS} + LDFLAGS=${TEMP_LDFLAGS} + fi + fi + + echo "LDFLAGS__> $LDFLAGS " + + if test x$HAVE_EPICS == xtrue ; then + AC_DEFINE_UNQUOTED(HAVE_EPICS, ${EPICS_MAJOR_REL}.${EPICS_MINOR_REL}.${EPICS_PATCH_REL},[epics version]) + AC_DEFINE_UNQUOTED(EPICS_MAJOR,${EPICS_MAJOR_REL}, [epics major release]) + AC_DEFINE_UNQUOTED(EPICS_MINOR,${EPICS_MINOR_REL}, [epics minor release]) + AC_DEFINE_UNQUOTED(EPICS_PATCH,${EPICS_PATCH_REL}, [epics patch release]) + echo "EPICS PATH ====================================>" ${EPICS_INCL_PATH} + echo "EPICS LIB ====================================>" ${EPICS_LIB_PATH} + fi +fi + +AC_LANG_POP + +## +##-- end EPICS -- check header files and libs +##--------------------------------------------------------------------------- + + +##--------------------------------------------------------------------------- +##-- BOOST -- path and options - +##-- Boost libraries are mainly header-only, i.e. they consist of header files +##-- containing templates and inline functions, and require no separately-compiled +##-- library binaries or special treatment when linking +## +BOOST_PREFIX="" +BOOST_INCL_PATH="" +BOOST_LIB_PATH="" +BOOST_OPTION="" + +AC_ARG_ENABLE( + [boost-inc], + AC_HELP_STRING([--enable-boost-inc], + [enable boost use [default=no]]), + [HAVE_BOOST_=true] +) + +AC_ARG_WITH( + boost-inc, + AC_HELP_STRING([--with-boost-inc = location of BOOST], + [prefix giving the boost base directory]), + [#HAVE_BOOST_=true + BOOST_PREFIX=$withval + BOOST_INCL_PATH="-I"${BOOST_PREFIX}"/boost -I"${BOOST_PREFIX} + ] +) + +AC_ARG_ENABLE( + [boost-lib], + AC_HELP_STRING([--enable-boost-lib], + [enable boost lib use [default=no]]), + [HAVE_BOOST_LIB_=true] +) + +AC_ARG_WITH( + boost-lib, + AC_HELP_STRING([--with-boost-lib = location of BOOST], + [prefix giving the boost base directory]), + [#HAVE_BOOST_LIB=true + BOOST_LIB_PATH=$withval + ] +) + +## +##-- end BOOST -- path and options +##--------------------------------------------------------- + + + +##--------------------------------------------------------------------------- +##-- BOOST -- check header files (and lib if selected) only +## +AC_LANG_PUSH([C++]) + +if test x$HAVE_BOOST_LIB_ == xtrue ; then + + TEMP_LDFLAGS=${LDFLAGS} + LDFLAGS=${LDFLAGS}" -L"${BOOST_LIB_PATH}" -Wl,-rpath,"${BOOST_LIB_PATH} + #echo ${BOOST_LIB_PATH} + #echo ${LDFLAGS} + + if test x$HAVE_BOOST_LIB_ == xtrue ; then + AC_CHECK_LIB(boost_thread,[main], + [], + [HAVE_BOOST_LIB=false + AC_MSG_WARN(boost_thread not found!)]) + fi + + # If all checks are OK we add boost lib version to the FLAGS. + if test x$HAVE_BOOST_LIB_ != xtrue ; then + LDFLAGS=${TEMP_LDFLAGS} + fi + + if test x$HAVE_BOOST_LIB_ == xtrue ; then + AC_DEFINE_UNQUOTED(HAVE_BOOST_THREAD, 1, [boost thread library]) + fi +fi + + +if test x$HAVE_BOOST_ == xtrue ; then + + # Change flags: if all tests are successful, accept these additions, + # else use the old flags. + if test x"${BOOST_PREFIX}" != x"" ; then + TEMP_CPPFLAGS=${CPPFLAGS} + CPPFLAGS=${CPPFLAGS}" "${BOOST_INCL_PATH} + echo ${BOOST_INCL_PATH} + echo ${CPPFLAGS} + fi + + if test x$HAVE_BOOST_ == xtrue ; then + AC_CHECK_HEADERS( + [multi_index_container.hpp], + [HAVE_BOOST_=true], + [HAVE_BOOST_=false + AC_MSG_WARN(multi_index_container.hpp not found!)], + []) + fi + + if test x$HAVE_BOOST_ != xtrue ; then + if test x"${BOOST_PREFIX}" != x"" ; then + CPPFLAGS=${TEMP_CPPFLAGS} + echo ${CPPFLAGS} + fi + fi + + if test x$HAVE_BOOST_ == xtrue ; then + AC_DEFINE_UNQUOTED(HAVE_BOOST, 1, [Availability of boost]) + echo "BOOST PATH ====================================>" ${BOOST_INCL_PATH} + fi +fi + +AC_LANG_POP + +## +##-- end BOOST-- check header files only +##----------------------------- + + +PYTHON_PREFIX="" +PYTHON_INCL_PATH="" +PYTHON_LIB_PATH="" +PYTHON_OPTION="" +##--------------------------------------------------------------------------- +##-- Python 3.5/3.7 -- path and options +##-- Python header files required for callbacks + + +AC_ARG_ENABLE( + [python35], + AC_HELP_STRING([--enable-python35], + [enable python use [default=no]]), + [HAVE_PYTHON_=true + HAVE_PY35_=true] +) + +if test x$HAVE_PY35_ == xtrue ; then + AC_ARG_WITH( + python35, + AC_HELP_STRING( + [--with-python35 = location of python], + [prefix giving the python base directory]), + [#HAVE_PYTHON_=true + PYTHON_PREFIX=$withval + PYTHON_INCL_PATH="-I"${PYTHON_PREFIX}/include/python3.5m + PYTHON_INCL_PATH=${PYTHON_INCL_PATH}" -I"${PYTHON_PREFIX}\ +"/lib/python3.5/site-packages/numpy/core/include" + PYTHON_LIB_PATH=${PYTHON_PREFIX}"/lib" + ] + ) +fi + +AC_ARG_ENABLE( + [python37], + AC_HELP_STRING([--enable-python37], + [enable python use [default=no]]), + [HAVE_PYTHON_=true + HAVE_PY37_=true + HAVE_PY35_=false] +) + +if test x$HAVE_PY37_ == xtrue ; then + AC_ARG_WITH( + python37, + AC_HELP_STRING( + [--with-python37 = location of python], + [prefix giving the python base directory]), + [#HAVE_PYTHON_=true + PYTHON_PREFIX=$withval + PYTHON_INCL_PATH="-I"${PYTHON_PREFIX}/include/python3.7m + PYTHON_INCL_PATH=${PYTHON_INCL_PATH}" -I"${PYTHON_PREFIX}\ +"/lib/python3.7/site-packages/numpy/core/include" + PYTHON_LIB_PATH=${PYTHON_PREFIX}"/lib" + ] + ) +fi + +## +##--------------------------------------------------------------------------- + + +## +##-- end PYTHON -- path and options +##--------------------------------------------------------------------------- + + + +##--------------------------------------------------------------------------- +##-- Python -- check header files and library +## +AC_LANG_PUSH([C++]) + +if test x$HAVE_PYTHON_ == xtrue ; then + + #Change flags: if all tests are successful, accept these additions, + # else use the old flags. + if test x"${PYTHON_PREFIX}" != x"" ; then + TEMP_CPPFLAGS=${CPPFLAGS} + CPPFLAGS=${CPPFLAGS}" "${PYTHON_INCL_PATH} + TEMP_LDFLAGS=${LDFLAGS} + LDFLAGS=${LDFLAGS}" -L"${PYTHON_LIB_PATH}" -Wl,-rpath,"${PYTHON_LIB_PATH} + echo ${PYTHON_INCL_PATH} + echo ${CPPFLAGS} + fi + + #if test x$HAVE_PYTHON_ == xtrue ; then + AC_CHECK_HEADERS( + [Python.h], + [HAVE_PYTHON_=true], + [HAVE_PYTHON_=false + AC_MSG_WARN(Python.h not found!)], + []) + #fi + + if test x$HAVE_PY37_ == xtrue ; then + + AC_CHECK_LIB(python3.7m,[main], [], + [HAVE_PYTHON_=false + AC_MSG_WARN(libpython3.7m not found!)] + ) + fi + + if test x$HAVE_PY35_ == xtrue ; then + + AC_CHECK_LIB(python3.5m,[main], [], + [HAVE_PYTHON_=false + AC_MSG_WARN(libpython3.5m not found!)] + ) + fi + + # If all checks are OK we add Qt version 4 to the FLAGS. + + if test x$HAVE_PYTHON_ != xtrue ; then + if test x"${PYTHON_PREFIX}" != x"" ; then + CPPFLAGS=${TEMP_CPPFLAGS} + LDFLAGS=${TEMP_LDFLAGS} + echo ${CPPFLAGS} + fi + fi + + + if test x$HAVE_PYTHON_ == xtrue ; then + AC_DEFINE_UNQUOTED(HAVE_PYTHON, 1, [Availability of python]) + ##_PYCAFE_EXT IF FLAG SET ELSE USE DEFAULT PYCAFE_API_H + AC_DEFINE_UNQUOTED(HAVE_PYCAFE_EXT, 1, [pycafe extern C]) + echo "PYTHON PATH ====================================>" ${PYTHON_INCL_PATH} + echo "PYTHON LIB ====================================>" ${PYTHON_LIB_PATH} + fi +fi + +AC_LANG_POP +## +##-- end Python 3.7 -- check header files and library +##----------------------------- + + + + + +##--------------------------------------------------------------------------- +##-- Qt4/5 -- path and options +## +QT_PREFIX="" +QT_INCL_PATH="" +QT_LIB_PATH="" + + +AC_ARG_ENABLE( + [qt4], + AC_HELP_STRING([--enable-qt4], + [enable Qt version 4 use [default=no]]), + [HAVE_QT_=true + HAVE_QT_4_=true] +) + + +#Only if enable flag is set +if test x$HAVE_QT_4_ == xtrue ; then + AC_ARG_WITH( + qt4, + AC_HELP_STRING([--with-qt4=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 + +AC_ARG_ENABLE( + [qt5], + AC_HELP_STRING([--enable-qt5], + [enable Qt version 5 use [default=no]]), + [HAVE_QT_=true + HAVE_QT_5_=true + HAVE_QT_4_=false] +) + + + +#Only if enable flag is set +if test x$HAVE_QT_5_ == xtrue ; then + AC_ARG_WITH( + qt5, + AC_HELP_STRING([--with-qt5=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 + +## +##--------------------------------------------------------------------------- + +##--------------------------------------------------------------------------- +##-- Qt version 5 -- check header files and libs +## +AC_LANG_PUSH([C++]) + +if test x$HAVE_QT_ == xtrue ; then + + # Change flags: if all tests are successfull, accept this changes; if + # the tests are not successfull, use the old flags. + if test x"${QT_PREFIX}" != x"" ; then + TEMP_CPPFLAGS=${CPPFLAGS} + CPPFLAGS=${CPPFLAGS}" "${QT_INCL_PATH} + TEMP_LDFLAGS=${LDFLAGS} + LDFLAGS=${LDFLAGS}" -L"${QT_LIB_PATH}" -Wl,-rpath,"${QT_LIB_PATH} + fi + + + #if test x$HAVE_QT_ == xtrue ; then + AC_CHECK_HEADERS( + [qxml.h], + [HAVE_QT_=true], + [HAVE_QT_=false + AC_MSG_WARN(qxml.h not found!)], + []) + #fi + + + if test x$HAVE_QT_4_ == xtrue ; then + AC_CHECK_LIB(QtCore,[main], + [], + [HAVE_QT_=false + AC_MSG_WARN(libQtCore not found!)]) + fi + + if test x$HAVE_QT_4_ == xtrue ; then + AC_CHECK_LIB(QtXml,[main], + [], + [HAVE_QT_=false + AC_MSG_WARN(libQtXml not found!)]) + fi + + if test x$HAVE_QT_5_ == xtrue ; then + AC_CHECK_LIB(Qt5Core,[write], + [], + [HAVE_QT_=true #force true if there but not found + AC_MSG_WARN(libQt5Core not checked for!)]) + fi + + if test x$HAVE_QT_5_ == xtrue ; then + AC_CHECK_LIB(Qt5Xml,[qt_version_tag], + [], + [HAVE_QT_=true + AC_MSG_WARN(libQt5Xml not checked for!)]) + 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 + CPPFLAGS=${TEMP_CPPFLAGS} + LDFLAGS=${TEMP_LDFLAGS} + fi + fi + + if test x$HAVE_QT_ == xtrue ; then + AC_DEFINE_UNQUOTED(HAVE_QT, 1,[Availability of Qt version 5 confirmed]) + AC_DEFINE_UNQUOTED(HAVE_LIBQTXML, 1, [Availability of Qt version 5 confirmed]) + AC_DEFINE(QT_NO_VERSION_TAGGING, 1,[Availability of Qt version 5 confirmed]) + echo "QT PATH ====================================>" ${QT_INCL_PATH} + echo "QT LIB ====================================>" ${QT_LIB_PATH} + fi + +fi + +AC_LANG_POP +## +##-- end QT5 -- check header files and libs + + +##--------------------------------------------------------------------------- +##--------------------------------------------------------------------------- +##-- JSON -- path and options - +##-- JSON header files required +## + +JSON_PREFIX="" +JSON_INCL_PATH="" +JSON_LIB_PATH="" +JSON_OPTION="" + +AC_ARG_ENABLE( + [json], + AC_HELP_STRING([--enable-json-inc], + [enable json use [default=no]]), + [HAVE_JSON_=true] +) + + +if test x$HAVE_JSON_ == xtrue ; then + AC_ARG_WITH( + json, + AC_HELP_STRING( + [--with-json= location of json], + [prefix giving the json base directory]), + [HAVE_JSON_=true + JSON_PREFIX=$withval + JSON_INCL_PATH="-I"${JSON_PREFIX}"/include" + JSON_LIB_PATH=${JSON_PREFIX}"/libs/linux-gcc-6.3.0" + ] +) +fi +## +##-- end JSON -- path and options +##--------------------------------------------------------- + + + + +##--------------------------------------------------------------------------- +##-- JSON -- check header files only +## +AC_LANG_PUSH([C++]) + +if test x$HAVE_JSON_ == xtrue ; then + + # Change flags: if all tests are successful, accept these additions, + # else use the old flags. + if test x"${JSON_PREFIX}" != x"" ; then + TEMP_CPPFLAGS=${CPPFLAGS} + CPPFLAGS=${CPPFLAGS}" "${JSON_INCL_PATH} + TEMP_LDFLAGS=${LDFLAGS} + LDFLAGS=${LDFLAGS}" -L"${JSON_LIB_PATH}" -Wl,-rpath,"${JSON_LIB_PATH} + echo ${JSON_INCL_PATH} + echo ${CPPFLAGS} + fi + + #if test x$HAVE_JSON_ == xtrue ; then + AC_CHECK_HEADERS( + [json/json.h], + [HAVE_JSON_=true], + [HAVE_JSON_=false + AC_MSG_WARN(json.h not found!)], + []) + #fi + + + if test x$HAVE_JSON_ == xtrue ; then + AC_CHECK_LIB(json_linux-gcc-6.3.0_libmt,[main], + [], + [HAVE_JSON=false + AC_MSG_WARN(libjson_linux-gcc-6.3.0_libmt not found!)]) + fi + + + # If all checks are OK we add json to the FLAGS. + if test x$HAVE_JSON_ != xtrue ; then + if test x"${JSON_PREFIX}" != x"" ; then + CPPFLAGS=${TEMP_CPPFLAGS} + LDFLAGS=${TEMP_LDFLAGS} + echo ${CPPFLAGS} + fi + fi + + + if test x$HAVE_JSON_ == xtrue ; then + AC_DEFINE_UNQUOTED(HAVE_JSON, 1, [Availability of json]) + echo "JSON PATH ====================================>" ${JSON_INCL_PATH} + echo "JSON LIB ====================================>" ${JSON_LIB_PATH} + fi +fi + +AC_LANG_POP +## +##-- end JSON-- check header files only +##----------------------------- + +##--------------------------------------------------------------------------- +##--------------------------------------------------------------------------- +##-- Zeromq -- path and options - +##-- Zeromq header files required +## + +ZEROMQ_PREFIX="" +ZEROMQ_INCL_PATH="" +ZEROMQ_LIB_PATH="" +ZEROMQ_OPTION="" + +AC_ARG_ENABLE( + [zeromq], + AC_HELP_STRING([--enable-zeromq], + [enable zeromq use [default=no]]), + [HAVE_ZEROMQ_=true] +) + +if test x$HAVE_ZEROMQ_ == xtrue ; then + AC_ARG_WITH( + zeromq, + AC_HELP_STRING( + [--with-zeromq = location of zeromq], + [prefix giving the zeromq base directory]), + [HAVE_ZEROMQ_=true + ZEROMQ_PREFIX=$withval + ZEROMQ_INCL_PATH="-I"${ZEROMQ_PREFIX}"/include" + ZEROMQ_LIB_PATH=${ZEROMQ_PREFIX}"/lib" + ] + ) +fi + +## +##-- end ZEROMQ -- path and options +##--------------------------------------------------------- + + +##--------------------------------------------------------------------------- +##-- ZEROMQ -- check header files and library +# +AC_LANG_PUSH([C++]) + +if test x"$HAVE_ZEROMQ_" == xtrue ; then + + # Change flags: if all tests are successful, accept these additions, + # else use the old flags. + if test x"${ZEROMQ_PREFIX}" != x"" ; then + TEMP_CPPFLAGS=${CPPFLAGS} + CPPFLAGS=${CPPFLAGS}" "${ZEROMQ_INCL_PATH} + TEMP_LDFLAGS=${LDFLAGS} + LDFLAGS=${LDFLAGS}" -L"${ZEROMQ_LIB_PATH}" -Wl,-rpath,"${ZEROMQ_LIB_PATH} + echo ${ZEROMQ_INCL_PATH} + echo ${CPPFLAGS} + fi + + #if test x$HAVE_ZEROMQ_ == xtrue ; then + AC_CHECK_HEADERS( + [zmq.h], + [HAVE_ZEROMQ_=true], + [HAVE_ZEROMQ_=false + AC_MSG_WARN(zmq.h not found!)], + []) + #fi + + if test x$HAVE_ZEROMQ_ == xtrue ; then + AC_CHECK_LIB(zmq,[main], + [], + [HAVE_ZEROMQ_=false + AC_MSG_WARN(libzmq not found!)]) + fi + + + # If all checks are OK we add Zeromq to the FLAGS. + + if test x$HAVE_ZEROMQ_ != xtrue ; then + if test x"${ZEROMQ_PREFIX}" != x"" ; then + CPPFLAGS=${TEMP_CPPFLAGS} + LDFLAGS=${TEMP_LDFLAGS} + echo ${CPPFLAGS} + fi + fi + + + if test x$HAVE_ZEROMQ_ == xtrue ; then + AC_DEFINE_UNQUOTED(HAVE_ZEROMQ, 1, [Availability of zeromq]) + echo "ZMQ PATH ====================================>" ${ZEROMQ_INCL_PATH} + echo "ZMQ LIB ====================================>" ${ZEROMQ_LIB_PATH} + fi +fi + +AC_LANG_POP +## +##-- end ZEROMQ-- check header files and lib +##----------------------------- + + +##--------------------------------------------------------------------------- +##--------------------------------------------------------------------------- +##-- CURL -- path and options - +##-- CURL header files required +## + +CURL_PREFIX="" +CURL_INCL_PATH="" +CURL_LIB_PATH="" +CURL_OPTION="" + +AC_ARG_ENABLE( + [curl], + AC_HELP_STRING([--enable-curl], + [enable curl use [default=no]]), + [HAVE_CURL_=true] +) + +if test x$HAVE_CURL_ == xtrue ; then + AC_ARG_WITH( + curl, + AC_HELP_STRING( + [--with-curl = location of curl], + [prefix giving the curl base directory]), + [HAVE_CURL_=true + CURL_PREFIX=$withval + CURL_INCL_PATH="-I"${CURL_PREFIX}"/include" + CURL_LIB_PATH=${CURL_PREFIX}"/lib/.libs" + ] + ) +fi + +## +##-- end CURL -- path and options +##--------------------------------------------------------- + + +##--------------------------------------------------------------------------- +##-- CURL -- check header files only +## +AC_LANG_PUSH([C++]) + +if test x$HAVE_CURL_ == xtrue ; then + + # Change flags: if all tests are successful, accept these additions, + # else use the old flags. + if test x"${CURL_PREFIX}" != x"" ; then + TEMP_CPPFLAGS=${CPPFLAGS} + CPPFLAGS=${CPPFLAGS}" "${CURL_INCL_PATH} + TEMP_LDFLAGS=${LDFLAGS} + LDFLAGS=${LDFLAGS}" -L"${CURL_LIB_PATH}" -Wl,-rpath,"${CURL_LIB_PATH} + echo ${CURL_INCL_PATH} + echo ${CPPFLAGS} + fi + + #if test x$HAVE_CURL_ == xtrue ; then + AC_CHECK_HEADERS( + [curl/curl.h], + [HAVE_CURL_=true], + [HAVE_CURL_=false + AC_MSG_WARN(curl/curl.h not found!)], + []) + #fi + + if test x$HAVE_CURL_ == xtrue ; then + AC_CHECK_LIB(curl,[main], + [], + [HAVE_CURL=false + AC_MSG_WARN(libcurl not found!)]) + fi + + + # If all checks are OK we add curl to the FLAGS. + + if test x$HAVE_CURL_ != xtrue ; then + if test x"${CURL_PREFIX}" != x"" ; then + CPPFLAGS=${TEMP_CPPFLAGS} + LDFLAGS=${TEMP_LDFLAGS} + echo ${CPPFLAGS} + fi + fi + + + if test x$HAVE_CURL_ == xtrue ; then + AC_DEFINE_UNQUOTED(HAVE_CURL, 1, [Availability of curl]) + echo "CURL PATH ====================================>" ${CURL_INCL_PATH} + echo "CURL LIB ====================================>" ${CURL_LIB_PATH} + fi +fi + +AC_LANG_POP +## +##-- end CURL-- check header files only +##----------------------------- + + + +##--------------------------------------------------------------------------- +##--------------------------------------------------------------------------- +##-- LZ4 -- path and options - +##-- LZ4 header files required +## + +LZ4_PREFIX="" +LZ4_INCL_PATH="" +LZ4_LIB_PATH="" +LZ4_OPTION="" + +AC_ARG_ENABLE( + [lz4], + AC_HELP_STRING([--enable-lz4], + [enable LZ4 use [default=no]]), + [HAVE_LZ4_=true] +) + +if test x$HAVE_LZ4_ == xtrue ; then + AC_ARG_WITH( + lz4, + AC_HELP_STRING( + [--with-lz4 = location of lz4], + [prefix giving the lz4 base directory]), + [#HAVE_LZ4_=true + LZ4_PREFIX=$withval + LZ4_INCL_PATH="-I"${LZ4_PREFIX} + LZ4_LIB_PATH=${LZ4_PREFIX} + ] +) +fi + +## +##-- end LZ4 -- path and options +##--------------------------------------------------------- + + +##--------------------------------------------------------------------------- +##-- LZ4 -- check header files and library +## + +AC_LANG_PUSH([C++]) + +if test x$HAVE_LZ4_ == xtrue ; then + + # Change flags: if all tests are successful, accept these additions, + # else use the old flags. + if test x"${LZ4_PREFIX}" != x"" ; then + TEMP_CPPFLAGS=${CPPFLAGS} + CPPFLAGS=${CPPFLAGS}" "${LZ4_INCL_PATH} + TEMP_LDFLAGS=${LDFLAGS} + LDFLAGS=${LDFLAGS}" -L"${LZ4_LIB_PATH}" -Wl,-rpath,"${LZ4_LIB_PATH} + echo ${LZ4_INCL_PATH} + echo ${CPPFLAGS} + fi + + #if test x$HAVE_LZ4_ == xtrue ; then + AC_CHECK_HEADERS( + [lz4.h], + [HAVE_LZ4_=true], + [HAVE_LZ4_=false + AC_MSG_WARN(lz4.h not found!)], + []) + #fi + + if test x$HAVE_LZ4_ == xtrue ; then + AC_CHECK_LIB(lz4,[main], + [], + [HAVE_LZ4=false + AC_MSG_WARN(liblz4 not found!)]) + fi + + + # If all checks are OK we add LZ4 to the FLAGS. + + if test x$HAVE_LZ4_ != xtrue ; then + if test x"${LZ4_PREFIX}" != x"" ; then + CPPFLAGS=${TEMP_CPPFLAGS} + LDFLAGS=${TEMP_LDFLAGS} + echo ${CPPFLAGS} + fi + fi + + if test x$HAVE_LZ4_ == xtrue ; then + AC_DEFINE_UNQUOTED(HAVE_LZ4, 1, [Availability of LZ4]) + echo "LZ4 PATH ====================================>" ${LZ4_INCL_PATH} + echo "LZ4 LIB ====================================>" ${LZ4_LIB_PATH} + fi +fi + +AC_LANG_POP +## +##-- end LZ4-- check header files only +##----------------------------- + +CPPFLAGS=$CPPFLAGS +echo "REPORTING -> current CPPFLAGS = "$CPPFLAGS +LDFLAGS=$LDFLAGS +echo "REPORTING -> current LDFLAGS = "$LDFLAGS + +## +##-- end Check +##-- + +# Generate makefiles + +AC_SUBST(AM_CPPFLAGS, $CPPFLAGS) +AC_SUBST(AM_LDFLAGS, $LDFLAGS) + +#echo "HAVE_PYTHON_="$HAVE_PYTHON_ +#echo "HAVE_ZEROMQ_="$HAVE_ZEROMQ_ + +AM_CONDITIONAL(HAVE_PYTHON_, test x$HAVE_PYTHON_ == xtrue) +AM_CONDITIONAL(HAVE_PYCAFE_EXT_, test x$HAVE_PYTHON_ == xtrue) +AM_CONDITIONAL(HAVE_ZEROMQ_, test x$HAVE_ZEROMQ_ == xtrue) + +AC_CONFIG_FILES([makefile + src/makefile + include/makefile]) + +AC_OUTPUT diff --git a/configurePSI.ac-- b/configurePSI.ac-- new file mode 100644 index 0000000..605d6b1 --- /dev/null +++ b/configurePSI.ac-- @@ -0,0 +1,1118 @@ +## CAFE (Channel Access interFacE) +## Author: Jan Chrin, GFA, PSI +## +## configure.ac is processed by autoconf +## +## output: configure.in file for building the cafe library +## + +# 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_CONFIG_AUX_DIR(./) + +AC_CONFIG_MACRO_DIR([m4]) +m4_pattern_allow([AC_CONFIG_MACRO]) + +AM_INIT_AUTOMAKE([gnu subdir-objects]) +AC_CONFIG_SRCDIR([./include/cafe.h]) + +AC_LANG_CPLUSPLUS + +AC_CONFIG_HEADER([./include/config.h:./include/config.in]) +AC_PROG_CXX + +# library creation +AC_PROG_LIBTOOL +AM_PROG_LIBTOOL + +LT_PREREQ([2.4.6]) +LT_INIT + + +#AX_CHECK_COMPILE_FLAG([-std=c++14], [CPPFLAGS="$CPPFLAGS -std=c++14"]) + +AC_LANG([C++]) + +AC_DEFINE_UNQUOTED(HAVE_LINUX, 1, [linux dependency (sleep)]) + +CPPFLAGS=" -fexceptions -fPIC -std=c++1z" + +# provide include directories +AC_SUBST([CAFE_CPPFLAGS], '-I$(top_srcdir)/include ') + +##--------------------------------------------------------------------------- +##-- EPICS -- path and options +## +EPICS_PREFIX="" +EPICS_INCL_PATH="" +EPICS_LIB_PATH="" + + + +## Host Arch +if test x"${HOST_ARCH}" == x""; then + HOST_ARCH=Linux + #echo ${EPICS_HOST_ARCH} | grep -c 'SL6' + #echo ${EPICS_HOST_ARCH} | grep -c 'darwin' + if test x"${CAFE_HOST_FLAG_DARWIN}" == x"1"; then + HOST_ARCH=Darwin + fi + echo "HOST_ARCH="${HOST_ARCH} +fi + +echo "HOST_ARCH="${HOST_ARCH} + + +AC_ARG_ENABLE( + [epics3], + AC_HELP_STRING([--enable-epics3], + [enable epics use [default=no]]), + [HAVE_EPICS=true + HAVE_EPICS_3=true] +) + + +AC_ARG_ENABLE( + [epics7], + AC_HELP_STRING([--enable-epics7], + [enable epics use [default=no]]), + [HAVE_EPICS=true + HAVE_EPICS_7=true] +) + +if test x$HAVE_EPICS_3 == xtrue ; then + AC_ARG_WITH( + epics3, + AC_HELP_STRING( + [--with-epics3 location of EPICS], + [prefix where the epics libraries and include files are to be found]), + [#HAVE_EPICS=true + EPICS_PREFIX=$withval + EPICS_INCL_PATH="-I"${EPICS_PREFIX}"/include/ \ +-I"${EPICS_PREFIX}"/include/os/"${HOST_ARCH} + EPICS_LIB_PATH=${EPICS_PREFIX}"/lib/"${EPICS_HOST_ARCH} + ## Add epics release + EPICS_MAJOR_DEFAULT="3" + EPICS_MINOR_DEFAULT="14" + EPICS_PATCH_DEFAULT="12" + ] +) +fi + +if test x$HAVE_EPICS_7 == xtrue ; then + AC_ARG_WITH( + epics7, + AC_HELP_STRING( + [--with-epics7 location of EPICS], + [prefix where the epics libraries and include files are to be found]), + [#HAVE_EPICS=true + EPICS_PREFIX=$withval + EPICS_INCL_PATH="-I"${EPICS_PREFIX}"/include/ \ +-I"${EPICS_PREFIX}"/include/os/"${HOST_ARCH} + EPICS_INCL_PATH=${EPICS_INCL_PATH}" \ +-I"${EPICS_PREFIX}"/include/compiler/gcc" + EPICS_LIB_PATH=${EPICS_PREFIX}"/lib/"${EPICS_HOST_ARCH} + ## Add epics release + EPICS_MAJOR_DEFAULT="7" + EPICS_MINOR_DEFAULT="4" + EPICS_PATCH_DEFAULT="1" + ] +) +fi + +EPICS_MAJOR_REL=${EPICS_MAJOR_DEFAULT} +EPICS_MINOR_REL=${EPICS_MINOR_DEFAULT} +EPICS_PATCH_REL=${EPICS_PATCH_DEFAULT} + +#overwrite default with actual if determined +if test x"${CAFE_EPICS_V_MAJOR}" != x""; then + EPICS_MAJOR_REL=${CAFE_EPICS_V_MAJOR} +fi +if test x"${CAFE_EPICS_V_MINOR}" != x""; then + EPICS_MINOR_REL=${CAFE_EPICS_V_MINOR} +fi +if test x"${CAFE_EPICS_V_PATCH}" != x""; then + EPICS_PATCH_REL=${CAFE_EPICS_V_PATCH} +fi + +echo EPICS_MAJOR=$EPICS_MAJOR_REL +echo EPICS_MINOR=$EPICS_MINOR_REL +echo EPICS_PATCH=$EPICS_PATCH_REL + + +#echo "TEST ", $EPICS_LIB_PATH +## +##-- end EPICS -- path and options +##--------------------------------------------------------------------------- + +##=========================================================================== +##== Check for header files and libraries. +##=========================================================================== + +##--------------------------------------------------------------------------- +##-- EPICS -- check header files and libs +## +AC_LANG_PUSH([C++]) + +if test x$HAVE_EPICS == xtrue; then + + # Change flags: if all tests are successfull, accept these changes; if + # the tests are not successfull, use the old flags. + if test x"${EPICS_PREFIX}" != x"" ; then + TEMP_CPPFLAGS=${CPPFLAGS} + CPPFLAGS=${CPPFLAGS}" "${EPICS_INCL_PATH} + TEMP_LDFLAGS=${LDFLAGS} + LDFLAGS=${LDFLAGS}" -L"${EPICS_LIB_PATH}" -Wl,-rpath,"${EPICS_LIB_PATH} + fi + + if test x$HAVE_EPICS == xtrue ; then + AC_CHECK_HEADERS( + [cadef.h], + [HAVE_EPICS=true], + [HAVE_EPICS=true + AC_MSG_WARN(cadef.h not not found!)], + []) + fi + + if test x$HAVE_EPICS == xtrue ; then + AC_CHECK_HEADERS( + [epicsTypes.h], + [HAVE_EPICS=true], + [HAVE_EPICS=true + AC_MSG_WARN(epicsTypes.h not found!)], + []) + fi + + if test x$HAVE_EPICS == xtrue ; then + AC_CHECK_LIB(ca,[main], + [HAVE_EPICS=true], + [HAVE_EPICS=false + AC_MSG_WARN(libca either not found or not operational!)]) + fi + + if test x$HAVE_EPICS == xtrue ; then + AC_CHECK_LIB(Com,[main], + [HAVE_EPICS=true], + [HAVE_EPICS=false + AC_MSG_WARN(libCom either not found or not operational!)]) + fi + + if test x$HAVE_EPICS == xtrue ; then + AC_CHECK_LIB(dl,[main], + [HAVE_EPICS=true], + [HAVE_EPICS=false + AC_MSG_WARN(libdl either not found or not operational!)]) + fi + + # If all checks are OK we add rlog to the CXXFLAGS. + if test x$HAVE_EPICS != xtrue ; then + + if test x"${EPICS_PREFIX}" != x"" ; then + CPPFLAGS=${TEMP_CPPFLAGS} + LDFLAGS=${TEMP_LDFLAGS} + fi + fi + + echo "LDFLAGS__> $LDFLAGS " + + if test x$HAVE_EPICS == xtrue ; then + AC_DEFINE_UNQUOTED(HAVE_EPICS, ${EPICS_MAJOR_REL}.${EPICS_MINOR_REL}.${EPICS_PATCH_REL},[epics version]) + AC_DEFINE_UNQUOTED(EPICS_MAJOR,${EPICS_MAJOR_REL}, [epics major release]) + AC_DEFINE_UNQUOTED(EPICS_MINOR,${EPICS_MINOR_REL}, [epics minor release]) + AC_DEFINE_UNQUOTED(EPICS_PATCH,${EPICS_PATCH_REL}, [epics patch release]) + echo "EPICS PATH ====================================>" ${EPICS_INCL_PATH} + echo "EPICS LIB ====================================>" ${EPICS_LIB_PATH} + fi +fi + +AC_LANG_POP + +## +##-- end EPICS -- check header files and libs +##--------------------------------------------------------------------------- + + +##--------------------------------------------------------------------------- +##-- BOOST -- path and options - +##-- Boost libraries are mainly header-only, i.e. they consist of header files +##-- containing templates and inline functions, and require no separately-compiled +##-- library binaries or special treatment when linking +## +BOOST_PREFIX="" +BOOST_INCL_PATH="" +BOOST_LIB_PATH="" +BOOST_OPTION="" + +AC_ARG_ENABLE( + [boost-inc], + AC_HELP_STRING([--enable-boost-inc], + [enable boost use [default=no]]), + [HAVE_BOOST_=true] +) + +AC_ARG_WITH( + boost-inc, + AC_HELP_STRING([--with-boost-inc = location of BOOST], + [prefix giving the boost base directory]), + [#HAVE_BOOST_=true + BOOST_PREFIX=$withval + BOOST_INCL_PATH="-I"${BOOST_PREFIX}"/boost -I"${BOOST_PREFIX} + ] +) + +AC_ARG_ENABLE( + [boost-lib], + AC_HELP_STRING([--enable-boost-lib], + [enable boost lib use [default=no]]), + [HAVE_BOOST_LIB_=true] +) + +AC_ARG_WITH( + boost-lib, + AC_HELP_STRING([--with-boost-lib = location of BOOST], + [prefix giving the boost base directory]), + [#HAVE_BOOST_LIB=true + BOOST_LIB_PATH=$withval + ] +) + +## +##-- end BOOST -- path and options +##--------------------------------------------------------- + + + +##--------------------------------------------------------------------------- +##-- BOOST -- check header files (and lib if selected) only +## +AC_LANG_PUSH([C++]) + +if test x$HAVE_BOOST_LIB_ == xtrue ; then + + TEMP_LDFLAGS=${LDFLAGS} + LDFLAGS=${LDFLAGS}" -L"${BOOST_LIB_PATH}" -Wl,-rpath,"${BOOST_LIB_PATH} + #echo ${BOOST_LIB_PATH} + #echo ${LDFLAGS} + + if test x$HAVE_BOOST_LIB_ == xtrue ; then + AC_CHECK_LIB(boost_thread,[main], + [], + [HAVE_BOOST_LIB=false + AC_MSG_WARN(boost_thread not found!)]) + fi + + # If all checks are OK we add boost lib version to the FLAGS. + if test x$HAVE_BOOST_LIB_ != xtrue ; then + LDFLAGS=${TEMP_LDFLAGS} + fi + + if test x$HAVE_BOOST_LIB_ == xtrue ; then + AC_DEFINE_UNQUOTED(HAVE_BOOST_THREAD, 1, [boost thread library]) + fi +fi + + +if test x$HAVE_BOOST_ == xtrue ; then + + # Change flags: if all tests are successful, accept these additions, + # else use the old flags. + if test x"${BOOST_PREFIX}" != x"" ; then + TEMP_CPPFLAGS=${CPPFLAGS} + CPPFLAGS=${CPPFLAGS}" "${BOOST_INCL_PATH} + echo ${BOOST_INCL_PATH} + echo ${CPPFLAGS} + fi + + if test x$HAVE_BOOST_ == xtrue ; then + AC_CHECK_HEADERS( + [multi_index_container.hpp], + [HAVE_BOOST_=true], + [HAVE_BOOST_=false + AC_MSG_WARN(multi_index_container.hpp not found!)], + []) + fi + + if test x$HAVE_BOOST_ != xtrue ; then + if test x"${BOOST_PREFIX}" != x"" ; then + CPPFLAGS=${TEMP_CPPFLAGS} + echo ${CPPFLAGS} + fi + fi + + if test x$HAVE_BOOST_ == xtrue ; then + AC_DEFINE_UNQUOTED(HAVE_BOOST, 1, [Availability of boost]) + echo "BOOST PATH ====================================>" ${BOOST_INCL_PATH} + fi +fi + +AC_LANG_POP + +## +##-- end BOOST-- check header files only +##----------------------------- + + +PYTHON_PREFIX="" +PYTHON_INCL_PATH="" +PYTHON_LIB_PATH="" +PYTHON_OPTION="" +##--------------------------------------------------------------------------- +##-- Python 3.5/3.7 -- path and options +##-- Python header files required for callbacks + + +AC_ARG_ENABLE( + [python35], + AC_HELP_STRING([--enable-python35], + [enable python use [default=no]]), + [HAVE_PYTHON_=true + HAVE_PY35_=true] +) + +if test x$HAVE_PY35_ == xtrue ; then + AC_ARG_WITH( + python35, + AC_HELP_STRING( + [--with-python35 = location of python], + [prefix giving the python base directory]), + [#HAVE_PYTHON_=true + PYTHON_PREFIX=$withval + PYTHON_INCL_PATH="-I"${PYTHON_PREFIX}/include/python3.5m + PYTHON_INCL_PATH=${PYTHON_INCL_PATH}" -I"${PYTHON_PREFIX}\ +"/lib/python3.5/site-packages/numpy/core/include" + PYTHON_LIB_PATH=${PYTHON_PREFIX}"/lib" + ] + ) +fi + +AC_ARG_ENABLE( + [python37], + AC_HELP_STRING([--enable-python37], + [enable python use [default=no]]), + [HAVE_PYTHON_=true + HAVE_PY37_=true + HAVE_PY35_=false] +) + +if test x$HAVE_PY37_ == xtrue ; then + AC_ARG_WITH( + python37, + AC_HELP_STRING( + [--with-python37 = location of python], + [prefix giving the python base directory]), + [#HAVE_PYTHON_=true + PYTHON_PREFIX=$withval + PYTHON_INCL_PATH="-I"${PYTHON_PREFIX}/include/python3.7m + PYTHON_INCL_PATH=${PYTHON_INCL_PATH}" -I"${PYTHON_PREFIX}\ +"/lib/python3.7/site-packages/numpy/core/include" + PYTHON_LIB_PATH=${PYTHON_PREFIX}"/lib" + ] + ) +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] +) + +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 + +## +##--------------------------------------------------------------------------- + + +## +##-- end PYTHON -- path and options +##--------------------------------------------------------------------------- + + + +##--------------------------------------------------------------------------- +##-- Python -- check header files and library +## +AC_LANG_PUSH([C++]) + +if test x$HAVE_PYTHON_ == xtrue ; then + + #Change flags: if all tests are successful, accept these additions, + # else use the old flags. + if test x"${PYTHON_PREFIX}" != x"" ; then + TEMP_CPPFLAGS=${CPPFLAGS} + CPPFLAGS=${CPPFLAGS}" "${PYTHON_INCL_PATH} + TEMP_LDFLAGS=${LDFLAGS} + LDFLAGS=${LDFLAGS}" -L"${PYTHON_LIB_PATH}" -Wl,-rpath,"${PYTHON_LIB_PATH} + echo ${PYTHON_INCL_PATH} + echo ${CPPFLAGS} + fi + + #if test x$HAVE_PYTHON_ == xtrue ; then + AC_CHECK_HEADERS( + [Python.h], + [HAVE_PYTHON_=true], + [HAVE_PYTHON_=false + AC_MSG_WARN(Python.h 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], [], + [HAVE_PYTHON_=false + AC_MSG_WARN(libpython3.7m not found!)] + ) + fi + + if test x$HAVE_PY35_ == xtrue ; then + + AC_CHECK_LIB(python3.5m,[main], [], + [HAVE_PYTHON_=false + AC_MSG_WARN(libpython3.5m not found!)] + ) + fi + + # If all checks are OK we add Qt version 4 to the FLAGS. + + if test x$HAVE_PYTHON_ != xtrue ; then + if test x"${PYTHON_PREFIX}" != x"" ; then + CPPFLAGS=${TEMP_CPPFLAGS} + LDFLAGS=${TEMP_LDFLAGS} + echo ${CPPFLAGS} + fi + fi + + + if test x$HAVE_PYTHON_ == xtrue ; then + AC_DEFINE_UNQUOTED(HAVE_PYTHON, 1, [Availability of python]) + ##_PYCAFE_EXT IF FLAG SET ELSE USE DEFAULT PYCAFE_API_H + AC_DEFINE_UNQUOTED(HAVE_PYCAFE_EXT, 1, [pycafe extern C]) + echo "PYTHON PATH ====================================>" ${PYTHON_INCL_PATH} + echo "PYTHON LIB ====================================>" ${PYTHON_LIB_PATH} + fi +fi + +AC_LANG_POP +## +##-- end Python 3.7(3.8 -- check header files and library +##----------------------------- + + + + + +##--------------------------------------------------------------------------- +##-- Qt4/5 -- path and options +## +QT_PREFIX="" +QT_INCL_PATH="" +QT_LIB_PATH="" + + +AC_ARG_ENABLE( + [qt4], + AC_HELP_STRING([--enable-qt4], + [enable Qt version 4 use [default=no]]), + [HAVE_QT_=true + HAVE_QT_4_=true] +) + + +#Only if enable flag is set +if test x$HAVE_QT_4_ == xtrue ; then + AC_ARG_WITH( + qt4, + AC_HELP_STRING([--with-qt4=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 + +AC_ARG_ENABLE( + [qt5], + AC_HELP_STRING([--enable-qt5], + [enable Qt version 5 use [default=no]]), + [HAVE_QT_=true + HAVE_QT_5_=true + HAVE_QT_4_=false] +) + + + +#Only if enable flag is set +if test x$HAVE_QT_5_ == xtrue ; then + AC_ARG_WITH( + qt5, + AC_HELP_STRING([--with-qt5=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( + [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 + +## +##--------------------------------------------------------------------------- + +##--------------------------------------------------------------------------- +##-- Qt version 5 -- check header files and libs +## +AC_LANG_PUSH([C++]) + +if test x$HAVE_QT_ == xtrue ; then + + # Change flags: if all tests are successfull, accept this changes; if + # the tests are not successfull, use the old flags. + if test x"${QT_PREFIX}" != x"" ; then + TEMP_CPPFLAGS=${CPPFLAGS} + CPPFLAGS=${CPPFLAGS}" "${QT_INCL_PATH} + TEMP_LDFLAGS=${LDFLAGS} + LDFLAGS=${LDFLAGS}" -L"${QT_LIB_PATH}" -Wl,-rpath,"${QT_LIB_PATH} + fi + + + #if test x$HAVE_QT_ == xtrue ; then + AC_CHECK_HEADERS( + [qxml.h], + [HAVE_QT_=true], + [HAVE_QT_=false + AC_MSG_WARN(qxml.h not found!)], + []) + #fi + + + if test x$HAVE_QT_4_ == xtrue ; then + AC_CHECK_LIB(QtCore,[main], + [], + [HAVE_QT_=false + AC_MSG_WARN(libQtCore not found!)]) + fi + + if test x$HAVE_QT_4_ == xtrue ; then + AC_CHECK_LIB(QtXml,[main], + [], + [HAVE_QT_=false + AC_MSG_WARN(libQtXml not found!)]) + fi + + if test x$HAVE_QT_5_ == xtrue ; then + AC_CHECK_LIB(Qt5Core,[write], + [], + [HAVE_QT_=true #force true if there but not found + AC_MSG_WARN(libQt5Core not checked for!)]) + fi + + if test x$HAVE_QT_5_ == xtrue ; then + AC_CHECK_LIB(Qt5Xml,[qt_version_tag], + [], + [HAVE_QT_=true + AC_MSG_WARN(libQt5Xml not checked for!)]) + 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 + CPPFLAGS=${TEMP_CPPFLAGS} + LDFLAGS=${TEMP_LDFLAGS} + fi + fi + + if test x$HAVE_QT_ == xtrue ; then + AC_DEFINE_UNQUOTED(HAVE_QT, 1,[Availability of Qt version 5 confirmed]) + AC_DEFINE_UNQUOTED(HAVE_LIBQTXML, 1, [Availability of Qt version 5 confirmed]) + AC_DEFINE(QT_NO_VERSION_TAGGING, 1,[Availability of Qt version 5 confirmed]) + echo "QT PATH ====================================>" ${QT_INCL_PATH} + echo "QT LIB ====================================>" ${QT_LIB_PATH} + fi + +fi + +AC_LANG_POP +## +##-- end QT5 -- check header files and libs + + +##--------------------------------------------------------------------------- +##--------------------------------------------------------------------------- +##-- JSON -- path and options - +##-- JSON header files required +## + +JSON_PREFIX="" +JSON_INCL_PATH="" +JSON_LIB_PATH="" +JSON_OPTION="" + +AC_ARG_ENABLE( + [json], + AC_HELP_STRING([--enable-json-inc], + [enable json use [default=no]]), + [HAVE_JSON_=true] +) + + +if test x$HAVE_JSON_ == xtrue ; then + AC_ARG_WITH( + json, + AC_HELP_STRING( + [--with-json= location of json], + [prefix giving the json base directory]), + [HAVE_JSON_=true + JSON_PREFIX=$withval + JSON_INCL_PATH="-I"${JSON_PREFIX}"/include" + JSON_LIB_PATH=${JSON_PREFIX}"/libs/linux-gcc-6.3.0" + ] +) +fi +## +##-- end JSON -- path and options +##--------------------------------------------------------- + + + + +##--------------------------------------------------------------------------- +##-- JSON -- check header files only +## +AC_LANG_PUSH([C++]) + +if test x$HAVE_JSON_ == xtrue ; then + + # Change flags: if all tests are successful, accept these additions, + # else use the old flags. + if test x"${JSON_PREFIX}" != x"" ; then + TEMP_CPPFLAGS=${CPPFLAGS} + CPPFLAGS=${CPPFLAGS}" "${JSON_INCL_PATH} + TEMP_LDFLAGS=${LDFLAGS} + LDFLAGS=${LDFLAGS}" -L"${JSON_LIB_PATH}" -Wl,-rpath,"${JSON_LIB_PATH} + echo ${JSON_INCL_PATH} + echo ${CPPFLAGS} + fi + + #if test x$HAVE_JSON_ == xtrue ; then + AC_CHECK_HEADERS( + [json/json.h], + [HAVE_JSON_=true], + [HAVE_JSON_=false + AC_MSG_WARN(json.h not found!)], + []) + #fi + + + if test x$HAVE_JSON_ == xtrue ; then + AC_CHECK_LIB(json_linux-gcc-6.3.0_libmt,[main], + [], + [HAVE_JSON=false + AC_MSG_WARN(libjson_linux-gcc-6.3.0_libmt not found!)]) + fi + + + # If all checks are OK we add json to the FLAGS. + if test x$HAVE_JSON_ != xtrue ; then + if test x"${JSON_PREFIX}" != x"" ; then + CPPFLAGS=${TEMP_CPPFLAGS} + LDFLAGS=${TEMP_LDFLAGS} + echo ${CPPFLAGS} + fi + fi + + + if test x$HAVE_JSON_ == xtrue ; then + AC_DEFINE_UNQUOTED(HAVE_JSON, 1, [Availability of json]) + echo "JSON PATH ====================================>" ${JSON_INCL_PATH} + echo "JSON LIB ====================================>" ${JSON_LIB_PATH} + fi +fi + +AC_LANG_POP +## +##-- end JSON-- check header files only +##----------------------------- + +##--------------------------------------------------------------------------- +##--------------------------------------------------------------------------- +##-- Zeromq -- path and options - +##-- Zeromq header files required +## + +ZEROMQ_PREFIX="" +ZEROMQ_INCL_PATH="" +ZEROMQ_LIB_PATH="" +ZEROMQ_OPTION="" + +AC_ARG_ENABLE( + [zeromq], + AC_HELP_STRING([--enable-zeromq], + [enable zeromq use [default=no]]), + [HAVE_ZEROMQ_=true] +) + +if test x$HAVE_ZEROMQ_ == xtrue ; then + AC_ARG_WITH( + zeromq, + AC_HELP_STRING( + [--with-zeromq = location of zeromq], + [prefix giving the zeromq base directory]), + [HAVE_ZEROMQ_=true + ZEROMQ_PREFIX=$withval + ZEROMQ_INCL_PATH="-I"${ZEROMQ_PREFIX}"/include" + ZEROMQ_LIB_PATH=${ZEROMQ_PREFIX}"/lib" + ] + ) +fi + +## +##-- end ZEROMQ -- path and options +##--------------------------------------------------------- + + +##--------------------------------------------------------------------------- +##-- ZEROMQ -- check header files and library +# +AC_LANG_PUSH([C++]) + +if test x"$HAVE_ZEROMQ_" == xtrue ; then + + # Change flags: if all tests are successful, accept these additions, + # else use the old flags. + if test x"${ZEROMQ_PREFIX}" != x"" ; then + TEMP_CPPFLAGS=${CPPFLAGS} + CPPFLAGS=${CPPFLAGS}" "${ZEROMQ_INCL_PATH} + TEMP_LDFLAGS=${LDFLAGS} + LDFLAGS=${LDFLAGS}" -L"${ZEROMQ_LIB_PATH}" -Wl,-rpath,"${ZEROMQ_LIB_PATH} + echo ${ZEROMQ_INCL_PATH} + echo ${CPPFLAGS} + fi + + #if test x$HAVE_ZEROMQ_ == xtrue ; then + AC_CHECK_HEADERS( + [zmq.h], + [HAVE_ZEROMQ_=true], + [HAVE_ZEROMQ_=false + AC_MSG_WARN(zmq.h not found!)], + []) + #fi + + if test x$HAVE_ZEROMQ_ == xtrue ; then + AC_CHECK_LIB(zmq,[main], + [], + [HAVE_ZEROMQ_=false + AC_MSG_WARN(libzmq not found!)]) + fi + + + # If all checks are OK we add Zeromq to the FLAGS. + + if test x$HAVE_ZEROMQ_ != xtrue ; then + if test x"${ZEROMQ_PREFIX}" != x"" ; then + CPPFLAGS=${TEMP_CPPFLAGS} + LDFLAGS=${TEMP_LDFLAGS} + echo ${CPPFLAGS} + fi + fi + + + if test x$HAVE_ZEROMQ_ == xtrue ; then + AC_DEFINE_UNQUOTED(HAVE_ZEROMQ, 1, [Availability of zeromq]) + echo "ZMQ PATH ====================================>" ${ZEROMQ_INCL_PATH} + echo "ZMQ LIB ====================================>" ${ZEROMQ_LIB_PATH} + fi +fi + +AC_LANG_POP +## +##-- end ZEROMQ-- check header files and lib +##----------------------------- + + +##--------------------------------------------------------------------------- +##--------------------------------------------------------------------------- +##-- CURL -- path and options - +##-- CURL header files required +## + +CURL_PREFIX="" +CURL_INCL_PATH="" +CURL_LIB_PATH="" +CURL_OPTION="" + +AC_ARG_ENABLE( + [curl], + AC_HELP_STRING([--enable-curl], + [enable curl use [default=no]]), + [HAVE_CURL_=true] +) + +if test x$HAVE_CURL_ == xtrue ; then + AC_ARG_WITH( + curl, + AC_HELP_STRING( + [--with-curl = location of curl], + [prefix giving the curl base directory]), + [HAVE_CURL_=true + CURL_PREFIX=$withval + CURL_INCL_PATH="-I"${CURL_PREFIX}"/include" + CURL_LIB_PATH=${CURL_PREFIX}"/lib/.libs" + ] + ) +fi + +## +##-- end CURL -- path and options +##--------------------------------------------------------- + + +##--------------------------------------------------------------------------- +##-- CURL -- check header files only +## +AC_LANG_PUSH([C++]) + +if test x$HAVE_CURL_ == xtrue ; then + + # Change flags: if all tests are successful, accept these additions, + # else use the old flags. + if test x"${CURL_PREFIX}" != x"" ; then + TEMP_CPPFLAGS=${CPPFLAGS} + CPPFLAGS=${CPPFLAGS}" "${CURL_INCL_PATH} + TEMP_LDFLAGS=${LDFLAGS} + LDFLAGS=${LDFLAGS}" -L"${CURL_LIB_PATH}" -Wl,-rpath,"${CURL_LIB_PATH} + echo ${CURL_INCL_PATH} + echo ${CPPFLAGS} + fi + + #if test x$HAVE_CURL_ == xtrue ; then + AC_CHECK_HEADERS( + [curl/curl.h], + [HAVE_CURL_=true], + [HAVE_CURL_=false + AC_MSG_WARN(curl/curl.h not found!)], + []) + #fi + + if test x$HAVE_CURL_ == xtrue ; then + AC_CHECK_LIB(curl,[main], + [], + [HAVE_CURL=false + AC_MSG_WARN(libcurl not found!)]) + fi + + + # If all checks are OK we add curl to the FLAGS. + + if test x$HAVE_CURL_ != xtrue ; then + if test x"${CURL_PREFIX}" != x"" ; then + CPPFLAGS=${TEMP_CPPFLAGS} + LDFLAGS=${TEMP_LDFLAGS} + echo ${CPPFLAGS} + fi + fi + + + if test x$HAVE_CURL_ == xtrue ; then + AC_DEFINE_UNQUOTED(HAVE_CURL, 1, [Availability of curl]) + echo "CURL PATH ====================================>" ${CURL_INCL_PATH} + echo "CURL LIB ====================================>" ${CURL_LIB_PATH} + fi +fi + +AC_LANG_POP +## +##-- end CURL-- check header files only +##----------------------------- + + + +##--------------------------------------------------------------------------- +##--------------------------------------------------------------------------- +##-- LZ4 -- path and options - +##-- LZ4 header files required +## + +LZ4_PREFIX="" +LZ4_INCL_PATH="" +LZ4_LIB_PATH="" +LZ4_OPTION="" + +AC_ARG_ENABLE( + [lz4], + AC_HELP_STRING([--enable-lz4], + [enable LZ4 use [default=no]]), + [HAVE_LZ4_=true] +) + +if test x$HAVE_LZ4_ == xtrue ; then + AC_ARG_WITH( + lz4, + AC_HELP_STRING( + [--with-lz4 = location of lz4], + [prefix giving the lz4 base directory]), + [#HAVE_LZ4_=true + LZ4_PREFIX=$withval + LZ4_INCL_PATH="-I"${LZ4_PREFIX} + LZ4_LIB_PATH=${LZ4_PREFIX} + ] +) +fi + +## +##-- end LZ4 -- path and options +##--------------------------------------------------------- + + +##--------------------------------------------------------------------------- +##-- LZ4 -- check header files and library +## + +AC_LANG_PUSH([C++]) + +if test x$HAVE_LZ4_ == xtrue ; then + + # Change flags: if all tests are successful, accept these additions, + # else use the old flags. + if test x"${LZ4_PREFIX}" != x"" ; then + TEMP_CPPFLAGS=${CPPFLAGS} + CPPFLAGS=${CPPFLAGS}" "${LZ4_INCL_PATH} + TEMP_LDFLAGS=${LDFLAGS} + LDFLAGS=${LDFLAGS}" -L"${LZ4_LIB_PATH}" -Wl,-rpath,"${LZ4_LIB_PATH} + echo ${LZ4_INCL_PATH} + echo ${CPPFLAGS} + fi + + #if test x$HAVE_LZ4_ == xtrue ; then + AC_CHECK_HEADERS( + [lz4.h], + [HAVE_LZ4_=true], + [HAVE_LZ4_=false + AC_MSG_WARN(lz4.h not found!)], + []) + #fi + + if test x$HAVE_LZ4_ == xtrue ; then + AC_CHECK_LIB(lz4,[main], + [], + [HAVE_LZ4=false + AC_MSG_WARN(liblz4 not found!)]) + fi + + + # If all checks are OK we add LZ4 to the FLAGS. + + if test x$HAVE_LZ4_ != xtrue ; then + if test x"${LZ4_PREFIX}" != x"" ; then + CPPFLAGS=${TEMP_CPPFLAGS} + LDFLAGS=${TEMP_LDFLAGS} + echo ${CPPFLAGS} + fi + fi + + if test x$HAVE_LZ4_ == xtrue ; then + AC_DEFINE_UNQUOTED(HAVE_LZ4, 1, [Availability of LZ4]) + echo "LZ4 PATH ====================================>" ${LZ4_INCL_PATH} + echo "LZ4 LIB ====================================>" ${LZ4_LIB_PATH} + fi +fi + +AC_LANG_POP +## +##-- end LZ4-- check header files only +##----------------------------- + +CPPFLAGS=$CPPFLAGS +echo "REPORTING -> current CPPFLAGS = "$CPPFLAGS +LDFLAGS=$LDFLAGS +echo "REPORTING -> current LDFLAGS = "$LDFLAGS + +## +##-- end Check +##-- + +# Generate makefiles + +AC_SUBST(AM_CPPFLAGS, $CPPFLAGS) +AC_SUBST(AM_LDFLAGS, $LDFLAGS) + +#echo "HAVE_PYTHON_="$HAVE_PYTHON_ +#echo "HAVE_ZEROMQ_="$HAVE_ZEROMQ_ + +AM_CONDITIONAL(HAVE_PYTHON_, test x$HAVE_PYTHON_ == xtrue) +AM_CONDITIONAL(HAVE_PYCAFE_EXT_, test x$HAVE_PYTHON_ == xtrue) +AM_CONDITIONAL(HAVE_ZEROMQ_, test x$HAVE_ZEROMQ_ == xtrue) + +AC_CONFIG_FILES([makefile + src/makefile + include/makefile]) + +AC_OUTPUT diff --git a/examples/cafeTest/cafeTest b/examples/cafeTest/cafeTest index 5b902db..93c1c39 100755 Binary files a/examples/cafeTest/cafeTest and b/examples/cafeTest/cafeTest differ diff --git a/examples/cafeTest/makefile b/examples/cafeTest/makefile index 25d7e9b..77e9585 100644 --- a/examples/cafeTest/makefile +++ b/examples/cafeTest/makefile @@ -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 \ diff --git a/examples/cafeTest/makefile7 b/examples/cafeTest/makefile7 new file mode 100644 index 0000000..04cc7d3 --- /dev/null +++ b/examples/cafeTest/makefile7 @@ -0,0 +1,46 @@ +# +# Jan Chrin +# June 2016 +# +# Makefile to build a simple C++ cafe client +# + + +#CAFE version to link to +CAFE_VERSION=cafe-1.14.4-sls2-gcc-7.3.0 + +#PYTHON_INCLUDE=/opt/gfa/python-3.5/latest/include/python3.5m +#PYTHON_LIB=/opt/gfa/python-3.5/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$(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/gfa/python-3.7/latest/lib \ + -Wl,-rpath,/opt/gfa/python-3.7/latest/lib + +LIBS += -lcafe -lca -lCom -lQt5Core + +cafeTest: cafeTest.cc callbacks.h + g++ cafeTest.cc -o cafeTest \ + $(INCLUDE_PATH) $(LIB_DIR) $(LIBS) + +clean: + rm -f cafeTest.o cafeTest + diff --git a/include/conduit.h b/include/conduit.h index bd8d7d1..fc51673 100644 --- a/include/conduit.h +++ b/include/conduit.h @@ -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 getMonitorPolicyVector(void) const diff --git a/include/makefile b/include/makefile index 0b9bd28..5b63a7b 100644 --- a/include/makefile +++ b/include/makefile @@ -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/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/ioc/python/latest/include/python3.10 -I/ioc/python/latest/lib/python3.10/site-packages/numpy/core/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/lib/RHEL7-x86_64 -Wl,-rpath,/usr/local/epics/base/lib/RHEL7-x86_64 -L/ioc/python/latest/lib -Wl,-rpath,/ioc/python/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/9.3.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/9.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/ioc/python/latest/include/python3.10 -I/ioc/python/latest/lib/python3.10/site-packages/numpy/core/include +CXX = /opt/psi/Programming/gcc/9.3.0/bin/g++ +CXXCPP = /opt/psi/Programming/gcc/9.3.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/lib/RHEL7-x86_64 -Wl,-rpath,/usr/local/epics/base/lib/RHEL7-x86_64 -L/ioc/python/latest/lib -Wl,-rpath,/ioc/python/latest/lib LIBOBJS = -LIBS = -lQt5Xml -lQt5Core +LIBS = -lpython3.10 LIBTOOL = $(SHELL) $(top_builddir)/libtool LIPO = LN_S = ln -s @@ -261,7 +261,7 @@ 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/9.3.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.14.4-py310-gcc-9.3.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.14.4-py310-gcc-9.3.0 program_transform_name = s,x,x, psdir = ${docdir} sbindir = ${exec_prefix}/sbin diff --git a/libtool b/libtool index c2b1022..6eec343 100755 --- a/libtool +++ b/libtool @@ -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/9.3.0/bin/gcc" # LTCC compiler flags. LTCFLAGS="-g -O2" @@ -282,7 +282,7 @@ 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.x86_64_slp6/Programming/gcc/9.3.0/lib/gcc/x86_64-pc-linux-gnu/9.3.0 /afs/psi.ch/sys/psi.x86_64_slp6/Programming/gcc/9.3.0/lib/gcc /opt/psi/Programming/gcc/9.3.0/lib64 /afs/psi.ch/sys/psi.x86_64_slp6/Programming/gcc/9.3.0/lib64 /lib64 /usr/lib64 /opt/psi/Programming/gcc/9.3.0/lib /afs/psi.ch/sys/psi.x86_64_slp6/Programming/gcc/9.3.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 " @@ -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/9.3.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/9.3.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.x86_64_slp6/Programming/gcc/9.3.0/bin/../lib/gcc/x86_64-pc-linux-gnu/9.3.0 /afs/psi.ch/sys/psi.x86_64_slp6/Programming/gcc/9.3.0/bin/../lib/gcc /opt/psi/Programming/gcc/9.3.0/lib64/../lib64 /opt/psi/Programming/gcc/9.3.0/lib/../lib64 /afs/psi.ch/sys/psi.x86_64_slp6/Programming/gcc/9.3.0/bin/../lib/gcc/x86_64-pc-linux-gnu/9.3.0/../../../../lib64 /lib/../lib64 /usr/lib/../lib64 /opt/psi/Programming/gcc/9.3.0/lib64 /opt/psi/Programming/gcc/9.3.0/lib /afs/psi.ch/sys/psi.x86_64_slp6/Programming/gcc/9.3.0/bin/../lib/gcc/x86_64-pc-linux-gnu/9.3.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.x86_64_slp6/Programming/gcc/9.3.0/bin/../lib/gcc/x86_64-pc-linux-gnu/9.3.0/crtbeginS.o" +postdep_objects="/afs/psi.ch/sys/psi.x86_64_slp6/Programming/gcc/9.3.0/bin/../lib/gcc/x86_64-pc-linux-gnu/9.3.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.x86_64_slp6/Programming/gcc/9.3.0/bin/../lib/gcc/x86_64-pc-linux-gnu/9.3.0 -L/afs/psi.ch/sys/psi.x86_64_slp6/Programming/gcc/9.3.0/bin/../lib/gcc -L/opt/psi/Programming/gcc/9.3.0/lib64/../lib64 -L/opt/psi/Programming/gcc/9.3.0/lib/../lib64 -L/afs/psi.ch/sys/psi.x86_64_slp6/Programming/gcc/9.3.0/bin/../lib/gcc/x86_64-pc-linux-gnu/9.3.0/../../../../lib64 -L/lib/../lib64 -L/usr/lib/../lib64 -L/opt/psi/Programming/gcc/9.3.0/lib64 -L/opt/psi/Programming/gcc/9.3.0/lib -L/afs/psi.ch/sys/psi.x86_64_slp6/Programming/gcc/9.3.0/bin/../lib/gcc/x86_64-pc-linux-gnu/9.3.0/../../.." # ### END LIBTOOL TAG CONFIG: CXX diff --git a/makefile b/makefile index a50781f..1ca798e 100644 --- a/makefile +++ b/makefile @@ -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/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/ioc/python/latest/include/python3.10 -I/ioc/python/latest/lib/python3.10/site-packages/numpy/core/include -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/lib/RHEL7-x86_64 -Wl,-rpath,/usr/local/epics/base/lib/RHEL7-x86_64 -L/ioc/python/latest/lib -Wl,-rpath,/ioc/python/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/9.3.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/9.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/ioc/python/latest/include/python3.10 -I/ioc/python/latest/lib/python3.10/site-packages/numpy/core/include +CXX = /opt/psi/Programming/gcc/9.3.0/bin/g++ +CXXCPP = /opt/psi/Programming/gcc/9.3.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/lib/RHEL7-x86_64 -Wl,-rpath,/usr/local/epics/base/lib/RHEL7-x86_64 -L/ioc/python/latest/lib -Wl,-rpath,/ioc/python/latest/lib LIBOBJS = -LIBS = -lQt5Xml -lQt5Core +LIBS = -lpython3.10 LIBTOOL = $(SHELL) $(top_builddir)/libtool LIPO = LN_S = ln -s @@ -305,7 +305,7 @@ 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/9.3.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.14.4-py310-gcc-9.3.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.14.4-py310-gcc-9.3.0 program_transform_name = s,x,x, psdir = ${docdir} sbindir = ${exec_prefix}/sbin diff --git a/src/bitshuffle/.libs/bitshuffle.o b/src/bitshuffle/.libs/bitshuffle.o new file mode 100644 index 0000000..36e6571 Binary files /dev/null and b/src/bitshuffle/.libs/bitshuffle.o differ diff --git a/src/bitshuffle/.libs/bitshuffle_core.o b/src/bitshuffle/.libs/bitshuffle_core.o new file mode 100644 index 0000000..66f07ba Binary files /dev/null and b/src/bitshuffle/.libs/bitshuffle_core.o differ diff --git a/src/bitshuffle/.libs/iochain.o b/src/bitshuffle/.libs/iochain.o new file mode 100644 index 0000000..d4722fb Binary files /dev/null and b/src/bitshuffle/.libs/iochain.o differ diff --git a/src/bitshuffle/bitshuffle.lo b/src/bitshuffle/bitshuffle.lo new file mode 100644 index 0000000..1c78f1c --- /dev/null +++ b/src/bitshuffle/bitshuffle.lo @@ -0,0 +1,12 @@ +# bitshuffle/bitshuffle.lo - a libtool object file +# Generated by libtool (GNU libtool) 2.4.6 +# +# Please DO NOT delete this file! +# It is necessary for linking the library. + +# Name of the PIC object. +pic_object='.libs/bitshuffle.o' + +# Name of the non-PIC object +non_pic_object='bitshuffle.o' + diff --git a/src/bitshuffle/bitshuffle.o b/src/bitshuffle/bitshuffle.o new file mode 100644 index 0000000..36e6571 Binary files /dev/null and b/src/bitshuffle/bitshuffle.o differ diff --git a/src/bitshuffle/bitshuffle_core.lo b/src/bitshuffle/bitshuffle_core.lo new file mode 100644 index 0000000..db5c2e1 --- /dev/null +++ b/src/bitshuffle/bitshuffle_core.lo @@ -0,0 +1,12 @@ +# bitshuffle/bitshuffle_core.lo - a libtool object file +# Generated by libtool (GNU libtool) 2.4.6 +# +# Please DO NOT delete this file! +# It is necessary for linking the library. + +# Name of the PIC object. +pic_object='.libs/bitshuffle_core.o' + +# Name of the non-PIC object +non_pic_object='bitshuffle_core.o' + diff --git a/src/bitshuffle/bitshuffle_core.o b/src/bitshuffle/bitshuffle_core.o new file mode 100644 index 0000000..66f07ba Binary files /dev/null and b/src/bitshuffle/bitshuffle_core.o differ diff --git a/src/bitshuffle/iochain.lo b/src/bitshuffle/iochain.lo new file mode 100644 index 0000000..d2f9104 --- /dev/null +++ b/src/bitshuffle/iochain.lo @@ -0,0 +1,12 @@ +# bitshuffle/iochain.lo - a libtool object file +# Generated by libtool (GNU libtool) 2.4.6 +# +# Please DO NOT delete this file! +# It is necessary for linking the library. + +# Name of the PIC object. +pic_object='.libs/iochain.o' + +# Name of the non-PIC object +non_pic_object='iochain.o' + diff --git a/src/bitshuffle/iochain.o b/src/bitshuffle/iochain.o new file mode 100644 index 0000000..d4722fb Binary files /dev/null and b/src/bitshuffle/iochain.o differ diff --git a/src/makefile b/src/makefile index d746ce3..644358e 100644 --- a/src/makefile +++ b/src/makefile @@ -249,22 +249,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/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/ioc/python/latest/include/python3.10 -I/ioc/python/latest/lib/python3.10/site-packages/numpy/core/include -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/lib/RHEL7-x86_64 -Wl,-rpath,/usr/local/epics/base/lib/RHEL7-x86_64 -L/ioc/python/latest/lib -Wl,-rpath,/ioc/python/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/9.3.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/9.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/ioc/python/latest/include/python3.10 -I/ioc/python/latest/lib/python3.10/site-packages/numpy/core/include +CXX = /opt/psi/Programming/gcc/9.3.0/bin/g++ +CXXCPP = /opt/psi/Programming/gcc/9.3.0/bin/g++ -E CXXDEPMODE = depmode=gcc3 CXXFLAGS = -g -O2 CYGPATH_W = echo @@ -286,9 +286,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/lib/RHEL7-x86_64 -Wl,-rpath,/usr/local/epics/base/lib/RHEL7-x86_64 -L/ioc/python/latest/lib -Wl,-rpath,/ioc/python/latest/lib LIBOBJS = -LIBS = -lQt5Xml -lQt5Core +LIBS = -lpython3.10 LIBTOOL = $(SHELL) $(top_builddir)/libtool LIPO = LN_S = ln -s @@ -322,7 +322,7 @@ 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/9.3.0/bin/gcc ac_ct_CXX = ac_ct_DUMPBIN = am__include = include @@ -351,7 +351,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.14.4-py310-gcc-9.3.0/lib/RHEL7-x86_64 libexecdir = ${exec_prefix}/libexec localedir = ${datarootdir}/locale localstatedir = ${prefix}/var @@ -359,7 +359,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.14.4-py310-gcc-9.3.0 program_transform_name = s,x,x, psdir = ${docdir} sbindir = ${exec_prefix}/sbin