2 Commits

Author SHA1 Message Date
e50115776d cafe-1.19.3 2024-02-08 14:26:03 +01:00
fdd124905b cafe-1.19.0-py38-gcc-7.5.0 2023-06-19 11:18:24 +02:00
24 changed files with 19885 additions and 9875 deletions

8038
#PyCafe.pyx# Normal file

File diff suppressed because it is too large Load Diff

12448
PyCafe.cpp

File diff suppressed because it is too large Load Diff

View File

@@ -1,4 +1,4 @@
/* Generated by Cython 0.29.24 */
/* Generated by Cython 0.29.30 */
#ifndef __PYX_HAVE__PyCafe
#define __PYX_HAVE__PyCafe

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -1,5 +1,5 @@
<!DOCTYPE html>
<!-- Generated by Cython 0.29.24 -->
<!-- Generated by Cython 0.29.30 -->
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
@@ -293,22 +293,22 @@ td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5
span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; }
.cython .hll { background-color: #ffffcc }
.cython { background: #f8f8f8; }
.cython .c { color: #408080; font-style: italic } /* Comment */
.cython .c { color: #3D7B7B; font-style: italic } /* Comment */
.cython .err { border: 1px solid #FF0000 } /* Error */
.cython .k { color: #008000; font-weight: bold } /* Keyword */
.cython .o { color: #666666 } /* Operator */
.cython .ch { color: #408080; font-style: italic } /* Comment.Hashbang */
.cython .cm { color: #408080; font-style: italic } /* Comment.Multiline */
.cython .cp { color: #BC7A00 } /* Comment.Preproc */
.cython .cpf { color: #408080; font-style: italic } /* Comment.PreprocFile */
.cython .c1 { color: #408080; font-style: italic } /* Comment.Single */
.cython .cs { color: #408080; font-style: italic } /* Comment.Special */
.cython .ch { color: #3D7B7B; font-style: italic } /* Comment.Hashbang */
.cython .cm { color: #3D7B7B; font-style: italic } /* Comment.Multiline */
.cython .cp { color: #9C6500 } /* Comment.Preproc */
.cython .cpf { color: #3D7B7B; font-style: italic } /* Comment.PreprocFile */
.cython .c1 { color: #3D7B7B; font-style: italic } /* Comment.Single */
.cython .cs { color: #3D7B7B; font-style: italic } /* Comment.Special */
.cython .gd { color: #A00000 } /* Generic.Deleted */
.cython .ge { font-style: italic } /* Generic.Emph */
.cython .gr { color: #FF0000 } /* Generic.Error */
.cython .gr { color: #E40000 } /* Generic.Error */
.cython .gh { color: #000080; font-weight: bold } /* Generic.Heading */
.cython .gi { color: #00A000 } /* Generic.Inserted */
.cython .go { color: #888888 } /* Generic.Output */
.cython .gi { color: #008400 } /* Generic.Inserted */
.cython .go { color: #717171 } /* Generic.Output */
.cython .gp { color: #000080; font-weight: bold } /* Generic.Prompt */
.cython .gs { font-weight: bold } /* Generic.Strong */
.cython .gu { color: #800080; font-weight: bold } /* Generic.Subheading */
@@ -321,15 +321,15 @@ span.linenos.special { color: #000000; background-color: #ffffc0; padding-left:
.cython .kt { color: #B00040 } /* Keyword.Type */
.cython .m { color: #666666 } /* Literal.Number */
.cython .s { color: #BA2121 } /* Literal.String */
.cython .na { color: #7D9029 } /* Name.Attribute */
.cython .na { color: #687822 } /* Name.Attribute */
.cython .nb { color: #008000 } /* Name.Builtin */
.cython .nc { color: #0000FF; font-weight: bold } /* Name.Class */
.cython .no { color: #880000 } /* Name.Constant */
.cython .nd { color: #AA22FF } /* Name.Decorator */
.cython .ni { color: #999999; font-weight: bold } /* Name.Entity */
.cython .ne { color: #D2413A; font-weight: bold } /* Name.Exception */
.cython .ni { color: #717171; font-weight: bold } /* Name.Entity */
.cython .ne { color: #CB3F38; font-weight: bold } /* Name.Exception */
.cython .nf { color: #0000FF } /* Name.Function */
.cython .nl { color: #A0A000 } /* Name.Label */
.cython .nl { color: #767600 } /* Name.Label */
.cython .nn { color: #0000FF; font-weight: bold } /* Name.Namespace */
.cython .nt { color: #008000; font-weight: bold } /* Name.Tag */
.cython .nv { color: #19177C } /* Name.Variable */
@@ -346,11 +346,11 @@ span.linenos.special { color: #000000; background-color: #ffffc0; padding-left:
.cython .dl { color: #BA2121 } /* Literal.String.Delimiter */
.cython .sd { color: #BA2121; font-style: italic } /* Literal.String.Doc */
.cython .s2 { color: #BA2121 } /* Literal.String.Double */
.cython .se { color: #BB6622; font-weight: bold } /* Literal.String.Escape */
.cython .se { color: #AA5D1F; font-weight: bold } /* Literal.String.Escape */
.cython .sh { color: #BA2121 } /* Literal.String.Heredoc */
.cython .si { color: #BB6688; font-weight: bold } /* Literal.String.Interpol */
.cython .si { color: #A45A77; font-weight: bold } /* Literal.String.Interpol */
.cython .sx { color: #008000 } /* Literal.String.Other */
.cython .sr { color: #BB6688 } /* Literal.String.Regex */
.cython .sr { color: #A45A77 } /* Literal.String.Regex */
.cython .s1 { color: #BA2121 } /* Literal.String.Single */
.cython .ss { color: #19177C } /* Literal.String.Symbol */
.cython .bp { color: #008000 } /* Name.Builtin.Pseudo */
@@ -363,7 +363,7 @@ span.linenos.special { color: #000000; background-color: #ffffc0; padding-left:
</style>
</head>
<body class="cython">
<p><span style="border-bottom: solid 1px grey;">Generated by Cython 0.29.24</span></p>
<p><span style="border-bottom: solid 1px grey;">Generated by Cython 0.29.30</span></p>
<p>
<span style="background-color: #FFFF00">Yellow lines</span> hint at Python interaction.<br />
Click on a line that starts with a "<code>+</code>" to see the C code that Cython generated for it.

View File

@@ -33,319 +33,319 @@ cdef void set_base(cnp.ndarray arr, void * carr):
'''
cdef class CyCa:
cpdef readonly unsigned int CY_DBE_VALUE
cpdef readonly unsigned int CY_DBE_LOG
cpdef readonly unsigned int CY_DBE_ARCHIVE
cpdef readonly unsigned int CY_DBE_ALARM
cpdef readonly unsigned int CY_DBE_PROPERTY
cpdef readonly unsigned int CY_DBR_PRIMITIVE
cpdef readonly unsigned int CY_DBR_PLAIN
cpdef readonly unsigned int CY_DBR_STS
cpdef readonly unsigned int CY_DBR_TIME
cpdef readonly unsigned int CY_DBR_GR
cpdef readonly unsigned int CY_DBR_CTRL
cpdef readonly unsigned int CY_DBR_PUT
cpdef readonly unsigned int CY_DBR_STSACK
cpdef readonly unsigned int CY_DBR_CLASS
cpdef readonly unsigned int CY_DBR_NONE
cpdef readonly unsigned int CY_DBR_STRING # returns a NULL terminated string
cpdef readonly unsigned int CY_DBR_SHORT # returns an unsigned short
cpdef readonly unsigned int CY_DBR_INT # returns an unsigned short
cdef readonly unsigned int CY_DBE_VALUE
cdef readonly unsigned int CY_DBE_LOG
cdef readonly unsigned int CY_DBE_ARCHIVE
cdef readonly unsigned int CY_DBE_ALARM
cdef readonly unsigned int CY_DBE_PROPERTY
cdef readonly unsigned int CY_DBR_PRIMITIVE
cdef readonly unsigned int CY_DBR_PLAIN
cdef readonly unsigned int CY_DBR_STS
cdef readonly unsigned int CY_DBR_TIME
cdef readonly unsigned int CY_DBR_GR
cdef readonly unsigned int CY_DBR_CTRL
cdef readonly unsigned int CY_DBR_PUT
cdef readonly unsigned int CY_DBR_STSACK
cdef readonly unsigned int CY_DBR_CLASS
cdef readonly unsigned int CY_DBR_NONE
cdef readonly unsigned int CY_DBR_STRING # returns a NULL terminated string
cdef readonly unsigned int CY_DBR_SHORT # returns an unsigned short
cdef readonly unsigned int CY_DBR_INT # returns an unsigned short
# returns an IEEE floating point value
cpdef readonly unsigned int CY_DBR_FLOAT
cdef readonly unsigned int CY_DBR_FLOAT
# returns an unsigned short which is the enum item
cpdef readonly unsigned int CY_DBR_ENUM
cpdef readonly unsigned int CY_DBR_CHAR # returns an unsigned char
cpdef readonly unsigned int CY_DBR_LONG # returns an unsigned long
cdef readonly unsigned int CY_DBR_ENUM
cdef readonly unsigned int CY_DBR_CHAR # returns an unsigned char
cdef readonly unsigned int CY_DBR_LONG # returns an unsigned long
# returns a double precision floating point number
cpdef readonly unsigned int CY_DBR_DOUBLE
cdef readonly unsigned int CY_DBR_DOUBLE
# returns a string status structure (dbr_sts_string)
cpdef readonly unsigned int CY_DBR_STS_STRING
cdef readonly unsigned int CY_DBR_STS_STRING
# returns a short status structure (dbr_sts_short)
cpdef readonly unsigned int CY_DBR_STS_SHORT
cdef readonly unsigned int CY_DBR_STS_SHORT
# returns a short status structure (dbr_sts_int)
cpdef readonly unsigned int CY_DBR_STS_INT
cdef readonly unsigned int CY_DBR_STS_INT
# returns a float status structure (dbr_sts_float)
cpdef readonly unsigned int CY_DBR_STS_FLOAT
cdef readonly unsigned int CY_DBR_STS_FLOAT
# returns an enum status structure (dbr_sts_enum)
cpdef readonly unsigned int CY_DBR_STS_ENUM
cdef readonly unsigned int CY_DBR_STS_ENUM
# returns a char status structure (dbr_sts_char)
cpdef readonly unsigned int CY_DBR_STS_CHAR
cdef readonly unsigned int CY_DBR_STS_CHAR
# returns a long status structure (dbr_sts_long)
cpdef readonly unsigned int CY_DBR_STS_LONG
cdef readonly unsigned int CY_DBR_STS_LONG
# returns a double status structure (dbr_sts_double)
cpdef readonly unsigned int CY_DBR_STS_DOUBLE
cdef readonly unsigned int CY_DBR_STS_DOUBLE
# returns a string time structure (dbr_time_string)
cpdef readonly unsigned int CY_DBR_TIME_STRING
cdef readonly unsigned int CY_DBR_TIME_STRING
# returns a short time structure (dbr_time_short)
cpdef readonly unsigned int CY_DBR_TIME_SHORT
cdef readonly unsigned int CY_DBR_TIME_SHORT
# returns a short time structure (dbr_time_short)
cpdef readonly unsigned int CY_DBR_TIME_INT
cdef readonly unsigned int CY_DBR_TIME_INT
# returns a float time structure (dbr_time_float)
cpdef readonly unsigned int CY_DBR_TIME_FLOAT
cdef readonly unsigned int CY_DBR_TIME_FLOAT
# returns an enum time structure (dbr_time_enum)
cpdef readonly unsigned int CY_DBR_TIME_ENUM
cdef readonly unsigned int CY_DBR_TIME_ENUM
# returns a char time structure (dbr_time_char)
cpdef readonly unsigned int CY_DBR_TIME_CHAR
cdef readonly unsigned int CY_DBR_TIME_CHAR
# returns a long time structure (dbr_time_long)
cpdef readonly unsigned int CY_DBR_TIME_LONG
cdef readonly unsigned int CY_DBR_TIME_LONG
# returns a double time structure (dbr_time_double)
cpdef readonly unsigned int CY_DBR_TIME_DOUBLE
cdef readonly unsigned int CY_DBR_TIME_DOUBLE
# returns a graphic string structure (dbr_gr_string)
cpdef readonly unsigned int CY_DBR_GR_STRING
cdef readonly unsigned int CY_DBR_GR_STRING
# returns a graphic short structure (dbr_gr_short)
cpdef readonly unsigned int CY_DBR_GR_SHORT
cdef readonly unsigned int CY_DBR_GR_SHORT
# returns a graphic short structure (dbr_gr_int)
cpdef readonly unsigned int CY_DBR_GR_INT
cdef readonly unsigned int CY_DBR_GR_INT
# returns a graphic float structure (dbr_gr_float)
cpdef readonly unsigned int CY_DBR_GR_FLOAT
cdef readonly unsigned int CY_DBR_GR_FLOAT
# returns a graphic enum structure (dbr_gr_enum)
cpdef readonly unsigned int CY_DBR_GR_ENUM
cdef readonly unsigned int CY_DBR_GR_ENUM
# returns a graphic char structure (dbr_gr_char)
cpdef readonly unsigned int CY_DBR_GR_CHAR
cdef readonly unsigned int CY_DBR_GR_CHAR
# returns a graphic long structure (dbr_gr_long)
cpdef readonly unsigned int CY_DBR_GR_LONG
cdef readonly unsigned int CY_DBR_GR_LONG
# returns a graphic double structure (dbr_gr_double)
cpdef readonly unsigned int CY_DBR_GR_DOUBLE
cdef readonly unsigned int CY_DBR_GR_DOUBLE
# returns a control string structure (dbr_ctrl_int)
cpdef readonly unsigned int CY_DBR_CTRL_STRING
cdef readonly unsigned int CY_DBR_CTRL_STRING
# returns a control short structure (dbr_ctrl_short)
cpdef readonly unsigned int CY_DBR_CTRL_SHORT
cdef readonly unsigned int CY_DBR_CTRL_SHORT
# returns a control short structure (dbr_ctrl_int)
cpdef readonly unsigned int CY_DBR_CTRL_INT
cdef readonly unsigned int CY_DBR_CTRL_INT
# returns a control float structure (dbr_ctrl_float)
cpdef readonly unsigned int CY_DBR_CTRL_FLOAT
cdef readonly unsigned int CY_DBR_CTRL_FLOAT
# returns a control enum structure (dbr_ctrl_enum)
cpdef readonly unsigned int CY_DBR_CTRL_ENUM
cdef readonly unsigned int CY_DBR_CTRL_ENUM
# returns a control char structure (dbr_ctrl_char)
cpdef readonly unsigned int CY_DBR_CTRL_CHAR
cdef readonly unsigned int CY_DBR_CTRL_CHAR
# returns a control long structure (dbr_ctrl_long)
cpdef readonly unsigned int CY_DBR_CTRL_LONG
cdef readonly unsigned int CY_DBR_CTRL_LONG
# returns a control double structure (dbr_ctrl_double)
cpdef readonly unsigned int CY_DBR_CTRL_DOUBLE
cdef readonly unsigned int CY_DBR_CTRL_DOUBLE
# cpdef readonly int CY_ECA_TIMEOUT
# cdef readonly int CY_ECA_TIMEOUT
cpdef readonly int CY_ECA_NORMAL # 1
cpdef readonly int CY_ECA_ALLOCMEM # 48
cpdef readonly int CY_ECA_TOLARGE # 72
cpdef readonly int CY_ECA_TIMEOUT # 80
cpdef readonly int CY_ECA_BADTYPE # 114
cpdef readonly int CY_ECA_INTERNAL # 142
cpdef readonly int CY_ECA_GETFAIL # 152
cpdef readonly int CY_ECA_PUTFAIL # 160
cpdef readonly int CY_ECA_BADCOUNT # 176
cpdef readonly int CY_ECA_BADSTR # 186
cpdef readonly int CY_ECA_DISCONN # 192
cpdef readonly int CY_ECA_DBLCHNL # 200
cpdef readonly int CY_ECA_EVDISALLOW # 210
cpdef readonly int CY_ECA_BADMONID # 242
cpdef readonly int CY_ECA_BADMASK # 330
cpdef readonly int CY_ECA_IODONE # 339
cpdef readonly int CY_ECA_IOINPROGRESS # 347
cpdef readonly int CY_ECA_BADSYNCGRP # 354
cpdef readonly int CY_ECA_PUTCBINPROG # 362
cpdef readonly int CY_ECA_NORDACCESS # 368
cpdef readonly int CY_ECA_NOWTACCESS # 376
cpdef readonly int CY_ECA_ANACHRONISM # 386
cpdef readonly int CY_ECA_NOSEARCHADDR # 392
cpdef readonly int CY_ECA_NOCONVERT # 400
cpdef readonly int CY_ECA_BADCHID # 410
cpdef readonly int CY_ECA_BADFUNCPTR # 418
cpdef readonly int CY_ECA_ISATTACHED # 424
cpdef readonly int CY_ECA_UNAVAILINSERV # 432
cpdef readonly int CY_ECA_CHANDESTROY # 440
cpdef readonly int CY_ECA_BADPRIORITY # 450
cpdef readonly int CY_ECA_NOTTHREADED # 458
cpdef readonly int CY_ECA_16KARRAYCLIENT # 464
cpdef readonly int CY_ECA_CONNSEQTMO # 472
cpdef readonly int CY_ECA_UNRESPTMO # 480
cdef readonly int CY_ECA_NORMAL # 1
cdef readonly int CY_ECA_ALLOCMEM # 48
cdef readonly int CY_ECA_TOLARGE # 72
cdef readonly int CY_ECA_TIMEOUT # 80
cdef readonly int CY_ECA_BADTYPE # 114
cdef readonly int CY_ECA_INTERNAL # 142
cdef readonly int CY_ECA_GETFAIL # 152
cdef readonly int CY_ECA_PUTFAIL # 160
cdef readonly int CY_ECA_BADCOUNT # 176
cdef readonly int CY_ECA_BADSTR # 186
cdef readonly int CY_ECA_DISCONN # 192
cdef readonly int CY_ECA_DBLCHNL # 200
cdef readonly int CY_ECA_EVDISALLOW # 210
cdef readonly int CY_ECA_BADMONID # 242
cdef readonly int CY_ECA_BADMASK # 330
cdef readonly int CY_ECA_IODONE # 339
cdef readonly int CY_ECA_IOINPROGRESS # 347
cdef readonly int CY_ECA_BADSYNCGRP # 354
cdef readonly int CY_ECA_PUTCBINPROG # 362
cdef readonly int CY_ECA_NORDACCESS # 368
cdef readonly int CY_ECA_NOWTACCESS # 376
cdef readonly int CY_ECA_ANACHRONISM # 386
cdef readonly int CY_ECA_NOSEARCHADDR # 392
cdef readonly int CY_ECA_NOCONVERT # 400
cdef readonly int CY_ECA_BADCHID # 410
cdef readonly int CY_ECA_BADFUNCPTR # 418
cdef readonly int CY_ECA_ISATTACHED # 424
cdef readonly int CY_ECA_UNAVAILINSERV # 432
cdef readonly int CY_ECA_CHANDESTROY # 440
cdef readonly int CY_ECA_BADPRIORITY # 450
cdef readonly int CY_ECA_NOTTHREADED # 458
cdef readonly int CY_ECA_16KARRAYCLIENT # 464
cdef readonly int CY_ECA_CONNSEQTMO # 472
cdef readonly int CY_ECA_UNRESPTMO # 480
cpdef readonly int ICAFE_CS_NEVER_CONN
cpdef readonly int ICAFE_CS_PREV_CONN
cpdef readonly int ICAFE_CS_CONN
cpdef readonly int ICAFE_CS_CLOSED
cpdef readonly int ICAFE_CS_DISCONN
cpdef readonly int ICAFE_CS_UNKNOWN
cdef readonly int ICAFE_CS_NEVER_CONN
cdef readonly int ICAFE_CS_PREV_CONN
cdef readonly int ICAFE_CS_CONN
cdef readonly int ICAFE_CS_CLOSED
cdef readonly int ICAFE_CS_DISCONN
cdef readonly int ICAFE_CS_UNKNOWN
cpdef readonly int ICAFE_TYPENOTCONN
cpdef readonly int ICAFE_RULE_FALSE
cpdef readonly int ICAFE_BADCOUNT
cpdef readonly int ICAFE_CALLBACK_NOT_YET_INVOKED
cpdef readonly int ICAFE_WAITING_FOR_PREV_CALLBACK
cpdef readonly int ICAFE_CACHE_EMPTY
cpdef readonly int ICAFE_CHANNEL_BLOCKING_POLICY_CONFLICT
cpdef readonly int ICAFE_MONITOR_DELAYED_AS_CONN_DOWN
cpdef readonly int ICAFE_HAS_MONITOR_GET_DONE_FROM_CACHE
cpdef readonly int ICAFE_SET_AND_GET_MISMATCH
cdef readonly int ICAFE_TYPENOTCONN
cdef readonly int ICAFE_RULE_FALSE
cdef readonly int ICAFE_BADCOUNT
cdef readonly int ICAFE_CALLBACK_NOT_YET_INVOKED
cdef readonly int ICAFE_WAITING_FOR_PREV_CALLBACK
cdef readonly int ICAFE_CACHE_EMPTY
cdef readonly int ICAFE_CHANNEL_BLOCKING_POLICY_CONFLICT
cdef readonly int ICAFE_MONITOR_DELAYED_AS_CONN_DOWN
cdef readonly int ICAFE_HAS_MONITOR_GET_DONE_FROM_CACHE
cdef readonly int ICAFE_SET_AND_GET_MISMATCH
cpdef readonly int ICAFE_CA_OP_GET
cpdef readonly int ICAFE_CA_OP_PUT
cpdef readonly int ICAFE_CA_OP_CREATE_CHANNEL
cpdef readonly int ICAFE_CA_OP_ADD_EVENT
cpdef readonly int ICAFE_CA_OP_CLEAR_EVENT
cpdef readonly int ICAFE_CA_OP_OTHER
cpdef readonly int ICAFE_CA_OP_CONN_DOWN
cpdef readonly int ICAFE_CA_OP_CONN_UP
cdef readonly int ICAFE_CA_OP_GET
cdef readonly int ICAFE_CA_OP_PUT
cdef readonly int ICAFE_CA_OP_CREATE_CHANNEL
cdef readonly int ICAFE_CA_OP_ADD_EVENT
cdef readonly int ICAFE_CA_OP_CLEAR_EVENT
cdef readonly int ICAFE_CA_OP_OTHER
cdef readonly int ICAFE_CA_OP_CONN_DOWN
cdef readonly int ICAFE_CA_OP_CONN_UP
cpdef readonly int ICAFE_DAQ_RUN
cpdef readonly int ICAFE_DAQ_PAUSED
cpdef readonly int ICAFE_DAQ_STOPPED
cdef readonly int ICAFE_DAQ_RUN
cdef readonly int ICAFE_DAQ_PAUSED
cdef readonly int ICAFE_DAQ_STOPPED
cpdef readonly int ECAFE_LOAD_COLLECTION
cpdef readonly int ECAFE_LOAD_GROUP
cdef readonly int ECAFE_LOAD_COLLECTION
cdef readonly int ECAFE_LOAD_GROUP
cpdef readonly int ICAFE_NORMAL
cpdef readonly int ICAFE_SUCCESS
cdef readonly int ICAFE_NORMAL
cdef readonly int ICAFE_SUCCESS
cpdef readonly int ECAFE_NODATA
cpdef readonly int ECAFE_INVALID_TYPE
cpdef readonly int ECAFE_BADCOUNT
cpdef readonly int ECAFE_BADSTR
cpdef readonly int ECAFE_BADTYPE
cpdef readonly int ECAFE_NO_CONVERT
cpdef readonly int ECAFE_NULLCONTEXT
cpdef readonly int ECAFE_NULLCHID
cpdef readonly int ECAFE_NULLEVID
cpdef readonly int ECAFE_UNKNOWN_COLLECTION
cpdef readonly int ECAFE_EMPTY_COLLECTION
cpdef readonly int ECAFE_COLLECTION_PREV_DEF
cpdef readonly int ECAFE_COLLECTION_INVALID_MEMBER
cpdef readonly int ECAFE_RULE_FALSE
cpdef readonly int ECAFE_UNKNOWN_GROUP
cpdef readonly int ECAFE_EMPTY_GROUP
cpdef readonly int ECAFE_GROUP_PREV_DEF
cpdef readonly int ECAFE_INVALID_HANDLE
cpdef readonly int ECAFE_INVALID_GROUP_HANDLE
cpdef readonly int ECAFE_NORDACCESS
cpdef readonly int ECAFE_NOWTACCESS
cpdef readonly int ECAFE_TIMEOUT
cpdef readonly int ECAFE_CANNOT_OPEN_FILE
cpdef readonly int ECAFE_INVALID_SWITCH_CASE
cpdef readonly int ECAFE_PVALIAS_PREV_DEF
cpdef readonly int ECAFE_PVALIAS_INVALID
cpdef readonly int ECAFE_PVNAME_PREV_DEF_AS_PVALIAS
cpdef readonly int ECAFE_DEVICE_ATTRIB_NOT_FOUND
cpdef readonly int ECAFE_HASH_UNIQUEID_EXISTS
cpdef readonly int ECAFE_WRONG_CA_CONTEXT
cpdef readonly int ECAFE_INVALID_CAFENUM_POLICY_TYPE
cpdef readonly int ECAFE_MAX_MONITORS_PER_CHAN_EXCEEDED
cpdef readonly int ECAFE_INVALID_ENUM_INDEX
cpdef readonly int ECAFE_PVGROUP_GROUPHANDLE_MISMATCH
cpdef readonly int ECAFE_TIMEOUT_SET_AND_MATCH
cpdef readonly int ECAFE_HANDLE_MISMATCH_SET_AND_MATCH
cpdef readonly int ECAFE_INCONSISTENT_CONTAINER_CORRECTED
cdef readonly int ECAFE_NODATA
cdef readonly int ECAFE_INVALID_TYPE
cdef readonly int ECAFE_BADCOUNT
cdef readonly int ECAFE_BADSTR
cdef readonly int ECAFE_BADTYPE
cdef readonly int ECAFE_NO_CONVERT
cdef readonly int ECAFE_NULLCONTEXT
cdef readonly int ECAFE_NULLCHID
cdef readonly int ECAFE_NULLEVID
cdef readonly int ECAFE_UNKNOWN_COLLECTION
cdef readonly int ECAFE_EMPTY_COLLECTION
cdef readonly int ECAFE_COLLECTION_PREV_DEF
cdef readonly int ECAFE_COLLECTION_INVALID_MEMBER
cdef readonly int ECAFE_RULE_FALSE
cdef readonly int ECAFE_UNKNOWN_GROUP
cdef readonly int ECAFE_EMPTY_GROUP
cdef readonly int ECAFE_GROUP_PREV_DEF
cdef readonly int ECAFE_INVALID_HANDLE
cdef readonly int ECAFE_INVALID_GROUP_HANDLE
cdef readonly int ECAFE_NORDACCESS
cdef readonly int ECAFE_NOWTACCESS
cdef readonly int ECAFE_TIMEOUT
cdef readonly int ECAFE_CANNOT_OPEN_FILE
cdef readonly int ECAFE_INVALID_SWITCH_CASE
cdef readonly int ECAFE_PVALIAS_PREV_DEF
cdef readonly int ECAFE_PVALIAS_INVALID
cdef readonly int ECAFE_PVNAME_PREV_DEF_AS_PVALIAS
cdef readonly int ECAFE_DEVICE_ATTRIB_NOT_FOUND
cdef readonly int ECAFE_HASH_UNIQUEID_EXISTS
cdef readonly int ECAFE_WRONG_CA_CONTEXT
cdef readonly int ECAFE_INVALID_CAFENUM_POLICY_TYPE
cdef readonly int ECAFE_MAX_MONITORS_PER_CHAN_EXCEEDED
cdef readonly int ECAFE_INVALID_ENUM_INDEX
cdef readonly int ECAFE_PVGROUP_GROUPHANDLE_MISMATCH
cdef readonly int ECAFE_TIMEOUT_SET_AND_MATCH
cdef readonly int ECAFE_HANDLE_MISMATCH_SET_AND_MATCH
cdef readonly int ECAFE_INCONSISTENT_CONTAINER_CORRECTED
cpdef readonly int ECAFE_BPM_DATA_IS_INVALID
cdef readonly int ECAFE_BPM_DATA_IS_INVALID
cpdef readonly int ECAFE_BITSHUFF_DECOMPRESS
cpdef readonly int ECAFE_BITSHUFF_ALLOCMEM
cpdef readonly int ECAFE_BITSHUFF_REALLOCMEM
cpdef readonly int ECAFE_BITSHUFF_BADCOUNT
cdef readonly int ECAFE_BITSHUFF_DECOMPRESS
cdef readonly int ECAFE_BITSHUFF_ALLOCMEM
cdef readonly int ECAFE_BITSHUFF_REALLOCMEM
cdef readonly int ECAFE_BITSHUFF_BADCOUNT
cpdef readonly int ECAFE_BSREAD_MULTIPART_MESS_NODATA
cpdef readonly int ECAFE_BSREAD_PARSEFAIL_MAINHEADER
cpdef readonly int ECAFE_BSREAD_PARSEFAIL_DATAHEADER
cpdef readonly int ECAFE_BSREAD_ZMQSTREAM_NULL
cdef readonly int ECAFE_BSREAD_MULTIPART_MESS_NODATA
cdef readonly int ECAFE_BSREAD_PARSEFAIL_MAINHEADER
cdef readonly int ECAFE_BSREAD_PARSEFAIL_DATAHEADER
cdef readonly int ECAFE_BSREAD_ZMQSTREAM_NULL
cpdef readonly int ERRNO_EINTR
cpdef readonly int ERRNO_EAGAIN
cpdef readonly int ERRNO_EFAULT
cpdef readonly int ERRNO_EINVAL
cpdef readonly int ERRNO_ENOTSOCK
cpdef readonly int ERRNO_EPROTONOSUPPORT
cdef readonly int ERRNO_EINTR
cdef readonly int ERRNO_EAGAIN
cdef readonly int ERRNO_EFAULT
cdef readonly int ERRNO_EINVAL
cdef readonly int ERRNO_ENOTSOCK
cdef readonly int ERRNO_EPROTONOSUPPORT
cpdef readonly int SEV_NO_ALARM
cpdef readonly int SEV_MINOR
cpdef readonly int SEV_MAJOR
cpdef readonly int SEV_INVALID
cdef readonly int SEV_NO_ALARM
cdef readonly int SEV_MINOR
cdef readonly int SEV_MAJOR
cdef readonly int SEV_INVALID
cpdef readonly int STAT_NO_ALARM
cpdef readonly int STAT_READ
cpdef readonly int STAT_WRITE
cpdef readonly int STAT_HIHI
cpdef readonly int STAT_HIGH
cpdef readonly int STAT_LOLO
cpdef readonly int STAT_LOW
cpdef readonly int STAT_STATE
cpdef readonly int STAT_COS
cpdef readonly int STAT_COMM
cpdef readonly int STAT_TIMEOUT
cpdef readonly int STAT_HWLIMIT
cpdef readonly int STAT_CALC
cpdef readonly int STAT_SCAN
cpdef readonly int STAT_LINK
cpdef readonly int STAT_SOFT
cpdef readonly int STAT_BAD_SUB
cpdef readonly int STAT_UDF
cpdef readonly int STAT_DISABLE
cpdef readonly int STAT_SIMM
cpdef readonly int STAT_READ_ACCESS
cpdef readonly int STAT_WRITE_ACCESS
cdef readonly int STAT_NO_ALARM
cdef readonly int STAT_READ
cdef readonly int STAT_WRITE
cdef readonly int STAT_HIHI
cdef readonly int STAT_HIGH
cdef readonly int STAT_LOLO
cdef readonly int STAT_LOW
cdef readonly int STAT_STATE
cdef readonly int STAT_COS
cdef readonly int STAT_COMM
cdef readonly int STAT_TIMEOUT
cdef readonly int STAT_HWLIMIT
cdef readonly int STAT_CALC
cdef readonly int STAT_SCAN
cdef readonly int STAT_LINK
cdef readonly int STAT_SOFT
cdef readonly int STAT_BAD_SUB
cdef readonly int STAT_UDF
cdef readonly int STAT_DISABLE
cdef readonly int STAT_SIMM
cdef readonly int STAT_READ_ACCESS
cdef readonly int STAT_WRITE_ACCESS
# ctypedef enum ChannelRequestPolicyKind:
cpdef readonly unsigned int WITHOUT_CALLBACK
cpdef readonly unsigned int WITH_CALLBACK_DEFAULT
cpdef readonly unsigned int WITH_CALLBACK_USER_SUPPLIED
cdef readonly unsigned int WITHOUT_CALLBACK
cdef readonly unsigned int WITH_CALLBACK_DEFAULT
cdef readonly unsigned int WITH_CALLBACK_USER_SUPPLIED
# ChannelFlushSendBufferPolicyKind:
cpdef readonly unsigned int WITH_FLUSH_IO
cpdef readonly unsigned int WITH_PEND_IO
cpdef readonly unsigned int WITH_PEND_EVENT
cpdef readonly unsigned int WITH_POLL
cdef readonly unsigned int WITH_FLUSH_IO
cdef readonly unsigned int WITH_PEND_IO
cdef readonly unsigned int WITH_PEND_EVENT
cdef readonly unsigned int WITH_POLL
# ChannelWhenToFlushSendBufferPolicyKind:
cpdef readonly unsigned int FLUSH_AUTOMATIC
cpdef readonly unsigned int FLUSH_NOW
cpdef readonly unsigned int FLUSH_AFTER_EACH_CHANNEL_CREATION
cpdef readonly unsigned int FLUSH_AFTER_EACH_CHANNEL_SUBSCRIPTION
cpdef readonly unsigned int FLUSH_AFTER_EACH_MESSAGE
cpdef readonly unsigned int FLUSH_AFTER_EACH_GROUP_CREATION
cpdef readonly unsigned int FLUSH_DESIGNATED_TO_CLIENT
cdef readonly unsigned int FLUSH_AUTOMATIC
cdef readonly unsigned int FLUSH_NOW
cdef readonly unsigned int FLUSH_AFTER_EACH_CHANNEL_CREATION
cdef readonly unsigned int FLUSH_AFTER_EACH_CHANNEL_SUBSCRIPTION
cdef readonly unsigned int FLUSH_AFTER_EACH_MESSAGE
cdef readonly unsigned int FLUSH_AFTER_EACH_GROUP_CREATION
cdef readonly unsigned int FLUSH_DESIGNATED_TO_CLIENT
# ChannelGetCacheWaitPolicyKind:
cpdef readonly unsigned int GET_CACHE_NO_CHECK
cpdef readonly unsigned int GET_CACHE_NO_WAIT
cpdef readonly unsigned int GET_CACHE_NOW
cpdef readonly unsigned int GET_CACHE_WAIT
cdef readonly unsigned int GET_CACHE_NO_CHECK
cdef readonly unsigned int GET_CACHE_NO_WAIT
cdef readonly unsigned int GET_CACHE_NOW
cdef readonly unsigned int GET_CACHE_WAIT
# ChannelGetActionWhenMonitorPolicyKind:
cpdef readonly unsigned int GET_FROM_CACHE
cpdef readonly unsigned int GET_FROM_IOC
cdef readonly unsigned int GET_FROM_CACHE
cdef readonly unsigned int GET_FROM_IOC
# ChannelRequestDataTypePolicyKind:
cpdef readonly unsigned int NATIVE_DATATYPE
cdef readonly unsigned int NATIVE_DATATYPE
# The smaller in byte size of type requested and native datatype
cpdef readonly unsigned int LOWEST_DATATYPE
cdef readonly unsigned int LOWEST_DATATYPE
# ChannelWaitForResponsePolicyKind:
cpdef readonly unsigned int BLOCKING
cpdef readonly unsigned int WAIT
cpdef readonly unsigned int NON_BLOCKING
cpdef readonly unsigned int NO_WAIT
cdef readonly unsigned int BLOCKING
cdef readonly unsigned int WAIT
cdef readonly unsigned int NON_BLOCKING
cdef readonly unsigned int NO_WAIT
# StatusMessageKind:
cpdef readonly unsigned int NO_MESSAGE
cpdef readonly unsigned int PRE_REQUEST
cpdef readonly unsigned int FROM_REQUEST
cpdef readonly unsigned int FROM_PEND
cpdef readonly unsigned int FROM_CALLBACK
cpdef readonly unsigned int FROM_MESSAGE
cdef readonly unsigned int NO_MESSAGE
cdef readonly unsigned int PRE_REQUEST
cdef readonly unsigned int FROM_REQUEST
cdef readonly unsigned int FROM_PEND
cdef readonly unsigned int FROM_CALLBACK
cdef readonly unsigned int FROM_MESSAGE
# CallbackProgressKind:
cpdef readonly unsigned int NOT_INITIATED
cpdef readonly unsigned int PENDING
cpdef readonly unsigned int COMPLETE
cdef readonly unsigned int NOT_INITIATED
cdef readonly unsigned int PENDING
cdef readonly unsigned int COMPLETE
# deines.h:
cpdef readonly double DEFAULT_TIMEOUT_PEND_EVENT
cpdef readonly double DEFAULT_TIMEOUT_PEND_IO
cdef readonly double DEFAULT_TIMEOUT_PEND_EVENT
cdef readonly double DEFAULT_TIMEOUT_PEND_IO
cpdef readonly string INVALID_ENUM_RETURN_STRING
cpdef readonly short INVALID_ENUM_RETURN_VALUE
cdef readonly string INVALID_ENUM_RETURN_STRING
cdef readonly short INVALID_ENUM_RETURN_VALUE
cpdef readonly unsigned short BSREAD_ZEROMQ_HIGH_WATER_MARK
cpdef readonly short BSREAD_ZEROMQ_TIMEOUT_MS
cdef readonly unsigned short BSREAD_ZEROMQ_HIGH_WATER_MARK
cdef readonly short BSREAD_ZEROMQ_TIMEOUT_MS
def __cinit__(self):
@@ -1047,9 +1047,9 @@ cdef class pvgroup:
cdef public string name
cdef readonly int groupStatus
cdef public unsigned int groupHandle
cpdef public bint rule
cpdef public bint hasAlarm
cpdef public bint hasTS
cdef public bint rule
cdef public bint hasAlarm
cdef public bint hasTS
def __cinit__(self):
self.groupStatus = ICAFE_NORMAL
@@ -1301,14 +1301,14 @@ cdef pvdata PVDataHolderToStruct(PVDataHolder pvd, dt=None):
#print( p1.tsDateAsString, "//", p1.bsDateAsString)
pvd._etsNorm = pvd.getEpicsTimeStampAsUInt32()
cpdef ll = []
cdef ll = []
ll.append((pvd._etsNorm).secPastEpoch)
ll.append((pvd._etsNorm).nsec)
p1.ts = ll
pvd._etsDate = pvd.getEpicsTimeStampAsDate()
cpdef ld = []
cdef ld = []
ld.append((pvd._etsDate).year)
ld.append((pvd._etsDate).mon)
ld.append((pvd._etsDate).day)

View File

@@ -48,6 +48,10 @@ cdef extern from "epicsMutex.h":
pass
cdef extern from "epicsTime.h":
ctypedef void throwError
cdef extern from "cadef.h":
ctypedef long chtype
@@ -1356,6 +1360,8 @@ cdef extern from "cafe.h":
int match(double, const unsigned int, double tolerance, double timeout, bint printFlag) nogil
int matchMany(vector[double], vector[unsigned int], double tolerance, double timeout, bint printFlag) nogil
int matchManyWithStatus(vector[double], vector[unsigned int], double tolerance, double timeout, bint printFlag, vector[int] &) nogil
#int readDBPMOffsets(DBPMKeeper &)
#int getDBPM(DBPMKeeper &) nogil

View File

@@ -1664,7 +1664,7 @@ cdef class CyCafe:
cdef HandleHelper hh
hh._etsNorm = self.hh.getEpicsTimeStampAsUInt32(handlePV)
cpdef ll = []
cdef ll = []
ll.append(hh._etsNorm.secPastEpoch)
ll.append(hh._etsNorm.nsec)
@@ -1675,7 +1675,7 @@ cdef class CyCafe:
def getTimeStampAsDate(self, handlePV):
cdef HandleHelper hh
cpdef ld = []
cdef ld = []
hh._etsDate = self.hh.getEpicsTimeStampAsDate(handlePV)
ld.append(hh._etsDate.year)
@@ -1690,7 +1690,7 @@ cdef class CyCafe:
############################################################################
### Allow user to choose whether or not to open #####
cpdef checkForHandle(self, str pv, bint force=True):
def checkForHandle(self, str pv, bint force=True):
cdef unsigned int _handle = 0
_handle = self.hh.getHandleFromPV(pv)
if _handle == 0:
@@ -1703,7 +1703,7 @@ cdef class CyCafe:
############################################################################
############################################################################
cpdef checkForHandleList(self, list pvList, bint force=True):
def checkForHandleList(self, list pvList, bint force=True):
cdef unsigned int nToOpen = 0
handleList = []
@@ -1724,7 +1724,7 @@ cdef class CyCafe:
############################################################################
############################################################################
cpdef checkForGroupHandle(self, str gName, bint force=True):
def checkForGroupHandle(self, str gName, bint force=True):
cdef unsigned int _ghandle = 0
_ghandle = self.hh.getGroupHandleFromGroupName(gName)
if _ghandle == 0:
@@ -3428,7 +3428,7 @@ cdef class CyCafe:
cdef CAFEDataTypeCode cdt
pvdList = []
cpdef pvdata p1
cdef pvdata p1
cdef bytes bytesVal
@@ -4069,7 +4069,7 @@ First input argument, should be a 'list' of of type <class 'int'> if handles or
nelemPrevious = []
print("<========getScalarList=====>")
for i in range(0, len(handleList)):
nelemPrevious.append(self._c_cafe.setNelemToOne(handleList[i]))
@@ -4103,7 +4103,7 @@ First input argument, should be a 'list' of of type <class 'int'> if handles or
with nogil:
status = self._c_cafe.getV(v, vStatus)
print("getScalarList")
#for i in range(0, len(vStatus)):
# print (vStatus[i])
# print("====")
@@ -4136,7 +4136,7 @@ First input argument, should be a 'list' of of type <class 'int'> if handles or
cdef unsigned int dtcheck = CAFE_NOT_REQUESTED # native type not yet know
dtcheck = getMatchedDataType(dt, dtcheck)
print ("dt=", dt, "dtcheck=", dtcheck)
#print ("dt=", dt, "dtcheck=", dtcheck)
if dtcheck in [CAFE_STRING]:
@@ -4240,11 +4240,11 @@ First input argument, should be a 'list' of of type <class 'int'> if handles or
cdef PVDataHolder * pvd = self._c_cafe.getPVData(v)
for i in range (0, len(handleList)):
print (pvd[i].getPVName(), pvd[i].getAsString(), " [",i,"]", pvd[i].getStatus())
#for i in range (0, len(handleList)):
# print (pvd[i].getPVName(), pvd[i].getAsString(), " [",i,"]", pvd[i].getStatus())
print ("-----------------------------------------------------------------")
# cdef PVDataHolder * pvd = \
# <PVDataHolder *>malloc( 100000000 + \
@@ -4303,7 +4303,7 @@ First input argument, should be a 'list' of of type <class 'int'> if handles or
dtn = pvd[i].getDataType()
dtcheck = getMatchedDataType(dt, dtn)
print ("dt=", dt, "dtn=", dtn, "dtcheck=", dtcheck)
#print ("dt=", dt, "dtn=", dtn, "dtcheck=", dtcheck)
#print (pvd[i].getAsString())
#print (pvd[i].getAsDouble())
@@ -4360,7 +4360,7 @@ First input argument, should be a 'list' of of type <class 'int'> if handles or
print("Entering 0 for element", i,
"as channel is not connected!")
print (" vstatus = ", vStatus[i] , " pvd[i].status ", pvd[i].getStatus() )
#print (" vstatus = ", vStatus[i] , " pvd[i].status ", pvd[i].getStatus() )
# free(pvd)
if (cacheFlag == True):
@@ -4782,7 +4782,7 @@ First input argument, should be of type <class 'int'> if group handle, else <cla
localListToStruct.append(p1)
cpdef pvgroup pg
cdef pvgroup pg
pg = pvgroup()
@@ -6382,7 +6382,7 @@ No of group members doe not match the length of callback object list")
#print(pvd[i].getAsString(0), " " , pvd[i].getStatus())
#print(pvd[i].getEpicsTimeStampAsUInt32().secPastEpoch, " ", pvd[i].getEpicsTimeStampAsUInt32().nsec)
localList.append(PVDataHolderToStruct(pvd[i], dt))
cpdef pvgroup pg
cdef pvgroup pg
pg = pvgroup()
@@ -6449,7 +6449,7 @@ No of group members doe not match the length of callback object list")
#print(pvd[i].getAsString(0), " " , pvd[i].getStatus())
#print(pvd[i].getEpicsTimeStampAsUInt32().secPastEpoch, " ", pvd[i].getEpicsTimeStampAsUInt32().nsec)
localList.append(PVDataHolderToStruct(pvd[i], dt))
cpdef pvgroup pg
cdef pvgroup pg
pg = pvgroup()
@@ -7858,6 +7858,53 @@ Lengths of first (handlePVSet) and third (handlePVMatch) input lists must match!
return status
############################################################################
def matchManyWithStatus(self, list valSet, list handlePVMatch, double tolerance, double timeout, bint printFlag):
cdef str _METHOD = "matchManyWithStatus(list valSet, list handlePVMatch, double tolerance, double timeout, bint printFlag)"
if (len(valSet) != len(handlePVMatch)):
raise Exception("EXCEPTION RAISED IN PyCafe def matchMany. \n\
Lengths of first (handlePVSet) and third (handlePVMatch) input lists must match!")
cdef vector[unsigned int] handleMatch
handleMatch.reserve(len(handlePVMatch))
cdef vector[double] valSetV
valSetV.reserve(len(valSet))
cdef vector[int] statusV
statusV.reserve(len(valSet))
for i in range(0, len(handlePVMatch)):
if isinstance(handlePVMatch[i], (int, long)):
handleMatch.push_back(handlePVMatch[i])
elif isinstance(handlePVMatch[i], (str)):
handleMatch.push_back(self.checkForHandle(handlePVMatch))
else:
_cafeException = CafeException(_type='CafeError', _source=_METHOD,
_error_info="First input argument, should be of type <class 'int'> if handle, else <class 'str'> if PV")
raise _cafeException
for i in range(0, len(valSet)):
valSetV.push_back(valSet[i])
cdef int status
with nogil:
status = self._c_cafe.matchManyWithStatus(
valSetV, handleMatch, tolerance, timeout, printFlag, statusV)
print("status from pxy", statusV)
if status != ICAFE_NORMAL:
if PYCAFE_PRINT_LEVEL >= PYCAFE_PRINT_LOW:
self._c_cafe.printStatusMessage(status)
return status, statusV
############################################################################
############################################################################
def match(self, double valSet, handlePVMatch, double tolerance, double timeout, bint printFlag):

14
build_py310_sls2.sh Normal file
View File

@@ -0,0 +1,14 @@
module unload gcc
module load gcc/7.5.0
rm -f PyCafeDefs.pxi
ln -s PyCafeDefs_py37.pxi PyCafeDefs.pxi
rm -f PyCafe.cpp
rm -f PyCafe.h
rm -f PyCafe.pxd
ln -s PyCafe_sls.pxd PyCafe.pxd
rm -f PyCafe.pyx
ln -s PyCafe_sls.pyx PyCafe.pyx
_EPICS_HOST_ARCH=${RHREL}-x86_64
source /opt/gfa/python 3.10
python setup_py38_sls2.py build_ext -b ./python3.10-sls2/lib/${_EPICS_HOST_ARCH}
cp examples.py ./python3.10-sls2/lib/${_EPICS_HOST_ARCH}

View File

@@ -1,5 +1,5 @@
module unload gcc
module load gcc/7.3.0
module load gcc/6.3.0
#rm -f PyCafe.cpp
#rm -f PyCafe.h
#rm -f PyCafe.pxd

View File

@@ -1,11 +1,15 @@
module unload gcc
module load gcc/7.3.0
#rm -f PyCafeDefs.pxi
#ln -s PyCafeDefs_py35.pxi PyCafeDefs.pxi
#rm -f PyCafe.cpp
#rm -f PyCafe.h
#rm -f PyCafe.pxd
#ln -s PyCafe_sls.pxd PyCafe.pxd
#rm -f PyCafe.pyx
#ln -s PyCafe_sls.pyx PyCafe.pyx
#ln -s PyCafe_sls_py35.pyx PyCafe.pyx
_EPICS_HOST_ARCH=${RHREL}-x86_64
source /opt/gfa/python 3.5
python setup_py35_sls2.py build_ext -b ./python3.5-sls2/lib/${EPICS_HOST_ARCH}
cp examples.py ./python3.5-sls2/lib/${EPICS_HOST_ARCH}
python setup_py35_sls2.py build_ext -b ./python3.5-sls2/lib/${_EPICS_HOST_ARCH}
cp examples.py ./python3.5-sls2/lib/${_EPICS_HOST_ARCH}

View File

@@ -6,6 +6,7 @@ rm -f PyCafe.pxd
ln -s PyCafe_sf.pxd PyCafe.pxd
rm -f PyCafe.pyx
ln -s PyCafe_sf.pyx PyCafe.pyx
_EPICS_HOST_ARCH=${RHREL}-x86_64
source /opt/gfa/python 3.7
python setup_py37_sf.py build_ext -b ./python3.7-sf/lib/${EPICS_HOST_ARCH}
cp examples.py ./python3.7-sf/lib/${EPICS_HOST_ARCH}
python setup_py37_sf.py build_ext -b ./python3.7-sf/lib/${_EPICS_HOST_ARCH}
cp examples.py ./python3.7-sf/lib/${_EPICS_HOST_ARCH}

View File

@@ -1,11 +1,14 @@
module unload gcc
module load gcc/7.3.0
rm -f PyCafeDefs.pxi
ln -s PyCafeDefs_py37.pxi PyCafeDefs.pxi
rm -f PyCafe.cpp
rm -f PyCafe.h
rm -f PyCafe.pxd
ln -s PyCafe_sls.pxd PyCafe.pxd
rm -f PyCafe.pyx
ln -s PyCafe_sls.pyx PyCafe.pyx
_EPICS_HOST_ARCH=${RHREL}-x86_64 #os.environ['EPICS_HOST_ARCH']
source /opt/gfa/python 3.7
python setup_py37_sls2.py build_ext -b ./python3.7-sls2/lib/${EPICS_HOST_ARCH}
cp examples.py ./python3.7-sls2/lib/${EPICS_HOST_ARCH}
python setup_py37_sls2.py build_ext -b ./python3.7-sls2/lib/${_EPICS_HOST_ARCH}
cp examples.py ./python3.7-sls2/lib/${_EPICS_HOST_ARCH}

View File

@@ -1,11 +1,14 @@
module unload gcc
module load gcc/7.5.0
rm -f PyCafeDefs.pxi
ln -s PyCafeDefs_py37.pxi PyCafeDefs.pxi
rm -f PyCafe.cpp
rm -f PyCafe.h
rm -f PyCafe.pxd
ln -s PyCafe_sls.pxd PyCafe.pxd
rm -f PyCafe.pyx
ln -s PyCafe_sls.pyx PyCafe.pyx
_EPICS_HOST_ARCH=${RHREL}-x86_64
source /opt/gfa/python 3.8
python setup_py38_sls2.py build_ext -b ./python3.8-sls2/lib/${EPICS_HOST_ARCH}
cp examples.py ./python3.8-sls2/lib/${EPICS_HOST_ARCH}
python setup_py38_sls2.py build_ext -b ./python3.8-sls2/lib/${_EPICS_HOST_ARCH}
cp examples.py ./python3.8-sls2/lib/${_EPICS_HOST_ARCH}

View File

@@ -5,11 +5,13 @@
##### CHANGE AS APPROPRIATE #################
#
_EPICS_HOST_ARCH=${RHREL}-x86_64
CAFE_CYCAFE_BASE=/opt/gfa/cafe/python/pycafe
INSTALL_PATH_PY= $(CAFE_CYCAFE_BASE)/cafe-1.15.1-gcc-7.3.0/lib/${EPICS_HOST_ARCH}
INSTALL_PATH_SF= $(CAFE_CYCAFE_BASE)/cafe-1.15.1-sf-gcc-7.3.0/lib/${EPICS_HOST_ARCH}
INSTALL_PATH_SLS2= $(CAFE_CYCAFE_BASE)/cafe-1.15.1-gcc-7.3.0/lib/${EPICS_HOST_ARCH}
INSTALL_PATH_PY= $(CAFE_CYCAFE_BASE)/cafe-1.19.3-gcc-7.3.0/lib/${_EPICS_HOST_ARCH}
INSTALL_PATH_SF= $(CAFE_CYCAFE_BASE)/cafe-1.19.3-sf-gcc-7.3.0/lib/${_EPICS_HOST_ARCH}
INSTALL_PATH_SLS2= $(CAFE_CYCAFE_BASE)/cafe-1.19.3-gcc-7.3.0/lib/${_EPICS_HOST_ARCH}
INSTALL_PATH_SLS2_PY38= $(CAFE_CYCAFE_BASE)/cafe-1.19.3-gcc-7.5.0/lib/${_EPICS_HOST_ARCH}
INSTALL_PATH_SLS2_PY310= $(CAFE_CYCAFE_BASE)/cafe-1.19.3-gcc-7.5.0/lib/${_EPICS_HOST_ARCH}
#############################################
.DEFAULT_GOAL := help
@@ -18,33 +20,44 @@ INSTALL_PATH_SLS2= $(CAFE_CYCAFE_BASE)/cafe-1.15.1-gcc-7.3.0/lib/${EPICS_HOST_AR
help:
@echo "Options for make: install_py37 install_py37_sf install_py37_sls2 install_py35 install_py35_sf"
install_py37: python3.7/lib/${EPICS_HOST_ARCH}/PyCafe.cpython-37m-x86_64-linux-gnu.so
install_py37: python3.7/lib/${_EPICS_HOST_ARCH}/PyCafe.cpython-37m-x86_64-linux-gnu.so
mkdir -p $(INSTALL_PATH_PY)
cp python3.7/lib/${EPICS_HOST_ARCH}/PyCafe.cpython-37m-x86_64-linux-gnu.so $(INSTALL_PATH_PY)
cp python3.7/lib/${EPICS_HOST_ARCH}/examples.py $(INSTALL_PATH_PY)
cp python3.7/lib/${_EPICS_HOST_ARCH}/PyCafe.cpython-37m-x86_64-linux-gnu.so $(INSTALL_PATH_PY)
cp python3.7/lib/${_EPICS_HOST_ARCH}/examples.py $(INSTALL_PATH_PY)
install_py35: python3.5/lib/${EPICS_HOST_ARCH}/PyCafe.cpython-35m-x86_64-linux-gnu.so
install_py35: python3.5/lib/${_EPICS_HOST_ARCH}/PyCafe.cpython-35m-x86_64-linux-gnu.so
mkdir -p $(INSTALL_PATH_PY)
cp python3.5/lib/${EPICS_HOST_ARCH}/PyCafe.cpython-35m-x86_64-linux-gnu.so $(INSTALL_PATH_PY)
cp python3.5/lib/${_EPICS_HOST_ARCH}/PyCafe.cpython-35m-x86_64-linux-gnu.so $(INSTALL_PATH_PY)
install_py37_sf: python3.7-sf/lib/${EPICS_HOST_ARCH}/PyCafe.cpython-37m-x86_64-linux-gnu.so
install_py37_sf: python3.7-sf/lib/${_EPICS_HOST_ARCH}/PyCafe.cpython-37m-x86_64-linux-gnu.so
mkdir -p $(INSTALL_PATH_SF)
cp python3.7-sf/lib/${EPICS_HOST_ARCH}/PyCafe.cpython-37m-x86_64-linux-gnu.so $(INSTALL_PATH_SF)
cp python3.7-sf/lib/${EPICS_HOST_ARCH}/examples.py $(INSTALL_PATH_SF)
cp python3.7-sf/lib/${_EPICS_HOST_ARCH}/PyCafe.cpython-37m-x86_64-linux-gnu.so $(INSTALL_PATH_SF)
cp python3.7-sf/lib/${_EPICS_HOST_ARCH}/examples.py $(INSTALL_PATH_SF)
install_py35_sf: python3.5-sf/lib/${EPICS_HOST_ARCH}/PyCafe.cpython-35m-x86_64-linux-gnu.so
install_py35_sf: python3.5-sf/lib/${_EPICS_HOST_ARCH}/PyCafe.cpython-35m-x86_64-linux-gnu.so
mkdir -p $(INSTALL_PATH_SF)
cp python3.5-sf/lib/${EPICS_HOST_ARCH}/PyCafe.cpython-35m-x86_64-linux-gnu.so $(INSTALL_PATH_SF)
cp python3.5-sf/lib/${_EPICS_HOST_ARCH}/PyCafe.cpython-35m-x86_64-linux-gnu.so $(INSTALL_PATH_SF)
install_py37_sls2: python3.7-sls2/lib/${EPICS_HOST_ARCH}/PyCafe.cpython-37m-x86_64-linux-gnu.so
mkdir -p $(INSTALL_PATH_SLS2)
cp python3.7-sls2/lib/${EPICS_HOST_ARCH}/PyCafe.cpython-37m-x86_64-linux-gnu.so $(INSTALL_PATH_SLS2)
cp python3.7-sls2/lib/${EPICS_HOST_ARCH}/examples.py $(INSTALL_PATH_SLS2)
install_py35_sls2: python3.5-sls2/lib/${EPICS_HOST_ARCH}/PyCafe.cpython-35m-x86_64-linux-gnu.so
install_py310_sls2: python3.10-sls2/lib/${_EPICS_HOST_ARCH}/PyCafe.cpython-310-x86_64-linux-gnu.so
mkdir -p $(INSTALL_PATH_SLS2_PY310)
cp python3.10-sls2/lib/${_EPICS_HOST_ARCH}/PyCafe.cpython-310-x86_64-linux-gnu.so $(INSTALL_PATH_SLS2_PY310)
cp python3.10-sls2/lib/${_EPICS_HOST_ARCH}/examples.py $(INSTALL_PATH_SLS2_PY310)
install_py38_sls2: python3.8-sls2/lib/${_EPICS_HOST_ARCH}/PyCafe.cpython-38-x86_64-linux-gnu.so
mkdir -p $(INSTALL_PATH_SLS2_PY38)
cp python3.8-sls2/lib/${_EPICS_HOST_ARCH}/PyCafe.cpython-38-x86_64-linux-gnu.so $(INSTALL_PATH_SLS2_PY38)
cp python3.8-sls2/lib/${_EPICS_HOST_ARCH}/examples.py $(INSTALL_PATH_SLS2_PY38)
install_py37_sls2: python3.7-sls2/lib/${_EPICS_HOST_ARCH}/PyCafe.cpython-37m-x86_64-linux-gnu.so
mkdir -p $(INSTALL_PATH_SLS2)
cp python3.5-sls2/lib/${EPICS_HOST_ARCH}/PyCafe.cpython-35m-x86_64-linux-gnu.so $(INSTALL_PATH_SLS2)
cp python3.5-sls2/lib/${EPICS_HOST_ARCH}/examples.py $(INSTALL_PATH_SLS2)
cp python3.7-sls2/lib/${_EPICS_HOST_ARCH}/PyCafe.cpython-37m-x86_64-linux-gnu.so $(INSTALL_PATH_SLS2)
cp python3.7-sls2/lib/${_EPICS_HOST_ARCH}/examples.py $(INSTALL_PATH_SLS2)
install_py35_sls2: python3.5-sls2/lib/${_EPICS_HOST_ARCH}/PyCafe.cpython-35m-x86_64-linux-gnu.so
mkdir -p $(INSTALL_PATH_SLS2)
cp python3.5-sls2/lib/${_EPICS_HOST_ARCH}/PyCafe.cpython-35m-x86_64-linux-gnu.so $(INSTALL_PATH_SLS2)
cp python3.5-sls2/lib/${_EPICS_HOST_ARCH}/examples.py $(INSTALL_PATH_SLS2)
clean:
rm -f *.o

View File

@@ -7,9 +7,9 @@
CAFE_CYCAFE_BASE=/opt/gfa/cafe/python/pycafe
INSTALL_PATH_PY= $(CAFE_CYCAFE_BASE)/cafe-1.16.1-gcc-7.5.0/lib/${EPICS_HOST_ARCH}
INSTALL_PATH_SF= $(CAFE_CYCAFE_BASE)/cafe-1.16.1-sf-gcc-7.5.0/lib/${EPICS_HOST_ARCH}
INSTALL_PATH_SLS2= $(CAFE_CYCAFE_BASE)/cafe-1.16.1-gcc-7.5.0/lib/${EPICS_HOST_ARCH}
INSTALL_PATH_PY= $(CAFE_CYCAFE_BASE)/cafe-1.19.0-gcc-7.5.0/lib/${EPICS_HOST_ARCH}
INSTALL_PATH_SF= $(CAFE_CYCAFE_BASE)/cafe-1.19.0-sf-gcc-7.5.0/lib/${EPICS_HOST_ARCH}
INSTALL_PATH_SLS2= $(CAFE_CYCAFE_BASE)/cafe-1.19.0-gcc-7.5.0/lib/${EPICS_HOST_ARCH}
#############################################
.DEFAULT_GOAL := help

53
setup_py310_sls2.py Normal file
View File

@@ -0,0 +1,53 @@
import os
import sys
from distutils.core import setup
from distutils.extension import Extension
from Cython.Compiler.Main import default_options
default_options['emit_linenums'] = True
from Cython.Build import cythonize
from numpy import get_include
_GCC_VERSION='7.5.0'
_CAFE_VERSION='1.19.3-py310-gcc-' + _GCC_VERSION
_EPICS_VERSION='7.0.7'
_EPICS_HOST_ARCH =os.environ['RHREL'] + '-x86_64'
setup(
ext_modules = cythonize([Extension('PyCafe',['PyCafe.pyx'],
language="c++",
include_dirs=[ '/opt/gfa/python-3.10/latest/include/python3.10',
os.environ['EPICS'] + '/base-' + _EPICS_VERSION + '/include',
os.environ['EPICS'] + '/base-' + _EPICS_VERSION + '/include/os/Linux',
os.environ['EPICS'] + '/base-' + _EPICS_VERSION + '/include/compiler/gcc',
'/opt/gfa/cafe/boost/boost_1_61_0/include',
'/opt/gfa/cafe/boost/boost_1_61_0/include/boost',
'/opt/gfa/cafe/cpp/cafe-' + _CAFE_VERSION +
'/include',
'.', get_include()],
library_dirs=[ os.environ['EPICS'] + '/base-' + _EPICS_VERSION + '/lib/' +
_EPICS_HOST_ARCH,
'/opt/gfa/cafe/cpp/cafe-' + _CAFE_VERSION +
'/lib/' + _EPICS_HOST_ARCH,
os.environ['PSI_PREFIX'] + '/Programming/gcc/' + _GCC_VERSION + '/lib64',
os.environ['PSI_PREFIX'] + '/Programming/gcc/' + _GCC_VERSION + '/lib',
'/opt/gfa/python-3.10/latest/lib'
],
runtime_library_dirs=[
os.environ['EPICS'] + '/base-' + _EPICS_VERSION + '/lib/' +
_EPICS_HOST_ARCH,
'/opt/gfa/cafe/cpp/cafe-' + _CAFE_VERSION +
'/lib/' + _EPICS_HOST_ARCH,
os.environ['PSI_PREFIX'] + '/Programming/gcc/' + _GCC_VERSION + '/lib64',
os.environ['PSI_PREFIX'] + '/Programming/gcc/' + _GCC_VERSION + '/lib'
],
libraries=['ca','Com','dl','cafe', 'Qt5Xml', 'Qt5Core'])
], annotate=True,
compiler_directives={'embedsignature': False, 'language_level': 3,
'c_string_type': 'str', 'c_string_encoding' : 'ascii',
'py2_import': False, 'warn.unreachable': False,
'remove_unreachable': False},
compile_time_env={'PY_VERSION_HEX':sys.hexversion,
'PY_EXT_C': True, 'BS_CAFE': False,
'CAFE_VERSION': _CAFE_VERSION, 'EPICS_VERSION': _EPICS_VERSION }
)
)

View File

@@ -10,7 +10,7 @@ from numpy import get_include
_GCC_VERSION='7.3.0'
_CAFE_VERSION='1.16.0-epics3-py35-gcc-' + _GCC_VERSION
_EPICS_VERSION='3.14.12'
_EPICS_HOST_ARCH = os.environ['EPICS_HOST_ARCH'] #'SL6-x86_64' #os.environ['EPICS_HOST_ARCH']
_EPICS_HOST_ARCH=os.environ['RHREL'] +'-x86_64' #os.environ['EPICS_HOST_ARCH'] #'SL6-x86_64'
setup(
ext_modules = cythonize([Extension('PyCafe',['PyCafe.pyx'],

View File

@@ -8,9 +8,9 @@ from Cython.Build import cythonize
from numpy import get_include
_GCC_VERSION='7.3.0'
_CAFE_VERSION='1.16.0-py35-gcc-' + _GCC_VERSION
_EPICS_VERSION='7.0.6'
_EPICS_HOST_ARCH ='RHEL7-x86_64' #os.environ['EPICS_HOST_ARCH']
_CAFE_VERSION='1.19.3-py35-gcc-' + _GCC_VERSION
_EPICS_VERSION='7.0.7'
_EPICS_HOST_ARCH=os.environ['RHREL'] +'-x86_64' #os.environ['EPICS_HOST_ARCH']
setup(
ext_modules = cythonize([Extension('PyCafe',['PyCafe.pyx'],
@@ -29,8 +29,7 @@ setup(
'/opt/gfa/cafe/cpp/cafe-' + _CAFE_VERSION +
'/lib/' + _EPICS_HOST_ARCH,
os.environ['PSI_PREFIX'] + '/Programming/gcc/' + _GCC_VERSION + '/lib64',
os.environ['PSI_PREFIX'] + '/Programming/gcc/' + _GCC_VERSION + '/lib',
'/opt/gfa/python-3.5/latest/lib'
os.environ['PSI_PREFIX'] + '/Programming/gcc/' + _GCC_VERSION + '/lib'
],
runtime_library_dirs=[
os.environ['EPICS'] + '/base-' + _EPICS_VERSION + '/lib/'

View File

@@ -7,44 +7,49 @@ default_options['emit_linenums'] = True
from Cython.Build import cythonize
from numpy import get_include
_CAFE_VERSION='1.14.5'
_EPICS_VERSION='3.14.12'
_GCC_VERSION='7.3.0'
_CAFE_VERSION='1.19.3-sf-py37-gcc-' + _GCC_VERSION
_EPICS_VERSION='7.0.6'
_EPICS_HOST_ARCH =os.environ['RHREL'] + '-x86_64'
setup(
ext_modules = cythonize([Extension('PyCafe',['PyCafe.pyx'],
language="c++",
include_dirs=[ '/opt/gfa/python-3.7/latest/include/python3.7m',
os.environ['EPICS'] + '/base/include',
os.environ['EPICS'] + '/base/include/os/Linux',
os.environ['EPICS'] + '/base-' + _EPICS_VERSION + '/include',
os.environ['EPICS'] + '/base-' + _EPICS_VERSION + '/include/os/Linux',
os.environ['EPICS'] + '/base-' + _EPICS_VERSION + '/include/compiler/gcc',
'/opt/gfa/cafe/boost/boost_1_61_0/include',
'/opt/gfa/cafe/boost/boost_1_61_0/include/boost',
'/opt/gfa/cafe/cpp/cafe-' + _CAFE_VERSION +
'-sf-py37-gcc-7.3.0/include',
'/include',
'/opt/gfa/zmq/zeromq-4.2.3-gcc-6.3.0/include',
'/opt/gfa/zmq/curl-7.54.1/include',
'/opt/gfa/zmsglog/json/jsoncpp-src-0.6.0-rc2/include',
'.', get_include()],
library_dirs=[ os.environ['EPICS'] + '/base/lib/' + os.environ['EPICS_HOST_ARCH'],
library_dirs=[ os.environ['EPICS'] + '/base-' + _EPICS_VERSION + '/lib/' +
_EPICS_HOST_ARCH,
'/opt/gfa/cafe/cpp/cafe-' + _CAFE_VERSION +
'-sf-py37-gcc-7.3.0/lib/' + os.environ['EPICS_HOST_ARCH'],
'/lib/' + _EPICS_HOST_ARCH,
'/opt/gfa/zmq/zeromq-4.2.3-gcc-6.3.0/lib',
'/opt/gfa/zmsglog/json/jsoncpp-src-0.6.0-rc2/libs/linux-gcc-6.3.0',
'/opt/gfa/zmq/curl-7.54.1/lib',
'/opt/gfa/python-3.7/latest/lib',
os.environ['PSI_PREFIX'] + '/Programming/gcc/7.3.0/lib64',
os.environ['PSI_PREFIX'] + '/Programming/gcc/7.3.0/lib'
os.environ['PSI_PREFIX'] + '/Programming/gcc/7.3.0/lib',
'/opt/gfa/python-3.7/latest/lib'
],
runtime_library_dirs=[
os.environ['EPICS'] + '/base/lib/' + os.environ['EPICS_HOST_ARCH'],
'/opt/gfa/cafe/cpp/cafe-' + _CAFE_VERSION +
'-sf-py37-gcc-7.3.0/lib/' + os.environ['EPICS_HOST_ARCH'],
'/opt/gfa/zmq/zeromq-4.2.3-gcc-6.3.0/lib',
'/opt/gfa/zmsglog/json/jsoncpp-src-0.6.0-rc2/libs/linux-gcc-6.3.0',
'/opt/gfa/zmq/curl-7.54.1/lib',
'/opt/gfa/python-3.7/latest/lib',
os.environ['PSI_PREFIX'] + '/Programming/gcc/7.3.0/lib64',
os.environ['PSI_PREFIX'] + '/Programming/gcc/7.3.0/lib'
os.environ['EPICS'] + '/base-' + _EPICS_VERSION + '/lib/' +
_EPICS_HOST_ARCH,
'/opt/gfa/cafe/cpp/cafe-' + _CAFE_VERSION +
'/lib/' + _EPICS_HOST_ARCH,
'/opt/gfa/zmq/zeromq-4.2.3-gcc-6.3.0/lib',
'/opt/gfa/zmsglog/json/jsoncpp-src-0.6.0-rc2/libs/linux-gcc-6.3.0',
'/opt/gfa/zmq/curl-7.54.1/lib',
'/opt/gfa/python-3.7/latest/lib',
os.environ['PSI_PREFIX'] + '/Programming/gcc/7.3.0/lib64',
os.environ['PSI_PREFIX'] + '/Programming/gcc/7.3.0/lib'
],
libraries=['ca','Com','dl','cafe'])
], annotate=True,

60
setup_py37_sf_epics3.py Normal file
View File

@@ -0,0 +1,60 @@
import os
import sys
from distutils.core import setup
from distutils.extension import Extension
from Cython.Compiler.Main import default_options
default_options['emit_linenums'] = True
from Cython.Build import cythonize
from numpy import get_include
_CAFE_VERSION='1.14.5'
_EPICS_VERSION='3.14.12'
setup(
ext_modules = cythonize([Extension('PyCafe',['PyCafe.pyx'],
language="c++",
include_dirs=[ '/opt/gfa/python-3.7/latest/include/python3.7m',
os.environ['EPICS'] + '/base/include',
os.environ['EPICS'] + '/base/include/os/Linux',
'/opt/gfa/cafe/boost/boost_1_61_0/include',
'/opt/gfa/cafe/boost/boost_1_61_0/include/boost',
'/opt/gfa/cafe/cpp/cafe-' + _CAFE_VERSION +
'-sf-py37-gcc-7.3.0/include',
'/opt/gfa/zmq/zeromq-4.2.3-gcc-6.3.0/include',
'/opt/gfa/zmq/curl-7.54.1/include',
'/opt/gfa/zmsglog/json/jsoncpp-src-0.6.0-rc2/include',
'.', get_include()],
library_dirs=[ os.environ['EPICS'] + '/base/lib/' + os.environ['EPICS_HOST_ARCH'],
'/opt/gfa/cafe/cpp/cafe-' + _CAFE_VERSION +
'-sf-py37-gcc-7.3.0/lib/' + os.environ['EPICS_HOST_ARCH'],
'/opt/gfa/zmq/zeromq-4.2.3-gcc-6.3.0/lib',
'/opt/gfa/zmsglog/json/jsoncpp-src-0.6.0-rc2/libs/linux-gcc-6.3.0',
'/opt/gfa/zmq/curl-7.54.1/lib',
'/opt/gfa/python-3.7/latest/lib',
os.environ['PSI_PREFIX'] + '/Programming/gcc/7.3.0/lib64',
os.environ['PSI_PREFIX'] + '/Programming/gcc/7.3.0/lib'
],
runtime_library_dirs=[
os.environ['EPICS'] + '/base/lib/' + os.environ['EPICS_HOST_ARCH'],
'/opt/gfa/cafe/cpp/cafe-' + _CAFE_VERSION +
'-sf-py37-gcc-7.3.0/lib/' + os.environ['EPICS_HOST_ARCH'],
'/opt/gfa/zmq/zeromq-4.2.3-gcc-6.3.0/lib',
'/opt/gfa/zmsglog/json/jsoncpp-src-0.6.0-rc2/libs/linux-gcc-6.3.0',
'/opt/gfa/zmq/curl-7.54.1/lib',
'/opt/gfa/python-3.7/latest/lib',
os.environ['PSI_PREFIX'] + '/Programming/gcc/7.3.0/lib64',
os.environ['PSI_PREFIX'] + '/Programming/gcc/7.3.0/lib'
],
libraries=['ca','Com','dl','cafe'])
], annotate=True,
compiler_directives={'embedsignature': False, 'language_level': 3,
'c_string_type': 'str', 'c_string_encoding' : 'ascii',
'py2_import': False, 'warn.unreachable': False,
'remove_unreachable': False},
compile_time_env={'PY_VERSION_HEX':sys.hexversion,
'PY_EXT_C': True, 'BS_CAFE': True,
'CAFE_VERSION': _CAFE_VERSION,
'EPICS_VERSION': _EPICS_VERSION}
)
)

View File

@@ -8,9 +8,9 @@ from Cython.Build import cythonize
from numpy import get_include
_GCC_VERSION='7.3.0'
_CAFE_VERSION='1.16.0-py37-gcc-' + _GCC_VERSION
_CAFE_VERSION='1.19.3-py37-gcc-' + _GCC_VERSION
_EPICS_VERSION='7.0.6'
_EPICS_HOST_ARCH ='RHEL7-x86_64' #os.environ['EPICS_HOST_ARCH']
_EPICS_HOST_ARCH =os.environ['RHREL'] + '-x86_64' #os.environ['EPICS_HOST_ARCH']
setup(
ext_modules = cythonize([Extension('PyCafe',['PyCafe.pyx'],

View File

@@ -8,9 +8,9 @@ from Cython.Build import cythonize
from numpy import get_include
_GCC_VERSION='7.5.0'
_CAFE_VERSION='1.16.1-py38-gcc-' + _GCC_VERSION
_EPICS_VERSION='7.0.6'
_EPICS_HOST_ARCH ='RHEL7-x86_64'
_CAFE_VERSION='1.19.3-py38-gcc-' + _GCC_VERSION
_EPICS_VERSION='7.0.7'
_EPICS_HOST_ARCH =os.environ['RHREL'] + '-x86_64'
setup(
ext_modules = cythonize([Extension('PyCafe',['PyCafe.pyx'],