15 Commits

Author SHA1 Message Date
df07cf1a29 v1.20.1 2024-07-04 11:47:27 +02:00
7b517f2fa6 changes from Nov. 2023 2024-02-08 14:23:15 +01:00
b00167016e testing wf behaviour thru ca gateway 2023-07-06 10:01:36 +02:00
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
83 changed files with 559468 additions and 24328 deletions

8
.gitignore vendored
View File

@@ -9,14 +9,15 @@
# Temporary (build) files #
###########################
*.bak
*.*-*
*.*+*
aclocal.m4
autom4te.cache
config.*
config.in
configure
depcomp
install-sh
ltmain.sh
m4
makefile
makefile.in
missing
@@ -33,7 +34,8 @@ src/*.o
src/*.lo
src/*.la
src/.deps/*
src/bitshuffle/.deps/*
src/.libs/*
examples/cafeTest/*.*-
doc
compile

318
INSTALL
View File

@@ -1,8 +1,8 @@
Installation Instructions
*************************
Copyright (C) 1994-1996, 1999-2002, 2004-2013 Free Software Foundation,
Inc.
Copyright (C) 1994-1996, 1999-2002, 2004-2016 Free Software
Foundation, Inc.
Copying and distribution of this file, with or without modification,
are permitted in any medium without royalty provided the copyright
@@ -12,97 +12,96 @@ without warranty of any kind.
Basic Installation
==================
Briefly, the shell commands `./configure; make; make install' should
configure, build, and install this package. The following
more-detailed instructions are generic; see the `README' file for
Briefly, the shell command './configure && make && make install'
should configure, build, and install this package. The following
more-detailed instructions are generic; see the 'README' file for
instructions specific to this package. Some packages provide this
`INSTALL' file but do not implement all of the features documented
'INSTALL' file but do not implement all of the features documented
below. The lack of an optional feature in a given package is not
necessarily a bug. More recommendations for GNU packages can be found
in *note Makefile Conventions: (standards)Makefile Conventions.
The `configure' shell script attempts to guess correct values for
The 'configure' shell script attempts to guess correct values for
various system-dependent variables used during compilation. It uses
those values to create a `Makefile' in each directory of the package.
It may also create one or more `.h' files containing system-dependent
definitions. Finally, it creates a shell script `config.status' that
those values to create a 'Makefile' in each directory of the package.
It may also create one or more '.h' files containing system-dependent
definitions. Finally, it creates a shell script 'config.status' that
you can run in the future to recreate the current configuration, and a
file `config.log' containing compiler output (useful mainly for
debugging `configure').
file 'config.log' containing compiler output (useful mainly for
debugging 'configure').
It can also use an optional file (typically called `config.cache'
and enabled with `--cache-file=config.cache' or simply `-C') that saves
the results of its tests to speed up reconfiguring. Caching is
disabled by default to prevent problems with accidental use of stale
cache files.
It can also use an optional file (typically called 'config.cache' and
enabled with '--cache-file=config.cache' or simply '-C') that saves the
results of its tests to speed up reconfiguring. Caching is disabled by
default to prevent problems with accidental use of stale cache files.
If you need to do unusual things to compile the package, please try
to figure out how `configure' could check whether to do them, and mail
diffs or instructions to the address given in the `README' so they can
to figure out how 'configure' could check whether to do them, and mail
diffs or instructions to the address given in the 'README' so they can
be considered for the next release. If you are using the cache, and at
some point `config.cache' contains results you don't want to keep, you
some point 'config.cache' contains results you don't want to keep, you
may remove or edit it.
The file `configure.ac' (or `configure.in') is used to create
`configure' by a program called `autoconf'. You need `configure.ac' if
you want to change it or regenerate `configure' using a newer version
of `autoconf'.
The file 'configure.ac' (or 'configure.in') is used to create
'configure' by a program called 'autoconf'. You need 'configure.ac' if
you want to change it or regenerate 'configure' using a newer version of
'autoconf'.
The simplest way to compile this package is:
1. `cd' to the directory containing the package's source code and type
`./configure' to configure the package for your system.
1. 'cd' to the directory containing the package's source code and type
'./configure' to configure the package for your system.
Running `configure' might take a while. While running, it prints
Running 'configure' might take a while. While running, it prints
some messages telling which features it is checking for.
2. Type `make' to compile the package.
2. Type 'make' to compile the package.
3. Optionally, type `make check' to run any self-tests that come with
3. Optionally, type 'make check' to run any self-tests that come with
the package, generally using the just-built uninstalled binaries.
4. Type `make install' to install the programs and any data files and
4. Type 'make install' to install the programs and any data files and
documentation. When installing into a prefix owned by root, it is
recommended that the package be configured and built as a regular
user, and only the `make install' phase executed with root
user, and only the 'make install' phase executed with root
privileges.
5. Optionally, type `make installcheck' to repeat any self-tests, but
5. Optionally, type 'make installcheck' to repeat any self-tests, but
this time using the binaries in their final installed location.
This target does not install anything. Running this target as a
regular user, particularly if the prior `make install' required
regular user, particularly if the prior 'make install' required
root privileges, verifies that the installation completed
correctly.
6. You can remove the program binaries and object files from the
source code directory by typing `make clean'. To also remove the
files that `configure' created (so you can compile the package for
a different kind of computer), type `make distclean'. There is
also a `make maintainer-clean' target, but that is intended mainly
source code directory by typing 'make clean'. To also remove the
files that 'configure' created (so you can compile the package for
a different kind of computer), type 'make distclean'. There is
also a 'make maintainer-clean' target, but that is intended mainly
for the package's developers. If you use it, you may have to get
all sorts of other programs in order to regenerate files that came
with the distribution.
7. Often, you can also type `make uninstall' to remove the installed
7. Often, you can also type 'make uninstall' to remove the installed
files again. In practice, not all packages have tested that
uninstallation works correctly, even though it is required by the
GNU Coding Standards.
8. Some packages, particularly those that use Automake, provide `make
8. Some packages, particularly those that use Automake, provide 'make
distcheck', which can by used by developers to test that all other
targets like `make install' and `make uninstall' work correctly.
targets like 'make install' and 'make uninstall' work correctly.
This target is generally not run by end users.
Compilers and Options
=====================
Some systems require unusual options for compilation or linking that
the `configure' script does not know about. Run `./configure --help'
the 'configure' script does not know about. Run './configure --help'
for details on some of the pertinent environment variables.
You can give `configure' initial values for configuration parameters
by setting variables in the command line or in the environment. Here
is an example:
You can give 'configure' initial values for configuration parameters
by setting variables in the command line or in the environment. Here is
an example:
./configure CC=c99 CFLAGS=-g LIBS=-lposix
@@ -113,21 +112,21 @@ Compiling For Multiple Architectures
You can compile the package for more than one kind of computer at the
same time, by placing the object files for each architecture in their
own directory. To do this, you can use GNU `make'. `cd' to the
own directory. To do this, you can use GNU 'make'. 'cd' to the
directory where you want the object files and executables to go and run
the `configure' script. `configure' automatically checks for the
source code in the directory that `configure' is in and in `..'. This
is known as a "VPATH" build.
the 'configure' script. 'configure' automatically checks for the source
code in the directory that 'configure' is in and in '..'. This is known
as a "VPATH" build.
With a non-GNU `make', it is safer to compile the package for one
With a non-GNU 'make', it is safer to compile the package for one
architecture at a time in the source code directory. After you have
installed the package for one architecture, use `make distclean' before
installed the package for one architecture, use 'make distclean' before
reconfiguring for another architecture.
On MacOS X 10.5 and later systems, you can create libraries and
executables that work on multiple system types--known as "fat" or
"universal" binaries--by specifying multiple `-arch' options to the
compiler but only a single `-arch' option to the preprocessor. Like
"universal" binaries--by specifying multiple '-arch' options to the
compiler but only a single '-arch' option to the preprocessor. Like
this:
./configure CC="gcc -arch i386 -arch x86_64 -arch ppc -arch ppc64" \
@@ -136,105 +135,104 @@ this:
This is not guaranteed to produce working output in all cases, you
may have to build one architecture at a time and combine the results
using the `lipo' tool if you have problems.
using the 'lipo' tool if you have problems.
Installation Names
==================
By default, `make install' installs the package's commands under
`/usr/local/bin', include files under `/usr/local/include', etc. You
can specify an installation prefix other than `/usr/local' by giving
`configure' the option `--prefix=PREFIX', where PREFIX must be an
By default, 'make install' installs the package's commands under
'/usr/local/bin', include files under '/usr/local/include', etc. You
can specify an installation prefix other than '/usr/local' by giving
'configure' the option '--prefix=PREFIX', where PREFIX must be an
absolute file name.
You can specify separate installation prefixes for
architecture-specific files and architecture-independent files. If you
pass the option `--exec-prefix=PREFIX' to `configure', the package uses
pass the option '--exec-prefix=PREFIX' to 'configure', the package uses
PREFIX as the prefix for installing programs and libraries.
Documentation and other data files still use the regular prefix.
In addition, if you use an unusual directory layout you can give
options like `--bindir=DIR' to specify different values for particular
kinds of files. Run `configure --help' for a list of the directories
you can set and what kinds of files go in them. In general, the
default for these options is expressed in terms of `${prefix}', so that
specifying just `--prefix' will affect all of the other directory
options like '--bindir=DIR' to specify different values for particular
kinds of files. Run 'configure --help' for a list of the directories
you can set and what kinds of files go in them. In general, the default
for these options is expressed in terms of '${prefix}', so that
specifying just '--prefix' will affect all of the other directory
specifications that were not explicitly provided.
The most portable way to affect installation locations is to pass the
correct locations to `configure'; however, many packages provide one or
correct locations to 'configure'; however, many packages provide one or
both of the following shortcuts of passing variable assignments to the
`make install' command line to change installation locations without
'make install' command line to change installation locations without
having to reconfigure or recompile.
The first method involves providing an override variable for each
affected directory. For example, `make install
affected directory. For example, 'make install
prefix=/alternate/directory' will choose an alternate location for all
directory configuration variables that were expressed in terms of
`${prefix}'. Any directories that were specified during `configure',
but not in terms of `${prefix}', must each be overridden at install
time for the entire installation to be relocated. The approach of
makefile variable overrides for each directory variable is required by
the GNU Coding Standards, and ideally causes no recompilation.
However, some platforms have known limitations with the semantics of
shared libraries that end up requiring recompilation when using this
method, particularly noticeable in packages that use GNU Libtool.
'${prefix}'. Any directories that were specified during 'configure',
but not in terms of '${prefix}', must each be overridden at install time
for the entire installation to be relocated. The approach of makefile
variable overrides for each directory variable is required by the GNU
Coding Standards, and ideally causes no recompilation. However, some
platforms have known limitations with the semantics of shared libraries
that end up requiring recompilation when using this method, particularly
noticeable in packages that use GNU Libtool.
The second method involves providing the `DESTDIR' variable. For
example, `make install DESTDIR=/alternate/directory' will prepend
`/alternate/directory' before all installation names. The approach of
`DESTDIR' overrides is not required by the GNU Coding Standards, and
The second method involves providing the 'DESTDIR' variable. For
example, 'make install DESTDIR=/alternate/directory' will prepend
'/alternate/directory' before all installation names. The approach of
'DESTDIR' overrides is not required by the GNU Coding Standards, and
does not work on platforms that have drive letters. On the other hand,
it does better at avoiding recompilation issues, and works well even
when some directory options were not specified in terms of `${prefix}'
at `configure' time.
when some directory options were not specified in terms of '${prefix}'
at 'configure' time.
Optional Features
=================
If the package supports it, you can cause programs to be installed
with an extra prefix or suffix on their names by giving `configure' the
option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'.
with an extra prefix or suffix on their names by giving 'configure' the
option '--program-prefix=PREFIX' or '--program-suffix=SUFFIX'.
Some packages pay attention to `--enable-FEATURE' options to
`configure', where FEATURE indicates an optional part of the package.
They may also pay attention to `--with-PACKAGE' options, where PACKAGE
is something like `gnu-as' or `x' (for the X Window System). The
`README' should mention any `--enable-' and `--with-' options that the
Some packages pay attention to '--enable-FEATURE' options to
'configure', where FEATURE indicates an optional part of the package.
They may also pay attention to '--with-PACKAGE' options, where PACKAGE
is something like 'gnu-as' or 'x' (for the X Window System). The
'README' should mention any '--enable-' and '--with-' options that the
package recognizes.
For packages that use the X Window System, `configure' can usually
For packages that use the X Window System, 'configure' can usually
find the X include and library files automatically, but if it doesn't,
you can use the `configure' options `--x-includes=DIR' and
`--x-libraries=DIR' to specify their locations.
you can use the 'configure' options '--x-includes=DIR' and
'--x-libraries=DIR' to specify their locations.
Some packages offer the ability to configure how verbose the
execution of `make' will be. For these packages, running `./configure
execution of 'make' will be. For these packages, running './configure
--enable-silent-rules' sets the default to minimal output, which can be
overridden with `make V=1'; while running `./configure
overridden with 'make V=1'; while running './configure
--disable-silent-rules' sets the default to verbose, which can be
overridden with `make V=0'.
overridden with 'make V=0'.
Particular systems
==================
On HP-UX, the default C compiler is not ANSI C compatible. If GNU
CC is not installed, it is recommended to use the following options in
On HP-UX, the default C compiler is not ANSI C compatible. If GNU CC
is not installed, it is recommended to use the following options in
order to use an ANSI C compiler:
./configure CC="cc -Ae -D_XOPEN_SOURCE=500"
and if that doesn't work, install pre-built binaries of GCC for HP-UX.
HP-UX `make' updates targets which have the same time stamps as
their prerequisites, which makes it generally unusable when shipped
generated files such as `configure' are involved. Use GNU `make'
instead.
HP-UX 'make' updates targets which have the same time stamps as their
prerequisites, which makes it generally unusable when shipped generated
files such as 'configure' are involved. Use GNU 'make' instead.
On OSF/1 a.k.a. Tru64, some versions of the default C compiler cannot
parse its `<wchar.h>' header file. The option `-nodtk' can be used as
a workaround. If GNU CC is not installed, it is therefore recommended
to try
parse its '<wchar.h>' header file. The option '-nodtk' can be used as a
workaround. If GNU CC is not installed, it is therefore recommended to
try
./configure CC="cc"
@@ -242,26 +240,26 @@ and if that doesn't work, try
./configure CC="cc -nodtk"
On Solaris, don't put `/usr/ucb' early in your `PATH'. This
On Solaris, don't put '/usr/ucb' early in your 'PATH'. This
directory contains several dysfunctional programs; working variants of
these programs are available in `/usr/bin'. So, if you need `/usr/ucb'
in your `PATH', put it _after_ `/usr/bin'.
these programs are available in '/usr/bin'. So, if you need '/usr/ucb'
in your 'PATH', put it _after_ '/usr/bin'.
On Haiku, software installed for all users goes in `/boot/common',
not `/usr/local'. It is recommended to use the following options:
On Haiku, software installed for all users goes in '/boot/common',
not '/usr/local'. It is recommended to use the following options:
./configure --prefix=/boot/common
Specifying the System Type
==========================
There may be some features `configure' cannot figure out
There may be some features 'configure' cannot figure out
automatically, but needs to determine by the type of machine the package
will run on. Usually, assuming the package is built to be run on the
_same_ architectures, `configure' can figure that out, but if it prints
_same_ architectures, 'configure' can figure that out, but if it prints
a message saying it cannot guess the machine type, give it the
`--build=TYPE' option. TYPE can either be a short name for the system
type, such as `sun4', or a canonical name which has the form:
'--build=TYPE' option. TYPE can either be a short name for the system
type, such as 'sun4', or a canonical name which has the form:
CPU-COMPANY-SYSTEM
@@ -270,101 +268,101 @@ where SYSTEM can have one of these forms:
OS
KERNEL-OS
See the file `config.sub' for the possible values of each field. If
`config.sub' isn't included in this package, then this package doesn't
See the file 'config.sub' for the possible values of each field. If
'config.sub' isn't included in this package, then this package doesn't
need to know the machine type.
If you are _building_ compiler tools for cross-compiling, you should
use the option `--target=TYPE' to select the type of system they will
use the option '--target=TYPE' to select the type of system they will
produce code for.
If you want to _use_ a cross compiler, that generates code for a
platform different from the build platform, you should specify the
"host" platform (i.e., that on which the generated programs will
eventually be run) with `--host=TYPE'.
eventually be run) with '--host=TYPE'.
Sharing Defaults
================
If you want to set default values for `configure' scripts to share,
you can create a site shell script called `config.site' that gives
default values for variables like `CC', `cache_file', and `prefix'.
`configure' looks for `PREFIX/share/config.site' if it exists, then
`PREFIX/etc/config.site' if it exists. Or, you can set the
`CONFIG_SITE' environment variable to the location of the site script.
A warning: not all `configure' scripts look for a site script.
If you want to set default values for 'configure' scripts to share,
you can create a site shell script called 'config.site' that gives
default values for variables like 'CC', 'cache_file', and 'prefix'.
'configure' looks for 'PREFIX/share/config.site' if it exists, then
'PREFIX/etc/config.site' if it exists. Or, you can set the
'CONFIG_SITE' environment variable to the location of the site script.
A warning: not all 'configure' scripts look for a site script.
Defining Variables
==================
Variables not defined in a site shell script can be set in the
environment passed to `configure'. However, some packages may run
environment passed to 'configure'. However, some packages may run
configure again during the build, and the customized values of these
variables may be lost. In order to avoid this problem, you should set
them in the `configure' command line, using `VAR=value'. For example:
them in the 'configure' command line, using 'VAR=value'. For example:
./configure CC=/usr/local2/bin/gcc
causes the specified `gcc' to be used as the C compiler (unless it is
causes the specified 'gcc' to be used as the C compiler (unless it is
overridden in the site shell script).
Unfortunately, this technique does not work for `CONFIG_SHELL' due to
an Autoconf limitation. Until the limitation is lifted, you can use
this workaround:
Unfortunately, this technique does not work for 'CONFIG_SHELL' due to an
Autoconf limitation. Until the limitation is lifted, you can use this
workaround:
CONFIG_SHELL=/bin/bash ./configure CONFIG_SHELL=/bin/bash
`configure' Invocation
'configure' Invocation
======================
`configure' recognizes the following options to control how it
'configure' recognizes the following options to control how it
operates.
`--help'
`-h'
Print a summary of all of the options to `configure', and exit.
'--help'
'-h'
Print a summary of all of the options to 'configure', and exit.
`--help=short'
`--help=recursive'
'--help=short'
'--help=recursive'
Print a summary of the options unique to this package's
`configure', and exit. The `short' variant lists options used
only in the top level, while the `recursive' variant lists options
also present in any nested packages.
'configure', and exit. The 'short' variant lists options used only
in the top level, while the 'recursive' variant lists options also
present in any nested packages.
`--version'
`-V'
Print the version of Autoconf used to generate the `configure'
'--version'
'-V'
Print the version of Autoconf used to generate the 'configure'
script, and exit.
`--cache-file=FILE'
'--cache-file=FILE'
Enable the cache: use and save the results of the tests in FILE,
traditionally `config.cache'. FILE defaults to `/dev/null' to
traditionally 'config.cache'. FILE defaults to '/dev/null' to
disable caching.
`--config-cache'
`-C'
Alias for `--cache-file=config.cache'.
'--config-cache'
'-C'
Alias for '--cache-file=config.cache'.
`--quiet'
`--silent'
`-q'
'--quiet'
'--silent'
'-q'
Do not print messages saying which checks are being made. To
suppress all normal output, redirect it to `/dev/null' (any error
suppress all normal output, redirect it to '/dev/null' (any error
messages will still be shown).
`--srcdir=DIR'
'--srcdir=DIR'
Look for the package's source code in directory DIR. Usually
`configure' can determine that directory automatically.
'configure' can determine that directory automatically.
`--prefix=DIR'
Use DIR as the installation prefix. *note Installation Names::
for more details, including other options available for fine-tuning
the installation locations.
'--prefix=DIR'
Use DIR as the installation prefix. *note Installation Names:: for
more details, including other options available for fine-tuning the
installation locations.
`--no-create'
`-n'
'--no-create'
'-n'
Run the configure checks, but stop before creating any output
files.
`configure' also accepts some other, not widely useful, options. Run
`configure --help' for more details.
'configure' also accepts some other, not widely useful, options. Run
'configure --help' for more details.

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

325
autogen_sfbd.sh Normal file
View File

@@ -0,0 +1,325 @@
### 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 #7.5.0 for py38 py310 7.3.0 py37
module load gcc/10.4.0 ##rhel8
### 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
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.20.1"
EPICS_BASE='base-7.0.7' #
#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)
_EPICS_HOST_ARCH=${RHREL}-x86_64
#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.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_DEFAULT="sls2"
CACLIENT_DEFAULT="py37"
FACILITY_TEMP=""
CACLIENT_TEMP=""
echo 'input arg. facility/target' $FACILITY $CACLIENT
if [ -n "$FACILITY" ]
then
if [ "$FACILITY" = "matlab" ] || [ "$FACILITY" = "python" ] || \
[ "$FACILITY" = "py310" ] || [ "$FACILITY" = "py39" ] || \
[ "$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=$FACILITY_DEFAULT
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" = "py39" ] || \
[ "$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" = "py39" ] || \
[ "$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-epics7"
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" = "py39" ]
then
ENABLE_OPTIONS+=" --enable-python39"
ENABLE_OPTIONS+=" --enable-qt5py39"
CAFE_V+="-py39"
elif [ "$CACLIENT" = "py310" ]
then
ENABLE_OPTIONS+=" --enable-python310"
#ENABLE_OPTIONS+=" --enable-qt5py310"
CAFE_V+="-py310"
elif [ "$CACLIENT" = "cpp" ]
then
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=/opt/gfa/python-3.10/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=/opt/gfa/python-3.10/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/${EPICS_BASE}
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

321
autogen_sfbd_RHEL7.sh Normal file
View File

@@ -0,0 +1,321 @@
### 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 AND PY310 7.3.0 py37
#module load gcc/8.5.0 #rhel8
### 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.3"
EPICS_BASE='base-7.0.7'
#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)
_EPICS_HOST_ARCH=${RHREL}-x86_64
#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.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="sls2"
CACLIENT_DEFAULT="py37"
FACILITY_TEMP=""
CACLIENT_TEMP=""
echo 'input arg. facility/target' $FACILITY $CACLIENT
if [ -n "$FACILITY" ]
then
if [ "$FACILITY" = "matlab" ] || [ "$FACILITY" = "python" ] || \
[ "$FACILITY" = "py310" ] || [ "$FACILITY" = "py39" ] || \
[ "$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" = "py39" ] || \
[ "$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" = "py39" ] || \
[ "$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-epics7"
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" = "py39" ]
then
ENABLE_OPTIONS+=" --enable-python39"
ENABLE_OPTIONS+=" --enable-qt5py39"
CAFE_V+="-py39"
elif [ "$CACLIENT" = "py310" ]
then
ENABLE_OPTIONS+=" --enable-python310"
#ENABLE_OPTIONS+=" --enable-qt5py310"
CAFE_V+="-py310"
elif [ "$CACLIENT" = "cpp" ]
then
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=/opt/gfa/python-3.10/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=/opt/gfa/python-3.10/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/${EPICS_BASE}
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 \

1476
config.guess vendored Executable file

File diff suppressed because it is too large Load Diff

882
config.log Normal file
View File

@@ -0,0 +1,882 @@
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.20.1, which was
generated by GNU Autoconf 2.69. Invocation command line was
$ ./configure --prefix=/opt/gfa/cafe/cpp/cafe-1.20.1-gcc-10.4.0 --libdir=/opt/gfa/cafe/cpp/cafe-1.20.1-gcc-10.4.0/lib/RHEL8-x86_64 --enable-boost-inc --enable-epics7 --enable-qt5 --with-boost-inc=/opt/gfa/cafe/boost/boost_1_61_0/include --with-epics3=/usr/local/epics/base --with-python310=/opt/gfa/python-3.10/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=/opt/gfa/python-3.10/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.7
## --------- ##
## Platform. ##
## --------- ##
hostname = sf-lc8.psi.ch
uname -m = x86_64
uname -r = 4.18.0-513.11.1.el8_9.x86_64
uname -s = Linux
uname -v = #1 SMP Thu Dec 7 03:06:13 EST 2023
/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: /opt/psi/Programming/gcc/10.4.0/bin
PATH: /opt/psi/Programming/matlab/2024a/bin
PATH: /usr/local/epics/seq/bin/RHEL8-x86_64
PATH: .
PATH: /usr/lib/openoffice.org/program
PATH: /opt/psi/Tools/HDFView/3.1.2/bin
PATH: /usr/share/Modules/bin
PATH: /usr/local/bin
PATH: /usr/bin
PATH: /usr/local/sbin
PATH: /usr/sbin
PATH: /usr/local/epics/base-7.0.7/bin/RHEL8-x86_64
PATH: /sf/controls/bin
PATH: /sf/diag/bin
PATH: /sf/bd/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
## ----------- ##
## 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:3189: checking for C++ compiler version
configure:3198: /opt/psi/Programming/gcc/10.4.0/bin/g++ --version >&5
g++ ('PSI Environment Module') 10.4.0
Copyright (C) 2020 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:3209: $? = 0
configure:3198: /opt/psi/Programming/gcc/10.4.0/bin/g++ -v >&5
Using built-in specs.
COLLECT_GCC=/opt/psi/Programming/gcc/10.4.0/bin/g++
COLLECT_LTO_WRAPPER=/afs/psi.ch/sys/psi.x86_64_slp6/Programming/gcc/10.4.0/bin/../libexec/gcc/x86_64-pc-linux-gnu/10.4.0/lto-wrapper
Target: x86_64-pc-linux-gnu
Configured with: /opt/psi/var/tmp/gsell/gcc-10.4.0/src/configure --prefix=/opt/psi/Programming/gcc/10.4.0 --enable-languages=c,c++,objc,obj-c++,lto,fortran,go --with-gmp=/opt/psi/Libraries/gmp/6.2.1 --with-mpfr=/opt/psi/Libraries/mpfr/4.1.0 --with-mpc=/opt/psi/Libraries/mpc/1.2.1 --enable-lto --disable-multilib --with-pkgversion=''\''PSI Environment Module'\''' --with-build-config=bootstrap-debug
Thread model: posix
Supported LTO compression algorithms: zlib
gcc version 10.4.0 ('PSI Environment Module')
configure:3209: $? = 0
configure:3198: /opt/psi/Programming/gcc/10.4.0/bin/g++ -V >&5
g++: error: unrecognized command-line option '-V'
g++: fatal error: no input files
compilation terminated.
configure:3209: $? = 1
configure:3198: /opt/psi/Programming/gcc/10.4.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:3209: $? = 1
configure:3229: checking whether the C++ compiler works
configure:3251: /opt/psi/Programming/gcc/10.4.0/bin/g++ conftest.cpp >&5
configure:3255: $? = 0
configure:3303: result: yes
configure:3306: checking for C++ compiler default output file name
configure:3308: result: a.out
configure:3314: checking for suffix of executables
configure:3321: /opt/psi/Programming/gcc/10.4.0/bin/g++ -o conftest conftest.cpp >&5
configure:3325: $? = 0
configure:3347: result:
configure:3369: checking whether we are cross compiling
configure:3377: /opt/psi/Programming/gcc/10.4.0/bin/g++ -o conftest conftest.cpp >&5
configure:3381: $? = 0
configure:3388: ./conftest
configure:3392: $? = 0
configure:3407: result: no
configure:3412: checking for suffix of object files
configure:3434: /opt/psi/Programming/gcc/10.4.0/bin/g++ -c conftest.cpp >&5
configure:3438: $? = 0
configure:3459: result: o
configure:3463: checking whether we are using the GNU C++ compiler
configure:3482: /opt/psi/Programming/gcc/10.4.0/bin/g++ -c conftest.cpp >&5
configure:3482: $? = 0
configure:3491: result: yes
configure:3500: checking whether /opt/psi/Programming/gcc/10.4.0/bin/g++ accepts -g
configure:3520: /opt/psi/Programming/gcc/10.4.0/bin/g++ -c -g conftest.cpp >&5
configure:3520: $? = 0
configure:3561: result: yes
configure:3587: checking whether make supports the include directive
configure:3602: make -f confmf.GNU && cat confinc.out
this is the am__doit target
configure:3605: $? = 0
configure:3624: result: yes (GNU style)
configure:3649: checking dependency style of /opt/psi/Programming/gcc/10.4.0/bin/g++
configure:3760: result: gcc3
configure:3806: checking build system type
configure:3820: result: x86_64-pc-linux-gnu
configure:3840: checking host system type
configure:3853: result: x86_64-pc-linux-gnu
configure:3894: checking how to print strings
configure:3921: result: printf
configure:3990: checking for gcc
configure:4017: result: /opt/psi/Programming/gcc/10.4.0/bin/gcc
configure:4246: checking for C compiler version
configure:4255: /opt/psi/Programming/gcc/10.4.0/bin/gcc --version >&5
gcc ('PSI Environment Module') 10.4.0
Copyright (C) 2020 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:4266: $? = 0
configure:4255: /opt/psi/Programming/gcc/10.4.0/bin/gcc -v >&5
Using built-in specs.
COLLECT_GCC=/opt/psi/Programming/gcc/10.4.0/bin/gcc
COLLECT_LTO_WRAPPER=/afs/psi.ch/sys/psi.x86_64_slp6/Programming/gcc/10.4.0/bin/../libexec/gcc/x86_64-pc-linux-gnu/10.4.0/lto-wrapper
Target: x86_64-pc-linux-gnu
Configured with: /opt/psi/var/tmp/gsell/gcc-10.4.0/src/configure --prefix=/opt/psi/Programming/gcc/10.4.0 --enable-languages=c,c++,objc,obj-c++,lto,fortran,go --with-gmp=/opt/psi/Libraries/gmp/6.2.1 --with-mpfr=/opt/psi/Libraries/mpfr/4.1.0 --with-mpc=/opt/psi/Libraries/mpc/1.2.1 --enable-lto --disable-multilib --with-pkgversion=''\''PSI Environment Module'\''' --with-build-config=bootstrap-debug
Thread model: posix
Supported LTO compression algorithms: zlib
gcc version 10.4.0 ('PSI Environment Module')
configure:4266: $? = 0
configure:4255: /opt/psi/Programming/gcc/10.4.0/bin/gcc -V >&5
gcc: error: unrecognized command-line option '-V'
gcc: fatal error: no input files
compilation terminated.
configure:4266: $? = 1
configure:4255: /opt/psi/Programming/gcc/10.4.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:4266: $? = 1
configure:4270: checking whether we are using the GNU C compiler
configure:4289: /opt/psi/Programming/gcc/10.4.0/bin/gcc -c conftest.c >&5
configure:4289: $? = 0
configure:4298: result: yes
configure:4307: checking whether /opt/psi/Programming/gcc/10.4.0/bin/gcc accepts -g
configure:4327: /opt/psi/Programming/gcc/10.4.0/bin/gcc -c -g conftest.c >&5
configure:4327: $? = 0
configure:4368: result: yes
configure:4385: checking for /opt/psi/Programming/gcc/10.4.0/bin/gcc option to accept ISO C89
configure:4448: /opt/psi/Programming/gcc/10.4.0/bin/gcc -c -g -O2 conftest.c >&5
configure:4448: $? = 0
configure:4461: result: none needed
configure:4486: checking whether /opt/psi/Programming/gcc/10.4.0/bin/gcc understands -c and -o together
configure:4508: /opt/psi/Programming/gcc/10.4.0/bin/gcc -c conftest.c -o conftest2.o
configure:4511: $? = 0
configure:4508: /opt/psi/Programming/gcc/10.4.0/bin/gcc -c conftest.c -o conftest2.o
configure:4511: $? = 0
configure:4523: result: yes
configure:4542: checking dependency style of /opt/psi/Programming/gcc/10.4.0/bin/gcc
configure:4653: result: gcc3
configure:4668: checking for a sed that does not truncate output
configure:4732: result: /usr/bin/sed
configure:4750: checking for grep that handles long lines and -e
configure:4808: result: /usr/bin/grep
configure:4813: checking for egrep
configure:4875: result: /usr/bin/grep -E
configure:4880: checking for fgrep
configure:4942: result: /usr/bin/grep -F
configure:4977: checking for ld used by /opt/psi/Programming/gcc/10.4.0/bin/gcc
configure:5044: result: /usr/bin/ld
configure:5051: checking if the linker (/usr/bin/ld) is GNU ld
configure:5066: result: yes
configure:5078: checking for BSD- or MS-compatible name lister (nm)
configure:5132: result: /usr/bin/nm -B
configure:5262: checking the name lister (/usr/bin/nm -B) interface
configure:5269: /opt/psi/Programming/gcc/10.4.0/bin/g++ -c -g -O2 conftest.cpp >&5
configure:5272: /usr/bin/nm -B "conftest.o"
configure:5275: output
0000000000000000 B some_variable
configure:5282: result: BSD nm
configure:5285: checking whether ln -s works
configure:5289: result: yes
configure:5297: checking the maximum length of command line arguments
configure:5428: result: 1572864
configure:5476: checking how to convert x86_64-pc-linux-gnu file names to x86_64-pc-linux-gnu format
configure:5516: result: func_convert_file_noop
configure:5523: checking how to convert x86_64-pc-linux-gnu file names to toolchain format
configure:5543: result: func_convert_file_noop
configure:5550: checking for /usr/bin/ld option to reload object files
configure:5557: result: -r
configure:5631: checking for objdump
configure:5647: found /usr/bin/objdump
configure:5658: result: objdump
configure:5690: checking how to recognize dependent libraries
configure:5890: result: pass_all
configure:5975: checking for dlltool
configure:6005: result: no
configure:6035: checking how to associate runtime and link libraries
configure:6062: result: printf %s\n
configure:6123: checking for ar
configure:6139: found /usr/bin/ar
configure:6150: result: ar
configure:6187: checking for archiver @FILE support
configure:6204: /opt/psi/Programming/gcc/10.4.0/bin/g++ -c -g -O2 conftest.cpp >&5
configure:6204: $? = 0
configure:6207: ar cru libconftest.a @conftest.lst >&5
configure:6210: $? = 0
configure:6215: ar cru libconftest.a @conftest.lst >&5
ar: conftest.o: No such file or directory
configure:6218: $? = 1
configure:6230: result: @
configure:6288: checking for strip
configure:6304: found /usr/bin/strip
configure:6315: result: strip
configure:6387: checking for ranlib
configure:6403: found /usr/bin/ranlib
configure:6414: result: ranlib
configure:6516: checking command to parse /usr/bin/nm -B output from /opt/psi/Programming/gcc/10.4.0/bin/gcc object
configure:6669: /opt/psi/Programming/gcc/10.4.0/bin/g++ -c -g -O2 conftest.cpp >&5
configure:6672: $? = 0
configure:6676: /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:6679: $? = 0
configure:6745: /opt/psi/Programming/gcc/10.4.0/bin/g++ -o conftest -g -O2 conftest.cpp conftstm.o >&5
configure:6748: $? = 0
configure:6786: result: ok
configure:6833: checking for sysroot
configure:6863: result: no
configure:6870: checking for a working dd
configure:6908: result: /usr/bin/dd
configure:6912: checking how to truncate binary pipes
configure:6927: result: /usr/bin/dd bs=4096 count=1
configure:7064: /opt/psi/Programming/gcc/10.4.0/bin/g++ -c -g -O2 conftest.cpp >&5
configure:7067: $? = 0
configure:7257: checking for mt
configure:7287: result: no
configure:7307: checking if : is a manifest tool
configure:7313: : '-?'
configure:7321: result: no
configure:7998: checking how to run the C preprocessor
configure:8029: /opt/psi/Programming/gcc/10.4.0/bin/gcc -E conftest.c
configure:8029: $? = 0
configure:8043: /opt/psi/Programming/gcc/10.4.0/bin/gcc -E conftest.c
conftest.c:11:10: fatal error: ac_nonexistent.h: No such file or directory
11 | #include <ac_nonexistent.h>
| ^~~~~~~~~~~~~~~~~~
compilation terminated.
configure:8043: $? = 1
configure: failed program was:
| /* confdefs.h */
| #define PACKAGE_NAME "CAFE"
| #define PACKAGE_TARNAME "cafe"
| #define PACKAGE_VERSION "1.20.1"
| #define PACKAGE_STRING "CAFE 1.20.1"
| #define PACKAGE_BUGREPORT "Bug reports to: jan.chrin@psi.ch"
| #define PACKAGE_URL ""
| #define PACKAGE "cafe"
| #define VERSION "1.20.1"
| /* end confdefs.h. */
| #include <ac_nonexistent.h>
configure:8068: result: /opt/psi/Programming/gcc/10.4.0/bin/gcc -E
configure:8088: /opt/psi/Programming/gcc/10.4.0/bin/gcc -E conftest.c
configure:8088: $? = 0
configure:8102: /opt/psi/Programming/gcc/10.4.0/bin/gcc -E conftest.c
conftest.c:11:10: fatal error: ac_nonexistent.h: No such file or directory
11 | #include <ac_nonexistent.h>
| ^~~~~~~~~~~~~~~~~~
compilation terminated.
configure:8102: $? = 1
configure: failed program was:
| /* confdefs.h */
| #define PACKAGE_NAME "CAFE"
| #define PACKAGE_TARNAME "cafe"
| #define PACKAGE_VERSION "1.20.1"
| #define PACKAGE_STRING "CAFE 1.20.1"
| #define PACKAGE_BUGREPORT "Bug reports to: jan.chrin@psi.ch"
| #define PACKAGE_URL ""
| #define PACKAGE "cafe"
| #define VERSION "1.20.1"
| /* end confdefs.h. */
| #include <ac_nonexistent.h>
configure:8131: checking for ANSI C header files
configure:8151: /opt/psi/Programming/gcc/10.4.0/bin/gcc -c -g -O2 conftest.c >&5
configure:8151: $? = 0
configure:8224: /opt/psi/Programming/gcc/10.4.0/bin/gcc -o conftest -g -O2 conftest.c >&5
configure:8224: $? = 0
configure:8224: ./conftest
configure:8224: $? = 0
configure:8235: result: yes
configure:8248: checking for sys/types.h
configure:8248: /opt/psi/Programming/gcc/10.4.0/bin/gcc -c -g -O2 conftest.c >&5
configure:8248: $? = 0
configure:8248: result: yes
configure:8248: checking for sys/stat.h
configure:8248: /opt/psi/Programming/gcc/10.4.0/bin/gcc -c -g -O2 conftest.c >&5
configure:8248: $? = 0
configure:8248: result: yes
configure:8248: checking for stdlib.h
configure:8248: /opt/psi/Programming/gcc/10.4.0/bin/gcc -c -g -O2 conftest.c >&5
configure:8248: $? = 0
configure:8248: result: yes
configure:8248: checking for string.h
configure:8248: /opt/psi/Programming/gcc/10.4.0/bin/gcc -c -g -O2 conftest.c >&5
configure:8248: $? = 0
configure:8248: result: yes
configure:8248: checking for memory.h
configure:8248: /opt/psi/Programming/gcc/10.4.0/bin/gcc -c -g -O2 conftest.c >&5
configure:8248: $? = 0
configure:8248: result: yes
configure:8248: checking for strings.h
configure:8248: /opt/psi/Programming/gcc/10.4.0/bin/gcc -c -g -O2 conftest.c >&5
configure:8248: $? = 0
configure:8248: result: yes
configure:8248: checking for inttypes.h
configure:8248: /opt/psi/Programming/gcc/10.4.0/bin/gcc -c -g -O2 conftest.c >&5
configure:8248: $? = 0
configure:8248: result: yes
configure:8248: checking for stdint.h
configure:8248: /opt/psi/Programming/gcc/10.4.0/bin/gcc -c -g -O2 conftest.c >&5
configure:8248: $? = 0
configure:8248: result: yes
configure:8248: checking for unistd.h
configure:8248: /opt/psi/Programming/gcc/10.4.0/bin/gcc -c -g -O2 conftest.c >&5
configure:8248: $? = 0
configure:8248: result: yes
configure:8262: checking for dlfcn.h
configure:8262: /opt/psi/Programming/gcc/10.4.0/bin/gcc -c -g -O2 conftest.c >&5
configure:8262: $? = 0
configure:8262: result: yes
configure:8528: checking for objdir
configure:8543: result: .libs
configure:8807: checking if /opt/psi/Programming/gcc/10.4.0/bin/gcc supports -fno-rtti -fno-exceptions
configure:8825: /opt/psi/Programming/gcc/10.4.0/bin/gcc -c -g -O2 -fno-rtti -fno-exceptions conftest.c >&5
cc1: warning: command-line option '-fno-rtti' is valid for C++/D/ObjC++ but not for C
configure:8829: $? = 0
configure:8842: result: no
configure:9200: checking for /opt/psi/Programming/gcc/10.4.0/bin/gcc option to produce PIC
configure:9207: result: -fPIC -DPIC
configure:9215: checking if /opt/psi/Programming/gcc/10.4.0/bin/gcc PIC flag -fPIC -DPIC works
configure:9233: /opt/psi/Programming/gcc/10.4.0/bin/gcc -c -g -O2 -fPIC -DPIC -DPIC conftest.c >&5
configure:9237: $? = 0
configure:9250: result: yes
configure:9279: checking if /opt/psi/Programming/gcc/10.4.0/bin/gcc static flag -static works
configure:9307: result: no
configure:9322: checking if /opt/psi/Programming/gcc/10.4.0/bin/gcc supports -c -o file.o
configure:9343: /opt/psi/Programming/gcc/10.4.0/bin/gcc -c -g -O2 -o out/conftest2.o conftest.c >&5
configure:9347: $? = 0
configure:9369: result: yes
configure:9377: checking if /opt/psi/Programming/gcc/10.4.0/bin/gcc supports -c -o file.o
configure:9424: result: yes
configure:9457: checking whether the /opt/psi/Programming/gcc/10.4.0/bin/gcc linker (/usr/bin/ld -m elf_x86_64) supports shared libraries
configure:10716: result: yes
configure:10753: checking whether -lc should be explicitly linked in
configure:10761: /opt/psi/Programming/gcc/10.4.0/bin/gcc -c -g -O2 conftest.c >&5
configure:10764: $? = 0
configure:10779: /opt/psi/Programming/gcc/10.4.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:10782: $? = 0
configure:10796: result: no
configure:10956: checking dynamic linker characteristics
configure:11537: /opt/psi/Programming/gcc/10.4.0/bin/gcc -o conftest -g -O2 -Wl,-rpath -Wl,/foo conftest.c >&5
configure:11537: $? = 0
configure:11777: result: GNU/Linux ld.so
configure:11899: checking how to hardcode library paths into programs
configure:11924: result: immediate
configure:12472: checking whether stripping libraries is possible
configure:12477: result: yes
configure:12512: checking if libtool supports shared libraries
configure:12514: result: yes
configure:12517: checking whether to build shared libraries
configure:12542: result: yes
configure:12545: checking whether to build static libraries
configure:12549: result: yes
configure:12572: checking how to run the C++ preprocessor
configure:12599: /opt/psi/Programming/gcc/10.4.0/bin/g++ -E conftest.cpp
configure:12599: $? = 0
configure:12613: /opt/psi/Programming/gcc/10.4.0/bin/g++ -E conftest.cpp
conftest.cpp:23:10: fatal error: ac_nonexistent.h: No such file or directory
23 | #include <ac_nonexistent.h>
| ^~~~~~~~~~~~~~~~~~
compilation terminated.
configure:12613: $? = 1
configure: failed program was:
| /* confdefs.h */
| #define PACKAGE_NAME "CAFE"
| #define PACKAGE_TARNAME "cafe"
| #define PACKAGE_VERSION "1.20.1"
| #define PACKAGE_STRING "CAFE 1.20.1"
| #define PACKAGE_BUGREPORT "Bug reports to: jan.chrin@psi.ch"
| #define PACKAGE_URL ""
| #define PACKAGE "cafe"
| #define VERSION "1.20.1"
| #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:12638: result: /opt/psi/Programming/gcc/10.4.0/bin/g++ -E
configure:12658: /opt/psi/Programming/gcc/10.4.0/bin/g++ -E conftest.cpp
configure:12658: $? = 0
configure:12672: /opt/psi/Programming/gcc/10.4.0/bin/g++ -E conftest.cpp
conftest.cpp:23:10: fatal error: ac_nonexistent.h: No such file or directory
23 | #include <ac_nonexistent.h>
| ^~~~~~~~~~~~~~~~~~
compilation terminated.
configure:12672: $? = 1
configure: failed program was:
| /* confdefs.h */
| #define PACKAGE_NAME "CAFE"
| #define PACKAGE_TARNAME "cafe"
| #define PACKAGE_VERSION "1.20.1"
| #define PACKAGE_STRING "CAFE 1.20.1"
| #define PACKAGE_BUGREPORT "Bug reports to: jan.chrin@psi.ch"
| #define PACKAGE_URL ""
| #define PACKAGE "cafe"
| #define VERSION "1.20.1"
| #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:12834: checking for ld used by /opt/psi/Programming/gcc/10.4.0/bin/g++
configure:12901: result: /usr/bin/ld -m elf_x86_64
configure:12908: checking if the linker (/usr/bin/ld -m elf_x86_64) is GNU ld
configure:12923: result: yes
configure:12978: checking whether the /opt/psi/Programming/gcc/10.4.0/bin/g++ linker (/usr/bin/ld -m elf_x86_64) supports shared libraries
configure:14051: result: yes
configure:14087: /opt/psi/Programming/gcc/10.4.0/bin/g++ -c -g -O2 conftest.cpp >&5
configure:14090: $? = 0
configure:14571: checking for /opt/psi/Programming/gcc/10.4.0/bin/g++ option to produce PIC
configure:14578: result: -fPIC -DPIC
configure:14586: checking if /opt/psi/Programming/gcc/10.4.0/bin/g++ PIC flag -fPIC -DPIC works
configure:14604: /opt/psi/Programming/gcc/10.4.0/bin/g++ -c -g -O2 -fPIC -DPIC -DPIC conftest.cpp >&5
configure:14608: $? = 0
configure:14621: result: yes
configure:14644: checking if /opt/psi/Programming/gcc/10.4.0/bin/g++ static flag -static works
configure:14672: result: no
configure:14684: checking if /opt/psi/Programming/gcc/10.4.0/bin/g++ supports -c -o file.o
configure:14705: /opt/psi/Programming/gcc/10.4.0/bin/g++ -c -g -O2 -o out/conftest2.o conftest.cpp >&5
configure:14709: $? = 0
configure:14731: result: yes
configure:14736: checking if /opt/psi/Programming/gcc/10.4.0/bin/g++ supports -c -o file.o
configure:14783: result: yes
configure:14813: checking whether the /opt/psi/Programming/gcc/10.4.0/bin/g++ linker (/usr/bin/ld -m elf_x86_64) supports shared libraries
configure:14853: result: yes
configure:14994: checking dynamic linker characteristics
configure:15742: result: GNU/Linux ld.so
configure:15807: checking how to hardcode library paths into programs
configure:15832: result: immediate
configure:16057: checking cadef.h usability
configure:16057: /opt/psi/Programming/gcc/10.4.0/bin/g++ -c -g -O2 -fexceptions -fPIC -std=c++1z -z nodefs -I/usr/local/epics/base-7.0.7/include/ -I/usr/local/epics/base-7.0.7/include/os/Linux -I/usr/local/epics/base-7.0.7/include/compiler/gcc conftest.cpp >&5
configure:16057: $? = 0
configure:16057: result: yes
configure:16057: checking cadef.h presence
configure:16057: /opt/psi/Programming/gcc/10.4.0/bin/g++ -E -fexceptions -fPIC -std=c++1z -z nodefs -I/usr/local/epics/base-7.0.7/include/ -I/usr/local/epics/base-7.0.7/include/os/Linux -I/usr/local/epics/base-7.0.7/include/compiler/gcc conftest.cpp
configure:16057: $? = 0
configure:16057: result: yes
configure:16057: checking for cadef.h
configure:16057: result: yes
configure:16076: checking epicsTypes.h usability
configure:16076: /opt/psi/Programming/gcc/10.4.0/bin/g++ -c -g -O2 -fexceptions -fPIC -std=c++1z -z nodefs -I/usr/local/epics/base-7.0.7/include/ -I/usr/local/epics/base-7.0.7/include/os/Linux -I/usr/local/epics/base-7.0.7/include/compiler/gcc conftest.cpp >&5
configure:16076: $? = 0
configure:16076: result: yes
configure:16076: checking epicsTypes.h presence
configure:16076: /opt/psi/Programming/gcc/10.4.0/bin/g++ -E -fexceptions -fPIC -std=c++1z -z nodefs -I/usr/local/epics/base-7.0.7/include/ -I/usr/local/epics/base-7.0.7/include/os/Linux -I/usr/local/epics/base-7.0.7/include/compiler/gcc conftest.cpp
configure:16076: $? = 0
configure:16076: result: yes
configure:16076: checking for epicsTypes.h
configure:16076: result: yes
configure:16093: checking for main in -lca
configure:16112: /opt/psi/Programming/gcc/10.4.0/bin/g++ -o conftest -g -O2 -fexceptions -fPIC -std=c++1z -z nodefs -I/usr/local/epics/base-7.0.7/include/ -I/usr/local/epics/base-7.0.7/include/os/Linux -I/usr/local/epics/base-7.0.7/include/compiler/gcc -L/usr/local/epics/base-7.0.7/lib/RHEL8-x86_64 -Wl,-rpath,/usr/local/epics/base-7.0.7/lib/RHEL8-x86_64 conftest.cpp -lca >&5
/usr/bin/ld: warning: -z nodefs ignored.
configure:16112: $? = 0
configure:16121: result: yes
configure:16134: checking for main in -lCom
configure:16153: /opt/psi/Programming/gcc/10.4.0/bin/g++ -o conftest -g -O2 -fexceptions -fPIC -std=c++1z -z nodefs -I/usr/local/epics/base-7.0.7/include/ -I/usr/local/epics/base-7.0.7/include/os/Linux -I/usr/local/epics/base-7.0.7/include/compiler/gcc -L/usr/local/epics/base-7.0.7/lib/RHEL8-x86_64 -Wl,-rpath,/usr/local/epics/base-7.0.7/lib/RHEL8-x86_64 conftest.cpp -lCom >&5
/usr/bin/ld: warning: -z nodefs ignored.
configure:16153: $? = 0
configure:16162: result: yes
configure:16175: checking for main in -ldl
configure:16194: /opt/psi/Programming/gcc/10.4.0/bin/g++ -o conftest -g -O2 -fexceptions -fPIC -std=c++1z -z nodefs -I/usr/local/epics/base-7.0.7/include/ -I/usr/local/epics/base-7.0.7/include/os/Linux -I/usr/local/epics/base-7.0.7/include/compiler/gcc -L/usr/local/epics/base-7.0.7/lib/RHEL8-x86_64 -Wl,-rpath,/usr/local/epics/base-7.0.7/lib/RHEL8-x86_64 conftest.cpp -ldl >&5
/usr/bin/ld: warning: -z nodefs ignored.
configure:16194: $? = 0
configure:16203: result: yes
configure:16408: checking multi_index_container.hpp usability
configure:16408: /opt/psi/Programming/gcc/10.4.0/bin/g++ -c -g -O2 -fexceptions -fPIC -std=c++1z -z nodefs -I/usr/local/epics/base-7.0.7/include/ -I/usr/local/epics/base-7.0.7/include/os/Linux -I/usr/local/epics/base-7.0.7/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:16408: $? = 0
configure:16408: result: yes
configure:16408: checking multi_index_container.hpp presence
configure:16408: /opt/psi/Programming/gcc/10.4.0/bin/g++ -E -fexceptions -fPIC -std=c++1z -z nodefs -I/usr/local/epics/base-7.0.7/include/ -I/usr/local/epics/base-7.0.7/include/os/Linux -I/usr/local/epics/base-7.0.7/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:16408: $? = 0
configure:16408: result: yes
configure:16408: checking for multi_index_container.hpp
configure:16408: result: yes
configure:17122: checking qxml.h usability
configure:17122: /opt/psi/Programming/gcc/10.4.0/bin/g++ -c -g -O2 -fexceptions -fPIC -std=c++1z -z nodefs -I/usr/local/epics/base-7.0.7/include/ -I/usr/local/epics/base-7.0.7/include/os/Linux -I/usr/local/epics/base-7.0.7/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.7/latest/include/qt -I/opt/gfa/python-3.7/latest/include/qt/QtCore -I/opt/gfa/python-3.7/latest/include/qt/QtXml conftest.cpp >&5
configure:17122: $? = 0
configure:17122: result: yes
configure:17122: checking qxml.h presence
configure:17122: /opt/psi/Programming/gcc/10.4.0/bin/g++ -E -fexceptions -fPIC -std=c++1z -z nodefs -I/usr/local/epics/base-7.0.7/include/ -I/usr/local/epics/base-7.0.7/include/os/Linux -I/usr/local/epics/base-7.0.7/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.7/latest/include/qt -I/opt/gfa/python-3.7/latest/include/qt/QtCore -I/opt/gfa/python-3.7/latest/include/qt/QtXml conftest.cpp
configure:17122: $? = 0
configure:17122: result: yes
configure:17122: checking for qxml.h
configure:17122: result: yes
configure:17232: checking for write in -lQt5Core
configure:17257: /opt/psi/Programming/gcc/10.4.0/bin/g++ -o conftest -g -O2 -fexceptions -fPIC -std=c++1z -z nodefs -I/usr/local/epics/base-7.0.7/include/ -I/usr/local/epics/base-7.0.7/include/os/Linux -I/usr/local/epics/base-7.0.7/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.7/latest/include/qt -I/opt/gfa/python-3.7/latest/include/qt/QtCore -I/opt/gfa/python-3.7/latest/include/qt/QtXml -L/usr/local/epics/base-7.0.7/lib/RHEL8-x86_64 -Wl,-rpath,/usr/local/epics/base-7.0.7/lib/RHEL8-x86_64 -L/opt/gfa/python-3.7/latest/lib -Wl,-rpath,/opt/gfa/python-3.7/latest/lib conftest.cpp -lQt5Core >&5
/usr/bin/ld: warning: -z nodefs ignored.
configure:17257: $? = 0
configure:17266: result: yes
configure:17284: checking for qt_version_tag in -lQt5Xml
configure:17309: /opt/psi/Programming/gcc/10.4.0/bin/g++ -o conftest -g -O2 -fexceptions -fPIC -std=c++1z -z nodefs -I/usr/local/epics/base-7.0.7/include/ -I/usr/local/epics/base-7.0.7/include/os/Linux -I/usr/local/epics/base-7.0.7/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.7/latest/include/qt -I/opt/gfa/python-3.7/latest/include/qt/QtCore -I/opt/gfa/python-3.7/latest/include/qt/QtXml -L/usr/local/epics/base-7.0.7/lib/RHEL8-x86_64 -Wl,-rpath,/usr/local/epics/base-7.0.7/lib/RHEL8-x86_64 -L/opt/gfa/python-3.7/latest/lib -Wl,-rpath,/opt/gfa/python-3.7/latest/lib conftest.cpp -lQt5Xml -lQt5Core >&5
/usr/bin/ld: warning: -z nodefs ignored.
configure:17309: $? = 0
configure:17318: result: yes
configure:18169: checking that generated files are newer than configure
configure:18175: result: done
configure:18214: creating ./config.status
## ---------------------- ##
## Running config.status. ##
## ---------------------- ##
This file was extended by CAFE config.status 1.20.1, which was
generated by GNU Autoconf 2.69. Invocation command line was
CONFIG_FILES =
CONFIG_HEADERS =
CONFIG_LINKS =
CONFIG_COMMANDS =
$ ./config.status
on sf-lc8.psi.ch
config.status:1178: creating makefile
config.status:1178: creating src/makefile
config.status:1178: creating include/makefile
config.status:1178: creating ./include/config.h
config.status:1407: executing depfiles commands
config.status:1484: cd src && sed -e '/# am--include-marker/d' makefile | make -f - am--depfiles
make: Nothing to be done for 'am--depfiles'.
config.status:1489: $? = 0
config.status:1407: executing libtool commands
## ---------------- ##
## Cache variables. ##
## ---------------- ##
ac_cv_build=x86_64-pc-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/10.4.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/10.4.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_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-pc-linux-gnu
ac_cv_lib_Com_main=yes
ac_cv_lib_Qt5Core_write=yes
ac_cv_lib_Qt5Xml_qt_version_tag=yes
ac_cv_lib_ca_main=yes
ac_cv_lib_dl_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/10.4.0/bin/gcc -E'
ac_cv_prog_CXXCPP='/opt/psi/Programming/gcc/10.4.0/bin/g++ -E'
ac_cv_prog_ac_ct_AR=ar
ac_cv_prog_ac_ct_CC=/opt/psi/Programming/gcc/10.4.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
am_cv_prog_cc_c_o=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.16'
AMDEPBACKSLASH='\'
AMDEP_FALSE='#'
AMDEP_TRUE=''
AMTAR='$${TAR-tar}'
AM_BACKSLASH='\'
AM_CPPFLAGS=' -fexceptions -fPIC -std=c++1z -z nodefs -I/usr/local/epics/base-7.0.7/include/ -I/usr/local/epics/base-7.0.7/include/os/Linux -I/usr/local/epics/base-7.0.7/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.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_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)'
AM_DEFAULT_VERBOSITY='1'
AM_LDFLAGS=' -L/usr/local/epics/base-7.0.7/lib/RHEL8-x86_64 -Wl,-rpath,/usr/local/epics/base-7.0.7/lib/RHEL8-x86_64 -L/opt/gfa/python-3.7/latest/lib -Wl,-rpath,/opt/gfa/python-3.7/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.16'
AWK='gawk'
CAFE_CPPFLAGS='-I$(top_srcdir)/include '
CC='/opt/psi/Programming/gcc/10.4.0/bin/gcc'
CCDEPMODE='depmode=gcc3'
CFLAGS='-g -O2'
CPP='/opt/psi/Programming/gcc/10.4.0/bin/gcc -E'
CPPFLAGS=' -fexceptions -fPIC -std=c++1z -z nodefs -I/usr/local/epics/base-7.0.7/include/ -I/usr/local/epics/base-7.0.7/include/os/Linux -I/usr/local/epics/base-7.0.7/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.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/10.4.0/bin/g++'
CXXCPP='/opt/psi/Programming/gcc/10.4.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.7/lib/RHEL8-x86_64 -Wl,-rpath,/usr/local/epics/base-7.0.7/lib/RHEL8-x86_64 -L/opt/gfa/python-3.7/latest/lib -Wl,-rpath,/opt/gfa/python-3.7/latest/lib '
LIBOBJS=''
LIBS='-lQt5Xml -lQt5Core '
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.20.1'
PACKAGE_TARNAME='cafe'
PACKAGE_URL=''
PACKAGE_VERSION='1.20.1'
PATH_SEPARATOR=':'
RANLIB='ranlib'
SED='/usr/bin/sed'
SET_MAKE=''
SHELL='/bin/sh'
STRIP='strip'
VERSION='1.20.1'
ac_ct_AR='ar'
ac_ct_CC='/opt/psi/Programming/gcc/10.4.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-pc-linux-gnu'
build_alias=''
build_cpu='x86_64'
build_os='linux-gnu'
build_vendor='pc'
datadir='${datarootdir}'
datarootdir='${prefix}/share'
docdir='${datarootdir}/doc/${PACKAGE_TARNAME}'
dvidir='${docdir}'
exec_prefix='${prefix}'
host='x86_64-pc-linux-gnu'
host_alias=''
host_cpu='x86_64'
host_os='linux-gnu'
host_vendor='pc'
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.20.1-gcc-10.4.0/lib/RHEL8-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.20.1-gcc-10.4.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.20.1"
#define PACKAGE_STRING "CAFE 1.20.1"
#define PACKAGE_BUGREPORT "Bug reports to: jan.chrin@psi.ch"
#define PACKAGE_URL ""
#define PACKAGE "cafe"
#define VERSION "1.20.1"
#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.0.7
#define EPICS_MAJOR 7
#define EPICS_MINOR 0
#define EPICS_PATCH 7
#define HAVE_MULTI_INDEX_CONTAINER_HPP 1
#define HAVE_BOOST 1
#define HAVE_QXML_H 1
#define HAVE_LIBQT5CORE 1
#define HAVE_LIBQT5XML 1
#define HAVE_QT 1
#define HAVE_LIBQTXML 1
#define QT_NO_VERSION_TAGGING 1
configure: exit 0

