Compare commits

...

162 Commits

Author SHA1 Message Date
Andrew Johnson
d468d7f462 R3.14.9-RC1 2007-01-26 20:29:41 +00:00
Andrew Johnson
8dfea0ce50 Added description of the NPTL Abort issue. 2007-01-26 19:03:56 +00:00
Andrew Johnson
cda58de74a Win32 doesn't support line buffering, so fflush after every printf. 2007-01-25 21:21:05 +00:00
Andrew Johnson
2d031c46a2 Fixed bad example code. 2007-01-24 22:05:16 +00:00
Janet B. Anderson
5e4b2d03ad More changes for osf-alpha from Kazuro Furukawa. 2007-01-22 15:25:47 +00:00
Jeff Hill
db067c9780 1) replaced elimateExcessiveSendBacklog with
requestMessageBytesPending and flush
2) Removed callback control guards from this interface
2007-01-11 22:07:47 +00:00
Jeff Hill
3ec09adf20 added code to catch bugs where a guard is used when it is released 2007-01-11 22:04:44 +00:00
Jeff Hill
57e9e59714 fixed a bug where the callback control gaurd was used from a different thread
than the one that created it
2007-01-11 22:02:47 +00:00
Jeff Hill
cde78f0b70 fixed a bug where the callback control gaurd was used from a different thread
than the one that created it
2007-01-11 21:45:58 +00:00
Jeff Hill
6ed4f091b2 1) replaced elimateExcessiveSendBacklog with
requestMessageBytesPending and flush
2) Removed callback control guards from this interface
2007-01-11 21:43:40 +00:00
Jeff Hill
bb625c7f25 flushBlockThreshold no longer takes a message size argument 2007-01-11 21:38:59 +00:00
Jeff Hill
47f5203faa improved doc on preemptive callback mode 2007-01-11 21:37:43 +00:00
Jeff Hill
287743f140 1) replaced elimateExcessiveSendBacklog with
requestMessageBytesPending and flush
2) Removed callback control guards from this interface
2007-01-11 21:33:31 +00:00
Janet B. Anderson
a841a79194 Added changes from Kazuro FURUKAWA (modified for R3.14.9). 2007-01-09 19:02:15 +00:00
Andrew Johnson
9e2c64ecfd Make vxDevWriteProbe() actually do a write - Mantis #280. 2007-01-09 00:21:43 +00:00
Jeff Hill
6fb7d5255b made comnsistent with workaround for T202 issue 2007-01-09 00:00:12 +00:00
Jeff Hill
00fc1ce769 workaround for T202 issue 2007-01-08 23:59:56 +00:00
W. Eric Norum
852afdc4d8 Create properly-formatted POSIX TZ environment variable from EPICS_TIMEZONE. 2007-01-08 15:11:31 +00:00
Andrew Johnson
ae06349563 Make fracFormatFind static.
Removed 'const' from epicsTime::strftime pointer args to match prototype,
needed by Sun C++ complier which doesn't find the symbol otherwise.
2007-01-02 19:37:57 +00:00
Andrew Johnson
a710bff122 Fixed testPlan, added test for %% in strtfime format strings. 2007-01-02 19:30:04 +00:00
Jeff Hill
fe2b0e599d fix dll exports 2006-12-22 21:56:46 +00:00
Jeff Hill
255751f420 export shared lib symbols 2006-12-22 21:36:13 +00:00
Jeff Hill
7787f5906d use temporaries 2006-12-22 21:32:10 +00:00
Jeff Hill
de34f5de03 removed workaround for problems in visual C++ 8.0 2006-12-22 19:43:59 +00:00
Jeff Hill
40bb69f5fd workaround for problems in visual C++ 8.0 2006-12-22 19:43:04 +00:00
Jeff Hill
6ce83fc9e4 fixed throw specification 2006-12-22 19:35:37 +00:00
Jeff Hill
e0b4715c98 fixed mantis 279 - epicsTimeToStrftime problem with %06f format 2006-12-22 18:57:53 +00:00
Jeff Hill
e989af9b01 fix for dec c++ compiler detected issue 2006-12-21 22:15:42 +00:00
Andrew Johnson
3c1b10dfce Clear out old issues. 2006-12-21 20:09:13 +00:00
Andrew Johnson
27342322ec Cygwin make issue. 2006-12-21 19:39:03 +00:00
Andrew Johnson
3d3ad47e47 Added test using timeout = DBL_MAX. 2006-12-21 17:11:33 +00:00
Andrew Johnson
f2154fec35 Fix for Mantis #254. 2006-12-21 16:47:56 +00:00
Andrew Johnson
6bed83c70e OSF-Alpha. 2006-12-21 15:52:04 +00:00
Andrew Johnson
4f2cb790e5 Additional instances needed for 3.14.9-pre2 to load. 2006-12-21 15:44:41 +00:00
Andrew Johnson
15f3358e39 Prevent vxWorks 5.4 builds of altivec targets. 2006-12-20 23:28:12 +00:00
Andrew Johnson
285f1e03ba Wind River don't support osf-alpha as a vxWorks host architecture. 2006-12-20 23:25:56 +00:00
Janet B. Anderson
03e9ce2855 Moved ca to immediately follow libCom. 2006-12-20 21:21:44 +00:00
Janet B. Anderson
c5563644db Removed code that makes each depend file a target. 2006-12-20 15:25:36 +00:00
Janet B. Anderson
75aa6bbf97 Deleted unused definition. 2006-12-19 22:34:28 +00:00
Janet B. Anderson
8b8b61b797 Removed obsolete comment. 2006-12-19 22:24:59 +00:00
Janet B. Anderson
8540fdd813 Added gcc version requirement. 2006-12-19 21:46:26 +00:00
Janet B. Anderson
23c1596d22 Applied patches for recognizing external dependencies from B. Franksen. 2006-12-19 19:43:02 +00:00
Janet B. Anderson
9e292ca085 Applied patches for recognizing external dependencies from B. Franksen.
Print one file dependancy per line.
2006-12-19 19:34:42 +00:00
Janet B. Anderson
410eca1633 Removing os/alpha directory and adding osf directory and files. 2006-12-19 17:14:08 +00:00
Janet B. Anderson
44d742e147 Initail version from Kazuro Furukawa. 2006-12-19 17:08:02 +00:00
Janet B. Anderson
abe127c6f9 Initial version from Kazuro Furukawa. 2006-12-19 17:08:01 +00:00
Janet B. Anderson
beacc52519 Changes for osf-alpha from Kazuro Furukawa. 2006-12-19 17:03:02 +00:00
Janet B. Anderson
5a9e8d156e Initial version from Kazuro Furukawa. 2006-12-19 17:02:01 +00:00
Janet B. Anderson
239cd857a8 Added osf-alpha files from Kazuro FURUKAWA (modified for R3.14.9). 2006-12-19 16:57:05 +00:00
Janet B. Anderson
dea42bdf66 Initial version. 2006-12-19 16:50:54 +00:00
Andrew Johnson
196f107432 Breakpoint initialization and cleanup. 2006-12-19 16:29:38 +00:00
Andrew Johnson
2a7c2e9d26 Breakpoint initialization and cleanup. 2006-12-19 16:20:47 +00:00
Andrew Johnson
556724f050 Fixed warning. 2006-12-12 21:04:19 +00:00
Andrew Johnson
0f0ff1eec0 Fix for when size=1. 2006-12-12 20:44:53 +00:00
Andrew Johnson
b937142ff3 Fixes for vxWorks: permit multiple runs, don't use assert(). 2006-12-12 19:58:52 +00:00
Andrew Johnson
a6527232cf Revert to -CVS 2006-12-11 22:32:14 +00:00
Andrew Johnson
d820ed034a R3.14.9-pre2 2006-12-11 22:30:17 +00:00
Andrew Johnson
4452f97536 Might as well build the softIoc on everything... 2006-12-11 22:27:00 +00:00
Andrew Johnson
c48bf48f52 Don't set GCC_EXEC_PREFIX for any vxWorks target. 2006-12-11 22:21:10 +00:00
Andrew Johnson
bf77401cea Need to have built the RTEMS stuff before any programs. 2006-12-11 21:53:43 +00:00
Janet B. Anderson
d4adf4a0d6 Move softIoc after RTEMS dir. 2006-12-11 21:23:15 +00:00
Andrew Johnson
f2fac70923 Can't use ifeq(VXWORKS_VERSION) because we don't know its value yet. 2006-12-11 19:46:39 +00:00
Jeff Hill
a00a246b0d fixed html 4.01 compliance issues 2006-12-11 18:56:00 +00:00
Janet B. Anderson
537f9954bf Dont do a STATIC build. 2006-12-11 18:20:32 +00:00
Janet B. Anderson
d206dd92f6 Use PERL macro definition. 2006-12-11 18:12:42 +00:00
Andrew Johnson
f50c49131c Make it <cstddef> so it builds everywhere else. 2006-12-11 17:51:48 +00:00
Janet B. Anderson
55986a1e92 Fix for Borland build. 2006-12-11 17:46:23 +00:00
Andrew Johnson
5fa24ad581 Added new target arch's to comments. 2006-12-11 17:04:54 +00:00
Andrew Johnson
9a81831a85 vxWorks optimization. 2006-12-11 16:53:45 +00:00
Andrew Johnson
11a865805e Make test bail out if socket bind fails; usually there's a CAS running. 2006-12-11 16:52:36 +00:00
Andrew Johnson
bcc41d0e72 Changed build order: build tests immediately after their parent.
Move template stuff lower down.
2006-12-09 00:04:15 +00:00
Andrew Johnson
fc4b09f84d Changed headings to show previous and new release numbers.
New architectures listed.
2006-12-09 00:02:41 +00:00
Andrew Johnson
682bb4150c Incorporated vxWorks 6 settings from SNS.
Added the vxWorks-mpc8540 architecture.
Added the ppc604_altivec sub-architecture.
Some cleanup.
2006-12-09 00:01:57 +00:00
Andrew Johnson
fc98fe2335 Added my local toolset path. 2006-12-08 23:27:18 +00:00
Andrew Johnson
8a4e442705 menuSimmRAW fixes. 2006-12-07 23:32:48 +00:00
Andrew Johnson
11ef0bca03 Fixes for vxWorks 6.x. 2006-12-07 21:10:24 +00:00
Jeff Hill
1e9986a2ed fix for mantis 278 - PCAS should refresh strng table cache for enum PV every time that a channel connects 2006-12-07 20:30:44 +00:00
Andrew Johnson
2e9bd68b2f Added freebsd-x86 support, modifying freebsd-x86_64 for commonality. 2006-12-07 20:05:20 +00:00
Jeff Hill
4840787079 use proper type for ioctl 2006-12-07 19:55:54 +00:00
Jeff Hill
2c9414a881 installed epics thread exit capabilities 2006-12-07 17:00:20 +00:00
Janet B. Anderson
99e9d60725 Replaced .o with $(OBJ). 2006-12-07 15:50:16 +00:00
Jeff Hill
f16d241662 installed epics thread exit capabilities 2006-12-07 00:49:19 +00:00
Andrew Johnson
cc9473339d Added freebsd-x86, fixed some freebsd-x86_64 stuff. 2006-12-06 23:31:39 +00:00
Andrew Johnson
a400c37cc7 Optimization fiddling, fix for linux-arm. 2006-12-06 23:28:06 +00:00
Andrew Johnson
c25282bf58 Can't override the two _LDFLAGS var's, have to append to them. 2006-12-06 22:35:21 +00:00
Andrew Johnson
3fe19655a1 Fixes for various GCC warnings. 2006-12-06 17:10:26 +00:00
Jeff Hill
724a589fe1 fixed warnings 2006-12-05 22:54:52 +00:00
Jeff Hill
b8bcfdcdda fixed warnings 2006-12-05 22:45:24 +00:00
Jeff Hill
da75453a22 fixed no address returned from devAllocAddress 2006-12-05 22:44:40 +00:00
Andrew Johnson
d25e7107a7 Really remove warning... 2006-12-05 22:28:28 +00:00
Andrew Johnson
e93b833c27 Cleaning up warnings. 2006-12-05 22:12:17 +00:00
Andrew Johnson
f0b99cc9c1 No version of vxWorks currently provides numeric_limits<T> ... 2006-12-05 21:44:01 +00:00
Jeff Hill
94dfec0999 fixed compiler warning 2006-12-05 19:56:28 +00:00
Andrew Johnson
88c68422af Fixes for cross-compiling shared libraries properly. 2006-12-05 19:43:20 +00:00
Andrew Johnson
db9f3d81a3 vxWorks 6 changes WIND_HOST_TYPE x86-linux2. 2006-12-05 19:40:00 +00:00
Jeff Hill
947822da70 use function template specialization instead of function overloading
hoping to workaround issues with gcc 4.0
2006-12-05 01:22:33 +00:00
Janet B. Anderson
f48fe4c1c0 Added WIN32_RUNTIME definitions. 2006-12-04 22:45:43 +00:00
Janet B. Anderson
4d30f6adaa Added test JAVA changes. 2006-12-04 22:44:31 +00:00
Janet B. Anderson
9fb0faf86e Modifies python dirs. Modified X11/Motif dirs. 2006-12-04 22:43:25 +00:00
Janet B. Anderson
f42e4195c5 Added JAVA_INC defination. 2006-12-04 22:41:51 +00:00
Janet B. Anderson
a3808ec393 Modified comment. 2006-12-04 22:40:46 +00:00
Janet B. Anderson
41786fef1f Added oag lib dir defs. Added JAVA_INC def. Added X11 and Motif comments. 2006-12-04 22:40:15 +00:00
Janet B. Anderson
82d59c8d75 Added JAVA_INC definition. 2006-12-04 22:38:38 +00:00
Janet B. Anderson
0fa08d07c8 Modified JAVA directories. Added oag directories. 2006-12-04 22:37:45 +00:00
Janet B. Anderson
a4ab66c867 Initial version. 2006-12-04 22:34:31 +00:00
Janet B. Anderson
565d931b4b Changes to add ALL library dirs to the runtime search option on link line. 2006-12-04 21:15:10 +00:00
Janet B. Anderson
e372769b45 Remove -ansi compiler option. 2006-12-04 17:41:15 +00:00
Janet B. Anderson
f011531538 Added SHARED_LIBRARIES=NO. 2006-12-04 17:30:12 +00:00
Andrew Johnson
52e28d7a7a Ok, so all vxWorks 5.x versions need the -include vxWorks.h flag... 2006-12-02 00:09:16 +00:00
Andrew Johnson
f4d3632afd Cleanup gcc warnings. 2006-12-01 23:58:23 +00:00
Andrew Johnson
22d9f942e2 Cleanup obscure gcc warning. 2006-12-01 23:57:04 +00:00
Andrew Johnson
29c43d0cdb Cleanup some of the more obscure gcc warnings. 2006-12-01 23:52:59 +00:00
Andrew Johnson
318e5247f1 Fix dependencies. 2006-12-01 23:48:21 +00:00
Ralph Lange
bdd9d96603 Fix for 3.13 compatibility (OBJLIB) 2006-12-01 18:25:17 +00:00
Jeff Hill
afc4bdd3be fixed comment 2006-12-01 16:34:01 +00:00
Jeff Hill
ce17ed5ae2 fixed gnu warning 2006-12-01 00:19:31 +00:00
Jeff Hill
e553c3ec56 added comment 2006-12-01 00:17:58 +00:00
Jeff Hill
bac905a5a9 hack for non-standard sun pro cstring 2006-12-01 00:11:05 +00:00
Jeff Hill
049e054c31 fixed win32 dll exports 2006-11-30 22:29:26 +00:00
Jeff Hill
634f37c225 fixed func and func proto dont match warning 2006-11-30 22:27:34 +00:00
Jeff Hill
0dd205f750 installed osdWireFormat.h 2006-11-30 22:20:10 +00:00
Jeff Hill
ee8eec3fdb installed 2006-11-30 22:03:40 +00:00
Jeff Hill
8de0f7bf7a removed 2006-11-30 22:03:22 +00:00
Andrew Johnson
fb15db1454 Updated for new release process. 2006-11-30 21:50:14 +00:00
Andrew Johnson
577b65a67f Return libraries to original order and re-add registryIoc, in case it matters. 2006-11-30 18:23:35 +00:00
Andrew Johnson
6c5dedead5 New iocshHost library. 2006-11-30 18:09:41 +00:00
Andrew Johnson
514bb7f897 Created an iocshHost library, added it to EPICS_BASE_HOST_LIBS 2006-11-30 18:09:15 +00:00
Jeff Hill
9785a839b7 fixed mantis 261 2006-11-29 21:50:31 +00:00
Jeff Hill
f2cc4a73e9 fixed gnu warnings 2006-11-29 21:37:05 +00:00
Andrew Johnson
d443b72d29 Added CAS, fixed some other wording and HTML encoding. 2006-11-29 20:29:06 +00:00
Janet B. Anderson
d3069f12bc Removed iocsh and registryIoc from EPICS_BASE_HOST_LIBS. 2006-11-29 19:25:27 +00:00
Janet B. Anderson
3b50639eef Added D_cplusplus c++ compiler option. Undefined LIBRARY_LD_RESS. 2006-11-29 16:37:09 +00:00
Janet B. Anderson
39128f134e Undefine LIBRARY_LD_RESS. 2006-11-29 16:32:26 +00:00
W. Eric Norum
6802509e6d Fix missed edit in previous change. 2006-11-29 13:00:12 +00:00
Jeff Hill
5b6a358fab fixed gnu build issue 2006-11-29 01:07:57 +00:00
Jeff Hill
bdc071f3c5 fix for mantis 276 - EDM on OS X gets access fault in ipAddrToAsciiEngine::allocate 2006-11-28 23:45:04 +00:00
Jeff Hill
de19586072 updated to accomodate what I shouldnt have forgotten about strict aliasing 2006-11-28 23:07:06 +00:00
Andrew Johnson
b61e4bcb59 Don't cast away const unnecessarily - gcc warning. 2006-11-28 21:33:55 +00:00
Andrew Johnson
4a98bdd599 Clear up gcc warnings. 2006-11-28 21:23:25 +00:00
Janet B. Anderson
54ab39d0cf Changes for R3.14.9. 2006-11-28 19:29:31 +00:00
Janet B. Anderson
af35f163ec Modified comment. 2006-11-28 19:16:12 +00:00
Janet B. Anderson
936f194885 Put quote marks aroung option with #. 2006-11-28 19:00:16 +00:00
Janet B. Anderson
5150a9404c Removed comment about CONFIG.Vx. 2006-11-28 18:56:50 +00:00
Jeff Hill
ecb43bedd9 cleaned up locking - this is an old code written w/o consideration of SMP
thread safe locking issues
2006-11-28 18:54:03 +00:00
Janet B. Anderson
1707e28d2e Changed "-xtarget=ultra -xarch=v9" to "-xarch=generic64". 2006-11-28 18:52:13 +00:00
Jeff Hill
91e3c129df db flush extra labor now returns void 2006-11-28 18:51:16 +00:00
Janet B. Anderson
b50c8f5882 Use definitions from CONFIG.Host.solaris. 2006-11-28 18:51:10 +00:00
Janet B. Anderson
47d7b63b4f Removed comment about CONFIG.Vx. 2006-11-28 18:50:20 +00:00
Janet B. Anderson
522e090992 Changes for solaris10. Added libraries -lc -lCstd. 2006-11-28 18:34:58 +00:00
Andrew Johnson
e16dc7852e Fixed gcc warnings. 2006-11-28 18:00:37 +00:00
Andrew Johnson
48337e2382 Fixed gcc '0 flag' warnings. 2006-11-28 17:04:18 +00:00
Janet B. Anderson
d23b8bb1d0 Added and modifiec definitons for win32-x86-cygwin build. 2006-11-28 16:57:01 +00:00
Janet B. Anderson
ce55fe1c78 Added OP_SYS_CPPFLAGS to CPPFLAGS definition. 2006-11-28 16:55:29 +00:00
Andrew Johnson
aa08e33707 Fixed problem saving hostnames in HAG. 2006-11-28 15:32:06 +00:00
Jeff Hill
c51438c597 fixed infinite recursion introduced by change in generic epicsThreadOnce code 2006-11-28 00:46:35 +00:00
Janet B. Anderson
0b481a519d Changed "-xtarget=ultra -xarch=v9" to " -xarch=generic64" 2006-11-27 20:23:03 +00:00
Janet B. Anderson
ec8e064333 Changed -KPIC to -xcode=pic32. 2006-11-27 20:20:37 +00:00
Janet B. Anderson
257c7fd23b Put quotes around option with # in manifest mt.exe command. 2006-11-27 20:11:45 +00:00
Andrew Johnson
1e72aa61f0 Reverting Janet's cygdrive change which she says breaks other Win32 builds.
Until Cygwin's version of Make gets fixed, use the mingw Make instead.
2006-11-21 22:52:41 +00:00
Janet B. Anderson
deeda7b04f Set OS_CLASS to Linux and ARCH_DEP_CFLAGS to override CONFIG.Host.Linux. 2006-11-20 23:11:33 +00:00
Janet B. Anderson
e7655058d0 Initial version. 2006-11-20 21:37:53 +00:00
Andrew Johnson
78afaf42f3 Revert to -CVS for snapshots. 2006-11-20 21:12:08 +00:00
226 changed files with 3213 additions and 2286 deletions

