diff --git a/README.htm b/README.htm new file mode 100644 index 000000000..7291765d0 --- /dev/null +++ b/README.htm @@ -0,0 +1,643 @@ + + + + + + + + +EPICS base README file + + + + + + +
+ +

README.html

+ +

 

+ +

Installation +Instructions

+ +

 

+ +

EPICS +base

+ +

Release 3.14.0alpha1

+ +

 

+ +

What +is EPICS base?

+ +

 

+ +

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.

+ +

 

+ +

What +is new in this release?

+ +

 

+ +

This version of EPICS base contains significant +changes and offers major improvements in functionality over previous versions. +Please check the RELEASE_NOTES file in the distribution for description of +changes and release migration details.

+ +

 

+ +

Copyright

+ +

 

+ +

Please review the COPYRIGHT* files included in the +distribution for legal terms of usage.

+ +

 

+ +

Supported +platforms

+ +

 

+ +

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.

+ +

 

+ +

Host target platforms (operating system – +architecture - <alternate c++ compiler>)

+ +

          solaris - sparc

+ +

            linux - x86

+ +

            win32 - x86

+ +

            win32 +- x86 - borland

+ +

 

+ +

Cross compile target platforms (operating system - +architecture)

+ +

vxWorks +- 486

+ +

            vxWorks - 68040

+ +

            vxWorks - 68040lc

+ +

            vxWorks +- 68060

+ +

            vxWorks +- ppc604

+ +

            vxWorks +- pentium

+ +

            RTEMS +- gen68360

+ +

            RTEMS +- mvme167

+ +

 

+ +

Supported +compilers

+ +

         

+ +

This version of EPICS base +has been built and tested using the host vendor's C++ compiler as well as the +GNU g++ compiler. The GNU cross-compiler has 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 +the definitions of ACC and CCC in +base/configure/os/CONFIG.<host>.<host> or the definitions for GCC +and G++ if ANSI=GCC and CPLUSPLUS=GCC are specified in CONFIG_SITE.

+ +

 

+ +

Software +requirements +

+ +

 

+ +

GNU make

+ +

You must use GNU make, gnumake, for any EPICS builds.  Set your path so that a gnumake version 3.70 +or later is available.

+ +

Perl

+ +

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.

+ +

Unzip and tar (Winzip on +WIN32 systems)

+ +

You +must have tools available to unzip and untar the EPICS base distribution file.

+ +

Tornado 2.0

+ +

You +must have Tornado 2.0 installed if any of your target systems are vxWorks +systems.  Tornado 2.0 provides the +cross-compiler and header files needed to build for these target systems. The +full path location to Tornado 2.0 must be specified in the base/configure/RELEASE +file. You will +also need one or more board support packages. Consult the vxWorks documentation +for details.

+ +

 

+ +

Host +system storage requirements

+ +

 

+ +

The GNU zipped tar file is approximately 1.4 MB in +size. The unzipped untarred distribution source tree is approximately 6 MB. The +build created files for each host take approximately 40 MB and the build +created files for each target take approximately 10 MB.

+ +

 

+ +

Documentation

+ +

 

+ +

EPICS documentation is available +on the WWW via the EPICS home page at APS:  +URL http://www.aps.anl.gov/Epics

+ +

 

+ +

HTML and ascii text versions +of this README file are in the distribution file and they are also will be available +on the IOC software R3.14 page which can be accessed from the APS EPICS home +page.

+ +

 

+ +

WWW +pages

+ +

         

+ +

          EPICS home page at APS

+ +

          http://www.aps.anl.gov/Epics

+ +

Other WWW sites

+ +

Additional information on +EPICS can be found at the various other WWW links on the EPICS home page at +APS.

+ +

          Mailing Lists

+ +

There are five EPICS mailing lists provided by APS. +See The EPICS home page for subscription instructions.

+ +

 

+ +

Distribution +components (this section needs work)

+ +

 

+ +

README Files

+ +

Startup directory files

+ +

          .cshrc

+ +

          EpicsHostArch

+ +

          epics.bat

+ +

          .bashrc

+ +

         

+ +

Configure directory

+ +

          Directory structure

+ +

OS file naming convention

+ +

Src directory

+ +

Directory structure

+ +

 

+ +

Building +EPICS base (Unix and Win32)

+ +

 

+ +

          Unpack file

+ +

                    Unzip and untar the +distribution file. Use WinZip on Windows systems.

+ +

Set environment variable

+ +

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.

+ +

Check path requirements

+ +

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.

+ +

 Do +site-specific build configuration

+ +

Site configuration

+ +

To configure EPICS, you may want to modify the default definitions +in the following files:

+ +

configure/CONFIG_SITE               - Build choices. Specify your +targets architectures.

+ +

configure/CONFIG_SITE_ENV     - Set your environment variable definitions

+ +

configure/RELEASE                      - +TORNADO full path location

+ +

Host configuration

+ +

To configure each host system, you may override the default +definitions by adding a new file with override definitions into the +configure/os directory. 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.

+ +

configure/os/CONFIG.<host>.<host>        - Host build settings

+ +

configure/os/CONFIG.<host>.Common     - Host cross build settings

+ +

Target configuration

+ +

To configure each target system, you may override the default +definitions by adding a new file with override definitions into the +configure/os directory. 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.

+ +

configure/os/CONFIG.Common.<target>   - Target cross build settings

+ +

configure/os/CONFIG.<host>.<target>      - Host-target build settings

+ +

Build EPICS base

+ +

After configuring the build you should be able to +build EPICS base by issuing the following commands in the distribution’s root +directory (base) - 

+ +

gnumake clean +uninstall

+ +

gnumake

+ +

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.

+ +

It is recommended that you +do a “make clean uninstall” at the root directory of an EPICS  directory structure before each complete +rebuild to ensure that all components will be rebuilt.

+ +

 

+ +

Multiple host platforms

+ +

 

+ +

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 system subdirectories +and installed into the appropriate separate host/target install directories. +EPICS executables and perl scripts are installed into the $(INSTALL_LOCATION)/bin/<arch> +directories. Libraries are installed into $(INSTALL_LOCATION)/lib/<arch>. +The default definition for $(INSTALL_LOCATION) is $(TOP) which is the rootdirectory +in the directory structure, base. Temporary objects 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++ +cross compiler and target header files and the base/configure/os directory must +have the appropriate configure files.

+ +

 

+ +

Example +base application

+ +

 

+ +

A perl tool, makeBaseApp.pl is included in the +distribution file. This script will create a sample application that then can built +and the executed to try out this release of base. Also a perl tool, makeBaseExt.pl +is included in the distribution file. This script will create a sample +extension that then can be built and executed. The makeBaseApp.pl and +makeBaseExt.pl scripts will be installed into the bin/<hostarch> during +the base build.

+ +

 

+ +
+ + + +