15 Commits

Author SHA1 Message Date
3d955b1c98 varied gcc compiler in makefile 2025-10-10 12:09:56 +02:00
532abc7b1b README and cafe_version-py 2025-10-06 11:47:30 +02:00
9e00fc0e0c first user commit to gitea 2025-10-01 12:36:28 +02:00
a1c964f771 epics 7.0.8 2024-07-10 16:00:57 +02:00
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
77 changed files with 366577 additions and 15356 deletions

12
.gitignore vendored
View File

@@ -1,6 +1,7 @@
# Temporary editor files # # Temporary editor files #
########################## ##########################
*~ *~
*-
# AFS temporary files # # AFS temporary files #
####################### #######################
@@ -9,9 +10,11 @@
# Temporary (build) files # # Temporary (build) files #
########################### ###########################
*.bak *.bak
*.*-*
*.*+*
aclocal.m4 aclocal.m4
autom4te.cache autom4te.cache
config.* config.in
configure configure
depcomp depcomp
install-sh install-sh
@@ -32,7 +35,12 @@ src/*.o
src/*.lo src/*.lo
src/*.la src/*.la
src/.deps/* src/.deps/*
src/bitshuffle/.deps/*
src/bitshuffle/.libs/*
src/bitshuffle/*.o
src/bitshuffle/*.Plo
src/bitshuffle/*.lo
src/.libs/* src/.libs/*
examples/cafeTest/*.*- examples/cafeTest/*.*-
doc doc
compile

318
INSTALL
View File

@@ -1,8 +1,8 @@
Installation Instructions Installation Instructions
************************* *************************
Copyright (C) 1994-1996, 1999-2002, 2004-2013 Free Software Foundation, Copyright (C) 1994-1996, 1999-2002, 2004-2016 Free Software
Inc. Foundation, Inc.
Copying and distribution of this file, with or without modification, Copying and distribution of this file, with or without modification,
are permitted in any medium without royalty provided the copyright are permitted in any medium without royalty provided the copyright
@@ -12,97 +12,96 @@ without warranty of any kind.
Basic Installation Basic Installation
================== ==================
Briefly, the shell commands `./configure; make; make install' should Briefly, the shell command './configure && make && make install'
configure, build, and install this package. The following should configure, build, and install this package. The following
more-detailed instructions are generic; see the `README' file for more-detailed instructions are generic; see the 'README' file for
instructions specific to this package. Some packages provide this 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 below. The lack of an optional feature in a given package is not
necessarily a bug. More recommendations for GNU packages can be found necessarily a bug. More recommendations for GNU packages can be found
in *note Makefile Conventions: (standards)Makefile Conventions. 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 various system-dependent variables used during compilation. It uses
those values to create a `Makefile' in each directory of the package. those values to create a 'Makefile' in each directory of the package.
It may also create one or more `.h' files containing system-dependent It may also create one or more '.h' files containing system-dependent
definitions. Finally, it creates a shell script `config.status' that definitions. Finally, it creates a shell script 'config.status' that
you can run in the future to recreate the current configuration, and a you can run in the future to recreate the current configuration, and a
file `config.log' containing compiler output (useful mainly for file 'config.log' containing compiler output (useful mainly for
debugging `configure'). debugging 'configure').
It can also use an optional file (typically called `config.cache' It can also use an optional file (typically called 'config.cache' and
and enabled with `--cache-file=config.cache' or simply `-C') that saves enabled with '--cache-file=config.cache' or simply '-C') that saves the
the results of its tests to speed up reconfiguring. Caching is results of its tests to speed up reconfiguring. Caching is disabled by
disabled by default to prevent problems with accidental use of stale default to prevent problems with accidental use of stale cache files.
cache files.
If you need to do unusual things to compile the package, please try 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 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 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 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. may remove or edit it.
The file `configure.ac' (or `configure.in') is used to create The file 'configure.ac' (or 'configure.in') is used to create
`configure' by a program called `autoconf'. You need `configure.ac' if 'configure' by a program called 'autoconf'. You need 'configure.ac' if
you want to change it or regenerate `configure' using a newer version you want to change it or regenerate 'configure' using a newer version of
of `autoconf'. 'autoconf'.
The simplest way to compile this package is: The simplest way to compile this package is:
1. `cd' to the directory containing the package's source code and type 1. 'cd' to the directory containing the package's source code and type
`./configure' to configure the package for your system. './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. 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. 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 documentation. When installing into a prefix owned by root, it is
recommended that the package be configured and built as a regular 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. 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 time using the binaries in their final installed location.
This target does not install anything. Running this target as a 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 root privileges, verifies that the installation completed
correctly. correctly.
6. You can remove the program binaries and object files from the 6. You can remove the program binaries and object files from the
source code directory by typing `make clean'. To also remove the source code directory by typing 'make clean'. To also remove the
files that `configure' created (so you can compile the package for files that 'configure' created (so you can compile the package for
a different kind of computer), type `make distclean'. There is a different kind of computer), type 'make distclean'. There is
also a `make maintainer-clean' target, but that is intended mainly 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 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 all sorts of other programs in order to regenerate files that came
with the distribution. 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 files again. In practice, not all packages have tested that
uninstallation works correctly, even though it is required by the uninstallation works correctly, even though it is required by the
GNU Coding Standards. 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 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. This target is generally not run by end users.
Compilers and Options Compilers and Options
===================== =====================
Some systems require unusual options for compilation or linking that 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. for details on some of the pertinent environment variables.
You can give `configure' initial values for configuration parameters You can give 'configure' initial values for configuration parameters
by setting variables in the command line or in the environment. Here by setting variables in the command line or in the environment. Here is
is an example: an example:
./configure CC=c99 CFLAGS=-g LIBS=-lposix ./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 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 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 directory where you want the object files and executables to go and run
the `configure' script. `configure' automatically checks for the the 'configure' script. 'configure' automatically checks for the source
source code in the directory that `configure' is in and in `..'. This code in the directory that 'configure' is in and in '..'. This is known
is known as a "VPATH" build. 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 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. reconfiguring for another architecture.
On MacOS X 10.5 and later systems, you can create libraries and On MacOS X 10.5 and later systems, you can create libraries and
executables that work on multiple system types--known as "fat" or executables that work on multiple system types--known as "fat" or
"universal" binaries--by specifying multiple `-arch' options to the "universal" binaries--by specifying multiple '-arch' options to the
compiler but only a single `-arch' option to the preprocessor. Like compiler but only a single '-arch' option to the preprocessor. Like
this: this:
./configure CC="gcc -arch i386 -arch x86_64 -arch ppc -arch ppc64" \ ./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 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 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 Installation Names
================== ==================
By default, `make install' installs the package's commands under By default, 'make install' installs the package's commands under
`/usr/local/bin', include files under `/usr/local/include', etc. You '/usr/local/bin', include files under '/usr/local/include', etc. You
can specify an installation prefix other than `/usr/local' by giving can specify an installation prefix other than '/usr/local' by giving
`configure' the option `--prefix=PREFIX', where PREFIX must be an 'configure' the option '--prefix=PREFIX', where PREFIX must be an
absolute file name. absolute file name.
You can specify separate installation prefixes for You can specify separate installation prefixes for
architecture-specific files and architecture-independent files. If you 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. PREFIX as the prefix for installing programs and libraries.
Documentation and other data files still use the regular prefix. Documentation and other data files still use the regular prefix.
In addition, if you use an unusual directory layout you can give In addition, if you use an unusual directory layout you can give
options like `--bindir=DIR' to specify different values for particular options like '--bindir=DIR' to specify different values for particular
kinds of files. Run `configure --help' for a list of the directories 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 you can set and what kinds of files go in them. In general, the default
default for these options is expressed in terms of `${prefix}', so that for these options is expressed in terms of '${prefix}', so that
specifying just `--prefix' will affect all of the other directory specifying just '--prefix' will affect all of the other directory
specifications that were not explicitly provided. specifications that were not explicitly provided.
The most portable way to affect installation locations is to pass the 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 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. having to reconfigure or recompile.
The first method involves providing an override variable for each 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 prefix=/alternate/directory' will choose an alternate location for all
directory configuration variables that were expressed in terms of directory configuration variables that were expressed in terms of
`${prefix}'. Any directories that were specified during `configure', '${prefix}'. Any directories that were specified during 'configure',
but not in terms of `${prefix}', must each be overridden at install but not in terms of '${prefix}', must each be overridden at install time
time for the entire installation to be relocated. The approach of for the entire installation to be relocated. The approach of makefile
makefile variable overrides for each directory variable is required by variable overrides for each directory variable is required by the GNU
the GNU Coding Standards, and ideally causes no recompilation. Coding Standards, and ideally causes no recompilation. However, some
However, some platforms have known limitations with the semantics of platforms have known limitations with the semantics of shared libraries
shared libraries that end up requiring recompilation when using this that end up requiring recompilation when using this method, particularly
method, particularly noticeable in packages that use GNU Libtool. noticeable in packages that use GNU Libtool.
The second method involves providing the `DESTDIR' variable. For The second method involves providing the 'DESTDIR' variable. For
example, `make install DESTDIR=/alternate/directory' will prepend example, 'make install DESTDIR=/alternate/directory' will prepend
`/alternate/directory' before all installation names. The approach of '/alternate/directory' before all installation names. The approach of
`DESTDIR' overrides is not required by the GNU Coding Standards, and 'DESTDIR' overrides is not required by the GNU Coding Standards, and
does not work on platforms that have drive letters. On the other hand, does not work on platforms that have drive letters. On the other hand,
it does better at avoiding recompilation issues, and works well even it does better at avoiding recompilation issues, and works well even
when some directory options were not specified in terms of `${prefix}' when some directory options were not specified in terms of '${prefix}'
at `configure' time. at 'configure' time.
Optional Features Optional Features
================= =================
If the package supports it, you can cause programs to be installed 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 with an extra prefix or suffix on their names by giving 'configure' the
option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'. option '--program-prefix=PREFIX' or '--program-suffix=SUFFIX'.
Some packages pay attention to `--enable-FEATURE' options to Some packages pay attention to '--enable-FEATURE' options to
`configure', where FEATURE indicates an optional part of the package. 'configure', where FEATURE indicates an optional part of the package.
They may also pay attention to `--with-PACKAGE' options, where 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 is something like 'gnu-as' or 'x' (for the X Window System). The
`README' should mention any `--enable-' and `--with-' options that the 'README' should mention any '--enable-' and '--with-' options that the
package recognizes. 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, find the X include and library files automatically, but if it doesn't,
you can use the `configure' options `--x-includes=DIR' and you can use the 'configure' options '--x-includes=DIR' and
`--x-libraries=DIR' to specify their locations. '--x-libraries=DIR' to specify their locations.
Some packages offer the ability to configure how verbose the 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 --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 --disable-silent-rules' sets the default to verbose, which can be
overridden with `make V=0'. overridden with 'make V=0'.
Particular systems Particular systems
================== ==================
On HP-UX, the default C compiler is not ANSI C compatible. If GNU On HP-UX, the default C compiler is not ANSI C compatible. If GNU CC
CC is not installed, it is recommended to use the following options in is not installed, it is recommended to use the following options in
order to use an ANSI C compiler: order to use an ANSI C compiler:
./configure CC="cc -Ae -D_XOPEN_SOURCE=500" ./configure CC="cc -Ae -D_XOPEN_SOURCE=500"
and if that doesn't work, install pre-built binaries of GCC for HP-UX. 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 HP-UX 'make' updates targets which have the same time stamps as their
their prerequisites, which makes it generally unusable when shipped prerequisites, which makes it generally unusable when shipped generated
generated files such as `configure' are involved. Use GNU `make' files such as 'configure' are involved. Use GNU 'make' instead.
instead.
On OSF/1 a.k.a. Tru64, some versions of the default C compiler cannot 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 parse its '<wchar.h>' header file. The option '-nodtk' can be used as a
a workaround. If GNU CC is not installed, it is therefore recommended workaround. If GNU CC is not installed, it is therefore recommended to
to try try
./configure CC="cc" ./configure CC="cc"
@@ -242,26 +240,26 @@ and if that doesn't work, try
./configure CC="cc -nodtk" ./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 directory contains several dysfunctional programs; working variants of
these programs are available in `/usr/bin'. So, if you need `/usr/ucb' these programs are available in '/usr/bin'. So, if you need '/usr/ucb'
in your `PATH', put it _after_ `/usr/bin'. in your 'PATH', put it _after_ '/usr/bin'.
On Haiku, software installed for all users goes in `/boot/common', On Haiku, software installed for all users goes in '/boot/common',
not `/usr/local'. It is recommended to use the following options: not '/usr/local'. It is recommended to use the following options:
./configure --prefix=/boot/common ./configure --prefix=/boot/common
Specifying the System Type 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 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 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 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 '--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: type, such as 'sun4', or a canonical name which has the form:
CPU-COMPANY-SYSTEM CPU-COMPANY-SYSTEM
@@ -270,101 +268,101 @@ where SYSTEM can have one of these forms:
OS OS
KERNEL-OS KERNEL-OS
See the file `config.sub' for the possible values of each field. If 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 'config.sub' isn't included in this package, then this package doesn't
need to know the machine type. need to know the machine type.
If you are _building_ compiler tools for cross-compiling, you should 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. produce code for.
If you want to _use_ a cross compiler, that generates code for a If you want to _use_ a cross compiler, that generates code for a
platform different from the build platform, you should specify the platform different from the build platform, you should specify the
"host" platform (i.e., that on which the generated programs will "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 Sharing Defaults
================ ================
If you want to set default values for `configure' scripts to share, If you want to set default values for 'configure' scripts to share,
you can create a site shell script called `config.site' that gives you can create a site shell script called 'config.site' that gives
default values for variables like `CC', `cache_file', and `prefix'. default values for variables like 'CC', 'cache_file', and 'prefix'.
`configure' looks for `PREFIX/share/config.site' if it exists, then 'configure' looks for 'PREFIX/share/config.site' if it exists, then
`PREFIX/etc/config.site' if it exists. Or, you can set the 'PREFIX/etc/config.site' if it exists. Or, you can set the
`CONFIG_SITE' environment variable to the location of the site script. 'CONFIG_SITE' environment variable to the location of the site script.
A warning: not all `configure' scripts look for a site script. A warning: not all 'configure' scripts look for a site script.
Defining Variables Defining Variables
================== ==================
Variables not defined in a site shell script can be set in the 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 configure again during the build, and the customized values of these
variables may be lost. In order to avoid this problem, you should set 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 ./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). overridden in the site shell script).
Unfortunately, this technique does not work for `CONFIG_SHELL' due to Unfortunately, this technique does not work for 'CONFIG_SHELL' due to an
an Autoconf limitation. Until the limitation is lifted, you can use Autoconf limitation. Until the limitation is lifted, you can use this
this workaround: workaround:
CONFIG_SHELL=/bin/bash ./configure CONFIG_SHELL=/bin/bash 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. operates.
`--help' '--help'
`-h' '-h'
Print a summary of all of the options to `configure', and exit. Print a summary of all of the options to 'configure', and exit.
`--help=short' '--help=short'
`--help=recursive' '--help=recursive'
Print a summary of the options unique to this package's Print a summary of the options unique to this package's
`configure', and exit. The `short' variant lists options used 'configure', and exit. The 'short' variant lists options used only
only in the top level, while the `recursive' variant lists options in the top level, while the 'recursive' variant lists options also
also present in any nested packages. present in any nested packages.
`--version' '--version'
`-V' '-V'
Print the version of Autoconf used to generate the `configure' Print the version of Autoconf used to generate the 'configure'
script, and exit. script, and exit.
`--cache-file=FILE' '--cache-file=FILE'
Enable the cache: use and save the results of the tests in 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. disable caching.
`--config-cache' '--config-cache'
`-C' '-C'
Alias for `--cache-file=config.cache'. Alias for '--cache-file=config.cache'.
`--quiet' '--quiet'
`--silent' '--silent'
`-q' '-q'
Do not print messages saying which checks are being made. To 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). messages will still be shown).
`--srcdir=DIR' '--srcdir=DIR'
Look for the package's source code in directory DIR. Usually 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' '--prefix=DIR'
Use DIR as the installation prefix. *note Installation Names:: Use DIR as the installation prefix. *note Installation Names:: for
for more details, including other options available for fine-tuning more details, including other options available for fine-tuning the
the installation locations. installation locations.
`--no-create' '--no-create'
`-n' '-n'
Run the configure checks, but stop before creating any output Run the configure checks, but stop before creating any output
files. files.
`configure' also accepts some other, not widely useful, options. Run 'configure' also accepts some other, not widely useful, options. Run
`configure --help' for more details. '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 \ INCLUDES = -IC:\EPICS\CAFE\cpp\include -IC:\EPICS\CAFE\cpp -IC:\EPICS\boost_1_81_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:\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-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 #-IC:\Users\chrin\AppData\Local\Continuum\Anaconda3\envs\py345\include
LIB_DEST=lib\cafe-noqt
CXX=cl CXX=cl
CXXFLAGS = /W4 /EHsc /c /MT 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 "$@"
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 \ #OUTPUT_OPTION = /o "$@"
C:\local\boost_1_63_0\lib64-msvc-10.0\libboost_thread-vc100-mt-s-1_63.lib \ OUTPUT_OPTION = /Fo"$@"
C:\local\boost_1_63_0\lib64-msvc-10.0\libboost_system-vc100-mt-s-1_63.lib 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:\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 \ cafe.lib: $(OBJS)
callbackHandlerCreate.obj callbackHandlerMonitor.obj conduitGroup.obj conduit.obj \ LIB $(OBJS) /out:cafe.lib
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)
%.obj: %.cpp
$(LIB_DEST)\cafe.lib: $(OBJS)
LIB $(OBJS) /out:$(LIB_DEST)\cafe.lib
%.obj: src\%.cpp
$(CXX) $(CXXFLAGS) $(INCLUDES) $(OUTPUT_OPTION) $< $(CXX) $(CXXFLAGS) $(INCLUDES) $(OUTPUT_OPTION) $<
clean: 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 */

44
README
View File

@@ -1,18 +1,25 @@
## ##
autogen_rel_py3.sh ==> generates library for use from within python and C++ Change cafe version in three place:
autogen_rel_py3_noqt.sh ==> generates library for use from within python and C++ (remove Qt4 dependency if xml not required) 1)
autogen_rel_noqt.sh ==> generates library for building a mex file (remove Qt4 dependence as matlab requires Qt5) configure.ac
autogen_rel.sh ==> normal c++ release AC_INIT([CAFE], [1.22.0], [Bug reports to: felix.armborst@psi.ch, j.chrin@hispeed.ch])
2)
src/makefile.am
libcafe_la_LDFLAGS = -version-info 23:0:22 #corresponds to 1.22.0 (run cafe_version.py)
3)
autogen.sh
CAFE_V="cafe-1.22.0"
EPICS_BASE='base-7.0.9' #change epics version here
autogen.sh sls2 py310/py38/py37 ==> generates library for use from within python and C++
autogen.sh sls2 cpp ==> generates library for use in cpp
autogen.sh sls2 matlab ==> generates library for building a mex file
autogen.sh hipa cpp ==> generates library for use cpp **without** qt libraries
autogen.sh sf py37 ==> generates library for use use in swissfel with bsread/zmq capabilty
Libraries are only made available when the appropriate is enabld
#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"
## ##
## -------------------------------------------------------------------------- ## --------------------------------------------------------------------------
@@ -23,17 +30,6 @@ Libraries are only made available when the appropriate is enabld
## ##
## --libdir: This is the directory to which the cafe shared objects are ## --libdir: This is the directory to which the cafe shared objects are
## installed ## installed
## --with-boost: base directory for the boost header files
## --with-epics7: epics7 top level directory
## --with-epics3: epics3 top level directory
## Note that configure.ac assume that the architecture is
## base/lib/${EPICS_HOST_ARCH}
## --with-qt5: Qt5 base directory (optional)
## --with-python37: Python 3.7 directory, if building PyCafe
## --with-python35: Python 3.5 directory, if bulding PyCafe
## Remaining libraries are specific to swissfel zmq streams
## -------------------------------------------------------------------------- ## --------------------------------------------------------------------------
1) Modify autogen.sh according to above 1) Modify autogen.sh according to above

View File

@@ -1,86 +0,0 @@
### psi specific - select compiler
rm -f configure.ac
ln -s configurePSI.ac configure.ac
rm -f src/PyCafe.cpp
ln -s PyCafe_sls.cpp src/PyCafe.cpp
rm -f ./aclocal.m4
rm -rf ./autom4te.cache
aclocal --force -I m4
/opt/gfa/python-3.7/latest/bin/libtoolize --force --copy #select libtools 2.4.6
autoconf --force #interprets configure.ac
autoheader --force
automake --force --add-missing --copy
#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.13.0"
#For later check of existence of HOST_ARCH for $EPICS/include/os/$HOST_ARCH
#Assume Linux but check if Darwin
CAFE_HOST_FLAG_DARWIN=$(echo ${EPICS_HOST_ARCH} | grep -c "Darwin")
echo 'darwin' $CAFE_HOST_FLAG_DARWIN
export CAFE_HOST_FLAG_DARWIN=$CAFE_HOST_FLAG_DARWIN
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.4.1' #7.0 = 7+0 = 7 for major release
fi
echo 'input' "$0" "$1" "$2"
echo $EPICS_BASE
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-boost-inc"
ENABLE_OPTIONS+=" --enable-epics3"
#ENABLE_OPTIONS+=" --enable-epics7"
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-epics7=${EPICS}/base-7.0.4.1 \
--with-epics3=${EPICS}/base \
--with-python37=/opt/gfa/python-3.7/latest \
--with-python35=/opt/gfa/python-3.5/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
unset CAFE_EPICS_V_PATCH
unset CAFE_EPICS_V_MINOR
unset CAFE_EPICS_V_MAJOR
unset CAFE_HOST_FLAG_DARWIN

1
autogen.sh Symbolic link
View File

@@ -0,0 +1 @@
autogen_sfbd.sh

View File