View File

@@ -277,7 +277,7 @@ POSIX_CPPFLAGS_YES =
# useManifestTool.pl returns 0(don't use) or 1(use).
#
ifeq ($(shell $(PERL) $(EPICS_BASE_TOOLS)/useManifestTool.pl),1)
MT_DLL_COMMAND = mt.exe /manifest $@.manifest /outputresource:$@;\#2
MT_EXE_COMMAND = mt.exe /manifest $@.manifest /outputresource:$@;\#1
MT_DLL_COMMAND = mt.exe /manifest $@.manifest "/outputresource:$@;\#2"
MT_EXE_COMMAND = mt.exe /manifest $@.manifest "/outputresource:$@;\#1"
endif

View File

@@ -12,23 +12,18 @@
# Sites may override these definitions in CONFIG_SITE.Host.freebsd
OS_CLASS = freebsd
ARCH_CLASS = x86_64
# Include definitions common to all Unix archs
include $(EPICS_BASE)/config/CONFIG.Host.UnixCommon
ARCH_DEP_CPPFLAGS += -D_X86_64_
CODE_CPPFLAGS = -D_REENTRANT
#POSIX_CPPFLAGS = -D_POSIX_C_SOURCE=199506L -D_POSIX_THREADS -D_XOPEN_SOURCE=500
POSIX_CPPFLAGS = -D_POSIX_THREADS
POSIX_LDLIBS = -lpthread
# -D_BSD_SOURCE for gethostname() in unistd.h as needed by cacChannelIO.cpp.
OP_SYS_CPPFLAGS += -D_BSD_SOURCE
OP_SYS_CPPFLAGS += -Dfreebsd
#OP_SYS_LDLIBS += -lrt
# Set runtime path for shared libraries
RUNTIME_LDFLAGS = $(SHRLIB_SEARCH_FULLPATHDIRS:%=-Wl,-rpath,%)

View File

@@ -0,0 +1,15 @@
#*************************************************************************
# Copyright (c) 2006 UChicago Argonne LLC, as Operator of Argonne
# National Laboratory.
# Copyright (c) 2002 The Regents of the University of California, as
# Operator of Los Alamos National Laboratory.
# EPICS BASE is distributed subject to a Software License Agreement found
# in file LICENSE that is included with this distribution.
#*************************************************************************
# $Id$
ARCH_CLASS = x86
-include $(EPICS_BASE)/config/CONFIG.Host.freebsd
ARCH_DEP_CPPFLAGS += -D_X86_

View File

@@ -1,12 +1,15 @@
#*************************************************************************
# Copyright (c) 2002 The University of Chicago, as Operator of Argonne
# Copyright (c) 2006 UChicago Argonne LLC, as Operator of Argonne
# National Laboratory.
# Copyright (c) 2002 The Regents of the University of California, as
# Operator of Los Alamos National Laboratory.
# EPICS BASE Versions 3.13.7
# and higher are distributed subject to a Software License Agreement found
# EPICS BASE is distributed subject to a Software License Agreement found
# in file LICENSE that is included with this distribution.
#*************************************************************************
# $Id$
ARCH_CLASS = x86_64
-include $(EPICS_BASE)/config/CONFIG.Host.freebsd
ARCH_DEP_CPPFLAGS += -D_X86_64_

View File

@@ -0,0 +1,17 @@
#*************************************************************************
# 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.
#*************************************************************************
# $Id$
-include $(EPICS_BASE)/config/CONFIG.Host.Linux
ARCH_CLASS = Linux
ARCH_DEP_CFLAGS = -D_X86_64_ -Dlinux

View File

@@ -0,0 +1,13 @@
#*************************************************************************
# 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.
#*************************************************************************
# $Id$
-include $(EPICS_BASE)/config/CONFIG.Host.linux-x86_64

View File

@@ -0,0 +1,20 @@
#*************************************************************************
# 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.
#*************************************************************************
# $Id$
# osf-alpha is the new name for alpha
-include $(EPICS_BASE)/config/CONFIG.Host.alpha
#==========================
# These are overrides of ANSI and CPLUSPLUS values in CONFIG_SITE
ANSI=GCC
CPLUSPLUS=G++
#==========================

View File

@@ -71,16 +71,19 @@ POSIX_CPPFLAGS_YES += -D__EXTENSIONS__ -mt
ARCH_DEP_LDFLAGS += -mt
# socket and nsl needed by libca.a
# socket and nsl needed by libca.a when SHARED_LIBRARIES = NO
ARCH_DEP_LDLIBS += -lsocket -lnsl
ARCH_DEP_LDLIBS += -lposix4 -lpthread
ARCH_DEP_LDLIBS_8 = -lCrun
ARCH_DEP_LDLIBS_9 = -lCrun
ARCH_DEP_LDLIBS_8 += -lCrun -lc -lCstd
ARCH_DEP_LDLIBS_9 += -lCrun -lc -lCstd
ARCH_DEP_LDLIBS_10 += -lCrun -lc -lCstd
ARCH_DEP_LDLIBS += $(ARCH_DEP_LDLIBS_$(SOLARIS_VERSION))
#Allows R3.13 built extensions to load R3.14 shared libs
SYS_DLL_LIBS_solaris_8 = Crun
SYS_DLL_LIBS_solaris_9 = Crun
SYS_DLL_LIBS_solaris_10 = Crun
SYS_DLL_LIBS_solaris += posix4 pthread $(SYS_DLL_LIBS_solaris_$(SOLARIS_VERSION))
# Runtime ldflags

View File

@@ -12,7 +12,7 @@
# solaris-sparc is the new name for solaris
-include $(EPICS_BASE)/config/CONFIG.Host.solaris
ARCH_DEP_CFLAGS += -xtarget=ultra -xarch=v9
ARCH_DEP_CXXFLAGS += -xtarget=ultra -xarch=v9
ARCH_DEP_LDFLAGS += -xtarget=ultra -xarch=v9
ARCH_DEP_CFLAGS += -xarch=generic64
ARCH_DEP_CXXFLAGS += -xarch=generic64
ARCH_DEP_LDFLAGS += -xarch=generic64

View File

@@ -7,7 +7,7 @@
# and higher are distributed subject to a Software License Agreement found
# in file LICENSE that is included with this distribution.
#*************************************************************************
# CONFIG.Host.solaris-x86
# CONFIG.Host.solaris-x86-gnu
#
# This file is maintained by the EPICS community.
# Sites may override these definitions in CONFIG_SITE.Host.solaris-x86

View File

@@ -12,20 +12,7 @@
# This file is maintained by the EPICS community.
# Sites may override these definitions in CONFIG_SITE.Host.solarisGnu
ARCH_CLASS = solaris
# Include definitions common to all Unix archs
include $(EPICS_BASE)/config/CONFIG.Host.UnixCommon
#
# required by sun's C++ compiler
#
AR = ar
_AR = $(AR) $(ARFLAGS)
G++_AR = $(_AR)
CCC_AR = $(CCC) -xar -o
ARCMD = $($(CPLUSPLUS)_AR) $@
RANLIB =
include $(EPICS_BASE)/config/CONFIG.Host.solaris
#==========================
# These are overrides of ANSI and CPLUSPLUS values in CONFIG_SITE
@@ -33,25 +20,3 @@ ANSI=GCC
CPLUSPLUS=G++
#==========================
SOLARIS_VERSION = $(subst 5.,,$(shell uname -r))
ARCH_DEP_CPPFLAGS += -DSOLARIS=$(SOLARIS_VERSION)
POSIX_CPPFLAGS_YES += -D__EXTENSIONS__
ARCH_DEP_LDFLAGS += -mt
# socket and nsl needed by libca.a
ARCH_DEP_LDLIBS += -lsocket -lnsl
ARCH_DEP_LDLIBS += -lposix4 -lpthread
ARCH_DEP_LDLIBS_8 = -lCrun
ARCH_DEP_LDLIBS_9 = -lCrun
ARCH_DEP_LDLIBS += $(ARCH_DEP_LDLIBS_$(SOLARIS_VERSION))
#Allows R3.13 built extensions to load R3.14 shared libs
SYS_DLL_LIBS_solaris_8 = Crun
SYS_DLL_LIBS_solaris_9 = Crun
SYS_DLL_LIBS_solaris += posix4 pthread $(SYS_DLL_LIBS_solaris_$(SOLARIS_VERSION))
# Runtime ldflags
RUNTIME_LDFLAGS =$(addprefix -R,$(EPICS_BASE)/lib/$(EPICS_HOST_ARCH)\
$(EPICS_EXTENSIONS)/lib/$(EPICS_HOST_ARCH))

View File

@@ -12,14 +12,15 @@
# This file is maintained by the EPICS community.
# Sites may override these definitions in CONFIG_SITE.Host.win32-x86-cygwin
SHARED_LIBRARIES = NO
#ARCH_CLASS = WIN32
ARCH_CLASS = cygwin
# Include definitions common to all Unix archs
include $(EPICS_BASE)/config/CONFIG.Host.UnixCommon
EXE = .exe
SHARED_LIBRARIES = NO
ARCH_CLASS = WIN32
AR = ar -rc
ARCMD = $(AR) $@
RANLIB = ranlib -t
@@ -35,13 +36,16 @@ G++_STRICT = $(G++) -pedantic
# Dont use -fPIC: with -fPIC we get
# "warning: -fPIC ignored for target (all code is position independent) "
GCC_DEP_CFLAGS = -D_REENTRANT
G++_DEP_CFLAGS = -D_REENTRANT
GCC_DEP_CFLAGS =
G++_DEP_CFLAGS =
OP_SYS_CFLAGS =
OP_SYS_CPPFLAGS = -mno-cygwin
OP_SYS_CXXFLAGS += -D__cplusplus
OP_SYS_LDFLAGS += -mno-cygwin
POSIX_CPPFLAGS_YES =
# With no-cygwin option:
# compiler defines _X86_ 1
# compiler defines __MSVCRT__ 1

