From 694d0401f0b556e8d642353d3005ccff7a392148 Mon Sep 17 00:00:00 2001 From: "Janet B. Anderson" Date: Mon, 20 Sep 2004 19:56:08 +0000 Subject: [PATCH] Updates to make files general. Updated for R3.14.7. --- documentation/README.1st | 77 ++++++++++---------- documentation/README.html | 149 +++++++++++++++++++++++--------------- 2 files changed, 131 insertions(+), 95 deletions(-) diff --git a/documentation/README.1st b/documentation/README.1st index 3da006db7..8790a7179 100644 --- a/documentation/README.1st +++ b/documentation/README.1st @@ -20,10 +20,8 @@ What is EPICS base? 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. + Please check the RELEASE_NOTES file in the distribution for description + of changes and release migration details. Copyright @@ -35,7 +33,7 @@ Supported platforms 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 + 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 @@ -94,10 +92,8 @@ Supported compilers 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 ACC and - CCC in base/configure/os/CONFIG.. or the definitions - for GCC and G++ if ANSI=GCC and CPLUSPLUS=GCC are specified - in CONFIG_SITE. + in your search path to do EPICS builds. Check definitions of CC and + CCC in base/configure/os/CONFIG... Software requirements @@ -150,17 +146,17 @@ WWW pages Additional information on EPICS can be found at the various other WWW links on the EPICS home page at APS. - Mailing Lists + Mailing List 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 + APS, with a list repeater at BESSY. See the EPICS home page for subscription instructions. Directory Structure Distribution directory structure: - base Root directory of the base istribution + base Root directory of the base distribution 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 @@ -173,11 +169,13 @@ Directory Structure base/src/bpt Break point table base/src/ca Channel access base/src/cas Channel access server library and examples + base/src/catools Channel access tools caget,cainfo,camonitor,caput base/src/db Database access 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/excas Example channel access server base/src/gdd General data descriptor base/src/iocsh Ioc shell command interpreter base/src/libCom General purpose library code in subdirectories @@ -200,7 +198,7 @@ Directory Structure base/src/libCom/osi/os Operating system dependant code in subdirectories base/src/libCom/ring Methods for creating and using ring buffers 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/makeBaseApp Perl tool+templates to create ioc app dvl tree @@ -209,12 +207,10 @@ Directory Structure base/src/rec Record support base/src/registry EPICS support function registry base/src/rsrv Channel access ioc resource server library + base/src/softIoc Example softIoc 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/src/catools Channel access tools caget,cainfo,camonitor,caput - base/src/softIoc Example softIoc - base/src/excas Example channel access server base/startup Scripts for setting up path and environment Install directories created by the build: @@ -232,28 +228,31 @@ Directory Structure Build related components base/documentation/README* files + README.1st Instructions for setup and building epics base - README.html (html version of README.1st) + README.html html version of README.1st README.WIN32 Microsoft WIN32 specific instructions README.cxxTemplates Information about C++ templates in EPICS base README.niCpu030 NI cpu030 specific instructions README.darwin Installation notes for Mac OS X (Darwin) - RELEASE_NOTES.html Notes on release changes. - KnownProblems.html List of know problems and workarounds. - Converting*To*.html Release specific conversion instructions. - Building*With*.html Release specific build instructions. + RELEASE_NOTES.html Notes on release changes + KnownProblems.html List of known problems and workarounds + Converting*To*.html Release specific conversion instructions + Building*With*.html Release specific build 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 - cygwin.bat cygwin-x86 bat file to set path and env variables + borland.bat WIN32 bat file to set borland path and env variables + cygwin.bat WIN32 bat file to set cygwin path and env variables win32.bat WIN32 bat file to set path and env variables - win32-debug.bat WIN32 debug build bat file path and env variables + win32-debug.bat WIN32 bat file to set debug path and env variables base/configure directory - contains build definitions and rules + CONFIG Includes configure files and allows variable overrides CONFIG.CrossCommon Cross build definitions CONFIG.gnuCommon Gnu compiler build definitions for all archs @@ -277,6 +276,7 @@ Build related components 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 @@ -289,22 +289,23 @@ Build related components CONFIG_SITE..Common Site specific host defs for all targets base/configure/tools directory - contains Perl scripts used for the build + convertRelease.pl Performs consistancy checks on RELEASE files cp.pl This Perl script copies an existing file cvsclean.pl Remove all .#* files in directory tree dos2unix.pl Converts text file from DOS CR/LF to unix ISO - filterWarnings.pl Filters warning messages during HP builds. - fullpathName.pl Returns fullpath name of directory arg. - installEpics.pl Installs built files into install directories. + filterWarnings.pl Filters warning messages during HP builds + fullpathName.pl Returns fullpath name of directory arg + installEpics.pl Installs built files into install directories makeIncludeDbd.pl Creates *Include.dbd file from filename args makeMakefile.pl Creates a Makefile in O. dirs makeMakefileInclude.pl Creates file to be included by Makefile mkdir.pl Creates a directory (like Unix mkdir) mkmf.pl Generates dependencies from include stmnts munch.pl Creates a ctdt.c file for vxWorks targets - mv.pl Renames an existing file. + mv.pl Renames an existing file replaceVAR.pl Changes CapFast VAR(xxx) to $(xxx) notation - rm.pl Quietly removes an existing file. + rm.pl Quietly removes an existing file Building EPICS base (Unix and Win32) @@ -349,7 +350,7 @@ Building EPICS base (Unix and Win32) Unix LD_LIBRARY_PATH It is no longer necessary to have LD_LIBRARY_PATH include - EPICS directories on Unix type system. R3.14 shared libraries + 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 @@ -380,24 +381,24 @@ Building EPICS base (Unix and Win32) 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 + 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. - 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 - default definitions by adding a new file with override - definitions into the configure/os directory. The new file + default definitions by adding a new file into 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. - 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 diff --git a/documentation/README.html b/documentation/README.html index 7eb8f54a5..6543ef86e 100644 --- a/documentation/README.html +++ b/documentation/README.html @@ -17,10 +17,7 @@ EPICS base

