Updated for alpha2.

This commit is contained in:
Janet B. Anderson
2001-04-09 17:29:24 +00:00
parent 70cf9b538d
commit dc6a85b842
2 changed files with 144 additions and 78 deletions

View File

@@ -49,15 +49,15 @@ for legal terms of usage.</blockquote>
Supported platforms</h3>
<blockquote>Currently this version of EPICS base has been built on the
following hosts and targets. If you are trying to build EPICS base on a
different host or for a different target machine you must have the proper
host/target cross compiler and header files and you will have to add the
appropriate configure files to the base/configure/os/directory. You can
start by copying existing configuration files in the configure/os directory
and then make changes for your new platforms.</blockquote>
following hosts for the following targets. If you are trying to build EPICS
base on a different host or for a different target machine you must get
the proper host/target cross compiler and header files and you will have
to create and add the appropriate new configure files to the base/configure/os/directory.
You can start by copying existing configuration files in the configure/os
directory and then make changes for your new platforms.</blockquote>
<blockquote><b>Host target platforms (operating system - architecture -
&lt;alternate c++ compiler>)</b>
<blockquote><b>Host platforms (operating system - architecture - &lt;alternate
c++ compiler>)</b>
<blockquote><tt>solaris-sparc</tt>
<br><tt>solaris-sparc-gnu</tt>
<br><tt>linux-x86</tt>
@@ -113,13 +113,13 @@ files needed to build for these target systems. The full path location
to Tornado 2.0 must be specified in the base/configure/RELEASE or base/configure/RELEASE.&lt;hostarch>
file. You will also need one or more board support packages. Consult the
vxWorks documentation for details.
<p><b>GNU compiler for solaris-sparc&nbsp; and win32-x86 hosts</b>
<br>The host architecture build requires that g++ be in your path if you
wish to run "gnumake depends" (not required) to create header dependancy
include files for c/c++ source code. Also, if you have state notation language
source files which require c preprocessing to generate solaris-sparc object
files (*.st files),&nbsp; gcc must be in your path.
<br>&nbsp;</blockquote>
<p><b>Optional GNU compiler requirement for solaris-sparc&nbsp; and win32-x86
hosts</b>
<br>If you wish to run "gnumake depends"&nbsp; to create header dependancy
include files for c/c++ source code, g++ must be be in your path. Also,
if you have state notation language source files (*.st files) which require
c preprocessing before conversion to c source,&nbsp; gcc must be in your
path.</blockquote>
<h3>
Host system storage requirements</h3>
@@ -278,7 +278,7 @@ Build related components</h3>
<li>
base/README* files</li>
<p><br><tt>README.htm&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<br><tt>README.htm&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Instructions for setup and building epics base</tt>
<br><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
(i.e. this document)</tt>
@@ -292,7 +292,7 @@ instructions</tt>
<li>
base/startup directory - contains scripts to set environment and path</li>
<p><br><tt>EpicsHostArch&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; c shell script
<br><tt>EpicsHostArch&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; c shell script
to set EPICS_HOST_ARCH env variable</tt>
<br><tt>EpicsHostArch.pl&nbsp;&nbsp;&nbsp; perl script to set EPICS_HOST_ARCH
env variable</tt>
@@ -308,9 +308,7 @@ WIN32 bat file to set path and env variables</tt>
<li>
base/configure&nbsp; directory - contains build definitions and rules</li>
<br>&nbsp;
<p>&nbsp;
<p><tt>CONFIG.CrossCommon&nbsp;&nbsp;&nbsp; Cross build definitions</tt>
<br><tt>CONFIG.CrossCommon&nbsp;&nbsp;&nbsp; Cross build definitions</tt>
<br><tt>CONFIG_ADDONS&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Definitions
for &lt;osclass> and DEFAULT options</tt>
<br><tt>CONFIG_BASE&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
@@ -347,9 +345,7 @@ Rules specific to a &lt;top> dir (uninstall and tar)</tt>
<li>
base/configure/os directory - contains os-arch specific definitions</li>
<br>&nbsp;
<p>&nbsp;
<p><tt>CONFIG.&lt;host>.&lt;target>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Specific
<br><tt>CONFIG.&lt;host>.&lt;target>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Specific
host-target build definitions</tt>
<br><tt>CONFIG.Common.&lt;target>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Specific
target definitions for all hosts</tt>
@@ -365,9 +361,7 @@ R3.13 arch compatibility definitions</tt>
<li>
base/configure/tools directory - contains Perl scripts used for the build</li>
<br>&nbsp;
<p>&nbsp;
<p><tt>cp.pl&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<br><tt>cp.pl&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
This Perl script copies an existing file</tt>
<br><tt>installEpics.pl&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Installs built files into install directories.</tt>
@@ -401,14 +395,23 @@ S<b>et environment variable</b>
EPICS_HOST_ARCH must be defined. A perl script EpicsHostArch.pl in the
base/startup directory has been provided to help set EPICS_HOST_ARCH. You
should have EPICS_HOST_ARCH set to your host operating system followed
by a dash and then your host architecture, e.g. solaris-sparc.</blockquote>
by a dash and then your host architecture, e.g. solaris-sparc.
<p>On WIN32, some versions of Perl require that&nbsp; the environment variable
PERLLIB be set to &lt;perl directory location>.</blockquote>
<b>Check path requirements</b>
<blockquote>As already mentioned, you must have the perl executable and
you may need C and C++ compilers in your search path. For building base
you also must have echo in your search path. For Unix host builds you also
need touch, cpp, cp, rm, mv, and mkdir in your search path and /bin/chmod
must exist. On some Unix systems you may also need ar and ranlib in you
path, and the c compiler may require ld in your path..</blockquote>
path, and the c compiler may require ld in your path.
<p>If you plan to build EPICS base shared libraries instead of archive
libraries, on Unix systems you will need to add&nbsp; fullpathname to $(INSTALL_LOCATION)/lib/$(EPICS_HOST_ARCH)
to your LD_LIBRARY_PATH&nbsp;environment variable. On WIN32 systems, building
shared libraries is the default setting and you will need to add&nbsp;
fullpathname to $(INSTALL_LOCATION)/lib/$(EPICS_HOST_ARCH) to your path.
Building shared libraries is determined by the value of the macro SHARED_LIBRARIES&nbsp;in
CONFIG_SITE (YES or NO).</blockquote>
<b>Do site-specific build configuration</b>
<blockquote><b>Site configuration</b>
<br>To configure EPICS, you may want to modify the default definitions
@@ -441,7 +444,7 @@ settings</blockquote>
<b>R3.13 compatibility configuration</b>
<br>To configure EPICS base for building with R3.13 extensions and ioc
applications , you will want to modify the default definitions in the base/config/CONFIG_SITE*&nbsp;
files to agree with the definitions in your configure/base files.</blockquote>
files to agree with the definitions in your base/configure files.</blockquote>
<h4>
<b>Build EPICS base</b></h4>