@@ -3,7 +3,11 @@
#<facility = sls sls2 sf> default is sf #<facility = sls sls2 sf> default is sf
#<target_language = cpp matlab python> #<target_language = cpp matlab python>
module unload gcc module unload gcc
module load gcc/7.3.0 module load gcc/10.4.0 ##rhel8 - default
#Above overwritten for python in the below
#module load gcc/7.3.0 for py35 py37
#module load gcc/7.5.0 for py38 py310
### psi specific - end ### psi specific - end
rm -f configure.ac rm -f configure.ac
@@ -12,7 +16,7 @@ ln -s configurePSI.ac configure.ac
rm -f ./aclocal.m4 rm -f ./aclocal.m4
rm -rf ./autom4te.cache rm -rf ./autom4te.cache
aclocal --force -I m4 aclocal --force -I m4
/opt/gfa/python-3.7/latest/bin/libtoolize --force --copy #select libtools 2.4.6 libtoolize --force --copy #select libtools 2.4.6
#libtoolize --force --copy #libtoolize --force --copy
autoconf --force #interprets configure.ac autoconf --force #interprets configure.ac
autoheader --force autoheader --force
@@ -23,7 +27,9 @@ automake --force --add-missing --copy
#Used by ./configure #Used by ./configure
#Assumes format ${EPICS}/base-3.14.12 #Assumes format ${EPICS}/base-3.14.12
#source cafeVersion-gcc-7.3.0 #source cafeVersion-gcc-7.3.0
CAFE_V="cafe-1.15.0" CAFE_V="cafe-1.22.0"
EPICS_BASE='base-7.0.9' #
#For later check of existence of HOST_ARCH for $EPICS/include/os/$HOST_ARCH #For later check of existence of HOST_ARCH for $EPICS/include/os/$HOST_ARCH
#Assume Linux but check if Darwin #Assume Linux but check if Darwin
CAFE_HOST_FLAG_DARWIN=$(echo ${EPICS_HOST_ARCH} | grep -c "Darwin") CAFE_HOST_FLAG_DARWIN=$(echo ${EPICS_HOST_ARCH} | grep -c "Darwin")
@@ -32,13 +38,16 @@ export CAFE_HOST_FLAG_DARWIN=$CAFE_HOST_FLAG_DARWIN
RETURN_ON_WRONG_INPUT=true RETURN_ON_WRONG_INPUT=true
RETURN_FLAG=false RETURN_FLAG=false
EPICS_BASE=$(readlink ${EPICS}/base) ##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) #EB=$(readlink /afs/psi.ch/project/cafe/gitworkspace/CAFE/cpp/base)
echo $EPICS_BASE echo $EPICS_BASE
if [ -z "$EPICS_BASE" ] #if [ -z "$EPICS_BASE_VERSION" ]
then #then
EPICS_BASE='base-7' #7.0 = 7+0 = 7 for major release # EPICS_BASE='base-7.0.7' #7.0 = 7+0 = 7 for major release
fi #fi
echo 'input' "$0" "$1" "$2" echo 'input' "$0" "$1" "$2"
echo $EPICS_BASE echo $EPICS_BASE
@@ -46,8 +55,11 @@ echo $EPICS_BASE
FACILITY=$(echo "$1" | tr '[:upper:]' '[:lower:]') FACILITY=$(echo "$1" | tr '[:upper:]' '[:lower:]')
CACLIENT=$(echo "$2" | tr '[:upper:]' '[:lower:]') CACLIENT=$(echo "$2" | tr '[:upper:]' '[:lower:]')
FACILITY_DEFAULT="sf" #FACILITY_DEFAULT="sf"
CACLIENT_DEFAULT="python" #CACLIENT_DEFAULT="python"
FACILITY_DEFAULT="sls2"
CACLIENT_DEFAULT="py37"
FACILITY_TEMP="" FACILITY_TEMP=""
CACLIENT_TEMP="" CACLIENT_TEMP=""
@@ -57,7 +69,8 @@ echo 'input arg. facility/target' $FACILITY $CACLIENT
if [ -n "$FACILITY" ] if [ -n "$FACILITY" ]
then then
if [ "$FACILITY" = "matlab" ] || [ "$FACILITY" = "python" ] || \ if [ "$FACILITY" = "matlab" ] || [ "$FACILITY" = "python" ] || \
[ "$FACILITY" = "py310" ] || [ "$FACILITY" = "py38" ] || \ [ "$FACILITY" = "py310" ] || [ "$FACILITY" = "py39" ] || \
[ "$FACILITY" = "py38" ] || \
[ "$FACILITY" = "py37" ] || [ "$FACILITY" = "py35" ] || \ [ "$FACILITY" = "py37" ] || [ "$FACILITY" = "py35" ] || \
[ "$FACILITY" = "julia" ] || [ "$FACILITY" = "cpp" ] || \ [ "$FACILITY" = "julia" ] || [ "$FACILITY" = "cpp" ] || \
[ "$FACILITY" = "cc" ] || [ "$FACILITY" = "py34" ] [ "$FACILITY" = "cc" ] || [ "$FACILITY" = "py34" ]
@@ -85,7 +98,7 @@ fi
if [ -z "$FACILITY" ] if [ -z "$FACILITY" ]
then then
FACILITY="sf" FACILITY=$FACILITY_DEFAULT
echo "FACILITY = " $FACILITY echo "FACILITY = " $FACILITY
if [ -z $CACLIENT ] if [ -z $CACLIENT ]
then then
@@ -126,7 +139,8 @@ fi
if [ -n "$CACLIENT" ] if [ -n "$CACLIENT" ]
then then
if [ "$CACLIENT" = "matlab" ] || [ "$CACLIENT" = "python" ] || \ if [ "$CACLIENT" = "matlab" ] || [ "$CACLIENT" = "python" ] || \
[ "$CACLIENT" = "py310" ] || [ "$CACLIENT" = "py38" ] || \ [ "$CACLIENT" = "py310" ] || [ "$CACLIENT" = "py39" ] || \
[ "$CACLIENT" = "py38" ] || \
[ "$CACLIENT" = "py37" ] || [ "$CACLIENT" = "py35" ] || \ [ "$CACLIENT" = "py37" ] || [ "$CACLIENT" = "py35" ] || \
[ "$CACLIENT" = "julia" ] || [ "$CACLIENT" = "cpp" ] || \ [ "$CACLIENT" = "julia" ] || [ "$CACLIENT" = "cpp" ] || \
[ "$CACLIENT" = "cc" ] || [ "$CACLIENT" = "py34" ] [ "$CACLIENT" = "cc" ] || [ "$CACLIENT" = "py34" ]
@@ -136,7 +150,8 @@ then
if [ -n "$CACLIENT_TEMP" ] if [ -n "$CACLIENT_TEMP" ]
then then
if [ "$CACLIENT_TEMP" = "matlab" ] || [ "$CACLIENT_TEMP" = "python" ] || \ if [ "$CACLIENT_TEMP" = "matlab" ] || [ "$CACLIENT_TEMP" = "python" ] || \
[ "$CACLIENT_TEMP" = "py310" ] || [ "$CACLIENT_TEMP" = "py38" ] || \ [ "$CACLIENT_TEMP" = "py310" ] || [ "$CACLIENT_TEMP" = "py39" ] || \
[ "$CACLIENT_TEMP" = "py38" ] || \
[ "$CACLIENT_TEMP" = "py37" ] || [ "$CACLIENT_TEMP" = "py35" ] || \ [ "$CACLIENT_TEMP" = "py37" ] || [ "$CACLIENT_TEMP" = "py35" ] || \
[ "$CACLIENT_TEMP" = "julia" ] || [ "$CACLIENT_TEMP" = "cpp" ] || \ [ "$CACLIENT_TEMP" = "julia" ] || [ "$CACLIENT_TEMP" = "cpp" ] || \
[ "$CACLIENT_TEMP" = "cc" ] || [ "$CACLIENT_TEMP" = "py34" ] [ "$CACLIENT_TEMP" = "cc" ] || [ "$CACLIENT_TEMP" = "py34" ]
@@ -191,10 +206,13 @@ then
ENABLE_OPTIONS+=" --enable-epics7" ENABLE_OPTIONS+=" --enable-epics7"
#CAFE_V+="-sls2" #CAFE_V+="-sls2"
else else
ENABLE_OPTIONS+=" --enable-epics3" ENABLE_OPTIONS+=" --enable-epics7"
if [ "$FACILITY" = "sf" ] && [ "$CACLIENT" != "matlab" ] if [ "$FACILITY" = "sf" ] && [ "$CACLIENT" != "matlab" ]
then then
CAFE_V+="-sf" CAFE_V+="-sf"
elif [ "$FACILITY" = "hipa" ] && [ "$CACLIENT" != "matlab" ]
then
CAFE_V+="-hipa"
elif [ "$FACILITY" = "sls" ] && [ "$CACLIENT" != "matlab" ] elif [ "$FACILITY" = "sls" ] && [ "$CACLIENT" != "matlab" ]
then then
CAFE_V+="-epics3" CAFE_V+="-epics3"
@@ -208,28 +226,49 @@ then
ENABLE_OPTIONS+=" --enable-python34" ENABLE_OPTIONS+=" --enable-python34"
ENABLE_OPTIONS+=" --enable-qt4py34" ENABLE_OPTIONS+=" --enable-qt4py34"
CAFE_V+="-py34" CAFE_V+="-py34"
module unload
module load gcc/7.3.0
elif [ "$CACLIENT" = "py35" ] elif [ "$CACLIENT" = "py35" ]
then then
ENABLE_OPTIONS+=" --enable-python35" ENABLE_OPTIONS+=" --enable-python35"
ENABLE_OPTIONS+=" --enable-qt4" ENABLE_OPTIONS+=" --enable-qt4"
CAFE_V+="-py35" CAFE_V+="-py35"
module unload
module load gcc/7.3.0
elif [ "$CACLIENT" = "py37" ] elif [ "$CACLIENT" = "py37" ]
then then
ENABLE_OPTIONS+=" --enable-python37" ENABLE_OPTIONS+=" --enable-python37"
ENABLE_OPTIONS+=" --enable-qt5" ENABLE_OPTIONS+=" --enable-qt5"
CAFE_V+="-py37" CAFE_V+="-py37"
module unload
module load gcc/7.5.0
elif [ "$CACLIENT" = "py38" ] elif [ "$CACLIENT" = "py38" ]
then then
ENABLE_OPTIONS+=" --enable-python38" ENABLE_OPTIONS+=" --enable-python38"
ENABLE_OPTIONS+=" --enable-qt5py38" ENABLE_OPTIONS+=" --enable-qt5py38"
CAFE_V+="-py38" CAFE_V+="-py38"
module unload
module load gcc/7.5.0
elif [ "$CACLIENT" = "py39" ]
then
ENABLE_OPTIONS+=" --enable-python39"
ENABLE_OPTIONS+=" --enable-qt5py39"
CAFE_V+="-py39"
module load gcc/7.5.0
elif [ "$CACLIENT" = "py310" ] elif [ "$CACLIENT" = "py310" ]
then then
ENABLE_OPTIONS+=" --enable-python310" ENABLE_OPTIONS+=" --enable-python310"
#ENABLE_OPTIONS+=" --enable-qt5py310" ENABLE_OPTIONS+=" --enable-qt5py310"
CAFE_V+="-py310" CAFE_V+="-py310"
else module unload
ENABLE_OPTIONS+=" --enable-qt5" module load gcc/7.5.0
elif [ "$CACLIENT" = "cpp" ]
then
if [ "$FACILITY" != "hipa" ]
then
ENABLE_OPTIONS+=" --enable-qt5py310"
fi
fi fi
if [ "$FACILITY" = "sf" ] && [ "$CACLIENT" != "matlab" ] if [ "$FACILITY" = "sf" ] && [ "$CACLIENT" != "matlab" ]
@@ -240,6 +279,8 @@ then
ENABLE_OPTIONS+=" --enable-zeromq" ENABLE_OPTIONS+=" --enable-zeromq"
ENABLE_OPTIONS+=" --enable-curl" ENABLE_OPTIONS+=" --enable-curl"
ENABLE_OPTIONS+=" --enable-lz4" ENABLE_OPTIONS+=" --enable-lz4"
module unload
module load gcc/7.3.0
#else #else
#rm -f src/PyCafe.cpp #rm -f src/PyCafe.cpp
#ln -s PyCafe_sls.cpp src/PyCafe.cpp #ln -s PyCafe_sls.cpp src/PyCafe.cpp
@@ -249,7 +290,7 @@ CAFE_V+="-gcc-"$GCC_VERSION
echo "$CAFE_V" echo "$CAFE_V"
#echo 'EPICS BASE IS='$EPICS_BASE echo 'EPICS BASE IS='$EPICS_BASE
#echo 'EPICS BASE DIR='${EPICS}/base-7.0.4.1 #echo 'EPICS BASE DIR='${EPICS}/base-7.0.4.1
EB1=$(echo $EPICS_BASE | sed -e "s/[a-zA-Z]*-//g") EB1=$(echo $EPICS_BASE | sed -e "s/[a-zA-Z]*-//g")
@@ -275,29 +316,30 @@ export CAFE_EPICS_V_PATCH=$EBPAT
#ENABLE_OPTIONS+=" --enable-curl" #ENABLE_OPTIONS+=" --enable-curl"
#ENABLE_OPTIONS+=" --enable-lz4" #ENABLE_OPTIONS+=" --enable-lz4"
echo 'ENABLE_OPTIONS='$ENABLE_OPTIONS echo 'ENABLE_OPTIONS============> '$ENABLE_OPTIONS
./configure \ ./configure \
--prefix=/opt/gfa/cafe/cpp/${CAFE_V} \ --prefix=/opt/gfa/cafe/cpp/${CAFE_V} \
--libdir=/opt/gfa/cafe/cpp/${CAFE_V}/lib/${EPICS_HOST_ARCH} \ --libdir=/opt/gfa/cafe/cpp/${CAFE_V}/lib/${_EPICS_HOST_ARCH} \
${ENABLE_OPTIONS} \ ${ENABLE_OPTIONS} \
--with-boost-inc=/opt/gfa/cafe/boost/boost_1_61_0/include \ --with-boost-inc=/opt/gfa/cafe/boost/boost_1_61_0/include \
--with-epics3=${EPICS}/base \ --with-epics3=${EPICS}/base \
--with-python310=/ioc/python/latest \ --with-python310=/opt/gfa/python-3.10/latest \
--with-python38=/opt/gfa/python-3.8/latest \ --with-python38=/opt/gfa/python-3.8/latest \
--with-python37=/opt/gfa/python-3.7/latest \ --with-python37=/opt/gfa/python-3.7/latest \
--with-python35=/opt/gfa/python-3.5/latest \ --with-python35=/opt/gfa/python-3.5/latest \
--with-python34=/opt/psi/Programming/psi-python34/2.1.0 \ --with-python34=/opt/psi/Programming/psi-python34/2.1.0 \
--with-qt5py310=/ioc/python/latest \ --with-qt5py310=/opt/gfa/python-3.10/latest \
--with-qt5py38=/opt/gfa/python-3.8/latest \ --with-qt5py38=/opt/gfa/python-3.8/latest \
--with-qt5=/opt/gfa/python-3.7/latest \ --with-qt5=/opt/gfa/python-3.7/latest \
--with-qt4=/opt/gfa/python-3.5/latest \ --with-qt4=/opt/gfa/python-3.5/latest \
--with-qt4py34=/opt/psi/Programming/psi-python34/2.1.0 \ --with-qt4py34=/opt/psi/Programming/psi-python34/2.1.0 \
--with-json=/sf/bd/deps/zmq/json/jsoncpp-src-0.6.0-rc2 \ --with-json=/opt/gfa/cafe/deps/zmq/json/jsoncpp-src-0.6.0-rc2 \
--with-zeromq=/sf/bd/deps/zmq/zeromq-4.2.3-gcc-6.3.0 \ --with-zeromq=/opt/gfa/cafe/deps/zmq/zeromq-4.2.3-gcc-6.3.0 \
--with-curl=/sf/bd/deps/zmq/curl-7.55.1 \ --with-curl=/opt/gfa/cafe/deps/zmq/curl-7.55.1 \
--with-lz4=/sf/bd/deps/zmq/lz4/lib \ --with-lz4=/opt/gfa/cafe/deps/zmq/lz4/lib \
--with-epics7=${EPICS}/base-7.0.6 --with-epics7=/usr/local/epics/${EPICS_BASE}
unset CAFE_EPICS_V_PATCH unset CAFE_EPICS_V_PATCH
unset CAFE_EPICS_V_MINOR unset CAFE_EPICS_V_MINOR
unset CAFE_EPICS_V_MAJOR unset CAFE_EPICS_V_MAJOR

View File

@@ -13,6 +13,7 @@ rm -f ./aclocal.m4
rm -rf ./autom4te.cache rm -rf ./autom4te.cache
aclocal --force -I m4 aclocal --force -I m4
/opt/gfa/python-3.7/latest/bin/libtoolize --force --copy #select libtools 2.4.6 /opt/gfa/python-3.7/latest/bin/libtoolize --force --copy #select libtools 2.4.6
#libtoolize --force --copy
autoconf --force #interprets configure.ac autoconf --force #interprets configure.ac
autoheader --force autoheader --force
automake --force --add-missing --copy automake --force --add-missing --copy
@@ -22,7 +23,7 @@ automake --force --add-missing --copy
#Used by ./configure #Used by ./configure
#Assumes format ${EPICS}/base-3.14.12 #Assumes format ${EPICS}/base-3.14.12
#source cafeVersion-gcc-7.3.0 #source cafeVersion-gcc-7.3.0
CAFE_V="cafe-1.14.5" CAFE_V="cafe-1.15.1"
#For later check of existence of HOST_ARCH for $EPICS/include/os/$HOST_ARCH #For later check of existence of HOST_ARCH for $EPICS/include/os/$HOST_ARCH
#Assume Linux but check if Darwin #Assume Linux but check if Darwin
CAFE_HOST_FLAG_DARWIN=$(echo ${EPICS_HOST_ARCH} | grep -c "Darwin") CAFE_HOST_FLAG_DARWIN=$(echo ${EPICS_HOST_ARCH} | grep -c "Darwin")
@@ -59,7 +60,7 @@ then
[ "$FACILITY" = "py310" ] || [ "$FACILITY" = "py38" ] || \ [ "$FACILITY" = "py310" ] || [ "$FACILITY" = "py38" ] || \
[ "$FACILITY" = "py37" ] || [ "$FACILITY" = "py35" ] || \ [ "$FACILITY" = "py37" ] || [ "$FACILITY" = "py35" ] || \
[ "$FACILITY" = "julia" ] || [ "$FACILITY" = "cpp" ] || \ [ "$FACILITY" = "julia" ] || [ "$FACILITY" = "cpp" ] || \
[ "$FACILITY" = "cc" ] [ "$FACILITY" = "cc" ] || [ "$FACILITY" = "py34" ]
then then
CACLIENT_TEMP=$FACILITY CACLIENT_TEMP=$FACILITY
FACILITY_TEMP=$2 FACILITY_TEMP=$2
@@ -128,7 +129,7 @@ then
[ "$CACLIENT" = "py310" ] || [ "$CACLIENT" = "py38" ] || \ [ "$CACLIENT" = "py310" ] || [ "$CACLIENT" = "py38" ] || \
[ "$CACLIENT" = "py37" ] || [ "$CACLIENT" = "py35" ] || \ [ "$CACLIENT" = "py37" ] || [ "$CACLIENT" = "py35" ] || \
[ "$CACLIENT" = "julia" ] || [ "$CACLIENT" = "cpp" ] || \ [ "$CACLIENT" = "julia" ] || [ "$CACLIENT" = "cpp" ] || \
[ "$CACLIENT" = "cc" ] [ "$CACLIENT" = "cc" ] || [ "$CACLIENT" = "py34" ]
then then
echo "CA TARGET = " $CACLIENT echo "CA TARGET = " $CACLIENT
else else
@@ -138,7 +139,7 @@ then
[ "$CACLIENT_TEMP" = "py310" ] || [ "$CACLIENT_TEMP" = "py38" ] || \ [ "$CACLIENT_TEMP" = "py310" ] || [ "$CACLIENT_TEMP" = "py38" ] || \
[ "$CACLIENT_TEMP" = "py37" ] || [ "$CACLIENT_TEMP" = "py35" ] || \ [ "$CACLIENT_TEMP" = "py37" ] || [ "$CACLIENT_TEMP" = "py35" ] || \
[ "$CACLIENT_TEMP" = "julia" ] || [ "$CACLIENT_TEMP" = "cpp" ] || \ [ "$CACLIENT_TEMP" = "julia" ] || [ "$CACLIENT_TEMP" = "cpp" ] || \
[ "$CACLIENT_TEMP" = "cc" ] [ "$CACLIENT_TEMP" = "cc" ] || [ "$CACLIENT_TEMP" = "py34" ]
then then
CACLIENT=$CACLIENT_TEMP CACLIENT=$CACLIENT_TEMP
else else
@@ -188,16 +189,26 @@ fi
if [ "$FACILITY" = "sls2" ] if [ "$FACILITY" = "sls2" ]
then then
ENABLE_OPTIONS+=" --enable-epics7" ENABLE_OPTIONS+=" --enable-epics7"
CAFE_V+="-sls2" #CAFE_V+="-sls2"
else else
ENABLE_OPTIONS+=" --enable-epics3" ENABLE_OPTIONS+=" --enable-epics3"
if [ "$FACILITY" = "sf" ] && [ "$CACLIENT" != "matlab" ] if [ "$FACILITY" = "sf" ] && [ "$CACLIENT" != "matlab" ]
then then
CAFE_V+="-sf" CAFE_V+="-sf"
elif [ "$FACILITY" = "sls" ] && [ "$CACLIENT" != "matlab" ]
then
CAFE_V+="-epics3"
fi fi
fi fi
if [ "$CACLIENT" = "py35" ]
if [ "$CACLIENT" = "py34" ]
then
ENABLE_OPTIONS+=" --enable-python34"
ENABLE_OPTIONS+=" --enable-qt4py34"
CAFE_V+="-py34"
elif [ "$CACLIENT" = "py35" ]
then then
ENABLE_OPTIONS+=" --enable-python35" ENABLE_OPTIONS+=" --enable-python35"
ENABLE_OPTIONS+=" --enable-qt4" ENABLE_OPTIONS+=" --enable-qt4"
@@ -276,14 +287,16 @@ echo 'ENABLE_OPTIONS='$ENABLE_OPTIONS
--with-python38=/opt/gfa/python-3.8/latest \ --with-python38=/opt/gfa/python-3.8/latest \
--with-python37=/opt/gfa/python-3.7/latest \ --with-python37=/opt/gfa/python-3.7/latest \
--with-python35=/opt/gfa/python-3.5/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-qt5py310=/ioc/python/latest \
--with-qt5py38=/opt/gfa/python-3.8/latest \ --with-qt5py38=/opt/gfa/python-3.8/latest \
--with-qt5=/opt/gfa/python-3.7/latest \ --with-qt5=/opt/gfa/python-3.7/latest \
--with-qt4=/opt/gfa/python-3.5/latest \ --with-qt4=/opt/gfa/python-3.5/latest \
--with-json=/opt/gfa/zmq/json/jsoncpp-src-0.6.0-rc2 \ --with-qt4py34=/opt/psi/Programming/psi-python34/2.1.0 \
--with-zeromq=/opt/gfa/zmq/zeromq-4.2.3-gcc-6.3.0 \ --with-json=/sf/bd/deps/zmq/json/jsoncpp-src-0.6.0-rc2 \
--with-curl=/opt/gfa/zmq/curl-7.55.1 \ --with-zeromq=/sf/bd/deps/zmq/zeromq-4.2.3-gcc-6.3.0 \
--with-lz4=/opt/gfa/zmq/lz4/lib \ --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 --with-epics7=${EPICS}/base-7.0.6
unset CAFE_EPICS_V_PATCH unset CAFE_EPICS_V_PATCH
unset CAFE_EPICS_V_MINOR unset CAFE_EPICS_V_MINOR

View File