2223
config.status Executable file

File diff suppressed because it is too large Load Diff

1833
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.20.1], [Bug reports to: jan.chrin@psi.ch])
AC_CONFIG_AUX_DIR(./)
@@ -38,7 +38,8 @@ AC_LANG([C++])
AC_DEFINE_UNQUOTED(HAVE_LINUX, 1, [linux dependency (sleep)])
CPPFLAGS=" -fexceptions -fPIC -std=c++1z"
#-z nodefs suppress unresolöved symbols
CPPFLAGS=" -fexceptions -fPIC -std=c++1z -z nodefs"
# provide include directories
AC_SUBST([CAFE_CPPFLAGS], '-I$(top_srcdir)/include ')
@@ -93,7 +94,7 @@ if test x$HAVE_EPICS_3 == xtrue ; then
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}
EPICS_LIB_PATH=${EPICS_PREFIX}"/lib/"${RHREL}"-x86_64"
## Add epics release
EPICS_MAJOR_DEFAULT="3"
EPICS_MINOR_DEFAULT="14"
@@ -114,7 +115,7 @@ if test x$HAVE_EPICS_7 == xtrue ; then
-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}
EPICS_LIB_PATH=${EPICS_PREFIX}"/lib/"${RHREL}"-x86_64"
## Add epics release
EPICS_MAJOR_DEFAULT="7"
EPICS_MINOR_DEFAULT="4"
@@ -166,6 +167,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 +366,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 +422,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 +441,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 +538,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 +571,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 +603,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 +653,7 @@ AC_ARG_ENABLE(
HAVE_QT_4_=false]
)
#Only if enable flag is set
if test x$HAVE_QT_5_ == xtrue ; then
@@ -556,7 +671,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 +825,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