View File

@@ -2,81 +2,144 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<meta name="GENERATOR" content="Mozilla/4.72 [en] (X11; U; SunOS 5.8 sun4u) [Netscape]">
<meta name="GENERATOR" content="Mozilla/4.76 [en] (X11; U; SunOS 5.8 sun4u) [Netscape]">
<title>EPICS Release baseR3.14
</title>
</head>
<body>
<h1>
EPICS Release base 3.14.0alpha1</h1>
This is the first release of 3.14. This is the first release that supports
iocCore on platforms besides vxWorks.
<p>iocCore is now supported on the following platforms:
EPICS Release base 3.14.0alpha2</h1>
<h3>
Build changes</h3>
Build changes were made to base/configure files and base/src Makefiles
to make all os independant build created files created in an O.Common subdirectory
and then installed instead of created directly in an install directory.Build
definition names (e.g. RECTYPES, MENUS, DBDNAME, and BPTS) have been changed
to specify names of the files to be created and installed instead of the
source file names. All db and dbd related definitions and rules have been
moved into base/configure/RULES.Db file and the rules now allow multiple
dbd files and registerRecordDeviceDriver files to be created in a single
application Makefile. Also "gnumake depends" no longer depends on a complete
buildInstall.
<h3>
Converting alpha1 applications to alpha2</h3>
Build modifications in alpha2 require the following changes to existing
R3.14 applications.
<ul>
<li>
vxWorks</li>
&nbsp;Remove the now unused RULES files</li>
<br>Tornado II is required.
<li>
RTEMS</li>
<ul>&nbsp;
<br>./configure/RULES.Db
<br>./configure/RULES.registerRecordDeviceDriver
<br>&nbsp;</ul>
<br>An open source real time operating system. It has been tested on MVME167
and MC68360 processors. RTEMS also supports powerPC.
<li>
solaris</li>
Delete the following line in ./configure/RULES</li>
<br>Has been tested on solaris 2.6 and solaris 8.
<li>
Linux</li>
<br>Has been tested on Redhat x86 platforms.
<li>
winNT</li>
<ul>&nbsp;
<br>include $(TOP)/configure/RULES.registerRecordDeviceDriver</ul>
</ul>
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.
<p>http://www.aps.anl.gov/epics/modules/base/R3-14.php
<p>Most of the Application Developer's Guide has only minor changes. The
following are new.
<ul>
<li>
Chapter 2 describes the new features for 3.14.</li>
&nbsp; In &lt;top>/configure/Makefile please change</li>
<li>
Chapter 4 describes the build facility for 3.14</li>
<li>
Chapters 19 and 20 describe libCom, which was not previously documented.</li>
<ul>&nbsp;
<br>@$(PERL) $(TOOLS)/makeConfigAppInclude.pl $(T_A) $@ $(TOP)</ul>
to
<ul>@$(PERL) $(TOOLS)/makeConfigAppInclude.pl $(EPICS_HOST_ARCH) $(T_A)
$@ $(TOP)
<br>&nbsp;</ul>
and add the line
<ul>&nbsp;
<br>depends: install
<br>&nbsp;</ul>
to the bottom of the Makefile.
<ul>&nbsp;</ul>
</ul>
<p><br>It must be emphasized that this is an alpha release.
<ul>
<li>
Please don't use it for existing operational systems</li>
In all *App/*Db/Makefileschange</li>
<ul>&nbsp;
<br>include $(TOP)/configure/RULES.Db</ul>
to
<ul>include $(TOP)/configure/RULES
<br>&nbsp;</ul>
<li>
Don't build your operational CA clients with it.</li>
In all *App/src/Makefile files</li>
<ul>&nbsp;</ul>
change&nbsp;&nbsp;&nbsp; DBDNAME = &lt;name>App&nbsp;&nbsp;&nbsp; to&nbsp;&nbsp;&nbsp;
DBD += &lt;name>
<ul>&nbsp;</ul>
and remove the line
<br>&nbsp;
<ul>DBDEXPAND = &lt;name>Include.dbd
<br>&nbsp;</ul>
NOTE: If any of your *App/*Db/Makefiles contain "DBDNAME =" lines you should
make these same changes in that *Db dirctory.
<br>&nbsp;
<li>
In all *App/src/Makefile Makefiles</li>
<ul>&nbsp;</ul>
change&nbsp;&nbsp;&nbsp; RECTYPES=&lt;name>.h&nbsp;&nbsp;&nbsp; to&nbsp;&nbsp;&nbsp;
DBDINC+=&lt;name>
<ul>&nbsp;</ul>
change&nbsp;&nbsp;&nbsp; MENUS=&lt;name>.h&nbsp;&nbsp;&nbsp; to&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
DBDINC+=&lt;name></ul>
<ul>change&nbsp;&nbsp;&nbsp; BPTS&nbsp;&nbsp;&nbsp;&nbsp; to&nbsp;&nbsp;&nbsp;&nbsp;
DBD
<p>change&nbsp;&nbsp;&nbsp;&nbsp; INSTALLDB&nbsp;&nbsp;&nbsp;&nbsp; to&nbsp;&nbsp;&nbsp;
DB
<p>change&nbsp;&nbsp;&nbsp; DBDINSTALL&nbsp;&nbsp;&nbsp; to&nbsp;&nbsp;&nbsp;&nbsp;
DBD
<br>&nbsp;
<li>
In all example *App/src/Makefile files change</li>
<ul>&nbsp;
<br>example_SRCS_DEFAULT += registerRecordDeviceDriver.c</ul>
to
<ul>example_SRCS_DEFAULT += &lt;name>_registerRecordDeviceDriver.cpp
<br>&nbsp;</ul>
where &lt;name> is the base name of a &lt;name>.dbd file which was created
from a &lt;name>Include.dbd file and which will be loaded in a st.cmd or
stcmd.host script (e.g. example).
<br>&nbsp;
<li>
In ./iocBoot/ioc&lt;name>/st.cmd files change</li>
<br>&nbsp;
<ul>dbLoadDatabase("dbd/exampleApp.dbd")</ul>
to
<ul>dbLoadDatabase("dbd/example.dbd")
<br>&nbsp;</ul>
<li>
The APIs for new components in libCom are still evolving so if you use
them be prepared for changes.</li>
In &lt;top>/iocBoot/ioc&lt;name>/stcmd.host files change</li>
<li>
HPUX - No support currently because we could not find good support for
multithreading.</li>
</ul>
Building Applications
<ul>
<li>
For new applications see Chapters 2 (New Features) and Chapter 4 (Build
Facility) of the Application Developer's Guide.</li>
<li>
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.</li>
<ul>&nbsp;
<br>dbLoadDatabase("../../dbd/exampleApp.dbd",0,0)</ul>
to
<ul>dbLoadDatabase("../../dbd/example.dbd",0,0)</ul>
</ul>
<h3>
EPICS_HOST_ARCH changes</h3>
GNU compiler builds are now determined by the value of EPICS_HOST_ARCH
and are no longer specified in CONFIG_SITE.&nbsp; All references to the
ANSI (ACC/GCC) and CPLUSPLUS (CCC/G++) macros have been removed.
<br>&nbsp;
<br>&nbsp;
<br>&nbsp;
<br>&nbsp;
</body>
</html>