EPICS Release base 3.14.0alpha2
Since the alpha1 release some major changes were made to the build system,
to some of the libCom facilities, and to the iocsh facilities.
The unbundled version of the sequencer has been build and tested with
this release. You must obtain a version of the sequencer that has been
built against alpha2.
A verion of the HPlanGpib support has been built and tested with this
release. Again you must obtain a version that builds with alpha2.
A new update to the Application Developer's Guide is available for this
release.
Build changes
-
Operating system independant builds are now done in an O.Common subdirectory
and then installed instead of being performed directly in an install directory.
-
Build definition names (e.g. RECTYPES, MENUS, DBDNAME, and BPTS) have been
changed to specify the name of the file to be created and installed instead
of the source file name.
-
All db and dbd related definitions and rules have been moved into base/configure/RULES.Db
file. The rules now allow multiple dbd files and registerRecordDeviceDriver
files to be created in a single Makefile.
-
"gnumake depends" no longer depends on a complete buildInstall.
Converting alpha1 applications to alpha2
Build modifications in alpha2 require the following changes to existing
R3.14 applications.
-
Remove the now unused RULES files
-
./configure/RULES.Db
./configure/RULES.registerRecordDeviceDriver
-
Delete the following line in ./configure/RULES
include $(TOP)/configure/RULES.registerRecordDeviceDriver
-
In <top>/configure/Makefile change
@$(PERL) $(TOOLS)/makeConfigAppInclude.pl $(T_A) $@ $(TOP)
to
@$(PERL) $(TOOLS)/makeConfigAppInclude.pl $(EPICS_HOST_ARCH) $(T_A)
$@ $(TOP)
and add the line
to the bottom of the Makefile.
-
In all *App/*Db/Makefileschange
include $(TOP)/configure/RULES.Db
to
include $(TOP)/configure/RULES
-
In all *App/src/Makefile files
change DBDNAME = <name>App to
DBD += <name>
and remove the line
DBDEXPAND = <name>Include.dbd
NOTE: If any of your *App/*Db/Makefiles contain "DBDNAME =" lines you should
make these same changes in that *Db dirctory.
-
In all *App/src/Makefile Makefiles
change RECTYPES=<name>.h to
DBDINC+=<name>
change MENUS=<name>.h to
DBDINC+=<name>
change BPTS to
DBD
change INSTALLDB to
DB
change DBDINSTALL to
DBD
-
In all example *App/src/Makefile files change
example_SRCS_DEFAULT += registerRecordDeviceDriver.c
to
example_SRCS_DEFAULT += <name>_registerRecordDeviceDriver.cpp
where <name> is the base name of a <name>.dbd file which was created
from a <name>Include.dbd file and which will be loaded in a st.cmd or
stcmd.host script (e.g. example).
-
In ./iocBoot/ioc<name>/st.cmd files change
dbLoadDatabase("dbd/exampleApp.dbd")
to
dbLoadDatabase("dbd/example.dbd")
-
In <top>/iocBoot/ioc<name>/stcmd.host files change
dbLoadDatabase("../../dbd/exampleApp.dbd",0,0)
to
dbLoadDatabase("../../dbd/example.dbd",0,0)
EPICS_HOST_ARCH changes
GNU compiler builds are now determined by the value of EPICS_HOST_ARCH
and are no longer specified in CONFIG_SITE. All references to the
ANSI (ACC/GCC) and CPLUSPLUS (CCC/G++) macros have been removed.
libCom
Most of the library routines and files starting with the prefix osi have
been changed to start with epics. Several also had major changes to their
user interface. See the latest version of the Application Developer's Guide
for details.
EPICS Release base 3.14.0alpha1 Notes
This is the first release of 3.14. This is the first release that supports
iocCore on platforms besides vxWorks.
iocCore is now supported on the following platforms:
-
vxWorks
Tornado II is required.
-
RTEMS
An open source real time operating system. It has been tested on MVME167
and MC68360 processors. RTEMS also supports powerPC.
-
solaris
Has been tested on solaris 2.6 and solaris 8.
-
Linux
Has been tested on Redhat x86 platforms.
-
winNT
Testing has been done with visual C++ 6.0.
A new version of the Application Developers Guide is available. The following
gives links to the new Application Developer's Guide and to RTEMS information.
http://www.aps.anl.gov/epics/base/R3-14/0alpha2.php
Most of the Application Developer's Guide has only minor changes. The
following are new.
-
Chapter 2 describes the new features for 3.14.
-
Chapter 4 describes the build facility for 3.14
-
Chapters 19 and 20 describe libCom, which was not previously documented.
It must be emphasized that this is an alpha release.
-
Please don't use it for existing operational systems
-
Don't build your operational CA clients with it.
-
The APIs for new components in libCom are still evolving so if you use
them be prepared for changes.
-
HPUX - No support currently because we could not find good support for
multithreading.
Building Applications
-
For new applications see Chapters 2 (New Features) and Chapter 4 (Build
Facility) of the Application Developer's Guide.
-
For existing applications the old config rules are still supported. Some
changes, however, are needed. Documentation is being prepared and will
appear in these release notes sooon.