Compare commits
175 Commits
R3.14.12-p
...
R3.14.12.2
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
db0c9d7d82 | ||
|
|
b791a3692b | ||
|
|
0e41c03ff2 | ||
|
|
b5ec6e2448 | ||
|
|
d077c8b0ff | ||
|
|
b48979f5a5 | ||
|
|
967ce8eb84 | ||
|
|
b27e22d75e | ||
|
|
6ef52b5d03 | ||
|
|
652235ef13 | ||
|
|
5b46eebe1a | ||
|
|
a252218e69 | ||
|
|
fae5bbcf86 | ||
|
|
a0c1c0fb15 | ||
|
|
bb14c6594b | ||
|
|
0dfbd460e1 | ||
|
|
b36b07db9e | ||
|
|
ee95f0c4b7 | ||
|
|
d72b4a3c1e | ||
|
|
21b4acfa86 | ||
|
|
96cad82a2a | ||
|
|
d088d4b664 | ||
|
|
6cb9a3f7c1 | ||
|
|
6c4164d953 | ||
|
|
3a101aa697 | ||
|
|
46ea687c6d | ||
|
|
75aa05d30f | ||
|
|
3cfa011760 | ||
|
|
83e5247ed4 | ||
|
|
f203e9a48b | ||
|
|
14e7111e72 | ||
|
|
2b65025d93 | ||
|
|
2b4edba8f3 | ||
|
|
35b72b60fb | ||
|
|
d286a81ef0 | ||
|
|
bc4a7854ec | ||
|
|
f59825a462 | ||
|
|
7783f0044b | ||
|
|
1b9ca756cc | ||
|
|
f9f8d1150c | ||
|
|
e71785edf6 | ||
|
|
a367e4be95 | ||
|
|
a80bd1a630 | ||
|
|
515712c0e7 | ||
|
|
2fb7df8548 | ||
|
|
4448a5501a | ||
|
|
dafb7d5d4c | ||
|
|
5343b836b8 | ||
|
|
d0423738d1 | ||
|
|
3bf5b21f57 | ||
|
|
8d15407e2f | ||
|
|
7560fb1bb1 | ||
|
|
445b5e473b | ||
|
|
f18b435cf6 | ||
|
|
5649e15842 | ||
|
|
43f58c990a | ||
|
|
0dfc92f48d | ||
|
|
f1a646240b | ||
|
|
ce0114418f | ||
|
|
342920b1db | ||
|
|
ef0442b50d | ||
|
|
c71093f47f | ||
|
|
c11a31f549 | ||
|
|
ed0e3e60ed | ||
|
|
0373da87ed | ||
|
|
3c0cea0f38 | ||
|
|
4c7684aad1 | ||
|
|
6efd4be222 | ||
|
|
1584f98e26 | ||
|
|
f3f2f23fbc | ||
|
|
5aeb325185 | ||
|
|
2949f6650e | ||
|
|
b472473ef1 | ||
|
|
8418aa059a | ||
|
|
1106bab73e | ||
|
|
038ac0cd38 | ||
|
|
8dea585dc2 | ||
|
|
fc6df7652d | ||
|
|
db89c1f463 | ||
|
|
c6e1787ff9 | ||
|
|
0dab032751 | ||
|
|
4b780b1011 | ||
|
|
fc3e876d57 | ||
|
|
f4528ff5e1 | ||
|
|
d73f466dbc | ||
|
|
3d056f63e4 | ||
|
|
fd72cb63bf | ||
|
|
c698853394 | ||
|
|
22f1e8201f | ||
|
|
b38127450e | ||
|
|
fbcc7b4a0d | ||
|
|
5a11866431 | ||
|
|
253036c36c | ||
|
|
793639f4da | ||
|
|
a2c87268f5 | ||
|
|
a52b995ca2 | ||
|
|
2af392a099 | ||
|
|
6170dc9406 | ||
|
|
23daca46a1 | ||
|
|
f9ebe082ff | ||
|
|
dc76951945 | ||
|
|
253fd8109b | ||
|
|
fd4b34be8f | ||
|
|
23c7e64490 | ||
|
|
3ca705752a | ||
|
|
2069889347 | ||
|
|
04085d340b | ||
|
|
bc7e87b961 | ||
|
|
81d155c98b | ||
|
|
512e14e4b7 | ||
|
|
c503a03f37 | ||
|
|
fb493a064c | ||
|
|
e406440316 | ||
|
|
94a48d23d0 | ||
|
|
cf18208579 | ||
|
|
7cf01b091b | ||
|
|
e1c1dd45a6 | ||
|
|
8e40be47a0 | ||
|
|
9777c63e23 | ||
|
|
18594e1a34 | ||
|
|
99e7e7727a | ||
|
|
adb201a048 | ||
|
|
56ada25dd7 | ||
|
|
23bbe233f7 | ||
|
|
c48fe29e89 | ||
|
|
b5c185877d | ||
|
|
b82db48335 | ||
|
|
da8ae994e4 | ||
|
|
8d2cd8b96c | ||
|
|
91631919e5 | ||
|
|
181c4e126a | ||
|
|
32ebff1881 | ||
|
|
e65253f8b9 | ||
|
|
3398950f9d | ||
|
|
2477bf52e6 | ||
|
|
e7179fc289 | ||
|
|
f340b3e153 | ||
|
|
b4d7b6f851 | ||
|
|
36175b1368 | ||
|
|
e372a83096 | ||
|
|
3ad06eb0a3 | ||
|
|
93c39c86f7 | ||
|
|
46b912bc16 | ||
|
|
1e6464cdc4 | ||
|
|
c84c3d49ad | ||
|
|
4f98ae3955 | ||
|
|
2bb3074fab | ||
|
|
a5d4572691 | ||
|
|
143fef7508 | ||
|
|
87e670f5ca | ||
|
|
b326097bed | ||
|
|
f68e14d20a | ||
|
|
a395b85277 | ||
|
|
6ec71f56d0 | ||
|
|
03539b05a4 | ||
|
|
41b9b9cb07 | ||
|
|
af48ed31c3 | ||
|
|
01ae98d118 | ||
|
|
66864fcb23 | ||
|
|
2957fdcaf7 | ||
|
|
c7b9ea9b3b | ||
|
|
a3234c9130 | ||
|
|
2a3a92504c | ||
|
|
daccdf86b5 | ||
|
|
cb3d6e3cde | ||
|
|
f1a00dd667 | ||
|
|
3df265103d | ||
|
|
62f603d820 | ||
|
|
ed916cd1b3 | ||
|
|
2d4e4deb60 | ||
|
|
a5a038957f | ||
|
|
89af645ba9 | ||
|
|
862425caa0 | ||
|
|
6f8c946d76 | ||
|
|
dcd0fabe3b |
9
LICENSE
9
LICENSE
@@ -1,11 +1,14 @@
|
||||
Copyright (c) 1991-2007 UChicago Argonne LLC and The Regents of the
|
||||
University of California. All rights reserved.
|
||||
Copyright (c) 1991-2011 UChicago Argonne LLC.
|
||||
Copyright (c) 1991-2006 The Regents of the University of California.
|
||||
Copyright (c) 2006-2011. Los Alamos National Security, LLC. Some of this
|
||||
material was produced under U.S. Government contract DE-AC52-06NA25396
|
||||
for Los Alamos National Laboratory (LANL), which is operated by Los Alamos
|
||||
National Security, LLC for the U.S. Department of Energy.
|
||||
|
||||
EPICS BASE is distributed subject to the following license conditions:
|
||||
|
||||
SOFTWARE LICENSE AGREEMENT
|
||||
Software: EPICS BASE
|
||||
Versions: 3.13.7 and higher
|
||||
|
||||
1. The "Software", below, refers to EPICS BASE (in either source code, or
|
||||
binary form and accompanying documentation). Each licensee is
|
||||
|
||||
@@ -1,57 +0,0 @@
|
||||
#*************************************************************************
|
||||
# Copyright (c) 2002 The University of Chicago, as Operator of Argonne
|
||||
# National Laboratory.
|
||||
# Copyright (c) 2002 The Regents of the University of California, as
|
||||
# Operator of Los Alamos National Laboratory.
|
||||
# EPICS BASE Versions 3.13.7
|
||||
# and higher are distributed subject to a Software License Agreement found
|
||||
# in file LICENSE that is included with this distribution.
|
||||
#*************************************************************************
|
||||
# CONFIG.Host.alpha
|
||||
#
|
||||
# This file is maintained by the EPICS community.
|
||||
# Sites may override these definitions in CONFIG_SITE.Host.alpha
|
||||
|
||||
ARCH_CLASS = alpha
|
||||
|
||||
# Include definitions common to all Unix archs
|
||||
include $(EPICS_BASE)/config/CONFIG.Host.UnixCommon
|
||||
|
||||
AR = ar
|
||||
|
||||
# Configure OS vendor C compiler
|
||||
ACC = cc
|
||||
ACC_ANSI = $(ACC) -std
|
||||
ACC_STRICT = $(ACC) -std1
|
||||
ACC_TRAD = $(ACC) -std0
|
||||
ACC_WARN_YES =
|
||||
ACC_WARN_NO = -w
|
||||
ACC_OPT_YES = -O
|
||||
ACC_OPT_NO = -g
|
||||
ACC_SFLAGS_YES= -non_shared
|
||||
ACC_SFLAGS_NO= -call_shared
|
||||
ACC_SLIBS_YES =
|
||||
ACC_SLIBS_NO=
|
||||
ACC_SHRLIB_CFLAGS_YES =
|
||||
ACC_SHRLIB_LDFLAGS_YES = -shared
|
||||
|
||||
# Configure OS vendor C++ compiler
|
||||
CCC = cxx
|
||||
CCC_NORMAL = $(CCC)
|
||||
CCC_STRICT = $(CCC)
|
||||
CCC_TEMPL_INST_FLAG = -DEXPL_TEMPL
|
||||
CCC_WARN_YES =
|
||||
CCC_WARN_NO =
|
||||
CCC_OPT_YES = -O
|
||||
CCC_OPT_NO = -g
|
||||
CCC_SFLAGS_YES=
|
||||
CCC_SFLAGS_NO=
|
||||
CCC_SLIBS_YES =
|
||||
CCC_SLIBS_NO=
|
||||
CCC_SHRLIB_CFLAGS_YES =
|
||||
CCC_SHRLIB_LDFLAGS_YES = -shared
|
||||
CCC_DEPENDS_FLAG =
|
||||
|
||||
ARCH_DEP_CFLAGS = -D_OSF_SOURCE
|
||||
ARCH_DEP_LDLIBS =
|
||||
|
||||
@@ -1,13 +0,0 @@
|
||||
#*************************************************************************
|
||||
# Copyright (c) 2002 The University of Chicago, as Operator of Argonne
|
||||
# National Laboratory.
|
||||
# Copyright (c) 2002 The Regents of the University of California, as
|
||||
# Operator of Los Alamos National Laboratory.
|
||||
# EPICS BASE Versions 3.13.7
|
||||
# and higher are distributed subject to a Software License Agreement found
|
||||
# in file LICENSE that is included with this distribution.
|
||||
#*************************************************************************
|
||||
# $Revision-Id$
|
||||
|
||||
# osf-alpha is the new name for alpha
|
||||
-include $(EPICS_BASE)/config/CONFIG.Host.alpha
|
||||
@@ -1,20 +0,0 @@
|
||||
#*************************************************************************
|
||||
# Copyright (c) 2002 The University of Chicago, as Operator of Argonne
|
||||
# National Laboratory.
|
||||
# Copyright (c) 2002 The Regents of the University of California, as
|
||||
# Operator of Los Alamos National Laboratory.
|
||||
# EPICS BASE Versions 3.13.7
|
||||
# and higher are distributed subject to a Software License Agreement found
|
||||
# in file LICENSE that is included with this distribution.
|
||||
#*************************************************************************
|
||||
# $Revision-Id$
|
||||
|
||||
# osf-alpha is the new name for alpha
|
||||
-include $(EPICS_BASE)/config/CONFIG.Host.alpha
|
||||
|
||||
#==========================
|
||||
# These are overrides of ANSI and CPLUSPLUS values in CONFIG_SITE
|
||||
ANSI=GCC
|
||||
CPLUSPLUS=G++
|
||||
#==========================
|
||||
|
||||
@@ -24,7 +24,6 @@ ARCH_Linux = linux-x86
|
||||
ARCH_freebsd = freebsd-x86_64
|
||||
ARCH_WIN32 = win32-x86
|
||||
ARCH_hp700 = hpux-parisc
|
||||
ARCH_alpha = osf-alpha
|
||||
ARCH_Borland = win32-x86-borland
|
||||
ARCH_cygwin32 = cygwin-x86
|
||||
|
||||
|
||||
@@ -1,17 +0,0 @@
|
||||
#*************************************************************************
|
||||
# Copyright (c) 2002 The University of Chicago, as Operator of Argonne
|
||||
# National Laboratory.
|
||||
# Copyright (c) 2002 The Regents of the University of California, as
|
||||
# Operator of Los Alamos National Laboratory.
|
||||
# EPICS BASE Versions 3.13.7
|
||||
# and higher are distributed subject to a Software License Agreement found
|
||||
# in file LICENSE that is included with this distribution.
|
||||
#*************************************************************************
|
||||
# CONFIG_HOST_ARCH.alpha
|
||||
#
|
||||
|
||||
# Include definitions common to all Unix archs
|
||||
include $(EPICS_BASE)/config/CONFIG_HOST_ARCH.UnixCommon
|
||||
|
||||
WIND_HOST_TYPE = alpha
|
||||
|
||||
@@ -1,13 +0,0 @@
|
||||
#*************************************************************************
|
||||
# Copyright (c) 2002 The University of Chicago, as Operator of Argonne
|
||||
# National Laboratory.
|
||||
# Copyright (c) 2002 The Regents of the University of California, as
|
||||
# Operator of Los Alamos National Laboratory.
|
||||
# EPICS BASE Versions 3.13.7
|
||||
# and higher are distributed subject to a Software License Agreement found
|
||||
# in file LICENSE that is included with this distribution.
|
||||
#*************************************************************************
|
||||
# $Revision-Id$
|
||||
|
||||
# osf-alpha is the new name for alpha
|
||||
-include $(EPICS_BASE)/config/CONFIG_HOST_ARCH.alpha
|
||||
@@ -16,7 +16,6 @@
|
||||
# Borland
|
||||
# Linux
|
||||
# WIN32
|
||||
# alpha
|
||||
# cygwin32
|
||||
# hp700
|
||||
# sgi
|
||||
|
||||
@@ -25,8 +25,11 @@ else
|
||||
CONFIG ?= $(EPICS_BASE)/configure
|
||||
endif
|
||||
|
||||
#
|
||||
EPICS_HOST_ARCH ?= $(shell $(CONFIG)/../startup/EpicsHostArch.pl)
|
||||
# Provide a default if the user hasn't set EPICS_HOST_ARCH
|
||||
ifeq ($(origin EPICS_HOST_ARCH), undefined)
|
||||
# NB: Must use a simply expanded variable here for performance:
|
||||
EPICS_HOST_ARCH := $(shell $(CONFIG)/../startup/EpicsHostArch.pl)
|
||||
endif
|
||||
#
|
||||
|
||||
-include $(CONFIG)/os/CONFIG_COMPAT
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
#*************************************************************************
|
||||
# Copyright (c) 2002 The University of Chicago, as Operator of Argonne
|
||||
# Copyright (c) 2011 UChicago Argonne LLC, as Operator of Argonne
|
||||
# National Laboratory.
|
||||
# Copyright (c) 2002 The Regents of the University of California, as
|
||||
# Operator of Los Alamos National Laboratory.
|
||||
@@ -34,6 +34,7 @@
|
||||
# LIBSRCS source files for building libraries (deprecated)
|
||||
# PROD_OBJS object files for building prods
|
||||
# LIB_OBJS object files for building libraries
|
||||
# USR_OBJS object files for building libraries and prods
|
||||
# USR_LIBS libs needed by PROD and TESTPROD and LIBRARY
|
||||
# PROD_LIBS libs needed by PROD and TESTPROD
|
||||
# LIB_LIBS libs needed by shared LIBRARY
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
#*************************************************************************
|
||||
# Copyright (c) 2010 UChicago Argonne LLC, as Operator of Argonne
|
||||
# Copyright (c) 2011 UChicago Argonne LLC, as Operator of Argonne
|
||||
# National Laboratory.
|
||||
# Copyright (c) 2002 The Regents of the University of California, as
|
||||
# Operator of Los Alamos National Laboratory.
|
||||
@@ -19,24 +19,26 @@
|
||||
|
||||
BASE_3_14=YES
|
||||
|
||||
# EPICS_VERSION must be a number >0 and <256
|
||||
# EPICS_VERSION must be a number >0 and <256
|
||||
EPICS_VERSION = 3
|
||||
|
||||
# EPICS_REVISION must be a number >=0 and <256
|
||||
# EPICS_REVISION must be a number >=0 and <256
|
||||
EPICS_REVISION = 14
|
||||
|
||||
# EPICS_MODIFICATION must be a number >=0 and <256
|
||||
# EPICS_MODIFICATION must be a number >=0 and <256
|
||||
EPICS_MODIFICATION = 12
|
||||
|
||||
# EPICS_PATCH_LEVEL must be a number (win32 resource file requirement)
|
||||
# Not included if zero
|
||||
EPICS_PATCH_LEVEL = 0
|
||||
EPICS_PATCH_LEVEL = 2
|
||||
|
||||
# This will end in -DEV between official releases
|
||||
#EPICS_DEV_SNAPSHOT=-DEV
|
||||
EPICS_DEV_SNAPSHOT=-pre1
|
||||
#EPICS_DEV_SNAPSHOT=-pre1-DEV
|
||||
#EPICS_DEV_SNAPSHOT=-rc1
|
||||
#EPICS_DEV_SNAPSHOT=-pre1
|
||||
#PICS_DEV_SNAPSHOT=-pre1-DEV
|
||||
#EPICS_DEV_SNAPSHOT=-pre2
|
||||
#EPICS_DEV_SNAPSHOT=-pre2-DEV
|
||||
EPICS_DEV_SNAPSHOT=-rc1
|
||||
#EPICS_DEV_SNAPSHOT=-rc1-DEV
|
||||
#EPICS_DEV_SNAPSHOT=-rc2
|
||||
#EPICS_DEV_SNAPSHOT=-rc2-DEV
|
||||
|
||||
@@ -1,10 +1,9 @@
|
||||
#*************************************************************************
|
||||
# Copyright (c) 2002 The University of Chicago, as Operator of Argonne
|
||||
# Copyright (c) 2011 UChicago Argonne LLC, as Operator of Argonne
|
||||
# National Laboratory.
|
||||
# Copyright (c) 2002 The Regents of the University of California, as
|
||||
# Operator of Los Alamos National Laboratory.
|
||||
# EPICS BASE Versions 3.13.7
|
||||
# and higher are distributed subject to a Software License Agreement found
|
||||
# EPICS BASE is distributed subject to a Software License Agreement found
|
||||
# in file LICENSE that is included with this distribution.
|
||||
#*************************************************************************
|
||||
#
|
||||
@@ -82,7 +81,8 @@ COMMON_DIR = ../O.Common
|
||||
|
||||
#-------------------------------------------------------
|
||||
# Make echo output - suppress echoing if make's '-s' flag is set
|
||||
ECHO := $(if $(findstring s,$(MAKEFLAGS)),\#,@echo)
|
||||
COMMENT = \#
|
||||
ECHO = @$(if $(findstring s,$(patsubst T_A=%,,$(MAKEFLAGS))),$(COMMENT),echo)
|
||||
|
||||
#-------------------------------------------------------
|
||||
ifdef T_A
|
||||
@@ -258,6 +258,7 @@ LOADABLE_SHRLIB_SUFFIX=$(SHRLIB_SUFFIX)
|
||||
COMMANDLINE_LIBRARY = EPICS
|
||||
OP_SYS_LDLIBS += $(LDLIBS_$(COMMANDLINE_LIBRARY))
|
||||
OP_SYS_LDFLAGS += $(LDFLAGS_$(COMMANDLINE_LIBRARY))
|
||||
RUNTIME_LDFLAGS += $(RUNTIME_LDFLAGS_$(COMMANDLINE_LIBRARY))
|
||||
|
||||
#--------------------------------------------------
|
||||
# Flags
|
||||
@@ -334,7 +335,7 @@ HDEPENDS_CFLAGS = $(HDEPENDS_CFLAGS_$(HDEPENDS))
|
||||
#--------------------------------------------------
|
||||
# depends definition
|
||||
|
||||
TARGET_SRCS = $(foreach name, $(TESTPROD) $(PROD) $(LIBRARY), $($(name)_SRCS))
|
||||
TARGET_SRCS = $(foreach name, $(TESTPROD) $(PROD) $(LIBRARY) $(LOADABLE_LIBRARY), $($(name)_SRCS))
|
||||
SRC_FILES = $(LIB_SRCS) $(LIBSRCS) $(SRCS) $(USR_SRCS) $(PROD_SRCS) $(TARGET_SRCS)
|
||||
HDEPENDS_FILES_YES = $(addsuffix $(DEP),$(notdir $(basename $(SRC_FILES))))
|
||||
HDEPENDS_FILES = $(if $(filter NO,$(HDEPENDS)),,$(HDEPENDS_FILES_YES))
|
||||
|
||||
@@ -20,11 +20,12 @@
|
||||
# aix-ppc-gnu (GNU compiler used for host builds)
|
||||
# cygwin-x86 (cygwin compiler used for host builds)
|
||||
# darwin-ppc (PowerPC based Apple running OSX)
|
||||
# darwin-x86 (Intel based Apple running OSX)
|
||||
# darwin-ppcx86 (Universal binaries for both CPUs)
|
||||
# darwin-x86 (Intel based Apple running OSX)
|
||||
# freebsd-x86 (GNU compiler used for host builds)
|
||||
# freebsd-x86_64 (GNU compiler used for host builds)
|
||||
# linux-ppc (GNU compiler used for host builds)
|
||||
# linux-ppc64 (GNU compiler used for host builds)
|
||||
# linux-x86 (GNU compiler used for host builds)
|
||||
# linux-x86_64 (GNU compiler used for host builds)
|
||||
# linux-x86-borland (Borland C++ compiler used for host builds)
|
||||
@@ -34,15 +35,19 @@
|
||||
# solaris-sparc64-gnu (GNU compiler used for host builds)
|
||||
# solaris-x86 (Sun compiler used for host builds)
|
||||
# solaris-x86-gnu (GNU compiler used for host builds)
|
||||
# solaris-x86_64 (Sun compiler used for host builds)
|
||||
# solaris-x86_64-gnu (GNU compiler used for host builds)
|
||||
# win32-x86 (MS Visual C++ compiler used for host builds)
|
||||
# win32-x86-mingw (MinGW compiler used for host builds)
|
||||
# win32-x86-cygwin (WIN32 API with cygwin GNU compiler used for host builds)
|
||||
# win32-x86-mingw (MinGW compiler used for host builds)
|
||||
# windows-x64 (MS Visual C++ compiler used for host builds)
|
||||
|
||||
# Debugging builds
|
||||
# linux-x86-debug (GNU compiler with -g option for host builds)
|
||||
# linux-x86_64-debug (GNU compiler with -g option for host builds)
|
||||
# solaris-sparc-debug (sun compiler no optimization,-g for debugging info)
|
||||
# win32-x86-debug (MS Visual C++ compiler with debug option for host builds)
|
||||
# windows-x64-debug (MS Visual C++ compiler with debug option for host builds)
|
||||
|
||||
|
||||
# EPICS_HOST_ARCH is a required environment variable
|
||||
@@ -53,13 +58,16 @@
|
||||
# The cross-compiler architectures to build EPICS for
|
||||
#
|
||||
# Currently Supporting:
|
||||
|
||||
# ios-arm
|
||||
# ios-386
|
||||
# linux-386 (linux-x86 host)
|
||||
# linux-486 (linux-x86 host)
|
||||
# linux-586 (linux-x86 host)
|
||||
# linux-686 (linux-x86 host)
|
||||
# linux-arm
|
||||
# linux-arm_eb
|
||||
# linux-arm_el
|
||||
# linux-arm (linux-x86 host)
|
||||
# linux-arm_eb (linux-x86 host)
|
||||
# linux-arm_el (linux-x86 host)
|
||||
# linux-athlon (linux-x86 host)
|
||||
# linux-cris (Axis GNU crosscompiler on linux-x86 host)
|
||||
# linux-cris_v10 (Axis GNU crosscompiler on linux-x86 host)
|
||||
@@ -70,18 +78,22 @@
|
||||
# vxWorks-68040lc
|
||||
# vxWorks-68060
|
||||
# vxWorks-pentium
|
||||
# vxWorks-ppc32 (32-bit PowerPC CPUs with full FPU)
|
||||
# vxWorks-ppc32sf (32-bit PowerPC CPUs without FPU)
|
||||
# vxWorks-ppc603
|
||||
# vxWorks-ppc603_long
|
||||
# vxWorks-ppc604
|
||||
# vxWorks-ppc604_long
|
||||
# vxWorks-ppc604_altivec
|
||||
# vxWorks-mpc8540
|
||||
# vxWorks-mpc8548
|
||||
# RTEMS-at91rm9200ek
|
||||
# RTEMS-beatnik
|
||||
# RTEMS-gen68360
|
||||
# RTEMS-mcp750
|
||||
# RTEMS-mvme167
|
||||
# RTEMS-mvme2100
|
||||
# RTEMS-mvme2700
|
||||
# RTEMS-mvme3100
|
||||
# RTEMS-mvme5500
|
||||
# RTEMS-pc386
|
||||
@@ -94,7 +106,7 @@
|
||||
# override
|
||||
#
|
||||
CROSS_COMPILER_TARGET_ARCHS=
|
||||
#CROSS_COMPILER_TARGET_ARCHS=vxWorks-68040
|
||||
#CROSS_COMPILER_TARGET_ARCHS=vxWorks-ppc32
|
||||
|
||||
# If only a subset of the host architectures perform
|
||||
# the build for the CROSS_COMPILER_TARGET_ARCHS
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
#*************************************************************************
|
||||
# Copyright (c) 2009 UChicago Argonne LLC, as Operator of Argonne
|
||||
# Copyright (c) 2010 UChicago Argonne LLC, as Operator of Argonne
|
||||
# National Laboratory.
|
||||
# Copyright (c) 2002 The Regents of the University of California, as
|
||||
# Operator of Los Alamos National Laboratory.
|
||||
@@ -30,19 +30,26 @@
|
||||
# local timezone info for vxWorks and RTEMS IOCs. The format is
|
||||
# <name>::<minutesWest>:<start daylight>:<end daylight>
|
||||
# where the start and end are mmddhh - that is month,day,hour
|
||||
# eg EPICS_TIMEZONE=CUS::360:033102:102802
|
||||
# e.g. for ANL in 2010: EPICS_TIMEZONE=CUS::360:031402:110702
|
||||
#
|
||||
# DST for 2010 US: Mar 14 - Nov 07
|
||||
# EU: Mar 28 - Oct 31
|
||||
# DST for 2011 US: Mar 13 - Nov 06
|
||||
# EU: Mar 27 - Oct 30
|
||||
# DST for 2012 US: Mar 11 - Nov 04
|
||||
# EU: Mar 25 - Oct 28
|
||||
# DST for 2013 US: Mar 10 - Nov 03
|
||||
# EU: Mar 31 - Oct 27
|
||||
# DST for 2014 US: Mar 09 - Nov 02
|
||||
# EU: Mar 30 - Oct 26
|
||||
# DST for 2015 US: Mar 08 - Nov 01
|
||||
# EU: Mar 29 - Oct 25
|
||||
# (see: http://www.worldtimezone.org/daylight.html)
|
||||
|
||||
EPICS_TIMEZONE=CUS::360:031402:110702
|
||||
#EPICS_TIMEZONE=MET::-60:032802:103102
|
||||
#
|
||||
# These values are for 2011:
|
||||
EPICS_TIMEZONE=CUS::360:031302:110602
|
||||
#EPICS_TIMEZONE=MET::-60:032702:103002
|
||||
|
||||
# EPICS_TS_NTP_INET
|
||||
# NTP or Unix time server ip address. Uses boot host if not set.
|
||||
# NTP time server ip address. Uses boot host if not set.
|
||||
EPICS_TS_NTP_INET=
|
||||
|
||||
# IOC Shell:
|
||||
|
||||
@@ -1,10 +1,9 @@
|
||||
#*************************************************************************
|
||||
# Copyright (c) 2002 The University of Chicago, as Operator of Argonne
|
||||
# Copyright (c) 2011 UChicago Argonne LLC, as Operator of Argonne
|
||||
# National Laboratory.
|
||||
# Copyright (c) 2002 The Regents of the University of California, as
|
||||
# Operator of Los Alamos National Laboratory.
|
||||
# EPICS BASE Versions 3.13.7
|
||||
# and higher are distributed subject to a Software License Agreement found
|
||||
# EPICS BASE is distributed subject to a Software License Agreement found
|
||||
# in file LICENSE that is included with this distribution.
|
||||
#*************************************************************************
|
||||
#RULES.Db
|
||||
@@ -23,8 +22,8 @@ vpath %.acs $(USR_VPATH) $(GENERIC_SRC_DIRS) $(COMMON_DIR)
|
||||
##################################################### dbdflags
|
||||
|
||||
# dbExpand
|
||||
INSTALL_DBDFLAGS += -I $(INSTALL_LOCATION)/dbd
|
||||
INSTALL_DBFLAGS += -I $(INSTALL_LOCATION)/db
|
||||
INSTALL_DBDFLAGS += -I $(INSTALL_DBD)
|
||||
INSTALL_DBFLAGS += -I $(INSTALL_DB)
|
||||
DBDFLAGS = $(USR_DBDFLAGS) -I . -I .. $(INSTALL_DBDFLAGS) $(RELEASE_DBDFLAGS)
|
||||
DBFLAGS = $($*_DBFLAGS) $(USR_DBFLAGS) -I. -I.. $(INSTALL_DBFLAGS) $(RELEASE_DBFLAGS)
|
||||
|
||||
@@ -48,7 +47,7 @@ DBFLAGS = $($*_DBFLAGS) $(USR_DBFLAGS) -I. -I.. $(INSTALL_DBFLAGS) $(RELEASE_DBF
|
||||
# Following line added for backward compatibilty
|
||||
DBD += $(DBDNAME)
|
||||
|
||||
DBDINC_NAME = $(patsubst %.h,%,$(patsubst %.db,%,$(DBDINC)))
|
||||
DBDINC_NAME = $(patsubst %.h,%,$(patsubst %.dbd,%,$(DBDINC)))
|
||||
DBD += $(addsuffix .dbd,$(DBDINC_NAME))
|
||||
INC += $(addsuffix .h,$(DBDINC_NAME))
|
||||
|
||||
@@ -109,7 +108,8 @@ ACF_CMD = $(CPP) $(ACF_CPPFLAGS) $(ACF_INCLUDES) $< > $@
|
||||
HINC += $(addsuffix .h,$(DBDINC_NAME))
|
||||
COMMON_DBDINC += $(addprefix $(COMMON_DIR)/,$(HINC))
|
||||
|
||||
DBDDEPENDS_FILES += $(addsuffix $(DEP),$(HINC) $(DBS) \
|
||||
DBDDEPENDS_FILES += $(addsuffix $(DEP),$(HINC) \
|
||||
$(patsubst $(COMMON_DIR)/%,%,$(COMMON_DBS)) \
|
||||
$(patsubst $(COMMON_DIR)/%,%,$(COMMON_DBDS)))
|
||||
|
||||
DBDDEPENDS_FLAGS = $(subst -I,,$(filter-out -S%,$(DBDFLAGS)))
|
||||
@@ -121,7 +121,7 @@ MAKEDBDEPENDS = $(PERL) $(TOOLS)/makeDbDepends.pl
|
||||
|
||||
ifndef T_A
|
||||
|
||||
ECHO := $(if $(findstring s,$(MAKEFLAGS)),\#,@echo)
|
||||
ECHO := $(if $(findstring s,$(MAKEFLAGS)),$(COMMENT),@echo)
|
||||
COMMON_DIR = .
|
||||
INSTALL_DBDS =
|
||||
INSTALL_DBS =
|
||||
@@ -223,58 +223,65 @@ $(INSTALL_DB)/%.template: %.template
|
||||
$(COMMON_DIR)/%Record.h: $(COMMON_DIR)/%Record.dbd
|
||||
@$(RM) $(notdir $@)$(DEP)
|
||||
@$(DBDDEPENDS_CMD)
|
||||
$(ECHO) "$<:../Makefile" >> $(notdir $@)$(DEP)
|
||||
@$(RM) $@
|
||||
$(DBTORECORDTYPEH) $(DBDFLAGS) $< $@
|
||||
echo "$< : ../Makefile" >> $(notdir $@)$(DEP)
|
||||
@$(RM) $(notdir $@)
|
||||
$(DBTORECORDTYPEH) $(DBDFLAGS) $< $(notdir $@)
|
||||
@$(MV) $(notdir $@) $@
|
||||
|
||||
$(COMMON_DIR)/%Record.h: %Record.dbd
|
||||
@$(RM) $(notdir $@)$(DEP)
|
||||
@$(DBDDEPENDS_CMD)
|
||||
$(ECHO) "$<:../Makefile" >> $(notdir $@)$(DEP)
|
||||
@$(RM) $@
|
||||
$(DBTORECORDTYPEH) $(DBDFLAGS) $< $@
|
||||
echo "$< : ../Makefile" >> $(notdir $@)$(DEP)
|
||||
@$(RM) $(notdir $@)
|
||||
$(DBTORECORDTYPEH) $(DBDFLAGS) $< $(notdir $@)
|
||||
@$(MV) $(notdir $@) $@
|
||||
|
||||
$(COMMON_DIR)/menu%.h: $(COMMON_DIR)/menu%.dbd
|
||||
@$(RM) $(notdir $@)$(DEP)
|
||||
@$(DBDDEPENDS_CMD)
|
||||
$(ECHO) "$<:../Makefile" >> $(notdir $@)$(DEP)
|
||||
@$(RM) $@
|
||||
$(DBTOMENUH) $(DBDFLAGS) $< $@
|
||||
echo "$< : ../Makefile" >> $(notdir $@)$(DEP)
|
||||
@$(RM) $(notdir $@)
|
||||
$(DBTOMENUH) $(DBDFLAGS) $< $(notdir $@)
|
||||
@$(MV) $(notdir $@) $@
|
||||
|
||||
$(COMMON_DIR)/menu%.h: menu%.dbd
|
||||
@$(RM) $(notdir $@)$(DEP)
|
||||
@$(DBDDEPENDS_CMD)
|
||||
$(ECHO) "$<:../Makefile" >> $(notdir $@)$(DEP)
|
||||
@$(RM) $@
|
||||
$(DBTOMENUH) $(DBDFLAGS) $< $@
|
||||
echo "$< : ../Makefile" >> $(notdir $@)$(DEP)
|
||||
@$(RM) $(notdir $@)
|
||||
$(DBTOMENUH) $(DBDFLAGS) $< $(notdir $@)
|
||||
@$(MV) $(notdir $@) $@
|
||||
|
||||
.PRECIOUS: $(COMMON_DIR)/%.h
|
||||
|
||||
##################################################### DBD files
|
||||
|
||||
$(COMMON_DIR)/bpt%.dbd: bpt%.data
|
||||
@$(RM) $@
|
||||
$(MAKEBPT) $< $@
|
||||
$(MAKEBPT) $< $(notdir $@)
|
||||
@$(MV) $(notdir $@) $@
|
||||
|
||||
$(COMMON_DIR)/%.dbd: $(COMMON_DIR)/%Include.dbd
|
||||
@$(RM) $(notdir $@)$(DEP)
|
||||
@$(DBDDEPENDS_CMD)
|
||||
$(ECHO) "$<:../Makefile" >> $(notdir $@)$(DEP)
|
||||
echo "$< : ../Makefile" >> $(notdir $@)$(DEP)
|
||||
$(ECHO) "Expanding dbd"
|
||||
@$(RM) $@
|
||||
@$(DBEXPAND) $(DBDFLAGS) -o $@ $<
|
||||
@$(RM) $(notdir $@)
|
||||
@$(DBEXPAND) $(DBDFLAGS) -o $(notdir $@) $<
|
||||
@$(MV) $(notdir $@) $@
|
||||
|
||||
$(COMMON_DIR)/%.dbd: %Include.dbd
|
||||
@$(RM) $(notdir $@)$(DEP)
|
||||
@$(DBDDEPENDS_CMD)
|
||||
$(ECHO) "$<:../Makefile" >> $(notdir $@)$(DEP)
|
||||
echo "$< : ../Makefile" >> $(notdir $@)$(DEP)
|
||||
$(ECHO) "Expanding dbd"
|
||||
@$(RM) $@
|
||||
$(DBEXPAND) $(DBDFLAGS) -o $@ $<
|
||||
@$(RM) $(notdir $@)
|
||||
$(DBEXPAND) $(DBDFLAGS) -o $(notdir $@) $<
|
||||
@$(MV) $(notdir $@) $@
|
||||
|
||||
$(COMMON_DIR)/%Include.dbd:
|
||||
@$(RM) $@
|
||||
$(PERL) $(TOOLS)/makeIncludeDbd.pl $($*_DBD) $@
|
||||
@$(RM) $(notdir $@)
|
||||
$(PERL) $(TOOLS)/makeIncludeDbd.pl $($*_DBD) $(notdir $@)
|
||||
@$(MV) $(notdir $@) $@
|
||||
|
||||
$(INSTALL_DBD)/%: $(COMMON_DIR)/%
|
||||
$(ECHO) "Installing created dbd file $@"
|
||||
@@ -302,8 +309,8 @@ $(COMMON_DIR)/%.db$(RAW): $(COMMON_DIR)/%.edf
|
||||
|
||||
$(COMMON_DIR)/%.db$(RAW): %.substitutions
|
||||
@$(RM) $(notdir $@)$(DEP)
|
||||
$(MAKEDBDEPENDS) $@ $< $(TEMPLATE_FILENAME) >> $(notdir $@)$(DEP)
|
||||
$(ECHO) "$@:$(TEMPLATE_FILENAME)" >> $(notdir $@)$(DEP)
|
||||
@$(MAKEDBDEPENDS) $@ $< $(TEMPLATE_FILENAME) >> $(notdir $@)$(DEP)
|
||||
echo "$@ : $(TEMPLATE_FILENAME)" >> $(notdir $@)$(DEP)
|
||||
$(ECHO) "Inflating database from $< $(TEMPLATE_FILENAME)"
|
||||
@$(RM) $@ $*.tmp
|
||||
$(MSI) $(DBFLAGS) -S$< $(TEMPLATE_FILENAME) > $*.tmp
|
||||
|
||||
@@ -205,11 +205,6 @@ $(OBJLIBNAME):%$(OBJ):
|
||||
@$(RM) $@
|
||||
$(COMPILE.cpp) $(call PATH_FILTER,$<) $(COMPILE_FILTER.cpp)
|
||||
|
||||
%$(OBJ): %.C
|
||||
@$(HDEPENDS_CMD)
|
||||
@$(RM) $@
|
||||
$(COMPILE.cpp) $(call PATH_FILTER,$<) $(COMPILE_FILTER.cpp)
|
||||
|
||||
# WIN95/NT resource compiler
|
||||
%$(RES): %.rc
|
||||
@$(RM) $@
|
||||
|
||||
@@ -1,10 +1,9 @@
|
||||
#*************************************************************************
|
||||
# Copyright (c) 2002 The University of Chicago, as Operator of Argonne
|
||||
# Copyright (c) 2011 UChicago Argonne LLC, as Operator of Argonne
|
||||
# National Laboratory.
|
||||
# Copyright (c) 2002 The Regents of the University of California, as
|
||||
# Operator of Los Alamos National Laboratory.
|
||||
# EPICS BASE Versions 3.13.7
|
||||
# and higher are distributed subject to a Software License Agreement found
|
||||
# EPICS BASE is distributed subject to a Software License Agreement found
|
||||
# in file LICENSE that is included with this distribution.
|
||||
#*************************************************************************
|
||||
#
|
||||
@@ -13,73 +12,73 @@
|
||||
|
||||
include $(CONFIG)/RULES_DIRS
|
||||
|
||||
distclean: realclean cvsclean realuninstall
|
||||
|
||||
CVSCLEAN=$(firstword $(wildcard $(TOOLS)/cvsclean.pl $(TOP)/src/tools/cvsclean.pl))
|
||||
cvsclean:
|
||||
$(PERL) $(CVSCLEAN)
|
||||
|
||||
realuninstall: uninstallDirs
|
||||
$(RMDIR) $(INSTALL_LOCATION_BIN)
|
||||
$(RMDIR) $(INSTALL_LOCATION_LIB)
|
||||
|
||||
UNINSTALL_DIRS += $(INSTALL_DBD) $(INSTALL_INCLUDE) $(INSTALL_DOC)\
|
||||
$(INSTALL_HTML) $(INSTALL_JAVA) $(INSTALL_TEMPLATES) \
|
||||
$(INSTALL_DB)
|
||||
UNINSTALL_DIRS += $(DIRECTORY_TARGETS)
|
||||
uninstallDirs:
|
||||
$(RMDIR) $(UNINSTALL_DIRS)
|
||||
|
||||
uninstall: archuninstall uninstallDirs
|
||||
|
||||
archuninstall: $(addprefix uninstall$(DIVIDER),$(BUILD_ARCHS))
|
||||
@$(MAKE) -f Makefile cleandirs
|
||||
|
||||
uninstallArchTargets = $(foreach arch,$(BUILD_ARCHS), uninstall$(DIVIDER)$(arch))
|
||||
archPart = $(word 2, $(subst $(DIVIDER), ,$@))
|
||||
|
||||
$(uninstallArchTargets): uninstallDirs
|
||||
@$(RMDIR) $(INSTALL_LOCATION_BIN)/$(archPart) $(INSTALL_LOCATION_LIB)/$(archPart)
|
||||
uninstall$(DIVIDER)%:
|
||||
$(RMDIR) $(INSTALL_LOCATION_BIN)/$(archPart)
|
||||
$(RMDIR) $(INSTALL_LOCATION_LIB)/$(archPart)
|
||||
|
||||
cleandirs:
|
||||
ifeq ($(wildcard $(INSTALL_LOCATION_BIN)/*),)
|
||||
@$(RMDIR) $(INSTALL_LOCATION_BIN)
|
||||
$(RMDIR) $(INSTALL_LOCATION_BIN)
|
||||
endif
|
||||
ifeq ($(wildcard $(INSTALL_LOCATION_LIB)/*),)
|
||||
@$(RMDIR) $(INSTALL_LOCATION_LIB)
|
||||
$(RMDIR) $(INSTALL_LOCATION_LIB)
|
||||
endif
|
||||
@echo
|
||||
# The echo above stops a "nothing to be done for cleandirs" message
|
||||
|
||||
distclean: realclean realuninstall
|
||||
|
||||
CVSCLEAN=$(firstword $(wildcard $(TOOLS)/cvsclean.pl $(TOP)/src/tools/cvsclean.pl))
|
||||
|
||||
cvsclean:
|
||||
@$(PERL) $(CVSCLEAN)
|
||||
|
||||
realuninstall:
|
||||
@$(RMDIR) $(INSTALL_LOCATION_BIN) $(INSTALL_LOCATION_LIB)
|
||||
@$(RMDIR) $(UNINSTALL_DIRS)
|
||||
|
||||
uninstall: $(addprefix uninstall$(DIVIDER),$(BUILD_ARCHS))
|
||||
@$(MAKE) -f Makefile cleandirs
|
||||
|
||||
uninstallDirs:
|
||||
@$(RMDIR) $(UNINSTALL_DIRS)
|
||||
|
||||
help:
|
||||
@echo "Usage: gnumake [options] [target] ..."
|
||||
@echo "Targets supported by all Makefiles:"
|
||||
@echo " install - Builds and installs all targets (default rule)"
|
||||
@echo " all - Same as install"
|
||||
@echo " buildInstall - Same as install"
|
||||
@echo " all - Same as install (default rule)"
|
||||
@echo " inc - Installs header files"
|
||||
@echo " build - Builds and installs all targets"
|
||||
@echo " install - Builds and installs all targets"
|
||||
@echo " buildInstall - Same as install (deprecated)"
|
||||
@echo " clean - Removes the O.<arch> dirs created by running make"
|
||||
@echo " In O.<arch> dir, clean removes build created files"
|
||||
@echo " realclean - Removes ALL O.<arch> dirs"
|
||||
@echo " Cannot be used within an O.<arch> dir"
|
||||
@echo " rebuild - Same as clean install"
|
||||
@echo " inc - Installs header files"
|
||||
@echo " build - Builds all targets"
|
||||
@echo " archclean - Removes O.<arch> dirs but not O.Common dir"
|
||||
@echo "\"Partial\" build targets supported by Makefiles:"
|
||||
@echo " inc.<arch> - Installs <arch> only header files."
|
||||
@echo " build.<arch> - Builds and installs <arch> only."
|
||||
@echo " install.<arch> - Builds and installs <arch> only."
|
||||
@echo " clean.<arch> - Cleans <arch> binaries in O.<arch> dirs only."
|
||||
@echo " build.<arch> - Builds <arch> only."
|
||||
@echo " uninstall.<arch> - Remove bin & lib directories for <arch> only."
|
||||
@echo "Targets supported by top level Makefile:"
|
||||
@echo " uninstall - Cleans directories created by the install."
|
||||
@echo " archuninstall - Remove bin & lib directories created by this hostarch."
|
||||
@echo " uninstall - Remove install directories created by this hostarch."
|
||||
@echo " realuninstall - Removes ALL install dirs"
|
||||
@echo " distclean - Same as realclean realuninstall."
|
||||
@echo " distclean - Same as realclean cvsclean realuninstall."
|
||||
@echo " cvsclean - Removes cvs .#* files in all dirs of directory tree"
|
||||
@echo " help - Prints this list of valid make targets "
|
||||
@echo "Indiv. object targets are supported by O.<arch> level Makefile .e.g"
|
||||
@echo " xxxRecord.o"
|
||||
|
||||
.PHONY : $(uninstallArchTargets)
|
||||
.PHONY : uninstall help cleandirs distclean uninstallDirs realuninstall
|
||||
.PHONY : cvsclean
|
||||
.PHONY: cleandirs distclean cvsclean realuninstall archuninstall uninstallDirs
|
||||
.PHONY: uninstall help
|
||||
|
||||
|
||||
@@ -1,17 +1,19 @@
|
||||
#
|
||||
# CONFIG.Common.RTEMS-beatnik
|
||||
# A migration from Eric Norum's CONFIG.Common.RTEMS-mvme5500
|
||||
# Author: Dayle Kotturi
|
||||
# SLAC
|
||||
# dayle@slac.stanford.edu
|
||||
# $Revision-Id$
|
||||
# Author: Dayle Kotturi <dayle@slac.stanford.edu>
|
||||
#
|
||||
# All RTEMS targets use the same Makefile fragment
|
||||
#
|
||||
override EXE=.elf
|
||||
EXE = .elf
|
||||
RTEMS_TARGET_CPU = powerpc
|
||||
GNU_TARGET=powerpc-rtems
|
||||
GNU_TARGET = powerpc-rtems
|
||||
ARCH_DEP_CFLAGS += -DMY_DO_BOOTP=NULL
|
||||
ARCH_DEP_CFLAGS += -DHAVE_MOTLOAD
|
||||
ARCH_DEP_CFLAGS += -DRTEMS_NETWORK_CONFIG_MBUF_SPACE=2048
|
||||
ARCH_DEP_CFLAGS += -DRTEMS_NETWORK_CONFIG_CLUSTER_SPACE=5120
|
||||
|
||||
OP_SYS_LDLIBS += -lbspExt
|
||||
|
||||
MUNCH_SUFFIX = .boot
|
||||
MUNCHNAME = $(PRODNAME:%$(EXE)=%$(MUNCH_SUFFIX))
|
||||
@@ -19,16 +21,13 @@ define MUNCH_CMD
|
||||
$(RTEMS_TOOLS)/bin/$(OBJCOPY_FOR_TARGET) -O binary $< $@
|
||||
endef
|
||||
|
||||
CROSS_COMPILER_TARGET_ARCHS=RTEMS-beatnik
|
||||
|
||||
include $(CONFIG)/os/CONFIG.Common.RTEMS
|
||||
|
||||
RTEMSSYMS=$(PRODNAME:%$(EXE)=%.sym)
|
||||
RTEMSIMGS=$(PRODNAME:%$(EXE)=%.bin)
|
||||
INSTALL_RTEMSSYMS=$(RTEMSSYMS:%=$(INSTALL_BIN)/%)
|
||||
INSTALL_RTEMSIMGS=$(RTEMSIMGS:%=$(INSTALL_BIN)/%)
|
||||
|
||||
OP_SYS_LDLIBS += -lbspExt
|
||||
|
||||
%.sym: %$(EXE)
|
||||
$(XSYMS) $^ $@
|
||||
|
||||
|
||||
@@ -1,15 +1,18 @@
|
||||
#
|
||||
# CONFIG.Common.RTEMS-mvme3100
|
||||
# $Revision-Id$
|
||||
# Author: W. Eric Norum
|
||||
# Canadian Light Source
|
||||
# eric@cls.usask.ca
|
||||
# Author: W. Eric Norum <wenorum@lbl.gov>
|
||||
#
|
||||
# All RTEMS targets use the same Makefile fragment
|
||||
#
|
||||
EXE = .elf
|
||||
RTEMS_TARGET_CPU = powerpc
|
||||
GNU_TARGET = powerpc-rtems
|
||||
ARCH_DEP_CFLAGS += -DMY_DO_BOOTP=NULL
|
||||
ARCH_DEP_CFLAGS += -DHAVE_PPCBUG
|
||||
|
||||
OP_SYS_LDLIBS += -lbspExt
|
||||
|
||||
MUNCH_SUFFIX = .boot
|
||||
MUNCHNAME = $(PRODNAME:%$(EXE)=%$(MUNCH_SUFFIX))
|
||||
define MUNCH_CMD
|
||||
@@ -24,6 +27,4 @@ define MUNCH_CMD
|
||||
rm -f rtems.gz
|
||||
endef
|
||||
|
||||
OP_SYS_LDLIBS += -lbspExt
|
||||
|
||||
include $(CONFIG)/os/CONFIG.Common.RTEMS
|
||||
|
||||
@@ -1,11 +1,19 @@
|
||||
#
|
||||
# CONFIG.Common.RTEMS-mvme3100
|
||||
# $Revision-Id$
|
||||
# Author: W. Eric Norum <wenorum@lbl.gov>
|
||||
#
|
||||
# All RTEMS targets use the same Makefile fragment
|
||||
#
|
||||
override EXE=.elf
|
||||
EXE = .elf
|
||||
RTEMS_TARGET_CPU = powerpc
|
||||
GNU_TARGET=powerpc-rtems
|
||||
GNU_TARGET = powerpc-rtems
|
||||
ARCH_DEP_CFLAGS += -DMY_DO_BOOTP=NULL
|
||||
ARCH_DEP_CFLAGS += -DHAVE_MOTLOAD
|
||||
ARCH_DEP_CFLAGS += -DRTEMS_NETWORK_CONFIG_MBUF_SPACE=2048
|
||||
ARCH_DEP_CFLAGS += -DRTEMS_NETWORK_CONFIG_CLUSTER_SPACE=5120
|
||||
|
||||
OP_SYS_LDLIBS += -lbspExt
|
||||
|
||||
MUNCH_SUFFIX = .boot
|
||||
MUNCHNAME = $(PRODNAME:%$(EXE)=%$(MUNCH_SUFFIX))
|
||||
@@ -13,16 +21,13 @@ define MUNCH_CMD
|
||||
$(RTEMS_TOOLS)/bin/$(OBJCOPY_FOR_TARGET) -O binary $< $@
|
||||
endef
|
||||
|
||||
CROSS_COMPILER_TARGET_ARCHS=RTEMS-beatnik
|
||||
|
||||
include $(CONFIG)/os/CONFIG.Common.RTEMS
|
||||
|
||||
RTEMSSYMS=$(PRODNAME:%$(EXE)=%.sym)
|
||||
RTEMSIMGS=$(PRODNAME:%$(EXE)=%.bin)
|
||||
INSTALL_RTEMSSYMS=$(RTEMSSYMS:%=$(INSTALL_BIN)/%)
|
||||
INSTALL_RTEMSIMGS=$(RTEMSIMGS:%=$(INSTALL_BIN)/%)
|
||||
|
||||
OP_SYS_LDLIBS += -lbspExt
|
||||
|
||||
%.sym: %$(EXE)
|
||||
$(XSYMS) $^ $@
|
||||
|
||||
|
||||
@@ -1,16 +1,21 @@
|
||||
#
|
||||
# CONFIG.Common.RTEMS-mvme5500
|
||||
# $Revision-Id$
|
||||
# Author: W. Eric Norum
|
||||
# Advanced Photon Source
|
||||
# norume@aps.anl.gov
|
||||
# Author: W. Eric Norum <wenorum@lbl.gov>
|
||||
#
|
||||
# All RTEMS targets use the same Makefile fragment
|
||||
#
|
||||
EXE = .elf
|
||||
RTEMS_TARGET_CPU = powerpc
|
||||
GNU_TARGET = powerpc-rtems
|
||||
ARCH_DEP_CFLAGS += -DMY_DO_BOOTP=NULL
|
||||
ARCH_DEP_CFLAGS += -DHAVE_MOTLOAD
|
||||
ARCH_DEP_CFLAGS += -DRTEMS_NETWORK_CONFIG_MBUF_SPACE=2048
|
||||
ARCH_DEP_CFLAGS += -DRTEMS_NETWORK_CONFIG_CLUSTER_SPACE=5120
|
||||
ARCH_DEP_CFLAGS += -DBSP_NVRAM_BASE_ADDR=0xf1110000
|
||||
|
||||
OP_SYS_LDLIBS += -lbspExt
|
||||
|
||||
MUNCH_SUFFIX = .boot
|
||||
MUNCHNAME = $(PRODNAME:%$(EXE)=%$(MUNCH_SUFFIX))
|
||||
define MUNCH_CMD
|
||||
|
||||
@@ -69,3 +69,9 @@ LIBNAME = $(LIBNAME_$(SHARED_LIBRARIES))
|
||||
# dll install location
|
||||
INSTALL_SHRLIB = $(INSTALL_BIN)
|
||||
|
||||
|
||||
# Cygwin supports the sunrpc package in versions before 1.7.
|
||||
# Cygwin supports the tirpc (Transport Independent RPC) package in versions 1.7 and later.
|
||||
# uname -r return a string like "1.76(0230/5/3)"
|
||||
CYGWIN_RPC_LIB= $(if $(findstring 1.5,$(shell uname -r)),rpc,tirpc)
|
||||
|
||||
|
||||
@@ -55,7 +55,7 @@ CCC = $(GNU_BIN)/c++
|
||||
|
||||
#-------------------------------------------------------
|
||||
# Linker flags
|
||||
OP_SYS_LDFLAGS += -dynamic -Z -L$(SDK_DIR)/usr/lib
|
||||
OP_SYS_LDFLAGS += -dynamic -Z -L$(SDK_DIR)/usr/lib -L$(SDK_DIR)/usr/lib/system
|
||||
|
||||
#-------------------------------------------------------
|
||||
# Shared libraries
|
||||
|
||||
@@ -29,4 +29,11 @@ ifeq ($(BUILD_CLASS),CROSS)
|
||||
# Provide a link-time path for products
|
||||
PRODDIR_RPATH_LDFLAGS_YES += $(PROD_DEPLIB_DIRS:%=-Wl,-rpath-link,%)
|
||||
PRODDIR_LDFLAGS += $(PRODDIR_RPATH_LDFLAGS_$(LINKER_USE_RPATH))
|
||||
|
||||
# Provide a link-time path for readline
|
||||
RUNTIME_LDFLAGS_READLINE_YES = -Wl,-rpath-link,$(GNU_DIR)/lib
|
||||
RUNTIME_LDFLAGS_READLINE = $(RUNTIME_LDFLAGS_READLINE_$(LINKER_USE_RPATH))
|
||||
RUNTIME_LDFLAGS_READLINE_CURSES = $(RUNTIME_LDFLAGS_READLINE_$(LINKER_USE_RPATH))
|
||||
RUNTIME_LDFLAGS_READLINE_NCURSES = $(RUNTIME_LDFLAGS_READLINE_$(LINKER_USE_RPATH))
|
||||
|
||||
endif
|
||||
|
||||
@@ -1,43 +0,0 @@
|
||||
# CONFIG.Common.osf-alpha
|
||||
#
|
||||
# $Revision-Id$
|
||||
# This file is maintained by the build community.
|
||||
#
|
||||
# Definitions for osf-alpha target archs
|
||||
# Sites may override these definitions in CONFIG_SITE.Common.osf-alpha
|
||||
#-------------------------------------------------------
|
||||
|
||||
# Include definitions common to all Unix targets
|
||||
include $(CONFIG)/os/CONFIG.Common.UnixCommon
|
||||
|
||||
OS_CLASS = osf
|
||||
ARCH_CLASS = alpha
|
||||
|
||||
CODE_CPPFLAGS =
|
||||
|
||||
POSIX_CPPFLAGS += -pthread -ieee
|
||||
# Unknown reason why this doesn't work in POSIX_LDFLAGS:
|
||||
POSIX_LDLIBS += -pthread -ieee
|
||||
|
||||
OP_SYS_CPPFLAGS += -D_OSF_SOURCE
|
||||
OP_SYS_LDLIBS += -lrt
|
||||
# Unknown reason why USR_SYS_LIBS += m is needed
|
||||
USR_SYS_LIBS += m
|
||||
|
||||
space:=$(empty) $(empty)
|
||||
colon := :
|
||||
|
||||
# Set runtime path for shared libraries
|
||||
SHRLIBDIR_RPATH_LDFLAGS_YES += $(SHRLIB_DEPLIB_DIRS:%=-rpath %)
|
||||
SHRLIBDIR_LDFLAGS += $(SHRLIBDIR_RPATH_LDFLAGS_$(LINKER_USE_RPATH))
|
||||
|
||||
# Set runtime path for products
|
||||
PRODDIR_RPATH_LDFLAGS_YES += $(PROD_DEPLIB_DIRS:%=-rpath %)
|
||||
PRODDIR_LDFLAGS += $(PRODDIR_RPATH_LDFLAGS_$(LINKER_USE_RPATH))
|
||||
|
||||
ifdef CROSS
|
||||
GNU_TARGET=alpha-osf
|
||||
CMPLR_SUFFIX=
|
||||
CMPLR_PREFIX=$(addsuffix -,$(GNU_TARGET))
|
||||
endif
|
||||
|
||||
@@ -1,40 +0,0 @@
|
||||
# CONFIG.Common.osf-alpha-gnu
|
||||
#
|
||||
# $Revision-Id$
|
||||
# This file is maintained by the build community.
|
||||
#
|
||||
# Definitions for osf-alpha target archs
|
||||
# Sites may override these definitions in CONFIG_SITE.Common.osf-alpha-gnu
|
||||
#-------------------------------------------------------
|
||||
|
||||
# Include definitions common to all Unix targets
|
||||
include $(CONFIG)/os/CONFIG.Common.UnixCommon
|
||||
|
||||
OS_CLASS = osf
|
||||
ARCH_CLASS = alpha
|
||||
|
||||
CODE_CPPFLAGS =
|
||||
|
||||
POSIX_CPPFLAGS += -D_REENTRANT
|
||||
POSIX_LDLIBS += -lpthread -lexc
|
||||
|
||||
OP_SYS_CPPFLAGS += -D_OSF_SOURCE
|
||||
OP_SYS_LDLIBS += -lrt
|
||||
|
||||
space:=$(empty) $(empty)
|
||||
colon := :
|
||||
|
||||
# Set runtime path for shared libraries
|
||||
SHRLIBDIR_RPATH_LDFLAGS_YES += $(SHRLIB_DEPLIB_DIRS:%=-Wl,-rpath,%)
|
||||
SHRLIBDIR_LDFLAGS += $(SHRLIBDIR_RPATH_LDFLAGS_$(LINKER_USE_RPATH))
|
||||
|
||||
# Set runtime path for products
|
||||
PRODDIR_RPATH_LDFLAGS_YES += $(PROD_DEPLIB_DIRS:%=-Wl,-rpath,%)
|
||||
PRODDIR_LDFLAGS += $(PRODDIR_RPATH_LDFLAGS_$(LINKER_USE_RPATH))
|
||||
|
||||
ifdef CROSS
|
||||
GNU_TARGET=alpha-osf
|
||||
CMPLR_SUFFIX=
|
||||
CMPLR_PREFIX=$(addsuffix -,$(GNU_TARGET))
|
||||
endif
|
||||
|
||||
@@ -35,8 +35,6 @@ SHRLIBDIR_LDFLAGS += $(SHRLIBDIR_RPATH_LDFLAGS_$(LINKER_USE_RPATH))
|
||||
PRODDIR_RPATH_LDFLAGS_YES += $(PROD_DEPLIB_DIRS:%=-R%)
|
||||
PRODDIR_LDFLAGS += $(PRODDIR_RPATH_LDFLAGS_$(LINKER_USE_RPATH))
|
||||
|
||||
RUNTIME_LDFLAGS += $(RUNTIME_LDFLAGS_$(COMMANDLINE_LIBRARY))
|
||||
|
||||
GNU_TARGET=sparc-sun-solaris2
|
||||
|
||||
STLPORT_CFLAGS_YES= -library=stlport4
|
||||
@@ -53,17 +51,17 @@ OP_SYS_LDLIBS += $(STLPORT_LDLIBS_$(USE_STLPORT))
|
||||
|
||||
# OS libraries used when generating shared libraries or static binaries
|
||||
OP_SYS_LDLIBS += -lsocket -lnsl
|
||||
OP_SYS_LDLIBS_8 += -lCrun -lc
|
||||
OP_SYS_LDLIBS_9 += -lumem -lCrun -lc
|
||||
OP_SYS_LDLIBS_8 += -ldl -lCrun -lc
|
||||
OP_SYS_LDLIBS_9 += -ldl -lumem -lCrun -lc
|
||||
OP_SYS_LDLIBS_10 += -lumem -lCrun -lc
|
||||
OP_SYS_LDLIBS += $(OP_SYS_LDLIBS_$(SOLARIS_VERSION))
|
||||
|
||||
# Definitions used when COMMANDLINE_LIBRARY is READLINE
|
||||
READLINE_DIR = $(GNU_DIR)
|
||||
INCLUDES_READLINE = -I$(READLINE_DIR)/include
|
||||
RUNTIME_LDFLAGS_READLINE += -R$(READLINE_DIR)/lib
|
||||
RUNTIME_LDFLAGS_READLINE_YES += -R$(READLINE_DIR)/lib
|
||||
RUNTIME_LDFLAGS_READLINE += $(RUNTIME_LDFLAGS_READLINE_$(LINKER_USE_RPATH))
|
||||
LDFLAGS_READLINE += -L$(READLINE_DIR)/lib
|
||||
LDLIBS_READLINE = -lreadline -lcurses
|
||||
# Use archive if there is a problem with the readline shared library
|
||||
#LDLIBS_READLINE = -Bstatic -lreadline -Bdynamic -lcurses
|
||||
|
||||
|
||||
@@ -15,7 +15,7 @@ COMPILER_CPPFLAGS = -D_REENTRANT
|
||||
|
||||
STLPORT_LDLIBS_NO =
|
||||
|
||||
OP_SYS_LDLIBS_8 =
|
||||
OP_SYS_LDLIBS_9 =
|
||||
OP_SYS_LDLIBS_8 = -ldl
|
||||
OP_SYS_LDLIBS_9 = -ldl
|
||||
OP_SYS_LDLIBS_10 =
|
||||
|
||||
|
||||
@@ -36,8 +36,6 @@ SHRLIBDIR_LDFLAGS += $(SHRLIBDIR_RPATH_LDFLAGS_$(LINKER_USE_RPATH))
|
||||
PRODDIR_RPATH_LDFLAGS_YES += $(PROD_DEPLIB_DIRS:%=-R%)
|
||||
PRODDIR_LDFLAGS += $(PRODDIR_RPATH_LDFLAGS_$(LINKER_USE_RPATH))
|
||||
|
||||
RUNTIME_LDFLAGS += $(RUNTIME_LDFLAGS_$(COMMANDLINE_LIBRARY))
|
||||
|
||||
GNU_TARGET=x86-sun-solaris2
|
||||
|
||||
STLPORT_CFLAGS_YES= -library=stlport4
|
||||
@@ -52,8 +50,8 @@ OP_SYS_CFLAGS+=$(STLPORT_CFLAGS_$(USE_STLPORT))
|
||||
OP_SYS_LDFLAGS+=$(STLPORT_CFLAGS_$(USE_STLPORT))
|
||||
|
||||
OP_SYS_LDLIBS += -lsocket -lnsl
|
||||
OP_SYS_LDLIBS_8 += -lCrun -lc
|
||||
OP_SYS_LDLIBS_9 += -lCrun -lc
|
||||
OP_SYS_LDLIBS_8 += -ldl -lCrun -lc
|
||||
OP_SYS_LDLIBS_9 += -ldl -lCrun -lc
|
||||
OP_SYS_LDLIBS_10 += -lCrun -lc
|
||||
OP_SYS_LDLIBS += $(OP_SYS_LDLIBS_$(SOLARIS_VERSION))
|
||||
OP_SYS_LDLIBS += $(STLPORT_LDLIBS_$(USE_STLPORT))
|
||||
@@ -61,7 +59,8 @@ OP_SYS_LDLIBS += $(STLPORT_LDLIBS_$(USE_STLPORT))
|
||||
# Definitions used when COMMANDLINE_LIBRARY is READLINE
|
||||
READLINE_DIR = $(GNU_DIR)
|
||||
INCLUDES_READLINE = -I$(READLINE_DIR)/include
|
||||
RUNTIME_LDFLAGS_READLINE += -R$(READLINE_DIR)/lib
|
||||
RUNTIME_LDFLAGS_READLINE_YES += -R$(READLINE_DIR)/lib
|
||||
RUNTIME_LDFLAGS_READLINE += $(RUNTIME_LDFLAGS_READLINE_$(LINKER_USE_RPATH))
|
||||
LDFLAGS_READLINE += -L$(READLINE_DIR)/lib
|
||||
LDLIBS_READLINE = -lreadline -lcurses
|
||||
# Use archive if there is a problem with the readline shared library
|
||||
|
||||
@@ -14,7 +14,7 @@ COMPILER_CPPFLAGS = -D_REENTRANT
|
||||
|
||||
STLPORT_LDLIBS_NO =
|
||||
|
||||
OP_SYS_LDLIBS_8 = -lc
|
||||
OP_SYS_LDLIBS_9 = -lc
|
||||
OP_SYS_LDLIBS_8 = -ldl -lc
|
||||
OP_SYS_LDLIBS_9 = -ldl -lc
|
||||
OP_SYS_LDLIBS_10 = -lc
|
||||
|
||||
|
||||
@@ -1,9 +1,10 @@
|
||||
# CONFIG.Common.vxWorks-mpc8540
|
||||
#
|
||||
# $Revision-Id$
|
||||
# This file is maintained by the build community.
|
||||
#
|
||||
# Definitions for vxWorks-mpc8540 targets: MPC8540 CPU with >32MB RAM.
|
||||
# Site-specific overrides go in CONFIG_SITE.Common.vxWorks-mpc8540
|
||||
#
|
||||
# This file is maintained by the EPICS build community.
|
||||
# Definitions for vxWorks-mpc8540 target archs
|
||||
# Sites may override these definitions in CONFIG_SITE.Common.vxWorks-mpc8540
|
||||
#-------------------------------------------------------
|
||||
|
||||
# Include definitions common to all vxWorks target archs
|
||||
|
||||
26
configure/os/CONFIG.Common.vxWorks-mpc8548
Normal file
26
configure/os/CONFIG.Common.vxWorks-mpc8548
Normal file
@@ -0,0 +1,26 @@
|
||||
# CONFIG.Common.vxWorks-mpc8548
|
||||
#
|
||||
# $Revision-Id$
|
||||
# This file is maintained by the build community.
|
||||
#
|
||||
# Definitions for vxWorks-mpc8548 target archs
|
||||
# Sites may override these definitions in CONFIG_SITE.Common.vxWorks-mpc8548
|
||||
#-------------------------------------------------------
|
||||
|
||||
# Include definitions common to all vxWorks target archs
|
||||
include $(CONFIG)/os/CONFIG.Common.vxWorksCommon
|
||||
|
||||
# Vx GNU cross compiler suffix
|
||||
CMPLR_SUFFIX = ppc
|
||||
|
||||
ARCH_CLASS = ppc
|
||||
|
||||
# Architecture specific build flags
|
||||
ARCH_DEP_CPPFLAGS = -DCPU=PPC32
|
||||
ARCH_DEP_CFLAGS = -DCPU_VARIANT=_ppc85XX_e500v2
|
||||
ARCH_DEP_CFLAGS += -mlongcall
|
||||
|
||||
# This flag isn't present in early vxWorks 6.x versions
|
||||
#ARCH_DEP_CFLAGS += -te500v2
|
||||
|
||||
GNU_TARGET = powerpc-wrs-vxworks
|
||||
14
configure/os/CONFIG.Common.vxWorks-mpc8548-debug
Normal file
14
configure/os/CONFIG.Common.vxWorks-mpc8548-debug
Normal file
@@ -0,0 +1,14 @@
|
||||
# CONFIG.Common.vxWorks-mpc8548-debug
|
||||
#
|
||||
# $Revision-Id$
|
||||
# This file is maintained by the build community.
|
||||
#
|
||||
# Definitions for vxWorks-mpc8548-debug targets.
|
||||
# Sites may override these definitions in CONFIG_SITE.Common.vxWorks-mpc8548-debug
|
||||
#-------------------------------------------------------
|
||||
|
||||
# Include definitions common to all vxWorks archs
|
||||
include $(CONFIG)/os/CONFIG.Common.vxWorks-mpc8548
|
||||
|
||||
CROSS_OPT = NO
|
||||
|
||||
24
configure/os/CONFIG.Common.vxWorks-ppc32
Normal file
24
configure/os/CONFIG.Common.vxWorks-ppc32
Normal file
@@ -0,0 +1,24 @@
|
||||
# $Revision-Id$
|
||||
#
|
||||
# Definitions for vxWorks-ppc603 targets with >32MB of RAM
|
||||
# Site-specific overrides go in CONFIG_SITE.Common.vxWorks-ppc603_long
|
||||
#
|
||||
# This file is maintained by the EPICS build community.
|
||||
#-------------------------------------------------------
|
||||
|
||||
# Include definitions common to all vxWorks target archs
|
||||
include $(CONFIG)/os/CONFIG.Common.vxWorksCommon
|
||||
|
||||
# Vx GNU cross compiler suffix
|
||||
CMPLR_SUFFIX = ppc
|
||||
|
||||
ARCH_CLASS = ppc
|
||||
|
||||
# Architecture specific build flags
|
||||
ARCH_DEP_CPPFLAGS = -DCPU=PPC32
|
||||
ARCH_DEP_CFLAGS = -mstrict-align
|
||||
|
||||
GNU_TARGET = powerpc-wrs-vxworks
|
||||
|
||||
# Tell compiler to generate long branches
|
||||
ARCH_DEP_CFLAGS += -mlongcall
|
||||
14
configure/os/CONFIG.Common.vxWorks-ppc32-debug
Normal file
14
configure/os/CONFIG.Common.vxWorks-ppc32-debug
Normal file
@@ -0,0 +1,14 @@
|
||||
# CONFIG.Common.vxWorks-ppc32-debug
|
||||
#
|
||||
# $Revision-Id$
|
||||
# This file is maintained by the build community.
|
||||
#
|
||||
# Definitions for vxWorks-ppc32-debug target archs
|
||||
# Sites may override these definitions in CONFIG_SITE.Common.vxWorks-ppc32-debug
|
||||
#-------------------------------------------------------
|
||||
|
||||
# Include definitions common to all vxWorks archs
|
||||
include $(CONFIG)/os/CONFIG.Common.vxWorks-ppc32
|
||||
|
||||
CROSS_OPT = NO
|
||||
|
||||
13
configure/os/CONFIG.Common.vxWorks-ppc32sf
Normal file
13
configure/os/CONFIG.Common.vxWorks-ppc32sf
Normal file
@@ -0,0 +1,13 @@
|
||||
# $Revision-Id$
|
||||
#
|
||||
# Definitions for vxWorks-ppc32sf targets
|
||||
# Site-specific overrides go in CONFIG_SITE.Common.vxWorks-ppc32sf
|
||||
#
|
||||
# This file is maintained by the EPICS build community.
|
||||
#-------------------------------------------------------
|
||||
|
||||
# Inherit the settings from vxWorks-ppc32
|
||||
include $(CONFIG)/os/CONFIG.Common.vxWorks-ppc32
|
||||
|
||||
# Tell compiler to use software floating-point
|
||||
ARCH_DEP_CFLAGS += -msoft-float
|
||||
14
configure/os/CONFIG.Common.vxWorks-ppc32sf-debug
Normal file
14
configure/os/CONFIG.Common.vxWorks-ppc32sf-debug
Normal file
@@ -0,0 +1,14 @@
|
||||
# CONFIG.Common.vxWorks-ppc32sf-debug
|
||||
#
|
||||
# $Revision-Id$
|
||||
# This file is maintained by the build community.
|
||||
#
|
||||
# Definitions for vxWorks-ppc32sf-debug target archs
|
||||
# Sites may override these definitions in CONFIG_SITE.Common.vxWorks-ppc32sf-debug
|
||||
#-------------------------------------------------------
|
||||
|
||||
# Include definitions common to all vxWorks archs
|
||||
include $(CONFIG)/os/CONFIG.Common.vxWorks-ppc32sf
|
||||
|
||||
CROSS_OPT = NO
|
||||
|
||||
@@ -159,7 +159,7 @@ export TOOL_FAMILY = GNU
|
||||
|
||||
#--------------------------------------------------
|
||||
# Operating system flags
|
||||
OP_SYS_CPPFLAGS += -DvxWorks
|
||||
OP_SYS_CPPFLAGS += -DvxWorks=vxWorks
|
||||
OP_SYS_CFLAGS += -fno-builtin
|
||||
|
||||
# Fix for vxWorks 5 headers that use macros defined in vxWorks.h but
|
||||
|
||||
@@ -7,8 +7,10 @@
|
||||
# Sites may override these definitions in CONFIG_SITE.cygwin-x86.cygwin-x86-debug
|
||||
#-------------------------------------------------------
|
||||
|
||||
include $(CONFIG)/os/CONFIG.Common.cygwin-x86
|
||||
include $(CONFIG)/os/CONFIG.cygwin-x86.cygwin-x86
|
||||
-include $(CONFIG)/os/CONFIG.Common.cygwin-x86
|
||||
-include $(CONFIG)/os/CONFIG.cygwin-x86.cygwin-x86
|
||||
-include $(CONFIG)/os/CONFIG_SITE.Common.cygwin-x86
|
||||
-include $(CONFIG)/os/CONFIG_SITE.cygwin-x86.cygwin-x86
|
||||
|
||||
BUILD_CLASS = HOST
|
||||
|
||||
|
||||
@@ -9,6 +9,8 @@
|
||||
|
||||
-include $(CONFIG)/os/CONFIG.Common.darwin-ppc
|
||||
-include $(CONFIG)/os/CONFIG.darwin-ppc.darwin-ppc
|
||||
-include $(CONFIG)/os/CONFIG_SITE.Common.darwin-ppc
|
||||
-include $(CONFIG)/os/CONFIG_SITE.darwin-ppc.darwin-ppc
|
||||
|
||||
BUILD_CLASS=HOST
|
||||
HOST_OPT = NO
|
||||
|
||||
@@ -9,6 +9,9 @@
|
||||
|
||||
-include $(CONFIG)/os/CONFIG.Common.darwin-x86
|
||||
-include $(CONFIG)/os/CONFIG.darwin-x86.darwin-x86
|
||||
-include $(CONFIG)/os/CONFIG_SITE.Common.darwin-x86
|
||||
-include $(CONFIG)/os/CONFIG_SITE.darwin-x86.darwin-x86
|
||||
|
||||
|
||||
BUILD_CLASS=HOST
|
||||
HOST_OPT = NO
|
||||
|
||||
@@ -9,4 +9,3 @@
|
||||
#Include definitions common to unix hosts
|
||||
include $(CONFIG)/os/CONFIG.UnixCommon.Common
|
||||
|
||||
WIND_HOST_TYPE = ppc-linux
|
||||
|
||||
@@ -10,4 +10,3 @@
|
||||
#Include definitions common to unix hosts
|
||||
include $(CONFIG)/os/CONFIG.UnixCommon.Common
|
||||
|
||||
WIND_HOST_TYPE = ppc-linux
|
||||
|
||||
@@ -7,8 +7,9 @@
|
||||
# Sites may override these definitions in CONFIG_SITE.linux-x86.linux-x86-debug
|
||||
#-------------------------------------------------------
|
||||
|
||||
include $(CONFIG)/os/CONFIG.linux-x86.linux-x86
|
||||
-include $(CONFIG)/os/CONFIG.linux-x86.linux-x86
|
||||
#-include $(CONFIG)/os/CONFIG_SITE.Common.linux-x86
|
||||
#-include $(CONFIG)/os/CONFIG_SITE.linux-x86.linux-x86
|
||||
|
||||
BUILD_CLASS=HOST
|
||||
HOST_OPT=NO
|
||||
|
||||
|
||||
@@ -7,8 +7,9 @@
|
||||
# Sites may override these definitions in CONFIG_SITE.linux-x86_64.linux-x86_64-debug
|
||||
#-------------------------------------------------------
|
||||
|
||||
include $(CONFIG)/os/CONFIG.linux-x86.linux-x86
|
||||
-include $(CONFIG)/os/CONFIG.linux-x86_64.linux-x86_64
|
||||
-include $(CONFIG)/os/CONFIG_SITE.Common.linux-x86_64
|
||||
-include $(CONFIG)/os/CONFIG_SITE.linux-x86_64.linux-x86_64
|
||||
|
||||
BUILD_CLASS=HOST
|
||||
|
||||
HOST_OPT = NO
|
||||
|
||||
@@ -1,12 +0,0 @@
|
||||
# CONFIG.osf-alpha-gnu.Common
|
||||
#
|
||||
# $Revision-Id$
|
||||
# This file is maintained by the build community.
|
||||
#
|
||||
# Definitions for osf-alpha host archs
|
||||
# Sites may override these definitions in CONFIG_SITE.osf-alpha-gnu.Common
|
||||
#-------------------------------------------------------
|
||||
|
||||
#Include definitions common to unix hosts
|
||||
include $(CONFIG)/os/CONFIG.UnixCommon.Common
|
||||
|
||||
@@ -1,40 +0,0 @@
|
||||
# CONFIG.osf-alpha-gnu.osf-alpha-gnu
|
||||
#
|
||||
# $Revision-Id$
|
||||
# This file is maintained by the build community.
|
||||
#
|
||||
# Definitions for osf-alpha host archs
|
||||
# Sites may override these definitions in CONFIG_SITE.osf-alpha-gnu.osf-alpha-gnu
|
||||
#-------------------------------------------------------
|
||||
|
||||
CC = gcc
|
||||
CCC = g++
|
||||
CPP = $(CC) -E
|
||||
RANLIB =
|
||||
AR = ar -r
|
||||
LD = -r
|
||||
|
||||
# Configure OS vendor C compiler
|
||||
CODE_CFLAGS =
|
||||
WARN_CFLAGS_YES =
|
||||
WARN_CFLAGS_NO = -w
|
||||
OPT_CFLAGS_YES = -O
|
||||
OPT_CFLAGS_NO = -g
|
||||
|
||||
# Configure OS vendor C++ compiler
|
||||
PROF_CXXFLAGS_YES = +p
|
||||
PROF_CXXFLAGS_NO =
|
||||
CODE_CXXFLAGS =
|
||||
WARN_CXXFLAGS_YES =
|
||||
WARN_CXXFLAGS_NO =
|
||||
OPT_CXXFLAGS_YES = -O
|
||||
OPT_CXXFLAGS_NO = -g
|
||||
|
||||
STATIC_LDFLAGS_YES= -Bstatic
|
||||
STATIC_LDFLAGS_NO=
|
||||
STATIC_LDLIBS_YES= -Bdynamic
|
||||
STATIC_LDLIBS_NO=
|
||||
|
||||
SHRLIB_LDFLAGS = -shared
|
||||
LOADABLE_SHRLIB_LDFLAGS = $(SHRLIB_LDFLAGS)
|
||||
|
||||
@@ -1,12 +0,0 @@
|
||||
# CONFIG.osf-alpha.Common
|
||||
#
|
||||
# $Revision-Id$
|
||||
# This file is maintained by the build community.
|
||||
#
|
||||
# Definitions for osf-alpha host archs
|
||||
# Sites may override these definitions in CONFIG_SITE.osf-alpha.Common
|
||||
#-------------------------------------------------------
|
||||
|
||||
#Include definitions common to unix hosts
|
||||
include $(CONFIG)/os/CONFIG.UnixCommon.Common
|
||||
|
||||
@@ -1,44 +0,0 @@
|
||||
# CONFIG.osf-alpha.osf-alpha
|
||||
#
|
||||
# $Revision-Id$
|
||||
# This file is maintained by the build community.
|
||||
#
|
||||
# Definitions for osf-alpha host archs
|
||||
# Sites may override these definitions in CONFIG_SITE.osf-alpha.osf-alpha
|
||||
#-------------------------------------------------------
|
||||
|
||||
CC = cc
|
||||
CCC = cxx
|
||||
CPP = $(CC) -E
|
||||
RANLIB =
|
||||
AR = ar -r
|
||||
LD = -r
|
||||
|
||||
# Configure OS vendor C compiler
|
||||
CODE_CFLAGS =
|
||||
WARN_CFLAGS_YES =
|
||||
WARN_CFLAGS_NO = -w
|
||||
OPT_CFLAGS_YES = -O
|
||||
OPT_CFLAGS_NO = -g
|
||||
|
||||
# Configure OS vendor C++ compiler
|
||||
PROF_CXXFLAGS_YES = +p
|
||||
PROF_CXXFLAGS_NO =
|
||||
CODE_CXXFLAGS =
|
||||
WARN_CXXFLAGS_YES =
|
||||
WARN_CXXFLAGS_NO =
|
||||
OPT_CXXFLAGS_YES = -O
|
||||
OPT_CXXFLAGS_NO = -g
|
||||
|
||||
STATIC_LDFLAGS_YES= -Bstatic
|
||||
STATIC_LDFLAGS_NO=
|
||||
STATIC_LDLIBS_YES= -Bdynamic
|
||||
STATIC_LDLIBS_NO=
|
||||
|
||||
SHRLIB_LDFLAGS = -shared
|
||||
LOADABLE_SHRLIB_LDFLAGS = $(SHRLIB_LDFLAGS)
|
||||
|
||||
############# ???????????
|
||||
#####ACC_SFLAGS_YES= -non_shared
|
||||
#####ACC_SFLAGS_NO= -call_shared
|
||||
|
||||
@@ -7,7 +7,9 @@
|
||||
# Sites may override these definitions in CONFIG_SITE.solaris-sparc.solaris-sparc-debug
|
||||
#-------------------------------------------------------
|
||||
|
||||
include $(CONFIG)/os/CONFIG.solaris-sparc.solaris-sparc
|
||||
-include $(CONFIG)/os/CONFIG.solaris-sparc.solaris-sparc
|
||||
-include $(CONFIG)/os/CONFIG_SITE.Common.solaris-sparc
|
||||
-include $(CONFIG)/os/CONFIG_SITE.solaris-sparc.solaris-sparc
|
||||
|
||||
BUILD_CLASS=HOST
|
||||
HOST_OPT=NO
|
||||
|
||||
@@ -10,5 +10,3 @@
|
||||
#Include definitions common to unix hosts
|
||||
include $(CONFIG)/os/CONFIG.UnixCommon.Common
|
||||
|
||||
WIND_HOST_TYPE = x86-solaris2
|
||||
|
||||
|
||||
@@ -7,8 +7,10 @@
|
||||
# Sites may override these definitions in CONFIG_SITE.solaris-x86.solaris-x86-debug
|
||||
#-------------------------------------------------------
|
||||
|
||||
include $(CONFIG)/os/CONFIG.Common.solaris-x86
|
||||
include $(CONFIG)/os/CONFIG.solaris-x86.solaris-x86
|
||||
-include $(CONFIG)/os/CONFIG.Common.solaris-x86
|
||||
-include $(CONFIG)/os/CONFIG.solaris-x86.solaris-x86
|
||||
-include $(CONFIG)/os/CONFIG_SITE.Common.solaris-x86
|
||||
-include $(CONFIG)/os/CONFIG_SITE.solaris-x86.solaris-x86
|
||||
|
||||
BUILD_CLASS=HOST
|
||||
|
||||
|
||||
@@ -8,10 +8,11 @@
|
||||
#-------------------------------------------------------
|
||||
|
||||
CP = $(PERL) -MExtUtils::Command -e cp
|
||||
MV = $(PERL) -MExtUtils::Command -e mv
|
||||
MV = $(PERL) -MExtUtils::Command -e mv
|
||||
RM = $(PERL) -MExtUtils::Command -e rm_f
|
||||
MKDIR = $(PERL) -MExtUtils::Command -e mkpath
|
||||
RMDIR = $(PERL) -MExtUtils::Command -e rm_rf
|
||||
COMMENT = $(PERL) -e ''
|
||||
|
||||
WIND_HOST_TYPE = x86-win32
|
||||
OSITHREAD_USE_DEFAULT_STACK = NO
|
||||
|
||||
@@ -11,10 +11,11 @@
|
||||
include $(CONFIG)/os/CONFIG.UnixCommon.Common
|
||||
|
||||
CP = $(PERL) -MExtUtils::Command -e cp
|
||||
MV = $(PERL) -MExtUtils::Command -e mv
|
||||
MV = $(PERL) -MExtUtils::Command -e mv
|
||||
RM = $(PERL) -MExtUtils::Command -e rm_f
|
||||
MKDIR = $(PERL) -MExtUtils::Command -e mkpath
|
||||
RMDIR = $(PERL) -MExtUtils::Command -e rm_rf
|
||||
COMMENT = $(PERL) -e ''
|
||||
|
||||
WIND_HOST_TYPE = x86-win32
|
||||
OSITHREAD_USE_DEFAULT_STACK = NO
|
||||
|
||||
@@ -26,7 +26,4 @@ LOADABLE_SHRLIB_LDFLAGS = -shared -Wl,--out-implib,$(LIB_PREFIX)$*$(LIB_SUFFIX)
|
||||
# Override linking with gcc library from CONFIG.gnuCommon
|
||||
GNU_LDLIBS_YES =
|
||||
|
||||
OPT_CFLAGS_NO = -O3 -g
|
||||
OPT_CXXFLAGS_NO = -O3 -g
|
||||
|
||||
OP_SYS_LDLIBS = -lws2_32
|
||||
|
||||
@@ -7,8 +7,10 @@
|
||||
# Sites may override these definitions in CONFIG_SITE.win32-x86-mingw.win32-x86-mingw-debug
|
||||
#-------------------------------------------------------
|
||||
|
||||
include $(CONFIG)/os/CONFIG.Common.win32-x86-mingw
|
||||
include $(CONFIG)/os/CONFIG.win32-x86-mingw.win32-x86-mingw
|
||||
-include $(CONFIG)/os/CONFIG.Common.win32-x86-mingw
|
||||
-include $(CONFIG)/os/CONFIG.win32-x86-mingw.win32-x86-mingw
|
||||
-include $(CONFIG)/os/CONFIG_SITE.Common.win32-x86-mingw
|
||||
-include $(CONFIG)/os/CONFIG_SITE.win32-x86-mingw.win32-x86-mingw
|
||||
|
||||
BUILD_CLASS = HOST
|
||||
|
||||
|
||||
@@ -8,10 +8,11 @@
|
||||
#-------------------------------------------------------
|
||||
|
||||
CP = $(PERL) -MExtUtils::Command -e cp
|
||||
MV = $(PERL) -MExtUtils::Command -e mv
|
||||
MV = $(PERL) -MExtUtils::Command -e mv
|
||||
RM = $(PERL) -MExtUtils::Command -e rm_f
|
||||
MKDIR = $(PERL) -MExtUtils::Command -e mkpath
|
||||
RMDIR = $(PERL) -MExtUtils::Command -e rm_rf
|
||||
COMMENT = $(PERL) -e ''
|
||||
|
||||
WIND_HOST_TYPE = x86-win32
|
||||
OSITHREAD_USE_DEFAULT_STACK = NO
|
||||
|
||||
@@ -31,7 +31,9 @@ BAFCMD = bscmake /nologo /o $@
|
||||
# Configure OS vendor C compiler
|
||||
CC = cl
|
||||
|
||||
# Override CONFIG.gnuCommon for cross builds.
|
||||
GNU = NO
|
||||
HDEPENDS_METHOD = CMD
|
||||
|
||||
#
|
||||
# /W<N> use warning level N
|
||||
@@ -187,7 +189,7 @@ OP_SYS_CXXFLAGS = $(COMPILER_CXXFLAGS)
|
||||
# '-entry:_DllMainCRTStartup$(DLLENTRY)'
|
||||
DLLENTRY = @12
|
||||
|
||||
WIN32_DLLFLAGS = /subsystem:windows /dll $(OPT_LDFLAGS) $(TARGET_LDFLAGS) $(LIB_LDFLAGS)
|
||||
WIN32_DLLFLAGS = /subsystem:windows /dll $(OPT_LDFLAGS) $(USR_LDFLAGS) $(TARGET_LDFLAGS) $(LIB_LDFLAGS)
|
||||
|
||||
#
|
||||
# specify dll .def file only if it exists
|
||||
|
||||
@@ -7,10 +7,14 @@
|
||||
# Sites may override these definitions in CONFIG_SITE.win32-x86.win32-x86-debug
|
||||
#-------------------------------------------------------
|
||||
|
||||
include $(CONFIG)/os/CONFIG.win32-x86-debug.win32-x86-debug
|
||||
-include $(CONFIG)/os/CONFIG.Common.win32-x86
|
||||
-include $(CONFIG)/os/CONFIG.win32-x86.win32-x86
|
||||
-include $(CONFIG)/os/CONFIG_SITE.Common.win32-x86
|
||||
-include $(CONFIG)/os/CONFIG_SITE.win32-x86.win32-x86
|
||||
|
||||
GNU = NO
|
||||
|
||||
HDEPENDS_METHOD = CMD
|
||||
BUILD_CLASS = HOST
|
||||
|
||||
HOST_OPT = NO
|
||||
|
||||
12
configure/os/CONFIG.windows-x64-debug.Common
Normal file
12
configure/os/CONFIG.windows-x64-debug.Common
Normal file
@@ -0,0 +1,12 @@
|
||||
# CONFIG.windows-x64-debug.Common
|
||||
#
|
||||
# $Revision-Id$
|
||||
# This file is maintained by the build community.
|
||||
#
|
||||
# Definitions for windows-x64 debug with debug compiler flags
|
||||
# Sites may override these definitions in CONFIG_SITE.windows-x64-debug.Common
|
||||
#-------------------------------------------------------
|
||||
|
||||
#Include definitions common to windows-x64 hosts
|
||||
include $(CONFIG)/os/CONFIG.windows-x64.Common
|
||||
|
||||
12
configure/os/CONFIG.windows-x64-debug.windows-x64-debug
Normal file
12
configure/os/CONFIG.windows-x64-debug.windows-x64-debug
Normal file
@@ -0,0 +1,12 @@
|
||||
# CONFIG.windows-x64-debug.windows-x64-debug
|
||||
#
|
||||
# $Revision-Id$
|
||||
# This file is maintained by the build community.
|
||||
#
|
||||
# Definitions for windows-x64 debug compiler host - windows-x64 debug compiler target builds
|
||||
# Sites may override these definitions in CONFIG_SITE.windows-x64-debug.windows-x64-debug
|
||||
#-------------------------------------------------------
|
||||
|
||||
include $(CONFIG)/os/CONFIG.windows-x64.windows-x64
|
||||
|
||||
HOST_OPT=NO
|
||||
@@ -9,5 +9,5 @@
|
||||
|
||||
-include $(CONFIG)/os/CONFIG.win32-x86.Common
|
||||
|
||||
WIND_HOST_TYPE = x64-win
|
||||
WIND_HOST_TYPE = x86-win32
|
||||
|
||||
|
||||
@@ -13,7 +13,6 @@ ARCH_solarisGnu = solaris-sparc-gnu
|
||||
ARCH_Linux = linux-x86
|
||||
ARCH_Darwin = darwin-ppc
|
||||
ARCH_WIN32 = win32-x86
|
||||
ARCH_alpha = osf-alpha
|
||||
ARCH_cygwin32 = cygwin-x86
|
||||
ARCH_Borland = win32-x86-borland
|
||||
ARCH_freebsd = freebsd-x86
|
||||
|
||||
@@ -11,4 +11,5 @@
|
||||
# ppc64 - Not tested
|
||||
|
||||
ARCH_CLASS = ppc
|
||||
#ARCH_CLASS = ppc64
|
||||
#ARCH_CLASS = ppc ppc64
|
||||
|
||||
@@ -10,9 +10,14 @@
|
||||
# ppc
|
||||
# i386
|
||||
# ppc64 - Not tested
|
||||
# x86_64 - Needs MacOS 10.5 or 10.4 with Universal SDK
|
||||
# x86_64 - Needs MacOS 10.4 with Universal SDK, or 10.5 or later.
|
||||
|
||||
ARCH_CLASS = ppc i386
|
||||
#ARCH_CLASS = ppc x86_64
|
||||
#ARCH_CLASS = ppc i386 x86_64
|
||||
#ARCH_CLASS = ppc64 i386
|
||||
#ARCH_CLASS = ppc64 x86_64
|
||||
#ARCH_CLASS = ppc64 i386 x86_64
|
||||
#ARCH_CLASS = ppc ppc64 i386
|
||||
#ARCH_CLASS = ppc ppc64 x86_64
|
||||
#ARCH_CLASS = ppc ppc64 i386 x86_64
|
||||
|
||||
@@ -6,9 +6,18 @@
|
||||
# Site override definitions for darwin-x86 target builds
|
||||
#-------------------------------------------------------
|
||||
|
||||
# Select which CPU architectures to include in your universal binaries:
|
||||
# Select which CPU architecture(s) to include in your MacOS binaries:
|
||||
# i386
|
||||
# x86_64 - Needs MacOS 10.5 or 10.4 with Universal SDK
|
||||
# x86_64 - Needs MacOS 10.4 with the Universal SDK, or 10.5 and later
|
||||
|
||||
ARCH_CLASS = i386
|
||||
#ARCH_CLASS = x86_64
|
||||
#ARCH_CLASS = i386 x86_64
|
||||
|
||||
#
|
||||
# Uncomment the followings lines to build with CLANG instead of GCC.
|
||||
#
|
||||
#CC = clang
|
||||
#CCC = clang++
|
||||
#GNU_LDLIBS_YES =
|
||||
|
||||
|
||||
@@ -9,7 +9,8 @@
|
||||
# iOS Version number
|
||||
|
||||
#IOS_VERSION = 3.2
|
||||
IOS_VERSION = 4.1
|
||||
#IOS_VERSION = 4.1
|
||||
IOS_VERSION = 4.3
|
||||
|
||||
|
||||
# Most sites will want shared libraries
|
||||
|
||||
@@ -1,5 +1,7 @@
|
||||
# CONFIG_SITE.Common.linux-cris
|
||||
#
|
||||
# $Revision-Id$
|
||||
#
|
||||
# Site Specific definitions for linux-cris target
|
||||
# Only the local epics system manager should modify this file
|
||||
|
||||
@@ -15,9 +17,21 @@
|
||||
# c) Add the runtime path to /etc/ld.so.conf and run ldconfig
|
||||
# to inform the system of the shared library location.
|
||||
|
||||
# If readline is not installed comment the following line
|
||||
# to omit command-line editing and history support
|
||||
# Depending on your version of Linux you may want one of the following
|
||||
# lines to enable command-line editing and history in iocsh. If you're
|
||||
# not sure which, start with the top one and work downwards until the
|
||||
# build doesn't fail to link the readline library. If none of them work,
|
||||
# comment them all out to build without readline support.
|
||||
|
||||
# No other libraries needed (recent Fedora, Ubuntu etc.):
|
||||
#COMMANDLINE_LIBRARY = READLINE
|
||||
|
||||
# Needs -lncurses (RHEL 5 etc.):
|
||||
#COMMANDLINE_LIBRARY = READLINE_NCURSES
|
||||
|
||||
# Needs -lcurses (older versions)
|
||||
#COMMANDLINE_LIBRARY = READLINE_CURSES
|
||||
|
||||
|
||||
OP_SYS_CFLAGS += -g
|
||||
|
||||
|
||||
@@ -18,12 +18,19 @@
|
||||
# to inform the system of the shared library location.
|
||||
|
||||
# Depending on your version of Linux you'll want one of the following
|
||||
# lines to enable command-line editing and history support. If you're
|
||||
# lines to enable command-line editing and history in iocsh. If you're
|
||||
# not sure which, start with the top one and work downwards until the
|
||||
# build doesn't fail to link the readline library. If none of them
|
||||
# work, comment them all out.
|
||||
#COMMANDLINE_LIBRARY = READLINE
|
||||
COMMANDLINE_LIBRARY = READLINE_NCURSES
|
||||
# build doesn't fail to link the readline library. If none of them work,
|
||||
# comment them all out to build without readline support.
|
||||
|
||||
# No other libraries needed (recent Fedora, Ubuntu etc.):
|
||||
COMMANDLINE_LIBRARY = READLINE
|
||||
|
||||
# Needs -lncurses (RHEL 5 etc.):
|
||||
#COMMANDLINE_LIBRARY = READLINE_NCURSES
|
||||
|
||||
# Needs -lcurses (older versions)
|
||||
#COMMANDLINE_LIBRARY = READLINE_CURSES
|
||||
|
||||
|
||||
OP_SYS_CFLAGS += -g
|
||||
|
||||
@@ -18,12 +18,19 @@
|
||||
# to inform the system of the shared library location.
|
||||
|
||||
# Depending on your version of Linux you'll want one of the following
|
||||
# lines to enable command-line editing and history support. If you're
|
||||
# lines to enable command-line editing and history in iocsh. If you're
|
||||
# not sure which, start with the top one and work downwards until the
|
||||
# build doesn't fail to link the readline library. If none of them
|
||||
# work, comment them all out.
|
||||
# build doesn't fail to link the readline library. If none of them work,
|
||||
# comment them all out to build without readline support.
|
||||
|
||||
# No other libraries needed (recent Fedora, Ubuntu etc.):
|
||||
COMMANDLINE_LIBRARY = READLINE
|
||||
|
||||
# Needs -lncurses (RHEL 5 etc.):
|
||||
#COMMANDLINE_LIBRARY = READLINE_NCURSES
|
||||
|
||||
# Needs -lcurses (older versions)
|
||||
#COMMANDLINE_LIBRARY = READLINE_CURSES
|
||||
|
||||
|
||||
OP_SYS_CFLAGS += -g
|
||||
|
||||
6
configure/os/CONFIG_SITE.Common.vxWorks-mpc8548
Normal file
6
configure/os/CONFIG_SITE.Common.vxWorks-mpc8548
Normal file
@@ -0,0 +1,6 @@
|
||||
# $Revision-Id$
|
||||
#
|
||||
# Site Specific definitions for the vxWorks-mpc8548 target
|
||||
#
|
||||
# Only the local epics system manager should modify this file
|
||||
#-------------------------------------------------------
|
||||
@@ -7,6 +7,5 @@
|
||||
|
||||
# jba overrides
|
||||
#CROSS_COMPILER_TARGET_ARCHS=vxWorks-486
|
||||
#VX_DIR = T:/tornado20
|
||||
|
||||
BORLAND = c:\\Borland\\Bcc55
|
||||
|
||||
17
configure/os/CONFIG_SITE.win32-x86-mingw.win32-x86-mingw
Normal file
17
configure/os/CONFIG_SITE.win32-x86-mingw.win32-x86-mingw
Normal file
@@ -0,0 +1,17 @@
|
||||
# CONFIG_SITE.win32-x86-mingw.win32-x86-mingw
|
||||
#
|
||||
# $Revision-Id$
|
||||
#
|
||||
# Site Specific definitions for win32-x86-mingw target
|
||||
# Only the local epics system manager should modify this file
|
||||
|
||||
|
||||
# Uncomment the following settings for MinGW_w32 releases
|
||||
# <MinGW directory>/bin should be in your path
|
||||
#CMPLR_PREFIX=i686-w64-mingw32-
|
||||
#CC = $(CMPLR_PREFIX)gcc
|
||||
#CCC = $(CMPLR_PREFIX)g++
|
||||
#AR = $(CMPLR_PREFIX)ar -rc
|
||||
#LD = $(CMPLR_PREFIX)ld -r
|
||||
#RANLIB = $(CMPLR_PREFIX)ranlib
|
||||
|
||||
@@ -8,5 +8,4 @@
|
||||
# jba test overrides
|
||||
#CROSS_COMPILER_TARGET_ARCHS=vxWorks-486
|
||||
#CROSS_COMPILER_TARGET_ARCHS+=vxWorks-68040
|
||||
#VX_DIR = T:/tornado20
|
||||
#INSTALL_LOCATION = G:/testInstall
|
||||
|
||||
@@ -172,7 +172,7 @@ exampleIoc_SRCS += devXxxSoft.c
|
||||
exampleIoc_LIBS += $(EPICS_BASE_IOC_LIBS)
|
||||
|
||||
PROD_IOC_vxWorks = example
|
||||
example_SRCS += sncExample.stt
|
||||
example_SRCS += sncExample.st
|
||||
example_LIBS += exampleIoc
|
||||
example_LIBS += seq pv
|
||||
example_LIBS += $(EPICS_BASE_IOC_LIBS)
|
||||
@@ -263,7 +263,7 @@ dev<i>name</i> = { ... };</q></p>
|
||||
<h3>Registration code changed</h3>
|
||||
|
||||
<p>Registration code for application specific functions, e.g. subroutine record
|
||||
init and process functions, must been changed as follows</p>
|
||||
init and process functions, must be changed as follows</p>
|
||||
|
||||
<ol>
|
||||
<li>Include the following header files after all existing #includes:
|
||||
@@ -468,4 +468,9 @@ should add the definition</p>
|
||||
|
||||
<p>to your application config/RELEASE file.</p>
|
||||
</body>
|
||||
|
||||
<h3>Optional <i>top</i>/configure/CONFIG_SITE changes.</h3>
|
||||
|
||||
<p>Review and optionally modify site build settings.</p>
|
||||
|
||||
</html>
|
||||
|
||||
@@ -1,145 +0,0 @@
|
||||
<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
|
||||
<meta name="Author" content="jba">
|
||||
<meta name="GENERATOR" content="Mozilla/4.77 [en] (X11; U; SunOS 5.8 sun4u) [Netscape]">
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<center>
|
||||
<h2>
|
||||
Converting an EPICS R3.14.0 alpha2 application to beta1</h2></center>
|
||||
|
||||
<p><br>This document describes how to convert a R3.14.0alpha2 application
|
||||
so that it builds with release R3.14.0beta1.
|
||||
<h3>
|
||||
Gnumake clean uninstall</h3>
|
||||
|
||||
<blockquote>First do a "<tt>gnumake clean uninstall"</tt> in the application's
|
||||
root directory to remove all files created by earlier builds.</blockquote>
|
||||
|
||||
<h3>
|
||||
Replace configure/RULES.ioc and configure/Makefile</h3>
|
||||
|
||||
<blockquote>The rules defined in RULES.ioc have changed slightly, and new
|
||||
applications are now given a wrapper version which just includes $(EPICS_BASE)/configure/RULES.ioc.
|
||||
The new configure/Makefile contains an additional macro that causes the
|
||||
contents of the configure/RELEASE file to be checked at build time for
|
||||
consistency with all the support applications that it references. These
|
||||
files should be replaced with copies of the new versions from <base>/templates/makeBaseApp/top/configure</blockquote>
|
||||
|
||||
<h3>
|
||||
Remove baseLIBOBJS</h3>
|
||||
|
||||
<blockquote>Record and device support from base now exists in archive libraries
|
||||
so baseLIBOBJS is no longer needed and the file and references to it in
|
||||
the Makefile can be deleted. e.g. remove
|
||||
<blockquote><tt>-include ../baseLIBOBJS</tt></blockquote>
|
||||
and the file baseLIBOBJS. If there are no LIBOBJS definitions in the Makefile,
|
||||
also remove
|
||||
<blockquote><tt>example_OBJS += $(LIBOBJS)</tt></blockquote>
|
||||
</blockquote>
|
||||
|
||||
<h3>
|
||||
Libraries recIoc, softDevIoc, and testDevIoc</h3>
|
||||
|
||||
<blockquote>Add the new record and dev support libraries to <name>App/src/Makefile,
|
||||
i.e. add the lines
|
||||
<blockquote><tt>example_LIBS += recIoc</tt>
|
||||
<br><tt>example_LIBS += softDevIoc</tt>
|
||||
<br><tt>example_LIBS += testDevIoc</tt></blockquote>
|
||||
and remove any references to iocLibrary, e.g. remove the line
|
||||
<blockquote><tt>example_OBJS_vxWorks += $(EPICS_BASE_BIN)/iocCoreLibrary</tt></blockquote>
|
||||
The order of references to base libraries is important so place recIoc
|
||||
and softDevIoc before the the other base library references.
|
||||
<p>If you are building on a WIN32 host add the following lines instead:
|
||||
<blockquote><tt># Use win32 object libs for registered support</tt>
|
||||
<br><tt>example_LIBS_win32 += recIocObj</tt>
|
||||
<br><tt>example_LIBS_win32 += softDevIocObj</tt>
|
||||
<br><tt>example_LIBS_win32 += testDevIocObj</tt>
|
||||
<br><tt>example_LIBS_DEFAULT += recIoc</tt>
|
||||
<br><tt>example_LIBS_DEFAULT += softDevIoc</tt>
|
||||
<br><tt>example_LIBS_DEFAULT += testDevIoc</tt></blockquote>
|
||||
</blockquote>
|
||||
|
||||
<h3>
|
||||
iocrf renamed to iocsh</h3>
|
||||
|
||||
<blockquote>Change all references to ioccrf in your application src directories
|
||||
to iocsh e.g.
|
||||
<p>change <tt>#include "ioccrf.h"</tt>
|
||||
<br>to <tt>#include "iocsh.h"</tt>
|
||||
<p>change<tt> ioccrf(argv[1]);</tt>
|
||||
<br>to <tt> iocsh(argv[1]);</tt>
|
||||
<p>and change <tt> ioccrf(NULL);</tt>
|
||||
<br>to <tt>iocsh(NULL)</tt>;
|
||||
<p>in <name>App/src/exampleMain.c.</blockquote>
|
||||
|
||||
<h3>
|
||||
PROD changes</h3>
|
||||
|
||||
<blockquote>PROD targets will now be built for all target architectures.
|
||||
If a product should be built only for host architectures change PROD to
|
||||
PROD_HOST .e.g. in your application src Makefiles
|
||||
<blockquote>change <tt>PROD += caExample</tt>
|
||||
<br>to <tt>PROD_HOST += caExample</tt>
|
||||
<br>and
|
||||
<br>change <tt>PROD = sncExample</tt>
|
||||
<br>to <tt>PROD_HOST += sncExample</tt></blockquote>
|
||||
</blockquote>
|
||||
<b>LIBRARY and PROD changes</b>
|
||||
<blockquote>The meaning of LIBRARY and PROD have now changed. For vxWorks,
|
||||
LIBRARY now means an archive library, OBJLIB is now a combined object file
|
||||
(only needed for R3.13 compatibility) and PROD is now a combined object
|
||||
file with library references resolved and will have a corresponding .munch
|
||||
file created. Thus, in your application src Makefiles,
|
||||
<blockquote>change <tt>LIBRARY_vxWorks = <name></tt>
|
||||
<br>to <tt>PROD_vxWorks = <name></tt>
|
||||
<br>or
|
||||
<br>remove the lines <tt>LIBRARY_vxWorks = <name></tt>
|
||||
<br>and <tt>PROD_RTEMS = <name></tt>
|
||||
<br>and change <tt>PROD = <name></tt>
|
||||
<br>to <tt>PROD_IOC = <name></tt>.</blockquote>
|
||||
In the iocBoot/ioc<name>/st.cmd files,
|
||||
<blockquote>change <tt>ld < <name>Library.munch</tt>
|
||||
<br>to <tt>ld < <name>.munch</tt></blockquote>
|
||||
A SRCS definition is now required for every PROD and LIBRARY source
|
||||
file to determine correct header file dependancies. This is true even if
|
||||
there is only one source file for the PROD or LIBRARY . Thus, for the PROD
|
||||
caExample in your src Makefile, add the line
|
||||
<blockquote> caExample_SRCS += caExample.c</blockquote>
|
||||
</blockquote>
|
||||
|
||||
<h3>
|
||||
registerRecordDeviceDriver changes</h3>
|
||||
|
||||
<blockquote>The created file registerRecordDeviceDriver.cpp is now used
|
||||
for all target architectures. Thus in your application src Makefiles
|
||||
<blockquote>change <tt>example_SRCS_DEFAULT += example_registerRecordDeviceDriver.cpp</tt>
|
||||
<br>to <tt>example_SRCS += example_registerRecordDeviceDriver.cpp</tt>
|
||||
<br><tt></tt> </blockquote>
|
||||
</blockquote>
|
||||
|
||||
<h3>
|
||||
RTEMS-specific pathname changes</h3>
|
||||
|
||||
<blockquote>1. The RTEMS TFTP remote filesystem no longer ignores leading
|
||||
`../' components in path names. All st.cmd file lines with path names
|
||||
of the form <tt>dbLoadRecords("../../db/dbExample1.db","user=norume")</tt>
|
||||
<br>must be changed to
|
||||
<br><tt>dbLoadRecords("db/dbExample1.db","user=norume")</tt><tt></tt>
|
||||
<p>The makeBaseApp.pl script distributed with R3.14-beta1 creates st.cmd
|
||||
scripts with the proper path names.
|
||||
<p>2. The RTEMS TFTP remote filesystem supports a limited set of chdir
|
||||
operations.
|
||||
<br>All paths passed to chdir (or to the IOC shell `cd' command) must end
|
||||
in a `/'
|
||||
<br>character.</blockquote>
|
||||
|
||||
<blockquote>
|
||||
<blockquote> </blockquote>
|
||||
</blockquote>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
@@ -1,30 +0,0 @@
|
||||
<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
|
||||
<meta name="Author" content="jba">
|
||||
<meta name="GENERATOR" content="Mozilla/4.77 [en] (X11; U; SunOS 5.8 sun4u) [Netscape]">
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<center>
|
||||
<h2> Converting an EPICS R3.14.0 beta1 application to beta2</h2></center>
|
||||
|
||||
<p><br>This document describes how to convert a R3.14.0beta1 application
|
||||
so that it builds with release R3.14.0beta2.
|
||||
|
||||
<h3>Update Unix LD_LIBRARY_PATH</h3>
|
||||
|
||||
If you build EPICS base shared libraries instead of archive
|
||||
libraries on Unix systems you will need to update your
|
||||
LD_LIBRARY_PATH environment variable to include fullpathname
|
||||
to the NEW base $(INSTALL_LOCATION)/lib/$(EPICS_HOST_ARCH).
|
||||
|
||||
<h3>Update Win32 PATH</h3>
|
||||
|
||||
On WIN32 systems, building shared libraries is the default
|
||||
setting so, unless SHARED_LIBRARIES was changed to NO, you will
|
||||
need to update your path to include fullpathname to the NEW
|
||||
base $(INSTALL_LOCATION)/bin/$(EPICS_HOST_ARCH).
|
||||
|
||||
</html>
|
||||
@@ -1,15 +0,0 @@
|
||||
<!DOCTYPE doctype PUBLIC "-//w3c//dtd html 4.0 transitional//en"><html><head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
|
||||
<meta name="Author" content="jba">
|
||||
<meta name="GENERATOR" content="Mozilla/4.77 [en] (X11; U; SunOS 5.8 sun4u) [Netscape]"></head>
|
||||
|
||||
<body>
|
||||
|
||||
<center>
|
||||
<h2> Converting an EPICS R3.14.0 beta2 application to R3.14.1</h2></center>
|
||||
|
||||
<p><br>This document describes how to convert a R3.14.0beta2 application
|
||||
so that it builds with release R3.14.1.
|
||||
|
||||
</p><h3>No changes required.</h3>
|
||||
|
||||
@@ -1,243 +0,0 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
|
||||
"http://www.w3.org/TR/html4/loose.dtd">
|
||||
<html>
|
||||
<head>
|
||||
<title></title>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
|
||||
<meta name="Author" content="jba">
|
||||
</head>
|
||||
|
||||
<body>
|
||||
|
||||
<center>
|
||||
<h2>Converting an EPICS R3.14.1 application to R3.14.2</h2>
|
||||
</center>
|
||||
|
||||
<p>This document describes how to convert a R3.14.1 application so that it
|
||||
builds with release R3.14.2.</p>
|
||||
|
||||
<p><span style="font-weight: bold">MAJOR CHANGE since 3.14.1</span></p>
|
||||
|
||||
<p>The base supplied record and device support are now build as regular
|
||||
libraries rather than as just object files. This allows simplified build
|
||||
ruiles. The changes do require changes to:</p>
|
||||
<ul>
|
||||
<li>any record, device, or driver support you provide.</li>
|
||||
<li>changes to any subroutines for subRecord.</li>
|
||||
<li>replace any DBD <span style="font-family: courier">function</span>
|
||||
statements with <span style="font-family: courier">register</span>
|
||||
statements</li>
|
||||
</ul>
|
||||
|
||||
<p>Please read the new chapter "Getting Started" of the Application
|
||||
Developer's Guide for more information about building support and ioc
|
||||
applications.</p>
|
||||
|
||||
<h3>Gnumake clean uninstall</h3>
|
||||
|
||||
<blockquote>
|
||||
First do a "<tt>gnumake clean uninstall"</tt> in the application's root
|
||||
directory to remove all files created by earlier builds.</blockquote>
|
||||
|
||||
<h3>INSTALL_LOCATION_APP</h3>
|
||||
|
||||
<blockquote>
|
||||
If your application is NOT being installed into $(TOP), move your
|
||||
INSTALL_LOCATION_APP definition to the configure/RELEASE file.</blockquote>
|
||||
|
||||
<h3>Building db files from templates changed</h3>
|
||||
|
||||
<blockquote>
|
||||
Now if the template needed to build <name>.db is not named
|
||||
<name>*.template add the line
|
||||
|
||||
<blockquote>
|
||||
<pre> <name>_template = <templatename></pre>
|
||||
</blockquote>
|
||||
to the *Db/Makefile.
|
||||
|
||||
<p>Remove any</p>
|
||||
|
||||
<blockquote>
|
||||
<pre>USES_TEMPLATE =</pre>
|
||||
</blockquote>
|
||||
definitions from your <name>App/*Db/Makefile files; these definitions
|
||||
are no longer used.</blockquote>
|
||||
|
||||
<h3>File base.dbd no longer needed</h3>
|
||||
|
||||
<blockquote>
|
||||
You now can add the line include "base.dbd" to your
|
||||
<appname>Include.dbd file and remove the file
|
||||
<name>App/src/base.dbd from your src directory. The base.dbd from
|
||||
R3.14.2 base/dbd will be included. However, if you only want a subset of
|
||||
record definitions from base you should keep your base.dbd
|
||||
file.</blockquote>
|
||||
|
||||
<h3>Record support</h3>
|
||||
|
||||
<blockquote>
|
||||
Add the following line after all existing #includes
|
||||
|
||||
<blockquote>
|
||||
<pre>#include "epicsExport.h"</pre>
|
||||
</blockquote>
|
||||
The structure rset is now a typedef so change
|
||||
|
||||
<blockquote>
|
||||
<pre>struct rset <recordname>RSET={ ...</pre>
|
||||
</blockquote>
|
||||
to
|
||||
|
||||
<blockquote>
|
||||
<pre>rset <recordname>RSET={ ...</pre>
|
||||
</blockquote>
|
||||
and add the following line after the "rset <recordname>RSET="
|
||||
definition.
|
||||
|
||||
<blockquote>
|
||||
<pre>epicsExportAddress(rset,xxxRSET);</pre>
|
||||
</blockquote>
|
||||
</blockquote>
|
||||
|
||||
<h3>Device support</h3>
|
||||
|
||||
<blockquote>
|
||||
Add the following line after all existing #includes
|
||||
|
||||
<blockquote>
|
||||
<pre>#include "epicsExport.h"</pre>
|
||||
</blockquote>
|
||||
and add the following line after the dset dev<devname> definition
|
||||
|
||||
<blockquote>
|
||||
<pre>epicsExportAddress(dset,dev<devname>);</pre>
|
||||
</blockquote>
|
||||
</blockquote>
|
||||
|
||||
<h3>Driver support</h3>
|
||||
|
||||
<blockquote>
|
||||
Add the following line after all existing #includes
|
||||
|
||||
<blockquote>
|
||||
<pre>#include "epicsExport.h"</pre>
|
||||
</blockquote>
|
||||
and add the following line after the drvet dev<devname> definition
|
||||
|
||||
<blockquote>
|
||||
<pre>epicsExportAddress(drvet,drv<devname>);</pre>
|
||||
</blockquote>
|
||||
</blockquote>
|
||||
|
||||
<h3>Registration code changed</h3>
|
||||
|
||||
<blockquote>
|
||||
Registration code for application specific functions, e.g. subroutine
|
||||
record init and process functions, has been changed as follows
|
||||
|
||||
<p>1) Include the registration support header files:</p>
|
||||
|
||||
<blockquote>
|
||||
<pre>#include "dbDefs.h"
|
||||
#include "registryFunction.h"</pre>
|
||||
</blockquote>
|
||||
2) Include the export definitions header file after including all other
|
||||
header files:
|
||||
|
||||
<blockquote>
|
||||
<pre>#include "epicsExport.h"</pre>
|
||||
</blockquote>
|
||||
3) Make the application specific functions static functions, e.g.
|
||||
|
||||
<blockquote>
|
||||
<pre>static long mySubInit(subRecord *precord,processMethod process)
|
||||
static long mySubProcess(subRecord *precord)</pre>
|
||||
</blockquote>
|
||||
4) Define a registryFunctionRef array of the application specific functions
|
||||
to be registered, e.g.
|
||||
|
||||
<blockquote>
|
||||
<pre>static registryFunctionRef mySubRef[] = {
|
||||
{"mySubInit",(REGISTRYFUNCTION)mySubInit},
|
||||
{"mySubProcess",(REGISTRYFUNCTION)mySubProcess}
|
||||
};</pre>
|
||||
</blockquote>
|
||||
5) Add a new function to do the registration of the registryFunctionRef
|
||||
array elements, e.g.
|
||||
|
||||
<blockquote>
|
||||
<pre>void mySub(void)
|
||||
{
|
||||
registryFunctionRefAdd(mySubRef,NELEMENTS(mySubRef));
|
||||
}</pre>
|
||||
</blockquote>
|
||||
6) Call the epicsExportRegistrar with the new registration function: e.g.
|
||||
|
||||
<blockquote>
|
||||
<pre>epicsExportRegistrar(mySub);</pre>
|
||||
</blockquote>
|
||||
7) Remove the existing function lines in <appname>Include.dbd: e.g.
|
||||
remove
|
||||
|
||||
<blockquote>
|
||||
<pre>function("mySubInit")
|
||||
function("mySubProcess")</pre>
|
||||
</blockquote>
|
||||
8) Add a registrar statement to <name>Include.dbd with the new
|
||||
registration function as parameter: e.g. add
|
||||
|
||||
<blockquote>
|
||||
<pre>registrar("mySub")</pre>
|
||||
</blockquote>
|
||||
</blockquote>
|
||||
|
||||
<h3><name>App/src/Makefile changed and simplified</h3>
|
||||
|
||||
<blockquote>
|
||||
1) Libraries from support modules defined in configure/RELEASE no longer
|
||||
need the <libname>_DIR definitions. You can remove lines like the
|
||||
following from your src/Makefile
|
||||
|
||||
<blockquote>
|
||||
<pre>ca_DIR = $(EPICS_BASE_LIB)
|
||||
Com_DIR = $(EPICS_BASE_LIB)</pre>
|
||||
</blockquote>
|
||||
2) Libraries from EPICS_BASE do not have to be specified individually. For
|
||||
HOST products and libraries specify the following
|
||||
|
||||
<blockquote>
|
||||
<pre><myhostprodorlib>_LIBS += $(EPICS_BASE_HOST_LIBS)</pre>
|
||||
</blockquote>
|
||||
For IOC products and libraries specify the following
|
||||
|
||||
<blockquote>
|
||||
<pre><myiocprodorlib>_LIBS += $(EPICS_BASE_IOC_LIBS)</pre>
|
||||
</blockquote>
|
||||
3) All record, device, and driver support must now exist in shared
|
||||
libraries. You will need to create an IOC library containing your
|
||||
application specific support.
|
||||
|
||||
<blockquote>
|
||||
<pre>LIBRARY_IOC += exampleIoc
|
||||
|
||||
exampleIoc_SRCS += xxxRecord.c
|
||||
exampleIoc_SRCS += devXxxSoft.c
|
||||
exampleIoc_SRCS += dbSubExample.c
|
||||
exampleIoc_LIBS += $(EPICS_BASE_IOC_LIBS)</pre>
|
||||
</blockquote>
|
||||
4) Add your new record, device, and driver support library to your ioc
|
||||
product's libraries: e.g.
|
||||
<pre>
|
||||
<blockquote>
|
||||
|
||||
PROD_IOC = example
|
||||
|
||||
example_LIBS += exampleIoc
|
||||
example_LIBS += $(EPICS_BASE_IOC_LIBS)</blockquote>
|
||||
|
||||
|
||||
</pre>
|
||||
</blockquote>
|
||||
</body>
|
||||
</html>
|
||||
@@ -1,37 +0,0 @@
|
||||
<!DOCTYPE doctype PUBLIC "-//w3c//dtd html 4.0 transitional//en"><html><head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
|
||||
<meta name="Author" content="jba">
|
||||
<meta name="GENERATOR" content="Mozilla/4.77 [en] (X11; U; SunOS 5.8 sun4u) [Netscape]"></head>
|
||||
|
||||
<body>
|
||||
|
||||
<center>
|
||||
<h2>Converting an EPICS R3.14.2 application to R3.14.3</h2></center>
|
||||
|
||||
<p>This document describes how to convert a R3.14.2 application
|
||||
so that it builds and runs properly with release R3.14.3.</p>
|
||||
|
||||
<h3>registerRecordDeviceDriver Name Change</h3>
|
||||
|
||||
<p>All application iocBoot/iocxxx/st.cmd files must be modified for R3.14.3 as
|
||||
the generated routine that registers record device and driver support has been
|
||||
renamed to incorporate the name of the dbd file it came from. The change to
|
||||
the startup script is straightforward; any pair of lines like this:</p>
|
||||
|
||||
<blockquote>
|
||||
<pre>dbLoadDatabase("dbd/<i>something</i>.dbd",0,0)
|
||||
registerRecordDeviceDriver(pdbbase)</pre>
|
||||
</blockquote>
|
||||
|
||||
<p>must have the second line changed so the result looks like this:</p>
|
||||
|
||||
<blockquote>
|
||||
<pre>dbLoadDatabase("dbd/<i>something</i>.dbd",0,0)
|
||||
<i>something</i>_registerRecordDeviceDriver(pdbbase)</pre>
|
||||
</blockquote>
|
||||
|
||||
<p>There may be other pathname components in the dbLoadDatabase line which
|
||||
should remain exactly as before.</p>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
@@ -1,17 +0,0 @@
|
||||
<!DOCTYPE doctype PUBLIC "-//w3c//dtd html 4.0 transitional//en"><html><head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
|
||||
<meta name="Author" content="jba">
|
||||
<meta name="GENERATOR" content="Mozilla/4.77 [en] (X11; U; SunOS 5.8 sun4u) [Netscape]"></head>
|
||||
|
||||
<body>
|
||||
|
||||
<center>
|
||||
<h2>Converting an EPICS R3.14.3 application to R3.14.4</h2></center>
|
||||
|
||||
<p>This document describes how to convert a R3.14.3 application
|
||||
so that it builds and runs properly with release R3.14.4.</p>
|
||||
|
||||
</p><h3>No changes required.</h3>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
@@ -1,17 +0,0 @@
|
||||
<!DOCTYPE doctype PUBLIC "-//w3c//dtd html 4.0 transitional//en"><html><head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
|
||||
<meta name="Author" content="jba">
|
||||
<meta name="GENERATOR" content="Mozilla/4.77 [en] (X11; U; SunOS 5.8 sun4u) [Netscape]"></head>
|
||||
|
||||
<body>
|
||||
|
||||
<center>
|
||||
<h2>Converting an EPICS R3.14.4 application to R3.14.5</h2></center>
|
||||
|
||||
<p>This document describes how to convert a R3.14.4 application
|
||||
so that it builds and runs properly with release R3.14.5.</p>
|
||||
|
||||
</p><h3>No changes required.</h3>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
@@ -1,165 +0,0 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
|
||||
"http://www.w3.org/TR/html4/loose.dtd">
|
||||
<html>
|
||||
<head>
|
||||
<title></title>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
|
||||
<meta name="Author" content="jba">
|
||||
</head>
|
||||
|
||||
<body>
|
||||
|
||||
<center>
|
||||
<h2>Converting an EPICS R3.14.5 application to R3.14.6</h2>
|
||||
</center>
|
||||
|
||||
<p>This document describes how to convert a R3.14.5 application so that it
|
||||
builds with release R3.14.6.</p>
|
||||
|
||||
|
||||
<h3>Modify the Makefiles in <top>/iocBoot directory.</h3>
|
||||
|
||||
<p>Change " i<tt>nclude $(TOP)/config/CONFIG_APP" </tt>to "<tt>include
|
||||
$(TOP)/configure/CONFIG"</tt></p>
|
||||
|
||||
<p>If they do not already exist, add the lines
|
||||
<blockquote>
|
||||
<p><tt>DIRS += $(wildcard *ioc*)</tt></p>
|
||||
<p><tt>DIRS += $(wildcard as*)</tt></p>
|
||||
</blockquote>
|
||||
|
||||
<p>Change <tt>"include $(TOP)/config/RULES.iocBoot" </tt>to "i<tt>nclude
|
||||
$(TOP)/configure/RULES_DIRS"</tt></p>
|
||||
|
||||
<h3>Modify the Makefiles in <top>/iocBoot/ioc* directories.</h3>
|
||||
|
||||
<p>Change <tt>"include $(TOP)/config/CONFIG_APP" </tt>to "<tt>include
|
||||
$(TOP)/configure/CONFIG"</tt></p>
|
||||
|
||||
<p>Change</p>
|
||||
|
||||
<p><tt>ARCH = <old arch specification e.g. mv167></tt></p>
|
||||
|
||||
<p>to</p>
|
||||
|
||||
<p><tt>ARCH = <new arch specification e.g.
|
||||
vxWorks-68040></tt></p>
|
||||
|
||||
<p>Change "<tt>include $(TOP)/config/RULES.ioc</tt>" to "<tt>include
|
||||
$(TOP)/configure/RULES.ioc"</tt></p>
|
||||
|
||||
<p>If it exists remove the line</p>
|
||||
|
||||
<p><tt>buildInstall: cdCommands </tt></p>
|
||||
|
||||
<p>Add the line</p>
|
||||
<p><tt>TARGETS = cdCommands</tt></p>
|
||||
<p>before the include for RULES.ioc line.</p>
|
||||
|
||||
<h3>Modify st.cmd in <top>/iocBoot/ioc* directories.</h3>
|
||||
|
||||
<p>Remove the lines</p>
|
||||
<pre>ld < seq
|
||||
ld < iocCore</pre>
|
||||
|
||||
<p>Change "<tt>ld < <libname>Lib</tt>" to "<tt>ld <
|
||||
<libname>.munch"</tt></p>
|
||||
|
||||
<p>Change "<tt>cd appbin</tt>" to "<tt>cd topbin</tt>"</p>
|
||||
|
||||
<p>Change the statement:</p>
|
||||
|
||||
<p><tt>dbLoadDatabase("../../dbd/<name>App.dbd")</tt> <br>
|
||||
</p>
|
||||
to
|
||||
<pre>dbLoadDatabase("../../dbd/<name>.dbd")
|
||||
<name>_registerRecordDeviceDriver(pdbbase)</pre>
|
||||
|
||||
<p>where <name> is replaced with the name of your dbd file.</p>
|
||||
|
||||
<h3>recGbl calls</h3>
|
||||
|
||||
<p>If any source file makes calls to recGbl routines make sure it has <span
|
||||
style="font-family: courier">"#include "recGbl.h"</span>. If it doesn't the
|
||||
compiler will issue warning messages and the ioc may issue the message:
|
||||
"undefined symbol: _recGblSetSevr".</p>
|
||||
|
||||
<h3>Record support changes</h3>
|
||||
|
||||
<p>The steppermotor, scan, and pid records are no longer in base. If these
|
||||
records are not used in your application, comment out references to them in
|
||||
base.dbd. If these record types are used at your site, they should be
|
||||
downloaded and built with base R3.14 by your EPICS administrator. To update
|
||||
the R3.14 location of these record types in your application you must add
|
||||
appropriate module definitions to your application's config/RELEASE file and
|
||||
add <tt>LIBOBJS</tt> definitions to the src Makefile.</p>
|
||||
|
||||
<p>For example add</p>
|
||||
|
||||
<pre> PID=<full path to modules directory>/pid
|
||||
</pre>
|
||||
|
||||
<p>to config/RELEASE and add <br>
|
||||
|
||||
<pre> LIBOBJS += $(PID_BIN)/pidRecord.o
|
||||
</pre>
|
||||
to your application src/Makefile.
|
||||
|
||||
<p>You should consider changing any existing old steppermotor records to the
|
||||
new EPICS motor record module supported by Beamline Controls and Data
|
||||
Acquisition at APS.</p>
|
||||
|
||||
<h3>RecDynLink.o and devPtSoft changes</h3>
|
||||
|
||||
<p>recDynLink.o and devPtSoft.o are no longer in EPICS base and now exist as
|
||||
separate EPICS modules.You must now add the appropriate module full path
|
||||
definitions to your application config/RELEASE file, and change
|
||||
<tt>LIBOBJS</tt> location definition <tt>$(EPICS_BASE_BIN)</tt> to the module
|
||||
definition bin directory in your application src directory files. See
|
||||
"Hardware support changes" below for instructions.</p>
|
||||
|
||||
<h3>Hardware support changes</h3>
|
||||
|
||||
<p>All hardware support (dev, drv and dbd files) except soft support has been
|
||||
unbundled from base R3.14. This support includes the files symb.dbd,
|
||||
drvHp1404a.o, drvEpvxiMsg.o, and drvEpvxi.o. If these are not used by your
|
||||
application, comment out references to them in base.dbd.</p>
|
||||
|
||||
<p>Hardware support now exists as separate EPICS modules. The hardware
|
||||
support for your site should be downloaded and built with base R3.14 by your
|
||||
EPICS administrator. You must now add the appropriate module full path
|
||||
definitions to your application config/RELEASE file, and change
|
||||
<tt>LIBOBJS</tt> location from <tt>$(EPICS_BASE_BIN) </tt>to the module bin
|
||||
directory in your application src directory files.</p>
|
||||
|
||||
<p>For example, remove</p>
|
||||
|
||||
<pre> LIBOBJS+=$(EPICS_BASE_BIN)/symb
|
||||
</pre>
|
||||
|
||||
<p>from baseLIBOBJS and add</p>
|
||||
|
||||
<pre> LIBOBJS+=$(SYMB_BIN)/symb
|
||||
</pre>
|
||||
|
||||
<p>to your application src/Makefile, <br>
|
||||
and add the line</p>
|
||||
|
||||
<pre> SYMB=<full path definition for the built module SYMB>
|
||||
</pre>
|
||||
|
||||
<p>into your application config/RELEASE file .</p>
|
||||
|
||||
<h3>dbLoadtemplate tool changes</h3>
|
||||
|
||||
<p>The host tool dbLoadTemplate has been replace by a new EPICS extension,
|
||||
msi, which should be downloaded and built with base R3.14 by your EPICS
|
||||
administrator. dbLoadTemplate is still supported on iocs. If, in your
|
||||
application, db files are created from template and substitution files you
|
||||
should add the definition</p>
|
||||
|
||||
<p><tt>MSI=<full path name to msi executable></tt></p>
|
||||
|
||||
<p>to your application config/RELEASE file.</p>
|
||||
</body>
|
||||
</html>
|
||||
@@ -1,45 +0,0 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
|
||||
"http://www.w3.org/TR/html4/loose.dtd">
|
||||
<html>
|
||||
<head>
|
||||
<title></title>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
|
||||
<meta name="Author" content="jba">
|
||||
</head>
|
||||
|
||||
<body>
|
||||
|
||||
<center>
|
||||
<h2>Converting an EPICS R3.14.6 application to R3.14.7</h2>
|
||||
</center>
|
||||
|
||||
<p>This document describes how to convert a R3.14.6 application so that it
|
||||
builds with release R3.14.7.</p>
|
||||
|
||||
|
||||
<h3>State Notation Compiler flags</h3>
|
||||
|
||||
<blockquote>
|
||||
To make the run-time code reentrant, thus allowing more than one
|
||||
instance of the state program to run on an IOC add the line
|
||||
<pre><name>_SNCFLAGS += +r"</pre> to the Makefile, replacing <name> with the
|
||||
state notation language code file name.
|
||||
</blockquote>
|
||||
|
||||
<h3>epicsExit</h3>
|
||||
<blockquote>
|
||||
Code that calls exit or atexit should change these calls to epicsExit
|
||||
and epicsAtExit. epicsAtExit was created because of problems on
|
||||
vxWorks and windows with the implementation of atexit,
|
||||
i.e. neither of these systems implements exit and atexit according to the POSIX standard.
|
||||
</blockquote>
|
||||
<blockquote>
|
||||
Add the following lines
|
||||
<blockquote>
|
||||
<pre>
|
||||
#include "epicsExit.h"
|
||||
epicsExit(0);
|
||||
</pre>
|
||||
</blockquote>
|
||||
</blockquote>
|
||||
|
||||
@@ -1,23 +0,0 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
|
||||
"http://www.w3.org/TR/html4/loose.dtd">
|
||||
<html>
|
||||
<head>
|
||||
<title></title>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
|
||||
<meta name="Author" content="jba">
|
||||
</head>
|
||||
|
||||
<body>
|
||||
|
||||
<center>
|
||||
<h2>Converting an EPICS R3.14.7 application to R3.14.8</h2>
|
||||
</center>
|
||||
|
||||
<p>This document describes how to convert a R3.14.7 application
|
||||
so that it builds and runs properly with release R3.14.8.</p>
|
||||
|
||||
<h3>No changes required.</h3>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
~
|
||||
@@ -4,16 +4,25 @@
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
|
||||
<title>Known Problems in R3.14.11</title>
|
||||
<title>Known Problems in R3.14.12.1</title>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<h1 style="text-align: center">EPICS Base R3.14.11: Known Problems</h1>
|
||||
<h1 style="text-align: center">EPICS Base R3.14.12.1: Known Problems</h1>
|
||||
|
||||
<p>Any patch files linked below should be applied at the root of the
|
||||
base-3.14.12.1 tree. Download them, then use the GNU Patch program as
|
||||
follows:</p>
|
||||
|
||||
<blockquote><pre>% <b>cd <i>/path/to/</i>base-3.14.12.1</b>
|
||||
% <b>patch -p0 < <i>/path/to/</i>file.patch</b></pre></blockquote>
|
||||
|
||||
<p>The following significant problems have been reported with this
|
||||
version of EPICS Base:</p>
|
||||
|
||||
<ul>
|
||||
|
||||
<li>The epicsMutexTest program sometimes runs an extra test, resulting in
|
||||
a failure report from 'make -s runtests'. This is harmless.</li>
|
||||
<li>None yet.</li>
|
||||
|
||||
</ul>
|
||||
|
||||
|
||||
@@ -1,511 +1,441 @@
|
||||
README.1st
|
||||
Installation Instructions
|
||||
Installation Instructions
|
||||
|
||||
EPICS base
|
||||
EPICS Base Release 3.14.*
|
||||
|
||||
Release 3.14.*
|
||||
--------------------------------------------------------------------------
|
||||
|
||||
Table of Contents
|
||||
Table of Contents
|
||||
|
||||
* What is EPICS base?
|
||||
* What is new in this release?
|
||||
* Copyright
|
||||
* Supported platforms
|
||||
* Supported compilers
|
||||
* Software requirements
|
||||
* Host system storage requirements
|
||||
* Documentation
|
||||
* WWW pages
|
||||
* Directory Structure
|
||||
* Build related components
|
||||
* Building EPICS base (Unix and Win32)
|
||||
* Example application and extension
|
||||
* Multiple host platforms
|
||||
* What is EPICS base?
|
||||
* What is new in this release?
|
||||
* Copyright
|
||||
* Supported platforms
|
||||
* Supported compilers
|
||||
* Software requirements
|
||||
* Host system storage requirements
|
||||
* Documentation
|
||||
* WWW pages
|
||||
* Directory Structure
|
||||
* Build related components
|
||||
* Building EPICS base (Unix and Win32)
|
||||
* Example application and extension
|
||||
* Multiple host platforms
|
||||
|
||||
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 EPICS base?
|
||||
|
||||
What is new in this release?
|
||||
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.
|
||||
|
||||
Please check the RELEASE_NOTES file in the distribution for description of
|
||||
changes and release migration details.
|
||||
What is new in this release?
|
||||
|
||||
Copyright
|
||||
Please check the RELEASE_NOTES file in the distribution for description
|
||||
of changes and release migration details.
|
||||
|
||||
Please review the COPYRIGHT* files included in the distribution for legal
|
||||
terms of usage.
|
||||
Copyright
|
||||
|
||||
Supported platforms
|
||||
Please review the LICENSE file included in the distribution for legal
|
||||
terms of usage.
|
||||
|
||||
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 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.
|
||||
Supported platforms
|
||||
|
||||
Host platforms (operating system - architecture [- alternate toolset])
|
||||
The list of platforms supported by this version of EPICS base is given
|
||||
in the configure/CONFIG_SITE file. If you are trying to build EPICS Base
|
||||
on an unlisted host or for a different target machine you must 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.
|
||||
|
||||
cygwin-x86 (unix style API, uses cygwin1.dll compatability library)
|
||||
darwin-ppc
|
||||
darwin-x86
|
||||
darwin-ppcx86
|
||||
freebsd-x86
|
||||
freebsd-x86_64
|
||||
linux-ppc
|
||||
linux-x86
|
||||
linux-x86_64
|
||||
linux-x86-borland
|
||||
solaris-sparc
|
||||
solaris-sparc-gnu
|
||||
solaris-sparc64
|
||||
solaris-sparc64-gnu
|
||||
solaris-x86
|
||||
solaris-x86-gnu
|
||||
win32-x86
|
||||
win32-x86-mingw (WIN32 API, uses MS dlls)
|
||||
win32-x86-cygwin (WIN32 API, uses MS dlls)
|
||||
Supported compilers
|
||||
|
||||
Cross compile target platforms (operating system - architecture)
|
||||
This version of EPICS base has been built and tested using the host
|
||||
vendor's C and C++ compilers, as well as the GNU gcc and g++ compilers.
|
||||
The GNU cross-compilers work for all cross-compiled targets. You may
|
||||
need the C and C++ compilers to be in your search path to do EPICS
|
||||
builds; check the definitions of CC and CCC in
|
||||
base/configure/os/CONFIG.<host>.<host> if you have problems.
|
||||
|
||||
linux-386
|
||||
linux-486
|
||||
linux-586
|
||||
linux-686
|
||||
linux-arm
|
||||
linux-arm_eb
|
||||
linux-arm_el
|
||||
linux-athlon
|
||||
linux-cris
|
||||
linux-cris_v10
|
||||
linux-cris_v32
|
||||
linux-xscale_be
|
||||
vxWorks-486
|
||||
vxWorks-68040
|
||||
vxWorks-68040lc
|
||||
vxWorks-68060
|
||||
vxWorks-pentium
|
||||
vxWorks-ppc603
|
||||
vxWorks-ppc603_long
|
||||
vxWorks-ppc604
|
||||
vxWorks-ppc604_long
|
||||
vxWorks-ppc604_altivec
|
||||
vxWorks-mpc8540
|
||||
RTEMS-at91rm9200ek
|
||||
RTEMS-beatnik
|
||||
RTEMS-gen68360
|
||||
RTEMS-mcp750
|
||||
RTEMS-mvme167
|
||||
RTEMS-mvme2100
|
||||
RTEMS-mvme3100
|
||||
RTEMS-mvme5500
|
||||
RTEMS-pc386
|
||||
RTEMS-psim
|
||||
RTEMS-uC5282
|
||||
Software requirements
|
||||
|
||||
Supported compilers
|
||||
GNU make
|
||||
You must use GNU make, gnumake, for any EPICS builds. Set your path so
|
||||
that a gnumake version 3.81 or later is available.
|
||||
|
||||
This version of EPICS base has been built and tested using 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 CC and CCC in base/configure/os/CONFIG.<host>.<host>.
|
||||
Perl
|
||||
You must have Perl version 5.8.1 or later installed. The EPICS
|
||||
configuration files do not specify the perl full pathname, so the perl
|
||||
executable must be found through your normal search path.
|
||||
|
||||
Software requirements
|
||||
Unzip and tar (Winzip on WIN32 systems)
|
||||
You must have tools available to unzip and untar the EPICS base
|
||||
distribution file.
|
||||
|
||||
GNU make
|
||||
You must use GNU make, gnumake, for any EPICS builds. Set your path so that
|
||||
a gnumake version 3.81 or later is available.
|
||||
Target systems
|
||||
EPICS supports IOCs running on embedded platforms such as VxWorks and
|
||||
RTEMS built using a cross-compiler, and also supports soft IOCs running
|
||||
as processes on the host platform.
|
||||
|
||||
gcc
|
||||
For most cases, you must have gcc version 3.4.2 or later. Appropriate
|
||||
versions of vendor C and C++ compilers may be used for native compilation.
|
||||
vxWorks
|
||||
You must have vxWorks installed if any of your target systems are
|
||||
vxWorks systems. This provides the cross-compiler and header files
|
||||
needed to build for these target systems. The absolute path to and
|
||||
version number of the vxWorks installation is normally specified in the
|
||||
base/configure/os/CONFIG_SITE.Common.vxWorksCommon file. Consult the
|
||||
EPICS web pages about [1]vxWorks 5.x and [2]vxWorks 6.x and the
|
||||
vxWorks documentation for information about configuring your vxWorks
|
||||
operating system for use with EPICS.
|
||||
|
||||
Perl
|
||||
You must have perl version 5.8.1 or later installed. The configure files do
|
||||
not specify the perl full pathname. You need the perl executable in your
|
||||
search path.
|
||||
RTEMS
|
||||
For RTEMS targets, you need RTEMS core and toolset version 4.9.2 or
|
||||
later.
|
||||
|
||||
Unzip and tar (Winzip on WIN32 systems)
|
||||
You must have tools available to unzip and untar the EPICS base distribution
|
||||
file.
|
||||
GNU readline or Tecla library
|
||||
GNU readline and Tecla librararies can be used by the IOC shell to
|
||||
provide command line editing and command line history recall and edit.
|
||||
GNU readline (or Tecla library) must be installed on your target system
|
||||
when COMMANDLINE_LIBRARY is set to READLINE (or TECLA) for that target.
|
||||
EPICS (EPICS shell) is the default specified in CONFIG_COMMON. A
|
||||
READLINE override is defined for linux-x86 in the EPICS distribution.
|
||||
Comment out COMMANDLINE_LIBRARY=READLINE in
|
||||
configure/os/CONFIG_SITE.Common.linux-x86 if readline is not installed
|
||||
on linux-x86. Command-line editing and history will then be those
|
||||
supplied by the os. On vxWorks the ledLib command-line input library is
|
||||
used instead.
|
||||
|
||||
Target systems
|
||||
EPICS supports IOCs running on embedded platforms such as VxWorks and RTEMS
|
||||
via cross-compilers. EPICS also supports ?soft? IOCs running as processes on
|
||||
the host platform.
|
||||
Host system storage requirements
|
||||
|
||||
Tornado 2
|
||||
You must have Tornado 2 installed if any of your target systems are vxWorks
|
||||
systems. Tornado 2 provides the cross-compiler and header files needed to
|
||||
build for these target systems. The full path location 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.
|
||||
The GNU zipped tar file is approximately 1.5 MB in size. The unzipped
|
||||
untarred distribution source tree is approximately 9.0 MB. The build
|
||||
created files for each host take approximately 37 MB and the build
|
||||
created files for each cross target take approximately 15 MB.
|
||||
|
||||
RTEMS
|
||||
For RTEMS targets, you need RTEMS core and toolset version 4.9.2 or later.
|
||||
Documentation
|
||||
|
||||
GNU readline or Tecla library
|
||||
GNU readline and Tecla librararies can be used by the IOC shell to provide
|
||||
command line editing and command line history recall and edit. GNU readline
|
||||
(or Tecla library) must be installed on your target system when
|
||||
COMMANDLINE_LIBRARY is set to READLINE (or TECLA) for that target. EPICS
|
||||
(EPICS shell) is the default specified in CONFIG_COMMON. A READLINE override
|
||||
is defined for linux-x86 in the EPICS distribution. Comment out
|
||||
COMMANDLINE_LIBRARY=READLINE in configure/os/CONFIG_SITE.Common.linux-x86 if
|
||||
readline is not installed on linux-x86. Command-line editing and history
|
||||
will then be those supplied by the os. On vxWorks the ledLib command-line
|
||||
input libraries are used.
|
||||
EPICS documentation is available through the [3]EPICS website at
|
||||
Argonne.
|
||||
|
||||
Host system storage requirements
|
||||
Release specific documenataion can also be found in the
|
||||
base/documentation directory of the distribution.
|
||||
|
||||
The GNU zipped tar file is approximately 1.5 MB in size. The unzipped
|
||||
untarred distribution source tree is approximately 7.4 MB. The build created
|
||||
files for each host take approximately 37 MB and the build created files for
|
||||
each cross target take approximately 15 MB.
|
||||
|
||||
Documentation
|
||||
|
||||
EPICS documentation is available on the WWW via the EPICS home page at APS:
|
||||
URL http://www.aps.anl.gov/epics by selecting IOC software/ Base R3.14/
|
||||
<release number>.
|
||||
|
||||
Release specific documentation can be found in the base/documentation
|
||||
directory of the distribution.
|
||||
|
||||
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 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
|
||||
instructions.
|
||||
|
||||
Directory Structure
|
||||
Directory Structure
|
||||
|
||||
Distribution directory structure:
|
||||
|
||||
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
|
||||
base/configure/os Operating system dependent build config files
|
||||
base/documentation Distributation documentation
|
||||
base/src All epics base source code in subdirectories
|
||||
base/src/RTEMS Code to configure RTEMS for EPICS
|
||||
base/src/as Access security
|
||||
base/src/bpt Break point table
|
||||
base/src/ca Channel access
|
||||
base/src/cap5 Channel Access client interface for Perl 5
|
||||
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 (camacDev, softDev, and testDev)
|
||||
base/src/excas Example channel access server
|
||||
base/src/gdd General data descriptor
|
||||
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/cppStd Support for C++ standard template library
|
||||
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/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/fdmgr File descriptor manager
|
||||
base/src/libCom/freeList Memory management using free lists
|
||||
base/src/libCom/gpHash General purpose hash table
|
||||
base/src/libCom/iocsh ioc shell call registered functions
|
||||
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/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/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
|
||||
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/softIoc Example softIoc
|
||||
base/src/tools Perl scripts used during the builds
|
||||
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 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
|
||||
base/configure/os 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 Code to configure RTEMS for EPICS
|
||||
base/src/as Access security
|
||||
base/src/bpt Break point table
|
||||
base/src/ca Channel access
|
||||
base/src/cap5 Channel Access client interface for Perl 5
|
||||
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 (camacDev, softDev, and testDev)
|
||||
base/src/excas Example channel access server
|
||||
base/src/gdd General data descriptor
|
||||
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/cppStd Support for C++ standard template library
|
||||
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/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/fdmgr File descriptor manager
|
||||
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 API
|
||||
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/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
|
||||
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/softIoc Example softIoc
|
||||
base/src/tools Perl scripts used during the builds
|
||||
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:
|
||||
|
||||
bin Installed scripts and executables in subdirs
|
||||
cfg Installed build configuration files
|
||||
db Installed data bases
|
||||
dbd Installed data base definitions
|
||||
doc Installed documentation files
|
||||
html Installed html documentation
|
||||
include Installed header files
|
||||
include/os Installed os specific header files in subdirs
|
||||
javalib Installed java class and jar files
|
||||
lib Installed libraries in arch subdirectories
|
||||
lib/perl Installed perl modules
|
||||
templates Installed templates
|
||||
bin Installed scripts and executables in subdirs
|
||||
cfg Installed build configuration files
|
||||
db Installed data bases
|
||||
dbd Installed data base definitions
|
||||
doc Installed documentation files
|
||||
html Installed html documentation
|
||||
include Installed header files
|
||||
include/os Installed os specific header files in subdirs
|
||||
javalib Installed java class and jar files
|
||||
lib Installed libraries in arch subdirectories
|
||||
lib/perl Installed perl modules
|
||||
templates Installed templates
|
||||
|
||||
Build related components
|
||||
Build related components
|
||||
|
||||
base/documentation files
|
||||
base/documentation/README* files
|
||||
|
||||
README.1st Instructions for setup and building epics base
|
||||
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 known problems and workarounds
|
||||
Converting*To*.html Release specific conversion instructions
|
||||
Building*With*.html Release specific build instructions
|
||||
README.1st Instructions for setup and building epics base
|
||||
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 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 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
|
||||
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 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
|
||||
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
|
||||
CONFIG_ADDONS Definitions for <osclass> 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_FILE_TYPE Definitions for file types adl,alh,cfg,perlmod,edl
|
||||
CONFIG_SITE Site specific make defintions
|
||||
CONFIG_SITE_ENV Site defaults for EPICS environment variables
|
||||
MAKEFILE Installs CONFIG* RULES* creates CONFIG_APP_INCLUDE
|
||||
RELEASE Location of external products such as Tornado II
|
||||
RULES 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 Build and install rules and definitions
|
||||
RULES_DIRS Definitions and rules for building subdirectories
|
||||
RULES_EXPAND Devinitions and rules for expanding vars in a file
|
||||
RULES_FILE_TYPE Definitions and rules for user defined file types
|
||||
RULES_JAVA Definitions and rules for java jars and classes
|
||||
RULES_TARGET Definitions and rules for prod and lib named targets
|
||||
RULES_TOP Rules specific to a <top> dir (uninstall and tar)
|
||||
Sample.Makefile Sample makefile with comments
|
||||
|
||||
CONFIG Includes configure files and allows variable overrides
|
||||
CONFIG.CrossCommon Cross build definitions
|
||||
CONFIG.gnuCommon Gnu compiler build definitions for all archs
|
||||
CONFIG_ADDONS Definitions for <osclass> 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_SITE Site specific make defintions
|
||||
CONFIG_SITE_ENV Site defaults for EPICS environment variables
|
||||
MAKEFILE Installs CONFIG* RULES* creates
|
||||
CONFIG_APP_INCLUDE
|
||||
RELEASE Location of external products
|
||||
RULES 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 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 <top> dir (uninstall and tar)
|
||||
Sample.Makefile Sample makefile with comments
|
||||
|
||||
base/configure/os directory - contains os-arch specific definitions
|
||||
|
||||
CONFIG.<host>.<target> Specific host-target build definitions
|
||||
CONFIG.Common.<target> Specific target definitions for all hosts
|
||||
CONFIG.<host>.Common Specific host definitions for all targets
|
||||
CONFIG.UnixCommon.Common Definitions for Unix hosts and all targets
|
||||
CONFIG.Common.UnixCommon Definitions for Unix targets and all hosts
|
||||
CONFIG.Common.vxWorksCommon Definitions for all vx targets for all hosts
|
||||
CONFIG_COMPAT R3.13 arch compatibility definitions
|
||||
CONFIG_SITE.<host>.<target> Site specific host-target definitions
|
||||
CONFIG_SITE.Common.<target> Site specific target defs for all hosts
|
||||
CONFIG_SITE.<host>.Common Site specific host defs for all targets
|
||||
|
||||
CONFIG.<host>.<target> Specific host-target build definitions
|
||||
CONFIG.Common.<target> Specific target definitions for all hosts
|
||||
CONFIG.<host>.Common Specific host definitions for all targets
|
||||
CONFIG.UnixCommon.Common Definitions for Unix hosts and all targets
|
||||
CONFIG.Common.UnixCommon Definitions for Unix targets and all hosts
|
||||
CONFIG.Common.vxWorksCommon Specific host definitions for all vx targets
|
||||
CONFIG_COMPAT R3.13 arch compatibility definitions
|
||||
CONFIG_SITE.<host>.<target> Site specific host-target definitions
|
||||
CONFIG_SITE.Common.<target> Site specific target defs for all hosts
|
||||
CONFIG_SITE.<host>.Common Site specific host defs for all targets
|
||||
|
||||
base/src/tools directory - contains Perl scripts used for the build
|
||||
|
||||
Makefile Makefile for installing the scripts into cfg dir
|
||||
convertRelease.pl Performs consistancy checks on RELEASE files
|
||||
cvsclean.pl Remove all .#* files in directory tree
|
||||
dos2unix.pl Converts text file from DOS CR/LF to unix ISO
|
||||
expandvars.pl Tool to expand @VAR@ variables while copying a file
|
||||
filterWarnings.pl Filters warning messages during HP builds
|
||||
fullpathName.pl Returns fullpath name of directory arg
|
||||
installEpics.pl Installs built files into install directories
|
||||
makeDbDepends.pl Gets dependencies from .substitution/.template files
|
||||
makeIncludeDbd.pl Creates *Include.dbd file from filename args files
|
||||
makeMakefile.pl Creates a Makefile in O.<arch> dirs
|
||||
makeTestfile.pl Generates a test harness $target.t file
|
||||
mkmf.pl Generates dependencies from include stmnts
|
||||
munch.pl Creates a ctdt.c file for vxWorks targets
|
||||
replaceVAR.pl Changes CapFast VAR(xxx) to $(xxx) notation
|
||||
useManifestTool.pl Use MS VC++ version to set usage of Manifest Tool
|
||||
Makefile Makefile for installing the scripts into cfg dir
|
||||
convertRelease.pl Performs consistancy checks on RELEASE files
|
||||
cvsclean.pl Remove all .#* files in directory tree
|
||||
dos2unix.pl Converts text file from DOS CR/LF to unix ISO
|
||||
expandvars.pl Tool to expand @VAR@ variables while copying a file
|
||||
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 files
|
||||
makeMakefile.pl Creates a Makefile in O.<arch> dirs
|
||||
makeTestfile.pl Generates a test harness $target.t file
|
||||
mkmf.pl Generates dependencies from include stmnts
|
||||
munch.pl Creates a ctdt.c file for vxWorks targets
|
||||
replaceVAR.pl Changes CapFast VAR(xxx) to $(xxx) notation
|
||||
useManifestTool.pl Use MS VC++ version to set usage of Manifest Tool
|
||||
|
||||
Building EPICS base (Unix and Win32)
|
||||
Building EPICS base (Unix and Win32)
|
||||
|
||||
Unpack file
|
||||
|
||||
Unzip and untar the distribution file. Use WinZip on Windows systems.
|
||||
Unzip and untar the distribution file. Use WinZip on Windows systems.
|
||||
|
||||
Set environment variables
|
||||
|
||||
Files in the base/startup directory have been provided to help set
|
||||
required path and other environment variables .
|
||||
Files in the base/startup directory have been provided to help set
|
||||
required path and other environment variables.
|
||||
|
||||
EPICS_HOST_ARCH
|
||||
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.
|
||||
If you are not using the OS vendor's c/c++ compiler for host builds, you
|
||||
will need another dash followed by the alternate compiler name (e.g.
|
||||
"-gnu" for GNU c/c++ compilers on a solaris host or "-borland" for
|
||||
Borland c/c++ compilers on a WIN32 host). See configure/CONFIG_SITE for
|
||||
a list of supported EPICS_HOST_ARCH values.
|
||||
EPICS_HOST_ARCH
|
||||
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. If you are not using the OS vendor's c/c++ compiler for
|
||||
host builds, you will need another dash followed by the alternate
|
||||
compiler name (e.g. "-gnu" for GNU c/c++ compilers on a solaris host
|
||||
or "-borland" for Borland c/c++ compilers on a WIN32 host). See
|
||||
configure/CONFIG_SITE for a list of supported EPICS_HOST_ARCH values.
|
||||
|
||||
PERLLIB
|
||||
On WIN32, some versions of Perl require that the environment variable
|
||||
PERLLIB be set to <perl directory location>.
|
||||
PERLLIB
|
||||
On WIN32, some versions of Perl require that the environment variable
|
||||
PERLLIB be set to <perl directory location>.
|
||||
|
||||
PATH
|
||||
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 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 as and ld in your path. On solaris
|
||||
systems you need uname in your path.
|
||||
PATH
|
||||
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 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 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 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 to be found at runtime
|
||||
LD_LIBRARY_PATH must include the full pathname to
|
||||
$(INSTALL_LOCATION)/lib/$(EPICS_HOST_ARCH) when invoking executables.
|
||||
Building shared libraries is now the default setting for all Unix type
|
||||
hosts. NOTE: You will still need LD_LIBRARY_PATH for R3.13 extension
|
||||
shared libraries even if the R3.13 extensions are built with R3.14 base.
|
||||
LD_LIBRARY_PATH
|
||||
It is no longer necessary to have LD_LIBRARY_PATH include 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 to be found at runtime
|
||||
LD_LIBRARY_PATH must include the full pathname to
|
||||
$(INSTALL_LOCATION)/lib/$(EPICS_HOST_ARCH) when invoking executables.
|
||||
Building shared libraries is now the default setting for all Unix type
|
||||
hosts. NOTE: You will still need LD_LIBRARY_PATH for R3.13 extension
|
||||
shared libraries even if the R3.13 extensions are built with R3.14
|
||||
base.
|
||||
|
||||
Win32 PATH
|
||||
On WIN32 systems, for R3.14.7 and later, it is no longer necessary to
|
||||
add fullpathname to $(INSTALL_LOCATION)/bin/$(EPICS_HOST_ARCH) to your
|
||||
path for finding dlls during EPICS builds. The win32 configure files in
|
||||
base now add this directory to the path definition.
|
||||
Win32 PATH
|
||||
On WIN32 systems, for R3.14.7 and later, it is no longer necessary to
|
||||
add fullpathname to $(INSTALL_LOCATION)/bin/$(EPICS_HOST_ARCH) to your
|
||||
path for finding dlls during EPICS builds. The win32 configure files
|
||||
in base now add this directory to the path definition.
|
||||
|
||||
Do site-specific build configuration
|
||||
|
||||
Site configuration
|
||||
To configure EPICS, you may want to modify the default definitions in
|
||||
the following files:
|
||||
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 TORNADO2 full path location
|
||||
configure/CONFIG_SITE Build choices. Specify target archs.
|
||||
configure/CONFIG_SITE_ENV Environment variable defaults
|
||||
configure/RELEASE TORNADO2 full path location
|
||||
|
||||
Host configuration
|
||||
To configure each host system, you may override the default 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.
|
||||
Host configuration
|
||||
To configure each host system, you may override the default
|
||||
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>.<host> Host build settings
|
||||
configure/os/CONFIG.<host>.Common Host common build settings
|
||||
configure/os/CONFIG.<host>.<host> Host build settings
|
||||
configure/os/CONFIG.<host>.Common Host common build settings
|
||||
|
||||
Target configuration
|
||||
To configure each target system, you may override the default
|
||||
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
|
||||
replaced by CONFIG_SITE. This step is necessary even if the host system
|
||||
is the only target system.
|
||||
Target configuration
|
||||
To configure each target system, you may override the default
|
||||
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
|
||||
replaced by CONFIG_SITE. This step is necessary even if the host
|
||||
system is the only target system.
|
||||
|
||||
configure/os/CONFIG.Common.<target> Target common settings
|
||||
configure/os/CONFIG.<host>.<target> Host-target settings
|
||||
configure/os/CONFIG.Common.<target> Target common 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* files to agree with definitions you made in
|
||||
base/configure and base/configure/os files.
|
||||
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* files to agree with definitions you made in
|
||||
base/configure and base/configure/os files.
|
||||
|
||||
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)
|
||||
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
|
||||
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.
|
||||
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 "gnumake clean uninstall" at the root
|
||||
directory of an EPICS directory structure before each complete rebuild
|
||||
to ensure that all components will be rebuilt.
|
||||
It is recommended that you do a "gnumake clean uninstall" at the root
|
||||
directory of an EPICS directory structure before each complete rebuild
|
||||
to ensure that all components will be rebuilt.
|
||||
|
||||
Example application and extension
|
||||
Example application and extension
|
||||
|
||||
A perl tool, makeBaseApp.pl is included in the distribution file. This
|
||||
script will create a sample application that can be built and then executed
|
||||
to try out this release of base.
|
||||
A perl tool, makeBaseApp.pl is included in the distribution file. This
|
||||
script will create a sample application that can be built and then
|
||||
executed to try out this release of base.
|
||||
|
||||
Instructions for building and executing the 3.14 example application can be
|
||||
found in the section "Example Application" of Chapter 2, "Getting Started",
|
||||
in the "IOC Application Developer's Guide" for this release. The "Example
|
||||
IOC Application" section briefly explains how to create and build an example
|
||||
application in a user created <top> directory. It also explains how to run
|
||||
the example application on a vxWorks ioc or as a process on the host system.
|
||||
By running the example application as a host-based IOC, you will be able
|
||||
to quickly implement a complete EPICS system and be able to run channel
|
||||
access clients on the host system.
|
||||
Instructions for building and executing the 3.14 example application can
|
||||
be found in the section "Example Application" of Chapter 2, "Getting
|
||||
Started", in the "IOC Application Developer's Guide" for this release.
|
||||
The "Example IOC Application" section briefly explains how to create and
|
||||
build an example application in a user created <top> directory. It also
|
||||
explains how to run the example application on a vxWorks ioc or as a
|
||||
process on the host system. By running the example application as a
|
||||
host-based IOC, you will be able to quickly implement a complete EPICS
|
||||
system and be able to run channel access clients on the host system.
|
||||
|
||||
A perl script, makeBaseExt.pl, is included in the distribution file.
|
||||
This script will create a sample extension that can be built and executed.
|
||||
The makeBaseApp.pl and makeBaseExt.pl scripts are installed into the install
|
||||
location bin/<hostarch> directory during the base build.
|
||||
A perl script, makeBaseExt.pl, is included in the distribution file.
|
||||
This script will create a sample extension that can be built and
|
||||
executed. The makeBaseApp.pl and makeBaseExt.pl scripts are installed
|
||||
into the install location bin/<hostarch> directory during the base
|
||||
build.
|
||||
|
||||
Multiple host platforms
|
||||
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 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 root directory in the
|
||||
distribution directory structure, base. Created object files 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/c++ cross compiler and target header files and the base/configure/os
|
||||
directory must have the appropriate configure files.
|
||||
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
|
||||
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 root directory in the
|
||||
distribution directory structure, base. Created object files 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/C++ cross compiler and target header files and the
|
||||
base/configure/os directory must have the appropriate configure files.
|
||||
|
||||
References
|
||||
|
||||
1. http://www.aps.anl.gov/epics/base/tornado.php
|
||||
2. http://www.aps.anl.gov/epics/base/vxWorks6.php
|
||||
3. http://www.aps.anl.gov/epics/
|
||||
|
||||
@@ -1,3 +1,9 @@
|
||||
WARNING: THIS FILE IS OLD
|
||||
=========================
|
||||
|
||||
Some of the information in this file is likely to be out of date. It has not been
|
||||
updated since 2005, so things like the minimum required versions are now wrong.
|
||||
|
||||
|
||||
Compiling EPICS and Building IOC Applications on MS Windows
|
||||
-----------------------------------------------------------
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
To build base:
|
||||
<ol>
|
||||
<li>
|
||||
Set the EPICS_HOST_ARCH environment variable to darwin-ppc.
|
||||
Set the EPICS_HOST_ARCH environment variable to darwin-ppc, darwin-x86 or darwin-ppcx86.
|
||||
The scripts in the
|
||||
base/startup directory can automate this. For example, here's part
|
||||
of my Bash login script (~/.bash_login):
|
||||
@@ -28,20 +28,27 @@ EPICS_EXTENSIONS="${HOME}/src/EPICS/extensions"
|
||||
<code>cd</code> to the EPICS base top-level source directory.
|
||||
</li>
|
||||
<li>
|
||||
Uncomment the appropriate line in the relevent
|
||||
EPICS_BASE/configure/os/CONFIG_SITE.Common.darwin-xxx file for your EPICS_HOST_ARCH value.
|
||||
Newer versions of OS X (e.g. Snow Leopard) may include only 64 bit versions of some OS libraries,
|
||||
so should only have the x86_64 ARCH_CLASS.
|
||||
</li>
|
||||
<li>
|
||||
Run <code>make</code>.
|
||||
</li>
|
||||
</ol>
|
||||
|
||||
|
||||
</li>
|
||||
|
||||
<li>
|
||||
As distributed, EPICS on Mac OS X uses the default command line input
|
||||
As distributed, EPICS on Mac OS X uses the readline command line input
|
||||
routines. IOC applications are more pleasant to interact with if
|
||||
either the readline or libtecla library is used. The easiest
|
||||
way to get either or both of these libraries on to your system is to
|
||||
download and install them using the either the DarwinPorts
|
||||
distribution or the Fink package manager.
|
||||
distribution or the Fink package manager. If you don't want to install
|
||||
the readline library, set the COMMANDLINE_LIBRARY variable in one of
|
||||
the CONFIG_SITE files to EPICS.
|
||||
<p>
|
||||
Information on DarwinPorts is available from
|
||||
<a href="http://www.opendarwin.org/projects/darwinports/">the DarwinPorts
|
||||
@@ -174,6 +181,6 @@ runAppleScript(const char *format, ...)
|
||||
}
|
||||
<pre>
|
||||
<hr>
|
||||
$Id$
|
||||
$Revision-Id$
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@@ -1,10 +1,12 @@
|
||||
<!DOCTYPE HTML>
|
||||
<HTML>
|
||||
README.html
|
||||
<HEAD>
|
||||
<TITLE>README - EPICS Base Installation Instructions</TITLE>
|
||||
</HEAD>
|
||||
<BODY>
|
||||
<CENTER>
|
||||
<H1>Installation Instructions</H1>
|
||||
<H2>EPICS base Release 3.14.*</H2><BR>
|
||||
<H2>EPICS Base Release 3.14.*</H2><BR>
|
||||
</CENTER>
|
||||
<HR>
|
||||
<H3> Table of Contents</H3>
|
||||
@@ -42,129 +44,65 @@ README.html
|
||||
description of changes and release migration details.</BLOCKQUOTE>
|
||||
|
||||
<H3><A NAME="0_0_3"> Copyright</A></H3>
|
||||
<BLOCKQUOTE>Please review the COPYRIGHT* files included in the
|
||||
<BLOCKQUOTE>Please review the LICENSE file included in the
|
||||
distribution for legal terms of usage.</BLOCKQUOTE>
|
||||
|
||||
<H3><A NAME="0_0_4"> Supported platforms</A></H3>
|
||||
<BLOCKQUOTE>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
|
||||
|
||||
<BLOCKQUOTE>The list of platforms supported by this version of EPICS base
|
||||
is given in the configure/CONFIG_SITE file. If you are trying to build
|
||||
EPICS Base on an unlisted host or for a different target machine you
|
||||
must 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.</BLOCKQUOTE><BLOCKQUOTE>
|
||||
|
||||
<H4>Host platforms (operating system - architecture [- alternate
|
||||
toolset])</H4>
|
||||
<BLOCKQUOTE>
|
||||
<PRE>cygwin-x86 (unix style API, uses cygwin1.dll compatability library)
|
||||
darwin-ppc
|
||||
darwin-x86
|
||||
darwin-ppcx86
|
||||
freebsd-x86
|
||||
freebsd-x86_64
|
||||
linux-ppc
|
||||
linux-x86
|
||||
linux-x86_64
|
||||
linux-x86-borland
|
||||
solaris-sparc
|
||||
solaris-sparc-gnu
|
||||
solaris-sparc64
|
||||
solaris-sparc64-gnu
|
||||
solaris-x86
|
||||
solaris-x86-gnu
|
||||
win32-x86
|
||||
win32-x86-mingw (WIN32 API, uses MS dlls)
|
||||
win32-x86-cygwin (WIN32 API, uses MS dlls)
|
||||
</PRE>
|
||||
</BLOCKQUOTE>
|
||||
|
||||
<H4> Cross compile target platforms (operating system - architecture)</H4>
|
||||
<BLOCKQUOTE>
|
||||
<PRE>linux-386
|
||||
linux-486
|
||||
linux-586
|
||||
linux-686
|
||||
linux-arm
|
||||
linux-arm_eb
|
||||
linux-arm_el
|
||||
linux-athlon
|
||||
linux-cris
|
||||
linux-cris_v10
|
||||
linux-cris_v32
|
||||
linux-xscale_be
|
||||
vxWorks-486
|
||||
vxWorks-68040
|
||||
vxWorks-68040lc
|
||||
vxWorks-68060
|
||||
vxWorks-pentium
|
||||
vxWorks-ppc603
|
||||
vxWorks-ppc603_long
|
||||
vxWorks-ppc604
|
||||
vxWorks-ppc604_long
|
||||
vxWorks-ppc604_altivec
|
||||
vxWorks-mpc8540
|
||||
RTEMS-at91rm9200ek
|
||||
RTEMS-beatnik
|
||||
RTEMS-gen68360
|
||||
RTEMS-mcp750
|
||||
RTEMS-mvme167
|
||||
RTEMS-mvme2100
|
||||
RTEMS-mvme3100
|
||||
RTEMS-mvme5500
|
||||
RTEMS-pc386
|
||||
RTEMS-psim
|
||||
RTEMS-uC5282
|
||||
</PRE>
|
||||
</BLOCKQUOTE>
|
||||
</BLOCKQUOTE>
|
||||
for your new platforms.</BLOCKQUOTE>
|
||||
|
||||
<H3><A NAME="0_0_5"> Supported compilers</A></H3>
|
||||
<BLOCKQUOTE>This version of EPICS base has been built and tested using
|
||||
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 CC and CCC in
|
||||
base/configure/os/CONFIG.<host>.<host>.</BLOCKQUOTE>
|
||||
|
||||
<BLOCKQUOTE>This version of EPICS base has been built and tested using the host
|
||||
vendor's C and C++ compilers, as well as the GNU gcc and g++ compilers. The GNU
|
||||
cross-compilers work for all cross-compiled targets. You may need the C and C++
|
||||
compilers to be in your search path to do EPICS builds; check the definitions
|
||||
of CC and CCC in base/configure/os/CONFIG.<host>.<host> if you have
|
||||
problems.</BLOCKQUOTE>
|
||||
|
||||
<H3><A NAME="0_0_6"> Software requirements</A></H3>
|
||||
|
||||
<BLOCKQUOTE><B>GNU make</B>
|
||||
<BR> You must use GNU make, gnumake, for any EPICS builds. Set your path
|
||||
<BLOCKQUOTE><B>GNU make</B><BR>
|
||||
You must use GNU make, gnumake, for any EPICS builds. Set your path
|
||||
so that a gnumake version 3.81 or later is available.
|
||||
|
||||
<P><B>gcc</B>
|
||||
<BR> For most cases, you must have gcc version 3.4.2 or later.
|
||||
Appropriate versions of vendor C and C++ compilers may be used for
|
||||
native compilation.</P>
|
||||
<P><B>Perl</B><BR>
|
||||
You must have Perl version 5.8.1 or later installed. The EPICS configuration
|
||||
files do not specify the perl full pathname, so the perl executable must
|
||||
be found through your normal search path.</P>
|
||||
|
||||
<P><B>Perl</B>
|
||||
<BR> You must have perl version 5.8.1 or later installed. The configure
|
||||
files do not specify the perl full pathname. You need the perl
|
||||
executable in your search path.</P>
|
||||
|
||||
<P><B>Unzip and tar (Winzip on WIN32 systems)</B>
|
||||
<BR> You must have tools available to unzip and untar the EPICS base
|
||||
<P><B>Unzip and tar (Winzip on WIN32 systems)</B><BR>
|
||||
You must have tools available to unzip and untar the EPICS base
|
||||
distribution file.</P>
|
||||
|
||||
<P><B>Target systems</B>
|
||||
<BR> EPICS supports IOCs running on embedded platforms such as VxWorks
|
||||
and RTEMS via cross-compilers. EPICS also supports ?soft? IOCs running
|
||||
<P><B>Target systems</B><BR>
|
||||
EPICS supports IOCs running on embedded platforms such as VxWorks
|
||||
and RTEMS built using a cross-compiler, and also supports soft IOCs running
|
||||
as processes on the host platform.</P>
|
||||
|
||||
<P><B>Tornado 2</B>
|
||||
<BR> You must have Tornado 2 installed if any of your target systems are
|
||||
vxWorks systems. Tornado 2 provides the cross-compiler and header files
|
||||
needed to build for these target systems. The full path location 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.</P>
|
||||
<P><B>vxWorks</B><BR>
|
||||
You must have vxWorks installed if any of your target systems are
|
||||
vxWorks systems. This provides the cross-compiler and header files
|
||||
needed to build for these target systems. The absolute path to and version
|
||||
number of the vxWorks installation is normally specified in the
|
||||
base/configure/os/CONFIG_SITE.Common.vxWorksCommon file. Consult the EPICS web
|
||||
pages about <a href="http://www.aps.anl.gov/epics/base/tornado.php">vxWorks
|
||||
5.x</a> and <a href="http://www.aps.anl.gov/epics/base/vxWorks6.php">vxWorks
|
||||
6.x</a> and the vxWorks documentation for information about configuring your
|
||||
vxWorks operating system for use with EPICS.</P>
|
||||
|
||||
<P><B>RTEMS</B>
|
||||
<BR> For RTEMS targets, you need RTEMS core and toolset version 4.9.2 or later.</P>
|
||||
<P><B>GNU readline or Tecla library</B>
|
||||
<BR> GNU readline and Tecla librararies can be used by the IOC shell to
|
||||
<P><B>RTEMS</B><BR>
|
||||
For RTEMS targets, you need RTEMS core and toolset version 4.9.2 or later.</P>
|
||||
|
||||
<P><B>GNU readline or Tecla library</B><BR>
|
||||
GNU readline and Tecla librararies can be used by the IOC shell to
|
||||
provide command line editing and command line history recall and edit.
|
||||
GNU readline (or Tecla library) must be installed on your target system
|
||||
when COMMANDLINE_LIBRARY is set to READLINE (or TECLA) for that target.
|
||||
@@ -173,287 +111,207 @@ RTEMS-uC5282
|
||||
Comment out COMMANDLINE_LIBRARY=READLINE in
|
||||
configure/os/CONFIG_SITE.Common.linux-x86 if readline is not installed
|
||||
on linux-x86. Command-line editing and history will then be those
|
||||
supplied by the os. On vxWorks the ledLib command-line input libraries
|
||||
are used.</P>
|
||||
supplied by the os. On vxWorks the ledLib command-line input library is
|
||||
used instead.</P>
|
||||
</BLOCKQUOTE>
|
||||
|
||||
<H3><A NAME="0_0_7"> Host system storage requirements</A></H3>
|
||||
<BLOCKQUOTE>The GNU zipped tar file is approximately 1.5 MB in size. The
|
||||
unzipped untarred distribution source tree is approximately 7.4 MB. The
|
||||
unzipped untarred distribution source tree is approximately 9.0 MB. The
|
||||
build created files for each host take approximately 37 MB and the
|
||||
build created files for each cross target take approximately 15 MB.</BLOCKQUOTE>
|
||||
|
||||
<H3><A NAME="0_0_8"> Documentation</A></H3>
|
||||
<BLOCKQUOTE>EPICS documentation is available on the WWW via the EPICS
|
||||
home page at APS: URL<A href="http://www.aps.anl.gov/epics">
|
||||
http://www.aps.anl.gov/epics</A> by selection IOC software/ Base
|
||||
R3.14/ <release number>.
|
||||
</BLOCKQUOTE>
|
||||
<BLOCKQUOTE>Release specific documenataion can be found in the base/documentation
|
||||
directory of the distribution.
|
||||
</BLOCKQUOTE>
|
||||
<H3><A NAME="0_0_9"> WWW pages</A></H3>
|
||||
<BLOCKQUOTE>
|
||||
<H4> EPICS home page at APS</H4>
|
||||
<BLOCKQUOTE><A href="http://www.aps.anl.gov/epics">
|
||||
http://www.aps.anl.gov/epics</A></BLOCKQUOTE>
|
||||
<H4> Other WWW sites</H4>
|
||||
<BLOCKQUOTE>Additional information on EPICS can be found at the various
|
||||
other WWW links on the EPICS home page at APS.</BLOCKQUOTE>
|
||||
<H4> Mailing List</H4>
|
||||
<BLOCKQUOTE>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 instructions.</BLOCKQUOTE></BLOCKQUOTE>
|
||||
<BLOCKQUOTE>EPICS documentation is available through the
|
||||
<a href="http://www.aps.anl.gov/epics/">EPICS website</a> at Argonne.
|
||||
<P>Release specific documenataion can also be found in the base/documentation
|
||||
directory of the distribution.</BLOCKQUOTE>
|
||||
|
||||
<H3><A NAME="0_0_10"> Directory Structure</A></H3>
|
||||
<BLOCKQUOTE><H4>Distribution directory structure:</H4>
|
||||
<BLOCKQUOTE><TT>
|
||||
base Root directory of the base distribution</TT>
|
||||
<BR> <TT>base/config R3.13 compatibility build
|
||||
configuration files</TT>
|
||||
<BR> <TT>base/config/tools Perl and shell scripts used
|
||||
in the R3.13 build</TT>
|
||||
<BR> <TT>base/configure Operating system independent
|
||||
build config files</TT>
|
||||
<BR> <TT>base/configure/os Operating system dependent
|
||||
build config files</TT>
|
||||
<BR> <TT>base/configure/tools Perl and shell scripts used
|
||||
in the build</TT>
|
||||
<BR> <TT>base/documentation Distributation documentation</TT>
|
||||
<BR> <TT>base/src All epics base source code in
|
||||
subdirectories</TT>
|
||||
<BR> <TT>base/src/RTEMS Code to configure RTEMS for
|
||||
EPICS</TT>
|
||||
<BR> <TT>base/src/as Access security</TT>
|
||||
<BR> <TT>base/src/bpt Break point table</TT>
|
||||
<BR> <TT>base/src/ca Channel access</TT>
|
||||
<BR> <TT>base/src/cap5 Channel Access client
|
||||
interface for Perl 5</TT>
|
||||
<BR> <TT>base/src/cas Channel access server library
|
||||
and examples</TT>
|
||||
<BR> <TT>base/src/catools Channel access tools caget,
|
||||
cainfo, camonitor, caput</TT>
|
||||
<BR> <TT>base/src/db Database access</TT>
|
||||
<BR> <TT>base/src/db/test Database access tests</TT>
|
||||
<BR> <TT>base/src/dbStatic Static database access</TT>
|
||||
<BR> <TT>base/src/dbtools Database dbLoadTemplate tools</TT>
|
||||
<BR> <TT>base/src/dev Device support (camacDev,
|
||||
softDev, and testDev)</TT>
|
||||
<BR> <TT>base/src/excas Example channel access server</TT>
|
||||
<BR> <TT>base/src/gdd General data descriptor</TT>
|
||||
<BR> <TT>base/src/libCom General purpose library code
|
||||
in subdirectories</TT>
|
||||
<BR> <TT>base/src/libCom/bucketLib Hash bucket</TT>
|
||||
<BR> <TT>base/src/libCom/calc Algebraic expression
|
||||
interpreter</TT>
|
||||
<BR> <TT>base/src/libCom/cppStd Support for C++ standard
|
||||
template library</TT>
|
||||
<BR> <TT>base/src/libCom/cvtFast Fast number to string
|
||||
conversion</TT>
|
||||
<BR> <TT>base/src/libCom/cxxTemplates C++ templates and templates
|
||||
tests</TT>
|
||||
<BR> <TT>base/src/libCom/dbmf Memory management for
|
||||
frequent alloc/free</TT>
|
||||
<BR> <TT>base/src/libCom/ellLib EPICS double linked list</TT>
|
||||
<BR> <TT>base/src/libCom/env Default EPICS environment
|
||||
settings</TT>
|
||||
<BR> <TT>base/src/libCom/error Error handling definitions
|
||||
and routines</TT>
|
||||
<BR> <TT>base/src/libCom/fdmgr File descriptor manager</TT>
|
||||
<BR> <TT>base/src/libCom/freeList Memory management using free
|
||||
lists</TT>
|
||||
<BR> <TT>base/src/libCom/gpHash General purpose hash table</TT>
|
||||
<BR> <TT>base/src/libCom/logClient Logging client</TT>
|
||||
<BR> <TT>base/src/libCom/macLib Macro substitution handler</TT>
|
||||
<BR> <TT>base/src/libCom/misc Miscellaneous utilities</TT>
|
||||
<BR> <TT>base/src/libCom/osi Operating system independent
|
||||
code</TT>
|
||||
<BR> <TT>base/src/libCom/osi/os Operating system dependant
|
||||
code in subdirectories</TT>
|
||||
<BR> <TT>base/src/libCom/ring Methods for creating and
|
||||
using ring buffers</TT>
|
||||
<BR> <TT>base/src/libCom/taskwd Task watchdog</TT>
|
||||
<BR> <TT>base/src/libCom/test Test tools (timer, semBinary,
|
||||
semMutex,fdmgr, ...)</TT>
|
||||
<BR> <TT>base/src/libCom/timer Timer</TT>
|
||||
<BR> <TT>base/src/libCom/tsDefs R3.13 time stamp definitions
|
||||
and routines</TT>
|
||||
<BR> <TT>base/src/makeBaseApp Perl tool+templates to create
|
||||
ioc app dvl tree</TT>
|
||||
<BR> <TT>base/src/makeBaseExt Perl tool+templates to create
|
||||
extension dvl tree</TT>
|
||||
<BR> <TT>base/src/misc Miscellaneous (coreRelease,
|
||||
iocInit, asSub*)</TT>
|
||||
<BR> <TT>base/src/rec Record support</TT>
|
||||
<BR> <TT>base/src/registry EPICS support function
|
||||
registry</TT>
|
||||
<BR> <TT>base/src/rsrv Channel access ioc resource
|
||||
server library</TT>
|
||||
<BR> <TT>base/src/softIoc Example softIoc</TT>
|
||||
<BR> <TT>base/src/tools Perl scripts used during the
|
||||
builds</TT>
|
||||
<BR> <TT>base/src/toolsComm Code for the build tools
|
||||
antelope and e_flex</TT>
|
||||
<BR> <TT>base/src/util Utilities (ca_test,
|
||||
iocLogServer, startCArepeater)</TT>
|
||||
<BR> <TT>base/src/vxWorks R3.13 compatibility code
|
||||
specific to vxWorks</TT>
|
||||
<BR> <TT>base/startup Scripts for setting up path
|
||||
and environment</TT>
|
||||
</BLOCKQUOTE>
|
||||
|
||||
<PRE>
|
||||
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
|
||||
base/configure/os 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 Code to configure RTEMS for EPICS
|
||||
base/src/as Access security
|
||||
base/src/bpt Break point table
|
||||
base/src/ca Channel access
|
||||
base/src/cap5 Channel Access client interface for Perl 5
|
||||
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 (camacDev, softDev, and testDev)
|
||||
base/src/excas Example channel access server
|
||||
base/src/gdd General data descriptor
|
||||
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/cppStd Support for C++ standard template library
|
||||
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/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/fdmgr File descriptor manager
|
||||
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 API
|
||||
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/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
|
||||
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/softIoc Example softIoc
|
||||
base/src/tools Perl scripts used during the builds
|
||||
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
|
||||
</PRE>
|
||||
|
||||
<H4>Install directories created by the build:</H4>
|
||||
<BLOCKQUOTE>
|
||||
<P><TT>bin Installed scripts and executables in
|
||||
subdirs</TT>
|
||||
<BR> <TT>cfg Installed build configuration
|
||||
files</TT>
|
||||
<BR> <TT>db Installed data bases</TT>
|
||||
<BR> <TT>dbd Installed data base definitions</TT>
|
||||
<BR> <TT>doc Installed documentation files</TT>
|
||||
<BR> <TT>html Installed html documentation</TT>
|
||||
<BR> <TT>include Installed header files</TT>
|
||||
<BR> <TT>include/os Installed os specific header files
|
||||
in subdirs</TT>
|
||||
<BR> <TT>javalib Installed java class and jar files</TT>
|
||||
<BR> <TT>lib Installed libraries in arch
|
||||
subdirectories</TT>
|
||||
<BR> <TT>lib/perl Installed perl modules</TT>
|
||||
<BR> <TT>templates Installed templates</TT></P>
|
||||
</BLOCKQUOTE>
|
||||
<PRE>
|
||||
bin Installed scripts and executables in subdirs
|
||||
cfg Installed build configuration files
|
||||
db Installed data bases
|
||||
dbd Installed data base definitions
|
||||
doc Installed documentation files
|
||||
html Installed html documentation
|
||||
include Installed header files
|
||||
include/os Installed os specific header files in subdirs
|
||||
javalib Installed java class and jar files
|
||||
lib Installed libraries in arch subdirectories
|
||||
lib/perl Installed perl modules
|
||||
templates Installed templates
|
||||
</PRE>
|
||||
</BLOCKQUOTE>
|
||||
|
||||
<H3><A NAME="0_0_11"> Build related components</A></H3>
|
||||
<BLOCKQUOTE>
|
||||
<H4> base/documentation/README* files</H4>
|
||||
<BLOCKQUOTE>
|
||||
<TT>README.1st Instructions for setup and building epics
|
||||
base</TT>
|
||||
<BR> <TT>README.html html version of README.1st</TT>
|
||||
<BR> <TT>README.WIN32 Microsoft WIN32 specific instructions</TT>
|
||||
<BR> <TT>README.cxxTemplates Information about C++ templates in EPICS
|
||||
base</TT>
|
||||
<BR> <TT>README.niCpu030 NI cpu030 specific instructions</TT>
|
||||
<BR> <TT>README.darwin Installation notes for Mac OS X (Darwin)</TT>
|
||||
<BR> <TT>RELEASE_NOTES.html Notes on release changes</TT>
|
||||
<BR> <TT>KnownProblems.html List of known problems and workarounds</TT>
|
||||
<BR> <TT>Converting*To*.html Release specific conversion instructions</TT>
|
||||
<BR> <TT>Building*With*.html Release specific build instructions</TT>
|
||||
</BLOCKQUOTE>
|
||||
<H4> base/startup directory - contains scripts to set environment and path</H4>
|
||||
<BLOCKQUOTE>
|
||||
<TT>EpicsHostArch c shell script to set EPICS_HOST_ARCH env
|
||||
variable</TT>
|
||||
<BR> <TT>EpicsHostArch.pl perl script to set EPICS_HOST_ARCH env
|
||||
variable</TT>
|
||||
<BR> <TT>Site.profile bourne shell script to set path and env
|
||||
variables</TT>
|
||||
<BR> <TT>Site.cshrc c shell script to set path and env
|
||||
variables</TT>
|
||||
<BR> <TT>borland.bat WIN32 bat file to set borland path and env
|
||||
variables</TT>
|
||||
<BR> <TT>cygwin.bat WIN32 bat file to set cygwin path and env
|
||||
variables</TT>
|
||||
<BR> <TT>win32.bat WIN32 bat file to set path and env
|
||||
variables</TT>
|
||||
<BR> <TT>win32-debug.bat WIN32 debug bat file to set debug path and
|
||||
env variables</TT>
|
||||
</BLOCKQUOTE>
|
||||
<H4> base/configure directory - contains build definitions and rules</H4>
|
||||
<BLOCKQUOTE>
|
||||
<TT>CONFIG Includes configure files and allows
|
||||
variable overrides</TT>
|
||||
<BR> <TT>CONFIG.CrossCommon Cross build definitions</TT>
|
||||
<BR> <TT>CONFIG.gnuCommon Gnu compiler build definitions for all
|
||||
archs</TT>
|
||||
<BR> <TT>CONFIG_ADDONS Definitions for <osclass> and DEFAULT
|
||||
options</TT>
|
||||
<BR> <TT>CONFIG_BASE EPICS base tool and location definitions</TT>
|
||||
<BR> <TT>CONFIG_BASE_VERSION Definitions for EPICS base version number</TT>
|
||||
<BR> <TT>CONFIG_COMMON Definitions common to all builds</TT>
|
||||
<BR> <TT>CONFIG_ENV Definitions of EPICS environment
|
||||
variables</TT>
|
||||
<BR> <TT>CONFIG_SITE Site specific make defintions</TT>
|
||||
<BR> <TT>CONFIG_SITE_ENV Site defaults for EPICS environment
|
||||
variables</TT>
|
||||
<BR> <TT>MAKEFILE Installs CONFIG* RULES* creates
|
||||
CONFIG_APP_INCLUDE</TT>
|
||||
<BR> <TT>RELEASE Location of external products such as
|
||||
Tornado II</TT>
|
||||
<BR> <TT>RULES Includes appropriate rules file</TT>
|
||||
<BR> <TT>RULES.Db Rules for database and database
|
||||
definition files</TT>
|
||||
<BR> <TT>RULES.ioc Rules for application iocBoot/ioc*
|
||||
directory</TT>
|
||||
<BR> <TT>RULES_ARCHS Definitions and rules for building
|
||||
architectures</TT>
|
||||
<BR> <TT>RULES_BUILD Build and install rules and definitions</TT>
|
||||
<BR> <TT>RULES_DIRS Definitions and rules for building
|
||||
subdirectories</TT>
|
||||
<BR> <TT>RULES_JAVA Definitions and rules for java jars and
|
||||
classes</TT>
|
||||
<BR> <TT>RULES_TOP Rules specific to a <top> dir (uninstall
|
||||
and tar)</TT>
|
||||
<BR> <TT>Sample.Makefile Sample makefile with comments</TT>
|
||||
<BR>
|
||||
</BLOCKQUOTE>
|
||||
<H4> base/configure/os directory - contains os-arch specific definitions</H4>
|
||||
<BLOCKQUOTE>
|
||||
<TT>CONFIG.<host>.<target> Specific host-target build
|
||||
definitions</TT>
|
||||
<BR> <TT>CONFIG.Common.<target> Specific target definitions for all
|
||||
hosts</TT>
|
||||
<BR> <TT>CONFIG.<host>.Common Specific host definitions for all
|
||||
targets</TT>
|
||||
<BR> <TT>CONFIG.UnixCommon.Common Definitions for Unix hosts and all
|
||||
targets</TT>
|
||||
<BR> <TT>CONFIG.Common.UnixCommon Definitions for Unix targets and
|
||||
all hosts</TT>
|
||||
<BR> <TT>CONFIG.Common.vxWorksCommon Specific host definitions for all
|
||||
vx targets</TT>
|
||||
<BR> <TT>CONFIG_COMPAT R3.13 arch compatibility
|
||||
definitions</TT>
|
||||
<BR> <TT>CONFIG_SITE.<host>.<target> Site specific host-target
|
||||
definitions</TT>
|
||||
<BR> <TT>CONFIG_SITE.Common.<target> Site specific target defs for all
|
||||
hosts</TT>
|
||||
<BR> <TT>CONFIG_SITE.<host>.Common Site specific host defs for all
|
||||
targets</TT>
|
||||
<BR>
|
||||
</BLOCKQUOTE>
|
||||
<H4> base/src/tools directory - contains Perl scripts used for the build</H4>
|
||||
<BLOCKQUOTE>
|
||||
<TT>Makefile Makefile for installing the scripts into cfg dir</TT><BR>
|
||||
<TT>convertRelease.pl Performs consistancy checks on RELEASE
|
||||
files</TT>
|
||||
<BR> <TT>cvsclean.pl Remove all .#* files in directory tree</TT>
|
||||
<BR> <TT>dos2unix.pl Converts text file from DOS CR/LF to unix ISO</TT>
|
||||
<BR> <TT>expandvars.pl Tool to expand @VAR@ variables while copying a file</TT>
|
||||
<BR> <TT>filterWarnings.pl Filters warning messages during HP
|
||||
builds</TT>
|
||||
<BR> <TT>fullpathName.pl Returns fullpath name of directory arg</TT>
|
||||
<BR> <TT>installEpics.pl Installs built files into install
|
||||
directories</TT>
|
||||
<BR> <TT>makeIncludeDbd.pl Creates *Include.dbd file from filename
|
||||
args</TT> files
|
||||
<BR> <TT>makeMakefile.pl Creates a Makefile in O.<arch> dirs</TT>
|
||||
<BR> <TT>makeTestfile.pl Generates a test harness $target.t file</TT>
|
||||
<BR> <TT>mkmf.pl Generates dependencies from include
|
||||
stmnts</TT>
|
||||
<BR> <TT>munch.pl Creates a ctdt.c file for vxWorks
|
||||
targets</TT>
|
||||
<BR> <TT>replaceVAR.pl Changes CapFast VAR(xxx) to $(xxx) notation</TT>
|
||||
<BR> <TT>useManifestTool.pl Use MS VC++ version to set usage of Manifest Tool</TT>
|
||||
</BLOCKQUOTE>
|
||||
|
||||
<H4>base/documentation/README* files</H4>
|
||||
<PRE>
|
||||
README.1st Instructions for setup and building epics base
|
||||
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 known problems and workarounds
|
||||
Converting*To*.html Release specific conversion instructions
|
||||
Building*With*.html Release specific build instructions
|
||||
</PRE>
|
||||
|
||||
<H4>base/startup directory - contains scripts to set environment and path</H4>
|
||||
<PRE>
|
||||
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 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
|
||||
</PRE>
|
||||
|
||||
<H4>base/configure directory - contains build definitions and rules</H4>
|
||||
<PRE>
|
||||
CONFIG Includes configure files and allows variable overrides
|
||||
CONFIG.CrossCommon Cross build definitions
|
||||
CONFIG.gnuCommon Gnu compiler build definitions for all archs
|
||||
CONFIG_ADDONS Definitions for <osclass> 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_SITE Site specific make defintions
|
||||
CONFIG_SITE_ENV Site defaults for EPICS environment variables
|
||||
MAKEFILE Installs CONFIG* RULES* creates
|
||||
CONFIG_APP_INCLUDE
|
||||
RELEASE Location of external products
|
||||
RULES 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 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 <top> dir (uninstall and tar)
|
||||
Sample.Makefile Sample makefile with comments
|
||||
</PRE>
|
||||
|
||||
<H4>base/configure/os directory - contains os-arch specific definitions</H4>
|
||||
<PRE>
|
||||
CONFIG.<host>.<target> Specific host-target build definitions
|
||||
CONFIG.Common.<target> Specific target definitions for all hosts
|
||||
CONFIG.<host>.Common Specific host definitions for all targets
|
||||
CONFIG.UnixCommon.Common Definitions for Unix hosts and all targets
|
||||
CONFIG.Common.UnixCommon Definitions for Unix targets and all hosts
|
||||
CONFIG.Common.vxWorksCommon Specific host definitions for all vx targets
|
||||
CONFIG_COMPAT R3.13 arch compatibility definitions
|
||||
CONFIG_SITE.<host>.<target> Site specific host-target definitions
|
||||
CONFIG_SITE.Common.<target> Site specific target defs for all hosts
|
||||
CONFIG_SITE.<host>.Common Site specific host defs for all targets
|
||||
</PRE>
|
||||
|
||||
<H4>base/src/tools directory - contains Perl scripts used for the build</H4>
|
||||
<PRE>
|
||||
Makefile Makefile for installing the scripts into cfg dir
|
||||
convertRelease.pl Performs consistancy checks on RELEASE files
|
||||
cvsclean.pl Remove all .#* files in directory tree
|
||||
dos2unix.pl Converts text file from DOS CR/LF to unix ISO
|
||||
expandvars.pl Tool to expand @VAR@ variables while copying a file
|
||||
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 files
|
||||
makeMakefile.pl Creates a Makefile in O.<arch> dirs
|
||||
makeTestfile.pl Generates a test harness $target.t file
|
||||
mkmf.pl Generates dependencies from include stmnts
|
||||
munch.pl Creates a ctdt.c file for vxWorks targets
|
||||
replaceVAR.pl Changes CapFast VAR(xxx) to $(xxx) notation
|
||||
useManifestTool.pl Use MS VC++ version to set usage of Manifest Tool
|
||||
</PRE>
|
||||
</BLOCKQUOTE>
|
||||
|
||||
<H3><A NAME="0_0_12"> Building EPICS base (Unix and Win32)</A></H3>
|
||||
<BLOCKQUOTE>
|
||||
|
||||
<H4> Unpack file</H4>
|
||||
<BLOCKQUOTE>
|
||||
Unzip and untar the distribution file. Use WinZip on Windows
|
||||
systems.
|
||||
</BLOCKQUOTE>
|
||||
|
||||
<H4>Set environment variables</H4>
|
||||
<BLOCKQUOTE>
|
||||
Files in the base/startup directory have been provided to
|
||||
help set required path and other environment variables .
|
||||
<P><B>EPICS_HOST_ARCH</B>
|
||||
<BR> Before you can build or use EPICS R3.14, the environment variable
|
||||
help set required path and other environment variables.
|
||||
|
||||
<P><B>EPICS_HOST_ARCH</B><BR>
|
||||
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
|
||||
@@ -463,19 +321,22 @@ Files in the base/startup directory have been provided to
|
||||
(e.g. "-gnu" for GNU c/c++ compilers on a solaris host or "-borland"
|
||||
for Borland c/c++ compilers on a WIN32 host). See configure/CONFIG_SITE
|
||||
for a list of supported EPICS_HOST_ARCH values.</P>
|
||||
<P><B>PERLLIB</B>
|
||||
<BR> On WIN32, some versions of Perl require that the environment
|
||||
|
||||
<P><B>PERLLIB</B><BR>
|
||||
On WIN32, some versions of Perl require that the environment
|
||||
variable PERLLIB be set to <perl directory location>.</P>
|
||||
<P><B>PATH</B>
|
||||
<BR> As already mentioned, you must have the perl executable and you may
|
||||
|
||||
<P><B>PATH</B><BR>
|
||||
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 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 as and ld in your path. On
|
||||
your path, and the C compiler may require as and ld in your path. On
|
||||
solaris systems you need uname in your path.</P>
|
||||
<P><B>LD_LIBRARY_PATH</B>
|
||||
<BR> It is no longer necessary to have LD_LIBRARY_PATH include EPICS
|
||||
|
||||
<P><B>LD_LIBRARY_PATH</B><BR>
|
||||
It is no longer necessary to have LD_LIBRARY_PATH include 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
|
||||
@@ -486,72 +347,83 @@ Files in the base/startup directory have been provided to
|
||||
hosts. NOTE: You will still need LD_LIBRARY_PATH for R3.13 extension
|
||||
shared libraries even if the R3.13 extensions are built with R3.14
|
||||
base.</P>
|
||||
<P><B>Win32 PATH</B>
|
||||
<BR> On WIN32 systems, for R3.14.7 and later, it is no longer necessary
|
||||
|
||||
<P><B>Win32 PATH</B><BR>
|
||||
On WIN32 systems, for R3.14.7 and later, it is no longer necessary
|
||||
to add fullpathname to $(INSTALL_LOCATION)/bin/$(EPICS_HOST_ARCH) to
|
||||
your path for finding dlls during EPICS builds. The win32 configure
|
||||
files in base now add this directory to the path definition.</P>
|
||||
</BLOCKQUOTE>
|
||||
|
||||
<H4>Do site-specific build configuration</H4>
|
||||
<BLOCKQUOTE>
|
||||
<B>Site configuration</B>
|
||||
<BR> To configure EPICS, you may want to modify the default definitions
|
||||
|
||||
<B>Site configuration</B><BR>
|
||||
To configure EPICS, you may want to modify the default definitions
|
||||
in the following files:
|
||||
<BLOCKQUOTE>
|
||||
<TT>configure/CONFIG_SITE
|
||||
Build choices. Specify target archs.<br></TT>
|
||||
<TT>configure/CONFIG_SITE_ENV
|
||||
Environment variable defaults</TT><br>
|
||||
<TT>configure/RELEASE
|
||||
TORNADO2 full path location</TT>
|
||||
</BLOCKQUOTE><B> Host configuration</B>
|
||||
<BR> To configure each host system, you may override the default
|
||||
<PRE>
|
||||
configure/CONFIG_SITE Build choices. Specify target archs.
|
||||
configure/CONFIG_SITE_ENV Environment variable defaults
|
||||
configure/RELEASE TORNADO2 full path location
|
||||
</PRE>
|
||||
|
||||
<B> Host configuration</B><BR>
|
||||
To configure each host system, you may override the default
|
||||
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.<BLOCKQUOTE>
|
||||
<TT>configure/os/CONFIG.<host>.<host>
|
||||
|
||||
Host build settings</TT><BR>
|
||||
<TT>configure/os/CONFIG.<host>.Common
|
||||
|
||||
Host common build settings</TT>
|
||||
</BLOCKQUOTE><B> Target configuration</B>
|
||||
<BR> To configure each target system, you may override the default
|
||||
changed to CONFIG_SITE.
|
||||
|
||||
<PRE>
|
||||
configure/os/CONFIG.<host>.<host> Host build settings
|
||||
configure/os/CONFIG.<host>.Common Host common build settings
|
||||
</PRE>
|
||||
|
||||
<B>Target configuration</B><BR>
|
||||
To configure each target system, you may override the default
|
||||
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
|
||||
replaced by CONFIG_SITE. This step is necessary even if the host system
|
||||
is the only target system.<BLOCKQUOTE>
|
||||
<TT>configure/os/CONFIG.Common.<target>
|
||||
Target common settings</TT><BR>
|
||||
<TT>configure/os/CONFIG.<host>.<target>
|
||||
Host-target settings</TT>
|
||||
</BLOCKQUOTE><B>
|
||||
R3.13 compatibility configuration</B>
|
||||
<BR> To configure EPICS base for building with R3.13 extensions and ioc
|
||||
is the only target system.
|
||||
<PRE>
|
||||
configure/os/CONFIG.Common.<target> Target common settings
|
||||
configure/os/CONFIG.<host>.<target> Host-target settings
|
||||
</PRE>
|
||||
|
||||
<B>R3.13 compatibility configuration</B><BR>
|
||||
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* files to agree with definitions you made in
|
||||
base/configure and base/configure/os files.
|
||||
</BLOCKQUOTE>
|
||||
<H4><B> Build EPICS base</B></H4>
|
||||
|
||||
<H4>Build EPICS base</H4>
|
||||
<BLOCKQUOTE>After configuring the build you should be able to build
|
||||
EPICS base by issuing the following commands in the distribution's root
|
||||
directory (base)<BLOCKQUOTE><TT>gnumake clean uninstall</TT>
|
||||
<BR> <TT>gnumake</TT></BLOCKQUOTE> The command "gnumake clean uninstall"
|
||||
directory (base):
|
||||
<PRE>
|
||||
gnumake clean uninstall
|
||||
gnumake
|
||||
</PRE>
|
||||
|
||||
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.
|
||||
<BR><BR> It is recommended that you do a "gnumake clean uninstall" at the
|
||||
|
||||
<P> It is recommended that you do a "gnumake clean uninstall" at the
|
||||
root directory of an EPICS directory structure before each complete
|
||||
rebuild to ensure that all components will be rebuilt.</BLOCKQUOTE></BLOCKQUOTE>
|
||||
rebuild to ensure that all components will be rebuilt.
|
||||
</BLOCKQUOTE>
|
||||
</BLOCKQUOTE>
|
||||
|
||||
<H3><A NAME="0_0_13"> Example application and extension</A></H3>
|
||||
<BLOCKQUOTE>A perl tool, makeBaseApp.pl is included in the distribution
|
||||
file. This script will create a sample application that can be built
|
||||
and then executed to try out this release of base.
|
||||
|
||||
</BLOCKQUOTE><BLOCKQUOTE>
|
||||
<P>
|
||||
Instructions for building and executing the 3.14 example application
|
||||
can be found in the section "Example Application" of Chapter 2,
|
||||
"Getting Started", in the "IOC Application Developer's Guide" for this
|
||||
@@ -562,14 +434,15 @@ Build choices. Specify target archs.<br></TT>
|
||||
By running the example application as a host-based IOC, you will be
|
||||
able to quickly implement a complete EPICS system and be able to run channel
|
||||
access clients on the host system.
|
||||
</BLOCKQUOTE>
|
||||
<BLOCKQUOTE>
|
||||
|
||||
<P>
|
||||
A perl script,
|
||||
makeBaseExt.pl, is included in the distribution file. This script will
|
||||
create a sample extension that can be built and executed. The
|
||||
makeBaseApp.pl and makeBaseExt.pl scripts are installed into the
|
||||
install location bin/<hostarch> directory during the base build.
|
||||
</BLOCKQUOTE>
|
||||
|
||||
<H3><A NAME="0_0_14"> Multiple host platforms</A></H3>
|
||||
<BLOCKQUOTE>You can build using a single EPICS directory structure on
|
||||
multiple host systems and for multiple cross target systems. The
|
||||
@@ -584,7 +457,8 @@ Build choices. Specify target archs.<br></TT>
|
||||
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/c++ cross compiler and target header files and the
|
||||
base/configure/os directory must have the appropriate configure files.</BLOCKQUOTE>
|
||||
</BLOCKQUOTE></BODY>
|
||||
host/target C/C++ cross compiler and target header files and the
|
||||
base/configure/os directory must have the appropriate configure files.
|
||||
</BLOCKQUOTE>
|
||||
</BODY>
|
||||
</HTML>
|
||||
|
||||
@@ -1,78 +0,0 @@
|
||||
Compiling EPICS and Building IOC Applications on Tru64Unix/Alpha
|
||||
(former Digital-Unix, and even former OSF1)
|
||||
for architectures "osf-alpha" and "osf-alpha-gnu"
|
||||
|
||||
======================================================================
|
||||
|
||||
Tools needed
|
||||
------------
|
||||
|
||||
For C/C++ Compiler, you need one of these compiler set.
|
||||
|
||||
- DEC/Compaq/HP's ANSI C/C++ compilers for "osf-alpha"
|
||||
I used
|
||||
cc -V
|
||||
Compaq C V6.5-303 (dtk) on Compaq Tru64 UNIX V5.1B (Rev. 2650)
|
||||
Compiler Driver V6.5-302 (dtk) cc Driver
|
||||
cxx -V
|
||||
Compaq C++ V6.5-042 for Compaq Tru64 UNIX V5.1B (Rev. 2650)
|
||||
Compiler Driver V6.5-042 (cxx) cxx Driver
|
||||
|
||||
- GNU gcc/g++ compiler for "osf-alpha-gnu"
|
||||
I used
|
||||
gcc --version
|
||||
gcc (GCC) 3.4.3
|
||||
|
||||
Environment
|
||||
-----------
|
||||
|
||||
Before compiling, please set the environment variable EPICS_HOST_ARCH
|
||||
dependent on your compiler.
|
||||
|
||||
for cc/cxx
|
||||
setenv EPICS_HOST_ARCH osf-alpha
|
||||
(setenv EPICS_HOST_ARCH `startup/EpicsHostArch.pl`)
|
||||
export EPICS_HOST_ARCH=osf-alpha
|
||||
|
||||
for gcc/g++
|
||||
setenv EPICS_HOST_ARCH osf-alpha-gnu
|
||||
(setenv EPICS_HOST_ARCH `startup/EpicsHostArch.pl gnu`)
|
||||
export EPICS_HOST_ARCH=osf-alpha-gnu
|
||||
|
||||
Building
|
||||
--------
|
||||
|
||||
Should be quite straightforward. Edit (if necessary) the CONFIG_SITE
|
||||
files and "make". (Be sure that GNU make is in your path or call it
|
||||
explicitly as the standard make on Tru64Unix is _not_ GNU.)
|
||||
|
||||
For example (with csh):
|
||||
setenv EPICS_HOST_ARCH `startup/EpicsHostArch.pl`
|
||||
make |& tee ../make-base-osf.log
|
||||
make runtests | & tee ../test-base-osf.log
|
||||
setenv EPICS_HOST_ARCH `startup/EpicsHostArch.pl gnu`
|
||||
make |& tee ../make-base-osfgnu.log
|
||||
|
||||
Minor errors are detected in and timer. They should be investigated
|
||||
later.
|
||||
|
||||
Some internals
|
||||
-----------------------
|
||||
|
||||
__alpha is used to distinguish this architecture from others.
|
||||
__DECCXX is used to distinguish DEC/Compaq/HP C++ compiler from GNU's.
|
||||
There are several ways to specify compiler options for pthread.
|
||||
Please consult the pthread(3) manual page.
|
||||
src/libCom/osi/os/osf is used for osi definitions,
|
||||
src/libCom/osi/os/alpha is not used.
|
||||
About 230 warning messages with cc/cxx, and 4 with gcc. Sometimes
|
||||
errors from cxx are intuitive.
|
||||
I just started to use IOC application for a gateway purpose. There
|
||||
can be architecture-dependent problems, that I didn't find yet.
|
||||
|
||||
Only several lines in configure and src files were modified from
|
||||
base-3.14.4/5/6/7/8/8.2/9pre. Thanks the core team for keeping
|
||||
the alpha-osf dependent part in the distribution.
|
||||
|
||||
<URL:http://www-linac.kek.jp/jk/osf/>
|
||||
Kazuro Furukawa <kazuro.furukawa at kek.jp>
|
||||
@@ -3,15 +3,399 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1">
|
||||
<title>EPICS Base R3.14.12 Release Notes</title>
|
||||
<title>EPICS Base R3.14.12.2-rc1 Release Notes</title>
|
||||
</head>
|
||||
|
||||
<body lang="en">
|
||||
<h1 align="center">EPICS Base Release 3.14.12</h1>
|
||||
<h1 align="center">EPICS Base Release 3.14.12.2-rc1</h1>
|
||||
|
||||
<h2 align="center">Changes between 3.14.12.1 and 3.14.12.2-rc1</h2>
|
||||
|
||||
<!-- Insert new items immediately below here ... -->
|
||||
|
||||
<h4>Added <tt>-b</tt> option to dbExpand</h4>
|
||||
|
||||
<p>This turns off monotonic checking of breakpoint tables.</p>
|
||||
|
||||
<h4>Launchpad Bugs Resolved</h4>
|
||||
|
||||
<p>The following are links to bugs in the Launchpad bug tracker that have been
|
||||
fixed in this release:</p>
|
||||
|
||||
<ul>
|
||||
<li>697509
|
||||
<a href="https://launchpad.net/bugs/697509">
|
||||
Thread synchronization issue in libCom/osi/os/WIN32/osdTime.cpp</a></li>
|
||||
<li>697516
|
||||
<a href="https://launchpad.net/bugs/697516">
|
||||
Crash occurs in Com.dll if filetime is before the EPICS epoch </a></li>
|
||||
<li>697517
|
||||
<a href="https://launchpad.net/bugs/697517">
|
||||
WIN32 osdtime should handle the system time change properly</a></li>
|
||||
<li>697519
|
||||
<a href="https://launchpad.net/bugs/697519">
|
||||
The incorrect way to compute the roll-over in WIN32 osdTime.cpp</a></li>
|
||||
<li>736273
|
||||
<a href="https://launchpad.net/bugs/736273">
|
||||
nonstandard c++ mutable ref in cac</a></li>
|
||||
<li>786979
|
||||
<a href="https://launchpad.net/bugs/786979">
|
||||
incorrect ref counting for timer queues</a></li>
|
||||
<li>794749
|
||||
<a href="https://launchpad.net/bugs/794749">
|
||||
3.14.12 caget without -c always requests maximum element count</a></li>
|
||||
<li>816678
|
||||
<a href="https://launchpad.net/bugs/816678">
|
||||
g++ generic thunk generation fails virtual varargs</a></li>
|
||||
<li>831648
|
||||
<a href="https://launchpad.net/bugs/831648">
|
||||
RTEMS dynamically loaded app fails to execute osdTimeRegister</a></li>
|
||||
<li>835138
|
||||
<a href="https://launchpad.net/bugs/835138">
|
||||
Incorrect calculation oss priorities for posix threads</a></li>
|
||||
<li>861214
|
||||
<a href="https://launchpad.net/bugs/861214">
|
||||
epicsThreadOnce crashes in static object destructor on win32</a></li>
|
||||
<li>861627
|
||||
<a href="https://launchpad.net/bugs/861627">
|
||||
RULES.db has incorrect dbExpand flags</a></li>
|
||||
<li>878372
|
||||
<a href="https://launchpad.net/bugs/878372">
|
||||
in-memory channel, ca client subscribe isnt thread safe</a></li>
|
||||
<li>878387
|
||||
<a href="https://launchpad.net/bugs/878387">
|
||||
In memory channel clear fails from put callback function</a></li>
|
||||
</ul>
|
||||
|
||||
<h4>Added database sanity checks to iocInit</h4>
|
||||
|
||||
<p>Two menus may legitimately be modified by users; some checks have been added
|
||||
that run at iocInit and make sure the choices haven't been changed too much for
|
||||
the IOC to function properly:</p>
|
||||
|
||||
<ul>
|
||||
<li><tt>menuConvert</tt> is checked to flag problems with IOCs converted from
|
||||
3.13.x, where the SLOPE choice didn't exist.</p>
|
||||
<li><tt>menuScan</tt> is checked to ensure the three initial choices are still
|
||||
present and that there is at least one periodic scan rate.</li>
|
||||
</ul>
|
||||
|
||||
<h4>Fix various catools issues</h4>
|
||||
|
||||
<p>Array handling in the caget and camonitor programs has been debugged, fixing
|
||||
<a href="https://bugs.launchpad.net/bugs/794749">launchpad bug 794749</a> along
|
||||
with a few other related issues dating back to the addition of variable length
|
||||
array support.</p>
|
||||
|
||||
<h4>Another race condition in errlog cleaned up</h4>
|
||||
|
||||
<p>If it was still busy when the IOC was closed down, the errlog thread could
|
||||
have preempted the exit handler and freed the various internal pvtData mutex and
|
||||
event objects too soon.</p>
|
||||
|
||||
<h4>Top-level make target changes</h4>
|
||||
|
||||
<p>Several make targets have been changed. Note that these can only be used from
|
||||
an application's <top> directory.</p>
|
||||
|
||||
<dl>
|
||||
<dt><code>make uninstall.<arch></code></dt>
|
||||
<dd>Deletes the bin/<arch> and lib/<arch> directories for
|
||||
<arch> only. Note that <arch> does not have to be an
|
||||
architecture that this host is configured to build, it works for any
|
||||
arch.</dd>
|
||||
|
||||
<dt><code>make archuninstall</code></dt>
|
||||
<dd>Deletes the bin/<arch> and lib/<arch> directories for all
|
||||
architectures that this host is configured to build. Should not affect files
|
||||
used for multiple architectures, or for host or target architectures that
|
||||
this host is not configured to build.</dd>
|
||||
|
||||
<dt><code>make uninstall</code></dt>
|
||||
<dd>Does archuninstall and also deletes the other install directories include,
|
||||
db, dbd, doc, html, templates and java. This will affect subsequent builds
|
||||
for other architectures, but it doesn't delete their bin/<arch> or
|
||||
lib/<arch> contents.</dd>
|
||||
|
||||
<dt><code>make realuninstall</code></dt>
|
||||
<dd>Deletes all install directories for all architectures.</dd>
|
||||
|
||||
<dt><code>make distclean</code></dt>
|
||||
<dd>Does realclean realuninstall as before, and also now does a cvsclean,
|
||||
which removes file remnants from CVS operations named <code>.#*</code> and
|
||||
editor backups named <code>*~</code> throughout the source tree.</dd>
|
||||
|
||||
</dl>
|
||||
|
||||
<h4>Compress record type</h4>
|
||||
|
||||
<p>This record now posts monitors on its NUSE field whenever its value changes.
|
||||
A new field OUSE was added to support this.</p>
|
||||
|
||||
<h4>Remove C++ build rule for <code>.C</code> files</h4>
|
||||
|
||||
<p>An early convention on Unix systems was to name C++ files with an upper-case
|
||||
extention, <code>.C</code>. This does not work on Windows or MacOS where the
|
||||
filesystems are case-insensitive, and the C++ build rule was causing problems so
|
||||
has been eliminated. Any remaining C++ source files that are still using this
|
||||
convention will have to be renamed, preferably to <code>.cpp</code></p>
|
||||
|
||||
<h4>Support <code>make -s</code> on Windows</h4>
|
||||
|
||||
<p>The flag to silence build output did not work on some Windows architecture
|
||||
combinations. This has now been fixed.</p>
|
||||
|
||||
<h4>iocLogServer now supports logrotate</h4>
|
||||
|
||||
<p>The feature in the iocLogServer that closed and reopened the logfile used to
|
||||
ignore the SIGHUP signal when the log filename did not change. This has now been
|
||||
changed so these logfiles can be used with the standard Linux logrotate
|
||||
package.</p>
|
||||
|
||||
|
||||
<h2 align="center">Changes between 3.14.12 and 3.14.12.1</h2>
|
||||
|
||||
<p>This release only contains changes that fix bugs or add build configuration
|
||||
files for new or updated target architectures. No functionality has been
|
||||
changed, and as this is a patch release the software has not gone through as
|
||||
rigorous a testing regime as it does for a normal minor release.</p>
|
||||
|
||||
<h4>Launchpad Bugs Resolved</h4>
|
||||
|
||||
<p>The following are links to bugs in the Launchpad bug tracker that have been
|
||||
fixed in this release:</p>
|
||||
|
||||
<ul>
|
||||
<li>693534
|
||||
<a href="https://launchpad.net/bugs/693534">
|
||||
errlog causes crash on IOC exit</a></li>
|
||||
<li>701673
|
||||
<a href="https://launchpad.net/bugs/701673">
|
||||
Large array problem in 3.14.12</a></li>
|
||||
<li>717252
|
||||
<a href="https://launchpad.net/bugs/771252">
|
||||
local caput causes ioc crash on win32</a></li>
|
||||
<li>750549
|
||||
<a href="https://launchpad.net/bugs/750549 ">
|
||||
epicsTime has non-portable c++ static initialization</a></li>
|
||||
<li>753137
|
||||
<a href="https://launchpad.net/bugs/753137">
|
||||
Makefile dependency checking of database files is broken</a></li>
|
||||
</ul>
|
||||
|
||||
<h4>New/Updated target architectures</h4>
|
||||
|
||||
<p>The following target architectures have been added or updated:</p>
|
||||
|
||||
<dl>
|
||||
<dt>vxWorks-mpc8548</dt>
|
||||
<dt>vxWorks-mpc8548-debug</dt>
|
||||
<dd style="margin-bottom: 1ex">This PowerPC CPU is used on the Emerson MVME4100
|
||||
VME CPU board (from Ernest Williams, SLAC).</dd>
|
||||
|
||||
<dt>vxWorks-ppc32</dt>
|
||||
<dt>vxWorks-ppc32sf</dt>
|
||||
<dt>vxWorks-ppc32-debug</dt>
|
||||
<dt>vxWorks-ppc32sf-debug</dt>
|
||||
<dd style="margin-bottom: 1ex">New generic 32-bit PowerPC targets for vxWorks
|
||||
6.x, using hardware or software floating-point. These targets can be used
|
||||
instead of the CPU-specific ppc603, ppc604, mpc8540 and mpc8548 targets (and
|
||||
their _long alternatives, these targets are all compiled with the -mlongcall
|
||||
flag) to reduce the number of distinct build targets needed when supporting
|
||||
multiple PowerPC board types.</dd>
|
||||
|
||||
<dt>ios-386</dt>
|
||||
<dt>ios-arm</dt>
|
||||
<dd style="margin-bottom: 1ex">Updated for iOS 4.3, which is now the default OS
|
||||
version (from Tom Palaia, ORNL).</dd>
|
||||
|
||||
</dl>
|
||||
|
||||
<h4>IOCSH_STARTUP_SCRIPT environment variable</h4>
|
||||
|
||||
<p>The function <tt>iocsh(const char *pathname)</tt> now sets the environment
|
||||
variable <tt>IOCSH_STARTUP_SCRIPT</tt> to the value of its pathname
|
||||
argument before it starts executing the script commands.</p>
|
||||
|
||||
<h4>RTEMS-mvme5500</h4>
|
||||
|
||||
<p>This target now automatically links binary files with the bspExt library, and
|
||||
adds the extension <tt>.elf</tt> to their filenames, matching the other mvme
|
||||
targets.</p>
|
||||
|
||||
<h4>RTEMS Network Buffer Configuration</h4>
|
||||
|
||||
<p>Add the macros <tt>RTEMS_NETWORK_CONFIG_MBUF_SPACE</tt> and
|
||||
<tt>RTEMS_NETWORK_CONFIG_MBUF_SPACE</tt> to rtems_netconfig.c to allow
|
||||
customization of the network buffer space allocated. The configuration files
|
||||
for the RTEMS-mvme3100, RTEMS-mvme5500 and RTEMS-beatnik targets now default to
|
||||
allocating 2MB for mbufs and 5MB for clusters; other RTEMS targets will continue
|
||||
to use 180KB and 350KB rspectively.</p>
|
||||
|
||||
<h4>RTEMS TFTP filesystem</h4>
|
||||
|
||||
<p>Use the new mount API to initialize TFTP on newer RTEMS versions.</p>
|
||||
|
||||
<h4>C++ build issues on older Solaris compiler</h4>
|
||||
|
||||
<p>Dirk Zimoch reported some problems building with an older SUNWspro C++
|
||||
compiler which have been resolved where possible.</p>
|
||||
|
||||
<h4>FreeBSD broadcast problem</h4>
|
||||
|
||||
<p>The <tt>ifreq_size</tt> macro in freebsd/osdsock.h must be different in BSD
|
||||
4.4.</p>
|
||||
|
||||
<h4>Thread exit synchronization</h4>
|
||||
|
||||
<p>When finished waiting for a thread to exit, signal the event in case other
|
||||
threads are waiting also.</p>
|
||||
|
||||
<h4>Win32 osdTime provider fix</h4>
|
||||
|
||||
<p>Jeff Hill fixed the last time compare in PLL drift factor update loop.</p>
|
||||
|
||||
<h4>Errlog can lose messages</h4>
|
||||
|
||||
<p>Systems that generate large numbers of errlog messages or have a slow message
|
||||
listener could overwrite older messages in the message buffer after the buffer
|
||||
wraps. This also corrects and annotates the test code to describe what's being
|
||||
checked.</p>
|
||||
|
||||
<p>When the IOC is shutting down, the errlog thread should process all queued
|
||||
messages before it quits.</p>
|
||||
|
||||
<h4>Back-slash escapes for Win32</h4>
|
||||
|
||||
<p>Stephen Norum pointed out the need for various Perl scripts to escape
|
||||
back-slash characters in Windows file paths.</p>
|
||||
|
||||
<h4>catools on Windows</h4>
|
||||
|
||||
<p>Windows 7 does not properly support line-mode buffering of stdio streams; the
|
||||
catools programs used this mode to ensure that they could be used in pipelines,
|
||||
but in Windows 7 they became fully buffered and are not flushed when the program
|
||||
exits, so buffering of stdout has now been completely disabled on Windows.</p>
|
||||
|
||||
|
||||
<h2 align="center">Changes between 3.14.11 and 3.14.12</h2>
|
||||
<!-- Insert new items immediately below here ... -->
|
||||
|
||||
<h4>Launchpad Bugs Resolved</h4>
|
||||
|
||||
<p>The following are links to bugs in the Launchpad bug tracker that have been
|
||||
fixed in this release:</p>
|
||||
|
||||
<ul>
|
||||
<li>541258
|
||||
<a href="https://bugs.launchpad.net/epics-base/+bug/541258">
|
||||
compiler warnings in base</a></li>
|
||||
<li>541264
|
||||
<a href="https://bugs.launchpad.net/epics-base/+bug/541264">
|
||||
CA subscription element count is fixed - eliminates compressed video
|
||||
option</a></li>
|
||||
<li>541331
|
||||
<a href="https://bugs.launchpad.net/epics-base/+bug/541331">
|
||||
Several devLib routines don't use vector table</a></li>
|
||||
<li>541391
|
||||
<a href="https://bugs.launchpad.net/epics-base/+bug/541391">
|
||||
when subscribing for zero elements, array element count should be
|
||||
dynamic</a></li>
|
||||
<li>545385
|
||||
<a href="https://bugs.launchpad.net/epics-base/+bug/545385">
|
||||
SIGFPE calculating epicsNAN, epicsINF</a></li>
|
||||
<li>546991
|
||||
<a href="https://bugs.launchpad.net/epics-base/+bug/546991">
|
||||
prev. value fields not initialized in init_record</a></li>
|
||||
<li>551909
|
||||
<a href="https://bugs.launchpad.net/epics-base/+bug/551909">
|
||||
macExpandString writes out of boundary</a></li>
|
||||
<li>552803
|
||||
<a href="https://bugs.launchpad.net/epics-base/+bug/552803">
|
||||
Compress record segfaults on ALG (algorithm) change</a></li>
|
||||
<li>571121
|
||||
<a href="https://bugs.launchpad.net/epics-base/+bug/571121">
|
||||
Perl issue compiling with INSTALL_LOCATION set</a></li>
|
||||
<li>572589
|
||||
<a href="https://bugs.launchpad.net/epics-base/+bug/572589">
|
||||
Make dbl emit empty strings for non-existent fields</a></li>
|
||||
<li>595154
|
||||
<a href="https://bugs.launchpad.net/epics-base/+bug/595154">
|
||||
C++ errors building base using cygwin1.7</a></li>
|
||||
<li>595240
|
||||
<a href="https://bugs.launchpad.net/epics-base/+bug/595240">
|
||||
C code uses C++ keywords as variable names</a></li>
|
||||
<li>595242
|
||||
<a href="https://bugs.launchpad.net/epics-base/+bug/595242">
|
||||
C code uses C++ "//" style comments</a></li>
|
||||
<li>615916
|
||||
<a href="https://bugs.launchpad.net/epics-base/+bug/615916">
|
||||
Bug in RULES.Db breaks parallel make when using MSI</a></li>
|
||||
<li>625034
|
||||
<a href="https://bugs.launchpad.net/epics-base/+bug/625034">
|
||||
Remove compiler checks for VMS in src/toolsComm/flex</a></li>
|
||||
<li>626848
|
||||
<a href="https://bugs.launchpad.net/epics-base/+bug/626848">
|
||||
Build with GNU make 3.82 fails when installing libraries</a></li>
|
||||
<li>626859
|
||||
<a href="https://bugs.launchpad.net/epics-base/+bug/626859">
|
||||
RTEMS build does not create .d dependancy files</a></li>
|
||||
<li>627511
|
||||
<a href="https://bugs.launchpad.net/epics-base/+bug/627511">
|
||||
MSVC linker fails if input lib dirs start with forward slash</a></li>
|
||||
<li>644263
|
||||
<a href="https://bugs.launchpad.net/epics-base/+bug/644263">
|
||||
EPICS softIOC always dies in response to SIGHUP</a></li>
|
||||
<li>650000
|
||||
<a href="https://bugs.launchpad.net/epics-base/+bug/650000">
|
||||
caput tool won't write to mbbo w/o state strings</a></li>
|
||||
<li>663875
|
||||
<a href="https://bugs.launchpad.net/epics-base/+bug/663875">
|
||||
NTP broadcasts break NTP synchronization (RTEMS)</a></li>
|
||||
<li>667384
|
||||
<a href="https://bugs.launchpad.net/epics-base/+bug/667384">
|
||||
are the request and response bytes pending reversed in casr?</a></li>
|
||||
<li>680702
|
||||
<a href="https://bugs.launchpad.net/epics-base/+bug/680702">
|
||||
calc and calcout record get_precision bug</a></li>
|
||||
</ul>
|
||||
|
||||
<h4>Support for Cygwin 1.7</h4>
|
||||
|
||||
<p>Base can now built with shared libraries on Cygwin 1.7.x, although only with
|
||||
the gcc-3 compiler. Cygwin 1.5.x only works when compiled without shared
|
||||
libraries (set <tt>STATIC_BUILD=YES</tt> and <tt>SHARED_LIBRARIES=NO</tt> in
|
||||
<tt>configure/CONFIG_SITE</tt>). There is code in Base now that depends on the
|
||||
Cygwin version, so make sure that you rebuild Base if you upgrade your Cygwin
|
||||
installation.</p>
|
||||
|
||||
<h4>epicsEvent</h4>
|
||||
|
||||
<p>epicsEvent is now explicitly required to act as a simple binary semaphore.
|
||||
A single epicsEventSignal call must awaken just one thread when multiple
|
||||
threads are waiting for the event. A test that checks for this has been
|
||||
added to epicsEventTest and the Application Developer's Guide has been updated
|
||||
to describe this requirement.</p>
|
||||
|
||||
<h4>Enable array puts to subArray records</h4>
|
||||
|
||||
<p>It is now possible to put an array into the VAL field of a soft channel
|
||||
subArray record whose INP field is empty. Processing the record then causes the
|
||||
sub-array extraction process to be done on the current VAL array. This can be
|
||||
used to feed a sequence of values into some other record (set INDX=1 and
|
||||
NELM=MALM and read one element out of the VAL field each time).</p>
|
||||
|
||||
<h4>Added windows-x64 target</h4>
|
||||
|
||||
<p>64-bit binaries for Microsoft Windows platforms can now be built using the
|
||||
target architecture windows-x64, which is also a valid cross-build target for a
|
||||
win32-x86 host. We do not currently support or recommend trying to use 64-bit
|
||||
builds on MinGW or Cygwin.</p>
|
||||
|
||||
<h4>Deleted osf-alpha targets</h4>
|
||||
|
||||
<p>Kazuro Furukawa has been unable to compile EPICS Base on this target for the
|
||||
last few releases and it's not really needed any more, so the targets have been
|
||||
deleted from this release.</p>
|
||||
|
||||
<h4>Expanded CALC expressions</h4>
|
||||
|
||||
@@ -72,8 +456,8 @@ connections over ssh. See the CA reference manual for more details.</p>
|
||||
<h4>Record Types aai and aao</h4>
|
||||
|
||||
<ul>
|
||||
<li>Fixed bug in memory allocation that caused crashes when linking other records
|
||||
to aai or aao.</li>
|
||||
<li>Fixed bug in memory allocation that caused crashes when linking other
|
||||
records to aai or aao.</li>
|
||||
<li>Fixed bug where NELM was modified instead of NORD.</li>
|
||||
<li>Added Soft Channel device support.</li>
|
||||
<li>Added SIOL link and proper simulation mode for Soft Channel support.</li>
|
||||
@@ -101,19 +485,20 @@ macro <tt>NO_DEVLIB_COMPAT</tt> is defined.</li>
|
||||
<li>The "virtual os" table was renamed from <tt>pdevLibVirtualOS</tt> to
|
||||
<tt>pdevLibVME</tt> reflecting the fact that other bus types will need seperate
|
||||
tables.</li>
|
||||
<li>The "virtual os" table API has been moved to a seperate header file,
|
||||
<li>The "virtual os" table API has been moved to a different header file,
|
||||
<tt>devLibVMEImpl.h</tt>.</li>
|
||||
</ul>
|
||||
|
||||
<h4>DTYP and INP/OUT order</h4>
|
||||
|
||||
<p>The fields DTYP and INP/OUT can now be specified in any order.</p>
|
||||
<p>The fields DTYP and INP/OUT can now be specified in any order in a database
|
||||
instance (.db) file.</p>
|
||||
|
||||
<h4>Rewrite epicsThreadOnce()</h4>
|
||||
|
||||
<p>Michael Davidsaver suggested a better implementation of epicsThreadOnce()
|
||||
which makes it possible for all architectures to detect recursive initialization
|
||||
functions. This change also renames the routines to remove the original macro
|
||||
functions. This change also renames the routines to remove the original macro,
|
||||
and fixes some questionable usage in places.</p>
|
||||
|
||||
<h4>Many Record Types</h4>
|
||||
@@ -124,7 +509,7 @@ giving correct initial monitor behavior in some circumstances.</p>
|
||||
|
||||
<h4>Compress Record Type</h4>
|
||||
|
||||
<p>Fixed crash when ALG (algorithm) was changed to Average at runtime.</p>
|
||||
<p>Fixed a crash when ALG (algorithm) was changed to Average at runtime.</p>
|
||||
|
||||
<h4>configure/RELEASE Enhancements</h4>
|
||||
|
||||
@@ -136,9 +521,11 @@ definition is expanded. The variable <tt>EPICS_HOST_ARCH</tt> can now be used,
|
||||
but target-architecture-specific values must be set in a target-specific
|
||||
<tt>configure/RELEASE</tt> file such as <tt>RELEASE.Common.linux-x86</tt>.</p>
|
||||
|
||||
<h4>VxWorks 6.7 support</h4>
|
||||
<h4>VxWorks 6.7 and 6.8 support</h4>
|
||||
|
||||
<p>Added build support for the latest Wind River release.</p>
|
||||
<p>Added build support for the latest Wind River releases. This does not
|
||||
include the ability to run on SMP vxWorks systems though, those will need some
|
||||
more extensive modifications.</p>
|
||||
|
||||
<h4>RTEMS 4.10 support</h4>
|
||||
|
||||
@@ -150,7 +537,7 @@ is used.</p>
|
||||
|
||||
<p>Changes to the way in which we generate header dependency files, which are
|
||||
now named with a <tt>.d</tt> suffix instead of <tt>.depends</tt>. We now use
|
||||
the compiler to generate these if possible, and create them in the
|
||||
the compiler to generate these where possible, and create them in the
|
||||
<tt>O.$(T_A)</tt> directory.</p>
|
||||
|
||||
<h4>Installed file permissions</h4>
|
||||
@@ -172,7 +559,11 @@ server.</p>
|
||||
readline; some need <tt>-lcurses</tt>, others <tt>-lncurses</tt> and others
|
||||
don't require either. The <tt>configure/os/CONFIG_SITE.Common.linux-*</tt>
|
||||
files now make this configuration easy to choose between different settings for
|
||||
the <tt>COMMANDLINE_LIBRARY</tt> variable.</p>
|
||||
the <tt>COMMANDLINE_LIBRARY</tt> variable. If your build fails as it's trying
|
||||
to create the <tt>antelope</tt> binary in the Base directory
|
||||
<tt>src/toolsComm/antelope/O.<i>arch</i></tt> this is almost certainly the
|
||||
problem. You will need to do a <tt>make rebuild</tt> from the top of Base after
|
||||
fixing the setting of <tt>COMMANDLINE_LIBRARY</tt>.</p>
|
||||
|
||||
<h4>CA Command Line Tools Changes</h4>
|
||||
|
||||
|
||||
@@ -61,7 +61,7 @@ DIRS += rec
|
||||
rec_DEPEND_DIRS = as registry
|
||||
|
||||
DIRS += misc
|
||||
misc_DEPEND_DIRS = rsrv rec
|
||||
misc_DEPEND_DIRS = dbtools rsrv rec
|
||||
|
||||
DIRS += dev
|
||||
dev_DEPEND_DIRS = rec misc
|
||||
|
||||
@@ -12,15 +12,14 @@ include $(TOP)/configure/CONFIG
|
||||
|
||||
INC += epicsRtemsInitHooks.h
|
||||
|
||||
SRCS += rtems_init.c
|
||||
SRCS += rtems_config.c
|
||||
SRCS += rtems_netconfig.c
|
||||
SRCS += rtems_util.c
|
||||
SRCS += setBootConfigFromNVRAM.c
|
||||
SRCS += epicsRtemsInitHookPre.c
|
||||
SRCS += epicsRtemsInitHookPost.c
|
||||
rtemsCom_SRCS += rtems_init.c
|
||||
rtemsCom_SRCS += rtems_config.c
|
||||
rtemsCom_SRCS += rtems_netconfig.c
|
||||
rtemsCom_SRCS += rtems_util.c
|
||||
rtemsCom_SRCS += setBootConfigFromNVRAM.c
|
||||
rtemsCom_SRCS += epicsRtemsInitHookPre.c
|
||||
rtemsCom_SRCS += epicsRtemsInitHookPost.c
|
||||
|
||||
LIBRARY_RTEMS = rtemsCom
|
||||
LIBRARY_SRCS = $(SRCS) $(BUILD_ARCHS)
|
||||
|
||||
include $(TOP)/configure/RULES
|
||||
|
||||
@@ -209,7 +209,17 @@ initialize_remote_filesystem(char **argv, int hasLocalFilesystem)
|
||||
{
|
||||
#ifdef OMIT_NFS_SUPPORT
|
||||
printf ("***** Initializing TFTP *****\n");
|
||||
#if __RTEMS_MAJOR__>4 || \
|
||||
(__RTEMS_MAJOR__==4 && __RTEMS_MINOR__>9) || \
|
||||
(__RTEMS_MAJOR__==4 && __RTEMS_MINOR__==9 && __RTEMS_REVISION__==99)
|
||||
mount_and_make_target_path(NULL,
|
||||
"/TFTP",
|
||||
RTEMS_FILESYSTEM_TYPE_TFTPFS,
|
||||
RTEMS_FILESYSTEM_READ_WRITE,
|
||||
NULL);
|
||||
#else
|
||||
rtems_bsdnet_initialize_tftp_filesystem ();
|
||||
#endif
|
||||
if (!hasLocalFilesystem) {
|
||||
char *path;
|
||||
int pathsize = 200;
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
/*************************************************************************\
|
||||
* Copyright (c) 2002 The University of Saskatchewan
|
||||
* EPICS BASE Versions 3.13.7
|
||||
* and higher are distributed subject to a Software License Agreement found
|
||||
* EPICS BASE is distributed subject to a Software License Agreement found
|
||||
* in file LICENSE that is included with this distribution.
|
||||
\*************************************************************************/
|
||||
/*
|
||||
@@ -93,6 +92,17 @@ static struct rtems_bsdnet_ifconfig bsp_driver_config = {
|
||||
# define MY_DO_BOOTP rtems_bsdnet_do_bootp
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Allow site- and BSP-specific network buffer space configuration.
|
||||
* The macro values are specified in KBytes.
|
||||
*/
|
||||
#ifndef RTEMS_NETWORK_CONFIG_MBUF_SPACE
|
||||
# define RTEMS_NETWORK_CONFIG_MBUF_SPACE 180
|
||||
#endif
|
||||
#ifndef RTEMS_NETWORK_CONFIG_CLUSTER_SPACE
|
||||
# define RTEMS_NETWORK_CONFIG_CLUSTER_SPACE 350
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Network configuration
|
||||
*/
|
||||
@@ -104,8 +114,8 @@ struct rtems_bsdnet_config rtems_bsdnet_config = {
|
||||
/* EPICS scan thread. */
|
||||
/* If non-zero then the network daemons will run */
|
||||
/* at this *RTEMS* priority */
|
||||
180*1024, /* MBUF space */
|
||||
350*1024, /* MBUF cluster space */
|
||||
RTEMS_NETWORK_CONFIG_MBUF_SPACE*1024,
|
||||
RTEMS_NETWORK_CONFIG_CLUSTER_SPACE*1024,
|
||||
NULL, /* Host name */
|
||||
MY_DOMAINNAME, /* Domain name */
|
||||
};
|
||||
|
||||
@@ -1,8 +1,16 @@
|
||||
/*************************************************************************\
|
||||
* Copyright (c) 2008 UChicago Argonne LLC, as Operator of Argonne
|
||||
* National Laboratory.
|
||||
* EPICS BASE is distributed subject to a Software License Agreement found
|
||||
* in file LICENSE that is included with this distribution.
|
||||
\*************************************************************************/
|
||||
|
||||
#include <sys/types.h>
|
||||
#include <sys/socket.h>
|
||||
#include <arpa/inet.h>
|
||||
#include <netinet/in.h>
|
||||
#include <fcntl.h> /* for open() */
|
||||
#include <fcntl.h>
|
||||
#include <unistd.h>
|
||||
#include <rtems/rtems_bsdnet.h>
|
||||
#include <bsp.h>
|
||||
#include <string.h>
|
||||
@@ -125,12 +133,13 @@ motScriptParm(const char *mot_script_boot, char parm)
|
||||
int l;
|
||||
|
||||
while (*mot_script_boot != '\0') {
|
||||
if (isspace(*mot_script_boot)
|
||||
if (isspace(*(unsigned char *)mot_script_boot)
|
||||
&& (*(mot_script_boot+1) == '-')
|
||||
&& (*(mot_script_boot+2) == parm)) {
|
||||
mot_script_boot += 3;
|
||||
cp = mot_script_boot;
|
||||
while ((*mot_script_boot != '\0') && !isspace(*mot_script_boot))
|
||||
while ((*mot_script_boot != '\0') &&
|
||||
!isspace(*(unsigned char *)mot_script_boot))
|
||||
mot_script_boot++;
|
||||
l = mot_script_boot - cp;
|
||||
ret = malloc(l+1);
|
||||
|
||||
@@ -22,7 +22,8 @@ DBD += bptTypeKdegF.dbd
|
||||
|
||||
PROD_LIBS = Com
|
||||
PROD_HOST += makeBpt
|
||||
makeBpt_SRCS=makeBpt
|
||||
|
||||
makeBpt_SRCS = makeBpt
|
||||
|
||||
include $(TOP)/configure/RULES
|
||||
|
||||
|
||||
@@ -64,6 +64,7 @@ $Date$</span></small></p>
|
||||
<li><a href="#Network">IP Network Administration Background
|
||||
Information</a></li>
|
||||
<li><a href="#port">IP port numbers</a></li>
|
||||
<li><a href="#firewall">Firewalls</a></li>
|
||||
<li><a href="#Environmen">WAN Environment</a></li>
|
||||
<li><a href="#Disconnect">Disconnect Time Out Interval / Server Beacon
|
||||
Period</a></li>
|
||||
@@ -245,7 +246,7 @@ $Date$</span></small></p>
|
||||
|
||||
<h3>Why Reconfigure Channel Access</h3>
|
||||
|
||||
<p>Typically reasons to reconfigure EPICS Channel Access:</p>
|
||||
<p>Typical reasons to reconfigure EPICS Channel Access:</p>
|
||||
<ul>
|
||||
<li>Two independent control systems must share a network without fear of
|
||||
interaction</li>
|
||||
@@ -451,6 +452,32 @@ different port numbers then an extended syntax may be used with the
|
||||
EPICS_CA_ADDR_LIST environment variable. See <a href="#Environmen">WAN
|
||||
Environment</a> below.</p>
|
||||
|
||||
<h3><a name="firewall">Firewalls</a></h3>
|
||||
|
||||
<p>If you want channel access clients on a machine to be able to see
|
||||
beacons and replies to broadcast PV search requests you need to permit
|
||||
inbound UDP packets with source port EPICS_CA_SERVER_PORT (default is 5064)
|
||||
or destination port EPICS_CA_REPEATER_PORT (default is 5065). On systems
|
||||
using iptables this can be accomplished by rules like</p>
|
||||
|
||||
<pre>
|
||||
-A INPUT -s 192.168.0.0/22 -p udp --sport 5064 -j ACCEPT
|
||||
-A INPUT -s 192.168.0.0/22 -p udp --dport 5065 -j ACCEPT
|
||||
</pre>
|
||||
|
||||
<p>If you want channel access servers (e.g. "soft IOCs") on a machine to be
|
||||
able to see clients you need to permit inbound TCP or UDP packets with source
|
||||
port EPICS_CA_SERVER_PORT (default is 5064). On systems using iptables this
|
||||
can be accomplished by rules like</p>
|
||||
|
||||
<pre>
|
||||
-A INPUT -s 192.168.0.0/22 -p udp --dport 5064 -j ACCEPT
|
||||
-A INPUT -s 192.168.0.0/22 -p tcp --dport 5064 -j ACCEPT
|
||||
</pre>
|
||||
|
||||
<p>In all cases the "-s 192.168.0.0/22" specifies the range of addresses from
|
||||
which you wish to accept packets.</p>
|
||||
|
||||
<h3><a name="Environmen">WAN Environment</a></h3>
|
||||
|
||||
<p>When the CA client library connects a channel it must first determine the IP
|
||||
@@ -1295,7 +1322,7 @@ the output.</p>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>-s</td>
|
||||
<td>Get value as string (may honour server-side precision)</td>
|
||||
<td>Get value as string (honors server-side precision)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>-lx</td>
|
||||
@@ -1439,7 +1466,7 @@ the output.</p>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>-s</td>
|
||||
<td>Get value as string (may honour server-side precision)</td>
|
||||
<td>Get value as string (honors server-side precision)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>-lx</td>
|
||||
@@ -4332,7 +4359,7 @@ that use ca_context_destroy).</p>
|
||||
<p><a href="#ca_context_destroy">ca_context_destroy</a>()</p>
|
||||
|
||||
<h3><code><a name="ca_dump_dbr">ca_dump_dbr()</a></code></h3>
|
||||
<pre>void ca_dump_dbr (chtype TYPE, unsigned COUNT, const void * PDBR);</pre>
|
||||
<code><pre>void ca_dump_dbr (chtype TYPE, unsigned COUNT, const void * PDBR);</pre></code>
|
||||
|
||||
<h4>Description</h4>
|
||||
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user