@@ -3,7 +3,8 @@
#<facility = sls sls2 sf> default is sf #<facility = sls sls2 sf> default is sf
#<target_language = cpp matlab python> #<target_language = cpp matlab python>
module unload gcc module unload gcc
module load gcc/7.3.0 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 ### psi specific - end
rm -f configure.ac rm -f configure.ac
@@ -13,6 +14,7 @@ rm -f ./aclocal.m4
rm -rf ./autom4te.cache rm -rf ./autom4te.cache
aclocal --force -I m4 aclocal --force -I m4
/opt/gfa/python-3.7/latest/bin/libtoolize --force --copy #select libtools 2.4.6 /opt/gfa/python-3.7/latest/bin/libtoolize --force --copy #select libtools 2.4.6
#libtoolize --force --copy
autoconf --force #interprets configure.ac autoconf --force #interprets configure.ac
autoheader --force autoheader --force
automake --force --add-missing --copy automake --force --add-missing --copy
@@ -22,7 +24,8 @@ automake --force --add-missing --copy
#Used by ./configure #Used by ./configure
#Assumes format ${EPICS}/base-3.14.12 #Assumes format ${EPICS}/base-3.14.12
#source cafeVersion-gcc-7.3.0 #source cafeVersion-gcc-7.3.0
CAFE_V="cafe-1.14.1" 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 #For later check of existence of HOST_ARCH for $EPICS/include/os/$HOST_ARCH
#Assume Linux but check if Darwin #Assume Linux but check if Darwin
CAFE_HOST_FLAG_DARWIN=$(echo ${EPICS_HOST_ARCH} | grep -c "Darwin") CAFE_HOST_FLAG_DARWIN=$(echo ${EPICS_HOST_ARCH} | grep -c "Darwin")
@@ -31,13 +34,16 @@ export CAFE_HOST_FLAG_DARWIN=$CAFE_HOST_FLAG_DARWIN
RETURN_ON_WRONG_INPUT=true RETURN_ON_WRONG_INPUT=true
RETURN_FLAG=false RETURN_FLAG=false
EPICS_BASE=$(readlink ${EPICS}/base) ###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) #EB=$(readlink /afs/psi.ch/project/cafe/gitworkspace/CAFE/cpp/base)
echo $EPICS_BASE echo $EPICS_BASE
if [ -z "$EPICS_BASE" ] #if [ -z "$EPICS_BASE_VERSION" ]
then #then
EPICS_BASE='base-7.4.1' #7.0 = 7+0 = 7 for major release # EPICS_BASE='base-7.0.7' #7.0 = 7+0 = 7 for major release
fi #fi
echo 'input' "$0" "$1" "$2" echo 'input' "$0" "$1" "$2"
echo $EPICS_BASE echo $EPICS_BASE
@@ -45,8 +51,8 @@ echo $EPICS_BASE
FACILITY=$(echo "$1" | tr '[:upper:]' '[:lower:]') FACILITY=$(echo "$1" | tr '[:upper:]' '[:lower:]')
CACLIENT=$(echo "$2" | tr '[:upper:]' '[:lower:]') CACLIENT=$(echo "$2" | tr '[:upper:]' '[:lower:]')
FACILITY_DEFAULT="sf" FACILITY_DEFAULT="sls2"
CACLIENT_DEFAULT="python" CACLIENT_DEFAULT="py37"
FACILITY_TEMP="" FACILITY_TEMP=""
CACLIENT_TEMP="" CACLIENT_TEMP=""
@@ -56,9 +62,11 @@ echo 'input arg. facility/target' $FACILITY $CACLIENT
if [ -n "$FACILITY" ] if [ -n "$FACILITY" ]
then then
if [ "$FACILITY" = "matlab" ] || [ "$FACILITY" = "python" ] || \ if [ "$FACILITY" = "matlab" ] || [ "$FACILITY" = "python" ] || \
[ "$FACILITY" = "py310" ] || [ "$FACILITY" = "py39" ] || \
[ "$FACILITY" = "py38" ] || \
[ "$FACILITY" = "py37" ] || [ "$FACILITY" = "py35" ] || \ [ "$FACILITY" = "py37" ] || [ "$FACILITY" = "py35" ] || \
[ "$FACILITY" = "julia" ] || [ "$FACILITY" = "cpp" ] || \ [ "$FACILITY" = "julia" ] || [ "$FACILITY" = "cpp" ] || \
[ "$FACILITY" = "cc" ] [ "$FACILITY" = "cc" ] || [ "$FACILITY" = "py34" ]
then then
CACLIENT_TEMP=$FACILITY CACLIENT_TEMP=$FACILITY
FACILITY_TEMP=$2 FACILITY_TEMP=$2
@@ -124,18 +132,22 @@ fi
if [ -n "$CACLIENT" ] if [ -n "$CACLIENT" ]
then then
if [ "$CACLIENT" = "matlab" ] || [ "$CACLIENT" = "python" ] || \ if [ "$CACLIENT" = "matlab" ] || [ "$CACLIENT" = "python" ] || \
[ "$CACLIENT" = "py310" ] || [ "$CACLIENT" = "py39" ] || \
[ "$CACLIENT" = "py38" ] || \
[ "$CACLIENT" = "py37" ] || [ "$CACLIENT" = "py35" ] || \ [ "$CACLIENT" = "py37" ] || [ "$CACLIENT" = "py35" ] || \
[ "$CACLIENT" = "julia" ] || [ "$CACLIENT" = "cpp" ] || \ [ "$CACLIENT" = "julia" ] || [ "$CACLIENT" = "cpp" ] || \
[ "$CACLIENT" = "cc" ] [ "$CACLIENT" = "cc" ] || [ "$CACLIENT" = "py34" ]
then then
echo "CA TARGET = " $CACLIENT echo "CA TARGET = " $CACLIENT
else else
if [ -n "$CACLIENT_TEMP" ] if [ -n "$CACLIENT_TEMP" ]
then then
if [ "$CACLIENT_TEMP" = "matlab" ] || [ "$CACLIENT_TEMP" = "python" ] || \ if [ "$CACLIENT_TEMP" = "matlab" ] || [ "$CACLIENT_TEMP" = "python" ] || \
[ "$CACLIENT_TEMP" = "py310" ] || [ "$CACLIENT_TEMP" = "py39" ] || \
[ "$CACLIENT_TEMP" = "py38" ] || \
[ "$CACLIENT_TEMP" = "py37" ] || [ "$CACLIENT_TEMP" = "py35" ] || \ [ "$CACLIENT_TEMP" = "py37" ] || [ "$CACLIENT_TEMP" = "py35" ] || \
[ "$CACLIENT_TEMP" = "julia" ] || [ "$CACLIENT_TEMP" = "cpp" ] || \ [ "$CACLIENT_TEMP" = "julia" ] || [ "$CACLIENT_TEMP" = "cpp" ] || \
[ "$CACLIENT_TEMP" = "cc" ] [ "$CACLIENT_TEMP" = "cc" ] || [ "$CACLIENT_TEMP" = "py34" ]
then then
CACLIENT=$CACLIENT_TEMP CACLIENT=$CACLIENT_TEMP
else else
@@ -185,16 +197,26 @@ fi
if [ "$FACILITY" = "sls2" ] if [ "$FACILITY" = "sls2" ]
then then
ENABLE_OPTIONS+=" --enable-epics7" ENABLE_OPTIONS+=" --enable-epics7"
CAFE_V+="-sls2" #CAFE_V+="-sls2"
else else
ENABLE_OPTIONS+=" --enable-epics3" ENABLE_OPTIONS+=" --enable-epics7"
if [ "$FACILITY" = "sf" ] && [ "$CACLIENT" != "matlab" ] if [ "$FACILITY" = "sf" ] && [ "$CACLIENT" != "matlab" ]
then then
CAFE_V+="-sf" CAFE_V+="-sf"
elif [ "$FACILITY" = "sls" ] && [ "$CACLIENT" != "matlab" ]
then
CAFE_V+="-epics3"
fi fi
fi fi
if [ "$CACLIENT" = "py35" ]
if [ "$CACLIENT" = "py34" ]
then
ENABLE_OPTIONS+=" --enable-python34"
ENABLE_OPTIONS+=" --enable-qt4py34"
CAFE_V+="-py34"
elif [ "$CACLIENT" = "py35" ]
then then
ENABLE_OPTIONS+=" --enable-python35" ENABLE_OPTIONS+=" --enable-python35"
ENABLE_OPTIONS+=" --enable-qt4" ENABLE_OPTIONS+=" --enable-qt4"
@@ -204,8 +226,24 @@ then
ENABLE_OPTIONS+=" --enable-python37" ENABLE_OPTIONS+=" --enable-python37"
ENABLE_OPTIONS+=" --enable-qt5" ENABLE_OPTIONS+=" --enable-qt5"
CAFE_V+="-py37" CAFE_V+="-py37"
#else elif [ "$CACLIENT" = "py38" ]
#ENABLE_OPTIONS+=" --enable-qt5" 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 fi
if [ "$FACILITY" = "sf" ] && [ "$CACLIENT" != "matlab" ] if [ "$FACILITY" = "sf" ] && [ "$CACLIENT" != "matlab" ]
@@ -223,9 +261,9 @@ fi
CAFE_V+="-gcc-"$GCC_VERSION CAFE_V+="-gcc-"$GCC_VERSION
echo "CAFE VERSION: $CAFE_V" echo "$CAFE_V"
#echo 'EPICS BASE IS='$EPICS_BASE echo 'EPICS BASE IS='$EPICS_BASE
#echo 'EPICS BASE DIR='${EPICS}/base-7.0.4.1 #echo 'EPICS BASE DIR='${EPICS}/base-7.0.4.1
EB1=$(echo $EPICS_BASE | sed -e "s/[a-zA-Z]*-//g") EB1=$(echo $EPICS_BASE | sed -e "s/[a-zA-Z]*-//g")
@@ -251,26 +289,33 @@ export CAFE_EPICS_V_PATCH=$EBPAT
#ENABLE_OPTIONS+=" --enable-curl" #ENABLE_OPTIONS+=" --enable-curl"
#ENABLE_OPTIONS+=" --enable-lz4" #ENABLE_OPTIONS+=" --enable-lz4"
echo 'ENABLE_OPTIONS='$ENABLE_OPTIONS echo 'ENABLE_OPTIONS============> '$ENABLE_OPTIONS
./configure \ ./configure \
--prefix=/opt/gfa/cafe/cpp/${CAFE_V} \ --prefix=/opt/gfa/cafe/cpp/${CAFE_V} \
--libdir=/opt/gfa/cafe/cpp/${CAFE_V}/lib/${EPICS_HOST_ARCH} \ --libdir=/opt/gfa/cafe/cpp/${CAFE_V}/lib/${_EPICS_HOST_ARCH} \
${ENABLE_OPTIONS} \ ${ENABLE_OPTIONS} \
--with-boost-inc=/opt/gfa/cafe/boost/boost_1_61_0/include \ --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-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-python37=/opt/gfa/python-3.7/latest \
--with-python35=/opt/gfa/python-3.5/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-qt5=/opt/gfa/python-3.7/latest \
--with-qt4=/opt/gfa/python-3.5/latest \ --with-qt4=/opt/gfa/python-3.5/latest \
--with-json=/opt/gfa/zmsglog/json/jsoncpp-src-0.6.0-rc2 \ --with-qt4py34=/opt/psi/Programming/psi-python34/2.1.0 \
--with-zeromq=/opt/gfa/zmq/zeromq-4.2.3-gcc-6.3.0 \ --with-json=/sf/bd/deps/zmq/json/jsoncpp-src-0.6.0-rc2 \
--with-curl=/opt/gfa/zmq/curl-7.55.1 \ --with-zeromq=/sf/bd/deps/zmq/zeromq-4.2.3-gcc-6.3.0 \
--with-lz4=/opt/gfa/zmq/lz4/lib --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_PATCH
unset CAFE_EPICS_V_MINOR unset CAFE_EPICS_V_MINOR
unset CAFE_EPICS_V_MAJOR unset CAFE_EPICS_V_MAJOR
unset CAFE_HOST_FLAG_DARWIN unset CAFE_HOST_FLAG_DARWIN

View File

@@ -22,7 +22,7 @@ automake --force --add-missing --copy
#Used by ./configure #Used by ./configure
#Assumes format ${EPICS}/base-3.14.12 #Assumes format ${EPICS}/base-3.14.12
#source cafeVersion-gcc-7.3.0 #source cafeVersion-gcc-7.3.0
CAFE_V="cafe-1.15.0" CAFE_V="cafe-1.15.1"
#For later check of existence of HOST_ARCH for $EPICS/include/os/$HOST_ARCH #For later check of existence of HOST_ARCH for $EPICS/include/os/$HOST_ARCH
#Assume Linux but check if Darwin #Assume Linux but check if Darwin
CAFE_HOST_FLAG_DARWIN=$(echo ${EPICS_HOST_ARCH} | grep -c "Darwin") CAFE_HOST_FLAG_DARWIN=$(echo ${EPICS_HOST_ARCH} | grep -c "Darwin")

24
cafe_version.py Normal file
View File

@@ -0,0 +1,24 @@
# Converts cafe 'major' 'minor' 'revision'
# to syntax for use in libcafe_la_LDFLAGS
# in src/makefile.am
#
import sys
if (len(sys.argv) != 4):
print('Usage: cafe_version_py major minor revision')
print('Usage: e.g. cafe_version.py 1.22.0 returns 23:0:22')
sys.exit()
print(f'input args: {sys.argv}')
print('Change the following in src/makefile.am')
major = int(sys.argv[1])
minor = int(sys.argv[2])
rev = int(sys.argv[3])
current = major+minor
revision = rev
age = minor
print(f'libcafe_la_LDFLAGS = -version-info {current}:{revision}:{age}')

1476
config.guess vendored Executable file

File diff suppressed because it is too large Load Diff

888
config.log Normal file
View File

@@ -0,0 +1,888 @@
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.22.0, which was
generated by GNU Autoconf 2.69. Invocation command line was
$ ./configure --prefix=/opt/gfa/cafe/cpp/cafe-1.22.0-gcc-10.4.0 --libdir=/opt/gfa/cafe/cpp/cafe-1.22.0-gcc-10.4.0/lib/RHEL8-x86_64 --enable-boost-inc --enable-epics7 --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=/opt/gfa/cafe/deps/zmq/json/jsoncpp-src-0.6.0-rc2 --with-zeromq=/opt/gfa/cafe/deps/zmq/zeromq-4.2.3-gcc-6.3.0 --with-curl=/opt/gfa/cafe/deps/zmq/curl-7.55.1 --with-lz4=/opt/gfa/cafe/deps/zmq/lz4/lib --with-epics7=/usr/local/epics/base-7.0.9 CXX=/opt/psi/Programming/gcc/10.4.0/bin/g++ CC=/opt/psi/Programming/gcc/10.4.0/bin/gcc --no-create --no-recursion
## --------- ##
## Platform. ##
## --------- ##
hostname = sls-lc8.psi.ch
uname -m = x86_64
uname -r = 4.18.0-553.22.1.el8_10.x86_64
uname -s = Linux
uname -v = #1 SMP Wed Sep 11 18:02:00 EDT 2024
/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/2024b/bin
PATH: /opt/gfa/python-3.7/2018.12/bin
PATH: /opt/gfa/python-3.7/2018.12/condabin
PATH: /opt/gfa/python-3.5/latest/bin
PATH: /usr/local/epics/seq/bin/RHEL8-x86_64
PATH: /usr/lib/openoffice.org/program
PATH: /opt/psi/Tools/HDFView/3.1.2/bin
PATH: /usr/share/Modules/bin
PATH: /sbin
PATH: /bin
PATH: /sls/bd/bin
PATH: /sls/controls/bin
PATH: /sls/diag/bin
PATH: /sls/mag/bin
PATH: /sls/metro/bin
PATH: /sls/op/bin
PATH: /sls/plc
PATH: /sls/rf/bin
PATH: /sls/vcs/bin
PATH: /usr/local/bin
PATH: /usr/bin
PATH: /usr/local/sbin
PATH: /usr/sbin
PATH: /usr/local/epics/base-7.0.9/bin/RHEL8-x86_64
PATH: /sls/bd/bin
PATH: /sls/controls/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: /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: /bin/mkdir -p
configure:2834: checking for gawk
configure:2850: found /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.ra/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
make[1]: Entering directory '/afs/psi.ch/project/cafe/gitea/CAFE/cpp'
make[1]: Leaving directory '/afs/psi.ch/project/cafe/gitea/CAFE/cpp'
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.ra/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: /bin/sed
configure:4750: checking for grep that handles long lines and -e
configure:4808: result: /bin/grep
configure:4813: checking for egrep
configure:4875: result: /bin/grep -E
configure:4880: checking for fgrep
configure:4942: result: /bin/grep -F
configure:4977: checking for ld used by /opt/psi/Programming/gcc/10.4.0/bin/gcc
configure:5044: result: /bin/ld
configure:5051: checking if the linker (/bin/ld) is GNU ld
configure:5066: result: yes
configure:5078: checking for BSD- or MS-compatible name lister (nm)
configure:5132: result: /bin/nm -B
configure:5262: checking the name lister (/bin/nm -B) interface
configure:5269: /opt/psi/Programming/gcc/10.4.0/bin/g++ -c -g -O2 conftest.cpp >&5
configure:5272: /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 /bin/ld option to reload object files
configure:5557: result: -r
configure:5631: checking for objdump
configure:5647: found /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 /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 /bin/strip
configure:6315: result: strip
configure:6387: checking for ranlib
configure:6403: found /bin/ranlib
configure:6414: result: ranlib
configure:6516: checking command to parse /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: /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: /bin/dd
configure:6912: checking how to truncate binary pipes
configure:6927: result: /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.22.0"
| #define PACKAGE_STRING "CAFE 1.22.0"
| #define PACKAGE_BUGREPORT "Bug reports to: jan.chrin@psi.ch"
| #define PACKAGE_URL ""
| #define PACKAGE "cafe"
| #define VERSION "1.22.0"
| /* 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.22.0"
| #define PACKAGE_STRING "CAFE 1.22.0"
| #define PACKAGE_BUGREPORT "Bug reports to: jan.chrin@psi.ch"
| #define PACKAGE_URL ""
| #define PACKAGE "cafe"
| #define VERSION "1.22.0"
| /* 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 (/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 \| /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:11774: result: GNU/Linux ld.so
configure:11896: checking how to hardcode library paths into programs
configure:11921: result: immediate
configure:12469: checking whether stripping libraries is possible
configure:12474: result: yes
configure:12509: checking if libtool supports shared libraries
configure:12511: result: yes
configure:12514: checking whether to build shared libraries
configure:12539: result: yes
configure:12542: checking whether to build static libraries
configure:12546: result: yes
configure:12569: checking how to run the C++ preprocessor
configure:12596: /opt/psi/Programming/gcc/10.4.0/bin/g++ -E conftest.cpp
configure:12596: $? = 0
configure:12610: /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:12610: $? = 1
configure: failed program was:
| /* confdefs.h */
| #define PACKAGE_NAME "CAFE"
| #define PACKAGE_TARNAME "cafe"
| #define PACKAGE_VERSION "1.22.0"
| #define PACKAGE_STRING "CAFE 1.22.0"
| #define PACKAGE_BUGREPORT "Bug reports to: jan.chrin@psi.ch"
| #define PACKAGE_URL ""
| #define PACKAGE "cafe"
| #define VERSION "1.22.0"
| #define STDC_HEADERS 1
| #define HAVE_SYS_TYPES_H 1
| #define HAVE_SYS_STAT_H 1
| #define HAVE_STDLIB_H 1
| #define HAVE_STRING_H 1
| #define HAVE_MEMORY_H 1
| #define HAVE_STRINGS_H 1
| #define HAVE_INTTYPES_H 1
| #define HAVE_STDINT_H 1
| #define HAVE_UNISTD_H 1
| #define HAVE_DLFCN_H 1
| #define LT_OBJDIR ".libs/"
| /* end confdefs.h. */
| #include <ac_nonexistent.h>
configure:12635: result: /opt/psi/Programming/gcc/10.4.0/bin/g++ -E
configure:12655: /opt/psi/Programming/gcc/10.4.0/bin/g++ -E conftest.cpp
configure:12655: $? = 0
configure:12669: /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:12669: $? = 1
configure: failed program was:
| /* confdefs.h */
| #define PACKAGE_NAME "CAFE"
| #define PACKAGE_TARNAME "cafe"
| #define PACKAGE_VERSION "1.22.0"
| #define PACKAGE_STRING "CAFE 1.22.0"
| #define PACKAGE_BUGREPORT "Bug reports to: jan.chrin@psi.ch"
| #define PACKAGE_URL ""
| #define PACKAGE "cafe"
| #define VERSION "1.22.0"
| #define STDC_HEADERS 1
| #define HAVE_SYS_TYPES_H 1
| #define HAVE_SYS_STAT_H 1
| #define HAVE_STDLIB_H 1
| #define HAVE_STRING_H 1
| #define HAVE_MEMORY_H 1
| #define HAVE_STRINGS_H 1
| #define HAVE_INTTYPES_H 1
| #define HAVE_STDINT_H 1
| #define HAVE_UNISTD_H 1
| #define HAVE_DLFCN_H 1
| #define LT_OBJDIR ".libs/"
| /* end confdefs.h. */
| #include <ac_nonexistent.h>
configure:12831: checking for ld used by /opt/psi/Programming/gcc/10.4.0/bin/g++
configure:12898: result: /bin/ld -m elf_x86_64
configure:12905: checking if the linker (/bin/ld -m elf_x86_64) is GNU ld
configure:12920: result: yes
configure:12975: checking whether the /opt/psi/Programming/gcc/10.4.0/bin/g++ linker (/bin/ld -m elf_x86_64) supports shared libraries
configure:14048: result: yes
configure:14084: /opt/psi/Programming/gcc/10.4.0/bin/g++ -c -g -O2 conftest.cpp >&5
configure:14087: $? = 0
configure:14568: checking for /opt/psi/Programming/gcc/10.4.0/bin/g++ option to produce PIC
configure:14575: result: -fPIC -DPIC
configure:14583: checking if /opt/psi/Programming/gcc/10.4.0/bin/g++ PIC flag -fPIC -DPIC works
configure:14601: /opt/psi/Programming/gcc/10.4.0/bin/g++ -c -g -O2 -fPIC -DPIC -DPIC conftest.cpp >&5
configure:14605: $? = 0
configure:14618: result: yes
configure:14641: checking if /opt/psi/Programming/gcc/10.4.0/bin/g++ static flag -static works
configure:14669: result: no
configure:14681: checking if /opt/psi/Programming/gcc/10.4.0/bin/g++ supports -c -o file.o
configure:14702: /opt/psi/Programming/gcc/10.4.0/bin/g++ -c -g -O2 -o out/conftest2.o conftest.cpp >&5
configure:14706: $? = 0
configure:14728: result: yes
configure:14733: checking if /opt/psi/Programming/gcc/10.4.0/bin/g++ supports -c -o file.o
configure:14780: result: yes
configure:14810: checking whether the /opt/psi/Programming/gcc/10.4.0/bin/g++ linker (/bin/ld -m elf_x86_64) supports shared libraries
configure:14850: result: yes
configure:14991: checking dynamic linker characteristics
configure:15736: result: GNU/Linux ld.so
configure:15801: checking how to hardcode library paths into programs
configure:15826: result: immediate
configure:16051: checking cadef.h usability
configure:16051: /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.9/include/ -I/usr/local/epics/base-7.0.9/include/os/Linux -I/usr/local/epics/base-7.0.9/include/compiler/gcc conftest.cpp >&5
configure:16051: $? = 0
configure:16051: result: yes
configure:16051: checking cadef.h presence
configure:16051: /opt/psi/Programming/gcc/10.4.0/bin/g++ -E -fexceptions -fPIC -std=c++1z -z nodefs -I/usr/local/epics/base-7.0.9/include/ -I/usr/local/epics/base-7.0.9/include/os/Linux -I/usr/local/epics/base-7.0.9/include/compiler/gcc conftest.cpp
configure:16051: $? = 0
configure:16051: result: yes
configure:16051: checking for cadef.h
configure:16051: result: yes
configure:16070: checking epicsTypes.h usability
configure:16070: /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.9/include/ -I/usr/local/epics/base-7.0.9/include/os/Linux -I/usr/local/epics/base-7.0.9/include/compiler/gcc conftest.cpp >&5
configure:16070: $? = 0
configure:16070: result: yes
configure:16070: checking epicsTypes.h presence
configure:16070: /opt/psi/Programming/gcc/10.4.0/bin/g++ -E -fexceptions -fPIC -std=c++1z -z nodefs -I/usr/local/epics/base-7.0.9/include/ -I/usr/local/epics/base-7.0.9/include/os/Linux -I/usr/local/epics/base-7.0.9/include/compiler/gcc conftest.cpp
configure:16070: $? = 0
configure:16070: result: yes
configure:16070: checking for epicsTypes.h
configure:16070: result: yes
configure:16087: checking for main in -lca
configure:16106: /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.9/include/ -I/usr/local/epics/base-7.0.9/include/os/Linux -I/usr/local/epics/base-7.0.9/include/compiler/gcc -L/usr/local/epics/base-7.0.9/lib/RHEL8-x86_64 -Wl,-rpath,/usr/local/epics/base-7.0.9/lib/RHEL8-x86_64 conftest.cpp -lca >&5
/bin/ld: warning: -z nodefs ignored.
configure:16106: $? = 0
configure:16115: result: yes
configure:16128: checking for main in -lCom
configure:16147: /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.9/include/ -I/usr/local/epics/base-7.0.9/include/os/Linux -I/usr/local/epics/base-7.0.9/include/compiler/gcc -L/usr/local/epics/base-7.0.9/lib/RHEL8-x86_64 -Wl,-rpath,/usr/local/epics/base-7.0.9/lib/RHEL8-x86_64 conftest.cpp -lCom >&5
/bin/ld: warning: -z nodefs ignored.
configure:16147: $? = 0
configure:16156: result: yes
configure:16169: checking for main in -ldl
configure:16188: /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.9/include/ -I/usr/local/epics/base-7.0.9/include/os/Linux -I/usr/local/epics/base-7.0.9/include/compiler/gcc -L/usr/local/epics/base-7.0.9/lib/RHEL8-x86_64 -Wl,-rpath,/usr/local/epics/base-7.0.9/lib/RHEL8-x86_64 conftest.cpp -ldl >&5
/bin/ld: warning: -z nodefs ignored.
configure:16188: $? = 0
configure:16197: result: yes
configure:16402: checking multi_index_container.hpp usability
configure:16402: /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.9/include/ -I/usr/local/epics/base-7.0.9/include/os/Linux -I/usr/local/epics/base-7.0.9/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:16402: $? = 0
configure:16402: result: yes
configure:16402: checking multi_index_container.hpp presence
configure:16402: /opt/psi/Programming/gcc/10.4.0/bin/g++ -E -fexceptions -fPIC -std=c++1z -z nodefs -I/usr/local/epics/base-7.0.9/include/ -I/usr/local/epics/base-7.0.9/include/os/Linux -I/usr/local/epics/base-7.0.9/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:16402: $? = 0
configure:16402: result: yes
configure:16402: checking for multi_index_container.hpp
configure:16402: result: yes
configure:18163: checking that generated files are newer than configure
configure:18169: result: done
configure:18208: creating ./config.status
## ---------------- ##
## 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_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_ca_main=yes
ac_cv_lib_dl_main=yes
ac_cv_objext=o
ac_cv_path_EGREP='/bin/grep -E'
ac_cv_path_FGREP='/bin/grep -F'
ac_cv_path_GREP=/bin/grep
ac_cv_path_SED=/bin/sed
ac_cv_path_install='/bin/install -c'
ac_cv_path_lt_DD=/bin/dd
ac_cv_path_mkdir=/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=/bin/ld
lt_cv_path_LDCXX='/bin/ld -m elf_x86_64'
lt_cv_path_NM='/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='/bin/dd bs=4096 count=1'
## ----------------- ##
## Output variables. ##
## ----------------- ##
ACLOCAL='${SHELL} /afs/psi.ch/project/cafe/gitea/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.9/include/ -I/usr/local/epics/base-7.0.9/include/os/Linux -I/usr/local/epics/base-7.0.9/include/compiler/gcc -I/opt/gfa/cafe/boost/boost_1_61_0/include/boost -I/opt/gfa/cafe/boost/boost_1_61_0/include'
AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)'
AM_DEFAULT_VERBOSITY='1'
AM_LDFLAGS=' -L/usr/local/epics/base-7.0.9/lib/RHEL8-x86_64 -Wl,-rpath,/usr/local/epics/base-7.0.9/lib/RHEL8-x86_64'
AM_V='$(V)'
AR='ar'
AUTOCONF='${SHELL} /afs/psi.ch/project/cafe/gitea/CAFE/cpp/missing autoconf'
AUTOHEADER='${SHELL} /afs/psi.ch/project/cafe/gitea/CAFE/cpp/missing autoheader'
AUTOMAKE='${SHELL} /afs/psi.ch/project/cafe/gitea/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.9/include/ -I/usr/local/epics/base-7.0.9/include/os/Linux -I/usr/local/epics/base-7.0.9/include/compiler/gcc -I/opt/gfa/cafe/boost/boost_1_61_0/include/boost -I/opt/gfa/cafe/boost/boost_1_61_0/include'
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='/bin/grep -E'
EXEEXT=''
FGREP='/bin/grep -F'
GREP='/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='/bin/ld -m elf_x86_64'
LDFLAGS=' -L/usr/local/epics/base-7.0.9/lib/RHEL8-x86_64 -Wl,-rpath,/usr/local/epics/base-7.0.9/lib/RHEL8-x86_64'
LIBOBJS=''
LIBS=''
LIBTOOL='$(SHELL) $(top_builddir)/libtool'
LIPO=''
LN_S='ln -s'
LTLIBOBJS=''
LT_SYS_LIBRARY_PATH=''
MAKEINFO='${SHELL} /afs/psi.ch/project/cafe/gitea/CAFE/cpp/missing makeinfo'
MANIFEST_TOOL=':'
MKDIR_P='/bin/mkdir -p'
NM='/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.22.0'
PACKAGE_TARNAME='cafe'
PACKAGE_URL=''
PACKAGE_VERSION='1.22.0'
PATH_SEPARATOR=':'
RANLIB='ranlib'
SED='/bin/sed'
SET_MAKE=''
SHELL='/bin/sh'
STRIP='strip'
VERSION='1.22.0'
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/gitea/CAFE/cpp/install-sh'
libdir='/opt/gfa/cafe/cpp/cafe-1.22.0-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.22.0-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.22.0"
#define PACKAGE_STRING "CAFE 1.22.0"
#define PACKAGE_BUGREPORT "Bug reports to: jan.chrin@psi.ch"
#define PACKAGE_URL ""
#define PACKAGE "cafe"
#define VERSION "1.22.0"
#define STDC_HEADERS 1
#define HAVE_SYS_TYPES_H 1
#define HAVE_SYS_STAT_H 1
#define HAVE_STDLIB_H 1
#define HAVE_STRING_H 1
#define HAVE_MEMORY_H 1
#define HAVE_STRINGS_H 1
#define HAVE_INTTYPES_H 1
#define HAVE_STDINT_H 1
#define HAVE_UNISTD_H 1
#define HAVE_DLFCN_H 1
#define LT_OBJDIR ".libs/"
#define HAVE_LINUX 1
#define HAVE_CADEF_H 1
#define HAVE_EPICSTYPES_H 1
#define HAVE_EPICS 7.0.9
#define EPICS_MAJOR 7
#define EPICS_MINOR 0
#define EPICS_PATCH 9
#define HAVE_MULTI_INDEX_CONTAINER_HPP 1
#define HAVE_BOOST 1
configure: exit 0
## ---------------------- ##
## Running config.status. ##
## ---------------------- ##
This file was extended by CAFE config.status 1.22.0, which was
generated by GNU Autoconf 2.69. Invocation command line was
CONFIG_FILES =
CONFIG_HEADERS =
CONFIG_LINKS =
CONFIG_COMMANDS =
$ ./config.status
on sls-lc8.psi.ch
config.status:1168: creating makefile
config.status:1168: creating src/makefile
config.status:1168: creating include/makefile
config.status:1168: creating ./include/config.h
config.status:1349: ./include/config.h is unchanged
config.status:1397: executing depfiles commands
config.status:1474: cd src && sed -e '/# am--include-marker/d' makefile | make -f - am--depfiles
make[1]: Entering directory '/afs/psi.ch/project/cafe/gitea/CAFE/cpp/src'
make[1]: Nothing to be done for 'am--depfiles'.
make[1]: Leaving directory '/afs/psi.ch/project/cafe/gitea/CAFE/cpp/src'
config.status:1479: $? = 0
config.status:1397: executing libtool commands
## ---------------------- ##
## Running config.status. ##
## ---------------------- ##
This file was extended by CAFE config.status 1.22.0, which was
generated by GNU Autoconf 2.69. Invocation command line was
CONFIG_FILES =
CONFIG_HEADERS =
CONFIG_LINKS =
CONFIG_COMMANDS =
$ ./config.status ./include/config.h
on sls-lc8.psi.ch
config.status:1168: creating ./include/config.h
config.status:1349: ./include/config.h is unchanged

