diff --git a/README b/README deleted file mode 100644 index 9c5acaf5d..000000000 --- a/README +++ /dev/null @@ -1,289 +0,0 @@ -$Id$ - ----------------------------------------------------------------------------- -3.13 EPICS BASE Notes and Build Instructions. - - By Matthew Needes ----------------------------------------------------------------------------- - -Notes: - -1. Before you can build or use EPICS, the environemnt variable HOST_ARCH - must be set. The epics/startup/HostArch script file has been provided - to set HOST_ARCH. - -2. You must use GNU make (which is now THE supported make utility) for - the build, gnumake. Set your path so that a recent version (e.g. - V3.70) of gnumake is available. - -3. You must have perl installed. See the README.Perl in this directory. The - config files no longer specify the perl full pathname. You now need the - perl executable in your search path. - -4. You may need vendors C and C++ compilers in your search path. (Check - the definitions of ACC and CCC in CONFIG.Host. or gnu GCC - and G++ if ANSI=GCC and CPLUSPLUS=GCC are specified in CONFIG_SITE). - -4. For building base you must have echo in your search path. For unix host - builds you must also have ar, cp, rm, mv, ranlib, and mkdir in your search - path and /bin/chmod must exist. - ----------------------------------------------------------------------------- - Part 1 - Configuring and Building EPICS Base ----------------------------------------------------------------------------- - -1.1 To configure EPICS, edit the following file: - - config/CONFIG_SITE - Build choices/HOST_ARCH/Vx location. - config/CONFIG_SITE_ENV - For site-specific environment settings - - For a specific host architecture you may want to edit the following file - config/CONFIG_SITE.Host. - Override Host build settings for a host arch - config/CONFIG_SITE.Vx. - Override Vx build settings for a host arch - config/CONFIG_SITE_HOST_ARCH. - Override build settings for a host arch - - Optionally you may want to edit the following files - config/CONFIG_SITE.Host - Override Host build settings for all host archs. - config/CONFIG_SITE.Vx - Override Vx build settings for all host archs. - config/CONFIG - Override build settings for all host archs. - -1.2 To add a target architecture to EPICS: - - cd base/config - cp CONFIG.Vx.mv167 CONFIG.Vx.YOUR_ARCH - edit CONFIG.Vx.YOUR_ARCH - For compiler flags / etc. - - edit CONFIG_SITE - Add architecture to CROSS_COMPILER_TARGET_ARCHS list. - -1.3 To build EPICS: - - cd epics/base - gnumake - To install include files, build and install EPICS. - (Same as "gnumake inc install") - gnumake all - Same as "gnumake" - gnumake clean - To clean temporary object files. Top level - clean will remove the O.ARCH dirs specified - in BUILD_ARCHS. - gnumake uninstall - Only available at the top level directory. - Cleans directories created by the install. - gnumake rebuild - Same as "gnumake clean all" - -1.4 "Partial" build commands: - - The complete set of targets now supported are: - - action - arch - action.arch - dir - dir.action - dir.arch - dir.action.arch - - where: - action can be clean, inc, install, depends, or build - action can also be uninstall or rebuild at top level only - dir is the name of a subdirectory. - arch can be host, cross, sun4, solaris, mv167, ... - - Examples are: - - gnumake inc - To install include files - gnumake install.host - To build and install EPICS for host arch. - gnumake install.cross - To build and install EPICS for Vx archs. - gnumake clean.sun4 - Cleans sun4 binaries in O.sun4 dirs only. - gnumake install.sun4 - Builds sun4 only. - gnumake install.mv167 - Builds mv167 only (a HOST_ARCH build must - be complete before this can be issued). - -NOTES: - - 1. EPICS binaries and shellscripts are installed into the directory - $(INSTALL_LOCATION)/bin/ARCH. - - 2. EPICS libraries are installed into the $(INSTALL_LOCATION)/lib/ARCH - directory. - - 3. During a normal build (a "make" or "make install"), the "depends" - dependency will NOT be invoked. Only if "make depends" is run - explicitly, or a "make built_release" is performed will dependencies - be generated automatically. - - 4. Temporary objects are stored in src/DIR/O.ARCH, This allows objects - for multiple architectures to be maintained at the same time. - While developing source for EPICS, merely cd src/DIR/O.ARCH, and - invoke "make": - - cd epics/base/src/db/O.mv167 - make dbAccess.o - - The above example instructs make to build dbAccess.o for the - mv167 target. - ----------------------------------------------------------------------------- - Part 2 --- Configuration Files in epics/base/config ----------------------------------------------------------------------------- -CONFIG - This file is meant to be included in the low-level EPICS Makefiles. -It includes the other EPICS makefiles, and allows individual developers -and the EPICS system manager to override specific variables in the rest of -the configuration. ----------------------------------------------------------------------------- -CONFIG_SITE - This file is meant to be changed only by the EPICS system -manager. It specifies: - - HOST_ARCH: The system's host architecture (sun4/hp700/etc). - This now come from an environment variable. - CROSS_COMPILER_HOST_ARCHS: List of unix architectures with cross_compilers. - CROSS_COMPILER_TARGET_ARCHS: List of architectures to build epics for. - VX_DIR: Location of vxWorks. - STATIC_BUILD: Whether or not to build clients statically. - etc. - ----------------------------------------------------------------------------- -CONFIG.Host.ARCH - This file defines a particular host architecture. It -contains the following variables: - - ARCH_CLASS: solaris / sun4 / hp700 / etc. - Host architecture OS vendor C and C++ complier variables. - Architecture dependent build flags. The flag names / contents - depend on your architecture class. ----------------------------------------------------------------------------- -CONFIG_HOST_ARCH.ARCH - This file contains the following variable: - - WIND_HOST_TYPE: sun4-solaris2 / sun4-sunos4 / x86-win32 / etc. ----------------------------------------------------------------------------- ----------------------------------------------------------------------------- -CONFIG.Vx.ARCH - This file defines a particular target architecture. It -contains the following variables: - - ARCH_CLASS: 68k / sun4 / hp700 / etc. - Architecture dependent build flags. The flag names / contents - depend on your architecture class. - CMPLR_SUFFIX: Vx GNU cross compiler suffix definition. ----------------------------------------------------------------------------- ----------------------------------------------------------------------------- -CONFIG_SITE.BUILD_TYPE.ARCH - Contains site specific definitions pertaining to a -particular architecture and build type. This file's primary usefulness is to -define site specific compile and link flags. ----------------------------------------------------------------------------- -CONFIG_COMMON - Contains definitions describing the layout of base - and definitions common to all builds. ----------------------------------------------------------------------------- -CONFIG.Host.UnixCommon - Contains host definitions common to all Unix archs. ----------------------------------------------------------------------------- -CONFIG_BASE - Defines what subdirectories get built by default under base. ----------------------------------------------------------------------------- -CONFIG_BASE_VERSION - Defines the version of base. ----------------------------------------------------------------------------- -CONFIG_ENV - EPICS Environment Parameter configuration file. ----------------------------------------------------------------------------- -CONFIG_SITE_ENV - EPICS Environment Parameter Site configuration file ----------------------------------------------------------------------------- -RULES.Vx - Rules for building with Makefile.Vx makefiles. ----------------------------------------------------------------------------- -RULES.Host - Rules for building with Makefile.Host makefiles. ----------------------------------------------------------------------------- -RULES_TOP - Top level rules for building. ----------------------------------------------------------------------------- -RULES_ARCHS -RULES_DIRS - Allows top-level type command syntax in low-level directories. ----------------------------------------------------------------------------- - - Table of files to change when building and adding architectures. - etc. - -Filename SYS_MGR ADD_VX_ARCH ADD_UNIX_ARCH DEVELOPER - -CONFIG m - - m -CONFIG_SITE m m m - -CONFIG_SITE_ENV m - - - -CONFIG.Host.ARCH - c c - -CONFIG_HOST_ARCH.ARCH - c c - -CONFIG_SITE.Host.ARCH - - - - -CONFIG.Vx.ARCH - c c - -CONFIG_SITE.ARCH - c c - -CONFIG.Vx.ARCH_CLASS - c* - - -RULES.Vx - - - - -RULES.Host - - - - -CONFIG_BASE - - - - -CONFIG_BASE_VERSION - - - - -CONFIG_COMMON - - - - -CONFIG_ENV - - - - -RULES_ARCHS - - - - -RULES_DIRS - - - - -RULES_TOP - - - - - - m - Modify an existing file. - c - Create a new file. - - * - Create an ARCH_CLASS file only if you are adding a - fundamentally new architecture, such as hp700 or - a SPARC VME board. If your board is 68k based, - you will not need to create CONFIG.Vx.68k, - since it already exists ! - ----------------------------------------------------------------------------- - Part 3 --- Configuration File Inclusion Tree Examples ----------------------------------------------------------------------------- ----------------------------- hkv2f example -------------------------------- - (files are numbered in the order of their inclusion) - - src/db/Makefile.Vx (An example EPICS makefile) - ^ ^ - | +--- 2. RULES.Vx - | Default rules. - +----1. CONFIG_BASE - ^ - | - + 1. CONFIG - ^^^^^^^ - ||||||+- 1. CONFIG_COMMON - |||||| General info about base. - |||||+-- 2. CONFIG_BASE_VERSION - ||||| Base version. - ||||+--- 3. CONFIG_SITE - |||| HOST_ARCH = sun4 - |||| CROSS_COMPILER_TARGET_ARCHS = mv167 hkv2f - |||| VX_DIR = /vxworks - |||| More. - |||+---- 4. CONFIG_HOST_ARCH.sun4 - ||| WIND_HOST_TYPE = sun4-sunos4 - ||+----- 5. CONFIG.Vx - || Definitions for Vx builds - |+------ 6. CONFIG.Vx.hkv2f - | ARCH_CLASS = 68k - | Arch Specific Compiler Flag Setup - | Vx GNU cross compiler suffix - +------- 7. CONFIG_SITE.Vx.hkv2f - Site Specific setup - ----------------------------- sun4 example -------------------------------- - (files are numbered in the order of their inclusion) - - src/db/Makefile.Unix (An example EPICS makefile) - ^ ^ - | +--- 2. RULES.Vx - | Default rules. - +----1. CONFIG_BASE - ^ - | - + 1. CONFIG - ^^^^^ - |||||+- 1. CONFIG_COMMON - ||||| General info about base. - ||||+-- 2. CONFIG_BASE_VERSION - |||| Base version. - |||+--- 3. CONFIG_SITE - ||| HOST_ARCH = sun4 - ||| CROSS_COMPILER_TARGET_ARCHS = mv167 hkv2f - ||| VX_DIR = /vxworks - ||| More. - ||+---- 4. CONFIG_HOST_ARCH.sun4 - || WIND_HOST_TYPE = sun4-sunos4 - |+----- 5. CONFIG.Host.sun4 - | ARCH_CLASS = sun4 - | Arch Specific Compiler Flag Setup - | Vx GNU cross compiler suffix - +------ 6. CONFIG_SITE.Host.sun4 - Site Specific setup - - diff --git a/README.solaris b/README.solaris deleted file mode 100644 index e59d5cc0f..000000000 --- a/README.solaris +++ /dev/null @@ -1,25 +0,0 @@ ----------------------------------------------------------------------------- -EPICS Notes for Solaris - - By Andrew Johnson - -updated 12-16-96 by Jeff Hill - ----------------------------------------------------------------------------- - -Notes: - -1. In order to build EPICS under Solaris 2, you must ensure that the -solaris directory /usr/ccs/bin is in your search path. - -2. It is now possible to compile EPICS under Solaris 2 using either the -GNU gcc compiler or the Sun SPARCworks ANSI C compiler. The g++/ -Sun SPARCworks ANSI C compiler combination has compiled and linked -without errors but has not been extensively tested. - -3. EPICS under Solaris 2 no longer uses the UCB compatability libraries. -In order to ensure that the /usr/ucblib files are not inherited, you -should ensure that your LD_LIBRARY_PATH environment variable does not -include /usr/ucblib when you build any of the host tools. - --- -anj@ast.cam.ac.uk