642 lines
32 KiB
HTML
642 lines
32 KiB
HTML
<!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.77 [en] (X11; U; SunOS 5.8 sun4u) [Netscape]">
|
|
</head>
|
|
<body>
|
|
README.html
|
|
<center>
|
|
<h1>
|
|
Installation Instructions</h1></center>
|
|
|
|
<center>
|
|
<h2>
|
|
EPICS base</h2></center>
|
|
|
|
<center>
|
|
<h2>
|
|
Release 3.14.*</h2></center>
|
|
|
|
<h3>
|
|
What is EPICS base?</h3>
|
|
|
|
<blockquote>The Experimental Physics and Industrial Control Systems (EPICS)
|
|
is an extensible set of software components and tools with which application
|
|
developers can create a control system. This control system can be used
|
|
to control accelerators, detectors, telescopes, or other scientific experimental
|
|
equipment. EPICS base is the set of core software, i.e. the components
|
|
of EPICS without which EPICS would not function. EPICS base allows an arbitrary
|
|
number of target systems, IOCs (input/output controllers), and host systems,
|
|
OPIs (operator interfaces) of various types.</blockquote>
|
|
|
|
<h3>
|
|
What is new in this release?</h3>
|
|
|
|
<blockquote> Please
|
|
check the RELEASE_NOTES file in the distribution for description of changes
|
|
and release migration details.</blockquote>
|
|
|
|
<h3>
|
|
Copyright</h3>
|
|
|
|
<blockquote>Please review the COPYRIGHT* files included in the distribution
|
|
for legal terms of usage.</blockquote>
|
|
|
|
<h3>
|
|
Supported platforms</h3>
|
|
|
|
<blockquote>Currently this version of EPICS base has been built on the
|
|
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 platforms (operating system - architecture - <alternate
|
|
c++ compiler>)</b>
|
|
|
|
<blockquote>
|
|
<br><tt>aix-ppc</tt>
|
|
<br><tt>aix-ppc-gnu</tt>
|
|
<br><tt>cygwin-x86</tt>
|
|
<br><tt>darwin-ppc (Mac OS X)</tt>
|
|
<br><tt>hpux-parisc</tt>
|
|
<br><tt>hpux-parisc-gnu</tt>
|
|
<br><tt>linux-x86</tt>
|
|
<br><tt>linux-x86-borland</tt>
|
|
<br><tt>solaris-sparc</tt>
|
|
<br><tt>solaris-sparc-gnu</tt>
|
|
<br><tt>solaris-x86</tt>
|
|
<br><tt>solaris-x86-gnu</tt>
|
|
<br><tt>win32-x86</tt>
|
|
<br><tt>win32-x86-borland</tt>
|
|
</blockquote>
|
|
|
|
</blockquote>
|
|
|
|
<blockquote><b>Debugging builds</b>
|
|
|
|
<blockquote>
|
|
<br><tt>linux-x86-debug (GNU compiler with -g option for host builds)</tt>
|
|
<br><tt>solaris-sparc-debug (sun compiler with -g option for host builds)</tt>
|
|
<br><tt>win32-x86-debug (MS Visual C++ with debug option for host builds)</tt>
|
|
</blockquote>
|
|
|
|
|
|
</blockquote>
|
|
</blockquote>
|
|
|
|
<blockquote>
|
|
<h4>
|
|
Cross compile target platforms (operating system - architecture)</h4>
|
|
</blockquote>
|
|
|
|
<blockquote>
|
|
<blockquote>
|
|
<br><tt>linux-386 (linux-x86 host)</tt>
|
|
<br><tt>linux-486 (linux-x86 host)</tt>
|
|
<br><tt>linux-586 (linux-x86 host)</tt>
|
|
<br><tt>linux-686 (linux-x86 host)</tt>
|
|
<br><tt>linux-althon (linux-x86 host)</tt>
|
|
<br><tt>vxWorks-486</tt>
|
|
<br><tt>vxWorks-68040</tt>
|
|
<br><tt>vxWorks-68040-debug</tt>
|
|
<br><tt>vxWorks-68040lc</tt>
|
|
<br><tt>vxWorks-68060</tt>
|
|
<br><tt>vxWorks-pentium</tt>
|
|
<br><tt>vxWorks-ppc603</tt>
|
|
<br><tt>vxWorks-ppc603_long</tt>
|
|
<br><tt>vxWorks-ppc604</tt>
|
|
<br><tt>vxWorks-ppc604_long</tt>
|
|
<br><tt>RTEMS-gen68360</tt>
|
|
<br><tt>RTEMS-mcp750</tt>
|
|
<br><tt>RTEMS-mvme167</tt>
|
|
<br><tt>RTEMS-pc386</tt>
|
|
<br><tt>RTEMS-psim</tt>
|
|
</blockquote>
|
|
</blockquote>
|
|
|
|
<h3>
|
|
Supported compilers</h3>
|
|
|
|
<blockquote>This version of EPICS base has been built and tested using
|
|
the host vendor's C and C++ compilers as well as the GNU gcc and g++ compilers.
|
|
The GNU cross-compilers have been used for all cross-compiled targets.
|
|
You may need the host vendor's C++ compiler in your search path to do EPICS
|
|
builds. Check definitions of CC and CCC in base/configure/os/CONFIG.<host>.<host>.
|
|
|
|
<h3>
|
|
Software requirements</h3>
|
|
|
|
<blockquote><b>GNU make</b>
|
|
<br>You must use GNU make, gnumake, for any EPICS builds. Set your
|
|
path so that a gnumake version 3.78.1 or later is available.
|
|
<p><b>Perl</b>
|
|
<br>You must have perl version 5.0 or later installed. The configure files
|
|
do not specify the perl full pathname. You need the perl executable
|
|
in your search path.
|
|
<p><b>Unzip and tar (Winzip on WIN32 systems)</b>
|
|
<br>You must have tools available to unzip and untar the EPICS base distribution
|
|
file.
|
|
<p><b>Tornado 2</b>
|
|
<br>
|
|
You must have Tornado 2 installed if any of your target systems are
|
|
vxWorks systems. Tornado 2 provides the cross-compiler and header
|
|
files needed to build for these target systems. The full path location
|
|
to Tornado 2 should 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.
|
|
</blockquote>
|
|
|
|
<h3>
|
|
Host system storage requirements</h3>
|
|
|
|
<blockquote>The GNU zipped tar file is approximately 1.4 MB in size. The
|
|
unzipped untarred distribution source tree is approximately 7.3 MB. The build
|
|
created files for each host take approximately 40 MB and the build created
|
|
files for each target take approximately 10 MB.</blockquote>
|
|
|
|
<h3>
|
|
Documentation</h3>
|
|
|
|
<blockquote>EPICS documentation is available on the WWW via the EPICS home
|
|
page at APS: URL <a href="http://www.aps.anl.gov/epics">http://www.aps.anl.gov/epics</a></blockquote>
|
|
|
|
available on the IOC software, Base R3.14, release number, web page
|
|
which can be accessed from the APS EPICS home page.</blockquote>
|
|
|
|
<h3>
|
|
WWW pages</h3>
|
|
|
|
<blockquote>
|
|
<h4>
|
|
EPICS home page at APS</h4>
|
|
|
|
<blockquote><a href="http://www.aps.anl.gov/epics">http://www.aps.anl.gov/epics</a></blockquote>
|
|
|
|
<h4>
|
|
Other WWW sites</h4>
|
|
|
|
<blockquote>Additional information on EPICS can be found at the various
|
|
other WWW links on the EPICS home page at APS.</blockquote>
|
|
|
|
<h4>
|
|
Mailing List</h4>
|
|
|
|
<blockquote>There is an EPICS mailing list called tech-talk which is hosted at
|
|
APS with a list repeater at BESSY. See the EPICS home page for subscription
|
|
instructions.</blockquote> </blockquote>
|
|
|
|
<h3>
|
|
Directory Structure</h3>
|
|
|
|
<blockquote>Distribution directory structure:</blockquote>
|
|
<tt> base
|
|
Root directory of the base distribution</tt>
|
|
<br><tt> base/config
|
|
R3.13 compatibility build configuration files</tt>
|
|
<br><tt> base/config/tools
|
|
Perl and shell scripts used in the R3.13 build</tt>
|
|
<br><tt> base/configure
|
|
Operating system independent build config files</tt>
|
|
<br><tt> base/configure/os
|
|
Operating system dependent build config files</tt>
|
|
<br><tt> base/configure/tools
|
|
Perl and shell scripts used in the build</tt>
|
|
<br><tt> base/documentation
|
|
Distributation documentation</tt>
|
|
<br><tt> base/src
|
|
All epics base source code in subdirectories</tt>
|
|
<br><tt> base/src/RTEMS
|
|
Code to configure RTEMS for EPICS</tt>
|
|
<br><tt> base/src/as
|
|
Access security</tt>
|
|
<br><tt> base/src/bpt
|
|
Break point table</tt>
|
|
<br><tt> base/src/ca
|
|
Channel access</tt>
|
|
<br><tt> base/src/cas
|
|
Channel access server library and examples</tt>
|
|
<br><tt> base/src/catools
|
|
Channel access tools caget, cainfo, camonitor, caput</tt>
|
|
<br><tt> base/src/db
|
|
Database access</tt>
|
|
<br><tt> base/src/db/test
|
|
Database access tests</tt>
|
|
<br><tt> base/src/dbStatic
|
|
Static database access</tt>
|
|
<br><tt> base/src/dbtools
|
|
Database dbLoadTemplate tools</tt>
|
|
<br><tt> base/src/dev
|
|
Device support (softDev and testDev)</tt>
|
|
<br><tt> base/src/excas
|
|
Example channel access server</tt>
|
|
<br><tt> base/src/gdd
|
|
General data descriptor</tt>
|
|
<br><tt> base/src/iocsh
|
|
Ioc shell command interpreter</tt>
|
|
<br><tt> base/src/libCom
|
|
General purpose library code in subdirectories</tt>
|
|
<br><tt> base/src/libCom/bucketLib
|
|
Hash bucket</tt>
|
|
<br><tt> base/src/libCom/calc
|
|
Algebraic expression interpreter</tt>
|
|
<br><tt> base/src/libCom/cppStd
|
|
Support for C++ standard template library</tt>
|
|
<br><tt> base/src/libCom/cvtFast
|
|
Fast number to string conversion</tt>
|
|
<br><tt> base/src/libCom/cxxTemplates C++ templates
|
|
and templates tests</tt>
|
|
<br><tt> base/src/libCom/dbmf
|
|
Memory management for frequent alloc/free</tt>
|
|
<br><tt> base/src/libCom/ellLib
|
|
EPICS double linked list</tt>
|
|
<br><tt> base/src/libCom/env
|
|
Default EPICS environment settings</tt>
|
|
<br><tt> base/src/libCom/error
|
|
Error handling definitions and routines</tt>
|
|
<br><tt> base/src/libCom/fdmgr
|
|
File descriptor manager</tt>
|
|
<br><tt> base/src/libCom/freeList
|
|
Memory management using free lists</tt>
|
|
<br><tt> base/src/libCom/gpHash
|
|
General purpose hash table</tt>
|
|
<br><tt> base/src/libCom/logClient
|
|
Logging client</tt>
|
|
<br><tt> base/src/libCom/macLib
|
|
Macro substitution handler</tt>
|
|
<br><tt> base/src/libCom/misc
|
|
Miscellaneous utilities</tt>
|
|
<br><tt> base/src/libCom/osi
|
|
Operating system independent code</tt>
|
|
<br><tt> base/src/libCom/osi/os
|
|
Operating system dependant code in subdirectories</tt>
|
|
<br><tt> base/src/libCom/ring
|
|
Methods for creating and using ring buffers</tt>
|
|
<br><tt> base/src/libCom/taskwd
|
|
Task watchdog</tt>
|
|
<br><tt> base/src/libCom/test
|
|
Test tools (timer, semBinary, semMutex,fdmgr, ...)</tt>
|
|
<br><tt> base/src/libCom/timer
|
|
Timer</tt>
|
|
<br><tt> base/src/libCom/tsDefs
|
|
R3.13 time stamp definitions and routines</tt>
|
|
<br><tt> base/src/makeBaseApp
|
|
Perl tool+templates to create ioc app dvl tree</tt>
|
|
<br><tt> base/src/makeBaseExt
|
|
Perl tool+templates to create extension dvl tree</tt>
|
|
<br><tt> base/src/misc
|
|
Miscellaneous (coreRelease, iocInit, asSub*)</tt>
|
|
<br><tt> base/src/rec
|
|
Record support</tt>
|
|
<br><tt> base/src/registry
|
|
EPICS support function registry</tt>
|
|
<br><tt> base/src/rsrv
|
|
Channel access ioc resource server library</tt>
|
|
<br><tt> base/src/softIoc
|
|
Example softIoc</tt>
|
|
<br><tt> base/src/toolsComm
|
|
Code for the build tools antelope and e_flex</tt>
|
|
<br><tt> base/src/util
|
|
Utilities (ca_test, iocLogServer, startCArepeater)</tt>
|
|
<br><tt> base/src/vxWorks
|
|
R3.13 compatibility code specific to vxWorks</tt>
|
|
<br><tt> base/startup
|
|
Scripts for setting up path and environment</tt>
|
|
<p><tt> </tt>Install directories created by the
|
|
build:
|
|
<p><tt> base/bin
|
|
Installed scripts and executables in subdirs</tt>
|
|
<br><tt> base/db
|
|
Installed data bases</tt>
|
|
<br><tt> base/dbd
|
|
Installed data base definitions</tt>
|
|
<br><tt> base/html
|
|
Installed html documentation</tt>
|
|
<br><tt> base/include
|
|
Installed header files</tt>
|
|
<br><tt> base/include/os
|
|
Installed os specific header files</tt>
|
|
<br><tt> base/javalib
|
|
Installed java class and jar files</tt>
|
|
<br><tt> base/lib
|
|
Installed libraries in arch subdirectories</tt>
|
|
<br><tt> base/templates
|
|
Installed templates</tt>
|
|
<h3>
|
|
Build related components</h3>
|
|
|
|
<blockquote>
|
|
<li>
|
|
base/documentation/README* files</li>
|
|
|
|
<br><tt>README.1st
|
|
Instructions for setup and building epics base</tt>
|
|
<br><tt>README.html
|
|
html version of README.1st</tt>
|
|
<br><tt>README.WIN32 Microsoft
|
|
WIN32 specific instructions</tt>
|
|
<br><tt>README.cxxTemplates Information about C++ templates in EPICS
|
|
base</tt>
|
|
<br><tt>README.niCpu030 NI cpu030 specific
|
|
instructions</tt>
|
|
<br><tt>README.darwin Installation notes
|
|
for Mac OS X (Darwin)</tt>
|
|
<br><tt>RELEASE_NOTES.html Notes on release changes</tt>
|
|
<br><tt>KnownProblems.html List of known problems and workarounds</tt>
|
|
<br><tt>Converting*To*.html Release specific conversion instructions</tt>
|
|
<br><tt>Building*With*.html Release specific build instructions</tt>
|
|
|
|
<br>
|
|
<li>
|
|
base/startup directory - contains scripts to set environment and path</li>
|
|
|
|
<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>
|
|
<br><tt>Site.profile bourne shell
|
|
script to set path and env variables</tt>
|
|
<br><tt>Site.cshrc
|
|
c shell script to set path and env variables</tt>
|
|
<br><tt>borland.bat WIN32
|
|
bat file to set borland path and env variables</tt>
|
|
<br><tt>cygwin.bat
|
|
WIN32 bat file to set cygwin path and env variables</tt>
|
|
<br><tt>win32.bat
|
|
WIN32 bat file to set path and env variables</tt>
|
|
<br><tt>win32-debug.bat
|
|
WIN32 debug bat file to set debug path and env variables</tt>
|
|
<br>
|
|
<li>
|
|
base/configure directory - contains build definitions and rules</li>
|
|
|
|
<br><tt>CONFIG
|
|
Includes configure files and allows variable overrides</tt>
|
|
<br><tt>CONFIG.CrossCommon Cross build definitions</tt>
|
|
<br><tt>CONFIG.gnuCommon Gnu compiler build
|
|
definitions for all archs</tt>
|
|
<br><tt>CONFIG_ADDONS Definitions
|
|
for <osclass> and DEFAULT options</tt>
|
|
<br><tt>CONFIG_BASE
|
|
EPICS base tool and location definitions</tt>
|
|
<br><tt>CONFIG_BASE_VERSION Definitions for EPICS base version
|
|
number</tt>
|
|
<br><tt>CONFIG_COMMON Definitions
|
|
common to all builds</tt>
|
|
<br><tt>CONFIG_ENV
|
|
Definitions of EPICS environment variables</tt>
|
|
<br><tt>CONFIG_SITE
|
|
Site specific make defintions</tt>
|
|
<br><tt>CONFIG_SITE_ENV Site defaults
|
|
for EPICS environment variables</tt>
|
|
<br><tt>MAKEFILE
|
|
Installs CONFIG* RULES* creates CONFIG_APP_INCLUDE</tt>
|
|
<br><tt>RELEASE
|
|
Location of external products such as Tornado II</tt>
|
|
<br><tt>RULES
|
|
Includes appropriate rules file</tt>
|
|
<br><tt>RULES.Db
|
|
Rules for database and database definition files</tt>
|
|
<br><tt>RULES.ioc
|
|
Rules for application iocBoot/ioc* directory</tt>
|
|
<br><tt>RULES_ARCHS
|
|
Definitions and rules for building architectures</tt>
|
|
<br><tt>RULES_BUILD
|
|
Build and install rules and definitions</tt>
|
|
<br><tt>RULES_DIRS
|
|
Definitions and rules for building subdirectories</tt>
|
|
<br><tt>RULES_JAVA
|
|
Definitions and rules for java jars and classes</tt>
|
|
<br><tt>RULES_TOP
|
|
Rules specific to a <top> dir (uninstall and tar)</tt>
|
|
<br><tt>Sample.Makefile Sample makefile
|
|
with comments</tt>
|
|
<br>
|
|
<li>
|
|
base/configure/os directory - contains os-arch specific definitions</li>
|
|
|
|
<br><tt>CONFIG.<host>.<target> Specific
|
|
host-target build definitions</tt>
|
|
<br><tt>CONFIG.Common.<target> Specific
|
|
target definitions for all hosts</tt>
|
|
<br><tt>CONFIG.<host>.Common
|
|
Specific host definitions for all targets</tt>
|
|
<br><tt>CONFIG.UnixCommon.Common Definitions for Unix
|
|
hosts and all targets</tt>
|
|
<br><tt>CONFIG.Common.UnixCommon Definitions for Unix
|
|
targets and all hosts</tt>
|
|
<br><tt>CONFIG.Common.vxWorksCommon Specific host definitions for all
|
|
vx targets</tt>
|
|
<br><tt>CONFIG_COMPAT
|
|
R3.13 arch compatibility definitions</tt>
|
|
<br><tt>CONFIG_SITE.<host>.<target> Site specific host-target definitions</tt>
|
|
<br><tt>CONFIG_SITE.Common.<target> Site specific target defs for all
|
|
hosts</tt>
|
|
<br><tt>CONFIG_SITE.<host>.Common Site specific host defs
|
|
for all targets</tt>
|
|
<br>
|
|
<li>
|
|
base/configure/tools directory - contains Perl scripts used for the build</li>
|
|
|
|
<br><tt>convertRelease.pl Performs
|
|
consistancy checks on RELEASE files</tt>
|
|
<br><tt>cp.pl
|
|
This Perl script copies an existing file</tt>
|
|
<br><tt>cvsclean.pl
|
|
Remove all .#* files in directory tree</tt>
|
|
<br><tt>dos2unix.pl
|
|
|
|
Converts text file from DOS CR/LF to unix ISO</tt>
|
|
<br><tt>filterWarnings.pl
|
|
Filters warning messages during HP builds</tt>
|
|
<br><tt>fullpathName.pl
|
|
Returns fullpath name of directory arg</tt>
|
|
<br><tt>installEpics.pl
|
|
Installs built files into install directories</tt>
|
|
<br><tt>makeIncludeDbd.pl
|
|
Creates *Include.dbd file from filename args</tt>
|
|
files</tt>
|
|
<br><tt>makeMakefile.pl
|
|
Creates a Makefile in O.<arch> dirs</tt>
|
|
<br><tt>makeMakefileInclude.pl Creates file to be included by Makefile</tt>
|
|
<br><tt>mkdir.pl
|
|
Creates a directory (like Unix mkdir)</tt>
|
|
<br><tt>mkmf.pl
|
|
Generates dependencies from include stmnts</tt>
|
|
<br><tt>munch.pl
|
|
Creates a ctdt.c file for vxWorks targets</tt>
|
|
<br><tt>mv.pl
|
|
Renames an existing file.</tt>
|
|
<br><tt>replaceVAR.pl
|
|
Changes CapFast VAR(xxx) to $(xxx) notation</tt>
|
|
<br><tt>rm.pl
|
|
Quietly removes an existing file</tt></blockquote>
|
|
|
|
<h3>
|
|
Building EPICS base (Unix and Win32)</h3>
|
|
|
|
<blockquote><b>Unpack file</b>
|
|
<blockquote>Unzip and untar the distribution file. Use WinZip on Windows
|
|
systems.</blockquote>
|
|
S<b>et environment variables</b>
|
|
|
|
|
|
<blockquote>
|
|
|
|
Files in the base/startup directory have been provided to help
|
|
set required path and other environment variables .
|
|
|
|
<p><b>EPICS_HOST_ARCH</b>
|
|
<br>
|
|
Before you can build or use EPICS R3.14, the environment variable 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. If you are not using the OS vendor's
|
|
c/c++ compiler for host
|
|
builds, you will need another dash followed by the alternate compiler
|
|
name (e.g. "-gnu" for GNU c/c++ compilers on a solaris host or "-borland"
|
|
for Borland c/c++ compilers on a WIN32 host). See configure/CONFIG_SITE
|
|
for a list of supported EPICS_HOST_ARCH values.
|
|
|
|
|
|
<p><b>PERLLIB</b>
|
|
<br>
|
|
On WIN32, some versions of Perl require that the environment
|
|
variable PERLLIB be set to <perl directory location>.
|
|
|
|
<p><b>PATH</b>
|
|
<br>
|
|
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
|
|
ln, 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 your path,
|
|
and the c compiler may require as and ld in your path. On solaris systems you
|
|
need uname in your path.
|
|
|
|
<p><b>LD_LIBRARY_PATH</b>
|
|
<br>
|
|
It is no longer necessary to have LD_LIBRARY_PATH include
|
|
EPICS directories on a Unix type system. R3.14 shared libraries
|
|
and executables will contain the full path name to libraries
|
|
they require. However, if you move the EPICS directories
|
|
from their build-time location then in order for libraries
|
|
to be found at runtime LD_LIBRARY_PATH must include the full
|
|
pathname to $(INSTALL_LOCATION)/lib/$(EPICS_HOST_ARCH) when
|
|
invoking executables. Building shared libraries is now the
|
|
default setting for all Unix type hosts. NOTE: You will still
|
|
need LD_LIBRARY_PATH for R3.13 extension shared libraries
|
|
even if the R3.13 extensions are built with R3.14 base.
|
|
|
|
<p><b>Win32 PATH</b>
|
|
<br>
|
|
On WIN32 systems, for R3.14.7 and later, it is no longer necessary
|
|
to add fullpathname to $(INSTALL_LOCATION)/bin/$(EPICS_HOST_ARCH)
|
|
to your path for finding dlls during EPICS builds. The win32
|
|
configure files in base now add this directory to the path
|
|
definition.
|
|
|
|
|
|
</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
|
|
in the following files:
|
|
<blockquote>
|
|
<tt>configure/CONFIG_SITE </tt>
|
|
Build choices. Specify target archs.
|
|
<tt>configure/CONFIG_SITE_ENV </tt>
|
|
Environment variable defaults
|
|
<tt>configure/RELEASE </tt>
|
|
TORNADO 2 full path location
|
|
</blockquote>
|
|
<b>Host configuration</b>
|
|
<br>To configure each host system, you may override the default definitions
|
|
by adding a new file in the configure/os directory with override definitions.
|
|
The new file should have the same name as the distribution file to be overridden
|
|
except with CONFIG in the name changed to CONFIG_SITE.
|
|
<blockquote><tt>configure/os/CONFIG.<host>.<host></tt>
|
|
Host build settings
|
|
<br><tt>configure/os/CONFIG.<host>.Common</tt>
|
|
Host cross build settings</blockquote>
|
|
<b>Target configuration</b>
|
|
<br>To configure each target system, you may override the default definitions
|
|
by adding a new file in the configure/os directory with override definitions.
|
|
The new file should have the same name as the distribution file to be overridden
|
|
except with CONFIG in the name replaced by CONFIG_SITE.
|
|
<blockquote><tt>configure/os/CONFIG.Common.<target></tt>
|
|
Target cross settings
|
|
<br><tt>configure/os/CONFIG.<host>.<target> </tt>
|
|
Host-target settings
|
|
</blockquote>
|
|
<b>R3.13 compatibility configuration</b>
|
|
<br>To configure EPICS base for building with R3.13 extensions and ioc
|
|
applications , you must modify the default definitions in the base/config/CONFIG_SITE*
|
|
files to agree with definitions you made in base/configure and base/configure/os
|
|
files.</blockquote>
|
|
|
|
<h4>
|
|
<b>Build EPICS base</b></h4>
|
|
|
|
<blockquote>After configuring the build you should be able to build EPICS
|
|
base by issuing the following commands in the distribution's root directory
|
|
(base)
|
|
<blockquote><tt>gnumake clean uninstall</tt>
|
|
<br><tt>gnumake</tt></blockquote>
|
|
The command "gnumake clean uninstall" will remove all files and directories
|
|
generated by a previous build. The command "gnumake" will build and install
|
|
everything for the configured host and targets.
|
|
<br>It is recommended that you do a "gnumake clean uninstall" at the root
|
|
directory of an EPICS directory structure before each complete rebuild
|
|
to ensure that all components will be rebuilt.</blockquote>
|
|
</blockquote>
|
|
|
|
<h3>
|
|
Multiple host platforms</h3>
|
|
|
|
<blockquote>You can build using a single EPICS directory structure on multiple
|
|
host systems and for multiple cross target systems. The intermediate and
|
|
binary files generated by the build will be created in separate subdirectories
|
|
and installed into the appropriate separate host/target install directories.
|
|
EPICS executables and perl scripts are installed into the <tt>$(INSTALL_LOCATION)/bin/<arch></tt>
|
|
directories. Libraries are installed into $<tt>(INSTALL_LOCATION)/lib/<arch></tt>.
|
|
The default definition for <tt>$(INSTALL_LOCATION)</tt> is <tt>$(TOP)</tt>
|
|
which is the root directory in the distribution directory structure, base.
|
|
Created object files are stored in O.<arch> source subdirectories, This
|
|
allows objects for multiple cross target architectures to be maintained
|
|
at the same time. To build EPICS base for a specific host/target combination
|
|
you must have the proper host/target c/c++ cross compiler and target header
|
|
files and the base/configure/os directory must have the appropriate configure
|
|
files.</blockquote>
|
|
|
|
<h3>
|
|
Example application and extension</h3>
|
|
|
|
<blockquote>A perl tool, makeBaseApp.pl is included in the distribution
|
|
file. This script will create a sample application that can be built and
|
|
then executed to try out this release of base. Also, a perl script, makeBaseExt.pl,
|
|
is included in the distribution file. This script will create a sample
|
|
extension that can be built and executed. The makeBaseApp.pl and makeBaseExt.pl
|
|
scripts are installed into the install location bin/<hostarch> directory
|
|
during the base build.</blockquote>
|
|
|
|
<blockquote>
|
|
Instructions for building and executing the 3.14 example application can be
|
|
found in the section "Example Application" of Chapter 2, "Getting Started", in
|
|
the "IOC Application Developer's Guide" for this release. The "Example IOC
|
|
Application" section briefly explains how to create and build an example
|
|
application in a user created <top> directory. It also explains how to
|
|
run the example application on a vxWorks ioc or a host system and run an
|
|
example channel access client on the host system.
|
|
</blockquote>
|
|
|
|
</body>
|
|
</html>
|