2213
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

View File

@@ -8,8 +8,8 @@
# Standard macros # Standard macros
AC_PREREQ(2.63) AC_PREREQ(2.63)
AC_COPYRIGHT([CAFE,Jan Chrin, 2010-2021]) AC_COPYRIGHT([CAFE, Jan Chrin, PSI, 2010-2023])
AC_INIT([CAFE], [1.15.0], [Bug reports to: jan.chrin@psi.ch]) AC_INIT([CAFE], [1.22.0], [Bug reports to: jan.chrin@psi.ch])
AC_CONFIG_AUX_DIR(./) AC_CONFIG_AUX_DIR(./)
@@ -38,7 +38,8 @@ AC_LANG([C++])
AC_DEFINE_UNQUOTED(HAVE_LINUX, 1, [linux dependency (sleep)]) 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 # provide include directories
AC_SUBST([CAFE_CPPFLAGS], '-I$(top_srcdir)/include ') AC_SUBST([CAFE_CPPFLAGS], '-I$(top_srcdir)/include ')
@@ -93,7 +94,7 @@ if test x$HAVE_EPICS_3 == xtrue ; then
EPICS_PREFIX=$withval EPICS_PREFIX=$withval
EPICS_INCL_PATH="-I"${EPICS_PREFIX}"/include/ \ EPICS_INCL_PATH="-I"${EPICS_PREFIX}"/include/ \
-I"${EPICS_PREFIX}"/include/os/"${HOST_ARCH} -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 ## Add epics release
EPICS_MAJOR_DEFAULT="3" EPICS_MAJOR_DEFAULT="3"
EPICS_MINOR_DEFAULT="14" EPICS_MINOR_DEFAULT="14"
@@ -114,11 +115,11 @@ if test x$HAVE_EPICS_7 == xtrue ; then
-I"${EPICS_PREFIX}"/include/os/"${HOST_ARCH} -I"${EPICS_PREFIX}"/include/os/"${HOST_ARCH}
EPICS_INCL_PATH=${EPICS_INCL_PATH}" \ EPICS_INCL_PATH=${EPICS_INCL_PATH}" \
-I"${EPICS_PREFIX}"/include/compiler/gcc" -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 ## Add epics release
EPICS_MAJOR_DEFAULT="7" EPICS_MAJOR_DEFAULT="7"
EPICS_MINOR_DEFAULT="4" EPICS_MINOR_DEFAULT="0"
EPICS_PATCH_DEFAULT="1" EPICS_PATCH_DEFAULT="9"
] ]
) )
fi fi

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.

BIN
examples/cafeTest/cafeTest Executable file

Binary file not shown.

BIN
examples/cafeTest/cafeTest-- Executable file

Binary file not shown.

View File

@@ -13,7 +13,7 @@
#define PV_X1 "ARIDI-BPM-01LE:X-AVG" #define PV_X1 "ARIDI-BPM-01LE:X-AVG"
#define PV_Y1 "ARIDI-BPM-01LE:Y-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_MBBI "ARIDI-BPM-01LE:GET-ENABLE" //mmbi
#define PV_X1_DESC "ARIDI-BPM-01LE:X-AVG.DESC" //dbr_string_t #define PV_X1_DESC "ARIDI-BPM-01LE:X-AVG.DESC" //dbr_string_t
#define PV_JOKE "PV:JOKE" #define PV_JOKE "PV:JOKE"
@@ -197,6 +197,35 @@ int main( int argc, char *argv[] )
cout << "---------------------------------------------------------------------" << endl; 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 //(2) Basic Single Channel Operations
//------------------------------------------------------------ //------------------------------------------------------------
@@ -474,8 +503,10 @@ int main( int argc, char *argv[] )
//------------------------------------------------------------ //------------------------------------------------------------
//Data retrieval methods returning a waveform array //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 //inwf array of 20 doubles previous defined
//copy to vector to illustrate other possibilities //copy to vector to illustrate other possibilities
@@ -546,6 +577,7 @@ int main( int argc, char *argv[] )
cout << endl; cout << endl;
} }
//reset offset for read and the nelemtonative //reset offset for read and the nelemtonative
cout << "Resetting nelem for wf to native value: " << cafe->getHandleHelper().setNelemToNative(hArray[2]) cout << "Resetting nelem for wf to native value: " << cafe->getHandleHelper().setNelemToNative(hArray[2])
<< " and resetting offset to: " << cafe->getHandleHelper().setOffset(hArray[2], 0) << endl; << " and resetting offset to: " << cafe->getHandleHelper().setOffset(hArray[2], 0) << endl;

View File

