new files

This commit is contained in:
Marty Kraimer
2001-04-09 19:45:51 +00:00
parent 7f7130cb2a
commit 22df1fb68a
3 changed files with 647 additions and 0 deletions
+252
View File
@@ -0,0 +1,252 @@
<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<meta name="ProgId" content="Word.Document">
<meta name="Generator" content="Microsoft Word 9">
<meta name="Originator" content="Microsoft Word 9">
<meta name="GENERATOR" content="Mozilla/4.76 [en] (X11; U; SunOS 5.8 sun4u) [Netscape]">
<title>Instruction on building existing R3</title>
<link rel=File-List href="./READMEbuildingR3.13AppsWithR3.14_files/filelist.xml">
<!--[if gte mso 9]><xml>
<o:DocumentProperties>
<o:LastAuthor>Jba</o:LastAuthor>
<o:Revision>3</o:Revision>
<o:TotalTime>4</o:TotalTime>
<o:Created>2000-10-25T19:43:00Z</o:Created>
<o:LastSaved>2000-10-25T19:47:00Z</o:LastSaved>
<o:Pages>1</o:Pages>
<o:Company>Argonne National Laboratory</o:Company>
<o:Lines>1</o:Lines>
<o:Paragraphs>1</o:Paragraphs>
<o:Version>9.2720</o:Version>
</o:DocumentProperties>
</xml><![endif]-->
<!--[if gte mso 9]><xml>
<w:WordDocument>
<w:DisplayHorizontalDrawingGridEvery>0</w:DisplayHorizontalDrawingGridEvery>
<w:DisplayVerticalDrawingGridEvery>0</w:DisplayVerticalDrawingGridEvery>
<w:UseMarginsForDrawingGridOrigin/>
<w:Compatibility>
<w:FootnoteLayoutLikeWW8/>
<w:ShapeLayoutLikeWW8/>
<w:AlignTablesRowByRow/>
<w:ForgetLastTabAlignment/>
<w:LayoutRawTableWidth/>
<w:LayoutTableRowsApart/>
</w:Compatibility>
</w:WordDocument>
</xml><![endif]-->
<style>
<!--
/* Font Definitions */
@font-face
{font-family:"MS Mincho";
panose-1:2 2 6 9 4 2 5 8 3 4;
mso-font-alt:"\FF2D\FF33 \660E\671D";
mso-font-charset:128;
mso-generic-font-family:roman;
mso-font-pitch:fixed;
mso-font-signature:-1610612033 1757936891 16 0 131231 0;}
@font-face
{font-family:"\@MS Mincho";
mso-font-charset:128;
mso-generic-font-family:roman;
mso-font-pitch:fixed;
mso-font-signature:1 134676480 16 0 131072 0;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
{mso-style-parent:"";
margin:0in;
margin-bottom:.0001pt;
mso-pagination:widow-orphan;
font-size:10.0pt;
font-family:"Times New Roman";
mso-fareast-font-family:"Times New Roman";}
p.MsoPlainText, li.MsoPlainText, div.MsoPlainText
{margin:0in;
margin-bottom:.0001pt;
mso-pagination:widow-orphan;
font-size:10.0pt;
font-family:"Courier New";
mso-fareast-font-family:"Times New Roman";}
@page Section1
{size:8.5in 11.0in;
margin:1.0in 66.0pt 1.0in 66.0pt;
mso-header-margin:.5in;
mso-footer-margin:.5in;
mso-paper-source:0;}
div.Section1
{page:Section1;}
-->
</style>
</head>
<body lang="EN-US" style="tab-interval:.5in">
<h2>
Building EPICS R3.13 applications with R3.14.0alpha2 base</h2>
This document describes how to convert a R3.13 vxWorks application so that
it builds with release R3.14.0alpha2.&nbsp; It describes an easy way to
convert applications subject to the following restrictions:
<ul>
<li>
The application still uses config rules rather than the configure rules
which are new to release 3.14.</li>
<li>
The OSI (Operating System Independent) features of R3.14 are not available,
i.e. iocCore products can only be build for vxWorks.</li>
<li>
Once the application is changed to build with base R3.14, it will not build
with earlier base releases.</li>
</ul>
Ultimately applications should be converted to use the new configure rules
so that the OSI features are available.
<h3>
<b>Gnumake clean uninstall</b></h3>
At the top of the application execute:
<pre>"<tt>gnumake clean uninstall</tt>"</pre>
to remove all files and directories created by earlier builds.
<h3>
Update RELEASE</h3>
Change&nbsp; the EPICS_BASE definition to point to the R3.14 base release.
In addition all hardware support and some soft support is now unbundled.
For example the sequencer is unbundled. You must obtain and build all required
unbundled products before you can build the application. The location of
each unbundled product must be described in &lt;top>/config/RELEASE.
<h3>
Update target arch definitions</h3>
Change any target arch specification in config/CONFIG to new base R3.14
target arch specification. Look in the R3.14 base/bin to see the target
arch names.
<p>For example, in config/CONFIG change
<pre>CROSS_COMPILER_TARGET_ARCHS = mv167</pre>
to
<pre>CROSS_COMPILER_TARGET_ARCHS = vxWorks-68040</pre>
In the iocBoot/*/Makefile files, change
<pre>ARCH=&lt;old arch name></pre>
to
<pre>ARCH=&lt;new arch name></pre>
and do a "<tt>gnumake"</tt> in the iocBoot directory to update the cdCommands
files.
<h3>
SNC changes</h3>
snc is no longer in base. If snc is used in your application, you must
download and build the seq module with baseR3.14.0alpha2 or later. See
the Application Developer's Guide to see how to build sequence programs.
<h3>
iocCore changes</h3>
iocCore has been renamed to iocCoreLibrary.o.
<br>Change
<pre>INSTALLS=iocCore</pre>
to
<pre>LIBOBJS = $(EPICS_BASE_BIN)/iocCoreLibrary.o</pre>
in your application src/Makefile.Vx files to link iocCore into your application
library.
<br>Also remove
<pre>ld &lt; iocCore</pre>
from the st.cmd files in the iocBoot subdirectories.
<h3>
Library db changes</h3>
The Db library name was changed to dbStaticHost for host builds and dbStaticIoc
for ioc builds.
<br>Change
<pre>PROD_LIBS+=Db</pre>
to
<pre>PROD_LIBS+=dbStaticHost</pre>
and
<pre>Db_DIR=$(EPICS_BASE_LIB)</pre>
to
<pre>dbStaticHost_DIR=$(EPICS_BASE_LIB)</pre>
in your application src/Makefile.Host files.
<h3>
VxWorks C++ munched libraries and object files</h3>
Since R3.14 contains C++ code, the build rules were changed to create a
corresponding munched file for every vx object file built. The objects
files can be combined to form libraries but the munched files must be loaded
into vxWorks. In all st.cmd files add the suffix ".munch" to the ld lines
where object files were previously loaded. For example change
<pre>ld &lt; exampleLib</pre>
to
<pre>ld &lt; exampleLibrary.munch</pre>
<h3>
recGbl calls</h3>
You may need to add the line&nbsp; "<tt>#include "recGbl.h</tt>" to any
source files that have recGbl* calls so that the file will compile without
errors.
<h3>
Record support changes</h3>
The steppermotor, scan, and pid records are no longer in base. If your
application does not use these record types, comment out or remove references
to them in base.dbd and baseLIBOBJS. If these record types are used by
your application you must download and build the modules with R3.14 base,
add appropriate module definitions to your application's config/RELEASE
fileand change the <tt>LIBOBJS</tt> definitions. For example
<br>add
<pre>PID=&lt;full path to modules directory>/pid</pre>
to config/RELEASE.
<br>Remove
<pre>LIBOBJS += $(EPICS_BASE_BIN)/pidRecord.o</pre>
from baseLIBOBJS,
<br>and add
<pre>LIBOBJS += $(PID_BIN)/pidRecord.o</pre>
to your application src/Makefile.
<p>You should consider changing any existing old steppermotor records to
the new EPICS&nbsp; <a href="http://www.aps.anl.gov/upd/people/sluiter/epics/modules/mechanism/motor/index.html">motor
record</a>&nbsp; module supported by Beamline Controls and Data Acquisition
at APS.
<h3>
RecDynLink.o and devPtSoft changes</h3>
recDynLink.o and devPtSoft.o are no longer in base. Remove references to
them in base.dbd and baseLIBOBJS if they are not used in application.
<h3>
Hardware support changes</h3>
All hardware support (dev, drv and dbd files) has been unbundled from base
R3.14. This support includes the files symb.dbd, drvHp1404a.o, drvEpvxiMsg.o,
and drvEpvxi.o.&nbsp; If they are not used in your application, comment
out references to these files in base.dbd and baseLIBOBJS.
<p>Hardware support files now exist as separate modules available for download
from the <a href="http://www.aps.anl.gov/epics/">EPICS www home page at
ANL</a>. You must now download all the hardware support modules needed
for your application, build the modules with R3.14 base,&nbsp; add the
appropriate module full path definitions to your application config/RELEASE
file, and change <tt>LIBOBJS</tt> location definition <tt>$(EPICS_BASE_BIN)</tt>
to the module definition bin directory in your application src directory
files.
<p>For example, remove
<pre>LIBOBJS+=$(EPICS_BASE_BIN)/symb</pre>
from baseLIBOBJS and add
<pre>LIBOBJS+=$(SYMB_BIN)/symb</pre>
to your application src/Makefile,
<br>and add the line
<pre>SYMB=&lt;full path definition for the built module SYMB></pre>
&nbsp;into your application config/RELEASE file .
<p>After a gnumake in the symb module followed by a gnumake in the application
config directory, the definitions <tt>SYMB_BIN</tt> and <tt>SYMB_LIB</tt>
will be created,&nbsp; the directory $(SYMB)/include will be added to the
include directories on the compiler command lines&nbsp; (in the INSTALL_INCLUDES
definition)&nbsp; and the directory $(SYMB)/dbd will be added to the dbd
search directories on the dbExpand command lines (in the INSTALL_DBDFLAGS
definition).
<h3>
dbLoadtemplate tool changes</h3>
The host tool dbLoadTemplate has been replace by a new extension, msi.
dbLoadTemplate is still supported on iocs. Build the msi extension with
base R3.14 and change definitions the following definitions in your application
files.
<p>In config/RULES.Db replace the line
<pre>DBLOADTEMPLATE=$(EPICS_BASE_HOST_BIN)/dbLoadTemplate$(EXE)</pre>
with
<pre>MSI = $(firstword $(wildcard $(EPICS_EXTENSIONS_HOST_BIN)/msi$(HOSTEXE) \
&nbsp;&nbsp; (EPICS_EXTENSIONS)/bin/$(HOST_OS_CLASS)/msi$(HOSTEXE)) msi$(HOSTEXE))</pre>
and change line:
<pre>@$(DBLOADTEMPLATE) $&lt; > $@</pre>
to
<pre>@$(MSI) $&lt; > $@</pre>
Also add the definition
<pre>EPICS_EXTENSIONS=&lt;full path name to epics extensions directory></pre>
to your application config/RELEASE file.
</body>
</html>
+132
View File
@@ -0,0 +1,132 @@
<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<meta name="Author" content="jba">
<meta name="GENERATOR" content="Mozilla/4.76 [en] (X11; U; SunOS 5.8 sun4u) [Netscape]">
</head>
<body>
<h2>
Building EPICS R3.13 extensions with R3.14.0alpha2 base</h2>
<blockquote>EPICS R3.13 extensions have both a Makefile and a Makefile.Host
in the build directories and the EPICS R3.13 extension tree has an extensions/config
directory.</blockquote>
<h3>
Preliminary steps for all extensions</h3>
<blockquote>
<li>
Download the latest version (10/25/00) of the extensions/config files,
extensionsConfig.tar.gz,&nbsp; from the APS EPICS www page.</li>
<li>
Make certain that you have set the HOST_ARCH environment variable.</li>
<li>
Set EPICS_BASE in extensions/config/RELEASE to the full path location of
a built R3.14.0alpha2 base.</li>
<li>
BASE_3_14 is now defined in the alpha2 file, base/config/CONFIG_BASE_VERSION.&nbsp;
The commented BASE_3_14 definition can be removed from extensions/config/RELEASE.</li>
</blockquote>
<h3>
Building downloaded APS distribution extensions with base R3.14.0alpha2</h3>
<blockquote>
<li>
Download the latest version (10/25/00) of extensions distributed from the
APS EPICS www page. The latest versions of the extensions should build
with both R3.13 and R3.14. Note that the order of building extensions is
important, i.e. some extensions depend on other extensions being built
first. The extensions/config/CONFIG_EXTENSIONS file contains notes on extension
dependancies and contains a definition of DIRS (used by extensions/src/Makefile)
with the proper order for building the APS distributed extensions.</li>
<li>
Executing gnumake at the root level of the extensions tree or in the src
directory should build the APS extensions in the proper order.</li>
</blockquote>
<h3>
Building your extensions with base R3.14.0alpha2</h3>
<blockquote>
<li>
<b>Library Db renamed</b></li>
<br>Library Db has been renamed to dbStaticHost in EPICS base R3.14. In
some extensions lib Db is not used and Db can be removed from the USR_LIBS
(or PROD_LIBS) line. If the library is needed ( you get unresolved items
after removing Db), the following lines should be added to Makefile.Host.
<blockquote><tt>ifdef BASE_3_14</tt>
<br><tt>USR_LIBS += dbStaticHost</tt>
<br><tt>dbStaticHost_DIR = $(EPICS_BASE_LIB)</tt>
<br><tt>else</tt>
<br><tt>USR_LIBS += Db</tt>
<br><tt>Db_DIR = $(EPICS_BASE_LIB)</tt>
<br><tt>endif</tt></blockquote>
<li>
<b>Target architecture specifications changed</b></li>
<br>Since target architecture specifications have been changed (solaris
to solaris-sparc, win32 to win32-x86, ...) Makefile.Host references to
and tests on T_A have to be changed.&nbsp; In most cases T_A can be replaced
by OS_CLASS.&nbsp; Since HOST_ARCH will eventually be phased out, it would
be a good idea to change any Makefile.Host references to HOST_ARCH to OS_CLASS
if possible.
<br>For example change
<blockquote><tt>ifeq ($(T_A),solaris)</tt>
<br><tt>RPCFLAGS = -K -1</tt>
<br><tt>endif</tt></blockquote>
to
<blockquote><tt>ifeq ($(OS_CLASS),solaris)</tt>
<br><tt>RPCFLAGS = -K -1</tt>
<br><tt>endif</tt></blockquote>
<li>
<b>New ca_set_puser</b></li>
<br>Statements of the form: <tt>ca_puser(chid) = xyz</tt>; should to be
changed to:&nbsp; <tt>ca_set_puser(chid,xyz)</tt>;
<br>&nbsp;
<li>
<b>Extern C around includes</b></li>
<br>Remove any extern "C" braces around #includes of EPICS base header
files.
<br>For example change
<blockquote><tt>extern "C" {</tt>
<br><tt>#include "cadefs.h"</tt>
<br><tt>} /* end extern C */</tt></blockquote>
to
<blockquote><tt>#include "cadefs.h"</tt></blockquote>
<li>
<b>Infrequently used R3.13 timestamp functions unbundled from base</b></li>
<br>Some infrequently used R3.13 timestamp functions and macro definitions
have been removed from EPICS base and now exist in a library, ts, created
and installed in the ar extension.&nbsp; The only ANL distributed extension
that uses these unbundled functions and macros&nbsp; is cau. The two R3.13
functions tsStampToText and tsLocalTime along with the definitions TS_TEXT_MONDDYYYY
and TS_TEXT_MMDDYY have been retained in R3.14 for extension compatibility
purposes.
<br>If your extension gets undefines for TS_* usage and ts* function calls
when built with R3.14, you must obtain and build the ar extension. Add
an #include for tsSubr.h to your extension source code and add library
ts to PROD_LIBS or USR_LIBS in your Makefile.Host as follows:
<blockquote><tt>#include "tsSubr.h"</tt>
<p><tt>ifdef BASE_3_14</tt>
<br><tt>PROD_LIBS += ts</tt>
<br><tt>ts_DIR = $(EPICS_EXTENSIONS_LIB)</tt>
<br><tt>endif</tt></blockquote>
</blockquote>
</body>
</html>
@@ -0,0 +1,263 @@
<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<meta name="Author" content="jba">
<meta name="GENERATOR" content="Mozilla/4.76 [en] (X11; U; SunOS 5.8 sun4u) [Netscape]">
</head>
<body>
<h2>
Converting an EPICS R3.13 application to R3.14.0alpha2</h2>
This document describes how to convert a R3.13 vxWorks application so that
it builds with release R3.14.0alpha2.&nbsp; It describes procedures such
that:
<ul>
<li>
The application uses the configure rules which are new to R3.14.</li>
</ul>
<ul>
<li>
The OSI (Operating System Independent) features of R3.14 are available,
i.e. iocCore products can be build for vxWorks as well as other platforms,
e.g. solaris and linux.</li>
</ul>
<h3>
Gnumake clean uninstall</h3>
First do a gnumake clean uninstall in the application's root directory
to remove all files created by earlier builds.
<h3>
Create a new R3.14 application</h3>
<blockquote>mkdir &lt;top>
<br>cd &lt;top>
<br>/home/phoebus/JBA/epics/base/bin/solaris-sparc/makeBaseApp.pl -t example
example</blockquote>
<h3>
Copy all *App and iocBoot directories and files to the new &lt;top> directory</h3>
<blockquote>cd &lt;oldtop>
<br>find *App iocBoot -print | cpio -pvmd &lt;fullpath name to new top></blockquote>
<h3>
Modify &lt;top>/configure/RELEASE</h3>
<blockquote>Copy definitions of external modules excluding EPICS_BASE and
TEMPLATES_TOP from old application release file.
<br>If sequence programs (*.st or *.stt files) exist in your application,
add the SNCSEQ location definition for the R3.14 seq external module
<blockquote>SNCSEQ =&lt;full path to seq top></blockquote>
The R3.14 seq module must exist and be built with EPICS base R3.14.0alpha2.</blockquote>
<h3>
Modify the Makefiles in &lt;top>/*App directories.</h3>
<blockquote>Change&nbsp;&nbsp;&nbsp;&nbsp; include $(TOP)/config/CONFIG_APP
<br>to&nbsp;&nbsp;&nbsp;&nbsp; include $(TOP)/configure/CONFIG
<p>Change&nbsp;&nbsp;&nbsp;&nbsp; include $(TOP)/config/RULES_DIRS
<br>to&nbsp;&nbsp;&nbsp;&nbsp; include $(TOP)/configure/RULES_DIRS</blockquote>
<h3>
Modify the Makefiles in &lt;top>/*App/*Db directories.</h3>
<blockquote>Remove existing Makefile
<br>Rename Makefile.Host to Makefile
<br>Modify Makefile as follows:
<p>Change&nbsp;&nbsp;&nbsp;&nbsp; TOP=../../..
<br>to&nbsp;&nbsp;&nbsp;&nbsp; TOP=../..
<p>Change&nbsp;&nbsp;&nbsp; include $(TOP)/config/CONFIG_APP
<br>to&nbsp;&nbsp;&nbsp;&nbsp; include $(TOP)/configure/CONFIG
<p>Change&nbsp;&nbsp;&nbsp;&nbsp; include $(TOP)/config/RULES.Db
<br>to&nbsp;&nbsp;&nbsp;&nbsp; include $(TOP)/configure/RULES
<p>Place all definitions between the include lines.
<p>Place any rules after the last include line.</blockquote>
<h3>
Modify the Makefiles in &lt;top>/*App/src directories.</h3>
<blockquote>Remove existing Makefile
<br>Rename Makefile.Host to Makefile
<br>Modify Makefile as follows:
<p>Change TOP=../../..
<br>to&nbsp;&nbsp;&nbsp;&nbsp; TOP=../..
<p>Change&nbsp;&nbsp;&nbsp;&nbsp; include $(TOP)/config/CONFIG_APP
<br>to&nbsp;&nbsp;&nbsp;&nbsp; include $(TOP)/configure/CONFIG
<p>Change&nbsp;&nbsp;&nbsp;&nbsp; include $(TOP)/config/RULES.Host
<br>to&nbsp;&nbsp;&nbsp;&nbsp; include $(TOP)/configure/RULES
<p>Change&nbsp;&nbsp;&nbsp;&nbsp; PROD_LIBS = Db
<br>to&nbsp;&nbsp;&nbsp;&nbsp; PROD_LIBS = dbStaticHost
<p>Change&nbsp;&nbsp;&nbsp;&nbsp; Db_DIR = $(EPICS_BASE_LIB)
<br>to&nbsp;&nbsp;&nbsp;&nbsp; dbStaticHost_DIR = $(EPICS_BASE_LIB)
<p>Change&nbsp;&nbsp;&nbsp;&nbsp; USER_DBDFLAGS
<br>to&nbsp;&nbsp;&nbsp;&nbsp; USR_DBDFLAGS
<p>Change&nbsp;&nbsp;&nbsp;&nbsp; RECTYPES +=&nbsp; xxxRecord.h
<br>to&nbsp;&nbsp;&nbsp;&nbsp; DBDINC += xxxRecord
<p>Change&nbsp;&nbsp;&nbsp;&nbsp; DBDNAME = &lt;name>.dbd
<br>to&nbsp;&nbsp;&nbsp;&nbsp; DBD += &lt;name>.dbd
<p>Remove all DBDEXPAND&nbsp; lines.
<p>Add the contents of Makefile.Vx to Makefile removing the include lines
and the TOP definition.</blockquote>
<blockquote>Change&nbsp;&nbsp;&nbsp;&nbsp; LIBNAME = &lt;libname>
<br>to&nbsp;&nbsp;&nbsp;&nbsp; LIBRARY_vxWorks = &lt;libname>
<p>Add the line&nbsp;&nbsp; &lt;libname>_OBJS = $(LIBOBJS)
<p>Change&nbsp;&nbsp;&nbsp;&nbsp; INSTALLS = iocCore seq
<br>to
<blockquote>&lt;libname>_OBJS_vxWorks += $(EPICS_BASE_BIN)/iocCoreLibrary
<br>&lt;libname>_OBJS_vxWorks += $(SNCSEQ_BIN)/seqLibrary
<br>&lt;libname>_OBJS_vxWorks += $(SNCSEQ_BIN)/pvLibrary
<br>&lt;libname>_OBJS_vxWorks += $(SNCSEQ_BIN)/pvCaLibrary</blockquote>
Change&nbsp;&nbsp;&nbsp;&nbsp; include ../baseLIBOBJS
<br>to&nbsp;&nbsp;&nbsp;&nbsp; -include ../baseLIBOBJS
<p>Change&nbsp;&nbsp;&nbsp; SRCS +=&nbsp; &lt;srcname>.c
<br>to&nbsp;&nbsp;&nbsp;&nbsp; &lt;libname>_SRCS += &lt;srcname>.c
<p>Rename your sequence programs from &lt;name>.st to &lt;name>.stt&nbsp;
if they do not need&nbsp; c preprocessing before conversion.
<p>Change&nbsp;&nbsp;&nbsp; LIBOBJS += &lt;seq_program_name>.o&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
lines
<br>to&nbsp;&nbsp; &lt;libname>_SRCS += &lt;seq_program_name>.stt
<br>or&nbsp; &lt;libname>_SRCS += &lt;seq_program_name>.st
<p>Place all macro definitions between the include lines.
<p>Place any rules after the last include line.</blockquote>
<h3>
Modify the Makefiles in &lt;top>/iocBoot directory.</h3>
<blockquote>Change include $(TOP)/config/CONFIG_APP
<br>to&nbsp;&nbsp;&nbsp;&nbsp; include $(TOP)/configure/CONFIG
<p>Remove the line DIRS += $(wildcard *ioc*)
<p>Change include $(TOP)/config/RULES.iocBoot
<br>to&nbsp;&nbsp;&nbsp;&nbsp; include $(TOP)/configure/RULES.iocBoot</blockquote>
<h3>
Modify the Makefiles in &lt;top>/iocBoot/ioc* directories.</h3>
<blockquote>Change include $(TOP)/config/CONFIG_APP
<br>to&nbsp;&nbsp;&nbsp;&nbsp; include $(TOP)/configure/CONFIG
<p>Change include ARCH = &lt;old arch specification e.g. mv167>
<br>to&nbsp;&nbsp;&nbsp;&nbsp; include ARCH = &lt;new arch specificatio
e.g. vxWorks-68040>
<p>Change include $(TOP)/config/RULES.ioc
<br>to&nbsp;&nbsp;&nbsp;&nbsp; include $(TOP)/configure/RULES.ioc</blockquote>
<h3>
Modify st.cmd in &lt;top>/iocBoot/ioc* directories.</h3>
<blockquote>Remove the lines</blockquote>
<blockquote>
<blockquote>
<pre>ld &lt; seq</pre>
<pre>ld &lt; iocCore</pre>
</blockquote>
Change&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ld &lt; &lt;libname>
<br>to&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ld &lt; &lt;libname>Library.munch
<p>Change&nbsp; load statements&nbsp; for db and dbd files from
<blockquote>cd startup
<br>dbLoadDatabase("../../dbd/exampleApp.dbd")
<br>dbLoadRecords("../../db/dbExample1.db","user=jba")
<br>dbLoadRecords("../../db/dbExample2.db")</blockquote>
to
<blockquote>cd top
<br>dbLoadDatabase("dbd/example.dbd")
<br>registerRecordDeviceDriver(pdbbase)
<br>dbLoadRecords("db/dbExample1.db","user=jba")
<br>dbLoadRecords("db/dbExample2.db")</blockquote>
</blockquote>
<h3>
Record support changes</h3>
<blockquote>The steppermotor, scan, and pid records are no longer in base.
If these record types are used at your site, they&nbsp; should be downloaded
and built with base R3.14 by your EPICS administrator. To update the R3.14
location of these record types in your application you must&nbsp; add appropriate
module definitions to your application's config/RELEASE file and change
the LIBOBJS definitions.
<p>For example add</blockquote>
<blockquote>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; PID=&lt;full
path to modules directory>/pid
<p>to config/RELEASE.
<br>Remove</blockquote>
<blockquote>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; LIBOBJS +=
$(EPICS_BASE_BIN)/pidRecord.o
<br>from baseLIBOBJS,
<br>and add</blockquote>
<blockquote>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; LIBOBJS +=
$(PID_BIN)/pidRecord.o
<br>to your application src/Makefile.</blockquote>
<blockquote>You should consider changing any existing old steppermotor
records to the new EPICS&nbsp; motor record&nbsp; module supported by Beamline
Controls and Data Acquisition at APS.</blockquote>
<h3>
RecDynLink.o and devPtSoft changes</h3>
<blockquote>recDynLink.o and devPtSoft.o are no longer in EPICS base and
now exist as separate EPICS modules.You must now add the appropriate module
full path definitions to your application config/RELEASE file, and change
LIBOBJS location definition $(EPICS_BASE_BIN) to the module definition
bin directory in your application src directory files.&nbsp; See "Hardware
support changes" below for instructions.</blockquote>
<h3>
Hardware support changes</h3>
<blockquote>All hardware support (dev, drv and dbd files) except soft support
has been unbundled from base R3.14. This support includes the files symb.dbd,
drvHp1404a.o, drvEpvxiMsg.o, and drvEpvxi.o.</blockquote>
<blockquote>Hardware support now exists as separate EPICS modules. The
hardware support for your site should be downloaded and built with base
R3.14 by your EPICS administrator. You must now add the appropriate module
full path definitions to your application config/RELEASE file, and change
LIBOBJS location from $(EPICS_BASE_BIN) to the module&nbsp; bin directory
in your application src directory files.
<p>For example, remove</blockquote>
<blockquote>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; LIBOBJS+=$(EPICS_BASE_BIN)/symb</blockquote>
<blockquote>from baseLIBOBJS and add</blockquote>
<blockquote>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; LIBOBJS+=$(SYMB_BIN)/symb</blockquote>
<blockquote>to your application src/Makefile,
<br>and add the line</blockquote>
<blockquote>
<blockquote>SYMB=&lt;full path definition for the built module SYMB></blockquote>
</blockquote>
<blockquote>into your application config/RELEASE file .</blockquote>
<h3>
dbLoadtemplate tool changes</h3>
<blockquote>The host tool dbLoadTemplate has been replace by a new EPICS
extension, msi, which should be downloaded and built with base R3.14 by
your EPICS administrator. dbLoadTemplate is still supported on iocs.&nbsp;
If, in your application, db files are created from template and substitution
files you should&nbsp; add the definition
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; EPICS_EXTENSIONS=&lt;full
path name to epics extensions directory>
<p>to your application config/RELEASE file.</blockquote>
<blockquote>
<blockquote>&nbsp;</blockquote>
<blockquote>
<pre></pre>
</blockquote>
</blockquote>
<br>&nbsp;
</body>
</html>