EPICS Base 3.15.0.x releases are not intended for use in production systems.
The two macros EPICS_UPDATE_LEVEL and EPICS_CVS_SNAPSHOT have been deleted from the epicsVersion.h file; they were deprecated in R3.14 and can be replaced with EPICS_PATCH_LEVEL and EPICS_DEV_SNAPSHOT respectively.
A new pair of macros has been added to make version number comparisons easier. Code that will not work with a version of Base before 3.15.0 can now be written like this to prevent it from compiling:
#if defined(VERSION_INT) && EPICS_VERSION_INT < VERSION_INT(3,15,0,0) # error EPICS Base R3.15.0 or later is required #endif
Added a iocLogPrefix command to iocsh. This adds a
prefix to all messages from this IOC (or other log client) as they get sent to the
iocLogServer. This lets sites use the "fac=<facility>" syntax for
displaying the facility, process name etc. in log viewers like the
cmlogviewer.
The histogram record was not included in the base.dbd file in any 3.14 release, but has now been added along with its associated soft device support. The build system now generates the list of all the record.dbd files in base automatically in src/std/rec/Makefile.
Reorganization of subdirectories of src/ to better represent the relation between different parts as described in the following table.
This change also allows the number of libraries built to be reduced to: libCap5.so, libca.so, libdbCore.so, libdbStaticHost.so, libCom.so, libcas.so, libdbRecStd.so, and libgdd.so
| Component | Dependency | Library name | Description |
|---|---|---|---|
| src/tools | Build system scripts | ||
| src/libCom | src/tools | Com | Utility routines and OS-independant API |
| src/template | src/tools | User application templates (e.g. makeBaseApp) | |
| src/ca/client | src/libCom | ca | Channel Access client |
| src/ca/legacy/gdd | src/ca/client | gdd | Generic data layer for PCAS |
| src/ca/legacy/pcas | src/ca/legacy/gdd | cas | Portable Channel Access Server |
| src/ioc | src/ca | dbCore | Core database processing functions |
| src/std | src/ioc | dbRecStd | Standard records, soft device support and the softIoc |
In order to better reflect these relations the following directories and files were moved as described:
| Relocations | |
|---|---|
| Previous | New |
| libCom | |
| src/RTEMS | src/libCom/RTEMS |
| src/toolsComm/flex | src/libCom/flex |
| src/toolsComm/antelope | src/libCom/yacc |
| src/dbStatic/alarm.h .../alarmString.h |
src/libCom/misc/ |
| IOC Core Components | |
| src/bpt | src/ioc/bpt |
| src/db | src/ioc/db |
| src/dbStatic | src/ioc/dbStatic |
| src/dbtools | src/ioc/dbtemplate |
| src/misc | src/ioc/misc |
| src/registry | src/ioc/registry |
| src/rsrv | src/ioc/rsrv 1 |
| Standard Record Definitions | |
| src/dev/softDev | src/std/dev |
| src/rec | src/std/rec |
| src/softIoc | src/std/softIoc |
| Channel Access | |
| src/ca | src/ca/client |
| src/catools | src/ca/client/tools |
| src/cap5 | src/ca/client/perl |
| src/gdd | src/ca/legacy/gdd |
| src/cas | src/ca/legacy/pcas |
| src/excas | src/ca/legacy/pcas/ex |
| User Templates | |
| src/makeBaseApp | src/template/base |
| src/makeBaseExt | src/template/ext |
| Dispersed | |
| src/util 2 | src/ca/client |
| src/ca/client/test | |
| src/libCom/log | |
| src/as 3 | src/libCom/as |
| src/ioc/as | |
1 RSRV is built as part of dbCore due to its tight (bidirectional) coupling with the other database code.
2 The contents for src/util/ moved to three locations. The caRepeater init script was moved to src/ca/client/. ca_test is now in src/ca/client/test/. The iocLogServer was moved into the same directory (src/libCom/log) as the log client code.
3 The Access Security code has been divided, with the parts not related to the database (lexer/parser and trap registration) becoming part of libCom. The remaining components are included in the dbCore library
These files are now found under src/RTEMS.
Removed the 3.13 <top>/config directory and build compatibility rules and variables, and various conversion documents.