Compare commits
80 Commits
R3.14.12-p
...
R3.14.12.1
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
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 |
@@ -30,15 +30,15 @@ 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 = 1
|
||||
|
||||
# This will end in -DEV between official releases
|
||||
#EPICS_DEV_SNAPSHOT=-DEV
|
||||
#EPICS_DEV_SNAPSHOT=-pre1
|
||||
#EPICS_DEV_SNAPSHOT=-pre1-DEV
|
||||
EPICS_DEV_SNAPSHOT=-pre2
|
||||
#EPICS_DEV_SNAPSHOT=-pre2
|
||||
#EPICS_DEV_SNAPSHOT=-pre2-DEV
|
||||
#EPICS_DEV_SNAPSHOT=-rc1
|
||||
EPICS_DEV_SNAPSHOT=-rc1
|
||||
#EPICS_DEV_SNAPSHOT=-rc1-DEV
|
||||
#EPICS_DEV_SNAPSHOT=-rc2
|
||||
#EPICS_DEV_SNAPSHOT=-rc2-DEV
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -78,12 +78,15 @@
|
||||
# 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
|
||||
@@ -103,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
|
||||
|
||||
@@ -109,7 +109,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)))
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -4,11 +4,21 @@
|
||||
<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.12</title>
|
||||
<title>Known Problems in R3.14.12.1</title>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<h1 style="text-align: center">EPICS Base R3.14.12: 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>
|
||||
|
||||
|
||||
@@ -3,21 +3,230 @@
|
||||
<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.1 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.1</h1>
|
||||
|
||||
<!-- Insert new items immediately below here ... -->
|
||||
|
||||
<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 new functionality has been
|
||||
added, 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>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 64-bit MinGW or Cygwin builds.</p>
|
||||
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>
|
||||
|
||||
@@ -84,8 +293,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>
|
||||
@@ -113,19 +322,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>
|
||||
@@ -136,7 +346,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>
|
||||
|
||||
@@ -148,9 +358,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>
|
||||
|
||||
@@ -162,7 +374,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>
|
||||
@@ -184,7 +396,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>
|
||||
|
||||
|
||||
@@ -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,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);
|
||||
|
||||
@@ -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>
|
||||
@@ -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>
|
||||
|
||||
@@ -360,6 +360,6 @@ void bheFreeStore::release ( void * pCadaver )
|
||||
freeList.release ( pCadaver );
|
||||
}
|
||||
|
||||
epicsShareFunc bheMemoryManager::~bheMemoryManager () {}
|
||||
bheMemoryManager::~bheMemoryManager () {}
|
||||
|
||||
|
||||
|
||||
@@ -45,9 +45,9 @@ class bheMemoryManager;
|
||||
|
||||
// using a pure abstract wrapper class around the free list avoids
|
||||
// Tornado 2.0.1 GNU compiler bugs
|
||||
class bheMemoryManager {
|
||||
class epicsShareClass bheMemoryManager {
|
||||
public:
|
||||
epicsShareFunc virtual ~bheMemoryManager ();
|
||||
virtual ~bheMemoryManager ();
|
||||
virtual void * allocate ( size_t ) = 0;
|
||||
virtual void release ( void * ) = 0;
|
||||
};
|
||||
|
||||
@@ -28,6 +28,18 @@
|
||||
|
||||
#include "epicsTimer.h"
|
||||
|
||||
#ifdef epicsExportSharedSymbols
|
||||
# define repeaterSubscribeTimerh_epicsExportSharedSymbols
|
||||
# undef epicsExportSharedSymbols
|
||||
#endif
|
||||
|
||||
#include "epicsTimer.h"
|
||||
|
||||
#ifdef repeaterSubscribeTimerh_epicsExportSharedSymbols
|
||||
# define epicsExportSharedSymbols
|
||||
# include "shareLib.h"
|
||||
#endif
|
||||
|
||||
class epicsMutex;
|
||||
class cacContextNotify;
|
||||
|
||||
|
||||
@@ -26,8 +26,18 @@
|
||||
#ifndef tcpRecvWatchdogh
|
||||
#define tcpRecvWatchdogh
|
||||
|
||||
#ifdef epicsExportSharedSymbols
|
||||
# define tcpRecvWatchdogh_epicsExportSharedSymbols
|
||||
# undef epicsExportSharedSymbols
|
||||
#endif
|
||||
|
||||
#include "epicsTimer.h"
|
||||
|
||||
#ifdef tcpRecvWatchdogh_epicsExportSharedSymbols
|
||||
# define epicsExportSharedSymbols
|
||||
# include "shareLib.h"
|
||||
#endif
|
||||
|
||||
class tcpiiu;
|
||||
|
||||
class tcpRecvWatchdog : private epicsTimerNotify {
|
||||
|
||||
@@ -26,8 +26,19 @@
|
||||
#ifndef tcpSendWatchdogh
|
||||
#define tcpSendWatchdogh
|
||||
|
||||
|
||||
#ifdef epicsExportSharedSymbols
|
||||
# define tcpSendWatchdogh_epicsExportSharedSymbols
|
||||
# undef epicsExportSharedSymbols
|
||||
#endif
|
||||
|
||||
#include "epicsTimer.h"
|
||||
|
||||
#ifdef tcpSendWatchdogh_epicsExportSharedSymbols
|
||||
# define epicsExportSharedSymbols
|
||||
# include "shareLib.h"
|
||||
#endif
|
||||
|
||||
class tcpSendWatchdog : private epicsTimerNotify {
|
||||
public:
|
||||
tcpSendWatchdog (
|
||||
|
||||
@@ -1866,10 +1866,14 @@ void tcpiiu::unlinkAllChannels (
|
||||
guard.assertIdenticalMutex ( this->mutex );
|
||||
|
||||
while ( nciu * pChan = this->createReqPend.get () ) {
|
||||
pChan->channelNode::listMember =
|
||||
channelNode::cs_none;
|
||||
pChan->serviceShutdownNotify ( cbGuard, guard );
|
||||
}
|
||||
|
||||
while ( nciu * pChan = this->createRespPend.get () ) {
|
||||
pChan->channelNode::listMember =
|
||||
channelNode::cs_none;
|
||||
// we dont yet know the server's id so we cant
|
||||
// send a channel delete request and will instead
|
||||
// trust that the server can do the proper cleanup
|
||||
@@ -1878,12 +1882,16 @@ void tcpiiu::unlinkAllChannels (
|
||||
}
|
||||
|
||||
while ( nciu * pChan = this->v42ConnCallbackPend.get () ) {
|
||||
pChan->channelNode::listMember =
|
||||
channelNode::cs_none;
|
||||
this->clearChannelRequest ( guard,
|
||||
pChan->getSID(guard), pChan->getCID(guard) );
|
||||
pChan->serviceShutdownNotify ( cbGuard, guard );
|
||||
}
|
||||
|
||||
while ( nciu * pChan = this->subscripReqPend.get () ) {
|
||||
pChan->channelNode::listMember =
|
||||
channelNode::cs_none;
|
||||
pChan->disconnectAllIO ( cbGuard, guard );
|
||||
this->clearChannelRequest ( guard,
|
||||
pChan->getSID(guard), pChan->getCID(guard) );
|
||||
@@ -1891,6 +1899,8 @@ void tcpiiu::unlinkAllChannels (
|
||||
}
|
||||
|
||||
while ( nciu * pChan = this->connectedList.get () ) {
|
||||
pChan->channelNode::listMember =
|
||||
channelNode::cs_none;
|
||||
pChan->disconnectAllIO ( cbGuard, guard );
|
||||
this->clearChannelRequest ( guard,
|
||||
pChan->getSID(guard), pChan->getCID(guard) );
|
||||
@@ -1898,6 +1908,8 @@ void tcpiiu::unlinkAllChannels (
|
||||
}
|
||||
|
||||
while ( nciu * pChan = this->unrespCircuit.get () ) {
|
||||
pChan->channelNode::listMember =
|
||||
channelNode::cs_none;
|
||||
pChan->disconnectAllIO ( cbGuard, guard );
|
||||
// if we know that the circuit is unresponsive
|
||||
// then we dont send a channel delete request and
|
||||
@@ -1907,6 +1919,8 @@ void tcpiiu::unlinkAllChannels (
|
||||
}
|
||||
|
||||
while ( nciu * pChan = this->subscripUpdateReqPend.get () ) {
|
||||
pChan->channelNode::listMember =
|
||||
channelNode::cs_none;
|
||||
pChan->disconnectAllIO ( cbGuard, guard );
|
||||
this->clearChannelRequest ( guard,
|
||||
pChan->getSID(guard), pChan->getCID(guard) );
|
||||
|
||||
@@ -73,6 +73,13 @@ LIBSRCS += casDGIntfIO.cc
|
||||
LIBSRCS += casStreamIO.cc
|
||||
LIBSRCS += ipIgnoreEntry.cc
|
||||
|
||||
# There is a bug in some vxWorks compilers that these work around:
|
||||
ifeq ($(VX_GNU_VERSION), 4.1.2)
|
||||
casStreamOS_CXXFLAGS_vxWorks-ppc604_altivec = -O0
|
||||
casStreamOS_CXXFLAGS_vxWorks-ppc604_long = -O0
|
||||
casStreamOS_CXXFLAGS_vxWorks-ppc604 = -O0
|
||||
endif
|
||||
|
||||
LIBSRCS_vxWorks += templateInstances.cpp
|
||||
|
||||
LIBRARY = cas
|
||||
|
||||
@@ -321,7 +321,7 @@ inline void casStreamOS::disarmRecv ()
|
||||
//
|
||||
// casStreamOS::armSend()
|
||||
//
|
||||
inline void casStreamOS::armSend()
|
||||
void casStreamOS::armSend()
|
||||
{
|
||||
if ( this->outBufBytesPending() == 0u ) {
|
||||
return;
|
||||
|
||||
@@ -87,7 +87,7 @@ static void usage (void)
|
||||
" -e <nr>: Use %%e format, with a precision of <nr> digits\n"
|
||||
" -f <nr>: Use %%f format, with a precision of <nr> digits\n"
|
||||
" -g <nr>: Use %%g format, with a precision of <nr> digits\n"
|
||||
" -s: Get value as string (may honour server-side precision)\n"
|
||||
" -s: Get value as string (honors server-side precision)\n"
|
||||
" -lx: Round to long integer and print as hex number\n"
|
||||
" -lo: Round to long integer and print as octal number\n"
|
||||
" -lb: Round to long integer and print as binary number\n"
|
||||
@@ -391,7 +391,7 @@ int main (int argc, char *argv[])
|
||||
int nPvs; /* Number of PVs */
|
||||
pv* pvs = 0; /* Array of PV structures */
|
||||
|
||||
setvbuf(stdout,NULL,_IOLBF,BUFSIZ); /* Set stdout to line buffering */
|
||||
LINE_BUFFER(stdout); /* Configure stdout buffering */
|
||||
|
||||
while ((opt = getopt(argc, argv, ":taicnhsSe:f:g:l:#:d:0:w:p:F:")) != -1) {
|
||||
switch (opt) {
|
||||
|
||||
@@ -6,8 +6,7 @@
|
||||
* Operator of Los Alamos National Laboratory.
|
||||
* Copyright (c) 2002 Berliner Elektronenspeicherringgesellschaft fuer
|
||||
* Synchrotronstrahlung.
|
||||
* 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.
|
||||
\*************************************************************************/
|
||||
|
||||
@@ -136,7 +135,7 @@ int main (int argc, char *argv[])
|
||||
int nPvs; /* Number of PVs */
|
||||
pv* pvs = 0; /* Array of PV structures */
|
||||
|
||||
setvbuf(stdout,NULL,_IOLBF,BUFSIZ); /* Set stdout to line buffering */
|
||||
LINE_BUFFER(stdout); /* Configure stdout buffering */
|
||||
|
||||
while ((opt = getopt(argc, argv, ":nhw:s:p:")) != -1) {
|
||||
switch (opt) {
|
||||
|
||||
@@ -6,8 +6,7 @@
|
||||
* Operator of Los Alamos National Laboratory.
|
||||
* Copyright (c) 2002 Berliner Elektronenspeicherringgesellschaft fuer
|
||||
* Synchrotronstrahlung.
|
||||
* 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.
|
||||
\*************************************************************************/
|
||||
|
||||
@@ -70,7 +69,7 @@ void usage (void)
|
||||
" -e <nr>: Use %%e format, with a precision of <nr> digits\n"
|
||||
" -f <nr>: Use %%f format, with a precision of <nr> digits\n"
|
||||
" -g <nr>: Use %%g format, with a precision of <nr> digits\n"
|
||||
" -s: Get value as string (may honour server-side precision)\n"
|
||||
" -s: Get value as string (honors server-side precision)\n"
|
||||
" -lx: Round to long integer and print as hex number\n"
|
||||
" -lo: Round to long integer and print as octal number\n"
|
||||
" -lb: Round to long integer and print as binary number\n"
|
||||
@@ -214,7 +213,7 @@ int main (int argc, char *argv[])
|
||||
int nPvs; /* Number of PVs */
|
||||
pv* pvs = 0; /* Array of PV structures */
|
||||
|
||||
setvbuf(stdout,NULL,_IOLBF,BUFSIZ); /* Set stdout to line buffering */
|
||||
LINE_BUFFER(stdout); /* Configure stdout buffering */
|
||||
|
||||
while ((opt = getopt(argc, argv, ":nhm:sSe:f:g:l:#:0:w:t:p:F:")) != -1) {
|
||||
switch (opt) {
|
||||
|
||||
@@ -275,8 +275,8 @@ int main (int argc, char *argv[])
|
||||
int nPvs; /* Number of PVs */
|
||||
pv* pvs = 0; /* Array of PV structures */
|
||||
|
||||
setvbuf(stdout,NULL,_IOLBF,BUFSIZ); /* Set stdout to line buffering */
|
||||
putenv("POSIXLY_CORRECT="); /* Behave correct on GNU getopt systems */
|
||||
LINE_BUFFER(stdout); /* Configure stdout buffering */
|
||||
putenv("POSIXLY_CORRECT="); /* Behave correct on GNU getopt systems */
|
||||
|
||||
while ((opt = getopt(argc, argv, ":cnlhatsS#:w:p:F:")) != -1) {
|
||||
switch (opt) {
|
||||
|
||||
@@ -5,8 +5,7 @@
|
||||
* Operator of Los Alamos National Laboratory.
|
||||
* Copyright (c) 2002 Berliner Elektronenspeicherringgesellschaft fuer
|
||||
* Synchrotronstrahlung.
|
||||
* 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.
|
||||
\*************************************************************************/
|
||||
|
||||
@@ -50,6 +49,13 @@
|
||||
#define DEFAULT_CA_PRIORITY 0 /* Default CA priority */
|
||||
#define DEFAULT_TIMEOUT 1.0 /* Default CA timeout */
|
||||
|
||||
#ifndef _WIN32
|
||||
# define LINE_BUFFER(stream) setvbuf(stream, NULL, _IOLBF, BUFSIZ)
|
||||
#else
|
||||
/* Windows doesn't support line mode, turn buffering off completely */
|
||||
# define LINE_BUFFER(stream) setvbuf(stream, NULL, _IONBF, 0)
|
||||
#endif
|
||||
|
||||
|
||||
/* Type of timestamp */
|
||||
typedef enum { absolute, relative, incremental, incrementalByChan } TimeT;
|
||||
|
||||
@@ -72,15 +72,24 @@ static long read_sa(subArrayRecord *prec)
|
||||
|
||||
if (nRequest > prec->malm)
|
||||
nRequest = prec->malm;
|
||||
dbGetLink(&prec->inp, prec->ftvl, prec->bptr, 0, &nRequest);
|
||||
prec->nord = ecount = nRequest - prec->indx;
|
||||
|
||||
if (prec->inp.type == CONSTANT)
|
||||
nRequest = prec->nord;
|
||||
else
|
||||
dbGetLink(&prec->inp, prec->ftvl, prec->bptr, 0, &nRequest);
|
||||
|
||||
ecount = nRequest - prec->indx;
|
||||
if (ecount > 0) {
|
||||
int esize = dbValueSize(prec->ftvl);
|
||||
|
||||
if (ecount > prec->nelm)
|
||||
ecount = prec->nelm;
|
||||
memmove(prec->bptr, (char *)prec->bptr + prec->indx * esize,
|
||||
ecount * esize);
|
||||
}
|
||||
} else
|
||||
ecount = 0;
|
||||
|
||||
prec->nord = ecount;
|
||||
|
||||
if (nRequest > 0 &&
|
||||
prec->tsel.type == CONSTANT &&
|
||||
|
||||
@@ -119,10 +119,11 @@ epicsShareFunc int errlogPrintf(const char *pFormat, ...)
|
||||
errlogInit(0);
|
||||
if (pvtData.atExit || (isOkToBlock && pvtData.toConsole)) {
|
||||
va_start(pvar, pFormat);
|
||||
vfprintf(stderr, pFormat, pvar);
|
||||
nchar = vfprintf(stderr, pFormat, pvar);
|
||||
va_end (pvar);
|
||||
fflush(stderr);
|
||||
}
|
||||
if (pvtData.atExit) return nchar;
|
||||
pbuffer = msgbufGetFree(isOkToBlock);
|
||||
if (!pbuffer) return 0;
|
||||
va_start(pvar, pFormat);
|
||||
@@ -494,9 +495,7 @@ static void errlogThread(void)
|
||||
epicsAtExit(exitHandler,0);
|
||||
while (TRUE) {
|
||||
epicsEventMustWait(pvtData.waitForWork);
|
||||
if (pvtData.atExit) break;
|
||||
while ((pmessage = msgbufGetSend(&noConsoleMessage))) {
|
||||
if (pvtData.atExit) break;
|
||||
epicsMutexMustLock(pvtData.listenerLock);
|
||||
if (pvtData.toConsole && !noConsoleMessage) {
|
||||
fprintf(stderr,"%s",pmessage);
|
||||
@@ -533,8 +532,10 @@ static msgNode *msgbufGetNode(void)
|
||||
char *plimit = pbuffer + pvtData.buffersize;
|
||||
|
||||
pnextFree = plast->message + adjustToWorstCaseAlignment(plast->length);
|
||||
if (pfirst <= plast &&
|
||||
pnextFree + pvtData.msgNeeded > plimit) {
|
||||
if (pfirst > plast) {
|
||||
plimit = (char *)pfirst;
|
||||
}
|
||||
else if (pnextFree + pvtData.msgNeeded > plimit) {
|
||||
pnextFree = pbuffer; /* Hit end, wrap to start */
|
||||
plimit = (char *)pfirst;
|
||||
}
|
||||
@@ -552,7 +553,9 @@ static char *msgbufGetFree(int noConsoleMessage)
|
||||
{
|
||||
msgNode *pnextSend;
|
||||
|
||||
epicsMutexMustLock(pvtData.msgQueueLock);
|
||||
if (epicsMutexLock(pvtData.msgQueueLock) != epicsMutexLockOK)
|
||||
return 0;
|
||||
|
||||
if ((ellCount(&pvtData.msgQueue) == 0) && pvtData.missedMessages) {
|
||||
int nchar;
|
||||
|
||||
|
||||
@@ -169,6 +169,8 @@ bool epicsThread::exitWait ( const double delay ) throw ()
|
||||
"epicsThread::exitWait()\n" );
|
||||
epicsThreadSleep ( epicsMin ( delay, 5.0 ) );
|
||||
}
|
||||
// the event mechanism is used for other purposes
|
||||
this->event.signal ();
|
||||
return this->terminated;
|
||||
}
|
||||
|
||||
|
||||
@@ -74,8 +74,6 @@ public:
|
||||
bool useDiffTimeOptimization;
|
||||
};
|
||||
|
||||
static const epicsTimeLoadTimeInit lti;
|
||||
|
||||
//
|
||||
// epicsTimeLoadTimeInit ()
|
||||
//
|
||||
@@ -125,6 +123,9 @@ inline void epicsTime::addNanoSec (long nSecAdj)
|
||||
//
|
||||
epicsTime::epicsTime ( const time_t_wrapper & ansiTimeTicks )
|
||||
{
|
||||
// avoid c++ static initialization order issues
|
||||
static epicsTimeLoadTimeInit & lti = * new epicsTimeLoadTimeInit ();
|
||||
|
||||
//
|
||||
// try to directly map time_t into an unsigned long integer because this is
|
||||
// faster on systems w/o hardware floating point and a simple integer type time_t.
|
||||
@@ -212,6 +213,8 @@ epicsTime epicsTime::getEvent (const epicsTimeEvent &event)
|
||||
//
|
||||
epicsTime::operator time_t_wrapper () const
|
||||
{
|
||||
// avoid c++ static initialization order issues
|
||||
static epicsTimeLoadTimeInit & lti = * new epicsTimeLoadTimeInit ();
|
||||
time_t_wrapper wrap;
|
||||
|
||||
if ( lti.useDiffTimeOptimization ) {
|
||||
|
||||
@@ -124,7 +124,7 @@ BOOL WINAPI DllMain (
|
||||
#if _WIN32_WINNT >= 0x0501
|
||||
/*
|
||||
* Only in WXP
|
||||
* Thats a shame becaus ethis is probably much faster
|
||||
* Thats a shame because this is probably much faster
|
||||
*/
|
||||
success = GetModuleHandleEx (
|
||||
GET_MODULE_HANDLE_EX_FLAG_FROM_ADDRESS,
|
||||
@@ -268,7 +268,8 @@ static void threadCleanupWIN32 ( void )
|
||||
return;
|
||||
}
|
||||
|
||||
while ( ( pParm = ( win32ThreadParam * ) ellFirst ( & pGbl->threadList ) ) ) {
|
||||
while ( ( pParm = ( win32ThreadParam * )
|
||||
ellFirst ( & pGbl->threadList ) ) ) {
|
||||
epicsParmCleanupWIN32 ( pParm );
|
||||
}
|
||||
|
||||
@@ -446,7 +447,8 @@ epicsShareFunc epicsThreadBooleanStatus epicsShareAPI epicsThreadHighestPriority
|
||||
/*
|
||||
* epicsThreadGetStackSize ()
|
||||
*/
|
||||
epicsShareFunc unsigned int epicsShareAPI epicsThreadGetStackSize ( epicsThreadStackSizeClass stackSizeClass )
|
||||
epicsShareFunc unsigned int epicsShareAPI
|
||||
epicsThreadGetStackSize ( epicsThreadStackSizeClass stackSizeClass )
|
||||
{
|
||||
static const unsigned stackSizeTable[epicsThreadStackBig+1] = {4000, 6000, 11000};
|
||||
|
||||
@@ -628,18 +630,21 @@ epicsShareFunc epicsThreadId epicsShareAPI epicsThreadCreate (const char *pName,
|
||||
free ( pParmWIN32 );
|
||||
return NULL;
|
||||
}
|
||||
|
||||
EnterCriticalSection ( & pGbl->mutex );
|
||||
ellAdd ( & pGbl->threadList, & pParmWIN32->node );
|
||||
LeaveCriticalSection ( & pGbl->mutex );
|
||||
|
||||
wstat = ResumeThread ( pParmWIN32->handle );
|
||||
if (wstat==0xFFFFFFFF) {
|
||||
EnterCriticalSection ( & pGbl->mutex );
|
||||
ellDelete ( & pGbl->threadList, & pParmWIN32->node );
|
||||
LeaveCriticalSection ( & pGbl->mutex );
|
||||
CloseHandle ( pParmWIN32->handle );
|
||||
free ( pParmWIN32 );
|
||||
return NULL;
|
||||
}
|
||||
|
||||
EnterCriticalSection ( & pGbl->mutex );
|
||||
ellAdd ( & pGbl->threadList, & pParmWIN32->node );
|
||||
LeaveCriticalSection ( & pGbl->mutex );
|
||||
|
||||
return ( epicsThreadId ) pParmWIN32;
|
||||
}
|
||||
|
||||
@@ -955,10 +960,17 @@ static void epicsThreadShowPrivate ( epicsThreadId id, unsigned level )
|
||||
(void *) pParm, idForFormat, pParm->epicsPriority,
|
||||
epics_GetThreadPriorityAsString ( pParm->handle ),
|
||||
epicsThreadIsSuspended ( id ) ? "suspend" : "ok" );
|
||||
if ( level ) {
|
||||
fprintf (epicsGetStdout(), " %-8p %-8p ",
|
||||
(void *) pParm->handle, (void *) pParm->parm );
|
||||
}
|
||||
}
|
||||
else {
|
||||
fprintf (epicsGetStdout(),
|
||||
"NAME EPICS-ID WIN32-ID EPICS-PRI WIN32-PRI STATE " );
|
||||
if ( level ) {
|
||||
fprintf (epicsGetStdout(), " HANDLE FUNCTION PARAMETER" );
|
||||
}
|
||||
}
|
||||
fprintf (epicsGetStdout(),"\n" );
|
||||
}
|
||||
|
||||
@@ -409,8 +409,8 @@ epicsTimerNotify::expireStatus currentTime::expire ( const epicsTime & )
|
||||
|
||||
EnterCriticalSection ( & this->mutex );
|
||||
|
||||
LONGLONG perfCounterDiff = curPerfCounter.QuadPart - this->lastPerfCounterPLL;
|
||||
if ( curPerfCounter.QuadPart >= this->lastPerfCounter ) {
|
||||
LONGLONG perfCounterDiff;
|
||||
if ( curPerfCounter.QuadPart >= this->lastPerfCounterPLL ) {
|
||||
perfCounterDiff = curPerfCounter.QuadPart - this->lastPerfCounterPLL;
|
||||
}
|
||||
else {
|
||||
|
||||
30
src/libCom/osi/os/cygwin32/systemCallIntMech.cpp
Normal file
30
src/libCom/osi/os/cygwin32/systemCallIntMech.cpp
Normal file
@@ -0,0 +1,30 @@
|
||||
|
||||
/*************************************************************************\
|
||||
* 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$ */
|
||||
/*
|
||||
* Author: Jeff Hill
|
||||
*/
|
||||
|
||||
#include <cygwin/version.h>
|
||||
|
||||
#define epicsExportSharedSymbols
|
||||
#include "osiSock.h"
|
||||
|
||||
enum epicsSocketSystemCallInterruptMechanismQueryInfo
|
||||
epicsSocketSystemCallInterruptMechanismQuery ()
|
||||
{
|
||||
#if (CYGWIN_VERSION_DLL_MAJOR >= 1007)
|
||||
// Behaviour changed in Cygwin 1.7 release.
|
||||
return esscimqi_socketCloseRequired;
|
||||
#else
|
||||
return esscimqi_socketBothShutdownRequired;
|
||||
#endif
|
||||
}
|
||||
@@ -77,7 +77,11 @@ typedef socklen_t osiSocklen_t;
|
||||
# define SHUT_RDWR 2
|
||||
#endif
|
||||
|
||||
#define ifreq_size(pifreq) (sizeof(pifreq->ifr_name))
|
||||
#if BSD4_4
|
||||
# define ifreq_size(pifreq) (pifreq->ifr_addr.sa_len + sizeof(pifreq->ifr_name))
|
||||
#else
|
||||
# define ifreq_size(pifreq) sizeof(*pifreq)
|
||||
#endif
|
||||
|
||||
#endif /*osdSockH*/
|
||||
|
||||
|
||||
@@ -224,6 +224,14 @@ static inline double MIN(double a, double b, double c, double d, double e,
|
||||
return MIN(MIN(a,b,c,d,e,f,g,h,i,j,k),l);
|
||||
}
|
||||
|
||||
/* The test code below generates lots of spurious warnings because
|
||||
* it's making sure that our operator priorities match those of C.
|
||||
* Disable them to quieten the compilation process where possible.
|
||||
*/
|
||||
#if __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 2)
|
||||
# pragma GCC diagnostic ignored "-Wparentheses"
|
||||
#endif
|
||||
|
||||
MAIN(epicsCalcTest)
|
||||
{
|
||||
int repeat;
|
||||
|
||||
@@ -260,29 +260,31 @@ MAIN(epicsErrlogTest)
|
||||
for (i = 0; i < N; i++) {
|
||||
errlogPrintfNoConsole(msg);
|
||||
}
|
||||
epicsThreadSleep(0.1); /* should really be a second Event */
|
||||
|
||||
testOk1(pvt.count == 0);
|
||||
|
||||
epicsThreadSleep(0.1); /* should really be a second Event */
|
||||
|
||||
pvt.jam = -2; /* Block before #th message */
|
||||
/* Extract the first 2 messages, 2*(sizeof(msgNode) + 128) bytes */
|
||||
pvt.jam = -2;
|
||||
epicsEventSignal(pvt.jammer);
|
||||
epicsThreadSleep(0.1);
|
||||
|
||||
testDiag("Drain %u messages", pvt.count);
|
||||
testDiag("Drained %u messages", pvt.count);
|
||||
testOk1(pvt.count == 2);
|
||||
|
||||
testDiag("Add two more (%d total)", (int) N+2);
|
||||
errlogPrintfNoConsole(msg);
|
||||
/* The buffer has space for 1 more message: sizeof(msgNode) + 256 bytes */
|
||||
errlogPrintfNoConsole(msg); /* Use up that space */
|
||||
|
||||
testDiag("Overflow the buffer");
|
||||
errlogPrintfNoConsole(msg);
|
||||
|
||||
testOk1(pvt.count == 2);
|
||||
|
||||
epicsEventSignal(pvt.jammer);
|
||||
epicsEventSignal(pvt.jammer); /* Empty */
|
||||
errlogFlush();
|
||||
testDiag("Logged %u messages", pvt.count);
|
||||
|
||||
testOk1(pvt.count == N+2);
|
||||
testDiag("Logged %u messages", pvt.count);
|
||||
testOk1(pvt.count == N+1);
|
||||
|
||||
/* Clean up */
|
||||
errlogRemoveListener(&logClient);
|
||||
|
||||
@@ -106,6 +106,52 @@ static void producer(void *arg)
|
||||
testOk(errors == 0, "%s: errors = %d", name, errors);
|
||||
}
|
||||
|
||||
#define SLEEPERCOUNT 3
|
||||
struct wakeInfo {
|
||||
epicsEventId event;
|
||||
epicsMutexId countMutex;
|
||||
int count;
|
||||
};
|
||||
static void sleeper(void *arg)
|
||||
{
|
||||
struct wakeInfo *wp = (struct wakeInfo *)arg;
|
||||
epicsEventMustWait(wp->event);
|
||||
epicsMutexLock(wp->countMutex);
|
||||
wp->count++;
|
||||
epicsMutexUnlock(wp->countMutex);
|
||||
}
|
||||
static void eventWakeupTest(void)
|
||||
{
|
||||
struct wakeInfo wakeInfo, *wp = &wakeInfo;
|
||||
int i, c;
|
||||
|
||||
wp->event = epicsEventMustCreate(epicsEventEmpty);
|
||||
wp->countMutex = epicsMutexMustCreate();
|
||||
wp->count = 0;
|
||||
for (i = 0 ; i < SLEEPERCOUNT ; i++)
|
||||
epicsThreadCreate("Sleeper",
|
||||
epicsThreadPriorityScanHigh,
|
||||
epicsThreadGetStackSize(epicsThreadStackSmall),
|
||||
sleeper,
|
||||
wp);
|
||||
epicsThreadSleep(0.5);
|
||||
epicsMutexLock(wp->countMutex);
|
||||
c = wp->count;
|
||||
epicsMutexUnlock(wp->countMutex);
|
||||
testOk(c == 0, "all threads still sleeping");
|
||||
for (i = 1 ; i <= SLEEPERCOUNT ; i++) {
|
||||
epicsEventSignal(wp->event);
|
||||
epicsThreadSleep(0.5);
|
||||
epicsMutexLock(wp->countMutex);
|
||||
c = wp->count;
|
||||
epicsMutexUnlock(wp->countMutex);
|
||||
testOk(c == i, "%d thread%s awakened, expected %d", c, c == 1 ? "" : "s", i);
|
||||
}
|
||||
epicsEventDestroy(wp->event);
|
||||
epicsMutexDestroy(wp->countMutex);
|
||||
}
|
||||
|
||||
|
||||
} // extern "C"
|
||||
|
||||
static double eventWaitMeasureDelayError( const epicsEventId &id, const double & delay )
|
||||
@@ -144,7 +190,7 @@ MAIN(epicsEventTest)
|
||||
epicsEventId event;
|
||||
int status;
|
||||
|
||||
testPlan(11);
|
||||
testPlan(12+SLEEPERCOUNT);
|
||||
|
||||
event = epicsEventMustCreate(epicsEventEmpty);
|
||||
|
||||
@@ -200,6 +246,7 @@ MAIN(epicsEventTest)
|
||||
epicsThreadSleep(1.0);
|
||||
|
||||
eventWaitTest();
|
||||
eventWakeupTest();
|
||||
|
||||
return testDone();
|
||||
}
|
||||
|
||||
@@ -55,6 +55,7 @@ class exThread : public epicsThreadRunable {
|
||||
public:
|
||||
exThread ();
|
||||
void waitForCompletion ();
|
||||
~exThread() {};
|
||||
private:
|
||||
epicsThread thread;
|
||||
bool done;
|
||||
|
||||
@@ -22,6 +22,7 @@ epicsThreadOnceId onceFlag = EPICS_THREAD_ONCE_INIT;
|
||||
epicsThreadOnceId twiceFlag = EPICS_THREAD_ONCE_INIT;
|
||||
epicsMutexId lock;
|
||||
epicsEventId go;
|
||||
epicsEventId done;
|
||||
|
||||
int runCount = 0;
|
||||
int initCount = 0;
|
||||
@@ -49,6 +50,8 @@ void onceThread(void *ctx)
|
||||
|
||||
epicsMutexMustLock(lock);
|
||||
doneCount++;
|
||||
if (doneCount == runCount)
|
||||
epicsEventSignal(done);
|
||||
epicsMutexUnlock(lock);
|
||||
}
|
||||
|
||||
@@ -79,6 +82,7 @@ MAIN(epicsThreadOnceTest)
|
||||
testPlan(3 + NUM_ONCE_THREADS);
|
||||
|
||||
go = epicsEventMustCreate(epicsEventEmpty);
|
||||
done = epicsEventMustCreate(epicsEventEmpty);
|
||||
lock = epicsMutexMustCreate();
|
||||
|
||||
for (i = 0; i < NUM_ONCE_THREADS; i++) {
|
||||
@@ -92,12 +96,13 @@ MAIN(epicsThreadOnceTest)
|
||||
epicsThreadSleep(0.1);
|
||||
|
||||
testOk(runCount == NUM_ONCE_THREADS, "runCount = %d", runCount);
|
||||
epicsEventSignal(go);
|
||||
epicsThreadSleep(0.1);
|
||||
epicsEventSignal(go); /* Use epicsEventBroadcast(go) when available */
|
||||
epicsEventMustWait(done);
|
||||
|
||||
testOk(doneCount == NUM_ONCE_THREADS, "doneCount = %d", doneCount);
|
||||
testDiag("init was run by %s", initBy);
|
||||
|
||||
testDiag("Expecting thread recurse to suspend:");
|
||||
tid = epicsThreadCreate("recurse", epicsThreadPriorityMedium,
|
||||
epicsThreadGetStackSize(epicsThreadStackSmall),
|
||||
recurseThread, 0);
|
||||
|
||||
@@ -28,7 +28,7 @@
|
||||
*/
|
||||
|
||||
/* code using a timer must implement epicsTimerNotify */
|
||||
class epicsTimerNotify {
|
||||
class epicsShareClass epicsTimerNotify {
|
||||
public:
|
||||
enum restart_t { noRestart, restart };
|
||||
class expireStatus {
|
||||
@@ -41,13 +41,13 @@ public:
|
||||
double delay;
|
||||
};
|
||||
|
||||
epicsShareFunc virtual ~epicsTimerNotify () = 0;
|
||||
virtual ~epicsTimerNotify () = 0;
|
||||
/* return "noRestart" or "expireStatus ( restart, 30.0 )" */
|
||||
virtual expireStatus expire ( const epicsTime & currentTime ) = 0;
|
||||
epicsShareFunc virtual void show ( unsigned int level ) const;
|
||||
virtual void show ( unsigned int level ) const;
|
||||
};
|
||||
|
||||
class epicsTimer { /* X aCC 655 */
|
||||
class epicsShareClass epicsTimer { /* X aCC 655 */
|
||||
public:
|
||||
/* calls cancel (see warning below) and then destroys the timer */
|
||||
virtual void destroy () = 0;
|
||||
@@ -67,7 +67,7 @@ public:
|
||||
double getExpireDelay ();
|
||||
virtual void show ( unsigned int level ) const = 0;
|
||||
protected:
|
||||
epicsShareFunc virtual ~epicsTimer () = 0; /* protected => delete() must not be called */
|
||||
virtual ~epicsTimer () = 0; /* protected => delete() must not be called */
|
||||
};
|
||||
|
||||
class epicsTimerQueue { /* X aCC 655 */
|
||||
|
||||
@@ -1,5 +1,9 @@
|
||||
# $Revision-Id$
|
||||
|
||||
# You might want to change this to some shared set of rules, e.g.
|
||||
# RULES=/path/to/epics/support/modules/rules/x-y
|
||||
RULES=$(EPICS_BASE)
|
||||
|
||||
INSTALL_IDLFILE = $(INSTALL)
|
||||
|
||||
include $(TOP)/configure/RELEASE
|
||||
@@ -10,7 +14,7 @@ ifdef T_A
|
||||
-include $(TOP)/configure/RELEASE.$(EPICS_HOST_ARCH).$(T_A)
|
||||
endif
|
||||
|
||||
CONFIG=$(EPICS_BASE)/configure
|
||||
CONFIG=$(RULES)/configure
|
||||
include $(CONFIG)/CONFIG
|
||||
|
||||
# Override for definition in base
|
||||
|
||||
@@ -10,6 +10,7 @@
|
||||
#
|
||||
|
||||
-include $(TOP)/configure/os/CONFIG_SITE.Common.Common
|
||||
-include $(TOP)/configure/os/CONFIG_SITE.win32-x86.win32-x86
|
||||
|
||||
# ---------- java definitions
|
||||
JAVA_DIR=c:/j2sdk1.4.1_01
|
||||
@@ -29,11 +30,11 @@ IDL = /usr/local/idl
|
||||
# IDL=$(IDL)/external/rpc is the sun4 version
|
||||
IDLRPC = $(IDL)/external/rpc.solaris
|
||||
|
||||
X11_LIB = c:/cygwin/lib
|
||||
X11_INC = c:/cygwin/include
|
||||
#X11_LIB = c:/cygwin/lib
|
||||
#X11_INC = c:/cygwin/include
|
||||
|
||||
MOTIF_LIB = $(X11_LIB)
|
||||
MOTIF_INC = $(X11_INC)
|
||||
#MOTIF_LIB = $(X11_LIB)
|
||||
#MOTIF_INC = $(X11_INC)
|
||||
|
||||
OPENWIN =
|
||||
INTERVIEWS_BIN =
|
||||
|
||||
@@ -31,7 +31,8 @@ TK_TCL = /usr/lib
|
||||
IDL =
|
||||
|
||||
#JAVA_DIR=/usr/local/java
|
||||
JAVA_DIR=/usr/java/j2sdk1.4.1
|
||||
#JAVA_DIR=/usr/java/j2sdk1.4.1
|
||||
JAVA_DIR=/usr
|
||||
JAVA_INC=$(JAVA_DIR)/include
|
||||
|
||||
INTERVIEWS_BIN=/usr/local/interviews/bin/O.Linux
|
||||
|
||||
@@ -30,7 +30,7 @@ JAVA_DIR=/usr
|
||||
# Sciplot and XRTgraph used by medm
|
||||
SCIPLOT=YES
|
||||
#XRTGRAPH_EXTENSIONS = YES
|
||||
#XRTGRAPH = /usr/local/xrtgraph
|
||||
#XRTGRAPH = /usr/local/xrtgraph64
|
||||
XRTGRAPH_EXTENSIONS =
|
||||
XRTGRAPH =
|
||||
|
||||
|
||||
@@ -38,10 +38,13 @@ IV_LIB=/usr/local/interviews/lib/O.solaris
|
||||
WINGZ_INC = /opt/local/Wingz2/incl
|
||||
WINGZ_LIB = /opt/local/Wingz2/lib
|
||||
#MATHEMATICA = /usr/local/math
|
||||
|
||||
# Define XRTGRAPH_EXTENSIONS = YES only if using XRT/graph 3.x
|
||||
# and you want the extensions for MEDM
|
||||
XRTGRAPH_EXTENSIONS = YES
|
||||
XRTGRAPH = /opt/local/xrtgraph
|
||||
#XRTGRAPH_EXTENSIONS = YES
|
||||
#XRTGRAPH = /opt/local/xrtgraph
|
||||
SCIPLOT = YES
|
||||
|
||||
QUESTWIN = /usr/local/questwin
|
||||
|
||||
TK_LIB = /opt/local/lib
|
||||
|
||||
@@ -10,5 +10,5 @@
|
||||
# leave the line empty.
|
||||
#
|
||||
|
||||
-include $(TOP)/configure/os/CONFIG_SITE.solaris-sparc.solaris-sparc
|
||||
-include $(TOP)/configure/os/CONFIG_SITE.solaris-sparc64.solaris-sparc64
|
||||
|
||||
|
||||
@@ -18,3 +18,9 @@ ATLAS_LIB = /usr/local/oag/3rdParty/ATLAS/SunOS_SunUSIII_4/lib
|
||||
F2C_LIB = /usr/local/oag/3rdParty/F2C/SunOS_SunUSIII_4/lib
|
||||
CLAPACK_INCLUDE = /usr/local/oag/3rdParty/CLAPACK/SunOS_SunUSIII_4/include
|
||||
ATLAS_INCLUDE = /usr/local/oag/3rdParty/ATLAS/SunOS_SunUSIII_4/include
|
||||
|
||||
# Define XRTGRAPH_EXTENSIONS = YES only if using XRT/graph 3.x
|
||||
# and you want the extensions for MEDM
|
||||
#XRTGRAPH_EXTENSIONS =
|
||||
#XRTGRAPH =
|
||||
SCIPLOT = YES
|
||||
|
||||
@@ -0,0 +1,8 @@
|
||||
#
|
||||
# $Revision-Id$
|
||||
#
|
||||
# Site Specific Configuration Information
|
||||
# Only the local epics system manager should modify this file
|
||||
|
||||
-include $(TOP)/configure/os/CONFIG_SITE.solaris-x86.solaris-x86
|
||||
|
||||
@@ -86,9 +86,9 @@ QUESTWIN =
|
||||
# Define XRTGRAPH_EXTENSIONS = YES only if using XRT/graph 3.x
|
||||
# and you want the extensions for MEDM
|
||||
XRTGRAPH_EXTENSIONS = NO
|
||||
XRTGRAPH =
|
||||
# Define SCIPLOT if you don't have XRT/graph
|
||||
#SCIPLOT = YES
|
||||
#XRTGRAPH =
|
||||
|
||||
SCIPLOT = YES
|
||||
|
||||
# z library created in SDDS extension
|
||||
ZLIB_CFLAG = -DzLib
|
||||
@@ -98,8 +98,7 @@ z_DIR = $(EPICS_EXTENSIONS_LIB)
|
||||
CLAPACK_INCLUDE = c:/CLAPACK/include
|
||||
CLAPACK_LIB = c:/CLAPACK/lib
|
||||
|
||||
|
||||
EXCEED = Exceed7.10
|
||||
EXCEED = Exceed13.0
|
||||
|
||||
ifeq ($(EXCEED),Exceed5)
|
||||
X11_LIB = c:/exceed5/xdk/lib
|
||||
@@ -191,6 +190,18 @@ ifeq ($(EXCEED),Exceed12.0)
|
||||
HCLXmu_DIR=$(X11_LIB)
|
||||
EXCEED_CFLAGS=/DXMSTATIC /DMOTIFAPP
|
||||
endif
|
||||
ifeq ($(EXCEED),Exceed13.0)
|
||||
XDK=C:/Exceed13.0/XDK
|
||||
X11_LIB = $(XDK)/lib
|
||||
X11_INC = $(XDK)/include
|
||||
EXCEED_XLIBS=XmStatic XmStatXt Xlib HCLXmu
|
||||
XmStatic_DIR=$(X11_LIB)
|
||||
XmStatXt_DIR=$(X11_LIB)
|
||||
Xlib_DIR=$(X11_LIB)
|
||||
HCLXmu_DIR=$(X11_LIB)
|
||||
EXCEED_CFLAGS=/DXMSTATIC /DMOTIFAPP
|
||||
endif
|
||||
|
||||
|
||||
######################################################
|
||||
# Override for XFree86/LessTif
|
||||
|
||||
@@ -0,0 +1,8 @@
|
||||
#
|
||||
# $Revision-Id$
|
||||
#
|
||||
# Site Specific Configuration Information
|
||||
# Only the local epics system manager should modify this file
|
||||
|
||||
-include $(TOP)/configure/os/CONFIG_SITE.win32-x86.win32-x86
|
||||
|
||||
@@ -159,12 +159,13 @@ static long get_units(DBADDR *paddr, char *units)
|
||||
static long get_precision(DBADDR *paddr, long *pprecision)
|
||||
{
|
||||
calcRecord *prec = (calcRecord *)paddr->precord;
|
||||
int fieldIndex = dbGetFieldIndex(paddr);
|
||||
|
||||
if (paddr->pfield == (void *)&prec->val) {
|
||||
*pprecision = prec->prec;
|
||||
} else {
|
||||
*pprecision = prec->prec;
|
||||
|
||||
if (fieldIndex != calcRecordVAL)
|
||||
recGblGetPrec(paddr, pprecision);
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
@@ -374,12 +374,13 @@ static long get_units(DBADDR *paddr, char *units)
|
||||
static long get_precision(DBADDR *paddr, long *pprecision)
|
||||
{
|
||||
calcoutRecord *prec = (calcoutRecord *)paddr->precord;
|
||||
int fieldIndex = dbGetFieldIndex(paddr);
|
||||
|
||||
if (paddr->pfield == (void *)&prec->val) {
|
||||
*pprecision = prec->prec;
|
||||
} else {
|
||||
*pprecision = prec->prec;
|
||||
|
||||
if (fieldIndex != calcoutRecordVAL)
|
||||
recGblGetPrec(paddr, pprecision);
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
@@ -194,9 +194,8 @@ static long put_array_info(DBADDR *paddr, long nNew)
|
||||
subArrayRecord *prec = (subArrayRecord *) paddr->precord;
|
||||
|
||||
if (nNew > prec->malm)
|
||||
prec->nord = prec->malm;
|
||||
else
|
||||
prec->nord = nNew;
|
||||
nNew = prec->malm;
|
||||
prec->nord = nNew;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -9,6 +9,10 @@ eval 'exec perl -S $0 ${1+"$@"}' # -*- Mode: perl -*-
|
||||
# in file LICENSE that is included with this distribution.
|
||||
#*************************************************************************
|
||||
|
||||
use FindBin qw($Bin);
|
||||
use lib "$Bin/../../lib/perl";
|
||||
use EPICS::Path;
|
||||
|
||||
($file, $subname, $bldTop) = @ARGV;
|
||||
$numberRecordType = 0;
|
||||
$numberDeviceSupport = 0;
|
||||
@@ -18,6 +22,10 @@ $numberDriverSupport = 0;
|
||||
$c_bad_ident_chars = '[^0-9A-Za-z_]';
|
||||
$subname =~ s/$c_bad_ident_chars/_/g;
|
||||
|
||||
# Process bldTop like convertRelease.pl does
|
||||
$bldTop = LocalPath(UnixPath($bldTop));
|
||||
$bldTop =~ s/([\\"])/\\\1/g; # escape back-slashes and double-quotes
|
||||
|
||||
open(INP,"$file") or die "$! opening file";
|
||||
while(<INP>) {
|
||||
next if m/ ^ \s* \# /x;
|
||||
|
||||
@@ -1566,6 +1566,7 @@ static void putNotifyErrorReply ( struct client *client, caHdrLargeArray *mp, in
|
||||
0u, mp->m_dataType, mp->m_count, statusCA,
|
||||
mp->m_available, 0 );
|
||||
if ( status != ECA_NORMAL ) {
|
||||
SEND_UNLOCK ( client );
|
||||
errlogPrintf ("%s at %d: should always get sufficent space for put notify error reply\n",
|
||||
__FILE__, __LINE__);
|
||||
return;
|
||||
@@ -2144,6 +2145,7 @@ static void search_fail_reply ( caHdrLargeArray *mp, void *pPayload, struct clie
|
||||
status = cas_copy_in_header ( client, CA_PROTO_NOT_FOUND,
|
||||
0u, mp->m_dataType, mp->m_count, mp->m_cid, mp->m_available, NULL );
|
||||
if ( status != ECA_NORMAL ) {
|
||||
SEND_UNLOCK ( client );
|
||||
errlogPrintf ( "%s at %d: should always get sufficent space for search fail reply?\n",
|
||||
__FILE__, __LINE__ );
|
||||
return;
|
||||
|
||||
@@ -33,10 +33,6 @@
|
||||
#define epicsExportSharedSymbols
|
||||
#include "server.h"
|
||||
|
||||
/* As an optimisation, any message allocated with a large header is resized to
|
||||
* use a small header if the payload size is below this threshold. */
|
||||
#define SMALL_MESSAGE_THRESHOLD 65
|
||||
|
||||
/*
|
||||
* cas_send_bs_msg()
|
||||
*
|
||||
@@ -357,19 +353,8 @@ void cas_commit_msg ( struct client *pClient, ca_uint32_t size )
|
||||
if ( pMsg->m_postsize == htons ( 0xffff ) ) {
|
||||
ca_uint32_t * pLW = ( ca_uint32_t * ) ( pMsg + 1 );
|
||||
assert ( size <= ntohl ( *pLW ) );
|
||||
if (size < SMALL_MESSAGE_THRESHOLD) {
|
||||
/* If the message is sufficiently small it can be worth converting a
|
||||
* large message header into a small header. This saves us all of 8
|
||||
* bytes over the wire, so it's not such a big deal. */
|
||||
pMsg->m_postsize = htons((ca_uint16_t) size);
|
||||
pMsg->m_count = htons((ca_uint16_t) ntohl(pLW[1]));
|
||||
memmove(pLW, pLW + 2, size);
|
||||
size += sizeof(caHdr);
|
||||
}
|
||||
else {
|
||||
pLW[0] = htonl ( size );
|
||||
size += sizeof ( caHdr ) + 2 * sizeof ( *pLW );
|
||||
}
|
||||
pLW[0] = htonl ( size );
|
||||
size += sizeof ( caHdr ) + 2 * sizeof ( *pLW );
|
||||
}
|
||||
else {
|
||||
assert ( size <= ntohs ( pMsg->m_postsize ) );
|
||||
|
||||
@@ -416,8 +416,8 @@ static void log_one_client (struct client *client, unsigned level)
|
||||
send_delay, recv_delay);
|
||||
printf(
|
||||
"\tUnprocessed request bytes=%u, Undelivered response bytes=%u\n",
|
||||
client->send.stk,
|
||||
client->recv.cnt - client->recv.stk );
|
||||
client->recv.cnt - client->recv.stk,
|
||||
client->send.stk );
|
||||
printf(
|
||||
"\tState=%s%s%s\n",
|
||||
state[client->disconnect?1:0],
|
||||
|
||||
@@ -144,6 +144,7 @@ sub cdCommands {
|
||||
|
||||
my $startup = $cwd;
|
||||
$startup =~ s/^$root/$iocroot/o if ($opt_t);
|
||||
$startup =~ s/([\\"])/\\\1/g; # escape back-slashes and double-quotes
|
||||
|
||||
print OUT "startup = \"$startup\"\n";
|
||||
|
||||
@@ -156,6 +157,7 @@ sub cdCommands {
|
||||
foreach my $app (@includes) {
|
||||
my $iocpath = my $path = $macros{$app};
|
||||
$iocpath =~ s/^$root/$iocroot/o if ($opt_t);
|
||||
$iocpath =~ s/([\\"])/\\\1/g; # escape back-slashes and double-quotes
|
||||
my $app_lc = lc($app);
|
||||
print OUT "$app_lc = \"$iocpath\"\n"
|
||||
if (-d $path);
|
||||
@@ -187,6 +189,7 @@ sub envPaths {
|
||||
foreach my $app (@includes) {
|
||||
my $iocpath = my $path = $macros{$app};
|
||||
$iocpath =~ s/^$root/$iocroot/o if ($opt_t);
|
||||
$iocpath =~ s/([\\"])/\\\1/g; # escape back-slashes and double-quotes
|
||||
print OUT "epicsEnvSet(\"$app\",\"$iocpath\")\n" if (-d $path);
|
||||
}
|
||||
close OUT;
|
||||
|
||||
@@ -28,6 +28,9 @@ $Getopt::Std::OUTPUT_HELP_VERSION = 1;
|
||||
|
||||
my $path = AbsPath(shift);
|
||||
|
||||
# Escape shell special characters unless on Windows, which doesn't allow them.
|
||||
$path =~ s/([!"\$&'\(\)*,:;<=>?\[\\\]^`{|}])/\\\1/g unless $^O eq 'MSWin32';
|
||||
|
||||
print "$path\n";
|
||||
|
||||
|
||||
|
||||
@@ -14,76 +14,110 @@ REM Site-specific EPICS environment settings
|
||||
REM
|
||||
REM sites should modify these definitions
|
||||
|
||||
|
||||
REM ===================================================
|
||||
REM ======================================================
|
||||
REM ====== REQUIRED ENVIRONMENT VARIABLES FOLLOW ======
|
||||
REM
|
||||
REM --------------- WINDOWS ---------------------------
|
||||
REM ----- WIN95 -----
|
||||
REM set PATH=C:\WINDOWS;C:\WINDOWS\COMMAND
|
||||
REM ----- WINNT -----
|
||||
REM set PATH=C:\WINNT;C:\WINNT\SYSTEM32
|
||||
REM ----- WINXP -----
|
||||
set PATH=C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\system32\Wbem
|
||||
REM ======================================================
|
||||
|
||||
REM --------------- GNU tools -------------------------
|
||||
REM -- cygwin contains GNU make, perl, gcc, g++, vim, ...
|
||||
REM -- Can be preceeded or replaced with paths to GNU make and perl
|
||||
REM -- need grep from here NOT from cvs directory
|
||||
REM -- some tools may need a tmp directory
|
||||
REM ======================================================
|
||||
REM ---------------- WINDOWS ---------------------------
|
||||
REM ======================================================
|
||||
REM ----- WIN95 -----
|
||||
REM set PATH=C:\WINDOWS;C:\WINDOWS\COMMAND
|
||||
REM ----- WINNT, WIN2000 -----
|
||||
REM set PATH=C:\WINNT;C:\WINNT\SYSTEM32
|
||||
REM ----- WINXP, Vista, Windows 7 -----
|
||||
set PATH=C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\SYSTEM32\Wbem
|
||||
|
||||
REM ======================================================
|
||||
REM ---------------- make and perl ---------------------
|
||||
REM ======================================================
|
||||
|
||||
REM --------------- ActiveState perl -------------------
|
||||
set PATH=C:\Perl\bin;%PATH%
|
||||
|
||||
REM --------------- mingw make ------------------------
|
||||
REM set PATH=C:\mingw-make\bin;%PATH%
|
||||
REM set PATH=C:\mingw-make82-3\bin;%PATH%
|
||||
|
||||
REM --------------- gnuwin32 make ----------------------
|
||||
set PATH=C:\gnuwin32\bin;%PATH%
|
||||
|
||||
REM ======================================================
|
||||
REM ---------------- cygwin tools ------------------------
|
||||
REM ======================================================
|
||||
REM (make & perl if above perl and make are REMs)
|
||||
REM Dont use cygwin GNU make and Perl!
|
||||
REM cygwin contains tk/tcl, vim, perl, and many unix tools
|
||||
REM need grep from here NOT from cvs directory
|
||||
set PATH=%PATH%;.;..
|
||||
set PATH=%PATH%;c:\cygwin\bin
|
||||
|
||||
REM --------------- EPICS -----------------------------
|
||||
REM -- R3.14 requirements
|
||||
REM ======================================================
|
||||
REM --------------- EPICS --------------------------------
|
||||
REM ======================================================
|
||||
set EPICS_HOST_ARCH=cygwin-x86
|
||||
set PATH=%PATH%;G:\epics\base\bin\%EPICS_HOST_ARCH%
|
||||
set PATH=%PATH%;G:\epics\extensions\bin\%EPICS_HOST_ARCH%
|
||||
|
||||
REM ===================================================
|
||||
REM ====== OPTIONAL ENVIRONMENT VARIABLES FOLLOW ======
|
||||
REM ======================================================
|
||||
REM ------- OPTIONAL ENVIRONMENT VARIABLES FOLLOW --------
|
||||
REM ======================================================
|
||||
|
||||
REM ---------------- EPICS tools ----------------------
|
||||
REM -- HOST_ARCH needed for Makefile.Host builds
|
||||
set HOST_ARCH=cygwin32
|
||||
REM ======================================================
|
||||
REM ----------------- remote CVS -------------------------
|
||||
REM ======================================================
|
||||
REM set CVS_RSH=c:/cygwin/bin/ssh.exe
|
||||
REM set CVSROOT=:ext:jba@aps.anl.gov:/usr/local/epicsmgr/cvsroot
|
||||
REM set HOME=c:/users/%USERNAME%
|
||||
REM set HOME=c:/users/jba
|
||||
|
||||
REM --------------- GNU make flags --------------------
|
||||
REM set MAKEFLAGS=-w
|
||||
REM ======================================================
|
||||
REM ------------------- Bazaar ---------------------------
|
||||
REM ======================================================
|
||||
set PATH=%PATH%;C:\Program files\Bazaar
|
||||
|
||||
REM --------------- EPICS Channel Access --------------
|
||||
REM -- Uncomment and modify the following lines
|
||||
REM -- to override the base/configure/CONFIG_ENV defaults
|
||||
REM set EPICS_CA_ADDR_LIST=n.n.n.n n.n.n.n
|
||||
REM ======================================================
|
||||
REM ----------------- GNU make flags ---------------------
|
||||
REM ======================================================
|
||||
set MAKEFLAGS=-w
|
||||
|
||||
REM ======================================================
|
||||
REM -------------- vim (use cygwin vim ) -----------------
|
||||
REM ======================================================
|
||||
REM HOME needed by vim to write .viminfo file.
|
||||
REM VIM needed by vim to find _vimrc file.
|
||||
REM set VIM=c:\cygwin
|
||||
|
||||
REM ======================================================
|
||||
REM --------------- Epics Channel Access -----------------
|
||||
REM Modify and uncomment the following lines
|
||||
REM to override the base/configure/CONFIG_ENV defaults
|
||||
REM ======================================================
|
||||
REM set EPICS_CA_ADDR_LIST=n.n.n.n n.n.n.n
|
||||
REM set EPICS_CA_AUTO_ADDR_LIST=YES
|
||||
|
||||
REM --------------- cygwin vim ------------------------
|
||||
REM -- HOME needed by vim to find _vimrc file.
|
||||
REM set HOME=/home/%USERNAME%
|
||||
REM -- VIM needed by vim to find help files.
|
||||
REM set VIM=/usr/share/vim/vim61
|
||||
REM set EPICS_CA_CONN_TMO=30.0
|
||||
REM set EPICS_CA_BEACON_PERIOD=15.0
|
||||
REM set EPICS_CA_REPEATER_PORT=5065
|
||||
REM set EPICS_CA_SERVER_PORT=5064
|
||||
REM set EPICS_TS_MIN_WEST=420
|
||||
|
||||
REM --------------- remote cvs (use cygwin cvs) -------
|
||||
REM -- HOME needed by cvs for .cvsrc file (set in vim above)
|
||||
REM set CVSROOT=:ext:%USERNAME%@venus.aps.anl.gov:/usr/local/epicsmgr/cvsroot
|
||||
REM set CVS_RSH=/bin/ssh.exe
|
||||
|
||||
REM --------------- JAVA ------------------------------
|
||||
REM -- Needed for java extensions
|
||||
REM set PATH=%PATH%;C:\j2sdk1.4.1_01\bin
|
||||
REM ======================================================
|
||||
REM --------------- JAVA ---------------------------------
|
||||
REM ======================================================
|
||||
REM Needed for java extensions
|
||||
REM set CLASSPATH=G:\epics\extensions\javalib
|
||||
REM set PATH=%PATH%;C:\j2sdk1.4.1_01\bin
|
||||
REM set CLASSPATH=%CLASSPATH%;C:\j2sdk1.4.1_01\lib\tools.jar
|
||||
|
||||
REM ======================================================
|
||||
REM --------------- Exceed -------------------------------
|
||||
REM Needed for X11 extensions
|
||||
REM ======================================================
|
||||
REM set EX_VER=7.10
|
||||
REM set EX_VER=12.00
|
||||
REM set EX_VER=14.00
|
||||
REM set PATH=%PATH%;C:\Exceed%EX_VER%\XDK\
|
||||
REM set PATH=%PATH%;C:\Program Files\Hummingbird\Connectivity\%EX_VER%\Exceed\
|
||||
|
||||
REM --------------- X11+Motif--------------------------
|
||||
REM -- Exceed or cygwin Xfree86 needed for Xwindows extensions
|
||||
REM
|
||||
REM -- Exceed ( Cygwin should preceed Exceed in path)
|
||||
REM set PATH=%PATH%;C:\Exceed
|
||||
REM ------ Exceed 2007 ------
|
||||
REM set PATH=%PATH%;C:\Program Files\Hummingbird\Connectivity\12.00\Exceed\
|
||||
REM ------ Exceed 2008 ------
|
||||
REM set PATH=%PATH%;C:\Program Files\Hummingbird\Connectivity\13.00\Exceed\
|
||||
REM --
|
||||
REM -- or
|
||||
REM ----- cygwin Xfree86 -----
|
||||
REM set PATH=%PATH%;c:\cygwin\usr\X11R6\bin
|
||||
REM set DISPLAY=localhost:0
|
||||
|
||||
REM ===================================================
|
||||
|
||||
176
startup/win32.bat
Executable file → Normal file
176
startup/win32.bat
Executable file → Normal file
@@ -14,87 +14,135 @@ REM Site-specific EPICS environment settings
|
||||
REM
|
||||
REM sites should modify these definitions
|
||||
|
||||
|
||||
REM ===================================================
|
||||
REM ======================================================
|
||||
REM ====== REQUIRED ENVIRONMENT VARIABLES FOLLOW ======
|
||||
REM
|
||||
REM --------------- WINDOWS ---------------------------
|
||||
REM ----- WIN95 -----
|
||||
REM ======================================================
|
||||
|
||||
REM ======================================================
|
||||
REM ---------------- WINDOWS ---------------------------
|
||||
REM ======================================================
|
||||
REM ----- WIN95 -----
|
||||
REM set PATH=C:\WINDOWS;C:\WINDOWS\COMMAND
|
||||
REM ----- WINNT -----
|
||||
REM ----- WINNT, WIN2000 -----
|
||||
REM set PATH=C:\WINNT;C:\WINNT\SYSTEM32
|
||||
REM ----- WINXP -----
|
||||
set PATH=C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\system32\Wbem
|
||||
REM ----- WINXP, Vista, Windows 7 -----
|
||||
set PATH=C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\SYSTEM32\Wbem
|
||||
|
||||
REM --------------- GNU tools -------------------------
|
||||
REM -- cygwin contains GNU make, perl, tk/tcl, vim, ...
|
||||
REM -- Can be preceeded or replaced with paths to GNU make and perl
|
||||
REM -- need grep from here NOT from cvs directory
|
||||
REM -- some tools may need a tmp directory
|
||||
set PATH=%PATH%;c:\cygwin\bin
|
||||
REM ======================================================
|
||||
REM ---------------- make and perl ---------------------
|
||||
REM ======================================================
|
||||
|
||||
REM --------------- Visual c++ ------------------------
|
||||
REM ---- Visual c++ 6.0 ------
|
||||
REM call "C:\Program files\Microsoft Visual Studio\Vc98\bin\vcvars32.bat"
|
||||
REM ---- Visual Studio .NET 2003 ------
|
||||
REM call "C:\Program files\Microsoft Visual Studio .NET 2003\Vc7\bin\vcvars32.bat"
|
||||
REM ---- Visual Studio 2005 -----
|
||||
REM call "C:\Program files\Microsoft Visual Studio 8\VC\bin\vcvars32.bat"
|
||||
REM ---- Visual Studio 2008 -----
|
||||
call "C:\Program files\Microsoft Visual Studio 9.0\VC\bin\vcvars32.bat"
|
||||
REM --------------- ActiveState perl -------------------
|
||||
set PATH=C:\Perl\bin;%PATH%
|
||||
|
||||
REM --------------- mingw make ------------------------
|
||||
REM set PATH=C:\mingw-make\bin;%PATH%
|
||||
REM set PATH=C:\mingw-make82-3\bin;%PATH%
|
||||
|
||||
REM --------------- EPICS -----------------------------
|
||||
REM -- R3.14 requirements
|
||||
REM --------------- gnuwin32 make ----------------------
|
||||
set PATH=C:\gnuwin32\bin;%PATH%
|
||||
|
||||
REM ======================================================
|
||||
REM ---------------- cygwin tools ------------------------
|
||||
REM ======================================================
|
||||
REM (make & perl if above perl and make are REMs)
|
||||
REM Dont use cygwin GNU make and Perl!
|
||||
REM cygwin contains tk/tcl, vim, perl, and many unix tools
|
||||
REM need grep from here NOT from cvs directory
|
||||
REM set PATH=%PATH%;.;..
|
||||
REM set PATH=%PATH%;c:\cygwin\bin
|
||||
|
||||
REM ======================================================
|
||||
REM --------------- Visual c++ -------------------------
|
||||
REM ======================================================
|
||||
|
||||
REM ------ Microsoft Visual Studio 2005 ------
|
||||
REM call "C:\Program files\Microsoft Visual Studio 8\VC\vcvarsall.bat" x86_amd64
|
||||
REM set PATH=%PATH%;C:\Program Files\Microsoft SDKs\Windows\v6.0A\bin
|
||||
REM set INCLUDE=%INCLUDE%;C:\Program Files\Microsoft SDKs\Windows\v6.0A\include
|
||||
REM REM set LIBPATH=%LIBPATH%;C:\Program Files\Microsoft SDKs\Windows\v6.0A\lib
|
||||
REM set LIB=%LIB%;C:\Program Files\Microsoft SDKs\Windows\v6.0A\lib
|
||||
|
||||
REM ------ Microsoft Visual Studio 2008 ------
|
||||
REM call "C:\Program files\Microsoft Visual Studio 9.0\VC\bin\vcvars32.bat"
|
||||
REM call "C:\Program files\Microsoft Visual Studio 9.0\VC\vcvarsall.bat" x86_amd64
|
||||
REM set PATH=C:\Program Files\Microsoft SDKs\Windows\v7.0\bin;%PATH%
|
||||
REM set INCLUDE=C:\Program Files\Microsoft SDKs\Windows\v7.0\include;%INCLUDE%
|
||||
REM set LIBPATH=C:\Program Files\Microsoft SDKs\Windows\v7.0\lib;%LIBPATH%
|
||||
REM set LIB=C:\Program Files\Microsoft SDKs\Windows\v7.0\lib;%LIB%
|
||||
|
||||
REM ----- Visual Studion 2010 -----
|
||||
REM -- windows-x64 ---
|
||||
REM call "C:\Program files\Microsoft Visual Studio 10.0\VC\vcvarsall.bat" x64
|
||||
REM -- win32-x86 ---
|
||||
call "C:\Program files\Microsoft Visual Studio 10.0\VC\vcvarsall.bat" x86
|
||||
|
||||
REM ======================================================
|
||||
REM --------------- EPICS --------------------------------
|
||||
REM ======================================================
|
||||
REM set EPICS_HOST_ARCH=windows-x64
|
||||
set EPICS_HOST_ARCH=win32-x86
|
||||
set PATH=%PATH%;G:\epics\base\bin\%EPICS_HOST_ARCH%
|
||||
set PATH=%PATH%;G:\epics\extensions\bin\%EPICS_HOST_ARCH%
|
||||
|
||||
REM ===================================================
|
||||
REM ====== OPTIONAL ENVIRONMENT VARIABLES FOLLOW ======
|
||||
REM ======================================================
|
||||
REM ------- OPTIONAL ENVIRONMENT VARIABLES FOLLOW --------
|
||||
REM ======================================================
|
||||
|
||||
REM ---------------- EPICS tools ----------------------
|
||||
REM -- HOST_ARCH needed for Makefile.Host builds --
|
||||
set HOST_ARCH=WIN32
|
||||
REM ======================================================
|
||||
REM ----------------- remote CVS -------------------------
|
||||
REM ======================================================
|
||||
REM set CVS_RSH=c:/cygwin/bin/ssh.exe
|
||||
REM set CVSROOT=:ext:jba@aps.anl.gov:/usr/local/epicsmgr/cvsroot
|
||||
REM set HOME=c:/users/%USERNAME%
|
||||
REM set HOME=c:/users/jba
|
||||
|
||||
REM --------------- GNU make flags --------------------
|
||||
REM set MAKEFLAGS=-w
|
||||
REM ======================================================
|
||||
REM ------------------- Bazaar ---------------------------
|
||||
REM ======================================================
|
||||
set PATH=%PATH%;C:\Program files\Bazaar
|
||||
|
||||
REM --------------- EPICS Channel Access --------------
|
||||
REM -- Uncomment and modify the following lines
|
||||
REM -- to override the base/configure/CONFIG_ENV defaults
|
||||
REM set EPICS_CA_ADDR_LIST=n.n.n.n n.n.n.n
|
||||
REM ======================================================
|
||||
REM ----------------- GNU make flags ---------------------
|
||||
REM ======================================================
|
||||
set MAKEFLAGS=-w
|
||||
|
||||
REM ======================================================
|
||||
REM -------------- vim (use cygwin vim ) -----------------
|
||||
REM ======================================================
|
||||
REM HOME needed by vim to write .viminfo file.
|
||||
REM VIM needed by vim to find _vimrc file.
|
||||
REM set VIM=c:\cygwin
|
||||
|
||||
REM ======================================================
|
||||
REM --------------- Epics Channel Access -----------------
|
||||
REM Modify and uncomment the following lines
|
||||
REM to override the base/configure/CONFIG_ENV defaults
|
||||
REM ======================================================
|
||||
REM set EPICS_CA_ADDR_LIST=n.n.n.n n.n.n.n
|
||||
REM set EPICS_CA_AUTO_ADDR_LIST=YES
|
||||
|
||||
REM --------------- cygwin vim ------------------------
|
||||
REM -- HOME needed by vim to find _vimrc file.
|
||||
REM set HOME=/home/%USERNAME%
|
||||
REM -- VIM needed by vim to find help files.
|
||||
REM set VIM=/usr/share/vim/vim61
|
||||
REM set EPICS_CA_CONN_TMO=30.0
|
||||
REM set EPICS_CA_BEACON_PERIOD=15.0
|
||||
REM set EPICS_CA_REPEATER_PORT=5065
|
||||
REM set EPICS_CA_SERVER_PORT=5064
|
||||
REM set EPICS_TS_MIN_WEST=420
|
||||
|
||||
REM --------------- remote cvs (use cygwin cvs) -------
|
||||
REM -- HOME needed by cvs for .cvsrc file (set in vim above)
|
||||
REM set CVSROOT=:ext:%USERNAME%@venus.aps.anl.gov:/usr/local/epicsmgr/cvsroot
|
||||
REM set CVS_RSH=/bin/ssh.exe
|
||||
|
||||
REM --------------- JAVA ------------------------------
|
||||
REM -- Needed for java extensions
|
||||
REM set PATH=%PATH%;C:\j2sdk1.4.1_01\bin
|
||||
REM ======================================================
|
||||
REM --------------- JAVA ---------------------------------
|
||||
REM ======================================================
|
||||
REM Needed for java extensions
|
||||
REM set CLASSPATH=G:\epics\extensions\javalib
|
||||
REM set PATH=%PATH%;C:\j2sdk1.4.1_01\bin
|
||||
REM set CLASSPATH=%CLASSPATH%;C:\j2sdk1.4.1_01\lib\tools.jar
|
||||
|
||||
REM --------------- X11+Motif--------------------------
|
||||
REM -- Exceed or cygwin Xfree86 needed for Xwindows extensions
|
||||
REM
|
||||
REM -- Exceed ( Cygwin should preceed Exceed in path)
|
||||
REM set PATH=%PATH%;C:\Exceed
|
||||
REM ------ Exceed 2007 ------
|
||||
REM set PATH=%PATH%;C:\Program Files\Hummingbird\Connectivity\12.00\Exceed\
|
||||
REM ------ Exceed 2008 ------
|
||||
REM set PATH=%PATH%;C:\Program Files\Hummingbird\Connectivity\13.00\Exceed\
|
||||
REM --
|
||||
REM -- or
|
||||
REM ----- cygwin Xfree86 -----
|
||||
REM set PATH=%PATH%;c:\cygwin\usr\X11R6\bin
|
||||
REM set DISPLAY=localhost:0
|
||||
REM ======================================================
|
||||
REM --------------- Exceed -------------------------------
|
||||
REM Needed for X11 extensions
|
||||
REM ======================================================
|
||||
REM set EX_VER=7.10
|
||||
REM set EX_VER=12.00
|
||||
REM set EX_VER=14.00
|
||||
REM set PATH=%PATH%;C:\Exceed%EX_VER%\XDK\
|
||||
REM set PATH=%PATH%;C:\Program Files\Hummingbird\Connectivity\%EX_VER%\Exceed\
|
||||
|
||||
REM ===================================================
|
||||
|
||||
Reference in New Issue
Block a user