-Release 3.14.6

- -

-NOTE: Parts of this document are likely to be out of date.

+Release 3.14.*

What is EPICS base?

@@ -37,8 +34,7 @@ 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 +
Please check the RELEASE_NOTES file in the distribution for description of changes and release migration details.
@@ -54,16 +50,17 @@ Supported platforms
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 +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.
Host platforms (operating system - architecture - <alternate c++ compiler>) -
+

aix-ppc +
aix-ppc-gnu
cygwin-x86
darwin-ppc (Mac OS X)
hpux-parisc @@ -76,6 +73,17 @@ c++ compiler>)
solaris-x86-gnu
win32-x86
win32-x86-borland +
+ +
+ +
Debugging builds + +
+
linux-x86-debug     (GNU compiler with -g option for host builds) +
solaris-sparc-debug (sun compiler with -g option for host builds) +
win32-x86-debug     (MS Visual C++ with debug option for host builds) +
@@ -87,8 +95,15 @@ Cross compile target platforms (operating system - architecture)
-
vxWorks-486 +
+
linux-386 (linux-x86 host) +
linux-486 (linux-x86 host) +
linux-586 (linux-x86 host) +
linux-686 (linux-x86 host) +
linux-althon (linux-x86 host) +
vxWorks-486
vxWorks-68040 +
vxWorks-68040-debug
vxWorks-68040lc
vxWorks-68060
vxWorks-pentium @@ -96,12 +111,12 @@ Cross compile target platforms (operating system - architecture)
vxWorks-ppc603_long
vxWorks-ppc604
vxWorks-ppc604_long -
vxWorks-pentium
RTEMS-gen68360
RTEMS-mcp750
RTEMS-mvme167
RTEMS-pc386 -
RTEMS-psim
+
RTEMS-psim +

@@ -111,9 +126,7 @@ Supported compilers

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 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.
+builds. Check definitions of CC and CCC in base/configure/os/CONFIG.<host>.<host>.

Software requirements

@@ -137,17 +150,13 @@ 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. -

Optional GNU compiler requirement for solaris-sparc and win32-x86 -hosts -
If you have state notation language source files (*.st files) which -require c preprocessing before conversion to c source, gcc must be -in your path. +

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 +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.
@@ -157,7 +166,6 @@ Documentation
EPICS documentation is available on the WWW via the EPICS home page at APS: URL http://www.aps.anl.gov/epics
-
This README.html file is in the base distribution and available on the IOC software, Base R3.14, release number, web page which can be accessed from the APS EPICS home page.
@@ -180,7 +188,7 @@ other WWW links on the EPICS home page at APS. Mailing List
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 +APS with a list repeater at BESSY. See the EPICS home page for subscription instructions.

@@ -188,7 +196,7 @@ Directory Structure

Distribution directory structure:
     base                         -Root directory of the base istribution +Root directory of the base distribution
     base/config                  R3.13 compatibility build configuration files
     base/config/tools            @@ -199,6 +207,8 @@ Operating system independent build config files Operating system dependent build config files
     base/configure/tools         Perl and shell scripts used in the build +
     base/documentation           +Distributation documentation
     base/src                     All epics base source code in subdirectories
     base/src/RTEMS               @@ -211,6 +221,8 @@ Break point table Channel access
     base/src/cas                 Channel access server library and examples +
     base/src/catools             +Channel access tools caget, cainfo, camonitor, caput
     base/src/db                  Database access
     base/src/db/test             @@ -221,14 +233,14 @@ Static database access Database dbLoadTemplate tools
     base/src/dev                 Device support (softDev and testDev) +
     base/src/excas               +Example channel access server
     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/RTEMS        -Code to configure RTEMS for EPICS
     base/src/libCom/bucketLib    Hash bucket
     base/src/libCom/calc         @@ -268,15 +280,11 @@ Methods for creating and using ring buffers
     base/src/libCom/taskwd       Task watchdog
     base/src/libCom/test         -Test tools (timer, semBinary, semMutex,fdmgr, ?) +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         @@ -289,6 +297,8 @@ Record support EPICS support function registry
     base/src/rsrv                Channel access ioc resource server library +
     base/src/softIoc             +Example softIoc
     base/src/toolsComm           Code for the build tools antelope and e_flex
     base/src/util                @@ -303,14 +313,16 @@ build: Installed scripts and executables in subdirs
     base/db                      Installed data bases -
     base/html                    -Installed html documentation
     base/dbd                     Installed data base definitions +
     base/html                    +Installed html documentation
     base/include                 Installed header files
     base/include/os              Installed os specific header files +
     base/javalib                 +Installed java class and jar files
     base/lib                     Installed libraries in arch subdirectories
     base/templates               @@ -325,15 +337,20 @@ base/documentation/README* files
