diff --git a/README b/README index d437a6107..96cb5ae8b 100644 --- a/README +++ b/README @@ -139,22 +139,14 @@ Directory Structure Distribution directory structure: - base Root directory of the base -istribution - base/config R3.13 compatibility build -configuration files - base/config/tools Perl and shell scripts used in -the R3.13 build - base/configure Operating system independent -build config files - base/configure/os Operating system dependent build -config files - base/configure/tools Perl and shell scripts used in -the build - base/copyright Text files describing software -copyrights - base/src All epics base source code in -subdirectories + base Root directory of the base istribution + base/config R3.13 compatibility build configuration files + base/config/tools Perl and shell scripts used in the R3.13 build + base/configure Operating system independent build config files + base/configure/os Operating system dependent build config files + base/configure/tools Perl and shell scripts used in the build + base/copyright Text files describing software copyrights + base/src All epics base source code in subdirectories base/src/as Access security base/src/bpt Break point table base/src/ca Channel access @@ -163,178 +155,114 @@ subdirectories base/src/db/test Database access tests base/src/dbStatic Static database access base/src/dbtools Database dbLoadTemplate tools - base/src/dev Device support (softDev and -testDev) + base/src/dev Device support (softDev and testDev) base/src/gdd General data descriptor base/src/iocsh Ioc shell command interpreter - base/src/libCom General purpose library code in -subdirectories + base/src/libCom General purpose library code in subdirectories base/src/libCom/bucketLib Hash bucket base/src/libCom/calc Algebraic expression interpreter base/src/libCom/cvtFast Fast number to string conversion base/src/libCom/cxxTemplates C++ templates and templates tests - base/src/libCom/dbmf Memory management for frequent -alloc/free + base/src/libCom/dbmf Memory management for frequent alloc/free base/src/libCom/ellLib EPICS double linked list - base/src/libCom/env Default EPICS environment -settings - base/src/libCom/error Error handling definitions and -routines + base/src/libCom/env Default EPICS environment settings + base/src/libCom/error Error handling definitions and routines base/src/libCom/fdmgr File descriptor manager - base/src/libCom/freeList Memory management using free -lists + base/src/libCom/freeList Memory management using free lists base/src/libCom/gpHash General purpose hash table base/src/libCom/logClient Logging client base/src/libCom/macLib Macro substitution handler base/src/libCom/misc Miscellaneous utilities base/src/libCom/osi Operating system independent code - base/src/libCom/osi/os Operating system dependant code -in subdirectories + base/src/libCom/osi/os Operating system dependant code in subdirectories base/src/libCom/taskwd Task watchdog - base/src/libCom/test Test tools (timer, semBinary, -semMutex,fdmgr, ?) + base/src/libCom/test Test tools (timer, semBinary, semMutex,fdmgr, ?) base/src/libCom/timer Timer - base/src/libCom/tsDefs R3.13 time stamp definitions and -routines - base/src/libCom/ring ringPointer: First in first out -circular buffers - base/src/libCom/cppStd epicsList: Lists of pointers to -objects - base/src/makeBaseApp Perl tool+templates to create ioc -app dvl tree - base/src/makeBaseExt Perl tool+templates to create -extension dvl tree - base/src/misc Miscellaneous (coreRelease, -iocInit, asSub*) + base/src/libCom/tsDefs R3.13 time stamp definitions and routines + base/src/libCom/ring ringPointer: First in first out circular buffers + base/src/libCom/cppStd epicsList: Lists of pointers to objects + base/src/makeBaseApp Perl tool+templates to create ioc app dvl tree + base/src/makeBaseExt Perl tool+templates to create extension dvl tree + base/src/misc Miscellaneous (coreRelease, iocInit, asSub*) base/src/rec Record support base/src/registry EPICS support function registry - base/src/rsrv Channel access ioc resource -server library - base/src/toolsComm Code for the build tools antelope -and e_flex - base/src/util Utilities (ca_test, iocLogServer, -startCArepeater) - base/src/vxWorks R3.13 compatibility code specific -to vxWorks - base/startup Scripts for setting up path and -environment + base/src/rsrv Channel access ioc resource server library + base/src/toolsComm Code for the build tools antelope and e_flex + base/src/util Utilities (ca_test, iocLogServer, startCArepeater) + base/src/vxWorks R3.13 compatibility code specific to vxWorks + base/startup Scripts for setting up path and environment Install directories created by the build: - base/bin Installed scripts and executables -in subdirs - base/lib Installed libraries in arch -subdirectories + base/bin Installed scripts and executables in subdirs + base/lib Installed libraries in arch subdirectories base/dbd Installed data base definitions base/include Installed header files - base/include/os Installed os specific header -files + base/include/os Installed os specific header files base/templates Installed templates Build related components base/README* files - README.htm Instructions for setup and building - epics base + README.htm Instructions for setup and building epics base (i.e. this document) README.WIN32 Microsoft WIN32 specific instructions - README.cxxTemplates Information about C++ templates in - EPICS base + README.cxxTemplates Information about C++ templates in EPICS base README.niCpu030 NI cpu030 specific instructions base/startup directory - contains scripts to set environment and path - EpicsHostArch c shell script to set EPICS_HOST_ARCH - env variable - EpicsHostArch.pl perl script to set EPICS_HOST_ARCH env - variable - Site.profile bourne shell script to set path and - env variables - Site.cshrc c shell script to set path and env - variables - borland.bat WIN32 bat file to set path and env - variables - win32.bat WIN32 bat file to set path and env - variables + EpicsHostArch c shell script to set EPICS_HOST_ARCH env variable + EpicsHostArch.pl perl script to set EPICS_HOST_ARCH env variable + Site.profile bourne shell script to set path and env variables + Site.cshrc c shell script to set path and env variables + borland.bat WIN32 bat file to set path and env variables + win32.bat WIN32 bat file to set path and env variables base/configure directory - contains build definitions and rules CONFIG.CrossCommon Cross build definitions - CONFIG.gnuCommon Gnu compiler build definitions for - all archs - CONFIG_ADDONS Definitions for and - DEFAULT options - CONFIG_BASE EPICS base tool and location - definitions - CONFIG_BASE_VERSION Definitions for EPICS base version - number + CONFIG.gnuCommon Gnu compiler build definitions for all archs + CONFIG_ADDONS Definitions for and DEFAULT options + CONFIG_BASE EPICS base tool and location definitions + CONFIG_BASE_VERSION Definitions for EPICS base version number CONFIG_COMMON Definitions common to all builds - CONFIG_ENV Definitions of EPICS environment - variables + CONFIG_ENV Definitions of EPICS environment variables CONFIG_SITE Site specific make defintions - CONFIG_SITE_ENV Site defaults for EPICS environment - variables - CONFIG Includes configure files and allows - variable overrides - RELEASE Location of external products such - as Tornado II + CONFIG_SITE_ENV Site defaults for EPICS environment variables + CONFIG Includes configure files and allows variable overrides + RELEASE Location of external products such as Tornado II RULES Includes appropriate rules file - RULES.Db Rules for database and database - definition files - RULES_ARCHS Definitions and rules for building - architectures - RULES_BUILD Build and install rules and - definitions - RULES_DIRS Definitions and rules for building - subdirectories - RULES_JAVA Definitions and rules for java jars - and classes - RULES_TOP Rules specific to a dir - (uninstall and tar) + RULES.Db Rules for database and database definition files + RULES_ARCHS Definitions and rules for building architectures + RULES_BUILD Build and install rules and definitions + RULES_DIRS Definitions and rules for building subdirectories + RULES_JAVA Definitions and rules for java jars and classes + RULES_TOP Rules specific to a dir (uninstall and tar) Sample.Makefile Sample makefile with comments base/configure/os directory - contains os-arch specific definitions - CONFIG.. Specific host-target build - definitions - CONFIG.Common. Specific target definitions - for all hosts - CONFIG..Common Specific host definitions for - all targets - CONFIG.UnixCommon.Common Definitions for Unix hosts and - all target - CONFIG..vxWorksCommon Specific host definitions for - all vx targets - CONFIG_COMPAT R3.13 arch compatibility - definitions - CONFIG_SITE.. Site specific host-target - definitions - CONFIG_SITE.Common. Site specific target defs for - all hosts - CONFIG_SITE..Common Site specific host defs for - all targets + CONFIG.. Specific host-target build definitions + CONFIG.Common. Specific target definitions for all hosts + CONFIG..Common Specific host definitions for all targets + CONFIG.UnixCommon.Common Definitions for Unix hosts and all target + CONFIG..vxWorksCommon Specific host definitions for all vx targets + CONFIG_COMPAT R3.13 arch compatibility definitions + CONFIG_SITE.. Site specific host-target definitions + CONFIG_SITE.Common. Site specific target defs for all hosts + CONFIG_SITE..Common Site specific host defs for all targets base/configure/tools directory - contains Perl scripts used for the build - cp.pl This Perl script copies an - existing file - installEpics.pl Installs built files into install - directories. - makeConfigAppInclude.pl Generates include,bin, lib dir - definitions - makeDbDepends.pl Generates dependencies from - substitution files - makeIocCdCommands.pl Generates cdCommands file for use - in IOCs - makeMakefile.pl Creates a Makefile in O. - dirs - makeMakefileInclude.pl Creates file to be included by - Makefile - makeRulesInclude.pl Creates .h depends files included - by Makefile - mkdir.pl Creates a directory (like Unix - mkdir) - munch.pl Creates a ctdt.c file for vxWorks - targets + cp.pl This Perl script copies an existing file + installEpics.pl Installs built files into install directories. + makeConfigAppInclude.pl Generates include,bin, lib dir definitions + makeDbDepends.pl Generates dependencies from substitution files + makeIocCdCommands.pl Generates cdCommands file for use in IOCs + makeMakefile.pl Creates a Makefile in O. dirs + makeMakefileInclude.pl Creates file to be included by Makefile + makeRulesInclude.pl Creates .h depends files included by Makefile + mkdir.pl Creates a directory (like Unix mkdir) + munch.pl Creates a ctdt.c file for vxWorks targets mv.pl Renames an existing file. - replaceVAR.pl Changes CapFast VAR(xxx) to $(xxx) - notation + replaceVAR.pl Changes CapFast VAR(xxx) to $(xxx) notation rm.pl Quietly removes an existing file. Building EPICS base (Unix and Win32) @@ -370,8 +298,7 @@ Building EPICS base (Unix and Win32) 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 + 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 @@ -386,12 +313,9 @@ Building EPICS base (Unix and Win32) To configure EPICS, you may want to modify the default definitions in the following files: - configure/CONFIG_SITE Build choices. - Specify target archs. - configure/CONFIG_SITE_ENV Environment - variable defaults - configure/RELEASE TORNADO 2 full - path location + configure/CONFIG_SITE Build choices. Specify target archs. + configure/CONFIG_SITE_ENV Environment variable defaults + configure/RELEASE TORNADO 2 full path location Host configuration @@ -401,10 +325,8 @@ Building EPICS base (Unix and Win32) same name as the distribution file to be overridden except with CONFIG in the name changed to CONFIG_SITE. - configure/os/CONFIG.. - - Host build settings - configure/os/CONFIG..Common - - Host cross build settings + configure/os/CONFIG.. - Host build settings + configure/os/CONFIG..Common - Host cross build settings Target configuration To configure each target system, you may override the @@ -414,10 +336,8 @@ Building EPICS base (Unix and Win32) overridden except with CONFIG in the name replaced by CONFIG_SITE. - configure/os/CONFIG.Common. - - Target cross settings - configure/os/CONFIG.. - - Host-target settings + configure/os/CONFIG.Common. - Target cross settings + configure/os/CONFIG.. - Host-target settings R3.13 compatibility configuration To configure EPICS base for building with R3.13 extensions