Updated for alpha2.
This commit is contained in:
61
README.htm
61
README.htm
@@ -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 -
|
||||
<alternate c++ compiler>)</b>
|
||||
<blockquote><b>Host platforms (operating system - architecture - <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.<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 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), gcc must be in your path.
|
||||
<br> </blockquote>
|
||||
<p><b>Optional GNU compiler requirement for solaris-sparc and win32-x86
|
||||
hosts</b>
|
||||
<br>If you wish to run "gnumake depends" 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, 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
|
||||
<br><tt>README.htm
|
||||
Instructions for setup and building epics base</tt>
|
||||
<br><tt>
|
||||
(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 c shell script
|
||||
<br><tt>EpicsHostArch c shell script
|
||||
to set EPICS_HOST_ARCH env variable</tt>
|
||||
<br><tt>EpicsHostArch.pl 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 directory - contains build definitions and rules</li>
|
||||
|
||||
<br>
|
||||
<p>
|
||||
<p><tt>CONFIG.CrossCommon Cross build definitions</tt>
|
||||
<br><tt>CONFIG.CrossCommon Cross build definitions</tt>
|
||||
<br><tt>CONFIG_ADDONS Definitions
|
||||
for <osclass> and DEFAULT options</tt>
|
||||
<br><tt>CONFIG_BASE
|
||||
@@ -347,9 +345,7 @@ Rules specific to a <top> dir (uninstall and tar)</tt>
|
||||
<li>
|
||||
base/configure/os directory - contains os-arch specific definitions</li>
|
||||
|
||||
<br>
|
||||
<p>
|
||||
<p><tt>CONFIG.<host>.<target> Specific
|
||||
<br><tt>CONFIG.<host>.<target> Specific
|
||||
host-target build definitions</tt>
|
||||
<br><tt>CONFIG.Common.<target> 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>
|
||||
<p>
|
||||
<p><tt>cp.pl
|
||||
<br><tt>cp.pl
|
||||
This Perl script copies an existing file</tt>
|
||||
<br><tt>installEpics.pl
|
||||
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 the environment variable
|
||||
PERLLIB be set to <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 fullpathname to $(INSTALL_LOCATION)/lib/$(EPICS_HOST_ARCH)
|
||||
to your LD_LIBRARY_PATH environment variable. On WIN32 systems, building
|
||||
shared libraries is the default setting and you will need to add
|
||||
fullpathname to $(INSTALL_LOCATION)/lib/$(EPICS_HOST_ARCH) to your path.
|
||||
Building shared libraries is determined by the value of the macro SHARED_LIBRARIES 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*
|
||||
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>
|
||||
|
||||
@@ -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>
|
||||
Remove the now unused RULES files</li>
|
||||
|
||||
<br>Tornado II is required.
|
||||
<li>
|
||||
RTEMS</li>
|
||||
<ul>
|
||||
<br>./configure/RULES.Db
|
||||
<br>./configure/RULES.registerRecordDeviceDriver
|
||||
<br> </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>
|
||||
<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>
|
||||
In <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>
|
||||
<br>@$(PERL) $(TOOLS)/makeConfigAppInclude.pl $(T_A) $@ $(TOP)</ul>
|
||||
to
|
||||
<ul>@$(PERL) $(TOOLS)/makeConfigAppInclude.pl $(EPICS_HOST_ARCH) $(T_A)
|
||||
$@ $(TOP)
|
||||
<br> </ul>
|
||||
and add the line
|
||||
<ul>
|
||||
<br>depends: install
|
||||
<br> </ul>
|
||||
to the bottom of the Makefile.
|
||||
<ul> </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>
|
||||
<br>include $(TOP)/configure/RULES.Db</ul>
|
||||
to
|
||||
<ul>include $(TOP)/configure/RULES
|
||||
<br> </ul>
|
||||
|
||||
<li>
|
||||
Don't build your operational CA clients with it.</li>
|
||||
In all *App/src/Makefile files</li>
|
||||
|
||||
<ul> </ul>
|
||||
change DBDNAME = <name>App to
|
||||
DBD += <name>
|
||||
<ul> </ul>
|
||||
and remove the line
|
||||
<br>
|
||||
<ul>DBDEXPAND = <name>Include.dbd
|
||||
<br> </ul>
|
||||
NOTE: If any of your *App/*Db/Makefiles contain "DBDNAME =" lines you should
|
||||
make these same changes in that *Db dirctory.
|
||||
<br>
|
||||
<li>
|
||||
In all *App/src/Makefile Makefiles</li>
|
||||
|
||||
<ul> </ul>
|
||||
change RECTYPES=<name>.h to
|
||||
DBDINC+=<name>
|
||||
<ul> </ul>
|
||||
change MENUS=<name>.h to
|
||||
DBDINC+=<name></ul>
|
||||
|
||||
<ul>change BPTS to
|
||||
DBD
|
||||
<p>change INSTALLDB to
|
||||
DB
|
||||
<p>change DBDINSTALL to
|
||||
DBD
|
||||
<br>
|
||||
<li>
|
||||
In all example *App/src/Makefile files change</li>
|
||||
|
||||
<ul>
|
||||
<br>example_SRCS_DEFAULT += registerRecordDeviceDriver.c</ul>
|
||||
to
|
||||
<ul>example_SRCS_DEFAULT += <name>_registerRecordDeviceDriver.cpp
|
||||
<br> </ul>
|
||||
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).
|
||||
<br>
|
||||
<li>
|
||||
In ./iocBoot/ioc<name>/st.cmd files change</li>
|
||||
|
||||
<br>
|
||||
<ul>dbLoadDatabase("dbd/exampleApp.dbd")</ul>
|
||||
to
|
||||
<ul>dbLoadDatabase("dbd/example.dbd")
|
||||
<br> </ul>
|
||||
|
||||
<li>
|
||||
The APIs for new components in libCom are still evolving so if you use
|
||||
them be prepared for changes.</li>
|
||||
In <top>/iocBoot/ioc<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>
|
||||
<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. All references to the
|
||||
ANSI (ACC/GCC) and CPLUSPLUS (CCC/G++) macros have been removed.
|
||||
<br>
|
||||
<br>
|
||||
<br>
|
||||
<br>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
Reference in New Issue
Block a user