Table of Contents Previous Chapter Chapter 4: Getting Started
In order for the source/release control commands to work, you must have your path and environment variables defined properly. The value of these variables is different depending on whether you are a user of EPICS or an EPICS developer and which part(s) of EPICS you are using. An EPICS developer is also considered to be an EPICS user and, therefore, must have all user paths/variables properly defined in addition to applicable developer paths/variables. Proper settings for path and environment variables will provide the following capabilities:
- USER
- BASE
All base components are automatically located relative to the directory in which getrel is executed. This allows the user to work on multiple EPICS base releases without changing environment variables.
- EXTENSIONS
The latest version of each extension product that has been installed by the local EPICS system manager is automatically executed. The user is also able to selectively choose other versions of any extension product.
- MAKE
Users will have gmake automatically located from their path. Gmake is a script that executes gnumake (the GNU version of make).
- DEVELOPER
- BASE and EXTENSIONS
All base components are automatically located relative to the directory specified in the developer's <epics>/cshrc file. This allows the developer to easily change environment variables and work on multiple EPICS base trees.
- EXTENSIONS
The developer may have a private extension tree containing his/her extension products only. By letting EPICS_EXTENSIONS_PVT reference the developers tree, the developer can use his/her own products while still using all the other installed extension products.
The remainder of this section describes, for csh users, how to create an environment that provides the above capabilities. Similar methods can be used for other Unix shells.
.cshrc
The EPICS system manager provides a file which EPICS users can source from their .cshrc file to satisfy all the EPICS user Unix environment and path requirements. Ask your local EPICS system manager for the location and name of this file.
At APS, an EPICS user needs to place the following statement in his/her .cshrc file after any set path statements.
source /usr/local/etc/Cshrc.aps
Private extensions
If the user has a directory containing his/her private versions of EPICS extension products only, setting EPICS_EXTENSIONS_PVT to this directory prior to the above statement will allow the use of his/her own products while still using all the other installed extension products.
setenv EPICS_EXTENSIONS_PVT <private extensions>
source /usr/local/etc/Cshrc.aps
<private extensions> is the location where the user wants to pick up private versions of extension products.
.cshrc
Each EPICS base developer should add the following statements to his/her .cshrc file.
set oldpath = ($path)
setenv CVSROOT <cvsroot>
Ask your local EPICS system manager for the location of <cvsroot>.
epics/cshrc
This file is needed by both base and extension developers. This file must be created by the developer and placed in the developers private EPICS directory. The file must be executed whenever the user wants to use that EPICS development tree.
For a developer of base or a developer of both base and extension, this file contains the commands:
set DVL = `pwd`
set path = ($DVL/base/tools $DVL/base/bin/`arch` $oldpath)
rehash
For a developer of extension only, this file contains the commands:
set REL = <epics>
set path = ($REL/base/tools $REL/base/bin/`arch` $oldpath)
rehash
<epics> is the location of an official EPICS release with which the extensions will be built.
Table of Contents Next Chapter