Table of Contents Previous Chapter Chapter 1: Introduction

Chapter 1: Introduction

1. Introduction to EPICS R3.12

EPICS source/release control has been completely redone for R3.12. This section describes why certain improvements were made and why they were worth waiting for.

Base and Extensions

EPICS was divided into two parts during the development of R3.12, "base" and "extensions." Base includes those core parts of EPICS that are in general required, e.g.: channel access, database routines, the sequencer and dct. Extensions are those parts of EPICS that are optional. Unlike base, which is a fixed distribution, a site can choose which extensions they need for their local system. The extensions were unbundled from the base distribution to improve code maintenance and simplify the EPICS build.

The Build

The EPICS build has been simplified:

It is now required that GNU make version 3.71 or later be obtained for the EPICS build. Sun make is no longer sufficient.

Source Control, Development and Distribution

In R3.12, CVS has displaced SCCS as the tool for source control. CVS is superior to SCCS for several reasons, here are the most important ones:

EPICS releases are maintained by a site designated as the "repository site." Though this site uses a tool for source control, EPICS is no longer distributed as a file repository. It is instead delivered as a set of files that do not have to be "checked out." This simplifies the build by removing a "sccsInfo" type step.

The most important result of using CVS for source control is that now EPICS software can be easily developed at separate sites concurrently. Sites that wish to develop parts of EPICS base must checkout a copy of EPICS base and config, and then create a release, noting both the time and date of this action. The release Tar file may then be taken to the local site and then merged into a local CVS tree. When a site is finished modifying EPICS, they can make a new release and merge it back at the master site. Specific instructions for this are provided later in this document.


During the development of R3.12 we have seen several changes in EPICS. CVS is now used instead of SCCS for internal source control, though the release itself is delivered as a set of straight files. Parts of EPICS are now unbundled products, such as the operator interfaces. But most importantly, the EPICS configuration has been greatly simplified, making EPICS easier to build at distribution sites.

Table of Contents Next Chapter