README.1st           Instructions for setup and building epics base
README.html          -(html version of README.1st +html version of README.1st

README.WIN32         Microsoft WIN32 specific instructions
README.cxxTemplates  Information about C++ templates in EPICS base
README.niCpu030      NI cpu030 specific instructions -
README.darwin      Installation notes +
README.darwin        Installation notes for Mac OS X (Darwin) +
RELEASE_NOTES.html   Notes on release changes +
KnownProblems.html   List of known problems and workarounds +
Converting*To*.html  Release specific conversion instructions +
Building*With*.html  Release specific build instructions +
 
  • base/startup directory - contains scripts to set environment and path
  • @@ -347,9 +364,13 @@ 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 +bat file to set borland path and env variables +
    cygwin.bat          +WIN32 bat file to set cygwin path and env variables
    win32.bat           WIN32 bat file to set path and env variables +
    win32-debug.bat     +WIN32 debug bat file to set debug path and env variables
     
  • base/configure  directory - contains build definitions and rules
  • @@ -381,6 +402,8 @@ Location of external products such as Tornado II Includes appropriate rules file
    RULES.Db              Rules for database and database definition files +
    RULES.ioc             +Rules for application iocBoot/ioc* directory
    RULES_ARCHS           Definitions and rules for building architectures
    RULES_BUILD           @@ -420,15 +443,23 @@ for all targets
  • base/configure/tools directory - contains Perl scripts used for the build
  • -
    MakeReleae              -Unix shell script to create a release tar file
    convertRelease.pl       Performs consistancy checks on RELEASE files
    cp.pl                   This Perl script copies an existing file +
    cvsclean.pl             +Remove all .#* files in directory tree +
    dos2unix.pl         +    +Converts text file from DOS CR/LF to unix ISO +
    filterWarnings.pl       +Filters warning messages during HP builds +
    fullpathName.pl         +Returns fullpath name of directory arg
    installEpics.pl         -Installs built files into install directories. -
    makeDependsTargets.pl   Creates targets of include dependency +Installs built files into install directories +
    makeIncludeDbd.pl       +Creates *Include.dbd file from filename args files
    makeMakefile.pl         Creates a Makefile in O.<arch> dirs @@ -444,7 +475,7 @@ Renames an existing file.
    replaceVAR.pl           Changes CapFast VAR(xxx) to $(xxx) notation
    rm.pl                   -Quietly removes an existing file. +Quietly removes an existing file

    Building EPICS base (Unix and Win32)

    @@ -484,15 +515,15 @@ variable PERLLIB be set to <perl directory location>. 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 +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 ld in your path. On solaris systems you +and the c compiler may require as and ld in your path. On solaris systems you need uname in your path.

    LD_LIBRARY_PATH
    It is no longer necessary to have LD_LIBRARY_PATH include -EPICS directories on Unix type system. R3.14 shared libraries +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 @@ -506,7 +537,7 @@ even if the R3.13 extensions are built with R3.14 base.

    Win32 PATH
    On WIN32 systems, building shared libraries is the default setting -and you will need to add fullpathname to $(INSTALL_LOCATION)/lib/$(EPICS_HOST_ARCH) +and you will need to add fullpathname to $(INSTALL_LOCATION)/bin/$(EPICS_HOST_ARCH) to your path. Building shared libraries is determined by the value of the macro SHARED_LIBRARIES in CONFIG_SITE (either YES or NO). @@ -517,29 +548,33 @@ macro SHARED_LIBRARIES in CONFIG_SITE (either YES or NO).

    Site configuration
    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
    To configure each host system, you may override the default definitions -by adding a new file with override definitions into the configure/os directory. +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.
    configure/os/CONFIG.<host>.<host>        -- Host build settings +Host build settings
    configure/os/CONFIG.<host>.Common        -- Host cross build settings
    +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. +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.
    configure/os/CONFIG.Common.<target>   -- Target cross settings -
    configure/os/CONFIG.<host>.<target>  - Host-target -settings
    +Target cross settings +
    configure/os/CONFIG.<host>.<target>  +Host-target settings + R3.13 compatibility configuration
    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* @@ -570,7 +605,7 @@ 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 $(INSTALL_LOCATION)/bin/<arch> -directories. Libraries are installed into $(INSTALL_LOCATION)/lib/<arch>. +directories. Libraries are installed into $(INSTALL_LOCATION)/lib/<arch>. The default definition for $(INSTALL_LOCATION) is $(TOP) which is the root directory in the distribution directory structure, base. Created object files are stored in O.<arch> source subdirectories, This