Binary file not shown.

Binary file not shown.

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
@@ -14,7 +13,7 @@
#define PV_X1 "ARIDI-BPM-01LE:X-AVG"
#define PV_Y1 "ARIDI-BPM-01LE:Y-AVG"
#define PV_WF "ARIDI-BPM-01LE:WF-INT-2" //256 elements
#define PV_WF "ARIDI-BPM-01LE:WF-INT-1" //256 elements
#define PV_MBBI "ARIDI-BPM-01LE:GET-ENABLE" //mmbi
#define PV_X1_DESC "ARIDI-BPM-01LE:X-AVG.DESC" //dbr_string_t
#define PV_JOKE "PV:JOKE"
@@ -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)
@@ -191,6 +197,35 @@ int main( int argc, char *argv[] )
cout << "---------------------------------------------------------------------" << endl;
//reset Number of elements to native value for get operation
cafe->getHandleHelper().setNelem(hArray[2], cafe->getNelemNative(hArray[2]) );
//Allocate
double * dwf2 = new double[cafe->getNelemNative(hArray[2])];
status=cafe->get(PV_WF, dwf2);
if (status != ICAFE_NORMAL)
{
cout << "Status = " << status << "; indicates an error at " << __METHOD__ << "//" << __LINE__ << endl;
cafe->getCafeStatus().report(status);
}
else
{
cout << PV_WF << " successfully read out " << endl;
cout << "First five elements have values: " << endl;
for (int i=0; i<std::min(10,(int) cafe->getNelemRequest(hArray[2])); ++i)
{
cout << dwf2[i] << " [" << i << "] ";
}
cout << endl;
}
;
//------------------------------------------------------------
//(2) Basic Single Channel Operations
//------------------------------------------------------------
@@ -468,8 +503,10 @@ int main( int argc, char *argv[] )
//------------------------------------------------------------
//Data retrieval methods returning a waveform array
//------------------------------------------------------------
ChannelRequestPolicy channelRequestPolicyGetWF;
channelRequestPolicyGetWF.setPolicy(CAFENUM::FLUSH_AFTER_EACH_MESSAGE,
CAFENUM::WAIT, CAFENUM::WITHOUT_CALLBACK); //Wait!!
status=cafe->getPolicyHelper().setChannelRequestPolicyGet(hArray[2], channelRequestPolicyGetWF);
//inwf array of 20 doubles previous defined
//copy to vector to illustrate other possibilities
@@ -540,6 +577,7 @@ int main( int argc, char *argv[] )
cout << endl;
}
//reset offset for read and the nelemtonative
cout << "Resetting nelem for wf to native value: " << cafe->getHandleHelper().setNelemToNative(hArray[2])
<< " and resetting offset to: " << cafe->getHandleHelper().setOffset(hArray[2], 0) << endl;

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.20.1-py37-gcc-8.5.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.7
#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)
${EPICS_HOST_ARCH}/cafeTest: cafeTest.cc callbacks.h
g++ cafeTest.cc -o ${EPICS_HOST_ARCH}/cafeTest \
$(INCLUDE_PATH) $(LIB_DIR) $(LIBS)
clean:
rm -f ${EPICS_HOST_ARCH}/cafeTest.o ${EPICS_HOST_ARCH}/cafeTest ${EPICS_HOST_ARCH}/monitorTest.o ${EPICS_HOST_ARCH}/monitorTest

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;
@@ -260,6 +263,7 @@ struct change_eventHandlerArgs
switch(dbrTypeClass)
{
case CAFENUM::DBR_PRIMITIVE:
@@ -337,6 +341,7 @@ struct change_eventHandlerArgs
for (long i=0; i<new_eventHandlerArgs.count; ++i)
{
(*(&((c.dataBuffer)->fltval)+i))
= (dbr_float_t) (*(&( ( (union db_access_val *) new_eventHandlerArgs.dbr)->fltval)+i));
}
@@ -501,6 +506,7 @@ struct change_eventHandlerArgs
for (long i=0; i<new_eventHandlerArgs.count; ++i)
{
(*(&((c.dataBuffer)->tdblval.value)+i))
= (*(&( ((union db_access_val *) new_eventHandlerArgs.dbr)->tdblval.value)+i));
}
@@ -519,12 +525,15 @@ struct change_eventHandlerArgs
case DBR_TIME_FLOAT: //16
for (long i=0; i<new_eventHandlerArgs.count; ++i)
{
{
(*(&((c.dataBuffer)->tfltval.value)+i))
= (dbr_float_t) (*(&( ( (union db_access_val *) new_eventHandlerArgs.dbr)->tfltval.value)+i));
//if (i< 10) {
// std::cout << i << " // " << __METHOD__ << " " << (*(&((c.dataBuffer)->tfltval.value)+i)) << std::endl;
//}
}
(*(&((c.dataBuffer)->tfltval.status))) = ((struct dbr_time_float *) new_eventHandlerArgs.dbr)->status;

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 0
/* epics patch release */
#define EPICS_PATCH 7
/* 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.0.7
/* 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). */
/* #undef HAVE_LIBPYTHON3_8 */
/* Define to 1 if you have the `Qt5Core' library (-lQt5Core). */
#define HAVE_LIBQT5CORE 1
/* Define to 1 if you have the `Qt5Xml' library (-lQt5Xml). */
#define HAVE_LIBQT5XML 1
/* 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 */
/* #undef HAVE_PYCAFE_EXT */
/* Availability of python */
/* #undef HAVE_PYTHON */
/* Define to 1 if you have the <Python.h> header file. */
/* #undef HAVE_PYTHON_H */
/* 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.20.1"
/* 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.20.1"
/* 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.20.1"

View File

@@ -32,7 +32,8 @@
#include <boost/chrono.hpp>
#endif
#include <epicsVersion.h>
//include <epicsMutex.h>
class Connect
@@ -45,16 +46,12 @@ protected:
CAFEGlobalAlarmSeverity epicsAlarmSeverity;
CAFEGlobalAlarmCondition epicsAlarmStatus;
cafeConduit_set::iterator itcs;
cafeGroup_set::iterator itgs;
CAFEDataTypeCode cafeDataTypeCode;
ExceptionsHelper exceptionsHelper;
PolicyHelper policyHelper;
HandleHelper handleHelper;
Helper helper;
@@ -66,7 +63,7 @@ protected:
//connectCallbacks.cc
static void callbackHandlerAccessRights(struct access_rights_handler_args args);
static void callbackHandlerException (struct exception_handler_args args);
static void callbackHandlerException (struct exception_handler_args args);
//connect.cpp
//int createHandle(const char * pv, ca_client_context * ccc, ChannelRequestPolicy channelRequestPolicyPut, unsigned int &handle)
@@ -202,6 +199,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();
@@ -689,10 +694,15 @@ public:
{
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())
{
return (*it_handle).isConnected();
//cafeMutex.lock();
bool isConnected = (*it_handle).isConnected();
//cafeMutex.unlock();
return isConnected;
}
else
{

View File

@@ -9,20 +9,19 @@
#ifndef GLOBAL_H
#define GLOBAL_H
#include <cadef.h>
//include <epicsTime.h>
//include <epicsMutex.h>
//#include <cadef.h>
#include <hashConduit.h>
#include <hashConduitGroup.h>
#include <PVGroup.h>
#include <deviceCollection.h>
#include <enumStrings.h>
//#include <enumStrings.h>
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 +31,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

@@ -14,6 +14,7 @@
//include <policyHelper.h>
//extern cafeConduit_set cs;
#include <epicsMutex.h>
template <class CTYPE> class Instant
{
@@ -27,7 +28,7 @@ private:
Transpose<dbr_long_t> renderLong; // 5
Transpose<dbr_double_t> renderDouble; // 6
CAFEStatus cafeStatus;
CAFEStatus cafeStatus;
Granules cafeGranules;
PolicyHelper policyHelper;
@@ -132,10 +133,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 +464,8 @@ public:
};
//include <instant.cpp>
/**
* \brief Set values of data type CTYPE
* \param _handle input: handle to CAFEConduit object
@@ -819,8 +822,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 +3730,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

@@ -1,7 +1,7 @@
# makefile.in generated by automake 1.13.4 from makefile.am.
# makefile.in generated by automake 1.16.1 from makefile.am.
# include/makefile. Generated from makefile.in by configure.
# Copyright (C) 1994-2013 Free Software Foundation, Inc.
# Copyright (C) 1994-2018 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -15,7 +15,17 @@
am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
am__is_gnu_make = { \
if test -z '$(MAKELEVEL)'; then \
false; \
elif test -n '$(MAKE_HOST)'; then \
true; \
elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
true; \
else \
false; \
fi; \
}
am__make_running_with_option = \
case $${target_option-} in \
?) ;; \
@@ -76,8 +86,8 @@ POST_INSTALL = :
NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
build_triplet = x86_64-unknown-linux-gnu
host_triplet = x86_64-unknown-linux-gnu
build_triplet = x86_64-pc-linux-gnu
host_triplet = x86_64-pc-linux-gnu
#am__append_1 = zbsread.h zbsHash.h zbsdtHelper.h zbsDataHolders.h \
# bitshuffle/bitshuffle_core.h bitshuffle/bitshuffle.h bitshuffle/iochain.h \
# bitshuffle/bitshuffle_internals.h
@@ -89,8 +99,6 @@ host_triplet = x86_64-unknown-linux-gnu
#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)
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \
$(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
@@ -98,6 +106,8 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \
$(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/makefile.am $(am__include_HEADERS_DIST) \
$(am__DIST_COMMON)
mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = $(top_builddir)/./include/config.h
CONFIG_CLEAN_FILES =
@@ -185,25 +195,26 @@ am__define_uniq_tagged_files = \
done | $(am__uniquify_input)`
ETAGS = etags
CTAGS = ctags
am__DIST_COMMON = $(srcdir)/makefile.in
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = ${SHELL} /afs/psi.ch/project/cafe/gitlab/CAFE/cpp/missing aclocal-1.13
ACLOCAL = ${SHELL} /afs/psi.ch/project/cafe/gitlab/CAFE/cpp/missing aclocal-1.16
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 -z nodefs -I/usr/local/epics/base-7.0.7/include/ -I/usr/local/epics/base-7.0.7/include/os/Linux -I/usr/local/epics/base-7.0.7/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.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_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.7/lib/RHEL8-x86_64 -Wl,-rpath,/usr/local/epics/base-7.0.7/lib/RHEL8-x86_64 -L/opt/gfa/python-3.7/latest/lib -Wl,-rpath,/opt/gfa/python-3.7/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
AUTOMAKE = ${SHELL} /afs/psi.ch/project/cafe/gitlab/CAFE/cpp/missing automake-1.16
AWK = gawk
CAFE_CPPFLAGS = -I$(top_srcdir)/include
CC = /opt/psi/Programming/gcc/7.3.0/bin/gcc
CC = /opt/psi/Programming/gcc/10.4.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/10.4.0/bin/gcc -E
CPPFLAGS = -fexceptions -fPIC -std=c++1z -z nodefs -I/usr/local/epics/base-7.0.7/include/ -I/usr/local/epics/base-7.0.7/include/os/Linux -I/usr/local/epics/base-7.0.7/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.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/10.4.0/bin/g++
CXXCPP = /opt/psi/Programming/gcc/10.4.0/bin/g++ -E
CXXDEPMODE = depmode=gcc3
CXXFLAGS = -g -O2
CYGPATH_W = echo
@@ -225,7 +236,7 @@ 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.7/lib/RHEL8-x86_64 -Wl,-rpath,/usr/local/epics/base-7.0.7/lib/RHEL8-x86_64 -L/opt/gfa/python-3.7/latest/lib -Wl,-rpath,/opt/gfa/python-3.7/latest/lib
LIBOBJS =
LIBS = -lQt5Xml -lQt5Core
LIBTOOL = $(SHELL) $(top_builddir)/libtool
@@ -245,23 +256,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.20.1
PACKAGE_TARNAME = cafe
PACKAGE_URL =
PACKAGE_VERSION = 1.14.4
PACKAGE_VERSION = 1.20.1
PATH_SEPARATOR = :
RANLIB = ranlib
SED = /usr/bin/sed
SET_MAKE =
SHELL = /bin/sh
STRIP = strip
VERSION = 1.14.4
VERSION = 1.20.1
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/10.4.0/bin/gcc
ac_ct_CXX =
ac_ct_DUMPBIN =
am__include = include
@@ -270,27 +281,27 @@ am__quote =
am__tar = $${TAR-tar} chof - "$$tardir"
am__untar = $${TAR-tar} xf -
bindir = ${exec_prefix}/bin
build = x86_64-unknown-linux-gnu
build = x86_64-pc-linux-gnu
build_alias =
build_cpu = x86_64
build_os = linux-gnu
build_vendor = unknown
build_vendor = pc
builddir = .
datadir = ${datarootdir}
datarootdir = ${prefix}/share
docdir = ${datarootdir}/doc/${PACKAGE_TARNAME}
dvidir = ${docdir}
exec_prefix = ${prefix}
host = x86_64-unknown-linux-gnu
host = x86_64-pc-linux-gnu
host_alias =
host_cpu = x86_64
host_os = linux-gnu
host_vendor = unknown
host_vendor = pc
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.20.1-gcc-10.4.0/lib/RHEL8-x86_64
libexecdir = ${exec_prefix}/libexec
localedir = ${datarootdir}/locale
localstatedir = ${prefix}/var
@@ -298,7 +309,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.20.1-gcc-10.4.0
program_transform_name = s,x,x,
psdir = ${docdir}
sbindir = ${exec_prefix}/sbin
@@ -337,14 +348,13 @@ $(srcdir)/makefile.in: $(srcdir)/makefile.am $(am__configure_deps)
echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu include/makefile'; \
$(am__cd) $(top_srcdir) && \
$(AUTOMAKE) --gnu include/makefile
.PRECIOUS: makefile
makefile: $(srcdir)/makefile.in $(top_builddir)/config.status
@case '$?' in \
*config.status*) \
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
*) \
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \
esac;
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
@@ -435,7 +445,10 @@ cscopelist-am: $(am__tagged_files)
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
distdir: $(DISTFILES)
distdir: $(BUILT_SOURCES)
$(MAKE) $(AM_MAKEFLAGS) distdir-am
distdir-am: $(DISTFILES)
@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
list='$(DISTFILES)'; \
@@ -584,6 +597,8 @@ uninstall-am: uninstall-includeHEADERS
ps ps-am tags tags-am uninstall uninstall-am \
uninstall-includeHEADERS
.PRECIOUS: makefile
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.

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)
{

57
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.20.1
# Libtool was configured on host sf-lc8.psi.ch:
# NOTE: Changes made to this file will be lost: look at ltmain.sh.
# Provide generalized library-building support services.
@@ -67,12 +67,12 @@ PATH_SEPARATOR=":"
# The host system.
host_alias=
host=x86_64-unknown-linux-gnu
host=x86_64-pc-linux-gnu
host_os=linux-gnu
# The build system.
build_alias=
build=x86_64-unknown-linux-gnu
build=x86_64-pc-linux-gnu
build_os=linux-gnu
# A sed program that does not truncate output.
@@ -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/10.4.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.x86_64_slp6/Programming/gcc/10.4.0/lib/gcc/x86_64-pc-linux-gnu/10.4.0 /afs/psi.ch/sys/psi.x86_64_slp6/Programming/gcc/10.4.0/lib/gcc /opt/psi/Programming/gcc/10.4.0/lib64 /afs/psi.ch/sys/psi.x86_64_slp6/Programming/gcc/10.4.0/lib64 /lib64 /usr/lib64 /opt/psi/Programming/gcc/10.4.0/lib /opt/psi/Tools/HDFView/3.1.2/lib /afs/psi.ch/sys/psi.x86_64_slp6/Programming/gcc/10.4.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="/lib64 /usr/lib64 /lib /usr/lib /usr/lib64/atlas /usr/lib64/dyninst /usr/lib/oracle/19.18/client64/lib /usr/lib64/tclx8.6 /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/10.4.0/bin/gcc"
# Is the compiler the GNU compiler?
with_gcc=yes
@@ -7732,11 +7732,6 @@ func_mode_link ()
arg=$func_stripname_result
;;
-Wl,--as-needed)
deplibs="$deplibs $arg"
continue
;;
-Wl,*)
func_stripname '-Wl,' '' "$arg"
args=$func_stripname_result
@@ -7789,10 +7784,12 @@ func_mode_link ()
# -tp=* Portland pgcc target processor selection
# --sysroot=* for sysroot support
# -O*, -g*, -flto*, -fwhopr*, -fuse-linker-plugin GCC link-time optimization
# -specs=* GCC specs files
# -stdlib=* select c++ std lib with clang
-64|-mips[0-9]|-r[0-9][0-9]*|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*| \
-t[45]*|-txscale*|-p|-pg|--coverage|-fprofile-*|-F*|@*|-tp=*|--sysroot=*| \
-O*|-g*|-flto*|-fwhopr*|-fuse-linker-plugin|-fstack-protector*|-stdlib=*)
-O*|-g*|-flto*|-fwhopr*|-fuse-linker-plugin|-fstack-protector*|-stdlib=*| \
-specs=*)
func_quote_for_eval "$arg"
arg=$func_quote_for_eval_result
func_append compile_command " $arg"
@@ -8041,7 +8038,6 @@ func_mode_link ()
case $linkmode in
lib)
as_needed_flag=
passes="conv dlpreopen link"
for file in $dlfiles $dlprefiles; do
case $file in
@@ -8053,7 +8049,6 @@ func_mode_link ()
done
;;
prog)
as_needed_flag=
compile_deplibs=
finalize_deplibs=
alldeplibs=false
@@ -8123,15 +8118,6 @@ func_mode_link ()
lib=
found=false
case $deplib in
-Wl,--as-needed)
if test prog,link = "$linkmode,$pass" ||
test lib,link = "$linkmode,$pass"; then
as_needed_flag="$deplib "
else
deplibs="$deplib $deplibs"
fi
continue
;;
-mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe \
|-threads|-fopenmp|-openmp|-mp|-xopenmp|-omp|-qsmp=*)
if test prog,link = "$linkmode,$pass"; then
@@ -10549,13 +10535,6 @@ EOF
test "X$libobjs" = "X " && libobjs=
fi
# A bit hacky. I had wanted to add \$as_needed_flag to archive_cmds instead, but that
# comes from libtool.m4 which is part of the project being built. This should put it
# in the right place though.
if test lib,link = "$linkmode,$pass" && test -n "$as_needed_flag"; then
libobjs=$as_needed_flag$libobjs
fi
save_ifs=$IFS; IFS='~'
for cmd in $cmds; do
IFS=$sp$nl
@@ -10788,8 +10767,8 @@ EOF
compile_deplibs=$new_libs
func_append compile_command " $as_needed_flag $compile_deplibs"
func_append finalize_command " $as_needed_flag $finalize_deplibs"
func_append compile_command " $compile_deplibs"
func_append finalize_command " $finalize_deplibs"
if test -n "$rpath$xrpath"; then
# If the user specified any rpath flags, then add them.
@@ -11694,7 +11673,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/10.4.0/bin/g++"
# Is the compiler the GNU compiler?
with_gcc=yes
@@ -11815,17 +11794,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/10.4.0/bin/../lib/gcc/x86_64-pc-linux-gnu/10.4.0 /afs/psi.ch/sys/psi.x86_64_slp6/Programming/gcc/10.4.0/bin/../lib/gcc /opt/psi/Programming/gcc/10.4.0/lib64/../lib64 /opt/psi/Programming/gcc/10.4.0/lib/../lib64 /afs/psi.ch/sys/psi.x86_64_slp6/Programming/gcc/10.4.0/bin/../lib/gcc/x86_64-pc-linux-gnu/10.4.0/../../../../lib64 /lib/../lib64 /usr/lib/../lib64 /opt/psi/Programming/gcc/10.4.0/lib64 /opt/psi/Programming/gcc/10.4.0/lib /opt/psi/Tools/HDFView/3.1.2/lib /afs/psi.ch/sys/psi.x86_64_slp6/Programming/gcc/10.4.0/bin/../lib/gcc/x86_64-pc-linux-gnu/10.4.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/10.4.0/bin/../lib/gcc/x86_64-pc-linux-gnu/10.4.0/crtbeginS.o"
postdep_objects="/afs/psi.ch/sys/psi.x86_64_slp6/Programming/gcc/10.4.0/bin/../lib/gcc/x86_64-pc-linux-gnu/10.4.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/10.4.0/bin/../lib/gcc/x86_64-pc-linux-gnu/10.4.0 -L/afs/psi.ch/sys/psi.x86_64_slp6/Programming/gcc/10.4.0/bin/../lib/gcc -L/opt/psi/Programming/gcc/10.4.0/lib64/../lib64 -L/opt/psi/Programming/gcc/10.4.0/lib/../lib64 -L/afs/psi.ch/sys/psi.x86_64_slp6/Programming/gcc/10.4.0/bin/../lib/gcc/x86_64-pc-linux-gnu/10.4.0/../../../../lib64 -L/lib/../lib64 -L/usr/lib/../lib64 -L/opt/psi/Programming/gcc/10.4.0/lib64 -L/opt/psi/Programming/gcc/10.4.0/lib -L/opt/psi/Tools/HDFView/3.1.2/lib -L/afs/psi.ch/sys/psi.x86_64_slp6/Programming/gcc/10.4.0/bin/../lib/gcc/x86_64-pc-linux-gnu/10.4.0/../../.."
# ### END LIBTOOL TAG CONFIG: CXX

8372
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

121
makefile
View File

@@ -1,7 +1,7 @@
# makefile.in generated by automake 1.13.4 from makefile.am.
# makefile.in generated by automake 1.16.1 from makefile.am.
# makefile. Generated from makefile.in by configure.
# Copyright (C) 1994-2013 Free Software Foundation, Inc.
# Copyright (C) 1994-2018 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -15,7 +15,17 @@
am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
am__is_gnu_make = { \
if test -z '$(MAKELEVEL)'; then \
false; \
elif test -n '$(MAKE_HOST)'; then \
true; \
elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
true; \
else \
false; \
fi; \
}
am__make_running_with_option = \
case $${target_option-} in \
?) ;; \
@@ -76,20 +86,9 @@ POST_INSTALL = :
NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
build_triplet = x86_64-unknown-linux-gnu
host_triplet = x86_64-unknown-linux-gnu
build_triplet = x86_64-pc-linux-gnu
host_triplet = x86_64-pc-linux-gnu
subdir = .
DIST_COMMON = INSTALL NEWS README AUTHORS ChangeLog \
$(srcdir)/makefile.in $(srcdir)/makefile.am \
$(top_srcdir)/configure $(am__configure_deps) \
$(top_srcdir)/./include/config.in $(include_HEADERS) \
.//AUTHORS COPYING .//COPYING .//ChangeLog .//INSTALL .//NEWS \
.//README config.guess .//config.guess config.sub \
.//config.sub depcomp .//depcomp install-sh .//install-sh \
missing .//missing ltmain.sh .//ltmain.sh \
$(top_srcdir)/./config.guess $(top_srcdir)/./config.sub \
$(top_srcdir)/./install-sh $(top_srcdir)/./ltmain.sh \
$(top_srcdir)/./missing
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \
$(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
@@ -97,6 +96,8 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \
$(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/makefile.am $(top_srcdir)/configure \
$(am__configure_deps) $(include_HEADERS) $(am__DIST_COMMON)
am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
configure.lineno config.status.lineno
mkinstalldirs = $(install_sh) -d
@@ -166,7 +167,7 @@ am__recursive_targets = \
$(RECURSIVE_CLEAN_TARGETS) \
$(am__extra_recursive_targets)
AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \
cscope distdir dist dist-all distcheck
cscope distdir distdir-am dist dist-all distcheck
am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
# Read a list of newline-separated strings from the standard input,
# and print each of them once, without duplicates. Input order is
@@ -188,6 +189,15 @@ ETAGS = etags
CTAGS = ctags
CSCOPE = cscope
DIST_SUBDIRS = $(SUBDIRS)
am__DIST_COMMON = $(srcdir)/makefile.in $(top_srcdir)/./compile \
$(top_srcdir)/./config.guess $(top_srcdir)/./config.sub \
$(top_srcdir)/./include/config.in $(top_srcdir)/./install-sh \
$(top_srcdir)/./ltmain.sh $(top_srcdir)/./missing .//AUTHORS \
.//COPYING .//ChangeLog .//INSTALL .//NEWS .//README \
.//compile .//config.guess .//config.sub .//install-sh \
.//ltmain.sh .//missing AUTHORS COPYING ChangeLog INSTALL NEWS \
README compile config.guess config.sub install-sh ltmain.sh \
missing
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
distdir = $(PACKAGE)-$(VERSION)
top_distdir = $(distdir)
@@ -230,24 +240,24 @@ distuninstallcheck_listfiles = find . -type f -print
am__distuninstallcheck_listfiles = $(distuninstallcheck_listfiles) \
| sed 's|^\./|$(prefix)/|' | grep -v '$(infodir)/dir$$'
distcleancheck_listfiles = find . -type f -print
ACLOCAL = ${SHELL} /afs/psi.ch/project/cafe/gitlab/CAFE/cpp/missing aclocal-1.13
ACLOCAL = ${SHELL} /afs/psi.ch/project/cafe/gitlab/CAFE/cpp/missing aclocal-1.16
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 -z nodefs -I/usr/local/epics/base-7.0.7/include/ -I/usr/local/epics/base-7.0.7/include/os/Linux -I/usr/local/epics/base-7.0.7/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.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_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.7/lib/RHEL8-x86_64 -Wl,-rpath,/usr/local/epics/base-7.0.7/lib/RHEL8-x86_64 -L/opt/gfa/python-3.7/latest/lib -Wl,-rpath,/opt/gfa/python-3.7/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
AUTOMAKE = ${SHELL} /afs/psi.ch/project/cafe/gitlab/CAFE/cpp/missing automake-1.16
AWK = gawk
CAFE_CPPFLAGS = -I$(top_srcdir)/include
CC = /opt/psi/Programming/gcc/7.3.0/bin/gcc
CC = /opt/psi/Programming/gcc/10.4.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/10.4.0/bin/gcc -E
CPPFLAGS = -fexceptions -fPIC -std=c++1z -z nodefs -I/usr/local/epics/base-7.0.7/include/ -I/usr/local/epics/base-7.0.7/include/os/Linux -I/usr/local/epics/base-7.0.7/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.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/10.4.0/bin/g++
CXXCPP = /opt/psi/Programming/gcc/10.4.0/bin/g++ -E
CXXDEPMODE = depmode=gcc3
CXXFLAGS = -g -O2
CYGPATH_W = echo
@@ -269,7 +279,7 @@ 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.7/lib/RHEL8-x86_64 -Wl,-rpath,/usr/local/epics/base-7.0.7/lib/RHEL8-x86_64 -L/opt/gfa/python-3.7/latest/lib -Wl,-rpath,/opt/gfa/python-3.7/latest/lib
LIBOBJS =
LIBS = -lQt5Xml -lQt5Core
LIBTOOL = $(SHELL) $(top_builddir)/libtool
@@ -289,23 +299,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.20.1
PACKAGE_TARNAME = cafe
PACKAGE_URL =
PACKAGE_VERSION = 1.14.4
PACKAGE_VERSION = 1.20.1
PATH_SEPARATOR = :
RANLIB = ranlib
SED = /usr/bin/sed
SET_MAKE =
SHELL = /bin/sh
STRIP = strip
VERSION = 1.14.4
VERSION = 1.20.1
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/10.4.0/bin/gcc
ac_ct_CXX =
ac_ct_DUMPBIN =
am__include = include
@@ -314,27 +324,27 @@ am__quote =
am__tar = $${TAR-tar} chof - "$$tardir"
am__untar = $${TAR-tar} xf -
bindir = ${exec_prefix}/bin
build = x86_64-unknown-linux-gnu
build = x86_64-pc-linux-gnu
build_alias =
build_cpu = x86_64
build_os = linux-gnu
build_vendor = unknown
build_vendor = pc
builddir = .
datadir = ${datarootdir}
datarootdir = ${prefix}/share
docdir = ${datarootdir}/doc/${PACKAGE_TARNAME}
dvidir = ${docdir}
exec_prefix = ${prefix}
host = x86_64-unknown-linux-gnu
host = x86_64-pc-linux-gnu
host_alias =
host_cpu = x86_64
host_os = linux-gnu
host_vendor = unknown
host_vendor = pc
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.20.1-gcc-10.4.0/lib/RHEL8-x86_64
libexecdir = ${exec_prefix}/libexec
localedir = ${datarootdir}/locale
localstatedir = ${prefix}/var
@@ -342,7 +352,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.20.1-gcc-10.4.0
program_transform_name = s,x,x,
psdir = ${docdir}
sbindir = ${exec_prefix}/sbin
@@ -374,15 +384,14 @@ $(srcdir)/makefile.in: $(srcdir)/makefile.am $(am__configure_deps)
echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu makefile'; \
$(am__cd) $(top_srcdir) && \
$(AUTOMAKE) --gnu makefile
.PRECIOUS: makefile
makefile: $(srcdir)/makefile.in $(top_builddir)/config.status
@case '$?' in \
*config.status*) \
echo ' $(SHELL) ./config.status'; \
$(SHELL) ./config.status;; \
*) \
echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \
cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \
echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__maybe_remake_depfiles)'; \
cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__maybe_remake_depfiles);; \
esac;
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
@@ -395,8 +404,8 @@ $(ACLOCAL_M4): $(am__aclocal_m4_deps)
$(am__aclocal_m4_deps):
./include/config.h: ./include/stamp-h1
@if test ! -f $@; then rm -f ./include/stamp-h1; else :; fi
@if test ! -f $@; then $(MAKE) $(AM_MAKEFLAGS) ./include/stamp-h1; else :; fi
@test -f $@ || rm -f ./include/stamp-h1
@test -f $@ || $(MAKE) $(AM_MAKEFLAGS) ./include/stamp-h1
./include/stamp-h1: $(top_srcdir)/./include/config.in $(top_builddir)/config.status
@rm -f ./include/stamp-h1
@@ -545,7 +554,10 @@ distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-rm -f cscope.out cscope.in.out cscope.po.out cscope.files
distdir: $(DISTFILES)
distdir: $(BUILT_SOURCES)
$(MAKE) $(AM_MAKEFLAGS) distdir-am
distdir-am: $(DISTFILES)
$(am__remove_distdir)
test -d "$(distdir)" || mkdir "$(distdir)"
@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
@@ -610,7 +622,7 @@ distdir: $(DISTFILES)
! -type d ! -perm -444 -exec $(install_sh) -c -m a+r {} {} \; \
|| chmod -R a+r "$(distdir)"
dist-gzip: distdir
tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
tardir=$(distdir) && $(am__tar) | eval GZIP= gzip $(GZIP_ENV) -c >$(distdir).tar.gz
$(am__post_remove_distdir)
dist-bzip2: distdir
@@ -626,11 +638,17 @@ dist-xz: distdir
$(am__post_remove_distdir)
dist-tarZ: distdir
@echo WARNING: "Support for distribution archives compressed with" \
"legacy program 'compress' is deprecated." >&2
@echo WARNING: "It will be removed altogether in Automake 2.0" >&2
tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z
$(am__post_remove_distdir)
dist-shar: distdir
shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz
@echo WARNING: "Support for shar distribution archives is" \
"deprecated." >&2
@echo WARNING: "It will be removed altogether in Automake 2.0" >&2
shar $(distdir) | eval GZIP= gzip $(GZIP_ENV) -c >$(distdir).shar.gz
$(am__post_remove_distdir)
dist-zip: distdir
@@ -648,7 +666,7 @@ dist dist-all:
distcheck: dist
case '$(DIST_ARCHIVES)' in \
*.tar.gz*) \
GZIP=$(GZIP_ENV) gzip -dc $(distdir).tar.gz | $(am__untar) ;;\
eval GZIP= gzip $(GZIP_ENV) -dc $(distdir).tar.gz | $(am__untar) ;;\
*.tar.bz2*) \
bzip2 -dc $(distdir).tar.bz2 | $(am__untar) ;;\
*.tar.lz*) \
@@ -658,22 +676,23 @@ distcheck: dist
*.tar.Z*) \
uncompress -c $(distdir).tar.Z | $(am__untar) ;;\
*.shar.gz*) \
GZIP=$(GZIP_ENV) gzip -dc $(distdir).shar.gz | unshar ;;\
eval GZIP= gzip $(GZIP_ENV) -dc $(distdir).shar.gz | unshar ;;\
*.zip*) \
unzip $(distdir).zip ;;\
esac
chmod -R a-w $(distdir)
chmod u+w $(distdir)
mkdir $(distdir)/_build $(distdir)/_inst
mkdir $(distdir)/_build $(distdir)/_build/sub $(distdir)/_inst
chmod a-w $(distdir)
test -d $(distdir)/_build || exit 0; \
dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \
&& dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \
&& am__cwd=`pwd` \
&& $(am__cd) $(distdir)/_build \
&& ../configure --srcdir=.. --prefix="$$dc_install_base" \
&& $(am__cd) $(distdir)/_build/sub \
&& ../../configure \
$(AM_DISTCHECK_CONFIGURE_FLAGS) \
$(DISTCHECK_CONFIGURE_FLAGS) \
--srcdir=../.. --prefix="$$dc_install_base" \
&& $(MAKE) $(AM_MAKEFLAGS) \
&& $(MAKE) $(AM_MAKEFLAGS) dvi \
&& $(MAKE) $(AM_MAKEFLAGS) check \
@@ -853,6 +872,8 @@ uninstall-am: uninstall-includeHEADERS
mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
tags tags-am uninstall uninstall-am uninstall-includeHEADERS
.PRECIOUS: makefile
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.

View File

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

168553
src/PyCafe37.cpp Normal file

File diff suppressed because it is too large Load Diff

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

@@ -1,27 +1,38 @@
bitshuffle/bitshuffle.lo: bitshuffle/bitshuffle.c \
/usr/include/stdc-predef.h bitshuffle/bitshuffle.h /usr/include/stdlib.h \
/usr/include/features.h /usr/include/sys/cdefs.h \
/usr/include/bits/wordsize.h /usr/include/gnu/stubs.h \
/usr/include/bits/libc-header-start.h /usr/include/features.h \
/usr/include/sys/cdefs.h /usr/include/bits/wordsize.h \
/usr/include/bits/long-double.h /usr/include/gnu/stubs.h \
/usr/include/gnu/stubs-64.h \
/afs/psi.ch/sys/psi.x86_64_slp6/Programming/gcc/7.3.0/lib/gcc/x86_64-pc-linux-gnu/7.3.0/include/stddef.h \
/afs/psi.ch/sys/psi.x86_64_slp6/Programming/gcc/8.5.0/lib/gcc/x86_64-pc-linux-gnu/8.5.0/include/stddef.h \
/usr/include/bits/waitflags.h /usr/include/bits/waitstatus.h \
/usr/include/bits/floatn.h /usr/include/bits/floatn-common.h \
/usr/include/sys/types.h /usr/include/bits/types.h \
/usr/include/bits/typesizes.h /usr/include/bits/types/clock_t.h \
/usr/include/bits/types/clockid_t.h /usr/include/bits/types/time_t.h \
/usr/include/bits/types/timer_t.h /usr/include/bits/stdint-intn.h \
/usr/include/endian.h /usr/include/bits/endian.h \
/usr/include/bits/byteswap.h /usr/include/bits/types.h \
/usr/include/bits/typesizes.h /usr/include/bits/byteswap-16.h \
/usr/include/sys/types.h /usr/include/time.h /usr/include/sys/select.h \
/usr/include/bits/select.h /usr/include/bits/sigset.h \
/usr/include/bits/time.h /usr/include/sys/sysmacros.h \
/usr/include/bits/pthreadtypes.h /usr/include/alloca.h \
/usr/include/bits/stdlib-float.h bitshuffle/bitshuffle_core.h \
/afs/psi.ch/sys/psi.x86_64_slp6/Programming/gcc/7.3.0/lib/gcc/x86_64-pc-linux-gnu/7.3.0/include/stdint.h \
/usr/include/bits/byteswap.h /usr/include/bits/uintn-identity.h \
/usr/include/sys/select.h /usr/include/bits/select.h \
/usr/include/bits/types/sigset_t.h /usr/include/bits/types/__sigset_t.h \
/usr/include/bits/types/struct_timeval.h \
/usr/include/bits/types/struct_timespec.h \
/usr/include/bits/pthreadtypes.h /usr/include/bits/thread-shared-types.h \
/usr/include/bits/pthreadtypes-arch.h /usr/include/alloca.h \
/usr/include/bits/stdlib-bsearch.h /usr/include/bits/stdlib-float.h \
bitshuffle/bitshuffle_core.h \
/afs/psi.ch/sys/psi.x86_64_slp6/Programming/gcc/8.5.0/lib/gcc/x86_64-pc-linux-gnu/8.5.0/include/stdint.h \
/usr/include/stdint.h /usr/include/bits/wchar.h \
bitshuffle/bitshuffle_internals.h bitshuffle/iochain.h \
.././include/lz4.h /usr/include/stdio.h /usr/include/libio.h \
/usr/include/_G_config.h /usr/include/wchar.h \
/afs/psi.ch/sys/psi.x86_64_slp6/Programming/gcc/7.3.0/lib/gcc/x86_64-pc-linux-gnu/7.3.0/include/stdarg.h \
/usr/include/bits/stdint-uintn.h bitshuffle/bitshuffle_internals.h \
bitshuffle/iochain.h .././include/lz4.h /usr/include/stdio.h \
/afs/psi.ch/sys/psi.x86_64_slp6/Programming/gcc/8.5.0/lib/gcc/x86_64-pc-linux-gnu/8.5.0/include/stdarg.h \
/usr/include/bits/types/__fpos_t.h /usr/include/bits/types/__mbstate_t.h \
/usr/include/bits/types/__fpos64_t.h /usr/include/bits/types/__FILE.h \
/usr/include/bits/types/FILE.h /usr/include/bits/types/struct_FILE.h \
/usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \
/usr/include/bits/stdio.h /usr/include/string.h /usr/include/xlocale.h \
/usr/include/bits/string.h /usr/include/bits/string2.h
/usr/include/bits/stdio.h /usr/include/string.h \
/usr/include/bits/types/locale_t.h /usr/include/bits/types/__locale_t.h \
/usr/include/strings.h
/usr/include/stdc-predef.h:
@@ -29,62 +40,88 @@ bitshuffle/bitshuffle.h:
/usr/include/stdlib.h:
/usr/include/bits/libc-header-start.h:
/usr/include/features.h:
/usr/include/sys/cdefs.h:
/usr/include/bits/wordsize.h:
/usr/include/bits/long-double.h:
/usr/include/gnu/stubs.h:
/usr/include/gnu/stubs-64.h:
/afs/psi.ch/sys/psi.x86_64_slp6/Programming/gcc/7.3.0/lib/gcc/x86_64-pc-linux-gnu/7.3.0/include/stddef.h:
/afs/psi.ch/sys/psi.x86_64_slp6/Programming/gcc/8.5.0/lib/gcc/x86_64-pc-linux-gnu/8.5.0/include/stddef.h:
/usr/include/bits/waitflags.h:
/usr/include/bits/waitstatus.h:
/usr/include/bits/floatn.h:
/usr/include/bits/floatn-common.h:
/usr/include/sys/types.h:
/usr/include/bits/types.h:
/usr/include/bits/typesizes.h:
/usr/include/bits/types/clock_t.h:
/usr/include/bits/types/clockid_t.h:
/usr/include/bits/types/time_t.h:
/usr/include/bits/types/timer_t.h:
/usr/include/bits/stdint-intn.h:
/usr/include/endian.h:
/usr/include/bits/endian.h:
/usr/include/bits/byteswap.h:
/usr/include/bits/types.h:
/usr/include/bits/typesizes.h:
/usr/include/bits/byteswap-16.h:
/usr/include/sys/types.h:
/usr/include/time.h:
/usr/include/bits/uintn-identity.h:
/usr/include/sys/select.h:
/usr/include/bits/select.h:
/usr/include/bits/sigset.h:
/usr/include/bits/types/sigset_t.h:
/usr/include/bits/time.h:
/usr/include/bits/types/__sigset_t.h:
/usr/include/sys/sysmacros.h:
/usr/include/bits/types/struct_timeval.h:
/usr/include/bits/types/struct_timespec.h:
/usr/include/bits/pthreadtypes.h:
/usr/include/bits/thread-shared-types.h:
/usr/include/bits/pthreadtypes-arch.h:
/usr/include/alloca.h:
/usr/include/bits/stdlib-bsearch.h:
/usr/include/bits/stdlib-float.h:
bitshuffle/bitshuffle_core.h:
/afs/psi.ch/sys/psi.x86_64_slp6/Programming/gcc/7.3.0/lib/gcc/x86_64-pc-linux-gnu/7.3.0/include/stdint.h:
/afs/psi.ch/sys/psi.x86_64_slp6/Programming/gcc/8.5.0/lib/gcc/x86_64-pc-linux-gnu/8.5.0/include/stdint.h:
/usr/include/stdint.h:
/usr/include/bits/wchar.h:
/usr/include/bits/stdint-uintn.h:
bitshuffle/bitshuffle_internals.h:
bitshuffle/iochain.h:
@@ -93,13 +130,19 @@ bitshuffle/iochain.h:
/usr/include/stdio.h:
/usr/include/libio.h:
/afs/psi.ch/sys/psi.x86_64_slp6/Programming/gcc/8.5.0/lib/gcc/x86_64-pc-linux-gnu/8.5.0/include/stdarg.h:
/usr/include/_G_config.h:
/usr/include/bits/types/__fpos_t.h:
/usr/include/wchar.h:
/usr/include/bits/types/__mbstate_t.h:
/afs/psi.ch/sys/psi.x86_64_slp6/Programming/gcc/7.3.0/lib/gcc/x86_64-pc-linux-gnu/7.3.0/include/stdarg.h:
/usr/include/bits/types/__fpos64_t.h:
/usr/include/bits/types/__FILE.h:
/usr/include/bits/types/FILE.h:
/usr/include/bits/types/struct_FILE.h:
/usr/include/bits/stdio_lim.h:
@@ -109,8 +152,8 @@ bitshuffle/iochain.h:
/usr/include/string.h:
/usr/include/xlocale.h:
/usr/include/bits/types/locale_t.h:
/usr/include/bits/string.h:
/usr/include/bits/types/__locale_t.h:
/usr/include/bits/string2.h:
/usr/include/strings.h:

View File

@@ -1,89 +1,127 @@
bitshuffle/bitshuffle_core.lo: bitshuffle/bitshuffle_core.c \
/usr/include/stdc-predef.h bitshuffle/bitshuffle_core.h \
/afs/psi.ch/sys/psi.x86_64_slp6/Programming/gcc/7.3.0/lib/gcc/x86_64-pc-linux-gnu/7.3.0/include/stdint.h \
/usr/include/stdint.h /usr/include/features.h /usr/include/sys/cdefs.h \
/usr/include/bits/wordsize.h /usr/include/gnu/stubs.h \
/usr/include/gnu/stubs-64.h /usr/include/bits/wchar.h \
/usr/include/stdlib.h \
/afs/psi.ch/sys/psi.x86_64_slp6/Programming/gcc/7.3.0/lib/gcc/x86_64-pc-linux-gnu/7.3.0/include/stddef.h \
/afs/psi.ch/sys/psi.x86_64_slp6/Programming/gcc/8.5.0/lib/gcc/x86_64-pc-linux-gnu/8.5.0/include/stdint.h \
/usr/include/stdint.h /usr/include/bits/libc-header-start.h \
/usr/include/features.h /usr/include/sys/cdefs.h \
/usr/include/bits/wordsize.h /usr/include/bits/long-double.h \
/usr/include/gnu/stubs.h /usr/include/gnu/stubs-64.h \
/usr/include/bits/types.h /usr/include/bits/typesizes.h \
/usr/include/bits/wchar.h /usr/include/bits/stdint-intn.h \
/usr/include/bits/stdint-uintn.h /usr/include/stdlib.h \
/afs/psi.ch/sys/psi.x86_64_slp6/Programming/gcc/8.5.0/lib/gcc/x86_64-pc-linux-gnu/8.5.0/include/stddef.h \
/usr/include/bits/waitflags.h /usr/include/bits/waitstatus.h \
/usr/include/endian.h /usr/include/bits/endian.h \
/usr/include/bits/byteswap.h /usr/include/bits/types.h \
/usr/include/bits/typesizes.h /usr/include/bits/byteswap-16.h \
/usr/include/sys/types.h /usr/include/time.h /usr/include/sys/select.h \
/usr/include/bits/select.h /usr/include/bits/sigset.h \
/usr/include/bits/time.h /usr/include/sys/sysmacros.h \
/usr/include/bits/pthreadtypes.h /usr/include/alloca.h \
/usr/include/bits/stdlib-float.h bitshuffle/bitshuffle_internals.h \
bitshuffle/iochain.h /usr/include/stdio.h /usr/include/libio.h \
/usr/include/_G_config.h /usr/include/wchar.h \
/afs/psi.ch/sys/psi.x86_64_slp6/Programming/gcc/7.3.0/lib/gcc/x86_64-pc-linux-gnu/7.3.0/include/stdarg.h \
/usr/include/bits/floatn.h /usr/include/bits/floatn-common.h \
/usr/include/sys/types.h /usr/include/bits/types/clock_t.h \
/usr/include/bits/types/clockid_t.h /usr/include/bits/types/time_t.h \
/usr/include/bits/types/timer_t.h /usr/include/endian.h \
/usr/include/bits/endian.h /usr/include/bits/byteswap.h \
/usr/include/bits/uintn-identity.h /usr/include/sys/select.h \
/usr/include/bits/select.h /usr/include/bits/types/sigset_t.h \
/usr/include/bits/types/__sigset_t.h \
/usr/include/bits/types/struct_timeval.h \
/usr/include/bits/types/struct_timespec.h \
/usr/include/bits/pthreadtypes.h /usr/include/bits/thread-shared-types.h \
/usr/include/bits/pthreadtypes-arch.h /usr/include/alloca.h \
/usr/include/bits/stdlib-bsearch.h /usr/include/bits/stdlib-float.h \
bitshuffle/bitshuffle_internals.h bitshuffle/iochain.h \
/usr/include/stdio.h \
/afs/psi.ch/sys/psi.x86_64_slp6/Programming/gcc/8.5.0/lib/gcc/x86_64-pc-linux-gnu/8.5.0/include/stdarg.h \
/usr/include/bits/types/__fpos_t.h /usr/include/bits/types/__mbstate_t.h \
/usr/include/bits/types/__fpos64_t.h /usr/include/bits/types/__FILE.h \
/usr/include/bits/types/FILE.h /usr/include/bits/types/struct_FILE.h \
/usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \
/usr/include/bits/stdio.h /usr/include/string.h /usr/include/xlocale.h \
/usr/include/bits/string.h /usr/include/bits/string2.h \
/afs/psi.ch/sys/psi.x86_64_slp6/Programming/gcc/7.3.0/lib/gcc/x86_64-pc-linux-gnu/7.3.0/include/emmintrin.h \
/afs/psi.ch/sys/psi.x86_64_slp6/Programming/gcc/7.3.0/lib/gcc/x86_64-pc-linux-gnu/7.3.0/include/xmmintrin.h \
/afs/psi.ch/sys/psi.x86_64_slp6/Programming/gcc/7.3.0/lib/gcc/x86_64-pc-linux-gnu/7.3.0/include/mmintrin.h \
/afs/psi.ch/sys/psi.x86_64_slp6/Programming/gcc/7.3.0/lib/gcc/x86_64-pc-linux-gnu/7.3.0/include/mm_malloc.h
/usr/include/bits/stdio.h /usr/include/string.h \
/usr/include/bits/types/locale_t.h /usr/include/bits/types/__locale_t.h \
/usr/include/strings.h \
/afs/psi.ch/sys/psi.x86_64_slp6/Programming/gcc/8.5.0/lib/gcc/x86_64-pc-linux-gnu/8.5.0/include/emmintrin.h \
/afs/psi.ch/sys/psi.x86_64_slp6/Programming/gcc/8.5.0/lib/gcc/x86_64-pc-linux-gnu/8.5.0/include/xmmintrin.h \
/afs/psi.ch/sys/psi.x86_64_slp6/Programming/gcc/8.5.0/lib/gcc/x86_64-pc-linux-gnu/8.5.0/include/mmintrin.h \
/afs/psi.ch/sys/psi.x86_64_slp6/Programming/gcc/8.5.0/lib/gcc/x86_64-pc-linux-gnu/8.5.0/include/mm_malloc.h
/usr/include/stdc-predef.h:
bitshuffle/bitshuffle_core.h:
/afs/psi.ch/sys/psi.x86_64_slp6/Programming/gcc/7.3.0/lib/gcc/x86_64-pc-linux-gnu/7.3.0/include/stdint.h:
/afs/psi.ch/sys/psi.x86_64_slp6/Programming/gcc/8.5.0/lib/gcc/x86_64-pc-linux-gnu/8.5.0/include/stdint.h:
/usr/include/stdint.h:
/usr/include/bits/libc-header-start.h:
/usr/include/features.h:
/usr/include/sys/cdefs.h:
/usr/include/bits/wordsize.h:
/usr/include/bits/long-double.h:
/usr/include/gnu/stubs.h:
/usr/include/gnu/stubs-64.h:
/usr/include/bits/types.h:
/usr/include/bits/typesizes.h:
/usr/include/bits/wchar.h:
/usr/include/bits/stdint-intn.h:
/usr/include/bits/stdint-uintn.h:
/usr/include/stdlib.h:
/afs/psi.ch/sys/psi.x86_64_slp6/Programming/gcc/7.3.0/lib/gcc/x86_64-pc-linux-gnu/7.3.0/include/stddef.h:
/afs/psi.ch/sys/psi.x86_64_slp6/Programming/gcc/8.5.0/lib/gcc/x86_64-pc-linux-gnu/8.5.0/include/stddef.h:
/usr/include/bits/waitflags.h:
/usr/include/bits/waitstatus.h:
/usr/include/bits/floatn.h:
/usr/include/bits/floatn-common.h:
/usr/include/sys/types.h:
/usr/include/bits/types/clock_t.h:
/usr/include/bits/types/clockid_t.h:
/usr/include/bits/types/time_t.h:
/usr/include/bits/types/timer_t.h:
/usr/include/endian.h:
/usr/include/bits/endian.h:
/usr/include/bits/byteswap.h:
/usr/include/bits/types.h:
/usr/include/bits/typesizes.h:
/usr/include/bits/byteswap-16.h:
/usr/include/sys/types.h:
/usr/include/time.h:
/usr/include/bits/uintn-identity.h:
/usr/include/sys/select.h:
/usr/include/bits/select.h:
/usr/include/bits/sigset.h:
/usr/include/bits/types/sigset_t.h:
/usr/include/bits/time.h:
/usr/include/bits/types/__sigset_t.h:
/usr/include/sys/sysmacros.h:
/usr/include/bits/types/struct_timeval.h:
/usr/include/bits/types/struct_timespec.h:
/usr/include/bits/pthreadtypes.h:
/usr/include/bits/thread-shared-types.h:
/usr/include/bits/pthreadtypes-arch.h:
/usr/include/alloca.h:
/usr/include/bits/stdlib-bsearch.h:
/usr/include/bits/stdlib-float.h:
bitshuffle/bitshuffle_internals.h:
@@ -92,13 +130,19 @@ bitshuffle/iochain.h:
/usr/include/stdio.h:
/usr/include/libio.h:
/afs/psi.ch/sys/psi.x86_64_slp6/Programming/gcc/8.5.0/lib/gcc/x86_64-pc-linux-gnu/8.5.0/include/stdarg.h:
/usr/include/_G_config.h:
/usr/include/bits/types/__fpos_t.h:
/usr/include/wchar.h:
/usr/include/bits/types/__mbstate_t.h:
/afs/psi.ch/sys/psi.x86_64_slp6/Programming/gcc/7.3.0/lib/gcc/x86_64-pc-linux-gnu/7.3.0/include/stdarg.h:
/usr/include/bits/types/__fpos64_t.h:
/usr/include/bits/types/__FILE.h:
/usr/include/bits/types/FILE.h:
/usr/include/bits/types/struct_FILE.h:
/usr/include/bits/stdio_lim.h:
@@ -108,16 +152,16 @@ bitshuffle/iochain.h:
/usr/include/string.h:
/usr/include/xlocale.h:
/usr/include/bits/types/locale_t.h:
/usr/include/bits/string.h:
/usr/include/bits/types/__locale_t.h:
/usr/include/bits/string2.h:
/usr/include/strings.h:
/afs/psi.ch/sys/psi.x86_64_slp6/Programming/gcc/7.3.0/lib/gcc/x86_64-pc-linux-gnu/7.3.0/include/emmintrin.h:
/afs/psi.ch/sys/psi.x86_64_slp6/Programming/gcc/8.5.0/lib/gcc/x86_64-pc-linux-gnu/8.5.0/include/emmintrin.h:
/afs/psi.ch/sys/psi.x86_64_slp6/Programming/gcc/7.3.0/lib/gcc/x86_64-pc-linux-gnu/7.3.0/include/xmmintrin.h:
/afs/psi.ch/sys/psi.x86_64_slp6/Programming/gcc/8.5.0/lib/gcc/x86_64-pc-linux-gnu/8.5.0/include/xmmintrin.h:
/afs/psi.ch/sys/psi.x86_64_slp6/Programming/gcc/7.3.0/lib/gcc/x86_64-pc-linux-gnu/7.3.0/include/mmintrin.h:
/afs/psi.ch/sys/psi.x86_64_slp6/Programming/gcc/8.5.0/lib/gcc/x86_64-pc-linux-gnu/8.5.0/include/mmintrin.h:
/afs/psi.ch/sys/psi.x86_64_slp6/Programming/gcc/7.3.0/lib/gcc/x86_64-pc-linux-gnu/7.3.0/include/mm_malloc.h:
/afs/psi.ch/sys/psi.x86_64_slp6/Programming/gcc/8.5.0/lib/gcc/x86_64-pc-linux-gnu/8.5.0/include/mm_malloc.h:

View File

@@ -1,68 +1,100 @@
bitshuffle/iochain.lo: bitshuffle/iochain.c /usr/include/stdc-predef.h \
/usr/include/stdlib.h /usr/include/features.h /usr/include/sys/cdefs.h \
/usr/include/bits/wordsize.h /usr/include/gnu/stubs.h \
/usr/include/gnu/stubs-64.h \
/afs/psi.ch/sys/psi.x86_64_slp6/Programming/gcc/7.3.0/lib/gcc/x86_64-pc-linux-gnu/7.3.0/include/stddef.h \
/usr/include/stdlib.h /usr/include/bits/libc-header-start.h \
/usr/include/features.h /usr/include/sys/cdefs.h \
/usr/include/bits/wordsize.h /usr/include/bits/long-double.h \
/usr/include/gnu/stubs.h /usr/include/gnu/stubs-64.h \
/afs/psi.ch/sys/psi.x86_64_slp6/Programming/gcc/8.5.0/lib/gcc/x86_64-pc-linux-gnu/8.5.0/include/stddef.h \
/usr/include/bits/waitflags.h /usr/include/bits/waitstatus.h \
/usr/include/bits/floatn.h /usr/include/bits/floatn-common.h \
/usr/include/sys/types.h /usr/include/bits/types.h \
/usr/include/bits/typesizes.h /usr/include/bits/types/clock_t.h \
/usr/include/bits/types/clockid_t.h /usr/include/bits/types/time_t.h \
/usr/include/bits/types/timer_t.h /usr/include/bits/stdint-intn.h \
/usr/include/endian.h /usr/include/bits/endian.h \
/usr/include/bits/byteswap.h /usr/include/bits/types.h \
/usr/include/bits/typesizes.h /usr/include/bits/byteswap-16.h \
/usr/include/sys/types.h /usr/include/time.h /usr/include/sys/select.h \
/usr/include/bits/select.h /usr/include/bits/sigset.h \
/usr/include/bits/time.h /usr/include/sys/sysmacros.h \
/usr/include/bits/pthreadtypes.h /usr/include/alloca.h \
/usr/include/bits/stdlib-float.h bitshuffle/iochain.h
/usr/include/bits/byteswap.h /usr/include/bits/uintn-identity.h \
/usr/include/sys/select.h /usr/include/bits/select.h \
/usr/include/bits/types/sigset_t.h /usr/include/bits/types/__sigset_t.h \
/usr/include/bits/types/struct_timeval.h \
/usr/include/bits/types/struct_timespec.h \
/usr/include/bits/pthreadtypes.h /usr/include/bits/thread-shared-types.h \
/usr/include/bits/pthreadtypes-arch.h /usr/include/alloca.h \
/usr/include/bits/stdlib-bsearch.h /usr/include/bits/stdlib-float.h \
bitshuffle/iochain.h
/usr/include/stdc-predef.h:
/usr/include/stdlib.h:
/usr/include/bits/libc-header-start.h:
/usr/include/features.h:
/usr/include/sys/cdefs.h:
/usr/include/bits/wordsize.h:
/usr/include/bits/long-double.h:
/usr/include/gnu/stubs.h:
/usr/include/gnu/stubs-64.h:
/afs/psi.ch/sys/psi.x86_64_slp6/Programming/gcc/7.3.0/lib/gcc/x86_64-pc-linux-gnu/7.3.0/include/stddef.h:
/afs/psi.ch/sys/psi.x86_64_slp6/Programming/gcc/8.5.0/lib/gcc/x86_64-pc-linux-gnu/8.5.0/include/stddef.h:
/usr/include/bits/waitflags.h:
/usr/include/bits/waitstatus.h:
/usr/include/bits/floatn.h:
/usr/include/bits/floatn-common.h:
/usr/include/sys/types.h:
/usr/include/bits/types.h:
/usr/include/bits/typesizes.h:
/usr/include/bits/types/clock_t.h:
/usr/include/bits/types/clockid_t.h:
/usr/include/bits/types/time_t.h:
/usr/include/bits/types/timer_t.h:
/usr/include/bits/stdint-intn.h:
/usr/include/endian.h:
/usr/include/bits/endian.h:
/usr/include/bits/byteswap.h:
/usr/include/bits/types.h:
/usr/include/bits/typesizes.h:
/usr/include/bits/byteswap-16.h:
/usr/include/sys/types.h:
/usr/include/time.h:
/usr/include/bits/uintn-identity.h:
/usr/include/sys/select.h:
/usr/include/bits/select.h:
/usr/include/bits/sigset.h:
/usr/include/bits/types/sigset_t.h:
/usr/include/bits/time.h:
/usr/include/bits/types/__sigset_t.h:
/usr/include/sys/sysmacros.h:
/usr/include/bits/types/struct_timeval.h:
/usr/include/bits/types/struct_timespec.h:
/usr/include/bits/pthreadtypes.h:
/usr/include/bits/thread-shared-types.h:
/usr/include/bits/pthreadtypes-arch.h:
/usr/include/alloca.h:
/usr/include/bits/stdlib-bsearch.h:
/usr/include/bits/stdlib-float.h:
bitshuffle/iochain.h:

View File

@@ -20,7 +20,6 @@
///
#include <cafe.h>
#include <conduitGroup.h>
#include <cafeEnum.h>
@@ -31,20 +30,119 @@
using namespace std;
bool MUTEX=true;
bool CHECK_CONSISTENCY_CA_STATE=true;
bool SF_WITH_PULSE_ID = false;
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;
vector<PVGroup> PVGroupV;
vector<PVGroup> PVGroupPseudo;
vector<deviceCollection> deviceCollectionV;
vector<string> globalChannelList;
map<vector<unsigned int>, string> groupPseudoMap;
it_handle = handle_index.find(handle);
cafeGroup_set gs;
cafeConduit_set cs;
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
@@ -879,7 +977,15 @@ int CAFE::get(const unsigned int handle, PVDataHolder & pvd)
}
if ((status=cafeGranules.channelExecuteGet(handle)) != ICAFE_NORMAL)
{
std::cout << "HANDLE " << handle << __METHOD__ << std::endl;
(*it_handle).getPVDataHolder(pvd);
std::cout << "BELEM " << pvd.nelem << __METHOD__ << std::endl;
std::cout << pvd.getAsFloat(0) << std::endl;
if (pvd.nelem > 1) {
std::cout << "////" << pvd.getAsFloat(1) << std::endl;
}
pvd.status=status;
pvd.alarmStatus=-1;
pvd.alarmSeverity=-1;
@@ -5131,7 +5237,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

@@ -203,8 +203,7 @@ void ChannelCreatePolicy::callbackHandlerCreate(struct connection_handler_args a
CAFEStatus cafeStatus;
cafeStatus.report(status);
}
// Check if any monitors for this channel are to be started.....
// If monitors are to be started, then start the monitors
// pass on handler functions

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,6 +581,7 @@ 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);
@@ -587,6 +589,8 @@ int Conduit::get(void) const
#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,25 @@
#endif
#endif
bool MUTEX=true;
bool CHECK_CONSISTENCY_CA_STATE=true;
bool SF_WITH_PULSE_ID = false;
using namespace std;
vector<PVGroup> PVGroupV;
vector<PVGroup> PVGroupPseudo;
vector<deviceCollection> deviceCollectionV;
vector<string> globalChannelList;
map<vector<unsigned int>, string> groupPseudoMap;
cafeGroup_set gs;
cafeConduit_set cs;
epicsMutex cafeMutex;
//epicsMutex cafeMutex;
/**
* \brief Return epics Version as an unsigned short \n
@@ -186,16 +206,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 +226,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

@@ -1,7 +1,7 @@
# makefile.in generated by automake 1.13.4 from makefile.am.
# makefile.in generated by automake 1.16.1 from makefile.am.
# src/makefile. Generated from makefile.in by configure.
# Copyright (C) 1994-2013 Free Software Foundation, Inc.
# Copyright (C) 1994-2018 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -15,7 +15,17 @@
am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
am__is_gnu_make = { \
if test -z '$(MAKELEVEL)'; then \
false; \
elif test -n '$(MAKE_HOST)'; then \
true; \
elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
true; \
else \
false; \
fi; \
}
am__make_running_with_option = \
case $${target_option-} in \
?) ;; \
@@ -76,18 +86,13 @@ POST_INSTALL = :
NORMAL_UNINSTALL = :
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 \
build_triplet = x86_64-pc-linux-gnu
host_triplet = x86_64-pc-linux-gnu
#am__append_1 = PyCafe.cpp
#am__append_2 = zbsCafeService.cpp zbsDataHolders.cpp \
# bitshuffle/bitshuffle_core.c bitshuffle/bitshuffle.c bitshuffle/iochain.c
subdir = src
DIST_COMMON = $(srcdir)/makefile.in $(srcdir)/makefile.am \
$(top_srcdir)/./depcomp
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \
$(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
@@ -95,6 +100,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \
$(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/makefile.am $(am__DIST_COMMON)
mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = $(top_builddir)/./include/config.h
CONFIG_CLEAN_FILES =
@@ -136,11 +142,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 +159,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))
@@ -174,7 +182,25 @@ am__v_at_0 = @
am__v_at_1 =
DEFAULT_INCLUDES = -I. -I$(top_builddir)/./include
depcomp = $(SHELL) $(top_srcdir)/./depcomp
am__depfiles_maybe = depfiles
am__maybe_remake_depfiles = depfiles
am__depfiles_remade = ./$(DEPDIR)/PyCafe.Plo ./$(DEPDIR)/cafe.Plo \
./$(DEPDIR)/cafeCache.Plo ./$(DEPDIR)/cafeGroup.Plo \
./$(DEPDIR)/cafeVectors.Plo ./$(DEPDIR)/cafeXML.Plo \
./$(DEPDIR)/callbackHandlerCreate.Plo \
./$(DEPDIR)/callbackHandlerMonitor.Plo ./$(DEPDIR)/conduit.Plo \
./$(DEPDIR)/conduitGroup.Plo ./$(DEPDIR)/connect.Plo \
./$(DEPDIR)/connectCallbacks.Plo ./$(DEPDIR)/connectGroup.Plo \
./$(DEPDIR)/exceptionsHelper.Plo ./$(DEPDIR)/granules.Plo \
./$(DEPDIR)/handleHelper.Plo ./$(DEPDIR)/helper.Plo \
./$(DEPDIR)/loadCollectionXMLParser.Plo \
./$(DEPDIR)/loadGroupXMLParser.Plo \
./$(DEPDIR)/methodCallbacks.Plo ./$(DEPDIR)/policyHelper.Plo \
./$(DEPDIR)/restorePVGroupXMLParser.Plo \
./$(DEPDIR)/transpose.Plo ./$(DEPDIR)/zbsCafeService.Plo \
./$(DEPDIR)/zbsDataHolders.Plo \
bitshuffle/$(DEPDIR)/bitshuffle.Plo \
bitshuffle/$(DEPDIR)/bitshuffle_core.Plo \
bitshuffle/$(DEPDIR)/iochain.Plo
am__mv = mv -f
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
@@ -238,8 +264,9 @@ am__define_uniq_tagged_files = \
done | $(am__uniquify_input)`
ETAGS = etags
CTAGS = ctags
am__DIST_COMMON = $(srcdir)/makefile.in $(top_srcdir)/./depcomp
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = ${SHELL} /afs/psi.ch/project/cafe/gitlab/CAFE/cpp/missing aclocal-1.13
ACLOCAL = ${SHELL} /afs/psi.ch/project/cafe/gitlab/CAFE/cpp/missing aclocal-1.16
AMTAR = $${TAR-tar}
#if HAVE_PYCAFE_EXT_
@@ -249,22 +276,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 -z nodefs -I/usr/local/epics/base-7.0.7/include/ -I/usr/local/epics/base-7.0.7/include/os/Linux -I/usr/local/epics/base-7.0.7/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.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_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.7/lib/RHEL8-x86_64 -Wl,-rpath,/usr/local/epics/base-7.0.7/lib/RHEL8-x86_64 -L/opt/gfa/python-3.7/latest/lib -Wl,-rpath,/opt/gfa/python-3.7/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
AUTOMAKE = ${SHELL} /afs/psi.ch/project/cafe/gitlab/CAFE/cpp/missing automake-1.16
AWK = gawk
CAFE_CPPFLAGS = -I$(top_srcdir)/include
CC = /opt/psi/Programming/gcc/7.3.0/bin/gcc
CC = /opt/psi/Programming/gcc/10.4.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/10.4.0/bin/gcc -E
CPPFLAGS = -fexceptions -fPIC -std=c++1z -z nodefs -I/usr/local/epics/base-7.0.7/include/ -I/usr/local/epics/base-7.0.7/include/os/Linux -I/usr/local/epics/base-7.0.7/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.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/10.4.0/bin/g++
CXXCPP = /opt/psi/Programming/gcc/10.4.0/bin/g++ -E
CXXDEPMODE = depmode=gcc3
CXXFLAGS = -g -O2
CYGPATH_W = echo
@@ -286,7 +313,7 @@ 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.7/lib/RHEL8-x86_64 -Wl,-rpath,/usr/local/epics/base-7.0.7/lib/RHEL8-x86_64 -L/opt/gfa/python-3.7/latest/lib -Wl,-rpath,/opt/gfa/python-3.7/latest/lib
LIBOBJS =
LIBS = -lQt5Xml -lQt5Core
LIBTOOL = $(SHELL) $(top_builddir)/libtool
@@ -306,23 +333,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.20.1
PACKAGE_TARNAME = cafe
PACKAGE_URL =
PACKAGE_VERSION = 1.14.4
PACKAGE_VERSION = 1.20.1
PATH_SEPARATOR = :
RANLIB = ranlib
SED = /usr/bin/sed
SET_MAKE =
SHELL = /bin/sh
STRIP = strip
VERSION = 1.14.4
VERSION = 1.20.1
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/10.4.0/bin/gcc
ac_ct_CXX =
ac_ct_DUMPBIN =
am__include = include
@@ -331,27 +358,27 @@ am__quote =
am__tar = $${TAR-tar} chof - "$$tardir"
am__untar = $${TAR-tar} xf -
bindir = ${exec_prefix}/bin
build = x86_64-unknown-linux-gnu
build = x86_64-pc-linux-gnu
build_alias =
build_cpu = x86_64
build_os = linux-gnu
build_vendor = unknown
build_vendor = pc
builddir = .
datadir = ${datarootdir}
datarootdir = ${prefix}/share
docdir = ${datarootdir}/doc/${PACKAGE_TARNAME}
dvidir = ${docdir}
exec_prefix = ${prefix}
host = x86_64-unknown-linux-gnu
host = x86_64-pc-linux-gnu
host_alias =
host_cpu = x86_64
host_os = linux-gnu
host_vendor = unknown
host_vendor = pc
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.20.1-gcc-10.4.0/lib/RHEL8-x86_64
libexecdir = ${exec_prefix}/libexec
localedir = ${datarootdir}/locale
localstatedir = ${prefix}/var
@@ -359,7 +386,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.20.1-gcc-10.4.0
program_transform_name = s,x,x,
psdir = ${docdir}
sbindir = ${exec_prefix}/sbin
@@ -378,8 +405,8 @@ lib_LTLIBRARIES = libcafe.la
#1st: current-age
#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
#1.9.2 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 21:1:20
libcafe_la_SOURCES = cafe.cpp cafeCache.cpp cafeGroup.cpp \
cafeVectors.cpp cafeXML.cpp callbackHandlerCreate.cpp \
callbackHandlerMonitor.cpp conduit.cpp connect.cpp \
@@ -387,7 +414,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:
@@ -404,14 +432,13 @@ $(srcdir)/makefile.in: $(srcdir)/makefile.am $(am__configure_deps)
echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu src/makefile'; \
$(am__cd) $(top_srcdir) && \
$(AUTOMAKE) --gnu src/makefile
.PRECIOUS: makefile
makefile: $(srcdir)/makefile.in $(top_builddir)/config.status
@case '$?' in \
*config.status*) \
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
*) \
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \
esac;
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
@@ -481,33 +508,40 @@ mostlyclean-compile:
distclean-compile:
-rm -f *.tab.c
include ./$(DEPDIR)/cafe.Plo
include ./$(DEPDIR)/cafeCache.Plo
include ./$(DEPDIR)/cafeGroup.Plo
include ./$(DEPDIR)/cafeVectors.Plo
include ./$(DEPDIR)/cafeXML.Plo
include ./$(DEPDIR)/callbackHandlerCreate.Plo
include ./$(DEPDIR)/callbackHandlerMonitor.Plo
include ./$(DEPDIR)/conduit.Plo
include ./$(DEPDIR)/conduitGroup.Plo
include ./$(DEPDIR)/connect.Plo
include ./$(DEPDIR)/connectCallbacks.Plo
include ./$(DEPDIR)/connectGroup.Plo
include ./$(DEPDIR)/exceptionsHelper.Plo
include ./$(DEPDIR)/granules.Plo
include ./$(DEPDIR)/handleHelper.Plo
include ./$(DEPDIR)/helper.Plo
include ./$(DEPDIR)/loadCollectionXMLParser.Plo
include ./$(DEPDIR)/loadGroupXMLParser.Plo
include ./$(DEPDIR)/methodCallbacks.Plo
include ./$(DEPDIR)/policyHelper.Plo
include ./$(DEPDIR)/restorePVGroupXMLParser.Plo
include ./$(DEPDIR)/transpose.Plo
include ./$(DEPDIR)/zbsCafeService.Plo
include ./$(DEPDIR)/zbsDataHolders.Plo
include bitshuffle/$(DEPDIR)/bitshuffle.Plo
include bitshuffle/$(DEPDIR)/bitshuffle_core.Plo
include bitshuffle/$(DEPDIR)/iochain.Plo
include ./$(DEPDIR)/PyCafe.Plo # am--include-marker
include ./$(DEPDIR)/cafe.Plo # am--include-marker
include ./$(DEPDIR)/cafeCache.Plo # am--include-marker
include ./$(DEPDIR)/cafeGroup.Plo # am--include-marker
include ./$(DEPDIR)/cafeVectors.Plo # am--include-marker
include ./$(DEPDIR)/cafeXML.Plo # am--include-marker
include ./$(DEPDIR)/callbackHandlerCreate.Plo # am--include-marker
include ./$(DEPDIR)/callbackHandlerMonitor.Plo # am--include-marker
include ./$(DEPDIR)/conduit.Plo # am--include-marker
include ./$(DEPDIR)/conduitGroup.Plo # am--include-marker
include ./$(DEPDIR)/connect.Plo # am--include-marker
include ./$(DEPDIR)/connectCallbacks.Plo # am--include-marker
include ./$(DEPDIR)/connectGroup.Plo # am--include-marker
include ./$(DEPDIR)/exceptionsHelper.Plo # am--include-marker
include ./$(DEPDIR)/granules.Plo # am--include-marker
include ./$(DEPDIR)/handleHelper.Plo # am--include-marker
include ./$(DEPDIR)/helper.Plo # am--include-marker
include ./$(DEPDIR)/loadCollectionXMLParser.Plo # am--include-marker
include ./$(DEPDIR)/loadGroupXMLParser.Plo # am--include-marker
include ./$(DEPDIR)/methodCallbacks.Plo # am--include-marker
include ./$(DEPDIR)/policyHelper.Plo # am--include-marker
include ./$(DEPDIR)/restorePVGroupXMLParser.Plo # am--include-marker
include ./$(DEPDIR)/transpose.Plo # am--include-marker
include ./$(DEPDIR)/zbsCafeService.Plo # am--include-marker
include ./$(DEPDIR)/zbsDataHolders.Plo # am--include-marker
include bitshuffle/$(DEPDIR)/bitshuffle.Plo # am--include-marker
include bitshuffle/$(DEPDIR)/bitshuffle_core.Plo # am--include-marker
include bitshuffle/$(DEPDIR)/iochain.Plo # am--include-marker
$(am__depfiles_remade):
@$(MKDIR_P) $(@D)
@echo '# dummy' >$@-t && $(am__mv) $@-t $@
am--depfiles: $(am__depfiles_remade)
.c.o:
$(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\
@@ -616,7 +650,10 @@ cscopelist-am: $(am__tagged_files)
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
distdir: $(DISTFILES)
distdir: $(BUILT_SOURCES)
$(MAKE) $(AM_MAKEFLAGS) distdir-am
distdir-am: $(DISTFILES)
@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
list='$(DISTFILES)'; \
@@ -691,7 +728,34 @@ clean-am: clean-generic clean-libLTLIBRARIES clean-libtool \
mostlyclean-am
distclean: distclean-am
-rm -rf ./$(DEPDIR) bitshuffle/$(DEPDIR)
-rm -f ./$(DEPDIR)/PyCafe.Plo
-rm -f ./$(DEPDIR)/cafe.Plo
-rm -f ./$(DEPDIR)/cafeCache.Plo
-rm -f ./$(DEPDIR)/cafeGroup.Plo
-rm -f ./$(DEPDIR)/cafeVectors.Plo
-rm -f ./$(DEPDIR)/cafeXML.Plo
-rm -f ./$(DEPDIR)/callbackHandlerCreate.Plo
-rm -f ./$(DEPDIR)/callbackHandlerMonitor.Plo
-rm -f ./$(DEPDIR)/conduit.Plo
-rm -f ./$(DEPDIR)/conduitGroup.Plo
-rm -f ./$(DEPDIR)/connect.Plo
-rm -f ./$(DEPDIR)/connectCallbacks.Plo
-rm -f ./$(DEPDIR)/connectGroup.Plo
-rm -f ./$(DEPDIR)/exceptionsHelper.Plo
-rm -f ./$(DEPDIR)/granules.Plo
-rm -f ./$(DEPDIR)/handleHelper.Plo
-rm -f ./$(DEPDIR)/helper.Plo
-rm -f ./$(DEPDIR)/loadCollectionXMLParser.Plo
-rm -f ./$(DEPDIR)/loadGroupXMLParser.Plo
-rm -f ./$(DEPDIR)/methodCallbacks.Plo
-rm -f ./$(DEPDIR)/policyHelper.Plo
-rm -f ./$(DEPDIR)/restorePVGroupXMLParser.Plo
-rm -f ./$(DEPDIR)/transpose.Plo
-rm -f ./$(DEPDIR)/zbsCafeService.Plo
-rm -f ./$(DEPDIR)/zbsDataHolders.Plo
-rm -f bitshuffle/$(DEPDIR)/bitshuffle.Plo
-rm -f bitshuffle/$(DEPDIR)/bitshuffle_core.Plo
-rm -f bitshuffle/$(DEPDIR)/iochain.Plo
-rm -f makefile
distclean-am: clean-am distclean-compile distclean-generic \
distclean-tags
@@ -737,7 +801,34 @@ install-ps-am:
installcheck-am:
maintainer-clean: maintainer-clean-am
-rm -rf ./$(DEPDIR) bitshuffle/$(DEPDIR)
-rm -f ./$(DEPDIR)/PyCafe.Plo
-rm -f ./$(DEPDIR)/cafe.Plo
-rm -f ./$(DEPDIR)/cafeCache.Plo
-rm -f ./$(DEPDIR)/cafeGroup.Plo
-rm -f ./$(DEPDIR)/cafeVectors.Plo
-rm -f ./$(DEPDIR)/cafeXML.Plo
-rm -f ./$(DEPDIR)/callbackHandlerCreate.Plo
-rm -f ./$(DEPDIR)/callbackHandlerMonitor.Plo
-rm -f ./$(DEPDIR)/conduit.Plo
-rm -f ./$(DEPDIR)/conduitGroup.Plo
-rm -f ./$(DEPDIR)/connect.Plo
-rm -f ./$(DEPDIR)/connectCallbacks.Plo
-rm -f ./$(DEPDIR)/connectGroup.Plo
-rm -f ./$(DEPDIR)/exceptionsHelper.Plo
-rm -f ./$(DEPDIR)/granules.Plo
-rm -f ./$(DEPDIR)/handleHelper.Plo
-rm -f ./$(DEPDIR)/helper.Plo
-rm -f ./$(DEPDIR)/loadCollectionXMLParser.Plo
-rm -f ./$(DEPDIR)/loadGroupXMLParser.Plo
-rm -f ./$(DEPDIR)/methodCallbacks.Plo
-rm -f ./$(DEPDIR)/policyHelper.Plo
-rm -f ./$(DEPDIR)/restorePVGroupXMLParser.Plo
-rm -f ./$(DEPDIR)/transpose.Plo
-rm -f ./$(DEPDIR)/zbsCafeService.Plo
-rm -f ./$(DEPDIR)/zbsDataHolders.Plo
-rm -f bitshuffle/$(DEPDIR)/bitshuffle.Plo
-rm -f bitshuffle/$(DEPDIR)/bitshuffle_core.Plo
-rm -f bitshuffle/$(DEPDIR)/iochain.Plo
-rm -f makefile
maintainer-clean-am: distclean-am maintainer-clean-generic
@@ -758,9 +849,9 @@ uninstall-am: uninstall-libLTLIBRARIES
.MAKE: install-am install-strip
.PHONY: CTAGS GTAGS TAGS all all-am check check-am clean clean-generic \
clean-libLTLIBRARIES clean-libtool cscopelist-am ctags \
ctags-am distclean distclean-compile distclean-generic \
.PHONY: CTAGS GTAGS TAGS all all-am am--depfiles check check-am clean \
clean-generic clean-libLTLIBRARIES clean-libtool cscopelist-am \
ctags ctags-am distclean distclean-compile distclean-generic \
distclean-libtool distclean-tags distdir dvi dvi-am html \
html-am info info-am install install-am install-data \
install-data-am install-dvi install-dvi-am install-exec \
@@ -772,6 +863,8 @@ uninstall-am: uninstall-libLTLIBRARIES
mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
tags tags-am uninstall uninstall-am uninstall-libLTLIBRARIES
.PRECIOUS: makefile
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.

View File

@@ -11,8 +11,8 @@ lib_LTLIBRARIES = libcafe.la
#1st: current-age
#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
#1.9.2 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 21:1:20
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,15 +327,21 @@ 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 ("ARIDI-BPM-01LE:WF-INT-1" == ca_name (args.chid) ) {
//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);
cafeConduit_set_by_handle & handle_index = cs.get<by_handle> ();
cafeConduit_set_by_handle::iterator it_handle;
@@ -349,9 +355,10 @@ 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;
//cout << "handle/// " << _handle << endl;
if(MUTEX)
{
cafeMutex.unlock();
@@ -758,6 +765,7 @@ void CALLBACK_CAFE::handlerGetClassName( struct event_handler_args args)
cout << __FILE__ << "/" << __LINE__ << "/" << __METHOD__ << endl;
cout << "Status=" << args.status << " for channel " << ca_name (args.chid) << endl;
if (RETURN_ON_ERROR == true) return;
//return;
}
unsigned int _handle = (unsigned long) args.usr; // ca_puser(args.chid);

View File

@@ -948,7 +948,7 @@ int Transpose<dbr_string_t>::get(
for (unsigned int i=0; i<nelem; ++i)
{
sprintf(val[i], "%f", (*(&((PVDataL)->tfltval.value)+i+offset)));
sprintf(val[i], "%f", (*(&((PVDataL)->tfltval.value)+i+offset)));
}
ts = ((struct dbr_time_float *) PVDataL)->stamp;
alarmStatus = ((struct dbr_time_float *) PVDataL)->status;