@@ -8,13 +8,13 @@
#-py37- libcafe.so: undefined reference to `cy_event_handler_wrapper #-py37- libcafe.so: undefined reference to `cy_event_handler_wrapper
#CAFE version to link to #CAFE version to link to
#CAFE_VERSION=cafe-1.14.4-sls2-gcc-7.3.0 #CAFE_VERSION=cafe-1.14.4-sls2-gcc-7.3.0
#CAFE_VERSION=cafe-1.15.0-py37-gcc-10.3.0 CAFE_VERSION=cafe-1.20.1-py37-gcc-8.5.0
CAFE_VERSION=cafe-1.15.0-gcc-10.3.0 #CAFE_VERSION=cafe-1.15.0-gcc-10.3.0
PYTHON_INCLUDE=/opt/gfa/python-3.7/latest/include/python3.7m PYTHON_INCLUDE=/opt/gfa/python-3.7/latest/include/python3.7m
PYTHON_LIB=/opt/gfa/python-3.7/latest/lib PYTHON_LIB=/opt/gfa/python-3.7/latest/lib
EPICS_BASE=${EPICS}/base-7.0.6 EPICS_BASE=${EPICS}/base-7.0.7
#CAFE project base #CAFE project base
CAFE_BASE=/opt/gfa/cafe CAFE_BASE=/opt/gfa/cafe
@@ -39,10 +39,14 @@ LIB_DIR += -L$(EPICS_BASE)/lib/${EPICS_HOST_ARCH} \
LIBS += -lcafe -lca -lCom -lQt5Core -lpython3.7m LIBS += -lcafe -lca -lCom -lQt5Core -lpython3.7m
cafeTest: cafeTest.cc callbacks.h ${EPICS_HOST_ARCH}/monitorTest: monitorTest.cc
g++ cafeTest.cc -o cafeTest \ 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) $(INCLUDE_PATH) $(LIB_DIR) $(LIBS)
clean: clean:
rm -f cafeTest.o cafeTest 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 \ INCLUDES = -Ic:\EPICS\CAFE\cpp\include -Ic:\EPICS\CAFE\cpp -Ic:\EPICS\boost_1_81_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:\EPICS\boost_1_81_0\boost -IC:\epics\epics-base\include -IC:\epics\epics-base\include\os\WIN32 \
-Ic:\Qt\4.8.4\include -Ic:\EPICS\epics-base\include\compiler\msvc \
#-Ic:\Qt\4.8.4\include
CXX=cl CXX=cl
CXXFLAGS = /W4 /EHsc 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\base-3.14.12.5\lib\windows-x64\Com.lib C:\epics\base-3.14.12.5\lib\windows-x64\ca.lib \ LIB_LOCAL = C:\epics\epics-base\lib\win32-x86\Com.lib C:\epics\epics-base\lib\win32-x86\ca.lib \
C:\CAFE\CAFE\cpp\cafe.lib \ C:\EPICS\CAFE\cpp\cafe.lib \
C:\local\boost_1_62_0\lib64-msvc-10.0\libboost_thread-vc100-mt-s-1_62.lib \ C:\EPICS\boost_1_81_0\stage\lib\\libboost_thread-vc142-mt-x32-1_81.lib \
C:\local\boost_1_62_0\lib64-msvc-10.0\libboost_system-vc100-mt-s-1_62.lib \ C:\EPICS\boost_1_81_0\stage\lib\\libboost_system-vc142-mt-x32-1_81.lib \
C:\local\boost_1_62_0\lib64-msvc-10.0\libboost_date_time-vc100-mt-s-1_62.lib \ C:\EPICS\boost_1_81_0\stage\lib\\libboost_date_time-vc142-mt-x32-1_81.lib \
C:\local\boost_1_62_0\lib64-msvc-10.0\libboost_chrono-vc100-mt-s-1_62.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 # C:\Qt\4.8.4\lib\QtCore4.lib C:\Qt\4.8.4\lib\QtXml4.lib
cafeTest: cafeTest.obj cafeTest: cafeTest.obj
$(CXX) cafeTest.obj $(LIB_LOCAL) link -nologo -LTCG -incremental:no -opt:ref -release cafeTest.obj $(LIB_LOCAL)
cafeTest.obj: cafeTest.cpp cafeTest.obj: cafeTest.cc
$(CXX) $(CXXFLAGS) $(INCLUDES) /c cafeTest.cpp $(CXX) $(CXXFLAGS) $(INCLUDES) cafeTest.cc
clean:
del *.obj
#"C:\Program Files (x86)\GnuWin32\bin\make" #"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"

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 #ifndef CAFE_H
#define CAFE_H #define CAFE_H
#include <hashConduit.h> #include <hashConduit.h>
#include <connect.h> #include <connect.h>
#include <conduitEventHandlerArgs.h> #include <conduitEventHandlerArgs.h>
#include <instant.h> #include <instant.h>
#include <cafeDataType.h> #include <cafeDataType.h>
#include <global.h>
#if HAVE_PYTHON_H #if HAVE_PYTHON_H
#include <unicodeobject.h> #include <unicodeobject.h>
#endif #endif
@@ -112,6 +113,9 @@ public:
// if HAVE_LIBQTXML moved to within header file // if HAVE_LIBQTXML moved to within header file
//#endif //#endif
int wfExpress(const unsigned int handle, const unsigned int nelem, dbr_char_t * chval);
//int wfExpress(const unsigned int handle);
//get NON_BLOCKING //get NON_BLOCKING
int getNonBlocking(const unsigned int handle) 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); return cafeLatte.getCache(handle, DBR_TIME_LONG, _val, alarmStatus, alarmSeverity, ts);
}; };
//4 //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) int getCache(const unsigned int handle, dbr_char_t * _val)
{ {
return cafeCappuccino.getCache(handle, DBR_CHAR, _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, 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) dbr_double_t tolerance, double timeout, bool printFlag)
{ {

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; //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.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.eventHandlerArgs = new_eventHandlerArgs;
c.status= new_eventHandlerArgs.status; 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) { if(c.status!=ECA_NORMAL) {
std::cout << __METHOD__ << " STATUS IS " << c.status << std::endl; std::cout << "conduitEventHandlerArgs.h/" << __LINE__ << " " << __METHOD__ << " STATUS IS " << c.status << std::endl;
std::cout << __METHOD__ << " return from method ***IS*** enforced " << std::endl; std::cout << "conduitEventHandlerArgs.h/" << __LINE__ << " " << __METHOD__ << " return from method ***IS *** enforced " << std::endl;
return; return;
} }
//std::cout << __METHOD__ << " STATUS IS " << c.status << std::endl; //std::cout << __METHOD__ << " STATUS IS " << c.status << std::endl;
@@ -260,6 +263,7 @@ struct change_eventHandlerArgs
switch(dbrTypeClass) switch(dbrTypeClass)
{ {
case CAFENUM::DBR_PRIMITIVE: case CAFENUM::DBR_PRIMITIVE:
@@ -337,6 +341,7 @@ struct change_eventHandlerArgs
for (long i=0; i<new_eventHandlerArgs.count; ++i) for (long i=0; i<new_eventHandlerArgs.count; ++i)
{ {
(*(&((c.dataBuffer)->fltval)+i)) (*(&((c.dataBuffer)->fltval)+i))
= (dbr_float_t) (*(&( ( (union db_access_val *) new_eventHandlerArgs.dbr)->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) for (long i=0; i<new_eventHandlerArgs.count; ++i)
{ {
(*(&((c.dataBuffer)->tdblval.value)+i)) (*(&((c.dataBuffer)->tdblval.value)+i))
= (*(&( ((union db_access_val *) new_eventHandlerArgs.dbr)->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 case DBR_TIME_FLOAT: //16
for (long i=0; i<new_eventHandlerArgs.count; ++i) for (long i=0; i<new_eventHandlerArgs.count; ++i)
{ {
(*(&((c.dataBuffer)->tfltval.value)+i)) (*(&((c.dataBuffer)->tfltval.value)+i))
= (dbr_float_t) (*(&( ( (union db_access_val *) new_eventHandlerArgs.dbr)->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; (*(&((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 9
/* 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.9
/* 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). */
/* #undef HAVE_LIBQT5CORE */
/* Define to 1 if you have the `Qt5Xml' library (-lQt5Xml). */
/* #undef HAVE_LIBQT5XML */
/* Define to 1 if you have the `QtCore' library (-lQtCore). */
/* #undef HAVE_LIBQTCORE */
/* Availability of Qt version 5 confirmed */
/* #undef HAVE_LIBQTXML */
/* 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 */
/* #undef HAVE_QT */
/* 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
/* 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.22.0"
/* Define to the one symbol short name of this package. */
#define PACKAGE_TARNAME "cafe"
/* Define to the home page for this package. */
#define PACKAGE_URL ""
/* Define to the version of this package. */
#define PACKAGE_VERSION "1.22.0"
/* Availability of Qt version 5 confirmed */
/* #undef QT_NO_VERSION_TAGGING */
/* Define to 1 if you have the ANSI C header files. */
#define STDC_HEADERS 1
/* Version number of package */
#define VERSION "1.22.0"

View File

@@ -33,6 +33,8 @@
#endif #endif
#include <epicsVersion.h> #include <epicsVersion.h>
//include <epicsMutex.h>
class Connect class Connect
{ {
@@ -44,16 +46,12 @@ protected:
CAFEGlobalAlarmSeverity epicsAlarmSeverity; CAFEGlobalAlarmSeverity epicsAlarmSeverity;
CAFEGlobalAlarmCondition epicsAlarmStatus; CAFEGlobalAlarmCondition epicsAlarmStatus;
cafeConduit_set::iterator itcs; cafeConduit_set::iterator itcs;
cafeGroup_set::iterator itgs; cafeGroup_set::iterator itgs;
CAFEDataTypeCode cafeDataTypeCode; CAFEDataTypeCode cafeDataTypeCode;
ExceptionsHelper exceptionsHelper; ExceptionsHelper exceptionsHelper;
PolicyHelper policyHelper; PolicyHelper policyHelper;
HandleHelper handleHelper; HandleHelper handleHelper;
Helper helper; Helper helper;
@@ -65,7 +63,7 @@ protected:
//connectCallbacks.cc //connectCallbacks.cc
static void callbackHandlerAccessRights(struct access_rights_handler_args args); 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 //connect.cpp
//int createHandle(const char * pv, ca_client_context * ccc, ChannelRequestPolicy channelRequestPolicyPut, unsigned int &handle) //int createHandle(const char * pv, ca_client_context * ccc, ChannelRequestPolicy channelRequestPolicyPut, unsigned int &handle)
@@ -696,10 +694,15 @@ public:
{ {
cafeConduit_set_by_handle & handle_index=cs.get<by_handle>(); cafeConduit_set_by_handle & handle_index=cs.get<by_handle>();
cafeConduit_set_by_handle::iterator it_handle; cafeConduit_set_by_handle::iterator it_handle;
it_handle = handle_index.find(handle); it_handle = handle_index.find(handle);
if (it_handle != handle_index.end()) if (it_handle != handle_index.end())
{ {
return (*it_handle).isConnected(); //cafeMutex.lock();
bool isConnected = (*it_handle).isConnected();
//cafeMutex.unlock();
return isConnected;
} }
else else
{ {

View File

@@ -9,13 +9,14 @@
#ifndef GLOBAL_H #ifndef GLOBAL_H
#define GLOBAL_H #define GLOBAL_H
//include <epicsTime.h>
#include <cadef.h> //include <epicsMutex.h>
//#include <cadef.h>
#include <hashConduit.h> #include <hashConduit.h>
#include <hashConduitGroup.h> #include <hashConduitGroup.h>
#include <PVGroup.h> #include <PVGroup.h>
#include <deviceCollection.h> #include <deviceCollection.h>
#include <enumStrings.h> //#include <enumStrings.h>
extern bool CHECK_CONSISTENCY_CA_STATE; extern bool CHECK_CONSISTENCY_CA_STATE;
extern bool MUTEX; extern bool MUTEX;

View File

@@ -14,6 +14,7 @@
//include <policyHelper.h> //include <policyHelper.h>
//extern cafeConduit_set cs; //extern cafeConduit_set cs;
#include <epicsMutex.h>
template <class CTYPE> class Instant template <class CTYPE> class Instant
{ {
@@ -27,7 +28,7 @@ private:
Transpose<dbr_long_t> renderLong; // 5 Transpose<dbr_long_t> renderLong; // 5
Transpose<dbr_double_t> renderDouble; // 6 Transpose<dbr_double_t> renderDouble; // 6
CAFEStatus cafeStatus; CAFEStatus cafeStatus;
Granules cafeGranules; Granules cafeGranules;
PolicyHelper policyHelper; PolicyHelper policyHelper;
@@ -132,10 +133,17 @@ public:
std::vector<unsigned int> handleAction, std::vector<std::string> valAction, std::vector<unsigned int> handleMatch, std::vector<unsigned int> handleAction, std::vector<std::string> valAction, std::vector<unsigned int> handleMatch,
CTYPE tolerance, double timeout, bool printFlag); 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); 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); CTYPE tolerance, double timeout, bool printFlag);
int setMany(std::vector<unsigned int> handleSet, const chtype dbrType, std::vector<CTYPE> valSet, 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> //include <instant.cpp>
/** /**
* \brief Set values of data type CTYPE * \brief Set values of data type CTYPE
* \param _handle input: handle to CAFEConduit object * \param _handle input: handle to CAFEConduit object
@@ -819,8 +822,6 @@ template <class CTYPE> int Instant<CTYPE>::getCache(const unsigned int _handle
}; //unlock }; //unlock
} }
//ifNeverConnected - return error //ifNeverConnected - return error
if ( (*it_handle).getChannelRegalia().getCafeConnectionState() == ICAFE_CS_NEVER_CONN) 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 #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. # 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 # This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it, # 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 = \ am__make_running_with_option = \
case $${target_option-} in \ case $${target_option-} in \
?) ;; \ ?) ;; \
@@ -76,8 +86,8 @@ POST_INSTALL = :
NORMAL_UNINSTALL = : NORMAL_UNINSTALL = :
PRE_UNINSTALL = : PRE_UNINSTALL = :
POST_UNINSTALL = : POST_UNINSTALL = :
build_triplet = x86_64-unknown-linux-gnu build_triplet = x86_64-pc-linux-gnu
host_triplet = x86_64-unknown-linux-gnu host_triplet = x86_64-pc-linux-gnu
#am__append_1 = zbsread.h zbsHash.h zbsdtHelper.h zbsDataHolders.h \ #am__append_1 = zbsread.h zbsHash.h zbsdtHelper.h zbsDataHolders.h \
# bitshuffle/bitshuffle_core.h bitshuffle/bitshuffle.h bitshuffle/iochain.h \ # bitshuffle/bitshuffle_core.h bitshuffle/bitshuffle.h bitshuffle/iochain.h \
# bitshuffle/bitshuffle_internals.h # bitshuffle/bitshuffle_internals.h
@@ -86,11 +96,9 @@ host_triplet = x86_64-unknown-linux-gnu
#if HAVE_PYTHON_ #if HAVE_PYTHON_
#include_HEADERS += PyCafe_api.h #include_HEADERS += PyCafe_api.h
#endif #endif
am__append_2 = PyCafe.h #am__append_2 = PyCafe.h
#am__append_3 = PyCafe_api.h am__append_3 = PyCafe_api.h
subdir = include subdir = include
DIST_COMMON = $(srcdir)/makefile.in $(srcdir)/makefile.am \
$(am__include_HEADERS_DIST)
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \ am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \
$(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.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 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4) $(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/makefile.am $(am__include_HEADERS_DIST) \
$(am__DIST_COMMON)
mkinstalldirs = $(install_sh) -d mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = $(top_builddir)/./include/config.h CONFIG_HEADER = $(top_builddir)/./include/config.h
CONFIG_CLEAN_FILES = CONFIG_CLEAN_FILES =
@@ -185,25 +195,26 @@ am__define_uniq_tagged_files = \
done | $(am__uniquify_input)` done | $(am__uniquify_input)`
ETAGS = etags ETAGS = etags
CTAGS = ctags CTAGS = ctags
am__DIST_COMMON = $(srcdir)/makefile.in
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) 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/gitea/CAFE/cpp/missing aclocal-1.16
AMTAR = $${TAR-tar} AMTAR = $${TAR-tar}
AM_CPPFLAGS = -fexceptions -fPIC -std=c++1z -I/usr/local/epics/base-7.0.6/include/ -I/usr/local/epics/base-7.0.6/include/os/Linux -I/usr/local/epics/base-7.0.6/include/compiler/gcc -I/opt/gfa/cafe/boost/boost_1_61_0/include/boost -I/opt/gfa/cafe/boost/boost_1_61_0/include -I/opt/gfa/python-3.5/latest/include/python3.5m -I/opt/gfa/python-3.5/latest/lib/python3.5/site-packages/numpy/core/include -I/opt/gfa/python-3.5/latest/include -I/opt/gfa/python-3.5/latest/include/QtCore -I/opt/gfa/python-3.5/latest/include/QtXml AM_CPPFLAGS = -fexceptions -fPIC -std=c++1z -z nodefs -I/usr/local/epics/base-7.0.9/include/ -I/usr/local/epics/base-7.0.9/include/os/Linux -I/usr/local/epics/base-7.0.9/include/compiler/gcc -I/opt/gfa/cafe/boost/boost_1_61_0/include/boost -I/opt/gfa/cafe/boost/boost_1_61_0/include
AM_DEFAULT_VERBOSITY = 1 AM_DEFAULT_VERBOSITY = 1
AM_LDFLAGS = -L/usr/local/epics/base-7.0.6/lib/RHEL7-x86_64 -Wl,-rpath,/usr/local/epics/base-7.0.6/lib/RHEL7-x86_64 -L/opt/gfa/python-3.5/latest/lib -Wl,-rpath,/opt/gfa/python-3.5/latest/lib -L/opt/gfa/python-3.5/latest/lib -Wl,-rpath,/opt/gfa/python-3.5/latest/lib AM_LDFLAGS = -L/usr/local/epics/base-7.0.9/lib/RHEL8-x86_64 -Wl,-rpath,/usr/local/epics/base-7.0.9/lib/RHEL8-x86_64
AR = ar AR = ar
AUTOCONF = ${SHELL} /afs/psi.ch/project/cafe/gitlab/CAFE/cpp/missing autoconf AUTOCONF = ${SHELL} /afs/psi.ch/project/cafe/gitea/CAFE/cpp/missing autoconf
AUTOHEADER = ${SHELL} /afs/psi.ch/project/cafe/gitlab/CAFE/cpp/missing autoheader AUTOHEADER = ${SHELL} /afs/psi.ch/project/cafe/gitea/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/gitea/CAFE/cpp/missing automake-1.16
AWK = gawk AWK = gawk
CAFE_CPPFLAGS = -I$(top_srcdir)/include 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 CCDEPMODE = depmode=gcc3
CFLAGS = -g -O2 CFLAGS = -g -O2
CPP = /opt/psi/Programming/gcc/7.3.0/bin/gcc -E CPP = /opt/psi/Programming/gcc/10.4.0/bin/gcc -E
CPPFLAGS = -fexceptions -fPIC -std=c++1z -I/usr/local/epics/base-7.0.6/include/ -I/usr/local/epics/base-7.0.6/include/os/Linux -I/usr/local/epics/base-7.0.6/include/compiler/gcc -I/opt/gfa/cafe/boost/boost_1_61_0/include/boost -I/opt/gfa/cafe/boost/boost_1_61_0/include -I/opt/gfa/python-3.5/latest/include/python3.5m -I/opt/gfa/python-3.5/latest/lib/python3.5/site-packages/numpy/core/include -I/opt/gfa/python-3.5/latest/include -I/opt/gfa/python-3.5/latest/include/QtCore -I/opt/gfa/python-3.5/latest/include/QtXml CPPFLAGS = -fexceptions -fPIC -std=c++1z -z nodefs -I/usr/local/epics/base-7.0.9/include/ -I/usr/local/epics/base-7.0.9/include/os/Linux -I/usr/local/epics/base-7.0.9/include/compiler/gcc -I/opt/gfa/cafe/boost/boost_1_61_0/include/boost -I/opt/gfa/cafe/boost/boost_1_61_0/include
CXX = /opt/psi/Programming/gcc/7.3.0/bin/g++ CXX = /opt/psi/Programming/gcc/10.4.0/bin/g++
CXXCPP = /opt/psi/Programming/gcc/7.3.0/bin/g++ -E CXXCPP = /opt/psi/Programming/gcc/10.4.0/bin/g++ -E
CXXDEPMODE = depmode=gcc3 CXXDEPMODE = depmode=gcc3
CXXFLAGS = -g -O2 CXXFLAGS = -g -O2
CYGPATH_W = echo CYGPATH_W = echo
@@ -215,28 +226,28 @@ DUMPBIN =
ECHO_C = ECHO_C =
ECHO_N = -n ECHO_N = -n
ECHO_T = ECHO_T =
EGREP = /usr/bin/grep -E EGREP = /bin/grep -E
EXEEXT = EXEEXT =
FGREP = /usr/bin/grep -F FGREP = /bin/grep -F
GREP = /usr/bin/grep GREP = /bin/grep
INSTALL = /usr/bin/install -c INSTALL = /bin/install -c
INSTALL_DATA = ${INSTALL} -m 644 INSTALL_DATA = ${INSTALL} -m 644
INSTALL_PROGRAM = ${INSTALL} INSTALL_PROGRAM = ${INSTALL}
INSTALL_SCRIPT = ${INSTALL} INSTALL_SCRIPT = ${INSTALL}
INSTALL_STRIP_PROGRAM = $(install_sh) -c -s INSTALL_STRIP_PROGRAM = $(install_sh) -c -s
LD = /usr/bin/ld -m elf_x86_64 LD = /bin/ld -m elf_x86_64
LDFLAGS = -L/usr/local/epics/base-7.0.6/lib/RHEL7-x86_64 -Wl,-rpath,/usr/local/epics/base-7.0.6/lib/RHEL7-x86_64 -L/opt/gfa/python-3.5/latest/lib -Wl,-rpath,/opt/gfa/python-3.5/latest/lib -L/opt/gfa/python-3.5/latest/lib -Wl,-rpath,/opt/gfa/python-3.5/latest/lib LDFLAGS = -L/usr/local/epics/base-7.0.9/lib/RHEL8-x86_64 -Wl,-rpath,/usr/local/epics/base-7.0.9/lib/RHEL8-x86_64
LIBOBJS = LIBOBJS =
LIBS = -lQtXml -lQtCore -lpython3.5m LIBS =
LIBTOOL = $(SHELL) $(top_builddir)/libtool LIBTOOL = $(SHELL) $(top_builddir)/libtool
LIPO = LIPO =
LN_S = ln -s LN_S = ln -s
LTLIBOBJS = LTLIBOBJS =
LT_SYS_LIBRARY_PATH = LT_SYS_LIBRARY_PATH =
MAKEINFO = ${SHELL} /afs/psi.ch/project/cafe/gitlab/CAFE/cpp/missing makeinfo MAKEINFO = ${SHELL} /afs/psi.ch/project/cafe/gitea/CAFE/cpp/missing makeinfo
MANIFEST_TOOL = : MANIFEST_TOOL = :
MKDIR_P = /usr/bin/mkdir -p MKDIR_P = /bin/mkdir -p
NM = /usr/bin/nm -B NM = /bin/nm -B
NMEDIT = NMEDIT =
OBJDUMP = objdump OBJDUMP = objdump
OBJEXT = o OBJEXT = o
@@ -245,23 +256,23 @@ OTOOL64 =
PACKAGE = cafe PACKAGE = cafe
PACKAGE_BUGREPORT = Bug reports to: jan.chrin@psi.ch PACKAGE_BUGREPORT = Bug reports to: jan.chrin@psi.ch
PACKAGE_NAME = CAFE PACKAGE_NAME = CAFE
PACKAGE_STRING = CAFE 1.15.0 PACKAGE_STRING = CAFE 1.22.0
PACKAGE_TARNAME = cafe PACKAGE_TARNAME = cafe
PACKAGE_URL = PACKAGE_URL =
PACKAGE_VERSION = 1.15.0 PACKAGE_VERSION = 1.22.0
PATH_SEPARATOR = : PATH_SEPARATOR = :
RANLIB = ranlib RANLIB = ranlib
SED = /usr/bin/sed SED = /bin/sed
SET_MAKE = SET_MAKE =
SHELL = /bin/sh SHELL = /bin/sh
STRIP = strip STRIP = strip
VERSION = 1.15.0 VERSION = 1.22.0
abs_builddir = /afs/psi.ch/project/cafe/gitlab/CAFE/cpp/include abs_builddir = /afs/psi.ch/project/cafe/gitea/CAFE/cpp/include
abs_srcdir = /afs/psi.ch/project/cafe/gitlab/CAFE/cpp/include abs_srcdir = /afs/psi.ch/project/cafe/gitea/CAFE/cpp/include
abs_top_builddir = /afs/psi.ch/project/cafe/gitlab/CAFE/cpp abs_top_builddir = /afs/psi.ch/project/cafe/gitea/CAFE/cpp
abs_top_srcdir = /afs/psi.ch/project/cafe/gitlab/CAFE/cpp abs_top_srcdir = /afs/psi.ch/project/cafe/gitea/CAFE/cpp
ac_ct_AR = ar 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_CXX =
ac_ct_DUMPBIN = ac_ct_DUMPBIN =
am__include = include am__include = include
@@ -270,27 +281,27 @@ am__quote =
am__tar = $${TAR-tar} chof - "$$tardir" am__tar = $${TAR-tar} chof - "$$tardir"
am__untar = $${TAR-tar} xf - am__untar = $${TAR-tar} xf -
bindir = ${exec_prefix}/bin bindir = ${exec_prefix}/bin
build = x86_64-unknown-linux-gnu build = x86_64-pc-linux-gnu
build_alias = build_alias =
build_cpu = x86_64 build_cpu = x86_64
build_os = linux-gnu build_os = linux-gnu
build_vendor = unknown build_vendor = pc
builddir = . builddir = .
datadir = ${datarootdir} datadir = ${datarootdir}
datarootdir = ${prefix}/share datarootdir = ${prefix}/share
docdir = ${datarootdir}/doc/${PACKAGE_TARNAME} docdir = ${datarootdir}/doc/${PACKAGE_TARNAME}
dvidir = ${docdir} dvidir = ${docdir}
exec_prefix = ${prefix} exec_prefix = ${prefix}
host = x86_64-unknown-linux-gnu host = x86_64-pc-linux-gnu
host_alias = host_alias =
host_cpu = x86_64 host_cpu = x86_64
host_os = linux-gnu host_os = linux-gnu
host_vendor = unknown host_vendor = pc
htmldir = ${docdir} htmldir = ${docdir}
includedir = ${prefix}/include includedir = ${prefix}/include
infodir = ${datarootdir}/info infodir = ${datarootdir}/info
install_sh = ${SHELL} /afs/psi.ch/project/cafe/gitlab/CAFE/cpp/install-sh install_sh = ${SHELL} /afs/psi.ch/project/cafe/gitea/CAFE/cpp/install-sh
libdir = /opt/gfa/cafe/cpp/cafe-1.15.0-py35-gcc-7.3.0/lib/RHEL7-x86_64 libdir = /opt/gfa/cafe/cpp/cafe-1.22.0-gcc-10.4.0/lib/RHEL8-x86_64
libexecdir = ${exec_prefix}/libexec libexecdir = ${exec_prefix}/libexec
localedir = ${datarootdir}/locale localedir = ${datarootdir}/locale
localstatedir = ${prefix}/var localstatedir = ${prefix}/var
@@ -298,7 +309,7 @@ mandir = ${datarootdir}/man
mkdir_p = $(MKDIR_P) mkdir_p = $(MKDIR_P)
oldincludedir = /usr/include oldincludedir = /usr/include
pdfdir = ${docdir} pdfdir = ${docdir}
prefix = /opt/gfa/cafe/cpp/cafe-1.15.0-py35-gcc-7.3.0 prefix = /opt/gfa/cafe/cpp/cafe-1.22.0-gcc-10.4.0
program_transform_name = s,x,x, program_transform_name = s,x,x,
psdir = ${docdir} psdir = ${docdir}
sbindir = ${exec_prefix}/sbin 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'; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu include/makefile'; \
$(am__cd) $(top_srcdir) && \ $(am__cd) $(top_srcdir) && \
$(AUTOMAKE) --gnu include/makefile $(AUTOMAKE) --gnu include/makefile
.PRECIOUS: makefile
makefile: $(srcdir)/makefile.in $(top_builddir)/config.status makefile: $(srcdir)/makefile.in $(top_builddir)/config.status
@case '$?' in \ @case '$?' in \
*config.status*) \ *config.status*) \
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
*) \ *) \
echo ' 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__depfiles_maybe);; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \
esac; esac;
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
@@ -435,7 +445,10 @@ cscopelist-am: $(am__tagged_files)
distclean-tags: distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH 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'`; \ @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
list='$(DISTFILES)'; \ list='$(DISTFILES)'; \
@@ -584,6 +597,8 @@ uninstall-am: uninstall-includeHEADERS
ps ps-am tags tags-am uninstall uninstall-am \ ps ps-am tags tags-am uninstall uninstall-am \
uninstall-includeHEADERS uninstall-includeHEADERS
.PRECIOUS: makefile
# Tell versions [3.59,3.63) of GNU make to not export all variables. # 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. # 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) 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; return priority;
} }
@@ -462,17 +462,17 @@ public:
}; };
double setTimeout(double t) double setTimeout(double t)
{ {
timeout=std::max(t,TIMEOUT_PEND_IO_MIN); timeout=(std::max)(t,TIMEOUT_PEND_IO_MIN);
return timeout=std::min(timeout,TIMEOUT_PEND_IO_MAX); return timeout=(std::min)(timeout,TIMEOUT_PEND_IO_MAX);
}; };
double setDeltaTimeout(double dt) double setDeltaTimeout(double dt)
{ {
deltaTimeout=std::max(dt,PEND_IO_INCREMENT_TIME_MIN); deltaTimeout=(std::max)(dt,PEND_IO_INCREMENT_TIME_MIN);
return deltaTimeout=std::min(deltaTimeout,PEND_IO_INCREMENT_TIME_MAX); return deltaTimeout=(std::min)(deltaTimeout,PEND_IO_INCREMENT_TIME_MAX);
}; };
unsigned short setNtries(unsigned short nt) 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) double setDefaultTimeout(double t)

View File

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

42
libtool
View File

@@ -1,6 +1,6 @@
#! /bin/sh #! /bin/sh
# Generated automatically by config.status (cafe) 1.15.0 # Generated automatically by config.status (cafe) 1.22.0
# Libtool was configured on host sf-lc7a.psi.ch: # Libtool was configured on host sls-lc8.psi.ch:
# NOTE: Changes made to this file will be lost: look at ltmain.sh. # NOTE: Changes made to this file will be lost: look at ltmain.sh.
# Provide generalized library-building support services. # Provide generalized library-building support services.
@@ -67,31 +67,31 @@ PATH_SEPARATOR=":"
# The host system. # The host system.
host_alias= host_alias=
host=x86_64-unknown-linux-gnu host=x86_64-pc-linux-gnu
host_os=linux-gnu host_os=linux-gnu
# The build system. # The build system.
build_alias= build_alias=
build=x86_64-unknown-linux-gnu build=x86_64-pc-linux-gnu
build_os=linux-gnu build_os=linux-gnu
# A sed program that does not truncate output. # A sed program that does not truncate output.
SED="/usr/bin/sed" SED="/bin/sed"
# Sed that helps us avoid accidentally triggering echo(1) options like -n. # Sed that helps us avoid accidentally triggering echo(1) options like -n.
Xsed="$SED -e 1s/^X//" Xsed="$SED -e 1s/^X//"
# A grep program that handles long lines. # A grep program that handles long lines.
GREP="/usr/bin/grep" GREP="/bin/grep"
# An ERE matcher. # An ERE matcher.
EGREP="/usr/bin/grep -E" EGREP="/bin/grep -E"
# A literal string matcher. # A literal string matcher.
FGREP="/usr/bin/grep -F" FGREP="/bin/grep -F"
# A BSD- or MS-compatible name lister. # A BSD- or MS-compatible name lister.
NM="/usr/bin/nm -B" NM="/bin/nm -B"
# Whether we need soft or hard links. # Whether we need soft or hard links.
LN_S="ln -s" LN_S="ln -s"
@@ -162,7 +162,7 @@ old_postuninstall_cmds=""
lock_old_archive_extraction=no lock_old_archive_extraction=no
# A C compiler. # 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. # LTCC compiler flags.
LTCFLAGS="-g -O2" LTCFLAGS="-g -O2"
@@ -192,7 +192,7 @@ nm_file_list_spec="@"
lt_sysroot= lt_sysroot=
# Command to truncate a binary pipe. # Command to truncate a binary pipe.
lt_truncate_bin="/usr/bin/dd bs=4096 count=1" lt_truncate_bin="/bin/dd bs=4096 count=1"
# The name of the directory that contains temporary libtool files. # The name of the directory that contains temporary libtool files.
objdir=.libs objdir=.libs
@@ -282,10 +282,10 @@ finish_eval=""
hardcode_into_libs=yes hardcode_into_libs=yes
# Compile-time system search path for libraries. # Compile-time system search path for libraries.
sys_lib_search_path_spec="/afs/psi.ch/sys/psi.x86_64_slp6/Programming/gcc/7.3.0/lib/gcc/x86_64-pc-linux-gnu/7.3.0 /afs/psi.ch/sys/psi.x86_64_slp6/Programming/gcc/7.3.0/lib/gcc /opt/psi/Programming/gcc/7.3.0/lib64 /afs/psi.ch/sys/psi.x86_64_slp6/Programming/gcc/7.3.0/lib64 /lib64 /usr/lib64 /opt/psi/Programming/gcc/7.3.0/lib /afs/psi.ch/sys/psi.x86_64_slp6/Programming/gcc/7.3.0/lib /lib /usr/lib " sys_lib_search_path_spec="/afs/psi.ch/sys/psi.ra/Programming/gcc/10.4.0/lib/gcc/x86_64-pc-linux-gnu/10.4.0 /afs/psi.ch/sys/psi.ra/Programming/gcc/10.4.0/lib/gcc /opt/psi/Programming/gcc/10.4.0/lib64 /afs/psi.ch/sys/psi.ra/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.ra/Programming/gcc/10.4.0/lib /lib /usr/lib "
# Detected run-time system search path for libraries. # Detected run-time system search path for libraries.
sys_lib_dlsearch_path_spec="/lib /usr/lib /usr/lib64/atlas /usr/lib64//bind9-export/ /usr/lib64/dyninst /usr/lib64/mysql /usr/lib/oracle/12.2/client64/lib /usr/lib64/tcl8.5/tclx8.4 " sys_lib_dlsearch_path_spec="/lib /usr/lib /usr/lib64/atlas /usr/lib64/llvm17/lib/ /usr/lib/oracle/19.18/client64/lib /usr/lib64/tclx8.6 /usr/lib64/wine/ "
# Explicit LT_SYS_LIBRARY_PATH set during ./configure time. # Explicit LT_SYS_LIBRARY_PATH set during ./configure time.
configure_time_lt_sys_library_path="" configure_time_lt_sys_library_path=""
@@ -305,7 +305,7 @@ striplib="strip --strip-unneeded"
# The linker used to build libraries. # The linker used to build libraries.
LD="/usr/bin/ld -m elf_x86_64" LD="/bin/ld -m elf_x86_64"
# How to create reloadable object files. # How to create reloadable object files.
reload_flag=" -r" reload_flag=" -r"
@@ -315,7 +315,7 @@ reload_cmds="\$LD\$reload_flag -o \$output\$reload_objs"
old_archive_cmds="\$AR \$AR_FLAGS \$oldlib\$oldobjs~\$RANLIB \$tool_oldlib" old_archive_cmds="\$AR \$AR_FLAGS \$oldlib\$oldobjs~\$RANLIB \$tool_oldlib"
# A language specific compiler. # 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? # Is the compiler the GNU compiler?
with_gcc=yes with_gcc=yes
@@ -11684,7 +11684,7 @@ build_old_libs=`case $build_libtool_libs in yes) echo no;; *) echo yes;; esac`
# ### BEGIN LIBTOOL TAG CONFIG: CXX # ### BEGIN LIBTOOL TAG CONFIG: CXX
# The linker used to build libraries. # The linker used to build libraries.
LD="/usr/bin/ld -m elf_x86_64" LD="/bin/ld -m elf_x86_64"
# How to create reloadable object files. # How to create reloadable object files.
reload_flag=" -r" reload_flag=" -r"
@@ -11694,7 +11694,7 @@ reload_cmds="\$LD\$reload_flag -o \$output\$reload_objs"
old_archive_cmds="\$AR \$AR_FLAGS \$oldlib\$oldobjs~\$RANLIB \$tool_oldlib" old_archive_cmds="\$AR \$AR_FLAGS \$oldlib\$oldobjs~\$RANLIB \$tool_oldlib"
# A language specific compiler. # 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? # Is the compiler the GNU compiler?
with_gcc=yes with_gcc=yes
@@ -11815,17 +11815,17 @@ file_list_spec=""
hardcode_action=immediate hardcode_action=immediate
# The directories searched by this compiler when creating a shared library. # The directories searched by this compiler when creating a shared library.
compiler_lib_search_dirs="/afs/psi.ch/sys/psi.x86_64_slp6/Programming/gcc/7.3.0/bin/../lib/gcc/x86_64-pc-linux-gnu/7.3.0 /afs/psi.ch/sys/psi.x86_64_slp6/Programming/gcc/7.3.0/bin/../lib/gcc /opt/psi/Programming/gcc/7.3.0/lib64/../lib64 /opt/psi/Programming/gcc/7.3.0/lib/../lib64 /afs/psi.ch/sys/psi.x86_64_slp6/Programming/gcc/7.3.0/bin/../lib/gcc/x86_64-pc-linux-gnu/7.3.0/../../../../lib64 /lib/../lib64 /usr/lib/../lib64 /opt/psi/Programming/gcc/7.3.0/lib64 /opt/psi/Programming/gcc/7.3.0/lib /afs/psi.ch/sys/psi.x86_64_slp6/Programming/gcc/7.3.0/bin/../lib/gcc/x86_64-pc-linux-gnu/7.3.0/../../.." compiler_lib_search_dirs="/afs/psi.ch/sys/psi.ra/Programming/gcc/10.4.0/bin/../lib/gcc/x86_64-pc-linux-gnu/10.4.0 /afs/psi.ch/sys/psi.ra/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.ra/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.ra/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 # Dependencies to place before and after the objects being linked to
# create a shared library. # 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" predep_objects="/lib/../lib64/crti.o /afs/psi.ch/sys/psi.ra/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/7.3.0/bin/../lib/gcc/x86_64-pc-linux-gnu/7.3.0/crtendS.o /lib/../lib64/crtn.o" postdep_objects="/afs/psi.ch/sys/psi.ra/Programming/gcc/10.4.0/bin/../lib/gcc/x86_64-pc-linux-gnu/10.4.0/crtendS.o /lib/../lib64/crtn.o"
predeps="" predeps=""
postdeps="-lstdc++ -lm -lgcc_s -lc -lgcc_s" postdeps="-lstdc++ -lm -lgcc_s -lc -lgcc_s"
# The library search path used internally by the compiler when linking # The library search path used internally by the compiler when linking
# a shared library. # a shared library.
compiler_lib_search_path="-L/afs/psi.ch/sys/psi.x86_64_slp6/Programming/gcc/7.3.0/bin/../lib/gcc/x86_64-pc-linux-gnu/7.3.0 -L/afs/psi.ch/sys/psi.x86_64_slp6/Programming/gcc/7.3.0/bin/../lib/gcc -L/opt/psi/Programming/gcc/7.3.0/lib64/../lib64 -L/opt/psi/Programming/gcc/7.3.0/lib/../lib64 -L/afs/psi.ch/sys/psi.x86_64_slp6/Programming/gcc/7.3.0/bin/../lib/gcc/x86_64-pc-linux-gnu/7.3.0/../../../../lib64 -L/lib/../lib64 -L/usr/lib/../lib64 -L/opt/psi/Programming/gcc/7.3.0/lib64 -L/opt/psi/Programming/gcc/7.3.0/lib -L/afs/psi.ch/sys/psi.x86_64_slp6/Programming/gcc/7.3.0/bin/../lib/gcc/x86_64-pc-linux-gnu/7.3.0/../../.." compiler_lib_search_path="-L/afs/psi.ch/sys/psi.ra/Programming/gcc/10.4.0/bin/../lib/gcc/x86_64-pc-linux-gnu/10.4.0 -L/afs/psi.ch/sys/psi.ra/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.ra/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.ra/Programming/gcc/10.4.0/bin/../lib/gcc/x86_64-pc-linux-gnu/10.4.0/../../.."
# ### END LIBTOOL TAG CONFIG: CXX # ### END LIBTOOL TAG CONFIG: CXX

154
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. # 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 # This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it, # 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 = \ am__make_running_with_option = \
case $${target_option-} in \ case $${target_option-} in \
?) ;; \ ?) ;; \
@@ -76,19 +86,9 @@ POST_INSTALL = :
NORMAL_UNINSTALL = : NORMAL_UNINSTALL = :
PRE_UNINSTALL = : PRE_UNINSTALL = :
POST_UNINSTALL = : POST_UNINSTALL = :
build_triplet = x86_64-unknown-linux-gnu build_triplet = x86_64-pc-linux-gnu
host_triplet = x86_64-unknown-linux-gnu host_triplet = x86_64-pc-linux-gnu
subdir = . 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 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 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \ am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \
$(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
@@ -96,6 +96,8 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \
$(top_srcdir)/configure.ac $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4) $(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 \ am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
configure.lineno config.status.lineno configure.lineno config.status.lineno
mkinstalldirs = $(install_sh) -d mkinstalldirs = $(install_sh) -d
@@ -165,7 +167,7 @@ am__recursive_targets = \
$(RECURSIVE_CLEAN_TARGETS) \ $(RECURSIVE_CLEAN_TARGETS) \
$(am__extra_recursive_targets) $(am__extra_recursive_targets)
AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \ 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) am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
# Read a list of newline-separated strings from the standard input, # Read a list of newline-separated strings from the standard input,
# and print each of them once, without duplicates. Input order is # and print each of them once, without duplicates. Input order is
@@ -187,6 +189,15 @@ ETAGS = etags
CTAGS = ctags CTAGS = ctags
CSCOPE = cscope CSCOPE = cscope
DIST_SUBDIRS = $(SUBDIRS) 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 .//depcomp \
.//install-sh .//ltmain.sh .//missing AUTHORS COPYING \
ChangeLog INSTALL NEWS README compile config.guess config.sub \
depcomp install-sh ltmain.sh missing
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
distdir = $(PACKAGE)-$(VERSION) distdir = $(PACKAGE)-$(VERSION)
top_distdir = $(distdir) top_distdir = $(distdir)
@@ -229,24 +240,24 @@ distuninstallcheck_listfiles = find . -type f -print
am__distuninstallcheck_listfiles = $(distuninstallcheck_listfiles) \ am__distuninstallcheck_listfiles = $(distuninstallcheck_listfiles) \
| sed 's|^\./|$(prefix)/|' | grep -v '$(infodir)/dir$$' | sed 's|^\./|$(prefix)/|' | grep -v '$(infodir)/dir$$'
distcleancheck_listfiles = find . -type f -print 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/gitea/CAFE/cpp/missing aclocal-1.16
AMTAR = $${TAR-tar} AMTAR = $${TAR-tar}
AM_CPPFLAGS = -fexceptions -fPIC -std=c++1z -I/usr/local/epics/base-7.0.6/include/ -I/usr/local/epics/base-7.0.6/include/os/Linux -I/usr/local/epics/base-7.0.6/include/compiler/gcc -I/opt/gfa/cafe/boost/boost_1_61_0/include/boost -I/opt/gfa/cafe/boost/boost_1_61_0/include -I/opt/gfa/python-3.5/latest/include/python3.5m -I/opt/gfa/python-3.5/latest/lib/python3.5/site-packages/numpy/core/include -I/opt/gfa/python-3.5/latest/include -I/opt/gfa/python-3.5/latest/include/QtCore -I/opt/gfa/python-3.5/latest/include/QtXml -I$(top_srcdir)/include AM_CPPFLAGS = -fexceptions -fPIC -std=c++1z -z nodefs -I/usr/local/epics/base-7.0.9/include/ -I/usr/local/epics/base-7.0.9/include/os/Linux -I/usr/local/epics/base-7.0.9/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$(top_srcdir)/include
AM_DEFAULT_VERBOSITY = 1 AM_DEFAULT_VERBOSITY = 1
AM_LDFLAGS = -L/usr/local/epics/base-7.0.6/lib/RHEL7-x86_64 -Wl,-rpath,/usr/local/epics/base-7.0.6/lib/RHEL7-x86_64 -L/opt/gfa/python-3.5/latest/lib -Wl,-rpath,/opt/gfa/python-3.5/latest/lib -L/opt/gfa/python-3.5/latest/lib -Wl,-rpath,/opt/gfa/python-3.5/latest/lib @CAFE_LIBS@ AM_LDFLAGS = -L/usr/local/epics/base-7.0.9/lib/RHEL8-x86_64 -Wl,-rpath,/usr/local/epics/base-7.0.9/lib/RHEL8-x86_64 @CAFE_LIBS@
AR = ar AR = ar
AUTOCONF = ${SHELL} /afs/psi.ch/project/cafe/gitlab/CAFE/cpp/missing autoconf AUTOCONF = ${SHELL} /afs/psi.ch/project/cafe/gitea/CAFE/cpp/missing autoconf
AUTOHEADER = ${SHELL} /afs/psi.ch/project/cafe/gitlab/CAFE/cpp/missing autoheader AUTOHEADER = ${SHELL} /afs/psi.ch/project/cafe/gitea/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/gitea/CAFE/cpp/missing automake-1.16
AWK = gawk AWK = gawk
CAFE_CPPFLAGS = -I$(top_srcdir)/include 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 CCDEPMODE = depmode=gcc3
CFLAGS = -g -O2 CFLAGS = -g -O2
CPP = /opt/psi/Programming/gcc/7.3.0/bin/gcc -E CPP = /opt/psi/Programming/gcc/10.4.0/bin/gcc -E
CPPFLAGS = -fexceptions -fPIC -std=c++1z -I/usr/local/epics/base-7.0.6/include/ -I/usr/local/epics/base-7.0.6/include/os/Linux -I/usr/local/epics/base-7.0.6/include/compiler/gcc -I/opt/gfa/cafe/boost/boost_1_61_0/include/boost -I/opt/gfa/cafe/boost/boost_1_61_0/include -I/opt/gfa/python-3.5/latest/include/python3.5m -I/opt/gfa/python-3.5/latest/lib/python3.5/site-packages/numpy/core/include -I/opt/gfa/python-3.5/latest/include -I/opt/gfa/python-3.5/latest/include/QtCore -I/opt/gfa/python-3.5/latest/include/QtXml CPPFLAGS = -fexceptions -fPIC -std=c++1z -z nodefs -I/usr/local/epics/base-7.0.9/include/ -I/usr/local/epics/base-7.0.9/include/os/Linux -I/usr/local/epics/base-7.0.9/include/compiler/gcc -I/opt/gfa/cafe/boost/boost_1_61_0/include/boost -I/opt/gfa/cafe/boost/boost_1_61_0/include
CXX = /opt/psi/Programming/gcc/7.3.0/bin/g++ CXX = /opt/psi/Programming/gcc/10.4.0/bin/g++
CXXCPP = /opt/psi/Programming/gcc/7.3.0/bin/g++ -E CXXCPP = /opt/psi/Programming/gcc/10.4.0/bin/g++ -E
CXXDEPMODE = depmode=gcc3 CXXDEPMODE = depmode=gcc3
CXXFLAGS = -g -O2 CXXFLAGS = -g -O2
CYGPATH_W = echo CYGPATH_W = echo
@@ -258,28 +269,28 @@ DUMPBIN =
ECHO_C = ECHO_C =
ECHO_N = -n ECHO_N = -n
ECHO_T = ECHO_T =
EGREP = /usr/bin/grep -E EGREP = /bin/grep -E
EXEEXT = EXEEXT =
FGREP = /usr/bin/grep -F FGREP = /bin/grep -F
GREP = /usr/bin/grep GREP = /bin/grep
INSTALL = /usr/bin/install -c INSTALL = /bin/install -c
INSTALL_DATA = ${INSTALL} -m 644 INSTALL_DATA = ${INSTALL} -m 644
INSTALL_PROGRAM = ${INSTALL} INSTALL_PROGRAM = ${INSTALL}
INSTALL_SCRIPT = ${INSTALL} INSTALL_SCRIPT = ${INSTALL}
INSTALL_STRIP_PROGRAM = $(install_sh) -c -s INSTALL_STRIP_PROGRAM = $(install_sh) -c -s
LD = /usr/bin/ld -m elf_x86_64 LD = /bin/ld -m elf_x86_64
LDFLAGS = -L/usr/local/epics/base-7.0.6/lib/RHEL7-x86_64 -Wl,-rpath,/usr/local/epics/base-7.0.6/lib/RHEL7-x86_64 -L/opt/gfa/python-3.5/latest/lib -Wl,-rpath,/opt/gfa/python-3.5/latest/lib -L/opt/gfa/python-3.5/latest/lib -Wl,-rpath,/opt/gfa/python-3.5/latest/lib LDFLAGS = -L/usr/local/epics/base-7.0.9/lib/RHEL8-x86_64 -Wl,-rpath,/usr/local/epics/base-7.0.9/lib/RHEL8-x86_64
LIBOBJS = LIBOBJS =
LIBS = -lQtXml -lQtCore -lpython3.5m LIBS =
LIBTOOL = $(SHELL) $(top_builddir)/libtool LIBTOOL = $(SHELL) $(top_builddir)/libtool
LIPO = LIPO =
LN_S = ln -s LN_S = ln -s
LTLIBOBJS = LTLIBOBJS =
LT_SYS_LIBRARY_PATH = LT_SYS_LIBRARY_PATH =
MAKEINFO = ${SHELL} /afs/psi.ch/project/cafe/gitlab/CAFE/cpp/missing makeinfo MAKEINFO = ${SHELL} /afs/psi.ch/project/cafe/gitea/CAFE/cpp/missing makeinfo
MANIFEST_TOOL = : MANIFEST_TOOL = :
MKDIR_P = /usr/bin/mkdir -p MKDIR_P = /bin/mkdir -p
NM = /usr/bin/nm -B NM = /bin/nm -B
NMEDIT = NMEDIT =
OBJDUMP = objdump OBJDUMP = objdump
OBJEXT = o OBJEXT = o
@@ -288,23 +299,23 @@ OTOOL64 =
PACKAGE = cafe PACKAGE = cafe
PACKAGE_BUGREPORT = Bug reports to: jan.chrin@psi.ch PACKAGE_BUGREPORT = Bug reports to: jan.chrin@psi.ch
PACKAGE_NAME = CAFE PACKAGE_NAME = CAFE
PACKAGE_STRING = CAFE 1.15.0 PACKAGE_STRING = CAFE 1.22.0
PACKAGE_TARNAME = cafe PACKAGE_TARNAME = cafe
PACKAGE_URL = PACKAGE_URL =
PACKAGE_VERSION = 1.15.0 PACKAGE_VERSION = 1.22.0
PATH_SEPARATOR = : PATH_SEPARATOR = :
RANLIB = ranlib RANLIB = ranlib
SED = /usr/bin/sed SED = /bin/sed
SET_MAKE = SET_MAKE =
SHELL = /bin/sh SHELL = /bin/sh
STRIP = strip STRIP = strip
VERSION = 1.15.0 VERSION = 1.22.0
abs_builddir = /afs/psi.ch/project/cafe/gitlab/CAFE/cpp abs_builddir = /afs/psi.ch/project/cafe/gitea/CAFE/cpp
abs_srcdir = /afs/psi.ch/project/cafe/gitlab/CAFE/cpp abs_srcdir = /afs/psi.ch/project/cafe/gitea/CAFE/cpp
abs_top_builddir = /afs/psi.ch/project/cafe/gitlab/CAFE/cpp abs_top_builddir = /afs/psi.ch/project/cafe/gitea/CAFE/cpp
abs_top_srcdir = /afs/psi.ch/project/cafe/gitlab/CAFE/cpp abs_top_srcdir = /afs/psi.ch/project/cafe/gitea/CAFE/cpp
ac_ct_AR = ar 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_CXX =
ac_ct_DUMPBIN = ac_ct_DUMPBIN =
am__include = include am__include = include
@@ -313,27 +324,27 @@ am__quote =
am__tar = $${TAR-tar} chof - "$$tardir" am__tar = $${TAR-tar} chof - "$$tardir"
am__untar = $${TAR-tar} xf - am__untar = $${TAR-tar} xf -
bindir = ${exec_prefix}/bin bindir = ${exec_prefix}/bin
build = x86_64-unknown-linux-gnu build = x86_64-pc-linux-gnu
build_alias = build_alias =
build_cpu = x86_64 build_cpu = x86_64
build_os = linux-gnu build_os = linux-gnu
build_vendor = unknown build_vendor = pc
builddir = . builddir = .
datadir = ${datarootdir} datadir = ${datarootdir}
datarootdir = ${prefix}/share datarootdir = ${prefix}/share
docdir = ${datarootdir}/doc/${PACKAGE_TARNAME} docdir = ${datarootdir}/doc/${PACKAGE_TARNAME}
dvidir = ${docdir} dvidir = ${docdir}
exec_prefix = ${prefix} exec_prefix = ${prefix}
host = x86_64-unknown-linux-gnu host = x86_64-pc-linux-gnu
host_alias = host_alias =
host_cpu = x86_64 host_cpu = x86_64
host_os = linux-gnu host_os = linux-gnu
host_vendor = unknown host_vendor = pc
htmldir = ${docdir} htmldir = ${docdir}
includedir = ${prefix}/include includedir = ${prefix}/include
infodir = ${datarootdir}/info infodir = ${datarootdir}/info
install_sh = ${SHELL} /afs/psi.ch/project/cafe/gitlab/CAFE/cpp/install-sh install_sh = ${SHELL} /afs/psi.ch/project/cafe/gitea/CAFE/cpp/install-sh
libdir = /opt/gfa/cafe/cpp/cafe-1.15.0-py35-gcc-7.3.0/lib/RHEL7-x86_64 libdir = /opt/gfa/cafe/cpp/cafe-1.22.0-gcc-10.4.0/lib/RHEL8-x86_64
libexecdir = ${exec_prefix}/libexec libexecdir = ${exec_prefix}/libexec
localedir = ${datarootdir}/locale localedir = ${datarootdir}/locale
localstatedir = ${prefix}/var localstatedir = ${prefix}/var
@@ -341,7 +352,7 @@ mandir = ${datarootdir}/man
mkdir_p = $(MKDIR_P) mkdir_p = $(MKDIR_P)
oldincludedir = /usr/include oldincludedir = /usr/include
pdfdir = ${docdir} pdfdir = ${docdir}
prefix = /opt/gfa/cafe/cpp/cafe-1.15.0-py35-gcc-7.3.0 prefix = /opt/gfa/cafe/cpp/cafe-1.22.0-gcc-10.4.0
program_transform_name = s,x,x, program_transform_name = s,x,x,
psdir = ${docdir} psdir = ${docdir}
sbindir = ${exec_prefix}/sbin sbindir = ${exec_prefix}/sbin
@@ -373,15 +384,14 @@ $(srcdir)/makefile.in: $(srcdir)/makefile.am $(am__configure_deps)
echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu makefile'; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu makefile'; \
$(am__cd) $(top_srcdir) && \ $(am__cd) $(top_srcdir) && \
$(AUTOMAKE) --gnu makefile $(AUTOMAKE) --gnu makefile
.PRECIOUS: makefile
makefile: $(srcdir)/makefile.in $(top_builddir)/config.status makefile: $(srcdir)/makefile.in $(top_builddir)/config.status
@case '$?' in \ @case '$?' in \
*config.status*) \ *config.status*) \
echo ' $(SHELL) ./config.status'; \ echo ' $(SHELL) ./config.status'; \
$(SHELL) ./config.status;; \ $(SHELL) ./config.status;; \
*) \ *) \
echo ' 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__depfiles_maybe);; \ cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__maybe_remake_depfiles);; \
esac; esac;
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
@@ -394,8 +404,8 @@ $(ACLOCAL_M4): $(am__aclocal_m4_deps)
$(am__aclocal_m4_deps): $(am__aclocal_m4_deps):
./include/config.h: ./include/stamp-h1 ./include/config.h: ./include/stamp-h1
@if test ! -f $@; then rm -f ./include/stamp-h1; else :; fi @test -f $@ || rm -f ./include/stamp-h1
@if test ! -f $@; then $(MAKE) $(AM_MAKEFLAGS) ./include/stamp-h1; else :; fi @test -f $@ || $(MAKE) $(AM_MAKEFLAGS) ./include/stamp-h1
./include/stamp-h1: $(top_srcdir)/./include/config.in $(top_builddir)/config.status ./include/stamp-h1: $(top_srcdir)/./include/config.in $(top_builddir)/config.status
@rm -f ./include/stamp-h1 @rm -f ./include/stamp-h1
@@ -544,7 +554,10 @@ distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-rm -f cscope.out cscope.in.out cscope.po.out cscope.files -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) $(am__remove_distdir)
test -d "$(distdir)" || mkdir "$(distdir)" test -d "$(distdir)" || mkdir "$(distdir)"
@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
@@ -609,7 +622,7 @@ distdir: $(DISTFILES)
! -type d ! -perm -444 -exec $(install_sh) -c -m a+r {} {} \; \ ! -type d ! -perm -444 -exec $(install_sh) -c -m a+r {} {} \; \
|| chmod -R a+r "$(distdir)" || chmod -R a+r "$(distdir)"
dist-gzip: 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) $(am__post_remove_distdir)
dist-bzip2: distdir dist-bzip2: distdir
@@ -625,11 +638,17 @@ dist-xz: distdir
$(am__post_remove_distdir) $(am__post_remove_distdir)
dist-tarZ: 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 tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z
$(am__post_remove_distdir) $(am__post_remove_distdir)
dist-shar: 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) $(am__post_remove_distdir)
dist-zip: distdir dist-zip: distdir
@@ -647,7 +666,7 @@ dist dist-all:
distcheck: dist distcheck: dist
case '$(DIST_ARCHIVES)' in \ case '$(DIST_ARCHIVES)' in \
*.tar.gz*) \ *.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*) \ *.tar.bz2*) \
bzip2 -dc $(distdir).tar.bz2 | $(am__untar) ;;\ bzip2 -dc $(distdir).tar.bz2 | $(am__untar) ;;\
*.tar.lz*) \ *.tar.lz*) \
@@ -657,22 +676,23 @@ distcheck: dist
*.tar.Z*) \ *.tar.Z*) \
uncompress -c $(distdir).tar.Z | $(am__untar) ;;\ uncompress -c $(distdir).tar.Z | $(am__untar) ;;\
*.shar.gz*) \ *.shar.gz*) \
GZIP=$(GZIP_ENV) gzip -dc $(distdir).shar.gz | unshar ;;\ eval GZIP= gzip $(GZIP_ENV) -dc $(distdir).shar.gz | unshar ;;\
*.zip*) \ *.zip*) \
unzip $(distdir).zip ;;\ unzip $(distdir).zip ;;\
esac esac
chmod -R a-w $(distdir) chmod -R a-w $(distdir)
chmod u+w $(distdir) chmod u+w $(distdir)
mkdir $(distdir)/_build $(distdir)/_inst mkdir $(distdir)/_build $(distdir)/_build/sub $(distdir)/_inst
chmod a-w $(distdir) chmod a-w $(distdir)
test -d $(distdir)/_build || exit 0; \ test -d $(distdir)/_build || exit 0; \
dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \ dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \
&& dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \ && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \
&& am__cwd=`pwd` \ && am__cwd=`pwd` \
&& $(am__cd) $(distdir)/_build \ && $(am__cd) $(distdir)/_build/sub \
&& ../configure --srcdir=.. --prefix="$$dc_install_base" \ && ../../configure \
$(AM_DISTCHECK_CONFIGURE_FLAGS) \ $(AM_DISTCHECK_CONFIGURE_FLAGS) \
$(DISTCHECK_CONFIGURE_FLAGS) \ $(DISTCHECK_CONFIGURE_FLAGS) \
--srcdir=../.. --prefix="$$dc_install_base" \
&& $(MAKE) $(AM_MAKEFLAGS) \ && $(MAKE) $(AM_MAKEFLAGS) \
&& $(MAKE) $(AM_MAKEFLAGS) dvi \ && $(MAKE) $(AM_MAKEFLAGS) dvi \
&& $(MAKE) $(AM_MAKEFLAGS) check \ && $(MAKE) $(AM_MAKEFLAGS) check \
@@ -852,6 +872,8 @@ uninstall-am: uninstall-includeHEADERS
mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
tags tags-am uninstall uninstall-am uninstall-includeHEADERS tags tags-am uninstall uninstall-am uninstall-includeHEADERS
.PRECIOUS: makefile
# Tell versions [3.59,3.63) of GNU make to not export all variables. # 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. # Otherwise a system limit (for SysV at least) may be exceeded.

View File

@@ -1 +1 @@
PyCafe_sls_py37.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

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 \ bitshuffle/bitshuffle.lo: bitshuffle/bitshuffle.c \
/usr/include/stdc-predef.h bitshuffle/bitshuffle.h /usr/include/stdlib.h \ /usr/include/stdc-predef.h bitshuffle/bitshuffle.h /usr/include/stdlib.h \
/usr/include/features.h /usr/include/sys/cdefs.h \ /usr/include/bits/libc-header-start.h /usr/include/features.h \
/usr/include/bits/wordsize.h /usr/include/gnu/stubs.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/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.ra/Programming/gcc/7.3.0/lib/gcc/x86_64-pc-linux-gnu/7.3.0/include/stddef.h \
/usr/include/bits/waitflags.h /usr/include/bits/waitstatus.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/endian.h /usr/include/bits/endian.h \
/usr/include/bits/byteswap.h /usr/include/bits/types.h \ /usr/include/bits/byteswap.h /usr/include/bits/uintn-identity.h \
/usr/include/bits/typesizes.h /usr/include/bits/byteswap-16.h \ /usr/include/sys/select.h /usr/include/bits/select.h \
/usr/include/sys/types.h /usr/include/time.h /usr/include/sys/select.h \ /usr/include/bits/types/sigset_t.h /usr/include/bits/types/__sigset_t.h \
/usr/include/bits/select.h /usr/include/bits/sigset.h \ /usr/include/bits/types/struct_timeval.h \
/usr/include/bits/time.h /usr/include/sys/sysmacros.h \ /usr/include/bits/types/struct_timespec.h \
/usr/include/bits/pthreadtypes.h /usr/include/alloca.h \ /usr/include/bits/pthreadtypes.h /usr/include/bits/thread-shared-types.h \
/usr/include/bits/stdlib-float.h bitshuffle/bitshuffle_core.h \ /usr/include/bits/pthreadtypes-arch.h /usr/include/alloca.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/stdlib-bsearch.h /usr/include/bits/stdlib-float.h \
bitshuffle/bitshuffle_core.h \
/afs/psi.ch/sys/psi.ra/Programming/gcc/7.3.0/lib/gcc/x86_64-pc-linux-gnu/7.3.0/include/stdint.h \
/usr/include/stdint.h /usr/include/bits/wchar.h \ /usr/include/stdint.h /usr/include/bits/wchar.h \
bitshuffle/bitshuffle_internals.h bitshuffle/iochain.h \ /usr/include/bits/stdint-uintn.h bitshuffle/bitshuffle_internals.h \
.././include/lz4.h /usr/include/stdio.h /usr/include/libio.h \ bitshuffle/iochain.h .././include/lz4.h /usr/include/stdio.h \
/usr/include/_G_config.h /usr/include/wchar.h \ /afs/psi.ch/sys/psi.ra/Programming/gcc/7.3.0/lib/gcc/x86_64-pc-linux-gnu/7.3.0/include/stdarg.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/__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_lim.h /usr/include/bits/sys_errlist.h \
/usr/include/bits/stdio.h /usr/include/string.h /usr/include/xlocale.h \ /usr/include/bits/stdio.h /usr/include/string.h \
/usr/include/bits/string.h /usr/include/bits/string2.h /usr/include/bits/types/locale_t.h /usr/include/bits/types/__locale_t.h \
/usr/include/strings.h
/usr/include/stdc-predef.h: /usr/include/stdc-predef.h:
@@ -29,62 +40,88 @@ bitshuffle/bitshuffle.h:
/usr/include/stdlib.h: /usr/include/stdlib.h:
/usr/include/bits/libc-header-start.h:
/usr/include/features.h: /usr/include/features.h:
/usr/include/sys/cdefs.h: /usr/include/sys/cdefs.h:
/usr/include/bits/wordsize.h: /usr/include/bits/wordsize.h:
/usr/include/bits/long-double.h:
/usr/include/gnu/stubs.h: /usr/include/gnu/stubs.h:
/usr/include/gnu/stubs-64.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.ra/Programming/gcc/7.3.0/lib/gcc/x86_64-pc-linux-gnu/7.3.0/include/stddef.h:
/usr/include/bits/waitflags.h: /usr/include/bits/waitflags.h:
/usr/include/bits/waitstatus.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/endian.h:
/usr/include/bits/endian.h: /usr/include/bits/endian.h:
/usr/include/bits/byteswap.h: /usr/include/bits/byteswap.h:
/usr/include/bits/types.h: /usr/include/bits/uintn-identity.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/sys/select.h:
/usr/include/bits/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/pthreadtypes.h:
/usr/include/bits/thread-shared-types.h:
/usr/include/bits/pthreadtypes-arch.h:
/usr/include/alloca.h: /usr/include/alloca.h:
/usr/include/bits/stdlib-bsearch.h:
/usr/include/bits/stdlib-float.h: /usr/include/bits/stdlib-float.h:
bitshuffle/bitshuffle_core.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.ra/Programming/gcc/7.3.0/lib/gcc/x86_64-pc-linux-gnu/7.3.0/include/stdint.h:
/usr/include/stdint.h: /usr/include/stdint.h:
/usr/include/bits/wchar.h: /usr/include/bits/wchar.h:
/usr/include/bits/stdint-uintn.h:
bitshuffle/bitshuffle_internals.h: bitshuffle/bitshuffle_internals.h:
bitshuffle/iochain.h: bitshuffle/iochain.h:
@@ -93,13 +130,19 @@ bitshuffle/iochain.h:
/usr/include/stdio.h: /usr/include/stdio.h:
/usr/include/libio.h: /afs/psi.ch/sys/psi.ra/Programming/gcc/7.3.0/lib/gcc/x86_64-pc-linux-gnu/7.3.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: /usr/include/bits/stdio_lim.h:
@@ -109,8 +152,8 @@ bitshuffle/iochain.h:
/usr/include/string.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 \ bitshuffle/bitshuffle_core.lo: bitshuffle/bitshuffle_core.c \
/usr/include/stdc-predef.h bitshuffle/bitshuffle_core.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.ra/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/stdint.h /usr/include/bits/libc-header-start.h \
/usr/include/bits/wordsize.h /usr/include/gnu/stubs.h \ /usr/include/features.h /usr/include/sys/cdefs.h \
/usr/include/gnu/stubs-64.h /usr/include/bits/wchar.h \ /usr/include/bits/wordsize.h /usr/include/bits/long-double.h \
/usr/include/stdlib.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/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.ra/Programming/gcc/7.3.0/lib/gcc/x86_64-pc-linux-gnu/7.3.0/include/stddef.h \
/usr/include/bits/waitflags.h /usr/include/bits/waitstatus.h \ /usr/include/bits/waitflags.h /usr/include/bits/waitstatus.h \
/usr/include/endian.h /usr/include/bits/endian.h \ /usr/include/bits/floatn.h /usr/include/bits/floatn-common.h \
/usr/include/bits/byteswap.h /usr/include/bits/types.h \ /usr/include/sys/types.h /usr/include/bits/types/clock_t.h \
/usr/include/bits/typesizes.h /usr/include/bits/byteswap-16.h \ /usr/include/bits/types/clockid_t.h /usr/include/bits/types/time_t.h \
/usr/include/sys/types.h /usr/include/time.h /usr/include/sys/select.h \ /usr/include/bits/types/timer_t.h /usr/include/endian.h \
/usr/include/bits/select.h /usr/include/bits/sigset.h \ /usr/include/bits/endian.h /usr/include/bits/byteswap.h \
/usr/include/bits/time.h /usr/include/sys/sysmacros.h \ /usr/include/bits/uintn-identity.h /usr/include/sys/select.h \
/usr/include/bits/pthreadtypes.h /usr/include/alloca.h \ /usr/include/bits/select.h /usr/include/bits/types/sigset_t.h \
/usr/include/bits/stdlib-float.h bitshuffle/bitshuffle_internals.h \ /usr/include/bits/types/__sigset_t.h \
bitshuffle/iochain.h /usr/include/stdio.h /usr/include/libio.h \ /usr/include/bits/types/struct_timeval.h \
/usr/include/_G_config.h /usr/include/wchar.h \ /usr/include/bits/types/struct_timespec.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/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.ra/Programming/gcc/7.3.0/lib/gcc/x86_64-pc-linux-gnu/7.3.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_lim.h /usr/include/bits/sys_errlist.h \
/usr/include/bits/stdio.h /usr/include/string.h /usr/include/xlocale.h \ /usr/include/bits/stdio.h /usr/include/string.h \
/usr/include/bits/string.h /usr/include/bits/string2.h \ /usr/include/bits/types/locale_t.h /usr/include/bits/types/__locale_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/emmintrin.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/xmmintrin.h \ /afs/psi.ch/sys/psi.ra/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/mmintrin.h \ /afs/psi.ch/sys/psi.ra/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/mm_malloc.h /afs/psi.ch/sys/psi.ra/Programming/gcc/7.3.0/lib/gcc/x86_64-pc-linux-gnu/7.3.0/include/mmintrin.h \
/afs/psi.ch/sys/psi.ra/Programming/gcc/7.3.0/lib/gcc/x86_64-pc-linux-gnu/7.3.0/include/mm_malloc.h
/usr/include/stdc-predef.h: /usr/include/stdc-predef.h:
bitshuffle/bitshuffle_core.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.ra/Programming/gcc/7.3.0/lib/gcc/x86_64-pc-linux-gnu/7.3.0/include/stdint.h:
/usr/include/stdint.h: /usr/include/stdint.h:
/usr/include/bits/libc-header-start.h:
/usr/include/features.h: /usr/include/features.h:
/usr/include/sys/cdefs.h: /usr/include/sys/cdefs.h:
/usr/include/bits/wordsize.h: /usr/include/bits/wordsize.h:
/usr/include/bits/long-double.h:
/usr/include/gnu/stubs.h: /usr/include/gnu/stubs.h:
/usr/include/gnu/stubs-64.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/wchar.h:
/usr/include/bits/stdint-intn.h:
/usr/include/bits/stdint-uintn.h:
/usr/include/stdlib.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.ra/Programming/gcc/7.3.0/lib/gcc/x86_64-pc-linux-gnu/7.3.0/include/stddef.h:
/usr/include/bits/waitflags.h: /usr/include/bits/waitflags.h:
/usr/include/bits/waitstatus.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/endian.h:
/usr/include/bits/endian.h: /usr/include/bits/endian.h:
/usr/include/bits/byteswap.h: /usr/include/bits/byteswap.h:
/usr/include/bits/types.h: /usr/include/bits/uintn-identity.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/sys/select.h:
/usr/include/bits/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/pthreadtypes.h:
/usr/include/bits/thread-shared-types.h:
/usr/include/bits/pthreadtypes-arch.h:
/usr/include/alloca.h: /usr/include/alloca.h:
/usr/include/bits/stdlib-bsearch.h:
/usr/include/bits/stdlib-float.h: /usr/include/bits/stdlib-float.h:
bitshuffle/bitshuffle_internals.h: bitshuffle/bitshuffle_internals.h:
@@ -92,13 +130,19 @@ bitshuffle/iochain.h:
/usr/include/stdio.h: /usr/include/stdio.h:
/usr/include/libio.h: /afs/psi.ch/sys/psi.ra/Programming/gcc/7.3.0/lib/gcc/x86_64-pc-linux-gnu/7.3.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: /usr/include/bits/stdio_lim.h:
@@ -108,16 +152,16 @@ bitshuffle/iochain.h:
/usr/include/string.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.ra/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.ra/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.ra/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: /afs/psi.ch/sys/psi.ra/Programming/gcc/7.3.0/lib/gcc/x86_64-pc-linux-gnu/7.3.0/include/mm_malloc.h:

View File

@@ -1,68 +1,100 @@
bitshuffle/iochain.lo: bitshuffle/iochain.c /usr/include/stdc-predef.h \ 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/stdlib.h /usr/include/bits/libc-header-start.h \
/usr/include/bits/wordsize.h /usr/include/gnu/stubs.h \ /usr/include/features.h /usr/include/sys/cdefs.h \
/usr/include/gnu/stubs-64.h \ /usr/include/bits/wordsize.h /usr/include/bits/long-double.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/gnu/stubs.h /usr/include/gnu/stubs-64.h \
/afs/psi.ch/sys/psi.ra/Programming/gcc/7.3.0/lib/gcc/x86_64-pc-linux-gnu/7.3.0/include/stddef.h \
/usr/include/bits/waitflags.h /usr/include/bits/waitstatus.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/endian.h /usr/include/bits/endian.h \
/usr/include/bits/byteswap.h /usr/include/bits/types.h \ /usr/include/bits/byteswap.h /usr/include/bits/uintn-identity.h \
/usr/include/bits/typesizes.h /usr/include/bits/byteswap-16.h \ /usr/include/sys/select.h /usr/include/bits/select.h \
/usr/include/sys/types.h /usr/include/time.h /usr/include/sys/select.h \ /usr/include/bits/types/sigset_t.h /usr/include/bits/types/__sigset_t.h \
/usr/include/bits/select.h /usr/include/bits/sigset.h \ /usr/include/bits/types/struct_timeval.h \
/usr/include/bits/time.h /usr/include/sys/sysmacros.h \ /usr/include/bits/types/struct_timespec.h \
/usr/include/bits/pthreadtypes.h /usr/include/alloca.h \ /usr/include/bits/pthreadtypes.h /usr/include/bits/thread-shared-types.h \
/usr/include/bits/stdlib-float.h bitshuffle/iochain.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/stdc-predef.h:
/usr/include/stdlib.h: /usr/include/stdlib.h:
/usr/include/bits/libc-header-start.h:
/usr/include/features.h: /usr/include/features.h:
/usr/include/sys/cdefs.h: /usr/include/sys/cdefs.h:
/usr/include/bits/wordsize.h: /usr/include/bits/wordsize.h:
/usr/include/bits/long-double.h:
/usr/include/gnu/stubs.h: /usr/include/gnu/stubs.h:
/usr/include/gnu/stubs-64.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.ra/Programming/gcc/7.3.0/lib/gcc/x86_64-pc-linux-gnu/7.3.0/include/stddef.h:
/usr/include/bits/waitflags.h: /usr/include/bits/waitflags.h:
/usr/include/bits/waitstatus.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/endian.h:
/usr/include/bits/endian.h: /usr/include/bits/endian.h:
/usr/include/bits/byteswap.h: /usr/include/bits/byteswap.h:
/usr/include/bits/types.h: /usr/include/bits/uintn-identity.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/sys/select.h:
/usr/include/bits/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/pthreadtypes.h:
/usr/include/bits/thread-shared-types.h:
/usr/include/bits/pthreadtypes-arch.h:
/usr/include/alloca.h: /usr/include/alloca.h:
/usr/include/bits/stdlib-bsearch.h:
/usr/include/bits/stdlib-float.h: /usr/include/bits/stdlib-float.h:
bitshuffle/iochain.h: bitshuffle/iochain.h:

Binary file not shown.

Binary file not shown.

View File

@@ -1,12 +0,0 @@
# bitshuffle/bitshuffle.lo - a libtool object file
# Generated by libtool (GNU libtool) 2.4.6
#
# Please DO NOT delete this file!
# It is necessary for linking the library.
# Name of the PIC object.
pic_object='.libs/bitshuffle.o'
# Name of the non-PIC object
non_pic_object='bitshuffle.o'

Binary file not shown.

View File

@@ -1,12 +0,0 @@
# bitshuffle/bitshuffle_core.lo - a libtool object file
# Generated by libtool (GNU libtool) 2.4.6
#
# Please DO NOT delete this file!
# It is necessary for linking the library.
# Name of the PIC object.
pic_object='.libs/bitshuffle_core.o'
# Name of the non-PIC object
non_pic_object='bitshuffle_core.o'

Binary file not shown.

View File

@@ -1,12 +0,0 @@
# bitshuffle/iochain.lo - a libtool object file
# Generated by libtool (GNU libtool) 2.4.6
#
# Please DO NOT delete this file!
# It is necessary for linking the library.
# Name of the PIC object.
pic_object='.libs/iochain.o'
# Name of the non-PIC object
non_pic_object='iochain.o'

Binary file not shown.

View File

@@ -30,18 +30,119 @@
using namespace std; using namespace std;
bool MUTEX=true; /*
bool CHECK_CONSISTENCY_CA_STATE=true; int CAFE::wfExpress(const unsigned int handle) {
bool SF_WITH_PULSE_ID = false; int status = ICAFE_NORMAL;
cafeConduit_set_by_handle & handle_index = cs.get<by_handle> ();
cafeConduit_set_by_handle::iterator it_handle;
vector<PVGroup> PVGroupV; it_handle = handle_index.find(handle);
vector<PVGroup> PVGroupPseudo;
vector<deviceCollection> deviceCollectionV;
vector<string> globalChannelList;
map<vector<unsigned int>, string> groupPseudoMap;
cafeGroup_set gs; if (it_handle != handle_index.end())
cafeConduit_set cs; {
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 //5+ long long
@@ -876,7 +977,15 @@ int CAFE::get(const unsigned int handle, PVDataHolder & pvd)
} }
if ((status=cafeGranules.channelExecuteGet(handle)) != ICAFE_NORMAL) if ((status=cafeGranules.channelExecuteGet(handle)) != ICAFE_NORMAL)
{ {
std::cout << "HANDLE " << handle << __METHOD__ << std::endl;
(*it_handle).getPVDataHolder(pvd); (*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.status=status;
pvd.alarmStatus=-1; pvd.alarmStatus=-1;
pvd.alarmSeverity=-1; pvd.alarmSeverity=-1;
@@ -5128,7 +5237,13 @@ int CAFE::supplementHandlesV(std::vector<unsigned int> hV)
for (int ij=0; ij<20; ++ij) { for (int ij=0; ij<20; ++ij) {
if (!initCallbackComplete(allHandles) ) { if (!initCallbackComplete(allHandles) ) {
//cout << "Will wait for " << ij << " " << (1+ij)*0.1 << " ======= SECONDS ==== " << endl; //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 cafeStatus;
cafeStatus.report(status); cafeStatus.report(status);
} }
// Check if any monitors for this channel are to be started..... // Check if any monitors for this channel are to be started.....
// If monitors are to be started, then start the monitors // If monitors are to be started, then start the monitors
// pass on handler functions // 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 (it_handle != handle_index.end())
{ {
if(MUTEX) if(MUTEX)
{ {
cafeMutex.lock(); cafeMutex.lock();
@@ -175,7 +175,9 @@ void MonitorPolicy::PyCallbackHandlerMonitor (struct event_handler_args args)
cafeMutex.unlock(); cafeMutex.unlock();
} }
#if HAVE_PYTHON_H #if HAVE_PYTHON_H
unsigned long monid = (unsigned long) (*it_handle).getUsrArgs(); unsigned long monid = (unsigned long) (*it_handle).getUsrArgs();
MonitorPolicy mp = (*it_handle).getMonitorPolicy(monid); MonitorPolicy mp = (*it_handle).getMonitorPolicy(monid);
ptime timeNow(microsec_clock::local_time()); ptime timeNow(microsec_clock::local_time());
@@ -199,13 +201,15 @@ void MonitorPolicy::PyCallbackHandlerMonitor (struct event_handler_args args)
else { else {
mp.setLastUpdate(timeNow); mp.setLastUpdate(timeNow);
handle_index.modify(it_handle, change_monitorPolicy(mp)); handle_index.modify(it_handle, change_monitorPolicy(mp));
} }
//cout << __FILE__ << "/" << __LINE__ << "/" << __METHOD__ << endl; //cout << __FILE__ << "/" << __LINE__ << "/" << __METHOD__ << endl;
//(*it_handle).PyEventHandler(); //(*it_handle).PyEventHandler();
//(*it_handle).CyEventHandler(); //pushes handle, pvname //(*it_handle).CyEventHandler(); //pushes handle, pvname
(*it_handle).CyMonitorHandler(); (*it_handle).CyMonitorHandler();
#endif #endif
} }
else else
{ {

View File

@@ -415,7 +415,7 @@ void * Conduit::CyDataEventHandler() const
void * Conduit::CyMonitorHandler() const void * Conduit::CyMonitorHandler() const
{ {
#define __METHOD__ "Conduit::CyMonitorHandler( " #define __METHOD__ "Conduit::CyMonitorHandler() "
void * cythonCallback = NULL; void * cythonCallback = NULL;
unsigned int ncbparameters = 1; unsigned int ncbparameters = 1;
@@ -565,13 +565,14 @@ int Conduit::putWithCallback(pCallback callbackHandlerPut) const
int Conduit::get(void) const int Conduit::get(void) const
{ {
#define __METHOD__ "Conduit::get(void) " #define __METHOD__ "Conduit::get(void) "
/* For testing readout time for waveforms! /* For testing readout time for waveforms! */
/*
using namespace boost::posix_time; using namespace boost::posix_time;
ptime timeStart(microsec_clock::local_time()); ptime timeStart(microsec_clock::local_time());
double timeElapsed=0; double timeElapsed=0;
unsigned int nPoll=0; unsigned int nPoll=0;
unsigned nevent = 10;
for (int i=0; i< 100000; ++i) { for (int i=0; i< nevent; ++i) {
ca_array_get(channelRequestMetaData.dbrDataType, channelRequestMetaData.nelem, ca_array_get(channelRequestMetaData.dbrDataType, channelRequestMetaData.nelem,
channelRegalia.channelID,dataBuffer); channelRegalia.channelID,dataBuffer);
} }
@@ -580,6 +581,7 @@ int Conduit::get(void) const
timeElapsed= (double) duration.total_microseconds()/1000000.0; timeElapsed= (double) duration.total_microseconds()/1000000.0;
std::cout << "Time Elapsed " << timeElapsed << std::endl; 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, return ca_array_get(channelRequestMetaData.dbrDataType, channelRequestMetaData.nelem,
channelRegalia.channelID, dataBuffer); channelRegalia.channelID, dataBuffer);
@@ -587,6 +589,8 @@ int Conduit::get(void) const
#undef __METHOD__ #undef __METHOD__
}; };
/** /**
* \brief Called from Granules.cc \n * \brief Called from Granules.cc \n
* Retrieves PV data through channel access into the Conduit::dataBuffer thru callbackHandlerGet * 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 int Conduit::getWithCallback(pCallback callbackHandlerGet) const
{ {
#define __METHOD__ "Conduit::getCallback(pCallback callbackHandlerGet) " #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, return ca_array_get_callback(channelRequestMetaData.dbrDataType, channelRequestMetaData.nelem,
channelRegalia.channelID,callbackHandlerGet,(void *) (long long) handle ); channelRegalia.channelID,callbackHandlerGet,(void *) (long long) handle );

View File

@@ -5,7 +5,7 @@
/// \version CAFE 1.6.0 /// \version CAFE 1.6.0
/// ///
#include <epicsMutex.h> //#include <epicsMutex.h>
#include <connect.h> #include <connect.h>
#include <conduitFriends.h> #include <conduitFriends.h>
@@ -27,9 +27,25 @@
#endif #endif
bool MUTEX=true;
bool CHECK_CONSISTENCY_CA_STATE=true;
bool SF_WITH_PULSE_ID = false;
using namespace std; 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;
//epicsMutex cafeMutex;
/** /**
* \brief Return epics Version as an unsigned short \n * \brief Return epics Version as an unsigned short \n
* e.g., 31412 for v3.14.12 * e.g., 31412 for v3.14.12
@@ -190,16 +206,17 @@ int Connect::createChannel(unsigned int handle, const char * pv, chid &pCh)
ChannelRequestStatus cre; ChannelRequestStatus cre;
handleHelper.getChannelRequestStatusGet (handle, cre); handleHelper.getChannelRequestStatusGet (handle, cre);
nPoll=0; nPoll=0;
unsigned int microSecondsWait=2000;
while (cre.getCallbackProgressKind()==(CAFENUM::CallbackProgressKind) CAFENUM::PENDING while (cre.getCallbackProgressKind()==(CAFENUM::CallbackProgressKind) CAFENUM::PENDING
&& nPoll<50) && nPoll<200)
{ {
#if HAVE_BOOST_THREAD #if HAVE_BOOST_THREAD
boost::this_thread::sleep_for(boost::chrono::microseconds(2000)); boost::this_thread::sleep_for(boost::chrono::microseconds(microSecondsWait));
#else #else
#if HAVE_LINUX #if HAVE_LINUX
usleep(2000); usleep(microSecondsWait);
#endif #endif
#endif #endif
++nPoll; ++nPoll;
@@ -209,12 +226,22 @@ int Connect::createChannel(unsigned int handle, const char * pv, chid &pCh)
//std::cout << __FILE__ << ":" << __LINE__ << " nPoll=" << nPoll << std::endl; //std::cout << __FILE__ << ":" << __LINE__ << " nPoll=" << nPoll << std::endl;
if ((*it_handle).isConnected() && cre.getCallbackProgressKind()==(CAFENUM::CallbackProgressKind) CAFENUM::PENDING) 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 << __METHOD__ << std::endl;
std::cout << handleHelper.getPVFromHandle(handle) << " with handle " << handle << 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 << "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) }//if (channelOpenPolicy.getWhenToFlushSendBuffer()==FLUSH_AFTER_EACH_CHANNEL_CREATION)

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 // 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 channelRequestMetaDataClient= (*it_handle).getChannelRequestMetaDataClient(); // 2
//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 << " channelRequestMetaData.getNelem() " << channelRequestMetaData.getNelem() << endl;
//cout << " channelRequestMetaDataClient.getNelem() " << channelRequestMetaDataClient.getNelem() << endl; //cout << " channelRequestMetaDataClient.getNelem() " << channelRequestMetaDataClient.getNelem() << endl;
//cout << " channelRequestMetaDataClient.getOffset() " << channelRequestMetaDataClient.getOffset() << 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) 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 & handle_index=cs.get<by_handle>();
cafeConduit_set_by_handle::iterator it_handle; cafeConduit_set_by_handle::iterator it_handle;
it_handle = handle_index.find(_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. # 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 # This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it, # 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 = \ am__make_running_with_option = \
case $${target_option-} in \ case $${target_option-} in \
?) ;; \ ?) ;; \
@@ -76,15 +86,13 @@ POST_INSTALL = :
NORMAL_UNINSTALL = : NORMAL_UNINSTALL = :
PRE_UNINSTALL = : PRE_UNINSTALL = :
POST_UNINSTALL = : POST_UNINSTALL = :
build_triplet = x86_64-unknown-linux-gnu build_triplet = x86_64-pc-linux-gnu
host_triplet = x86_64-unknown-linux-gnu host_triplet = x86_64-pc-linux-gnu
am__append_1 = PyCafe.cpp #am__append_1 = PyCafe.cpp
#am__append_2 = zbsCafeService.cpp zbsDataHolders.cpp \ #am__append_2 = zbsCafeService.cpp zbsDataHolders.cpp \
# bitshuffle/bitshuffle_core.c bitshuffle/bitshuffle.c bitshuffle/iochain.c # bitshuffle/bitshuffle_core.c bitshuffle/bitshuffle.c bitshuffle/iochain.c
subdir = src subdir = src
DIST_COMMON = $(srcdir)/makefile.in $(srcdir)/makefile.am \
$(top_srcdir)/./depcomp
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \ am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \
$(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
@@ -92,6 +100,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \
$(top_srcdir)/configure.ac $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4) $(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/makefile.am $(am__DIST_COMMON)
mkinstalldirs = $(install_sh) -d mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = $(top_builddir)/./include/config.h CONFIG_HEADER = $(top_builddir)/./include/config.h
CONFIG_CLEAN_FILES = CONFIG_CLEAN_FILES =
@@ -137,7 +146,7 @@ am__libcafe_la_SOURCES_DIST = cafe.cpp cafeCache.cpp cafeGroup.cpp \
zbsCafeService.cpp zbsDataHolders.cpp \ zbsCafeService.cpp zbsDataHolders.cpp \
bitshuffle/bitshuffle_core.c bitshuffle/bitshuffle.c \ bitshuffle/bitshuffle_core.c bitshuffle/bitshuffle.c \
bitshuffle/iochain.c bitshuffle/iochain.c
am__objects_1 = PyCafe.lo #am__objects_1 = PyCafe.lo
am__dirstamp = $(am__leading_dot)dirstamp am__dirstamp = $(am__leading_dot)dirstamp
#am__objects_2 = zbsCafeService.lo zbsDataHolders.lo \ #am__objects_2 = zbsCafeService.lo zbsDataHolders.lo \
# bitshuffle/bitshuffle_core.lo \ # bitshuffle/bitshuffle_core.lo \
@@ -173,7 +182,25 @@ am__v_at_0 = @
am__v_at_1 = am__v_at_1 =
DEFAULT_INCLUDES = -I. -I$(top_builddir)/./include DEFAULT_INCLUDES = -I. -I$(top_builddir)/./include
depcomp = $(SHELL) $(top_srcdir)/./depcomp 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 am__mv = mv -f
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
@@ -237,8 +264,9 @@ am__define_uniq_tagged_files = \
done | $(am__uniquify_input)` done | $(am__uniquify_input)`
ETAGS = etags ETAGS = etags
CTAGS = ctags CTAGS = ctags
am__DIST_COMMON = $(srcdir)/makefile.in $(top_srcdir)/./depcomp
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) 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/gitea/CAFE/cpp/missing aclocal-1.16
AMTAR = $${TAR-tar} AMTAR = $${TAR-tar}
#if HAVE_PYCAFE_EXT_ #if HAVE_PYCAFE_EXT_
@@ -248,22 +276,22 @@ AMTAR = $${TAR-tar}
#if HAVE_PYTHON_ #if HAVE_PYTHON_
#libcafe_la_SOURCES += pycafe/PyCafe.cpp #libcafe_la_SOURCES += pycafe/PyCafe.cpp
#endif #endif
AM_CPPFLAGS = -fexceptions -fPIC -std=c++1z -I/usr/local/epics/base-7.0.6/include/ -I/usr/local/epics/base-7.0.6/include/os/Linux -I/usr/local/epics/base-7.0.6/include/compiler/gcc -I/opt/gfa/cafe/boost/boost_1_61_0/include/boost -I/opt/gfa/cafe/boost/boost_1_61_0/include -I/opt/gfa/python-3.5/latest/include/python3.5m -I/opt/gfa/python-3.5/latest/lib/python3.5/site-packages/numpy/core/include -I/opt/gfa/python-3.5/latest/include -I/opt/gfa/python-3.5/latest/include/QtCore -I/opt/gfa/python-3.5/latest/include/QtXml -I$(top_srcdir)/include AM_CPPFLAGS = -fexceptions -fPIC -std=c++1z -z nodefs -I/usr/local/epics/base-7.0.9/include/ -I/usr/local/epics/base-7.0.9/include/os/Linux -I/usr/local/epics/base-7.0.9/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$(top_srcdir)/include
AM_DEFAULT_VERBOSITY = 1 AM_DEFAULT_VERBOSITY = 1
AM_LDFLAGS = -L/usr/local/epics/base-7.0.6/lib/RHEL7-x86_64 -Wl,-rpath,/usr/local/epics/base-7.0.6/lib/RHEL7-x86_64 -L/opt/gfa/python-3.5/latest/lib -Wl,-rpath,/opt/gfa/python-3.5/latest/lib -L/opt/gfa/python-3.5/latest/lib -Wl,-rpath,/opt/gfa/python-3.5/latest/lib AM_LDFLAGS = -L/usr/local/epics/base-7.0.9/lib/RHEL8-x86_64 -Wl,-rpath,/usr/local/epics/base-7.0.9/lib/RHEL8-x86_64
AR = ar AR = ar
AUTOCONF = ${SHELL} /afs/psi.ch/project/cafe/gitlab/CAFE/cpp/missing autoconf AUTOCONF = ${SHELL} /afs/psi.ch/project/cafe/gitea/CAFE/cpp/missing autoconf
AUTOHEADER = ${SHELL} /afs/psi.ch/project/cafe/gitlab/CAFE/cpp/missing autoheader AUTOHEADER = ${SHELL} /afs/psi.ch/project/cafe/gitea/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/gitea/CAFE/cpp/missing automake-1.16
AWK = gawk AWK = gawk
CAFE_CPPFLAGS = -I$(top_srcdir)/include 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 CCDEPMODE = depmode=gcc3
CFLAGS = -g -O2 CFLAGS = -g -O2
CPP = /opt/psi/Programming/gcc/7.3.0/bin/gcc -E CPP = /opt/psi/Programming/gcc/10.4.0/bin/gcc -E
CPPFLAGS = -fexceptions -fPIC -std=c++1z -I/usr/local/epics/base-7.0.6/include/ -I/usr/local/epics/base-7.0.6/include/os/Linux -I/usr/local/epics/base-7.0.6/include/compiler/gcc -I/opt/gfa/cafe/boost/boost_1_61_0/include/boost -I/opt/gfa/cafe/boost/boost_1_61_0/include -I/opt/gfa/python-3.5/latest/include/python3.5m -I/opt/gfa/python-3.5/latest/lib/python3.5/site-packages/numpy/core/include -I/opt/gfa/python-3.5/latest/include -I/opt/gfa/python-3.5/latest/include/QtCore -I/opt/gfa/python-3.5/latest/include/QtXml CPPFLAGS = -fexceptions -fPIC -std=c++1z -z nodefs -I/usr/local/epics/base-7.0.9/include/ -I/usr/local/epics/base-7.0.9/include/os/Linux -I/usr/local/epics/base-7.0.9/include/compiler/gcc -I/opt/gfa/cafe/boost/boost_1_61_0/include/boost -I/opt/gfa/cafe/boost/boost_1_61_0/include
CXX = /opt/psi/Programming/gcc/7.3.0/bin/g++ CXX = /opt/psi/Programming/gcc/10.4.0/bin/g++
CXXCPP = /opt/psi/Programming/gcc/7.3.0/bin/g++ -E CXXCPP = /opt/psi/Programming/gcc/10.4.0/bin/g++ -E
CXXDEPMODE = depmode=gcc3 CXXDEPMODE = depmode=gcc3
CXXFLAGS = -g -O2 CXXFLAGS = -g -O2
CYGPATH_W = echo CYGPATH_W = echo
@@ -275,28 +303,28 @@ DUMPBIN =
ECHO_C = ECHO_C =
ECHO_N = -n ECHO_N = -n
ECHO_T = ECHO_T =
EGREP = /usr/bin/grep -E EGREP = /bin/grep -E
EXEEXT = EXEEXT =
FGREP = /usr/bin/grep -F FGREP = /bin/grep -F
GREP = /usr/bin/grep GREP = /bin/grep
INSTALL = /usr/bin/install -c INSTALL = /bin/install -c
INSTALL_DATA = ${INSTALL} -m 644 INSTALL_DATA = ${INSTALL} -m 644
INSTALL_PROGRAM = ${INSTALL} INSTALL_PROGRAM = ${INSTALL}
INSTALL_SCRIPT = ${INSTALL} INSTALL_SCRIPT = ${INSTALL}
INSTALL_STRIP_PROGRAM = $(install_sh) -c -s INSTALL_STRIP_PROGRAM = $(install_sh) -c -s
LD = /usr/bin/ld -m elf_x86_64 LD = /bin/ld -m elf_x86_64
LDFLAGS = -L/usr/local/epics/base-7.0.6/lib/RHEL7-x86_64 -Wl,-rpath,/usr/local/epics/base-7.0.6/lib/RHEL7-x86_64 -L/opt/gfa/python-3.5/latest/lib -Wl,-rpath,/opt/gfa/python-3.5/latest/lib -L/opt/gfa/python-3.5/latest/lib -Wl,-rpath,/opt/gfa/python-3.5/latest/lib LDFLAGS = -L/usr/local/epics/base-7.0.9/lib/RHEL8-x86_64 -Wl,-rpath,/usr/local/epics/base-7.0.9/lib/RHEL8-x86_64
LIBOBJS = LIBOBJS =
LIBS = -lQtXml -lQtCore -lpython3.5m LIBS =
LIBTOOL = $(SHELL) $(top_builddir)/libtool LIBTOOL = $(SHELL) $(top_builddir)/libtool
LIPO = LIPO =
LN_S = ln -s LN_S = ln -s
LTLIBOBJS = LTLIBOBJS =
LT_SYS_LIBRARY_PATH = LT_SYS_LIBRARY_PATH =
MAKEINFO = ${SHELL} /afs/psi.ch/project/cafe/gitlab/CAFE/cpp/missing makeinfo MAKEINFO = ${SHELL} /afs/psi.ch/project/cafe/gitea/CAFE/cpp/missing makeinfo
MANIFEST_TOOL = : MANIFEST_TOOL = :
MKDIR_P = /usr/bin/mkdir -p MKDIR_P = /bin/mkdir -p
NM = /usr/bin/nm -B NM = /bin/nm -B
NMEDIT = NMEDIT =
OBJDUMP = objdump OBJDUMP = objdump
OBJEXT = o OBJEXT = o
@@ -305,23 +333,23 @@ OTOOL64 =
PACKAGE = cafe PACKAGE = cafe
PACKAGE_BUGREPORT = Bug reports to: jan.chrin@psi.ch PACKAGE_BUGREPORT = Bug reports to: jan.chrin@psi.ch
PACKAGE_NAME = CAFE PACKAGE_NAME = CAFE
PACKAGE_STRING = CAFE 1.15.0 PACKAGE_STRING = CAFE 1.22.0
PACKAGE_TARNAME = cafe PACKAGE_TARNAME = cafe
PACKAGE_URL = PACKAGE_URL =
PACKAGE_VERSION = 1.15.0 PACKAGE_VERSION = 1.22.0
PATH_SEPARATOR = : PATH_SEPARATOR = :
RANLIB = ranlib RANLIB = ranlib
SED = /usr/bin/sed SED = /bin/sed
SET_MAKE = SET_MAKE =
SHELL = /bin/sh SHELL = /bin/sh
STRIP = strip STRIP = strip
VERSION = 1.15.0 VERSION = 1.22.0
abs_builddir = /afs/psi.ch/project/cafe/gitlab/CAFE/cpp/src abs_builddir = /afs/psi.ch/project/cafe/gitea/CAFE/cpp/src
abs_srcdir = /afs/psi.ch/project/cafe/gitlab/CAFE/cpp/src abs_srcdir = /afs/psi.ch/project/cafe/gitea/CAFE/cpp/src
abs_top_builddir = /afs/psi.ch/project/cafe/gitlab/CAFE/cpp abs_top_builddir = /afs/psi.ch/project/cafe/gitea/CAFE/cpp
abs_top_srcdir = /afs/psi.ch/project/cafe/gitlab/CAFE/cpp abs_top_srcdir = /afs/psi.ch/project/cafe/gitea/CAFE/cpp
ac_ct_AR = ar 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_CXX =
ac_ct_DUMPBIN = ac_ct_DUMPBIN =
am__include = include am__include = include
@@ -330,27 +358,27 @@ am__quote =
am__tar = $${TAR-tar} chof - "$$tardir" am__tar = $${TAR-tar} chof - "$$tardir"
am__untar = $${TAR-tar} xf - am__untar = $${TAR-tar} xf -
bindir = ${exec_prefix}/bin bindir = ${exec_prefix}/bin
build = x86_64-unknown-linux-gnu build = x86_64-pc-linux-gnu
build_alias = build_alias =
build_cpu = x86_64 build_cpu = x86_64
build_os = linux-gnu build_os = linux-gnu
build_vendor = unknown build_vendor = pc
builddir = . builddir = .
datadir = ${datarootdir} datadir = ${datarootdir}
datarootdir = ${prefix}/share datarootdir = ${prefix}/share
docdir = ${datarootdir}/doc/${PACKAGE_TARNAME} docdir = ${datarootdir}/doc/${PACKAGE_TARNAME}
dvidir = ${docdir} dvidir = ${docdir}
exec_prefix = ${prefix} exec_prefix = ${prefix}
host = x86_64-unknown-linux-gnu host = x86_64-pc-linux-gnu
host_alias = host_alias =
host_cpu = x86_64 host_cpu = x86_64
host_os = linux-gnu host_os = linux-gnu
host_vendor = unknown host_vendor = pc
htmldir = ${docdir} htmldir = ${docdir}
includedir = ${prefix}/include includedir = ${prefix}/include
infodir = ${datarootdir}/info infodir = ${datarootdir}/info
install_sh = ${SHELL} /afs/psi.ch/project/cafe/gitlab/CAFE/cpp/install-sh install_sh = ${SHELL} /afs/psi.ch/project/cafe/gitea/CAFE/cpp/install-sh
libdir = /opt/gfa/cafe/cpp/cafe-1.15.0-py35-gcc-7.3.0/lib/RHEL7-x86_64 libdir = /opt/gfa/cafe/cpp/cafe-1.22.0-gcc-10.4.0/lib/RHEL8-x86_64
libexecdir = ${exec_prefix}/libexec libexecdir = ${exec_prefix}/libexec
localedir = ${datarootdir}/locale localedir = ${datarootdir}/locale
localstatedir = ${prefix}/var localstatedir = ${prefix}/var
@@ -358,7 +386,7 @@ mandir = ${datarootdir}/man
mkdir_p = $(MKDIR_P) mkdir_p = $(MKDIR_P)
oldincludedir = /usr/include oldincludedir = /usr/include
pdfdir = ${docdir} pdfdir = ${docdir}
prefix = /opt/gfa/cafe/cpp/cafe-1.15.0-py35-gcc-7.3.0 prefix = /opt/gfa/cafe/cpp/cafe-1.22.0-gcc-10.4.0
program_transform_name = s,x,x, program_transform_name = s,x,x,
psdir = ${docdir} psdir = ${docdir}
sbindir = ${exec_prefix}/sbin sbindir = ${exec_prefix}/sbin
@@ -377,8 +405,8 @@ lib_LTLIBRARIES = libcafe.la
#1st: current-age #1st: current-age
#2nd: age #2nd: age
#3rd: revision #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 #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 16:0:15 libcafe_la_LDFLAGS = -version-info 23:0:22
libcafe_la_SOURCES = cafe.cpp cafeCache.cpp cafeGroup.cpp \ libcafe_la_SOURCES = cafe.cpp cafeCache.cpp cafeGroup.cpp \
cafeVectors.cpp cafeXML.cpp callbackHandlerCreate.cpp \ cafeVectors.cpp cafeXML.cpp callbackHandlerCreate.cpp \
callbackHandlerMonitor.cpp conduit.cpp connect.cpp \ callbackHandlerMonitor.cpp conduit.cpp connect.cpp \
@@ -404,14 +432,13 @@ $(srcdir)/makefile.in: $(srcdir)/makefile.am $(am__configure_deps)
echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu src/makefile'; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu src/makefile'; \
$(am__cd) $(top_srcdir) && \ $(am__cd) $(top_srcdir) && \
$(AUTOMAKE) --gnu src/makefile $(AUTOMAKE) --gnu src/makefile
.PRECIOUS: makefile
makefile: $(srcdir)/makefile.in $(top_builddir)/config.status makefile: $(srcdir)/makefile.in $(top_builddir)/config.status
@case '$?' in \ @case '$?' in \
*config.status*) \ *config.status*) \
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
*) \ *) \
echo ' 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__depfiles_maybe);; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \
esac; esac;
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
@@ -481,34 +508,40 @@ mostlyclean-compile:
distclean-compile: distclean-compile:
-rm -f *.tab.c -rm -f *.tab.c
include ./$(DEPDIR)/PyCafe.Plo include ./$(DEPDIR)/PyCafe.Plo # am--include-marker
include ./$(DEPDIR)/cafe.Plo include ./$(DEPDIR)/cafe.Plo # am--include-marker
include ./$(DEPDIR)/cafeCache.Plo include ./$(DEPDIR)/cafeCache.Plo # am--include-marker
include ./$(DEPDIR)/cafeGroup.Plo include ./$(DEPDIR)/cafeGroup.Plo # am--include-marker
include ./$(DEPDIR)/cafeVectors.Plo include ./$(DEPDIR)/cafeVectors.Plo # am--include-marker
include ./$(DEPDIR)/cafeXML.Plo include ./$(DEPDIR)/cafeXML.Plo # am--include-marker
include ./$(DEPDIR)/callbackHandlerCreate.Plo include ./$(DEPDIR)/callbackHandlerCreate.Plo # am--include-marker
include ./$(DEPDIR)/callbackHandlerMonitor.Plo include ./$(DEPDIR)/callbackHandlerMonitor.Plo # am--include-marker
include ./$(DEPDIR)/conduit.Plo include ./$(DEPDIR)/conduit.Plo # am--include-marker
include ./$(DEPDIR)/conduitGroup.Plo include ./$(DEPDIR)/conduitGroup.Plo # am--include-marker
include ./$(DEPDIR)/connect.Plo include ./$(DEPDIR)/connect.Plo # am--include-marker
include ./$(DEPDIR)/connectCallbacks.Plo include ./$(DEPDIR)/connectCallbacks.Plo # am--include-marker
include ./$(DEPDIR)/connectGroup.Plo include ./$(DEPDIR)/connectGroup.Plo # am--include-marker
include ./$(DEPDIR)/exceptionsHelper.Plo include ./$(DEPDIR)/exceptionsHelper.Plo # am--include-marker
include ./$(DEPDIR)/granules.Plo include ./$(DEPDIR)/granules.Plo # am--include-marker
include ./$(DEPDIR)/handleHelper.Plo include ./$(DEPDIR)/handleHelper.Plo # am--include-marker
include ./$(DEPDIR)/helper.Plo include ./$(DEPDIR)/helper.Plo # am--include-marker
include ./$(DEPDIR)/loadCollectionXMLParser.Plo include ./$(DEPDIR)/loadCollectionXMLParser.Plo # am--include-marker
include ./$(DEPDIR)/loadGroupXMLParser.Plo include ./$(DEPDIR)/loadGroupXMLParser.Plo # am--include-marker
include ./$(DEPDIR)/methodCallbacks.Plo include ./$(DEPDIR)/methodCallbacks.Plo # am--include-marker
include ./$(DEPDIR)/policyHelper.Plo include ./$(DEPDIR)/policyHelper.Plo # am--include-marker
include ./$(DEPDIR)/restorePVGroupXMLParser.Plo include ./$(DEPDIR)/restorePVGroupXMLParser.Plo # am--include-marker
include ./$(DEPDIR)/transpose.Plo include ./$(DEPDIR)/transpose.Plo # am--include-marker
include ./$(DEPDIR)/zbsCafeService.Plo include ./$(DEPDIR)/zbsCafeService.Plo # am--include-marker
include ./$(DEPDIR)/zbsDataHolders.Plo include ./$(DEPDIR)/zbsDataHolders.Plo # am--include-marker
include bitshuffle/$(DEPDIR)/bitshuffle.Plo include bitshuffle/$(DEPDIR)/bitshuffle.Plo # am--include-marker
include bitshuffle/$(DEPDIR)/bitshuffle_core.Plo include bitshuffle/$(DEPDIR)/bitshuffle_core.Plo # am--include-marker
include bitshuffle/$(DEPDIR)/iochain.Plo 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: .c.o:
$(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\
@@ -617,7 +650,10 @@ cscopelist-am: $(am__tagged_files)
distclean-tags: distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH 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'`; \ @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
list='$(DISTFILES)'; \ list='$(DISTFILES)'; \
@@ -692,7 +728,34 @@ clean-am: clean-generic clean-libLTLIBRARIES clean-libtool \
mostlyclean-am mostlyclean-am
distclean: distclean-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 -rm -f makefile
distclean-am: clean-am distclean-compile distclean-generic \ distclean-am: clean-am distclean-compile distclean-generic \
distclean-tags distclean-tags
@@ -738,7 +801,34 @@ install-ps-am:
installcheck-am: installcheck-am:
maintainer-clean: maintainer-clean-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 -rm -f makefile
maintainer-clean-am: distclean-am maintainer-clean-generic maintainer-clean-am: distclean-am maintainer-clean-generic
@@ -759,9 +849,9 @@ uninstall-am: uninstall-libLTLIBRARIES
.MAKE: install-am install-strip .MAKE: install-am install-strip
.PHONY: CTAGS GTAGS TAGS all all-am check check-am clean clean-generic \ .PHONY: CTAGS GTAGS TAGS all all-am am--depfiles check check-am clean \
clean-libLTLIBRARIES clean-libtool cscopelist-am ctags \ clean-generic clean-libLTLIBRARIES clean-libtool cscopelist-am \
ctags-am distclean distclean-compile distclean-generic \ ctags ctags-am distclean distclean-compile distclean-generic \
distclean-libtool distclean-tags distdir dvi dvi-am html \ distclean-libtool distclean-tags distdir dvi dvi-am html \
html-am info info-am install install-am install-data \ html-am info info-am install install-am install-data \
install-data-am install-dvi install-dvi-am install-exec \ install-data-am install-dvi install-dvi-am install-exec \
@@ -773,6 +863,8 @@ uninstall-am: uninstall-libLTLIBRARIES
mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
tags tags-am uninstall uninstall-am uninstall-libLTLIBRARIES tags tags-am uninstall uninstall-am uninstall-libLTLIBRARIES
.PRECIOUS: makefile
# Tell versions [3.59,3.63) of GNU make to not export all variables. # 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. # Otherwise a system limit (for SysV at least) may be exceeded.

View File

@@ -11,8 +11,8 @@ lib_LTLIBRARIES = libcafe.la
#1st: current-age #1st: current-age
#2nd: age #2nd: age
#3rd: revision #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 #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 16:0:15 libcafe_la_LDFLAGS = -version-info 23:0:22
libcafe_la_SOURCES = cafe.cpp cafeCache.cpp cafeGroup.cpp cafeVectors.cpp cafeXML.cpp \ libcafe_la_SOURCES = cafe.cpp cafeCache.cpp cafeGroup.cpp cafeVectors.cpp cafeXML.cpp \
callbackHandlerCreate.cpp callbackHandlerMonitor.cpp conduit.cpp connect.cpp connectCallbacks.cpp \ callbackHandlerCreate.cpp callbackHandlerMonitor.cpp conduit.cpp connect.cpp connectCallbacks.cpp \

View File

@@ -17,7 +17,7 @@ using namespace std;
//#include <PyCafe_api.h> //#include <PyCafe_api.h>
//#endif //#endif
#define RETURN_ON_ERROR true #define RETURN_ON_ERROR false
#if HAVE_PYTHON_H #if HAVE_PYTHON_H
@@ -123,7 +123,7 @@ void CALLBACK_CAFE::PyHandlerGet( struct event_handler_args args)
if (it_handle != handle_index.end()) if (it_handle != handle_index.end())
{ {
ChannelRequestStatus channelRequestStatusGet=(*it_handle).getChannelRequestStatusGet(); ChannelRequestStatus channelRequestStatusGet=(*it_handle).getChannelRequestStatusGet();
channelRequestStatusGet.setCallbackKind(false, true); channelRequestStatusGet.setCallbackKind(false, true);
@@ -138,6 +138,7 @@ void CALLBACK_CAFE::PyHandlerGet( struct event_handler_args args)
{ {
cafeMutex.unlock(); cafeMutex.unlock();
} }
(*it_handle).PyGetHandler(); (*it_handle).PyGetHandler();
} }
else 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_eventHandlerArgs (args));
handle_index.modify(itcs, change_channelRequestStatusGet(channelRequestStatusGet)); handle_index.modify(itcs, change_channelRequestStatusGet(channelRequestStatusGet));
if(MUTEX) if(MUTEX)
{ {
cafeMutex.unlock(); cafeMutex.unlock();
} }
//if HAVE_PYTHON_H //if HAVE_PYTHON_H
(*it_handle).PyGetHandler(); (*it_handle).PyGetHandler();
//endif //endif
internalFlag=true; internalFlag=true;
break; break;
} }
@@ -327,15 +327,21 @@ void CALLBACK_CAFE::handlerGet( struct event_handler_args args)
{ {
#define __METHOD__ "CALLBACK_CAFE::handlerGet" #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 << __FILE__ << "/" << __LINE__ << "/" << __METHOD__ << endl;
cout << "Status=" << args.status << " for channel " << ca_name (args.chid) << endl; cout << "Status=" << args.status << " for channel " << ca_name (args.chid) << endl;
if (RETURN_ON_ERROR == true) return; if (RETURN_ON_ERROR == true) return;
//}
} }
unsigned int _handle = (unsigned long) args.usr; // ca_puser(args.chid); 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 & handle_index = cs.get<by_handle> ();
cafeConduit_set_by_handle::iterator it_handle; cafeConduit_set_by_handle::iterator it_handle;
@@ -349,9 +355,10 @@ void CALLBACK_CAFE::handlerGet( struct event_handler_args args)
{ {
cafeMutex.lock(); 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)); handle_index.modify(it_handle, change_channelRequestStatusGet(channelRequestStatusGet));
//cout << __METHOD__ << " CALLBACK DONE " << (*it_handle).getChannelRequestStatusGet().getCallbackProgressKind() << endl; //cout << __METHOD__ << " CALLBACK DONE " << (*it_handle).getChannelRequestStatusGet().getCallbackProgressKind() << endl;
//cout << "handle/// " << _handle << endl;
if(MUTEX) if(MUTEX)
{ {
cafeMutex.unlock(); cafeMutex.unlock();
@@ -758,6 +765,7 @@ void CALLBACK_CAFE::handlerGetClassName( struct event_handler_args args)
cout << __FILE__ << "/" << __LINE__ << "/" << __METHOD__ << endl; cout << __FILE__ << "/" << __LINE__ << "/" << __METHOD__ << endl;
cout << "Status=" << args.status << " for channel " << ca_name (args.chid) << endl; cout << "Status=" << args.status << " for channel " << ca_name (args.chid) << endl;
if (RETURN_ON_ERROR == true) return; if (RETURN_ON_ERROR == true) return;
//return;
} }
unsigned int _handle = (unsigned long) args.usr; // ca_puser(args.chid); 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) 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; ts = ((struct dbr_time_float *) PVDataL)->stamp;
alarmStatus = ((struct dbr_time_float *) PVDataL)->status; alarmStatus = ((struct dbr_time_float *) PVDataL)->status;