View File

@@ -12,12 +12,14 @@
# This file is maintained by the EPICS community.
# Sites may override these definitions in CONFIG_SITE.Host.win32-x86-mingw
ARCH_CLASS = WIN32
# Include definitions common to all Unix archs
include $(EPICS_BASE)/config/CONFIG.Host.UnixCommon
EXE = .exe
SHARED_LIBRARIES = NO
# Include definitions common to all Unix archs
include $(EPICS_BASE)/config/CONFIG.Host.UnixCommon
ARCH_CLASS = WIN32
AR = ar -rc
ARCMD = $(AR) $@
@@ -39,5 +41,18 @@ CPLUSPLUS=G++
# Compiler defines WINNT 1
# Compiler does not define __unix __unix__ unix
OP_SYS_CFLAGS =
OP_SYS_CXXFLAGS += -D__cplusplus
GCC_DEP_CFLAGS =
G++_DEP_CFLAGS =
POSIX_CPPFLAGS_YES =
ARCH_DEP_LDLIBS = -lws2_32 -ladvapi32 -luser32 -lkernel32 -lwinmm
# Remove -ansi compile option for gcc (does not allow c++ type comments).
GCC_ANSI = $(GCC)
GCC_STRICT = $(GCC) -pedantic
G++_NORMAL = $(G++) -pedantic
G++_STRICT = $(G++) -pedantic

View File

@@ -244,7 +244,7 @@ LDFLAGS = $(OPT_LDFLAGS) $(TARGET_LDFLAGS) $(USR_LDFLAGS)\
LDLIBS = $(TARGET_LDLIBS) $(USR_LDLIBS) $(STATIC_LDLIBS) $(ARCH_DEP_LDLIBS)\
$(OP_SYS_LDLIBS) $(POSIX_LDLIBS)
CPPFLAGS += $(TARGET_CPPFLAGS) $(USR_CPPFLAGS) $(ARCH_DEP_CPPFLAGS) $(POSIX_CPPFLAGS)
CPPFLAGS += $(TARGET_CPPFLAGS) $(USR_CPPFLAGS) $(ARCH_DEP_CPPFLAGS) $(POSIX_CPPFLAGS) $(OP_SYS_CPPFLAGS)
CPPSNCFLAGS = $(INCLUDES)

View File

@@ -9,7 +9,6 @@
#*************************************************************************
# CONFIG_HOST_ARCH.Darwin
#
# Override values in CONFIG.Vx
# Include definitions common to all Unix archs
include $(EPICS_BASE)/config/CONFIG_HOST_ARCH.UnixCommon

View File

@@ -9,7 +9,6 @@
#*************************************************************************
# CONFIG_HOST_ARCH.Linux
#
# Override values in CONFIG.Vx
# Include definitions common to all Unix archs
include $(EPICS_BASE)/config/CONFIG_HOST_ARCH.UnixCommon

View File

@@ -9,7 +9,6 @@
#*************************************************************************
# CONFIG_HOST_ARCH.alpha
#
# Override values in CONFIG.Vx
# Include definitions common to all Unix archs
include $(EPICS_BASE)/config/CONFIG_HOST_ARCH.UnixCommon

View File

@@ -9,6 +9,3 @@
# $Id$
-include $(EPICS_BASE)/config/CONFIG_HOST_ARCH.UnixCommon
WIND_HOST_TYPE = i386-linux2

View File

@@ -9,7 +9,6 @@
#*************************************************************************
# CONFIG_HOST_ARCH.hp700
#
# Override values in CONFIG.Vx
# Include definitions common to all Unix archs
include $(EPICS_BASE)/config/CONFIG_HOST_ARCH.UnixCommon

View File

@@ -0,0 +1,15 @@
#*************************************************************************
# 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.
#*************************************************************************
# $Id$
# Include definitions common to all Unix archs
include $(EPICS_BASE)/config/CONFIG_HOST_ARCH.UnixCommon
WIND_HOST_TYPE = x86-linux2

View File

@@ -0,0 +1,15 @@
#*************************************************************************
# 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.
#*************************************************************************
# $Id$
# Include definitions common to all Unix archs
include $(EPICS_BASE)/config/CONFIG_HOST_ARCH.linux-x86_64
HOST_OPT = NO

View File

@@ -9,7 +9,6 @@
#*************************************************************************
# CONFIG_HOST_ARCH.sgi
#
# Override values in CONFIG.Vx
# Include definitions common to all Unix archs
include $(EPICS_BASE)/config/CONFIG_HOST_ARCH.UnixCommon

View File

@@ -8,8 +8,6 @@
# in file LICENSE that is included with this distribution.
#*************************************************************************
# CONFIG_HOST_ARCH.solaris
#
# Override values in CONFIG.Vx
# Include definitions common to all Unix archs
include $(EPICS_BASE)/config/CONFIG_HOST_ARCH.UnixCommon

View File

@@ -8,8 +8,6 @@
# in file LICENSE that is included with this distribution.
#*************************************************************************
# CONFIG_HOST_ARCH.solaris-x86
#
# Override values in CONFIG.Vx
# Include definitions common to all Unix archs
include $(EPICS_BASE)/config/CONFIG_HOST_ARCH.UnixCommon

View File

@@ -1,6 +1,5 @@
# CONFIG_HOST_ARCH.solarisGnu
#
# Override values in CONFIG.Vx
# Include definitions common to all Unix archs
include $(EPICS_BASE)/config/CONFIG_HOST_ARCH.UnixCommon

View File

@@ -9,7 +9,6 @@
#*************************************************************************
# CONFIG_HOST_ARCH.sun4
#
# Override values in CONFIG.Vx
# Include definitions common to all Unix archs
include $(EPICS_BASE)/config/CONFIG_HOST_ARCH.UnixCommon

View File

@@ -1,3 +1,4 @@
# CONFIG_SITE.Vx.ppc604
# APS override of tornado directory for ppc
#VX_DIR_YES = /usr/local/vw/tornado101ppc2

View File

@@ -28,7 +28,7 @@ EPICS_BASE_IOC_LIBS += dbIoc registryIoc dbStaticIoc ca Com
#---------------------------------------------------------------
# Epics base Host libraries
EPICS_BASE_HOST_LIBS += cas gdd iocsh asHost dbStaticHost registryIoc
EPICS_BASE_HOST_LIBS += cas gdd iocshHost asHost dbStaticHost registryIoc
EPICS_BASE_HOST_LIBS += ca Com
#---------------------------------------------------------------

View File

@@ -29,8 +29,8 @@ EPICS_MODIFICATION = 9
EPICS_PATCH_LEVEL = 0
# This will be -CVS or empty at an official release point
#EPICS_CVS_SNAPSHOT=-CVS
EPICS_CVS_SNAPSHOT=-pre1
EPICS_CVS_SNAPSHOT=-RC1
#EPICS_CVS_SNAPSHOT=
# No changes should be needed below here

View File

@@ -312,8 +312,7 @@ PREPROCESS.cpp = $(CPP) $(CPPFLAGS) $(INCLUDES) $< > $@
# Depends command
HDEPENDS_FLAGS =
# Use only dependancies from current top tree
HDEPENDS_INCLUDES = $(filter .%,$(subst -I,,$(INCLUDES)))
HDEPENDS_INCLUDES = $(subst -I,,$(INCLUDES))
HDEPENDSFLAGS = -m $*$(DEP) $(HDEPENDS_INCLUDES) $@ $<
HDEPENDS_CMD_YES = -$(MKMF) $(HDEPENDS_FLAGS) $(HDEPENDSFLAGS)
HDEPENDS_CMD_NO = echo ""

View File

@@ -22,6 +22,8 @@
# darwin-ppc (PowerPC based Apple running OSX)
# darwin-x86 (Intel based Apple running OSX)
# darwin-ppcx86 (Universal binaries for both CPUs)
# freebsd-x86 (GNU compiler used for host builds)
# freebsd-x86_64 (GNU compiler used for host builds)
# hpux-parisc (HP compiler used for host builds)
# hpux-parisc-gnu (GNU compiler used for host builds)
# linux-ppc (GNU compiler used for host builds)
@@ -59,6 +61,7 @@
# linux-586 (linux-x86 host)
# linux-686 (linux-x86 host)
# linux-athlon (linux-x86 host)
# linux-arm
# vxWorks-486
# vxWorks-68040
# vxWorks-68040lc
@@ -68,6 +71,8 @@
# vxWorks-ppc603_long
# vxWorks-ppc604
# vxWorks-ppc604_long
# vxWorks-ppc604_altivec
# vxWorks-mpc8540
# RTEMS-gen68360
# RTEMS-mcp750
# RTEMS-mvme167

View File

@@ -78,7 +78,7 @@ COMMON_DBDINC += $(addprefix $(COMMON_DIR),$(HINC))
DBDDEPENDS_FILES += $(addsuffix $(DEP),$(COMMON_DBDS) \
$(COMMON_DBDINC) $(COMMON_DBS))
DBDDEPENDS_FLAGS = $(filter .%,$(subst -I,,$(filter-out -S%,$(DBDFLAGS))))
DBDDEPENDS_FLAGS = $(subst -I,,$(filter-out -S%,$(DBDFLAGS)))
DBDDEPENDS_CMD = -$(MKMF) -m $@$(DEP) $(DBDDEPENDS_FLAGS) $@ $<
MAKEDBDEPENDS = $(PERL) $(TOOLS)/makeDbDepends.pl

View File

@@ -16,11 +16,6 @@ VALID_BUILDS = Host Ioc
# Gnu directory
GNU_DIR = /usr/local
#-------------------------------------------------------
# Get fullpathname of relative dirs
SHRLIB_SEARCH_FULLPATHDIRS = $(foreach dir,$(SHRLIB_SEARCH_DIRS), \
$(shell perl $(TOOLS)/fullPathName.pl $(dir)))
#-------------------------------------------------------
# Unix prefix and suffix definitions
EXE =
@@ -55,8 +50,10 @@ SHRLIB_DEPLIBS=$(foreach lib, $(LIB_LIBS) $(USR_LIBS), \
SHRLIB_LDLIBS = $(addprefix -l, $($*_LDLIBS) $(LIB_LIBS) $(USR_LIBS) \
$($*_SYS_LIBS) $(LIB_SYS_LIBS) $(USR_SYS_LIBS)) $(LDLIBS)
SHRLIB_DEPLIB_DIRS = $(dir $($*_DEPLIBS)) $(dir $(SHRLIB_DEPLIBS))
SHRLIBDIR_LDFLAGS += $(sort $(SHRLIB_DEPLIB_DIRS:%=-L%))
SHRLIB_DEPLIB_DIRS = $(foreach word,$(sort $(dir $($*_DEPLIBS) $(SHRLIB_DEPLIBS))), \
$(shell $(PERL) $(TOOLS)/fullPathName.pl $(word)))
SHRLIBDIR_LDFLAGS += $(SHRLIB_DEPLIB_DIRS:%=-L%)
#-------------------------------------------------------
# Prod: DEPLIBS, LDFLAGS, and LDLIBS definitions
@@ -75,8 +72,10 @@ LDLIBS_SHARED_NO = LDLIBS
PROD_LDLIBS += $($(firstword $(LDLIBS_STATIC_$(STATIC_BUILD)) \
$(LDLIBS_SHARED_$(SHARED_LIBRARIES))))
PROD_DEPLIB_DIRS = $(dir $($*_DEPLIBS)) $(dir $(PROD_DEPLIBS))
PRODDIR_LDFLAGS += $(sort $(PROD_DEPLIB_DIRS:%=-L%))
PROD_DEPLIB_DIRS = $(foreach word,$(sort $(dir $($*_DEPLIBS) $(PROD_DEPLIBS))), \
$(shell $(PERL) $(TOOLS)/fullPathName.pl $(word)))
PRODDIR_LDFLAGS += $(PROD_DEPLIB_DIRS:%=-L%)
#--------------------------------------------------
# Link definitions

View File

@@ -27,7 +27,10 @@ ARCH_DEP_CPPFLAGS += -D_X86_
OP_SYS_CPPFLAGS += -DCYGWIN32 -U_WIN32
# Set runtime path for shared libraries
RUNTIME_LDFLAGS = $(SHRLIB_SEARCH_FULLPATHDIRS:%=-Wl,-rpath,%)
SHRLIBDIR_LDFLAGS += $(SHRLIB_DEPLIB_DIRS:%=-Wl,-rpath,%)
# Set runtime path for products
PRODDIR_LDFLAGS += $(PROD_DEPLIB_DIRS:%=-Wl,-rpath,%)
# Definitions used when COMMANDLINE_LIBRARY is READLINE
INCLUDES_READLINE = -I$(GNU_DIR)/include

View File

@@ -0,0 +1,34 @@
# $Id$
#
# This file is maintained by the build community.
#
# Definitions for freebsd-x86 target builds
# Sites may override these definitions in CONFIG_SITE.Common.freebsd-x86
#-------------------------------------------------------
# Include definitions common to all freebsd targets
include $(CONFIG)/os/CONFIG.Common.freebsdCommon
ARCH_CLASS = x86
ARCH_DEP_CPPFLAGS += -D_X86_
ifeq ($(BUILD_CLASS),CROSS)
ifeq ($(EPICS_HOST_ARCH),freebsd-x86)
# Added for 386,486,... cross builds
CMPLR_PREFIX=
CROSS_INCLUDES=
CROSS_LDFLAGS=
# Use -w not -Wall
#WARN_CFLAGS_YES = -w
#WARN_CXXFLAGS_YES = -w
-include $(CONFIG)/os/CONFIG_SITE.Common.freebsd-x86
-include $(CONFIG)/os/CONFIG.freebsd-x86.freebsd-x86
-include $(CONFIG)/os/CONFIG_SITE.freebsd-x86.freebsd-x86
else
GNU_TARGET=i586-pc-freebsd-gnu
CMPLR_SUFFIX=
CMPLR_PREFIX=$(addsuffix -,$(GNU_TARGET))
endif
endif

View File

@@ -13,17 +13,18 @@ OS_CLASS = freebsd
CODE_CPPFLAGS = -D_REENTRANT
#POSIX_CPPFLAGS = -D_POSIX_C_SOURCE=199506L -D_POSIX_THREADS -D_XOPEN_SOURCE=500
POSIX_CPPFLAGS = -D_POSIX_THREADS
POSIX_LDLIBS = -lpthread
# -D_BSD_SOURCE for gethostname() in unistd.h as needed by cacChannelIO.cpp.
OP_SYS_CPPFLAGS += -D_BSD_SOURCE
OP_SYS_CPPFLAGS += -Dfreebsd
#OP_SYS_LDLIBS += -lrt
# Set runtime path for shared libraries
RUNTIME_LDFLAGS = $(SHRLIB_SEARCH_FULLPATHDIRS:%=-Wl,-rpath,%)
SHRLIBDIR_LDFLAGS += $(SHRLIB_DEPLIB_DIRS:%=-Wl,-rpath,%)
# Set runtime path for products
PRODDIR_LDFLAGS += $(PROD_DEPLIB_DIRS:%=-Wl,-rpath,%)
# Definitions used when COMMANDLINE_LIBRARY is READLINE
LDLIBS_READLINE = -lreadline -lcurses

View File

@@ -26,6 +26,9 @@ LOADABLE_SHRLIB_SUFFIX = .sl$(addprefix .,$(LOADABLE_SHRLIB_VERSION))
# Set runtime path for shared libraries
empty:= # trick from the make docs...
space:= $(empty) $(empty)
RUNTIME_LDFLAGS = -Wl,+b$(subst $(space),:,$(sort $(SHRLIB_SEARCH_FULLPATHDIRS))),+s
SHRLIBDIR_LDFLAGS += -Wl,+b$(subst $(space),:,$(SHRLIB_DEPLIB_DIRS)),+s
# Set runtime path for products
PRODDIR_LDFLAGS += -Wl,+b$(subst $(space),:,$(PROD_DEPLIB_DIRS)),+s
GNU_TARGET=parisc-hp-unix

View File

@@ -29,7 +29,10 @@ ARCH_DEP_CPPFLAGS += -D_X86_
OP_SYS_CPPFLAGS += -DUNIX
# Set runtime path for shared libraries
RUNTIME_LDFLAGS = $(SHRLIB_SEARCH_FULLPATHDIRS:%=-Wl,-rpath,%)
SHRLIBDIR_LDFLAGS += $(SHRLIB_DEPLIB_DIRS:%=-Wl,-rpath,%)
# Set runtime path for products
PRODDIR_LDFLAGS += $(PROD_DEPLIB_DIRS:%=-Wl,-rpath,%)
# Definitions used when COMMANDLINE_LIBRARY is READLINE
INCLUDES_READLINE = -I$(GNU_DIR)/include

View File

@@ -6,7 +6,7 @@
# Sites may override these definitions in CONFIG_SITE.Common.linux-arm
#-------------------------------------------------------
# Include definitions common to all Unix targets
# Include definitions common to all Linux targets
include $(CONFIG)/os/CONFIG.Common.linuxCommon
ARCH_CLASS = arm
@@ -14,14 +14,16 @@ ARCH_CLASS = arm
# Set a special definition for network order of Netwinder ARM floating point
ARCH_DEP_CPPFLAGS += -D_ARM_NWFP_
# Set runtime path for shared libraries
#RUNTIME_LDFLAGS = $(SHRLIB_SEARCH_DIRS:%=-Wl,-rpath,%)
RUNTIME_LDFLAGS = $(SHRLIB_SEARCH_DIRS:%=-Wl,-rpath-link,%)
ifeq ($(BUILD_CLASS),CROSS)
GNU_TARGET = arm-linux
ifdef CROSS
GNU_TARGET=arm-linux
# prefix of compiler tools
CMPLR_SUFFIX=
CMPLR_PREFIX=$(addsuffix -,$(GNU_TARGET))
# prefix of compiler tools
CMPLR_SUFFIX =
CMPLR_PREFIX = $(addsuffix -,$(GNU_TARGET))
# Provide a link-time path for shared libraries
SHRLIBDIR_LDFLAGS += $(SHRLIB_DEPLIB_DIRS:%=-Wl,-rpath-link,%)
# Provide a link-time path for products
PRODDIR_LDFLAGS += $(PROD_DEPLIB_DIRS:%=-Wl,-rpath-link,%)
endif

View File

@@ -23,7 +23,10 @@ OP_SYS_CPPFLAGS += -Dlinux
OP_SYS_LDLIBS += -lrt
# Set runtime path for shared libraries
RUNTIME_LDFLAGS = $(SHRLIB_SEARCH_FULLPATHDIRS:%=-Wl,-rpath,%)
SHRLIBDIR_LDFLAGS += $(SHRLIB_DEPLIB_DIRS:%=-Wl,-rpath,%)
# Set runtime path for products
PRODDIR_LDFLAGS += $(PROD_DEPLIB_DIRS:%=-Wl,-rpath,%)
# Definitions used when COMMANDLINE_LIBRARY is READLINE
LDLIBS_READLINE = -lreadline -lcurses

View File

@@ -0,0 +1,40 @@
# CONFIG.Common.osf-alpha
#
# $Id$
# This file is maintained by the build community.
#
# Definitions for osf-alpha target archs
# Sites may override these definitions in CONFIG_SITE.Common.osf-alpha
#-------------------------------------------------------
# Include definitions common to all Unix targets
include $(CONFIG)/os/CONFIG.Common.UnixCommon
OS_CLASS = osf
ARCH_CLASS = alpha
CODE_CPPFLAGS =
POSIX_CPPFLAGS += -pthread -ieee
POSIX_LDFLAGS += -pthread -ieee
OP_SYS_CPPFLAGS += -D_OSF_SOURCE
OP_SYS_LDLIBS += -lrt
# Unknown reason why USR_SYS_LIBS += m is needed
USR_SYS_LIBS += m
space:=$(empty) $(empty)
colon := :
# Set runtime path for shared libraries
SHRLIBDIR_LDFLAGS += $(SHRLIB_DEPLIB_DIRS:%=-rpath %)
# Set runtime path for products
PRODDIR_LDFLAGS += $(PROD_DEPLIB_DIRS:%=-rpath %)
ifdef CROSS
GNU_TARGET=alpha-osf
CMPLR_SUFFIX=
CMPLR_PREFIX=$(addsuffix -,$(GNU_TARGET))
endif

View File

@@ -0,0 +1,38 @@
# CONFIG.Common.osf-alpha-gnu
#
# $Id$
# This file is maintained by the build community.
#
# Definitions for osf-alpha target archs
# Sites may override these definitions in CONFIG_SITE.Common.osf-alpha-gnu
#-------------------------------------------------------
# Include definitions common to all Unix targets
include $(CONFIG)/os/CONFIG.Common.UnixCommon
OS_CLASS = osf
ARCH_CLASS = alpha
CODE_CPPFLAGS =
POSIX_CPPFLAGS += -D_REENTRANT
POSIX_LDLIBS += -lpthread -lexc
OP_SYS_CPPFLAGS += -D_OSF_SOURCE
OP_SYS_LDLIBS += -lrt
space:=$(empty) $(empty)
colon := :
# Set runtime path for shared libraries
SHRLIBDIR_LDFLAGS += $(SHRLIB_DEPLIB_DIRS:%=-Wl,-rpath,%)
# Set runtime path for products
PRODDIR_LDFLAGS += $(PROD_DEPLIB_DIRS:%=-Wl,-rpath,%)
ifdef CROSS
GNU_TARGET=alpha-osf
CMPLR_SUFFIX=
CMPLR_PREFIX=$(addsuffix -,$(GNU_TARGET))
endif

View File

@@ -28,7 +28,11 @@ OP_SYS_CPPFLAGS += -DSOLARIS=$(SOLARIS_VERSION) $(COMPILER_CPPFLAGS)
OP_SYS_LDFLAGS += $(COMPILER_LDFLAGS)
# Set runtime path for shared libraries
RUNTIME_LDFLAGS = $(SHRLIB_SEARCH_FULLPATHDIRS:%=-R%)
SHRLIBDIR_LDFLAGS += $(SHRLIB_DEPLIB_DIRS:%=-R%)
# Set runtime path for products
PRODDIR_LDFLAGS += $(PROD_DEPLIB_DIRS:%=-R%)
RUNTIME_LDFLAGS += $(RUNTIME_LDFLAGS_$(COMMANDLINE_LIBRARY))
GNU_TARGET=sparc-sun-solaris2

View File

@@ -10,6 +10,6 @@
# Include definitions common to all solaris-sparc target archs
include $(CONFIG)/os/CONFIG.Common.solaris-sparc
ARCH_DEP_CFLAGS += -xtarget=ultra -xarch=v9
ARCH_DEP_CXXFLAGS += -xtarget=ultra -xarch=v9
ARCH_DEP_LDFLAGS += -xtarget=ultra -xarch=v9
ARCH_DEP_CFLAGS += -xarch=generic64
ARCH_DEP_CXXFLAGS += -xarch=generic64
ARCH_DEP_LDFLAGS += -xarch=generic64

View File

@@ -29,7 +29,11 @@ OP_SYS_LDFLAGS += $(COMPILER_LDFLAGS)
ARCH_DEP_CPPFLAGS = -D_X86_
# Set runtime path for shared libraries
RUNTIME_LDFLAGS = $(SHRLIB_SEARCH_FULLPATHDIRS:%=-R%)
SHRLIBDIR_LDFLAGS += $(SHRLIB_DEPLIB_DIRS:%=-R%)
# Set runtime path for products
PRODDIR_LDFLAGS += $(PROD_DEPLIB_DIRS:%=-R%)
RUNTIME_LDFLAGS += $(RUNTIME_LDFLAGS_$(COMMANDLINE_LIBRARY))
GNU_TARGET=x86-sun-solaris2

View File

@@ -0,0 +1,21 @@
# $Id
#
# 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.
#-------------------------------------------------------
# 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 = -mcpu=8540 -msoft-float -mstrict-align -mlongcall
GNU_TARGET = powerpc-wrs-vxworks

View File

@@ -1,10 +1,9 @@
# CONFIG.Common.vxWorks-ppc603
#
# $Id$
# This file is maintained by the build community.
#
# Definitions for vxWorks-ppc603 target archs
# Sites may override these definitions in CONFIG_SITE.Common.vxWorks-ppc603
# Definitions for vxWorks-ppc603 targets: PPC603 and PMC8240 CPUs
# Site-specific overrides go in CONFIG_SITE.Common.vxWorks-ppc603
#
# This file is maintained by the EPICS build community.
#-------------------------------------------------------
# Include definitions common to all vxWorks target archs

View File

@@ -1,22 +1,13 @@
# CONFIG.Common.vxWorks-ppc603_long
#
# $Id$
# This file is maintained by the build community.
#
# Definitions for vxWorks-ppc603 target archs with at least 32MB
# Sites may override these definitions in CONFIG_SITE.Common.vxWorks-ppc603_long
# 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
# Inherit the settings from vxWorks-ppc603
include $(CONFIG)/os/CONFIG.Common.vxWorks-ppc603
# Vx GNU cross compiler suffix
CMPLR_SUFFIX = ppc
ARCH_CLASS = ppc
# Architecture specific build flags
ARCH_DEP_CPPFLAGS = -DCPU=PPC603
ARCH_DEP_CFLAGS = -mcpu=603 -mstrict-align -mlongcall
GNU_TARGET = powerpc-wrs-vxworks
# Tell compiler to generate long branches
ARCH_DEP_CFLAGS += -mlongcall

View File

@@ -1,10 +1,9 @@
# CONFIG.Common.vxWorks-ppc604
#
# $Id$
# This file is maintained by the build community.
#
# Definitions for vxWorks-ppc604 target archs
# Sites may override these definitions in CONFIG_SITE.Common.vxWorks-ppc604
# Definitions for vxWorks-ppc604 targets: PPC604, MPC7xx and MPC74xx CPUs
# Site-specific overrides go in CONFIG_SITE.Common.vxWorks-ppc604
#
# This file is maintained by the EPICS build community.
#-------------------------------------------------------
# Include definitions common to all vxWorks target archs
@@ -12,11 +11,11 @@ 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=PPC604
ARCH_DEP_CFLAGS = -mcpu=604 -mstrict-align
ARCH_DEP_CFLAGS = -mcpu=604 -mstrict-align -mno-implicit-fp
GNU_TARGET = powerpc-wrs-vxworks

View File

@@ -0,0 +1,22 @@
# $Id$
#
# Definitions for vxWorks-ppc604 targets with an Altivec and >32MB of RAM.
# Site-specific overrides go in CONFIG_SITE.Common.vxWorks-ppc604_altivec
#
# This file is maintained by the EPICS build community.
#-------------------------------------------------------
# Inherit the settings from vxWorks-ppc604_long
include $(CONFIG)/os/CONFIG.Common.vxWorks-ppc604_long
defval = $(if $(strip $(1),),$(1),$(2))
# Tell compiler to include altivec support; not available in 5.4
ALTIVEC_CFLAG_5.4 = THIS_VERSION_OF_VXWORKS DOES_NOT_SUPPORT_ALTIVEC
ALTIVEC_CFLAG_5.5 = -fvec
ALTIVEC_CFLAG_6.0 = -fvec
# From 6.1 onwards the compiler option changed
ALTIVEC_CFLAG = -maltivec
ARCH_DEP_CFLAGS += $(call defval,$(ALTIVEC_CFLAG_$(VXWORKS_VERSION)),$(ALTIVEC_CFLAG))

View File

@@ -1,22 +1,13 @@
# CONFIG.Common.vxWorks-ppc604_long
#
# $Id
# This file is maintained by the build community.
#
# Definitions for vxWorks-ppc604 target archs with at least 32MB
# Sites may override these definitions in CONFIG_SITE.Common.vxWorks-ppc604_long
# Definitions for vxWorks-ppc604 targets with >32MB of RAM
# Site-specific overrides go in CONFIG_SITE.Common.vxWorks-ppc604_long
#
# This file is maintained by the EPICS build community.
#-------------------------------------------------------
# Include definitions common to all vxWorks target archs
include $(CONFIG)/os/CONFIG.Common.vxWorksCommon
# Inherit the settings from vxWorks-ppc604
include $(CONFIG)/os/CONFIG.Common.vxWorks-ppc604
# Vx GNU cross compiler suffix
CMPLR_SUFFIX = ppc
ARCH_CLASS = ppc
# Architecture specific build flags
ARCH_DEP_CPPFLAGS = -DCPU=PPC604
ARCH_DEP_CFLAGS = -mcpu=604 -mstrict-align -mlongcall
GNU_TARGET = powerpc-wrs-vxworks
# Tell compiler to generate long branches
ARCH_DEP_CFLAGS += -mlongcall

View File

@@ -88,10 +88,19 @@ VX_GNU_VERSION_6.2 = 3.3.2
VX_GNU_VERSION_6.3 = 3.4.4
VX_GNU_VERSION = $(VX_GNU_VERSION_$(VXWORKS_VERSION))
#--------------------------------------------------
# Fix WIND_BASE for vxWorks 6.x on linux
# NB: We know the value of WIND_HOST_TYPE here, but not VXWORKS_VERSION
ifeq ($(WIND_HOST_TYPE),x86-linux)
WIND_HOST_TYPE_5 = x86-linux
WIND_HOST_TYPE_6 = x86-linux2
WIND_HOST_TYPE = $(WIND_HOST_TYPE_$(VXWORKS_MAJOR_VERSION))
endif
#--------------------------------------------------
# vxWorks directory definitions
VX_DIR_5 = $(WIND_BASE)
VX_DIR_6 = $(WIND_BASE)/vxWorks-$(VXWORKS_VERSION)
VX_DIR_6 = $(WIND_BASE)/vxworks-$(VXWORKS_VERSION)
VX_DIR = $(VX_DIR_$(VXWORKS_MAJOR_VERSION))
VX_INCLUDE_DIRS_5 = $(VX_DIR)/target/h
@@ -105,6 +114,9 @@ GNU_DIR_5 = $(WIND_BASE)/host/$(WIND_HOST_TYPE)
GNU_DIR_6 = $(WIND_BASE)/gnu/$(VX_GNU_VERSION)-vxworks-$(VXWORKS_VERSION)/$(WIND_HOST_TYPE)
GNU_DIR = $(GNU_DIR_$(VXWORKS_MAJOR_VERSION))
# GCC_EXEC_PREFIX considered harmful since vxWorks 6 moved it
unexport GCC_EXEC_PREFIX
#--------------------------------------------------
# C++ host processing
NM = $(GNU_BIN)/$(CMPLR_PREFIX)nm$(CMPLR_SUFFIX)$(HOSTEXE)
@@ -124,13 +136,17 @@ export TOOL_FAMILY = GNU
# Operating system flags
OP_SYS_CPPFLAGS += -DvxWorks
OP_SYS_CFLAGS += -fno-builtin
#OP_SYS_CFLAGS += -fno-builtin -fdollars-in-identifiers
OP_SYS_LDFLAGS +=
# Fix for vxWorks headers using macros defined in
# vxWorks.h but not including vxWorks.h
OP_SYS_INCLUDE_CPPFLAGS_5.5 += -include $(VX_DIR)/target/h/vxWorks.h
OP_SYS_INCLUDE_CPPFLAGS = $(OP_SYS_INCLUDE_CPPFLAGS_$(VXWORKS_VERSION))
# Fix for vxWorks headers that use macros defined in vxWorks.h but
# which don't actually include vxWorks.h themselves, for example the
# target/h/sys/stat.h file which uses ULONG
OP_SYS_INCLUDE_CPPFLAGS_5 += -include $(VX_DIR)/target/h/vxWorks.h
OP_SYS_INCLUDE_CPPFLAGS = $(OP_SYS_INCLUDE_CPPFLAGS_$(VXWORKS_MAJOR_VERSION))
#--------------------------------------------------
# Optimization: Officially vxWorks only supports -O2 or less.
OPT_CFLAGS_YES = -O2
OPT_CXXFLAGS_YES = -O2
#--------------------------------------------------
# code flags
@@ -144,14 +160,10 @@ CODE_CXXFLAGS_6.2 = -fno-implicit-templates
CODE_CXXFLAGS_6 = $(CODE_CXXFLAGS_$(VXWORKS_VERSION))
CODE_CXXFLAGS = $(CODE_CXXFLAGS_$(VXWORKS_MAJOR_VERSION))
#--------------------------------------------------
# posix c preprocessor flags
POSIX_CPPFLAGS = -D_POSIX_SOURCE
#--------------------------------------------------
# no shared libs for vxWorks
SHRLIB_CFLAGS =
SHRLIB_LDFLAGS =
SHRLIB_CFLAGS =
SHRLIB_LDFLAGS =
#--------------------------------------------------
# osithead use default stack, YES or NO override

View File

@@ -18,7 +18,10 @@ EXE=.exe
COMPILER_CPPFLAGS = -D_REENTRANT
# Set runtime path for shared libraries
RUNTIME_LDFLAGS = $(SHRLIB_SEARCH_FULLPATHDIRS:%=-Wl,-rpath,%)
SHRLIBDIR_LDFLAGS += $(SHRLIB_DEPLIB_DIRS:%=-Wl,-rpath,%)
# Set runtime path for products
PRODDIR_LDFLAGS += $(PROD_DEPLIB_DIRS:%=-Wl,-rpath,%)
# Definitions used when COMMANDLINE_LIBRARY is READLINE
INCLUDES_READLINE = -I$(GNU_DIR)/include
@@ -42,6 +45,8 @@ OP_SYS_CXXFLAGS += -D__cplusplus
# Overrides -DUNIX from CONFIG.Common.UnixCommon
OP_SYS_CPPFLAGS = -mno-cygwin
LIBRARY_LD_RESS=
OP_SYS_LDFLAGS += -mno-cygwin
OP_SYS_LDLIBS = -lws2_32 -ladvapi32 -luser32 -lkernel32 -lwinmm

View File

@@ -18,8 +18,13 @@ EXE=.exe
# Library used when COMMANDLINE_LIBRARY is READLINE
LDLIBS_READLINE = -lreadline
STATIC_BUILD=YES
STATIC_LDLIBS_YES=-lws2_32 -ladvapi32 -luser32 -lkernel32 -lwinmm
# Set runtime path for shared libraries
SHRLIBDIR_LDFLAGS += $(SHRLIB_DEPLIB_DIRS:%=-Wl,-rpath,%)
# Set runtime path for products
PRODDIR_LDFLAGS += $(PROD_DEPLIB_DIRS:%=-Wl,-rpath,%)
# Compiler defines _X86_ 1
@@ -37,3 +42,10 @@ STATIC_LDLIBS_YES=-lws2_32 -ladvapi32 -luser32 -lkernel32 -lwinmm
# Override for -DUNIX from CONFIG.Common.UnixCommon
OP_SYS_CPPFLAGS =
OP_SYS_CXXFLAGS += -D__cplusplus
LIBRARY_LD_RESS=
OP_SYS_LDLIBS = -lws2_32 -ladvapi32 -luser32 -lkernel32 -lwinmm
#STATIC_LDLIBS_YES=-lws2_32 -ladvapi32 -luser32 -lkernel32 -lwinmm

View File

@@ -74,7 +74,7 @@ CCC = $(GNU_BIN)/c++
#
SHRLIB_VERSION = $(EPICS_VERSION).$(EPICS_REVISION).$(EPICS_MODIFICATION)
SHRLIB_LDFLAGS = -dynamiclib -flat_namespace -undefined suppress \
-install_name $(firstword $(SHRLIB_SEARCH_FULLPATHDIRS))/$@ \
-install_name $(shell perl $(TOOLS)/fullPathName.pl $(INSTALL_LIB))/$@ \
-compatibility_version $(EPICS_VERSION).$(EPICS_REVISION) \
-current_version $(SHRLIB_VERSION)
SHRLIB_SUFFIX = .$(SHRLIB_VERSION).dylib

View File

@@ -0,0 +1,10 @@
# $Id$
#
# This file is maintained by the build community.
#
# Definitions for freebsd host builds
# Sites may override these definitions in CONFIG_SITE.freebsd-x86.Common
#-------------------------------------------------------
#Include definitions common to unix hosts
include $(CONFIG)/os/CONFIG.UnixCommon.Common

View File

@@ -0,0 +1,19 @@
# $Id$
#
# Definitions for freebsd-x86_64 host - freebsd-x86_64 target builds
# Sites may override these definitions in CONFIG_SITE.freebsd-x86_64.freebsd-x86_64
#-------------------------------------------------------
# Include common gnu compiler definitions
include $(CONFIG)/CONFIG.gnuCommon
GNU_DIR = /usr
STATIC_LDFLAGS_YES= -Wl,-Bstatic
STATIC_LDFLAGS_NO=
STATIC_LDLIBS_YES= -Wl,-Bdynamic
STATIC_LDLIBS_NO=
SHRLIB_LDFLAGS += -shared -fPIC
LOADABLE_SHRLIB_LDFLAGS = -shared -fPIC

View File

@@ -3,7 +3,7 @@
# This file is maintained by the build community.
#
# Definitions for freebsd host builds
# Sites may override these definitions in CONFIG_SITE.freebsd.Common
# Sites may override these definitions in CONFIG_SITE.freebsd-x86_64.Common
#-------------------------------------------------------
# Include definitions common to unix hosts

View File

@@ -8,7 +8,6 @@
include $(CONFIG)/CONFIG.gnuCommon
GNU_DIR = /usr
GNU_LDLIBS_YES =
STATIC_LDFLAGS_YES= -Wl,-Bstatic
STATIC_LDFLAGS_NO=

View File

@@ -9,9 +9,6 @@ include $(CONFIG)/CONFIG.gnuCommon
GNU_DIR = /usr
# Override the -nostdinc flag, needed here...
CROSS_CPPFLAGS =
# Copied from x86.x86
STATIC_LDFLAGS_YES= -Wl,-Bstatic
STATIC_LDFLAGS_NO=

View File

@@ -0,0 +1,12 @@
# CONFIG.osf-alpha-gnu.Common
#
# $Id$
# This file is maintained by the build community.
#
# Definitions for osf-alpha host archs
# Sites may override these definitions in CONFIG_SITE.osf-alpha-gnu.Common
#-------------------------------------------------------
#Include definitions common to unix hosts
include $(CONFIG)/os/CONFIG.UnixCommon.Common

View File

@@ -0,0 +1,45 @@
# CONFIG.osf-alpha-gnu.osf-alpha-gnu
#
# $Id$
# This file is maintained by the build community.
#
# Definitions for osf-alpha host archs
# Sites may override these definitions in CONFIG_SITE.osf-alpha-gnu.osf-alpha-gnu
#-------------------------------------------------------
CC = gcc
CCC = g++
CPP = $(CC) -E
RANLIB =
AR = ar -r
LD = -r
# Configure OS vendor C compiler
CONFORM_CFLAGS_ANSI =
CONFORM_CFLAGS_STRICT =
CONFORM_CFLAGS_TRAD =
CODE_CFLAGS =
WARN_CFLAGS_YES =
WARN_CFLAGS_NO = -w
OPT_CFLAGS_YES = -O
OPT_CFLAGS_NO = -g
# Configure OS vendor C++ compiler
CONFORM_CXXFLAGS_NORMAL =
CONFORM_CXXFLAGS_STRICT =
PROF_CXXFLAGS_YES = +p
PROF_CXXFLAGS_NO =
CODE_CXXFLAGS =
WARN_CXXFLAGS_YES =
WARN_CXXFLAGS_NO =
OPT_CXXFLAGS_YES = -O
OPT_CXXFLAGS_NO = -g
STATIC_LDFLAGS_YES= -Bstatic
STATIC_LDFLAGS_NO=
STATIC_LDLIBS_YES= -Bdynamic
STATIC_LDLIBS_NO=
SHRLIB_LDFLAGS = -shared
LOADABLE_SHRLIB_LDFLAGS = $(SHRLIB_LDFLAGS)

View File

@@ -0,0 +1,12 @@
# CONFIG.osf-alpha.Common
#
# $Id$
# This file is maintained by the build community.
#
# Definitions for osf-alpha host archs
# Sites may override these definitions in CONFIG_SITE.osf-alpha.Common
#-------------------------------------------------------
#Include definitions common to unix hosts
include $(CONFIG)/os/CONFIG.UnixCommon.Common

View File

@@ -0,0 +1,49 @@
# CONFIG.osf-alpha.osf-alpha
#
# $Id$
# This file is maintained by the build community.
#
# Definitions for osf-alpha host archs
# Sites may override these definitions in CONFIG_SITE.osf-alpha.osf-alpha
#-------------------------------------------------------
CC = cc
CCC = cxx
CPP = $(CC) -E
RANLIB =
AR = ar -r
LD = -r
# Configure OS vendor C compiler
CONFORM_CFLAGS_ANSI = -std
CONFORM_CFLAGS_STRICT = -std1
CONFORM_CFLAGS_TRAD = -std0
CODE_CFLAGS =
WARN_CFLAGS_YES =
WARN_CFLAGS_NO = -w
OPT_CFLAGS_YES = -O
OPT_CFLAGS_NO = -g
# Configure OS vendor C++ compiler
CONFORM_CXXFLAGS_NORMAL =
CONFORM_CXXFLAGS_STRICT = -std gnu
PROF_CXXFLAGS_YES = +p
PROF_CXXFLAGS_NO =
CODE_CXXFLAGS =
WARN_CXXFLAGS_YES =
WARN_CXXFLAGS_NO =
OPT_CXXFLAGS_YES = -O
OPT_CXXFLAGS_NO = -g
STATIC_LDFLAGS_YES= -Bstatic
STATIC_LDFLAGS_NO=
STATIC_LDLIBS_YES= -Bdynamic
STATIC_LDLIBS_NO=
SHRLIB_LDFLAGS = -shared
LOADABLE_SHRLIB_LDFLAGS = $(SHRLIB_LDFLAGS)
############# ???????????
#####ACC_SFLAGS_YES= -non_shared
#####ACC_SFLAGS_NO= -call_shared

View File

@@ -52,7 +52,7 @@ STATIC_LDFLAGS_NO=
STATIC_LDLIBS_YES= -Bdynamic
STATIC_LDLIBS_NO=
SHRLIB_CFLAGS = -KPIC
SHRLIB_CFLAGS = -xcode=pic32
SHRLIB_LDFLAGS = -z defs -G -h $@ -z text
LOADABLE_SHRLIB_LDFLAGS = -G -h $@ -z text

View File

@@ -299,9 +299,9 @@ LINK.cpp = $(WINLINK) -nologo $(STATIC_LDFLAGS) $(LDFLAGS) $(PROD_LDFLAGS) -out:
# useManifestTool.pl returns 0(don't use) or 1(use).
#
ifeq ($(shell $(PERL) $(TOOLS)/useManifestTool.pl),1)
MT_DLL_COMMAND = mt.exe /manifest $@.manifest /outputresource:$@;\#2
MT_DLL_COMMAND = mt.exe /manifest $@.manifest "/outputresource:$@;\#2"
MT_EXE_COMMAND_YES =
MT_EXE_COMMAND_NO = mt.exe /manifest $@.manifest /outputresource:$@;\#1
MT_EXE_COMMAND_NO = mt.exe /manifest $@.manifest "/outputresource:$@;\#1"
MT_EXE_COMMAND = $(MT_EXE_COMMAND_$(STATIC_BUILD))
endif

View File

@@ -10,9 +10,10 @@
# to $(INSTALL_LOCATION)/lib/$(EPICS_HOST_ARCH) (or wherever you install
# the EPICS shared libraries on your system) when invoking base
# executables, or
# b) Add the path to SHRLIB_SEARCH_FULLPATHDIRS below, which will burn
# b) Add the path to SHRLIB_DEPLIB_DIRS and PROD_DEPLIB_DIRS below, which will burn
# the runtime search path into the executables.
#SHARED_LIBRARIES=YES
# This is the absolute path to the generic INSTALL_LOCATION, for SHARED_LIBRARY searches.
SHRLIB_SEARCH_FULLPATHDIRS += /opt/epics/R$(EPICS_SHORT_VERSION)/base/$(EPICS_VERSION)-$(EPICS_REVISION)-$(EPICS_MODIFICATION)-$(EPICS_PATCH_LEVEL)$(EPICS_CVS_SNAPSHOT)$(EPICS_SITE_VSTRING)/lib/$(EPICS_HOST_ARCH)
SHRLIB_DEPLIB_DIRS += /opt/epics/R$(EPICS_SHORT_VERSION)/base/$(EPICS_VERSION)-$(EPICS_REVISION)-$(EPICS_MODIFICATION)-$(EPICS_PATCH_LEVEL)$(EPICS_CVS_SNAPSHOT)$(EPICS_SITE_VSTRING)/lib/$(EPICS_HOST_ARCH)
PROD_DEPLIB_DIRS += /opt/epics/R$(EPICS_SHORT_VERSION)/base/$(EPICS_VERSION)-$(EPICS_REVISION)-$(EPICS_MODIFICATION)-$(EPICS_PATCH_LEVEL)$(EPICS_CVS_SNAPSHOT)$(EPICS_SITE_VSTRING)/lib/$(EPICS_HOST_ARCH)

View File

@@ -12,8 +12,8 @@
# a) LD_LIBRARY_PATH must include the full absolute pathname to
# $(INSTALL_LOCATION)/lib/$(EPICS_HOST_ARCH) when invoking base
# executables.
# b) Add the runtime path to SHRLIB_SEARCH_FULLPATHDIRS, which will add
# the named directory to the list contained in the executables.
# b) Add the runtime path to SHRLIB_DEPLIB_DIRS and PROD_DEPLIB_DIRS, which
# will add the named directory to the list contained in the executables.
# c) Add the runtime path to /etc/ld.so.conf and run ldconfig
# to inform the system of the shared library location.

View File

@@ -12,8 +12,8 @@
# a) LD_LIBRARY_PATH must include the full absolute pathname to
# $(INSTALL_LOCATION)/lib/$(EPICS_HOST_ARCH) when invoking base
# executables.
# b) Add the runtime path to SHRLIB_SEARCH_DIRS, which will add
# the named directory to the list contained in the executables.
# b) Add the runtime path to SHRLIB_DEPLIB_DIRS and PROD_DEPLIB_DIRS, which
# will add the named directory to the list contained in the executables.
# c) Add the runtime path to /etc/ld.so.conf and run ldconfig
# to inform the system of the shared library location.

View File

@@ -0,0 +1,6 @@
# $Id$
#
# Site Specific definitions for the vxWorks-mpc8540 target
#
# Only the local epics system manager should modify this file
#-------------------------------------------------------

View File

@@ -0,0 +1,7 @@
# $Id$
#
# Site Specific definitions for the vxWorks-ppc603 target
#
# Only the local epics system manager should modify this file
#-------------------------------------------------------

View File

@@ -0,0 +1,10 @@
# $Id$
#
# Site Specific definitions for the vxWorks-ppc603_long target
#
# Only the local epics system manager should modify this file
#-------------------------------------------------------
# Inherit the settings from vxWorks-ppc603
-include $(CONFIG)/os/CONFIG_SITE.Common.vxWorks-ppc603

View File

@@ -1,8 +1,7 @@
# CONFIG_SITE.Common.vxWorks-ppc604
#
# $Id$
#
# Site Specific definitions for vxWorks-ppc604 target
# Site Specific definitions for the vxWorks-ppc604 target
#
# Only the local epics system manager should modify this file
#-------------------------------------------------------

View File

@@ -0,0 +1,10 @@
# $Id$
#
# Site Specific definitions for the vxWorks-ppc604_altivec target
#
# Only the local epics system manager should modify this file
#-------------------------------------------------------
# Inherit the settings from vxWorks-ppc604_long
-include $(CONFIG)/os/CONFIG_SITE.Common.vxWorks-ppc604_long

View File

@@ -1,8 +1,10 @@
# CONFIG_SITE.Common.vxWorks-ppc604
#
# $Id$
#
# Site Specific definitions for vxWorks-ppc604 target
# Site Specific definitions for the vxWorks-ppc604_long target
#
# Only the local epics system manager should modify this file
#-------------------------------------------------------
# Inherit the settings from vxWorks-ppc604
-include $(CONFIG)/os/CONFIG_SITE.Common.vxWorks-ppc604

View File

@@ -5,4 +5,8 @@
# Site specific definitions for linux-x86 host - linux-arm target builds
#-------------------------------------------------------
# Diamond:
#GNU_DIR = /home/targetOS/linux-arm/host/x86-linux/gcc_3.3.3
# anj@aps:
#GNU_DIR = /local/anj/cross-arm/gcc-3.4.5-glibc-2.3.6/arm-linux

View File

@@ -1,16 +1,7 @@
# CONFIG_SITE.linux-x86.vxWorks-ppc603
#
# $Id$
# This file is maintained by the build community.
#
# Site override definitions for linux-x86 host - vxWorks-ppc603 target builds
# Site-specific definitions for linux-x86 builds of vxWorks-ppc603
#
# Only the local epics system manager should modify this file
#-------------------------------------------------------
# ORNL SNS overrides for cross compilers
#VX_DIR_YES = /opt/tornado20/
#VX_CONFIG_DIR_YES = $(VX_DIR)/target/config
#VX_INCLUDE_YES = /usr/local/crossgcc/ppc/powerpc-wrs-vxworks/sys-include
#VX_GNU_YES = /usr/local/crossgcc/ppc/
#VX_GNU_BIN_YES = $(VX_GNU)/bin
#VX_GNU_LIB_YES = /usr/local/crossgcc/ppc/lib/gcc-lib/powerpc-wrs-vxworks/2.95.2

View File

@@ -1,15 +1,9 @@
# CONFIG_SITE.linux-x86.vxWorks-ppc603_long
#
# $Id$
# This file is maintained by the build community.
#
# Site override definitions for linux-x86 host - vxWorks-ppc603_long target builds
# Site-specific definitions for linux-x86 builds of vxWorks-ppc603_long
#
# Only the local epics system manager should modify this file
#-------------------------------------------------------
# ORNL SNS overrides for cross compilers
#GNU_DIR=/ade/vxWorks/crossgcc-2.7.2-WRS/ppc
#GNU_TARGET_INCLUDE_DIR=/ade/vxWorks/crossgcc-2.7.2-WRS/ppc/powerpc-wrs-vxworks/sys-include
#CC = /ade/vxWorks/crossgcc-2.7.2-WRS/ppc/bin/cc$(CMPLR_SUFFIX)
#CCC = /ade/vxWorks/crossgcc-2.7.2-WRS/ppc/bin/g++$(CMPLR_SUFFIX)
# Inherit settings from vxWorks-ppc603
-include $(CONFIG)/os/CONFIG_SITE.linux-x86.vxWorks-ppc603

View File

@@ -1,17 +1,6 @@
# CONFIG_SITE.linux-x86_64.vxWorks-ppc603
#
# $Id$
# This file is maintained by the build community.
#
# Site override definitions for linux-x86_64 host - vxWorks-ppc603 target builds
# Site-specific definitions for linux-x86_64 builds of vxWorks-ppc603
#
# Only the local epics system manager should modify this file
#-------------------------------------------------------
# This file contains overrides for Vx builds
# ORNL SNS overrides for cross compilers
# The custom cross compiler for VxWorks on Linux
# has place in a directory structure like that of
# the Solaris distribution. So now the cross should
# only need the following line.
# cross-compiler from "Linux x86pc" host to a "ppc603" target
VX_DIR_YES = /ade/vxWorks/t202/ppc

View File

@@ -1,17 +1,9 @@
# CONFIG_SITE.linux-x86_64.vxWorks-ppc603_long
#
# $Id$
# This file is maintained by the build community.
#
# Site override definitions for linux-x86_64 host - vxWorks-ppc603 target builds
# Site-specific definitions for linux-x86 builds of vxWorks-ppc603_long
#
# Only the local epics system manager should modify this file
#-------------------------------------------------------
# This file contains overrides for Vx builds
# ORNL SNS overrides for cross compilers
# The custom cross compiler for VxWorks on Linux
# has place in a directory structure like that of
# the Solaris distribution. So now the cross should
# only need the following line.
# cross-compiler from "Linux x86pc" host to a "ppc603" target
VX_DIR_YES = /ade/vxWorks/t202/ppc
# Inherit settings from vxWorks-ppc603
-include $(CONFIG)/os/CONFIG_SITE.linux-x86_64.vxWorks-ppc603

View File

@@ -0,0 +1,4 @@
# Shared libraries are not yet supported in cygwin builds.
SHARED_LIBRARIES=NO

View File

@@ -337,7 +337,9 @@ sub UnixPath {
sub LocalPath {
my ($newpath) = @_;
if ($^O eq "darwin") {
if ($^O eq "cygwin") {
$newpath =~ s{^/cygdrive/([a-zA-Z])/}{$1:/};
} elsif ($^O eq "darwin") {
# These rules are likely to be site-specific
$newpath =~ s{^/private/var/auto\.home/}{/home/}; # APS
}

View File

@@ -25,13 +25,9 @@
#-----------------------------------------------------------------------
use Getopt::Std;
use Text::Wrap;
$Text::Wrap::columns = 76;
my $version = 'mkmf.pl,v 1.5 2002/03/25 21:33:24 jba Exp $ ';
my $endline = $/;
my %delim_match = ( q/'/ => q/'/, q/"/ => q/"/);
my %output;
my @includes;
@@ -75,7 +71,7 @@ print "\n ALL DONE \n\n" if $debug;
sub printList{
my $depFile = shift;
my $objFile = shift;
my $line;
my $file;
unlink($depFile) or die "Can't delete $depFile: $!\n" if -f $depFile;
@@ -85,20 +81,10 @@ sub printList{
print "# DO NOT EDIT: This file created by $version\n\n";
local $: = " \t\n"; # remove hyphen from word boundary defaults
$line = "$objFile : @includes";
$fmtline = wrap ("", " ", $line);
$fmtline =~ s/\n/ \\\n/mg;
print $fmtline;
print "\n\n";
print "#Depend files must be targets to avoid 'No rule to make target ...' errors\n";
#$line = "@includes";
foreach $file (@includes) {
print "$file :\n";
print "$objFile : $file\n";
}
print "\n\n";
select($old_handle) ; # in this case, STDOUT
}
@@ -139,10 +125,10 @@ sub findNextIncName {
my $dir;
local $/ = $endline;
return 0 if !($line =~ m/^[ ]*\#?[ ]*include/);
return 0 if !($line =~ /^[\#?\s]*include\s*(['""'<])([\w\.\/]*)$delim_match{\1}/ix);
return 0 if !$2;
$incname = $2;
return 0 if not $line =~ /^\s*#?\s*include\s*(<.*?>|".*?")/;
$incname = substr $1, 1, length($1)-2;
print "DEBUG: $incname\n" if $debug;
return $incname if -f $incname;
return 0 if ( $incname =~ /^\// || $incname =~ /^\\/ );
@@ -155,4 +141,3 @@ sub findNextIncName {
}
return 0;
}

View File

@@ -9,16 +9,21 @@
</head>
<body>
<h1 style="text-align: center">EPICS Base R3.14.8: Known Problems</h1>
<h1 style="text-align: center">EPICS Base R3.14.9: Known Problems</h1>
<ul>
<li>The new architectures <tt>linux-x86_64</tt> and <tt>solaris-sparc64</tt>
are known to not work yet; do not attempt do use them, although if you need
either one an offer to help find the problems would be welcomed.</li>
<li>It is not possible to build a statically linked version of base on
HP-UX. If you need this and manage to work out how, please tell us!</li>
<li>We have had problems with the linux-x86 target running on the Linux
2.6.10 kernel, but these disappeared with later kernel versions.</li>
<li>It is not possible to build this version of base on HP-UX due to C++
issues which appear to be bugs in the HP-UX compiler.</li>
<li>When shutting down any CA client or IOC on a recent version of GNU/Linux
(one that includes the NPTL threading library) the following message may
appear, possibly preceeded by a message about a thread terminating due to a
C++ exception:
<blockquote><pre>FATAL: exception not rethrown</pre></blockquote>
An <tt>Abort</tt> message and a core-dump may also be generated if the
user's settings allow this. The error is caused by the implementation of the
pthread_cancel() mechanism in NPTL, which uses the C++ exception mechanism
without providing any means to distinguish the cancel exception to regular
C++ exception handlers.</li>
</ul>
</body>

View File

@@ -152,6 +152,8 @@ Software requirements</h3>
<blockquote><b>GNU make</b>
<br>You must use GNU make, gnumake, for any EPICS builds. Set your
path so that a gnumake version 3.78.1 or later is available.
<p><b>gcc</b>
<br>You must have gcc version 3.4.2 or later.
<p><b>Perl</b>
<br>You must have perl version 5.0 or later installed. The configure files
do not specify the perl full pathname. You need the perl executable

View File

@@ -0,0 +1,78 @@
Compiling EPICS and Building IOC Applications on Tru64Unix/Alpha
(former Digital-Unix, and even former OSF1)
for architectures "osf-alpha" and "osf-alpha-gnu"
======================================================================
Tools needed
------------
For C/C++ Compiler, you need one of these compiler set.
- DEC/Compaq/HP's ANSI C/C++ compilers for "osf-alpha"
I used
cc -V
Compaq C V6.5-303 (dtk) on Compaq Tru64 UNIX V5.1B (Rev. 2650)
Compiler Driver V6.5-302 (dtk) cc Driver
cxx -V
Compaq C++ V6.5-042 for Compaq Tru64 UNIX V5.1B (Rev. 2650)
Compiler Driver V6.5-042 (cxx) cxx Driver
- GNU gcc/g++ compiler for "osf-alpha-gnu"
I used
gcc --version
gcc (GCC) 3.4.3
Environment
-----------
Before compiling, please set the environment variable EPICS_HOST_ARCH
dependent on your compiler.
for cc/cxx
setenv EPICS_HOST_ARCH osf-alpha
(setenv EPICS_HOST_ARCH `startup/EpicsHostArch.pl`)
export EPICS_HOST_ARCH=osf-alpha
for gcc/g++
setenv EPICS_HOST_ARCH osf-alpha-gnu
(setenv EPICS_HOST_ARCH `startup/EpicsHostArch.pl gnu`)
export EPICS_HOST_ARCH=osf-alpha-gnu
Building
--------
Should be quite straightforward. Edit (if necessary) the CONFIG_SITE
files and "make". (Be sure that GNU make is in your path or call it
explicitly as the standard make on Tru64Unix is _not_ GNU.)
For example (with csh):
setenv EPICS_HOST_ARCH `startup/EpicsHostArch.pl`
make |& tee ../make-base-osf.log
make runtests | & tee ../test-base-osf.log
setenv EPICS_HOST_ARCH `startup/EpicsHostArch.pl gnu`
make |& tee ../make-base-osfgnu.log
Minor errors are detected in and timer. They should be investigated
later.
Some internals
-----------------------
__alpha is used to distinguish this architecture from others.
__DECCXX is used to distinguish DEC/Compaq/HP C++ compiler from GNU's.
There are several ways to specify compiler options for pthread.
Please consult the pthread(3) manual page.
src/libCom/osi/os/osf is used for osi definitions,
src/libCom/osi/os/alpha is not used.
About 230 warning messages with cc/cxx, and 4 with gcc. Sometimes
errors from cxx are intuitive.
I just started to use IOC application for a gateway purpose. There
can be architecture-dependent problems, that I didn't find yet.
Only several lines in configure and src files were modified from
base-3.14.4/5/6/7/8/8.2/9pre. Thanks the core team for keeping
the alpha-osf dependent part in the distribution.
<URL:http://www-linac.kek.jp/jk/osf/>
Kazuro Furukawa <kazuro.furukawa at kek.jp>

View File

@@ -9,10 +9,51 @@
<body lang="en">
<h1 align="center">EPICS Base Release 3.14.x</h1>
<h2 align="center">Changes since 3.14.8.2</h2>
<h2 align="center">Changes between 3.14.8.2 and 3.14.9</h2>
<!-- Insert new items below here ... -->
<h4>Cygwin Builds</h4>
<p>The cygwin make version 3.81-1 does not handle MS-DOS path names and thus
does not work for EPICS builds with RELEASE file definitions. From the
discussion on the cygwin mailing list it looks like this will be fixed in make
version 3.82. In the meantime make version 3.80 or a fixed make can be
downloaded from
<a href="https://projects.coin-or.org/BuildTools/wiki/current-issues">this
website</a>.
<h4>New Architectures</h4>
<p>The following target architectures have been added to this release, although
the core developers lack the ability to test all of them:</p>
<ul>
<li>darwin-ppcx86</li>
<li>darwin-x86</li>
<li>freebsd-x86</li>
<li>freebsd-x86_64</li>
<li>interix-x86</li>
<li>linux-arm</li>
<li>osf-alpha</li>
<li>osf-alpha-gnu</li>
<li>vxWorks-mpc8540</li>
<li>vxWorks-ppc604_altivec</li>
</ul>
<h4>vxWorks compiler optimization level</h4>
<p>Wind River Systems do not support optimization levels beyond <tt>-O2</tt> for
vxWorks applications compiled using gcc, so optimized vxWorks builds are now set
to <tt>-O2</tt> only (we currently use <tt>-O3</tt> everywhere else).</p>
<h4>cas</h4>
<p>There was a bug in the portable channel access server library that prevented
the PV Gateway from being able to handle and pass on alarm acknowledgements from
the EPICS Alarm Handler ALH. This has been fixed in this release and should only
require that the gatewey be recomplied against this version of Base.</p>
<h4>dbLoadTemplate</h4>
<p>The parser for the substitutions file accepted by dbLoadTemplate() has been
@@ -32,7 +73,8 @@ _ - + : . / \ [ ] &lt; &gt; ;</tt></p>
use C89-compatible escaped character codes such as \", \', \t, \n, \064 and
\x7e. The parser also now checks for and reports strings that have a newline
character in them as an error - if you want a newline in a field, use the \n
escaped version.</p>
escaped version. These escapes only apply to the value part of a field() entry
in .db file though; no other strings have escape codes translated.</p>
<h4>libCom/test and db/test</h4>
@@ -49,12 +91,12 @@ humans.</p>
the test programs in a suitable order. At a vxWorks target shell, type:</p>
<blockquote>
<pre>ld </path/to/base/bin/vxWorks-<i>arch</i>/vxTestHarness.munch
<pre>ld &lt;/path/to/base/bin/vxWorks-<i>arch</i>/vxTestHarness.munch
cd "/path/to/writable/directory"
epicsRunLibComTests</pre>
</blockquote>
<p>On RTEMS, boot the bin/<i>arch</i>/rtemsTestHarness binary.</p>
<p>On RTEMS, boot the <tt>bin/<i>arch</i>/rtemsTestHarness</tt> binary.</p>
<p>You may wish to capture the output from running these to a file to more
easily check the results, since there is no wrapper program to collect and
@@ -98,7 +140,7 @@ separated by a semicolon <tt>;</tt>, all but one of which must be assignments.
The value of the whole string is determined by the single non-assignment
expression, which may appear anywhere in the string. For example, the following
string causes a single CALC record to output the successive values of a sine
curve: <tt>sin(a);&nbsp;a:=a+d2r</tt></p>
curve in 1 degree intervals: <tt>sin(a);&nbsp;a:=a+d2r</tt></p>
<p>Previously any expression that performed an invalid operation which would
generate a NaN or Inf result would be stopped immediately and return an error to
@@ -110,7 +152,7 @@ infinity. To permit this to be checked within the expression, the new operators
expression language. The literal values <tt>Inf</tt> and <tt>NaN</tt> are also
now supported in expressions.</p>
<p>The incompatible change to the expression language was to change the
<p>The only incompatible change to the expression language was to change the
<tt>NOT</tt> operator from performing a unary minus operation to an integer
bitwise not; the former meaning is illogical and as a result was probably not
used much, if at all &mdash; nobody complained when I discussed this on
@@ -197,8 +239,6 @@ before reading values from NVRAM and
epicsRtemsInitPostSetBootConfigFromNVRAM just afterwards. See
epicsRtemsInitHooks.h for prototypes and global variables.</p>
<h4>libCom</h4>
<h4>e_flex</h4>
<p><tt>e_flex</tt> has been modified to accept DOS line endings as well as Unix
@@ -234,7 +274,7 @@ which will run on both PowerPC and Intel x86 targets.</p>
<p>Added support for EPICS_HOST_ARCH=darwin-x86.</p>
<h2 align="center">Changes since 3.14.8.1</h2>
<h2 align="center">Changes between 3.14.8.1 and 3.14.8.2</h2>
<h4>epicsStrtod</h4>
@@ -244,7 +284,7 @@ managed to break the use of this in the R3.14.8.1 release. This is now
fixed.</p>
<h2 align="center">Changes since 3.14.8</h2>
<h2 align="center">Changes between 3.14.8 and 3.14.8.1</h2>
<h4>Version Numbering</h4>
@@ -291,7 +331,7 @@ win32 architectures.</p>
</ul>
<h2 align="center">Changes since 3.14.7</h2>
<h2 align="center">Changes between 3.14.7 and 3.14.8</h2>
<h4>New host targets</h4>
@@ -509,7 +549,7 @@ could not be created. This is fixed.</p>
<p>222 - osiSpawnDetachedProcess doesnt close open files in dupicate process
on POSIX</p>
<h2 align="center">Changes since 3.14.6</h2>
<h2 align="center">Changes between 3.14.6 and 3.14.7</h2>
<h4>selRecord</h4>
@@ -643,7 +683,7 @@ can cause an IOC to crash.</p>
when the ARCH defined in the ioc*/Makefile is present in BUILD_ARCHS for the
build.</p>
<h2 align="center">Changes since 3.14.5</h2>
<h2 align="center">Changes between 3.14.5 and 3.14.6</h2>
<h4>CA command line tools complete</h4>
@@ -895,7 +935,7 @@ channels)</p>
</li>
</ul>
<h2 align="center">Changes since 3.14.4</h2>
<h2 align="center">Changes between 3.14.4 and 3.14.5</h2>
<h4>dbtr</h4>
@@ -1075,7 +1115,7 @@ command, add <code>registrar(iocshSystemCommand)</code> to an application
database description file.</p>
<center>
<h2>Changes since 3.14.3</h2>
<h2>Changes between 3.14.3 and 3.14.4</h2>
</center>
<h4>sCalcPostfix</h4>
@@ -1127,7 +1167,7 @@ successfully connects.</p>
assisting with identifying the cause.</p>
<center>
<h2>Changes since 3.14.2</h2>
<h2>Changes between 3.14.2 and 3.14.3</h2>
</center>
<h4>TPRO output</h4>
@@ -1330,7 +1370,7 @@ symptom was a hang during process exit. A workaround was installed.</p>
branch off of BSD and therefore requires socket option SO_REUSEPORT.</p>
<center>
<h2>Changes since 3.14.1</h2>
<h2>Changes between 3.14.1 and 3.14.2</h2>
</center>
<p><strong>Build System</strong></p>
@@ -1417,7 +1457,7 @@ that it ignores case.</p>
macParseDefns was not correct.</p>
<center>
<h2>Changes since beta2</h2>
<h2>Changes between 3.14.0beta2 and 3.14.1</h2>
</center>
<p><strong>function - New Database Definition Keyword</strong></p>

View File

@@ -18,8 +18,23 @@
new release of EPICS Base. Additions and ammendments to this list are
welcome.</p>
<h3>The Release Process</h3>
<p>The version released on the Feature Freeze date is designated the first
pre-release, <tt>-pre1</tt>. The first Release Candidate <tt>-RC1</tt> is the
first version that has undergone widespread testing and which has no known
problems in it that are slated to be fixed in this release. New versions should
be made at about weekly intervals during the testing and debugging process, and
will be designated as either pre-release versions or Release Candidates by the
Release Manager. A Release Candidate that has received widespread testing for a
week without any additional problems being discovered or CVS commits being made
can be designated as the final release.</p>
<h3>Roles</h3>
<p>The following roles are used, in addition to the names of individuals who
have been responsible for specific tasks in the past:</p>
<dl>
<dt><strong>Release Manager</strong></dt>
<dd>Responsible for the release</dd>
@@ -27,8 +42,6 @@ have been responsible for specific tasks in the past:</p>
<dd>Responsible for individual operating system platforms</dd>
</dl>
<p></p>
<table border="1" width="100%">
<tbody>
<tr>
@@ -55,13 +68,15 @@ have been responsible for specific tasks in the past:</p>
<tr>
<td> </td>
<td>Release Manager</td>
<td>Set a date by which all CVS commits must be done, after which
commits should only be to fix problems that show up during Final
Testing.</td>
<td>Set the Feature Freeze date, by which time all CVS commits for
enhancements and new functionality should have been completed. After
this date, commits should only be made to fix problems that show up
during testing.</td>
</tr>
<tr>
<td> </td>
<td>Release Manager</td>
<td>Release Manager &amp;<br />
all developers</td>
<td>Ensure that documentation will be updated before the release date:
<ul>
<li>Application Developers Guide</li>
@@ -72,25 +87,84 @@ have been responsible for specific tasks in the past:</p>
</td>
</tr>
<tr>
<td> </td>
<td>?</td>
<td>...</td>
<th colspan="3">Creating pre-release and Release Candidate versions</th>
</tr>
<tr>
<th colspan="3">Final testing</th>
<td> </td>
<td>Janet Anderson</td>
<td>Edit and commit changes to the EPICS version number file
configure/CONFIG_BASE_VERSION.</td>
</tr>
<tr>
<td> </td>
<td>Janet Anderson</td>
<td>Tag the module in CVS. Pre-release version tags take the form
<tt>R<i>x</i>-<i>y</i>-<i>z</i>-pre<i>n</i></tt> while Release
Candidate tags take the form
<tt>R<i>x</i>-<i>y</i>-<i>z</i>-RC<i>m</i></tt>.
</td>
</tr>
<tr>
<td> </td>
<td>Janet Anderson</td>
<td>Export the tagged version and create a tarfile of the result:
<blockquote><tt>
cvs export -kv -d base-x.y.z-pre1 -r Rx-y-z-pre1 epics/base<br />
tar cfz baseRx.y.z-pre1.tar.gz base-x.y.z-pre1
</tt></blockquote></td>
</tr>
<tr>
<td> </td>
<td>Janet Anderson</td>
<td>Test the tar file by extracting its contents and building it on at
least one supported platform</td>
</tr>
<tr>
<td> </td>
<td>Janet Anderson</td>
<td>Copy the tar file to the Base download area of the website</td>
</tr>
<tr>
<td> </td>
<td>Andrew Johnson</td>
<td>Create or update a website subdirectory to hold the release
documentation, and copy in the files from the base/documentation
directory of the tarfile.</td>
</tr>
<tr>
<td> </td>
<td>Andrew Johnson</td>
<td>Create or modify the webpage for the new release with links to the
release documents and tar file. Pre-release versions should use the
page and URL for the final release version number.</td>
</tr>
<tr>
<td> </td>
<td>Andrew Johnson</td>
<td>Add the new pre-release tar file to the website Base download index
page.</td>
</tr>
<tr>
<th colspan="3">Testing</th>
</tr>
<tr>
<td> </td>
<td>Platform Developers</td>
<td>Run the Soft IOC tests in mrkSoftTest on all available
<td>Run the Soft IOC tests from mrkSoftTest on all available
platforms.</td>
</tr>
<tr>
<td> </td>
<td>Platform Developers</td>
<td>Check that all makeBaseApp templates build and run properly, all
xxxApp and xxxBoot types and any internal options, e.g. standalone
sncExample appliction, STATIC_BUILD=YES.</td>
xxxApp and xxxBoot types and any internal options, e.g. setting
STATIC_BUILD=YES in the configure/CONFIG_SITE.</td>
</tr>
<tr>
<td> </td>
<td>Platform Developers</td>
<td>Build the SNL Sequencer against this version of Base, and check that
the makeBaseApp example builds and runs correctly with it.</td>
</tr>
<tr>
<td> </td>
@@ -107,7 +181,7 @@ have been responsible for specific tasks in the past:</p>
<tr>
<td> </td>
<td>Release Manager</td>
<td>Check that the documentation has been updated:
<td>Check that documentation has been updated:
<ul>
<li>Application Developers Guide</li>
<li>Release Notes</li>
@@ -116,21 +190,18 @@ have been responsible for specific tasks in the past:</p>
</ul>
</td>
</tr>
<tr>
<td> </td>
<td>?</td>
<td>...</td>
</tr>
<tr>
<th colspan="3">Release Approval</th>
</tr>
<tr>
<td> </td>
<td>Release Manager</td>
<td>Obtain a positive 'Ok to release' from all platform developers.</td>
<td>Obtain a positive 'Ok to release' from all platform developers when a
Release Candidate version has gone a whole week without any issues being
reported.</td>
</tr>
<tr>
<th colspan="3">Make the release</th>
<th colspan="3">Creating the final release version</th>
</tr>
<tr>
<td> </td>
@@ -141,15 +212,17 @@ have been responsible for specific tasks in the past:</p>
<tr>
<td> </td>
<td>Janet Anderson</td>
<td>Tag the module in CVS. Official base release version tags take the form
<code>R</code><i><code>x</code></i><code>-</code><i><code>y</code></i><code>-</code><i><code>z</code></i><code>[-</code><i><code>n</code></i><code>]</code></td>
<td>Tag the module in CVS. Official base release version tags take the
form <tt>R<i>x</i>-<i>y</i>-<i>z</i>[-<i>n</i>]</tt></td>
</tr>
<tr>
<td> </td>
<td>Janet Anderson</td>
<td>Export the tagged version, "cvs export -kv -d base-x.y.z[.n]
-r Rx-y-z[-n] epics/base", and create the
baseRx.y.z[.n]tar.gz file of the result</td>
<td>Export the tagged version and create a tarfile of the result:
<blockquote><tt>
cvs export -kv -d base-x.y.z -r Rx-y-z epics/base<br />
tar cfz baseRx.y.z.tar.gz base-x.y.z
</tt></blockquote></td>
</tr>
<tr>
<td> </td>
@@ -165,20 +238,15 @@ have been responsible for specific tasks in the past:</p>
<tr>
<td> </td>
<td>Andrew Johnson</td>
<td>Create a new website subdirectory to hold the release
<td>Update the website subdirectory that holds the release
documentation, and copy in the files from the base/documentation
directory of the tarfile</td>
directory of the tarfile.</td>
</tr>
<tr>
<td> </td>
<td>Andrew Johnson</td>
<td>Create a webpage for the new release with links to the release
documents and tar file</td>
</tr>
<tr>
<td> </td>
<td>?</td>
<td>...</td>
<td>Update the webpage for the new release with links to the release
documents and tar file.</td>
</tr>
<tr>
<th colspan="3">Announce it</th>
@@ -214,14 +282,9 @@ have been responsible for specific tasks in the past:</p>
<tr>
<td> </td>
<td>Andrew Johnson</td>
<td>Add an entry to the website News page, linking to the new
<td>Add an entry to the website News page, linking to the new version
webpage</td>
</tr>
<tr>
<td> </td>
<td>?</td>
<td>...</td>
</tr>
</tbody>
</table>
</body>

View File

@@ -1,11 +1,10 @@
#*************************************************************************
# Copyright (c) 2002 The University of Chicago, as Operator of Argonne
# Copyright (c) 2006 UChicago Argonne LLC, as Operator of Argonne
# National Laboratory.
# Copyright (c) 2002 The Regents of the University of California, as
# Operator of Los Alamos National Laboratory.
# EPICS BASE Versions 3.13.7
# and higher are distributed subject to a Software License Agreement found
# in file LICENSE that is included with this distribution.
# EPICS BASE is distributed subject to a Software License Agreement found
# in the file LICENSE that is included with this distribution.
#*************************************************************************
#
# $Id$
@@ -14,15 +13,11 @@
TOP = ..
include $(TOP)/configure/CONFIG
#
# for c++ build add the dirs gdd and cas after ca
# (and uncomment the c++ files in src/lbCom/Makefile.Unix)
#
DIRS += makeBaseApp
DIRS += makeBaseExt
DIRS += libCom
DIRS += toolsComm
DIRS += ca
DIRS += RTEMS
DIRS += libCom/test
DIRS += toolsComm
DIRS += dbStatic
DIRS += registry
DIRS += bpt
@@ -38,12 +33,12 @@ DIRS += dev
DIRS += misc
DIRS += iocsh
DIRS += vxWorks
DIRS += RTEMS
DIRS += softIoc
DIRS += libCom/test
DIRS += gdd
DIRS += cas
DIRS += makeBaseApp
DIRS += excas
DIRS += makeBaseExt
include $(TOP)/configure/RULES_DIRS

View File

@@ -525,9 +525,9 @@ Init (rtems_task_argument ignored)
else {
char posixTzBuf[40];
char *p = posixTzBuf;
p += sprintf(p, "%cST %d:%d", tz[0], minWest/60, minWest%60);
p += sprintf(p, "%cST%d:%.2d", tz[0], minWest/60, minWest%60);
if (toDst != fromDst)
p += sprintf(p, " %cDT", tz[0]);
p += sprintf(p, "%cDT", tz[0]);
epicsEnvSet("TZ", posixTzBuf);
}
}

View File

@@ -1,10 +1,9 @@
#*************************************************************************
# Copyright (c) 2002 The University of Chicago, as Operator of Argonne
# Copyright (c) 2006 UChicago Argonne LLC, as Operator of Argonne
# National Laboratory.
# Copyright (c) 2002 The Regents of the University of California, as
# Operator of Los Alamos National Laboratory.
# EPICS BASE Versions 3.13.7
# and higher are distributed subject to a Software License Agreement found
# EPICS BASE is distributed subject to a Software License Agreement found
# in file LICENSE that is included with this distribution.
#*************************************************************************
TOP=../..
@@ -32,7 +31,7 @@ asIoc_RCS_WIN32 = asIoc.rc
PROD_HOST = ascheck
ascheck_SRCS = ascheck.c
PROD_LIBS = asHost dbStaticHost Com
PROD_LIBS = asHost dbStaticHost ca Com
# For R3.13 compatibility only
ifeq ($(strip $(COMPAT_313)),YES)
@@ -42,13 +41,9 @@ endif
include $(TOP)/configure/RULES
# Extra rule since asLib_lex.c is included in asLib.c
# In my opinion, these objects should really be built
# independently.
asLib.c: asLib_lex.c ../asLibRoutines.c
$(INSTALL_INC)/asLib.h:../asLib.h
# Extra rule since asLib_lex.c is included by asLib.c
asLib$(OBJ): asLib_lex.c
clean::
@$(RM) asLib.c asLib_lex.c
@$(RM) asLib.c asLib_lex.c

View File

@@ -14,6 +14,8 @@
#define INCasLibh
#include "shareLib.h"
#include "ellLib.h"
#include "errlog.h"
#ifdef __cplusplus
extern "C" {

View File

@@ -8,9 +8,8 @@
* in file LICENSE that is included with this distribution.
\*************************************************************************/
%{
static int yyerror();
static int yyerror(char *);
static int yy_start;
static int myParse();
#include "asLibRoutines.c"
static int yyFailed = FALSE;
static int line_num=1;
@@ -207,8 +206,7 @@ rule_hag_list_name: tokenSTRING
#include "asLib_lex.c"
static int yyerror(str)
char *str;
static int yyerror(char *str)
{
if (strlen(str)) epicsPrintf("%s\n", str);
epicsPrintf("Access Security file error at line %d\n",

View File

@@ -19,7 +19,6 @@
#include "epicsStdioRedirect.h"
#include "dbDefs.h"
#include "epicsThread.h"
#include "ellLib.h"
#include "cantProceed.h"
#include "epicsMutex.h"
#include "epicsPrint.h"
@@ -27,8 +26,6 @@
#include "freeList.h"
#include "macLib.h"
#include "postfix.h"
#include "errlog.h"
#include "ellLib.h"
static epicsMutexId asLock;
#define LOCK epicsMutexMustLock(asLock)
@@ -45,9 +42,10 @@ epicsShareDef int asActive = FALSE;
static void *freeListPvt = NULL;
#define RPCL_LEN 184
#define DEFAULT "DEFAULT"
/* Defined in asLib.y */
static int myParse(ASINPUTFUNCPTR inputfunction);
/*private routines */
static long asAddMemberPvt(ASMEMBERPVT *pasMemberPvt,const char *asgName);
@@ -123,8 +121,8 @@ long epicsShareAPI asInitialize(ASINPUTFUNCPTR inputfunction)
while(puagname) {
pgphentry = gphAdd(pasbasenew->phash,puagname->user,puag);
if(!pgphentry) {
epicsPrintf("UAG %s duplicate user = %s\n",
puag->name, puagname->user);
epicsPrintf("Duplicated user '%s' in UAG '%s'\n",
puagname->user, puag->name);
}
puagname = (UAGNAME *)ellNext((ELLNODE *)puagname);
}
@@ -136,8 +134,8 @@ long epicsShareAPI asInitialize(ASINPUTFUNCPTR inputfunction)
while(phagname) {
pgphentry = gphAdd(pasbasenew->phash,phagname->host,phag);
if(!pgphentry) {
epicsPrintf("HAG %s duplicate host = %s\n",
phag->name,phagname->host);
epicsPrintf("Duplicated host '%s' in HAG '%s'\n",
phagname->host, phag->name);
}
phagname = (HAGNAME *)ellNext((ELLNODE *)phagname);
}
@@ -239,7 +237,7 @@ long epicsShareAPI asInitFP(FILE *fp,const char *substitutions)
errMessage(status,"asInitFP: macCreateHandle error");
return(status);
}
macParseDefns(macHandle,(char *)substitutions,&macPairs);
macParseDefns(macHandle,substitutions,&macPairs);
if(macPairs ==NULL) {
macDeleteHandle(macHandle);
macHandle = NULL;
@@ -1177,7 +1175,7 @@ static long asHagAddHost(HAG *phag,const char *host)
if (!phag) return 0;
phagname = asCalloc(1, sizeof(HAGNAME)+strlen(host)+1);
phagname->host = (char *)(phagname+1);
for (i = 0; i < strlen(phagname->host); i++) {
for (i = 0; i < strlen(host); i++) {
phagname->host[i] = (char)tolower((int)host[i]);
}
ellAdd(&phag->list, (ELLNODE *)phagname);

View File

@@ -21,7 +21,7 @@ static ASINPUTFUNCPTR *my_yyinput;
#undef YY_INPUT
#define YY_INPUT(b,r,ms) (r=(*my_yyinput)((char *)b,ms))
static int yyreset()
static int yyreset(void)
{
line_num=1;
BEGIN INITIAL;

View File

@@ -16,7 +16,6 @@
#include <stdio.h>
#include <string.h>
#include "dbDefs.h"
#include "errlog.h"
#include "asLib.h"
#include "dbStaticLib.h"

View File

@@ -40,13 +40,12 @@ CASG::~CASG ()
}
void CASG::destructor (
epicsGuard < epicsMutex > & cbGuard,
epicsGuard < epicsMutex > & guard )
{
guard.assertIdenticalMutex ( this->client.mutexRef() );
if ( this->verify ( guard ) ) {
this->reset ( cbGuard, guard );
this->reset ( guard );
this->client.uninstallCASG ( guard, *this );
this->magic = 0;
}
@@ -65,7 +64,7 @@ bool CASG::verify ( epicsGuard < epicsMutex > & ) const
* CASG::block ()
*/
int CASG::block (
epicsGuard < epicsMutex > & cbGuard,
epicsGuard < epicsMutex > * pcbGuard,
epicsGuard < epicsMutex > & guard,
double timeout )
{
@@ -110,9 +109,15 @@ int CASG::block (
break;
}
{
if ( pcbGuard ) {
epicsGuardRelease < epicsMutex > unguard ( guard );
{
epicsGuardRelease < epicsMutex > uncbGuard ( *pcbGuard );
this->sem.wait ( remaining );
}
}
else {
epicsGuardRelease < epicsMutex > unguard ( guard );
epicsGuardRelease < epicsMutex > uncbGuard ( cbGuard );
this->sem.wait ( remaining );
}
@@ -124,18 +129,17 @@ int CASG::block (
delay = cur_time - beg_time;
}
this->reset ( cbGuard, guard );
this->reset ( guard );
return status;
}
void CASG::reset (
epicsGuard < epicsMutex > & cbGuard,
epicsGuard < epicsMutex > & guard )
{
guard.assertIdenticalMutex ( this->client.mutexRef() );
this->destroyCompletedIO ( guard );
this->destroyPendingIO ( cbGuard, guard );
this->destroyPendingIO ( guard );
}
// lock must be applied
@@ -150,13 +154,11 @@ void CASG::destroyCompletedIO (
}
void CASG::destroyPendingIO (
epicsGuard < epicsMutex > & cbGuard,
epicsGuard < epicsMutex > & guard )
{
guard.assertIdenticalMutex ( this->client.mutexRef() );
syncGroupNotify * pNotify;
while ( ( pNotify = this->ioPendingList.first () ) ) {
pNotify->cancel ( cbGuard, guard );
while ( syncGroupNotify * pNotify = this->ioPendingList.first () ) {
pNotify->cancel ( guard );
// cancel must release the guard while
// canceling put callbacks so we
// must double check list membership
@@ -201,7 +203,6 @@ void CASG::show (
}
bool CASG::ioComplete (
epicsGuard < epicsMutex > & /* cbGuard */,
epicsGuard < epicsMutex > & guard )
{
guard.assertIdenticalMutex ( this->client.mutexRef() );

View File

@@ -1,12 +1,12 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1">
<title>EPICS R3.14 Channel Access Reference Manual</title>
</head>
<body lang="en" bgcolor="#FFFFFF">
<body lang="en">
<hr>
<h1>EPICS R3.14 Channel Access Reference Manual</h1>
@@ -14,32 +14,34 @@
Jeffrey O. Hill
</address>
<p><font size="2">Los Alamos National Laboratory<br>
SNS Division</font></p>
<p><span style="font-size: x-small; font-weight:lighter;">Los Alamos National
Laboratory, SNS Division</span></p>
<address>
Ralph Lange
</address>
<p><font size="2">BESSY</font></p>
<p><span style="font-size: x-small; font-weight:lighter;">BESSY</span></p>
<p><font size="1">Copyright © 2002 The University of Chicago, as Operator of
Argonne National Laboratory.<br>
<p><span style="font-size: xx-small; font-weight:lighter;">Copyright © 2002
The University of Chicago, as Operator of Argonne National Laboratory.<br>
Copyright © 2002 The Regents of the University of California, as Operator of
Los Alamos National Laboratory.<br>
Copyright © 2002 Berliner Elektronenspeicherringgesellschaft für
Synchrotronstrahlung.</font></p>
Synchrotronstrahlung.</span></p>
<p><font size="1">EPICS BASE Versions 3.13.7 and higher are distributed
subject to a Software License Agreement found in the file LICENSE that is
included with this distribution.</font></p>
<p><span style="font-size: xx-small; font-weight:lighter;">EPICS BASE
Versions 3.13.7 and higher are distributed subject to a Software License
Agreement found in the file LICENSE that is included with this
distribution.</span></p>
<p><a href="http://www.w3.org/Amaya/"><img
src="http://www.w3.org/Amaya/Icons/w3c-amaya.gif" alt="W3C-Amaya" height="31"
width="88"></a> <a href="http://validator.w3.org/check/referer"> <img
border="0" src="http://www.w3.org/Icons/valid-html401" alt="Valid HTML 4.01!"
width="88"></a> <a href="http://validator.w3.org/check/referer"><img
src="http://www.w3.org/Icons/valid-html401" alt="Valid HTML 4.01!"
height="31" width="88"></a></p>
<p><small>Modified on $Date$</small></p>
<p><small><span style="font-size: smaller; font-weight:lighter;">Modified on
$Date$</span></small></p>
<hr>
<h2>Table of Contents</h2>
@@ -830,9 +832,9 @@ CA server employed by iocCore does not implemet this feature</em>.</p>
<h4>Ignoring Process Variable Name Resolution Requests From Certain Hosts</h4>
<p>Name resolution requests originating from any of the IP addresses
specified in the EPICS_CAS_IGNORE_ADDR_LIST parameter are not replied to.<em>
In R3.14 and previous releases the CA server employed by iocCore does not
implemet this feature.</em></p>
specified in the EPICS_CAS_IGNORE_ADDR_LIST parameter are not replied
to.<em>In R3.14 and previous releases the CA server employed by iocCore does
not implemet this feature.</em></p>
<h4>Client Configuration that also Applies to Servers</h4>
@@ -2190,7 +2192,7 @@ It is not possible to attach a thread to a non-preemptive CA context created
explicitly <em>or implicitly</em> with
ca_create_context(ca_disable_preemptive_callback). Once a thread has joined
with a CA context it need only make ordinary ca_xxxx() library calls to use
the context. </p>
the context.</p>
<p>A CA client library context can be shut down and cleaned up, after
destroying any channels or application specific threads that are attached to
@@ -2301,15 +2303,30 @@ callbacks will be called preemptively from more than one thread.</p>
<h4>Arguments</h4>
<dl>
<dt><code>SELECT</code></dt>
<dd>Specifies if preemptive callback is allowed. If it is allowed your
callbacks might be called when the thread that calls this routine is
not executing in the CA client library. Programmers who are unfamiliar
with mutual exclusion locking in a multi-threaded environment should
specify <code>ca_disable_preemptive_callback</code>. If
ca_enable_preemptive_callback is specified then CA client background
activities, such as connection management, will proceed even if the
thread that calls this routine is not executing in the CA client
library.</dd>
<dd>This argument specifies if preemptive invocation of callback
functions is allowed. If so your callback functions might be called
when the thread that calls this routine is not executing in the CA
client library. There are two implications to consider. </dd>
<dd><p>First, if preemptive callback mode is enabled the developer must
provide mutual exclusion protection for his data structures. In this
mode it's possible for two threads to touch the application's data
structures at once: this might be the initializing thread (the thread
that called ca_context_create) and also a private thread created by the
CA client library for the purpose of receiving network messages and
calling callbacks. It might be prudent for developers who are
unfamiliar with mutual exclusion locking in a multi-threaded
environment to specify <code>ca_disable_preemptive_callback</code>. </p>
<p>Second, if preemptive callback mode is enabled the application is no
longer burdened with the necessity of periodically polling the CA
client library in order that it might take care of its background
activities. If <code>ca_enable_preemptive_callback</code> is specified
then CA client background activities, such as connection management,
will proceed even if the thread that calls this routine is not
executing in the CA client library. Furthermore, in preemptive callback
mode callbacks might be called with less latency because the library is
not required to wait until the initializing thread (the thread that
called ca_context_create) is executing within the CA client library.</p>
</dd>
</dl>
<h4>Returns</h4>

View File

@@ -364,16 +364,15 @@ int epicsShareAPI ca_create_channel (
int epicsShareAPI ca_clear_channel ( chid pChan )
{
ca_client_context & cac = pChan->getClientCtx ();
epicsGuard < epicsMutex > * pCBGuard = cac.pCallbackGuard.get();
if ( pCBGuard ) {
epicsGuard < epicsMutex > guard ( cac.mutex );
cac.destroyChannel ( *pCBGuard, guard, *pChan );
epicsGuard < epicsMutex > guard ( cac.mutex );
try {
pChan->eliminateExcessiveSendBacklog ( guard );
}
else {
epicsGuard < epicsMutex > cbGuard ( cac.cbMutex );
epicsGuard < epicsMutex > guard ( cac.mutex );
cac.destroyChannel ( cbGuard, guard, *pChan );
catch ( cacChannel::notConnected & ) {
// intentionally ignored
}
pChan->destructor ( guard );
cac.oldChannelNotifyFreeList.release ( pChan );
return ECA_NORMAL;
}

View File

@@ -2545,7 +2545,7 @@ void verifyImmediateTearDown ( const char * pName,
enum ca_preemptive_callback_select select,
unsigned interestLevel )
{
unsigned i;
int i;
showProgressBegin ( "verifyImmediateTearDown", interestLevel );

Some files were not shown because too many files have changed in this diff Show More