Compare commits

...

636 Commits

Author SHA1 Message Date
Janet B. Anderson
8aee5c90f6 Updated for R3.14.7. 2004-12-07 16:46:42 +00:00
Janet B. Anderson
403624903e Updated date. 2004-12-07 15:05:29 +00:00
Janet B. Anderson
6d17162c11 R3.14.7 2004-12-06 22:31:52 +00:00
W. Eric Norum
64c0807817 No devlib for M68k (yet). 2004-12-06 16:52:02 +00:00
Marty Kraimer
d0b06e271b forgot an unlock 2004-12-03 16:11:13 +00:00
Marty Kraimer
b7c68df55e last user calls putNotifyCleanup 2004-12-03 14:27:28 +00:00
Marty Kraimer
dff7d483ff more changes to dbNotify 2004-12-02 20:04:21 +00:00
Marty Kraimer
0197dbeb24 fix memory leak 2004-12-02 19:57:21 +00:00
Marty Kraimer
c6ee0cf8d3 safer version of dbPutNotify 2004-12-02 16:52:53 +00:00
Marty Kraimer
3f3c33e159 putNotifyInit and putNotifyCleanup 2004-12-01 12:41:15 +00:00
W. Eric Norum
8363b8267d Use new RTEMS tool-naming scheme. 2004-11-30 19:41:55 +00:00
W. Eric Norum
67b972448f Put RTEMS network tasks at higher priority than any EPICS task. 2004-11-30 19:40:48 +00:00
W. Eric Norum
287fd7efa8 Some BSPs don't leave the cursor at the left margin. 2004-11-30 19:39:48 +00:00
Marty Kraimer
c80d0e5c8e add comments 2004-11-30 13:37:17 +00:00
Marty Kraimer
417ef02d33 dbPutNotify did not wait if state==putNotifyUserCallbackActive 2004-11-30 13:00:42 +00:00
Jeff Hill
6a7445abdf o made booty scanned by default
o made counted channel names have a minimum of 6 digits
2004-11-30 02:11:01 +00:00
Marty Kraimer
365f1dc84e fix race condition in dbPutNotify 2004-11-29 21:14:07 +00:00
Jeff Hill
2151e6b6ad fix for mantis 159 2004-11-25 00:14:38 +00:00
Jeff Hill
fb931434bd fix for mantis 159 2004-11-24 22:11:20 +00:00
Janet B. Anderson
26c756d4cf Don't set EPICS_BASE (breaks base builds). Changed HostArch.pl to HostArch. 2004-11-24 18:18:57 +00:00
Janet B. Anderson
fa12125bdf Added GNU readline or Tecla library software requirements. 2004-11-18 22:47:41 +00:00
Andrew Johnson
7d7f4df700 Avoid an optimizer bug that is present in the Tornado 2.x 68K C compilers at
anything greater than -O0.  Not a problem in C++ though.
2004-11-17 19:59:20 +00:00
Andrew Johnson
146eb58120 Revive the canary, and add a test routine that checks whether the optimizer
bug is still present.  Tornado 2.x compilers for 68K need -O0 to work.
2004-11-17 19:58:09 +00:00
Andrew Johnson
e658f3c108 Workaround for Tornado 2.x compilers, fixes Mantis Bug #82. 2004-11-17 17:17:18 +00:00
Ralph Lange
5e94b2146f Changed printed messages to be the same for all TestAsyn supports. 2004-11-16 11:30:20 +00:00
Ken Evans
87cef6172d Modified definitions for JAR_INPUT and JARCMD. 2004-11-15 16:20:52 +00:00
W. Eric Norum
f677d2f6c5 Add OS-dependent VME support. 2004-11-13 17:16:22 +00:00
W. Eric Norum
53360f3dea RTEMS-4.7 changes. 2004-11-13 17:11:08 +00:00
W. Eric Norum
8c75201ad8 Improve error message. 2004-11-13 17:10:52 +00:00
Janet B. Anderson
0569fc753d Added toolkit info, cygwin downloads, and win32-x86-borland. 2004-11-12 20:10:26 +00:00
Andrew Johnson
8fa418519e Document record changes for NaN handling. 2004-11-12 00:06:26 +00:00
W. Eric Norum
98641bcfd2 Add some routines to make porting from vxWorks a little easier.
I'm a little leery about my quick hack for rebootHookAdd() since the
argument to the 'hooked' function is different.
2004-11-11 22:06:52 +00:00
Janet B. Anderson
3449a7157a Added -Qn to CPP because snc sometimes does not like #ident lines. 2004-11-10 21:09:33 +00:00
Janet B. Anderson
bc2b80584c Changed path requirements for WIN32 builds. 2004-11-10 20:45:30 +00:00
Janet B. Anderson
75a2d6229f Added -Qn to CPP because snc sometimes does not like #ident lines. 2004-11-10 18:09:54 +00:00
Jeff Hill
14a47a31e9 partial fix for mantis entry 160 - the following message is avoided by
shutting down the socket only if we are not certain if the errno is indicating that
the circuit hung up.

rsrv: socket shutdown error was Transport endpoint is not connected
2004-11-09 17:41:53 +00:00
Janet B. Anderson
139472e2db Added $(EPICS_BASE_TOOLS_BIN) to $(PATH) to find dlls for base build tools. 2004-11-09 14:45:01 +00:00
W. Eric Norum
5731e72cf1 Set boot parameters from mot-script-boot if not otherwise specified. 2004-11-05 19:51:44 +00:00
Janet B. Anderson
b4e2c4c432 Changed c preprocessor from gcc to cc. 2004-11-04 21:13:22 +00:00
Janet B. Anderson
4f03bba90d Changed filterout to filter-out. 2004-11-04 20:29:36 +00:00
Marty Kraimer
cb119338b2 clean up error messages 2004-11-04 19:21:15 +00:00
Marty Kraimer
d2c672d238 cancel threads in inverse order of creation 2004-11-04 14:01:20 +00:00
Janet B. Anderson
dc2fb8bb5c Added registryIoc library to EPICS_BASE_HOST_LIBS definition. 2004-11-03 22:35:57 +00:00
W. Eric Norum
8739e1c298 Allow 'unsigned' integers. 2004-11-03 22:16:18 +00:00
W. Eric Norum
c7e7f8e221 Don't require pdbbase if not linking iocshRegisterCommon commands. 2004-11-03 17:14:48 +00:00
Janet B. Anderson
25c30be105 Only one -classpath allowed on a command line (for javadoc). 2004-11-02 19:51:54 +00:00
Janet B. Anderson
dc930863f2 Only build JAVA stuff when BUILD_CLASS is HOST. 2004-11-01 22:41:27 +00:00
Janet B. Anderson
c508e485ba Removed COMMON_JAR, add rule to install existing jar, added jar vpath. 2004-11-01 22:30:10 +00:00
Andrew Johnson
e700d00db0 Moved static constructor call of iocshRegisterCommon() from iocsh.cpp into
the output from the registerRecordDeviceDriver.pl script, so standalone
sequencer programs don't import all of iocCore unnecessarily.
2004-10-29 23:24:35 +00:00
Marty Kraimer
5c0f09c5d2 gphFreeMem did not destroy mutex 2004-10-29 18:18:25 +00:00
Ken Evans
bd4b66de07 Fixed it up to remove package directories during clean. Was
previously leaving generated classes (with $ in the name).
2004-10-28 18:56:45 +00:00
W. Eric Norum
36aa145d04 Add rtemsNfs to all RTEMS targets. 2004-10-28 18:23:41 +00:00
Janet B. Anderson
b75254ec92 Added EPICS_BASE_TOOLS_BIN to PATH - find dlls for antelope, e_flex ... 2004-10-28 18:23:24 +00:00
Janet B. Anderson
8a1987ea9e Implemented LOADABLE_SHRLIB_VERSION. 2004-10-28 18:19:48 +00:00
W. Eric Norum
55bdb9cd2a MVME167 doesn't have RTC code 'yet'. 2004-10-28 18:18:42 +00:00
Janet B. Anderson
b6e3f6d481 Added OP_SYS_CFLAGS += -g. 2004-10-28 18:07:07 +00:00
Janet B. Anderson
ba1139f3c9 Remove OP_SYS_CFLAGS += -g. 2004-10-28 17:44:42 +00:00
Ralph Lange
f4876149bb More kernel config info 2004-10-28 17:03:22 +00:00
Janet B. Anderson
1c95d2eca8 Removed -z defs because it doesn't work with gcc/g++ 3.4.2. 2004-10-28 14:27:15 +00:00
Janet B. Anderson
39b89bd349 Removed osdTime.cpp, cygwin now uses file from posix dir. 2004-10-28 13:59:39 +00:00
Janet B. Anderson
0c99fe1bc8 Removed actual IP numbers inside bat files. 2004-10-27 16:40:14 +00:00
Janet B. Anderson
13ec7a675c Removed -z defs which was accidently committed. 2004-10-26 15:49:54 +00:00
Janet B. Anderson
f42c2954df Replaced -G with -shared -fPIC in shrlib LDFLAGS. 2004-10-26 15:31:25 +00:00
Janet B. Anderson
1a09047c87 Added -fPIC to shrlib LDFLAGS. 2004-10-26 15:30:01 +00:00
Janet B. Anderson
4c2d266910 Initial version. 2004-10-26 14:21:00 +00:00
Ralph Lange
de9767dc34 += "done" - message (all tests should print something). 2004-10-26 10:20:35 +00:00
Janet B. Anderson
58cf1e72ab Updated to look more like CONFIG.solaris-sparc.solaris-sparc. 2004-10-25 18:57:23 +00:00
Janet B. Anderson
8473be4f20 Added USR_PRECLASSPATH and allowed for multiple dirs in USR_CLASSPATH. 2004-10-25 17:12:19 +00:00
Marty Kraimer
4d4063d7ce make sure tv_nsec < 1000000000L 2004-10-25 14:51:42 +00:00
Ralph Lange
daeafe774f += CA command line tools: -s option 2004-10-25 12:49:53 +00:00
Andrew Johnson
69fc21474b Windows permits login names to include spaces! 2004-10-22 15:11:41 +00:00
W. Eric Norum
a4790a1dc2 epicsScanFloat, epicsScanDouble. 2004-10-22 13:53:14 +00:00
Ralph Lange
c5414a268c += max_thread_proc kernel config info 2004-10-22 13:49:35 +00:00
Ralph Lange
da3cd3bc19 Also restored old wasteTime value 2004-10-22 10:45:03 +00:00
W. Eric Norum
5f78b88f07 Add DNS domain name parameter. 2004-10-20 19:04:56 +00:00
W. Eric Norum
bfe0eb9e09 MVME5500 BSP now supplies RTC (time-of-day) driver. 2004-10-20 18:39:14 +00:00
Jeff Hill
daacfdc550 clarified search rate doc 2004-10-20 17:27:08 +00:00
Jeff Hill
8bc593a64e added def of STACK_SIZE_PARAM_IS_A_RESERVATION for compilers that dont provide it 2004-10-20 16:35:32 +00:00
Marty Kraimer
a15e9beff6 prevent crash if size is 0 2004-10-20 12:16:10 +00:00
Jeff Hill
2b7305097b fixed gnu warning 2004-10-20 00:05:22 +00:00
Janet B. Anderson
509f4de9a0 Fixed typo. 2004-10-19 21:43:17 +00:00
Jeff Hill
0d85c7d8a8 fixed gnu warning 2004-10-19 21:39:31 +00:00
Janet B. Anderson
d69a0f70e5 Updated for R3.14.7. 2004-10-19 21:39:28 +00:00
Jeff Hill
7a5bdb93c4 fixed ca_name() returns the record name w/o appending the field name 2004-10-19 21:05:39 +00:00
Jeff Hill
3e05c90653 added dbNameOfPV and dbNameSizeOfPV 2004-10-19 21:03:20 +00:00
Jeff Hill
dfa35d0596 getHostName returns string size 2004-10-19 20:55:39 +00:00
Jeff Hill
89814eb9e2 hostName() function name change to getHostName() 2004-10-19 20:54:40 +00:00
Jeff Hill
86e71a90b0 no need to print channelname in show routine 2004-10-19 20:52:33 +00:00
Jeff Hill
bdc723f500 cleaned up construction sequence 2004-10-19 20:51:37 +00:00
Jeff Hill
502620ee4e eliminated redundancy with original ca client API 2004-10-19 20:49:47 +00:00
Jeff Hill
c3f277dbc6 getName() and getHostName return string size 2004-10-19 20:46:55 +00:00
Jeff Hill
004db1aea7 getName() returns string size 2004-10-19 20:40:47 +00:00
Jeff Hill
085b228c83 getName() returns string size 2004-10-19 20:24:57 +00:00
Jeff Hill
2d47ba27b1 ca_get_host_name() used to return void, but has been changed to
return the string length.
2004-10-19 20:21:31 +00:00
Jeff Hill
60c0a98c08 o removed operators new and delete from cacChannel
o getName and getHostName now return string length
2004-10-19 20:20:46 +00:00
Jeff Hill
9223d7476e o removed operator delete
o default getHostName now returns string length
2004-10-19 20:19:39 +00:00
Jeff Hill
89d7953c90 hostName() renamed to getHostName() 2004-10-19 20:18:20 +00:00
Jeff Hill
10a9edf186 moved friend ca_clear_subscription to this file 2004-10-19 20:17:40 +00:00
Jeff Hill
ce912df8a4 added ca_name() test 2004-10-19 20:16:34 +00:00
Jeff Hill
532e17fd0f moved friends of oldChannelNotify to oldChannelNotify.cpp 2004-10-19 20:15:00 +00:00
Janet B. Anderson
13aaf8ef1b Modified the formatting. 2004-10-19 19:43:52 +00:00
Jeff Hill
9df773e88f sockAddrToDottedIP needs to return the string size 2004-10-19 18:21:02 +00:00
Jeff Hill
1069541aa6 added newline at eof 2004-10-19 18:14:01 +00:00
Jeff Hill
9b82574901 fixed recently commited problem in ipAddrToDottedIP 2004-10-19 18:01:49 +00:00
Ralph Lange
cb9934b0c7 command line tools caget, camonitor: += as-string option. 2004-10-19 17:50:58 +00:00
Jeff Hill
d5e01c38b1 commented out dll main source code 2004-10-19 17:28:45 +00:00
Jeff Hill
d4c8dd67d3 use STACK_SIZE_PARAM_IS_A_RESERVATION thread creation
option - this should allow more threads to run on XP
2004-10-19 17:26:01 +00:00
Jeff Hill
d99c0b613a DLL main executes in a very limited execution environment - its probably
smart to just avoid calling any general purpose code there.
2004-10-19 17:24:30 +00:00
Jeff Hill
91097d7d32 return the number of elements copied from address to ascii conversion func 2004-10-19 17:20:15 +00:00
Jeff Hill
010ebea821 fixed win32 dll sym export 2004-10-19 17:17:31 +00:00
Jeff Hill
2f829e5992 removed const from arg to copy constructor as is convention with std 2004-10-19 17:12:37 +00:00
Ralph Lange
4c302621e2 Use separate flag for once_connected state; += as-string option. 2004-10-19 15:27:51 +00:00
Ralph Lange
22ef6a9653 Use separate flag for once_connected state. 2004-10-19 15:20:34 +00:00
Janet B. Anderson
a4aa9234ed Added cast to int to remove gnu compiler warning messages. 2004-10-19 15:18:51 +00:00
Marty Kraimer
92a9d4cebf explain epicsExit 2004-10-19 11:30:59 +00:00
Janet B. Anderson
7eba880fc6 Added int return value to main(). 2004-10-18 21:47:12 +00:00
W. Eric Norum
4b89949310 New BSP -- updated network configuration. 2004-10-18 21:43:21 +00:00
Janet B. Anderson
2a809e2102 Initial version. 2004-10-18 21:41:25 +00:00
W. Eric Norum
9a94ca9d88 Clean out local debugging code. 2004-10-18 21:39:16 +00:00
W. Eric Norum
ce20721cf9 Clean up network configuration. 2004-10-18 21:38:47 +00:00
Janet B. Anderson
d2ff90286c Commented out all cross compiler target archs. 2004-10-18 14:49:21 +00:00
Marty Kraimer
15e78067ca use epicsThreadGetStackSize is set stacksize 2004-10-18 14:29:55 +00:00
Marty Kraimer
399017339e fix possible memory leak 2004-10-18 12:04:32 +00:00
Janet B. Anderson
5a91260f49 Added dependancy line for ../template files. 2004-10-15 21:22:59 +00:00
Janet B. Anderson
40c0281ea1 Added ARCH_solarisNonshared. 2004-10-15 18:37:19 +00:00
Janet B. Anderson
29d605faaf Use tools in $(EPICS_BASE_BIN) for HOST builds.
Use tools in $(EPICS_BASE_HOST_BIN) for CROSS builds.
2004-10-15 18:29:14 +00:00
Janet B. Anderson
2bbcec03c0 Win32 changes made by K Evans. 2004-10-15 18:20:49 +00:00
Janet B. Anderson
89aa261055 Initial version. 2004-10-15 18:19:40 +00:00
Janet B. Anderson
e1f3c9fd40 Removed old comment. 2004-10-13 14:57:59 +00:00
W. Eric Norum
e2ecac9e96 Avoid duplicate strtod. 2004-10-13 14:52:49 +00:00
Janet B. Anderson
892e71f55b Commented out xxx.dbd and added instructions for support dbds. 2004-10-13 14:51:45 +00:00
Janet B. Anderson
0d12ed33ca The <appname>Include.dbd file is no longer needed. 2004-10-13 14:40:45 +00:00
Marty Kraimer
5161a3b939 check for EINTR 2004-10-13 12:13:02 +00:00
Marty Kraimer
48ea77dc6f pthread_mutex_lock and pthread_cond_timedwait ignore EINTR 2004-10-12 20:06:38 +00:00
W. Eric Norum
02c67eda2c Fix typo. 2004-10-12 18:20:38 +00:00
W. Eric Norum
0dc034962c Use epicsScanFloat/epicsScanDouble rather than sscanf.
This allows proper handling of Nan/Inf on all architectures.
2004-10-12 17:45:31 +00:00
Jeff Hill
25c797b212 build template instances only for vxWorks 2004-10-12 17:12:18 +00:00
Jeff Hill
527dbf796d added instation for auto ptr to search timer 2004-10-12 17:12:02 +00:00
W. Eric Norum
b3bb33f448 More warnings. 2004-10-12 16:20:40 +00:00
W. Eric Norum
231a037c0b Fix up warnings. 2004-10-12 16:18:42 +00:00
W. Eric Norum
81ef601637 Fix up diagnostic messages. 2004-10-12 16:06:07 +00:00
W. Eric Norum
86152e91b9 Clean up some headers.
Add epicsScanReal.c.
2004-10-12 13:51:52 +00:00
Andrew Johnson
331979dfb9 Improve handling of NaN values.
In selRecord, replaced the 1e30 'magic number' with NaN and Inf values.
2004-10-11 22:32:05 +00:00
W. Eric Norum
4f731caf14 Add os-independent epicsStrtod() routine. 2004-10-11 18:22:12 +00:00
W. Eric Norum
e7f16cb078 Cosmetic. 2004-10-09 21:43:05 +00:00
W. Eric Norum
370e46227a Much improved version of epicsStrGlobMatch thanks to Jack Handy and the
folks at the Cold Project.
2004-10-08 20:38:11 +00:00
Jeff Hill
e76362d84b fixed gnu warnings 2004-10-08 17:15:09 +00:00
Jeff Hill
62df64a03c added missing include 2004-10-08 17:11:59 +00:00
Jeff Hill
2d733190ce added missing included 2004-10-08 16:59:18 +00:00
Jeff Hill
54a5a71377 fixed throw spec 2004-10-08 16:55:58 +00:00
Jeff Hill
108a7a6e0f removed waitRelease mf 2004-10-08 15:46:18 +00:00
Jeff Hill
0d6323803f improved shutdown sequence 2004-10-08 15:45:40 +00:00
Jeff Hill
0e1aa1c4bb new #include 2004-10-08 15:44:44 +00:00
Jeff Hill
400d474bed no longer needs to call exitWaitRelease 2004-10-08 15:44:18 +00:00
Jeff Hill
00c2aff710 include branching added 2004-10-08 15:39:09 +00:00
Jeff Hill
f5803beb8a use less than full length of buffer with gethostname in case there are errors in the implementation of gethostname 2004-10-08 15:37:34 +00:00
Jeff Hill
1bb5a5d86b prevent ~cac from completing if iiu uninstall is still in progress 2004-10-08 15:34:12 +00:00
Jeff Hill
07f8759a0a added epicsExit 2004-10-08 15:25:17 +00:00
Jeff Hill
7ecc2d0535 new #include 2004-10-08 15:20:16 +00:00
Jeff Hill
1a31fbcdda new #include 2004-10-08 15:12:20 +00:00
Jeff Hill
fab9e49710 removed #include 2004-10-08 15:03:04 +00:00
W. Eric Norum
cce9a2b3b4 Ensure that prototype is in scope. 2004-10-08 15:00:12 +00:00
Jeff Hill
d91a3917ce new #include 2004-10-08 14:58:59 +00:00
Jeff Hill
f9f5381a30 doc 2004-10-08 14:54:45 +00:00
Jeff Hill
7571947ceb o fixed "no exception thrown if epicsThreadCreate() return nill"
o added epicsThreadMustCreate
o cleaned up thread rundown blocking
o header file need not include exception support
2004-10-08 14:46:48 +00:00
Andrew Johnson
dac63b0826 It makes more sense to make ca_puser(chid) the address of the MYNODE, not
the address of an array element containing the MYNODE address.  As puser is
not actually used in this code it's not a real bug, but it could cause a
subtle bug in any code that starts from here if the programmer doesn't
completely understand what's going on...
2004-10-07 22:08:28 +00:00
W. Eric Norum
06c3533158 Globbing. 2004-10-07 20:15:35 +00:00
W. Eric Norum
0d6784c31b Provide epicsStrGlobMatch().
Add globbing to iocsh help command.
2004-10-07 20:10:38 +00:00
W. Eric Norum
667ab7eab8 Let posix version of osdTime work on systems without real-time capability. 2004-10-07 19:39:00 +00:00
Jeff Hill
372a3dc989 restored "waste time" loop 2004-10-07 19:21:18 +00:00
W. Eric Norum
1a326265ff Add progress marker. 2004-10-07 15:10:31 +00:00
Marty Kraimer
e8b642bd5f fix stacksize 2004-10-07 13:37:34 +00:00
Marty Kraimer
906f74cfe1 set stack size og posix 2004-10-07 13:33:14 +00:00
Marty Kraimer
5c99cf24f1 OSITHREAD_USE_DEFAULT_STACK YES 2004-10-07 13:27:16 +00:00
Marty Kraimer
bbc999f033 set stacksize 2004-10-07 13:24:25 +00:00
Marty Kraimer
b0a654b4c1 epicsMaxThreads is new 2004-10-07 13:21:40 +00:00
W. Eric Norum
36733cd907 pc386 BSP now provides time-of-day clock. 2004-10-06 21:43:09 +00:00
W. Eric Norum
75e43a6b6c Detect memory exhaustion. 2004-10-05 18:21:30 +00:00
Jeff Hill
639d54fd91 fixed CA fails if channel is destroyed in disconnect handler 2004-10-04 23:28:54 +00:00
Jeff Hill
0975f7457b removed CVS Id tokens as they cause never ending hassles when merging
in from branches
2004-10-04 22:05:14 +00:00
Jeff Hill
302cde41b0 removed CVS Id tokens as they cause never ending hassles when merging
in from branches
2004-10-04 18:55:40 +00:00
Jeff Hill
4b8e2bcf2c fixed to use const char chan name ptr
added manually operated chan disconnect / connect test
2004-10-04 18:40:48 +00:00
Jeff Hill
84559b5fd3 fixed to use const char chan name ptr 2004-10-04 18:39:03 +00:00
Jeff Hill
753ecff270 Changes to support communication with protocol revisions prior to 4.2 (EPICS 3.11) 2004-10-04 16:39:00 +00:00
Marty Kraimer
46cfe589d5 epicsSnprintf: prevent buffer overflow; use posix convention 2004-10-04 12:39:16 +00:00
Marty Kraimer
31c9c89350 epicsStrSnPrintEscaped: prevent buffer overflow; use posix convention 2004-10-04 12:38:33 +00:00
W. Eric Norum
42953c05f7 Treat \r as a separator -- should allow DOS-format scripts to work. 2004-10-02 15:34:47 +00:00
Jeff Hill
361d617ede o fixed so that a thread that has not began will terminate if another thread
calls exit wait
o use independent event semaphore assisting these two threads to block
1) spawned thread
2) thread waiting for spawned thread to exit
2004-10-01 23:27:25 +00:00
W. Eric Norum
207e1ed8f7 Add some comments.
Provide an easy location to override input library.
2004-10-01 18:27:12 +00:00
Jeff Hill
c106bc9740 fixed compatibility problems with vxWorks 5.4 gnu compiler 2004-09-30 19:15:45 +00:00
Jeff Hill
23be13bd5b fixed cast 2004-09-30 19:14:23 +00:00
W. Eric Norum
2e66cfb8fb Clean up NFS/TFTP remote fileystem setup. 2004-09-30 17:58:42 +00:00
Jeff Hill
1dda0263f0 exception payload derives from std::exception 2004-09-30 16:01:48 +00:00
Jeff Hill
4db45ea43d use arch independent type to hold revision level of proto 2004-09-29 22:12:36 +00:00
Jeff Hill
ecc0d9976d return "bad protocol" and not "internal" error code when bad protocol arrives 2004-09-29 17:45:35 +00:00
Jeff Hill
9f8e75b945 o print date when unexpected exception occurs
o call std::unexpected() when unexpected exception occurs
2004-09-29 17:39:17 +00:00
Jeff Hill
fddaeb1dc8 reduced memory consumption with large channel counts 2004-09-29 15:59:25 +00:00
W. Eric Norum
319b886ab4 Don't use TFTP if not needed. 2004-09-29 14:30:51 +00:00
Marty Kraimer
ef292bffe6 dont try to cancel _main_ 2004-09-29 13:32:11 +00:00
W. Eric Norum
81bc2a0d7a if_fxp is now working. 2004-09-29 01:23:43 +00:00
W. Eric Norum
3419fee587 Changes for RTEMS pc386 target. 2004-09-29 00:39:50 +00:00
W. Eric Norum
a470a5b850 Add commands to build etherboot bootable image. 2004-09-29 00:39:17 +00:00
W. Eric Norum
5a832e7ccd RTEMS bootable images. 2004-09-28 21:51:11 +00:00
W. Eric Norum
46068e813d Use NFS by default. 2004-09-28 20:40:43 +00:00
W. Eric Norum
cd551b4860 Clarify reason for direct copy. 2004-09-28 20:39:47 +00:00
W. Eric Norum
46255e607a Redo the way 'munch' commands are handled.
Provide 'munch' command to build executable for RTEMS MVME2100 target.
2004-09-28 20:38:01 +00:00
W. Eric Norum
5e49aafb5c Now works on non-i386, non-ppc targets. 2004-09-25 23:43:06 +00:00
Janet B. Anderson
44b0995b0d Added iocBoot/ioc* build change. 2004-09-24 21:01:01 +00:00
Janet B. Anderson
c15d2d589c Create cdCommands and envPaths files only for BUILD_ARCH dirs. 2004-09-24 20:55:03 +00:00
Jeff Hill
7617d78f36 fixed sunpro warnings 2004-09-24 16:33:42 +00:00
Jeff Hill
61c0cff87d fixed gnu warnings 2004-09-24 15:44:08 +00:00
Jeff Hill
f384eee9b6 fixed sunpro warnings 2004-09-24 15:42:54 +00:00
Jeff Hill
a868270c68 fixed gnu warning 2004-09-24 15:27:10 +00:00
Jeff Hill
7deabc8923 fixed sunpro warnings 2004-09-24 15:03:28 +00:00
Marty Kraimer
35bbb5d897 call epicsThreadInit instead of assert if epicsThreadId is not an argument 2004-09-24 12:25:07 +00:00
Ralph Lange
b04811e146 Use correct option character. optopt is valid only when getopt returns '?'. 2004-09-24 11:38:10 +00:00
Jeff Hill
620f8b74b7 fixed header file names 2004-09-24 00:22:21 +00:00
Jeff Hill
4154b61d46 fixed header name 2004-09-24 00:13:00 +00:00
Jeff Hill
1388169f1e fixed missing throw() spec 2004-09-24 00:05:26 +00:00
Jeff Hill
7b7a07c667 fixes for bugs 133 and 134 in Mantis 2004-09-23 23:15:22 +00:00
Jeff Hill
107f1fa37f added array capabilities 2004-09-23 21:56:51 +00:00
Ralph Lange
6c12088e2a += connection status reporting (based on Jeff's suggestions plus timestamps for connection loss events) 2004-09-23 15:47:57 +00:00
Jeff Hill
889d8bc6c2 fixed potential race on SMP systems 2004-09-23 00:24:04 +00:00
Jeff Hill
1584471439 o fixed errno based diagnostic converting errno to string after errno was replaced 2004-09-22 18:55:17 +00:00
Jeff Hill
c020be9e04 fixed delay functionality and removed call to show at exit 2004-09-22 18:45:43 +00:00
Jeff Hill
ff419d8922 added destroyAllPV call 2004-09-22 18:45:11 +00:00
Jeff Hill
6e01a1e22c o fixed forced disconnect closes socket when shutdown should be used
otherwise fdmgr prints bad fd diagnostic in tight loop - problem was
        seen only when very old CA client version connects
2004-09-22 17:55:00 +00:00
Jeff Hill
6d70a66826 o fixed errno based diagnostic converting errno to string after errno was replaced
o fixed forced disconnect closes socket when shutdown should be used
        otherwise fdmgr prints bad fd diagnostic in tight loop - problem was
        seen only when very old CA client version connects
2004-09-22 17:54:37 +00:00
Jeff Hill
a33d6585f9 fixed errno based diagnostic converting errno to string after errno was replaced 2004-09-22 17:51:59 +00:00
Jeff Hill
6615cb7fbd removed calls to exit() which cause problems on RTEMS where exit() has
different behavior than on vxWorks.
2004-09-21 23:56:27 +00:00
Janet B. Anderson
694d0401f0 Updates to make files general. Updated for R3.14.7. 2004-09-20 19:56:08 +00:00
W. Eric Norum
a29a954a19 MVME2100. 2004-09-17 21:20:51 +00:00
W. Eric Norum
63a4b83b16 Add support for MVME2100. 2004-09-17 21:18:43 +00:00
W. Eric Norum
f41a7910c4 Allow configuration from PPCBUG NVRAM. 2004-09-17 20:48:09 +00:00
Jeff Hill
88702dd180 fixed to work with non-ms compiler 2004-09-17 15:02:52 +00:00
W. Eric Norum
c31910760f More warnings removed. 2004-09-16 19:29:09 +00:00
W. Eric Norum
0d07d00108 Clean up warnings.
Improve error message.
2004-09-16 19:27:23 +00:00
Jeff Hill
3d377eed1d removed atexit handler that calls epicsThreadExit because:
o recursive exit call is bad
o this causes shutdown problems with DLL codes on windows
=> the workaround is an atexit handler that calls epicsExitCallAtExits in
the poosix osdThreads atexit handler
2004-09-16 18:22:33 +00:00
W. Eric Norum
63aba004d1 Add explantory message. 2004-09-16 17:52:23 +00:00
W. Eric Norum
f8647ac5c6 Guard against overzealous optimizers. 2004-09-16 15:56:35 +00:00
W. Eric Norum
045619d68a Fix bug in 'pending' routine.
Provide rudimentary show routine.
2004-09-16 15:31:32 +00:00
W. Eric Norum
cd84c95920 Don't let receiver printing mess up priority-based send checks.
Improve priority-based send check messages.
2004-09-16 15:29:00 +00:00
W. Eric Norum
7a1249cd99 Allow calls from RTEMS test harness. 2004-09-16 14:04:21 +00:00
Marty Kraimer
262901c567 call epicsAtExit from errlogThread 2004-09-16 11:25:09 +00:00
W. Eric Norum
c7e31a2a41 Treat RTEMS like vxWorks. 2004-09-16 00:45:45 +00:00
W. Eric Norum
99690a12e2 Tread RTEMS like vxWorks. 2004-09-16 00:41:03 +00:00
W. Eric Norum
ca9146dfb5 Allow calling from RTEMS test harness. 2004-09-15 22:02:49 +00:00
W. Eric Norum
5d2cc64d62 Allow calling from RTEMS test harness. 2004-09-15 21:39:05 +00:00
Marty Kraimer
15c156d41f remove unnecessary dbScanLock/Unlock 2004-09-15 17:55:27 +00:00
Marty Kraimer
ab176a13cd dbNotifyCancel waits for userCallback if active 2004-09-15 12:44:17 +00:00
W. Eric Norum
cb1c8e14af Get isnan/isinf. 2004-09-14 23:09:33 +00:00
W. Eric Norum
4a95bacb24 Pick up OS-specific declarations. 2004-09-14 23:08:29 +00:00
Janet B. Anderson
66c0ecd2f9 Moved wildcard parentheses to end of line. 2004-09-14 22:06:28 +00:00
W. Eric Norum
3973a3fdb2 Typo. 2004-09-14 20:25:12 +00:00
W. Eric Norum
a7b44180bd Redirect special case. 2004-09-14 20:21:10 +00:00
W. Eric Norum
096172f252 Handle
<foo >bar
properly.
2004-09-14 19:58:09 +00:00
Marty Kraimer
e8a2cdeee1 dbNotifyCancel waits for callback to complete 2004-09-14 18:58:52 +00:00
Marty Kraimer
e6173f93eb dbNotifyCancel waits for callback to complete 2004-09-14 18:22:57 +00:00
Jeff Hill
f81097d891 avoid cast that reduces size of type 2004-09-07 16:33:21 +00:00
Jeff Hill
269acc7478 added AS write trap for put callback 2004-09-07 16:01:29 +00:00
Jeff Hill
2f33de21fe avoid ioctl on closed socket during client rundown 2004-09-07 15:52:14 +00:00
Ralph Lange
e553e1b21e Added a cast for HP's compiler 2004-09-06 13:39:59 +00:00
Jeff Hill
0d2e8aa434 o added config via EPICS_CA_MAX_SEARCH_PERIOD 2004-09-03 21:36:58 +00:00
Jeff Hill
dd3d974bc7 o fixed clients that dont see server's beacon dont reconnect
o added config via EPICS_CA_MAX_SEARCH_PERIOD
o when successful search response arrives dont allow search period to get to long
o dont scan channels when searching to find lowest retry count as this doesnt change behavior and adds overhead
2004-09-03 21:12:38 +00:00
Jeff Hill
f02e58528c doc for EPICS_CA_MAX_SEARCH_PERIOD 2004-09-03 21:08:09 +00:00
Jeff Hill
1f791db248 eliminated very short window where channel could be installed
by udp thread while  iiu is being destroyed.
2004-09-02 19:47:31 +00:00
Jeff Hill
d7cf7531b2 should set the private variable id to nill when deleteing it 2004-09-02 16:26:04 +00:00
Marty Kraimer
bd93889676 changes for commits 2004-08-31 18:19:48 +00:00
Marty Kraimer
a2cd656268 handle array allocation properly when link connects 2004-08-31 18:13:56 +00:00
Marty Kraimer
bcbcf05110 atReboot calls epicsExitCallAtExits not epicsExit 2004-08-31 17:57:00 +00:00
Marty Kraimer
f408398166 add atReboot for vxWorks 2004-08-31 12:43:40 +00:00
Marty Kraimer
34a59c7eb9 do not call exit on vxWorks 2004-08-31 12:43:08 +00:00
Marty Kraimer
447e03c994 atReboot is new 2004-08-31 12:42:28 +00:00
Marty Kraimer
bedba55eb5 add defs for C++ 2004-08-31 12:41:56 +00:00
Jeff Hill
0f2ce403bb added warnings about calling CA from interrupt context, also more doc
about vxWorks 5.4 netowrk stack pool
2004-08-30 21:39:15 +00:00
Marty Kraimer
4d636df146 extern C except for registerObj 2004-08-30 13:39:03 +00:00
Janet B. Anderson
4c827f8104 Updated supported platforms. 2004-08-27 17:10:31 +00:00
Janet B. Anderson
5d036dc54b Updated for R3.14.7. 2004-08-27 17:04:10 +00:00
Marty Kraimer
5a41338d08 epicsExit 2004-08-27 16:23:20 +00:00
Marty Kraimer
b4f40d0011 epicsStdioRedirect 2004-08-27 16:20:09 +00:00
Marty Kraimer
63f139adc5 epicsExit and epicsStdioRedirect 2004-08-27 16:04:26 +00:00
cvs2svn
47223261a0 This commit was manufactured by cvs2svn to create branch 'B3.14'. 2004-08-27 16:04:23 +00:00
Marty Kraimer
a15c5377f2 allow epicsStdioRedirect 2004-08-27 16:02:03 +00:00
Marty Kraimer
162ffc9873 epicsExit is new 2004-08-27 16:00:41 +00:00
cvs2svn
34a4b00f91 This commit was manufactured by cvs2svn to create branch 'B3.14'. 2004-08-27 16:00:33 +00:00
Marty Kraimer
5505bfc3ab do not include epicsStdio 2004-08-27 16:00:04 +00:00
Janet B. Anderson
72021a6501 Updated supported platforms. 2004-08-27 15:15:10 +00:00
Janet B. Anderson
2e07db4a3e Removed duplicate directories and added catools, softIoc, and excas. 2004-08-27 14:52:58 +00:00
Marty Kraimer
2c7e345a00 changes for epicsExit and epicsStdio 2004-08-27 13:39:39 +00:00
Jeff Hill
916038e13a fixed holding lock while suspended in epicsThreadSuspendSelf() 2004-08-26 23:36:05 +00:00
Jeff Hill
6f030c8030 added additional doc on array size config 2004-08-25 22:40:33 +00:00
W. Eric Norum
4e92e2f36c Add prototype for strtok_r which is in the library but not in the headers
with -ansi.
2004-08-24 21:13:05 +00:00
Jeff Hill
0120c0e2a1 added -420 for China's MIN_WEST 2004-08-24 15:18:15 +00:00
W. Eric Norum
3d42f8df29 Add note about signals and subthreads. 2004-08-13 13:22:52 +00:00
Jeff Hill
bf9cd7241a added try catch block 2004-08-13 01:10:03 +00:00
Jeff Hill
39bae7925b fixed ca_context_create doc 2004-08-12 21:37:37 +00:00
Jeff Hill
6acf7c6294 o added additional data type doc
o added more info on binding servers to interfaces
2004-08-12 18:40:32 +00:00
Jeff Hill
9f216b07df added top level try catch block 2004-08-12 17:58:04 +00:00
W. Eric Norum
c23cb75b21 Install name must be absolute path. 2004-08-12 16:57:06 +00:00
Jeff Hill
45f71fcde9 fixed string to numeric conversion functions 2004-08-12 16:51:03 +00:00
Jeff Hill
ab627a9166 added string to double conversion functions 2004-08-12 16:50:26 +00:00
Jeff Hill
87023ea4b2 added function lookingup index matching string 2004-08-12 16:45:17 +00:00
W. Eric Norum
d41312bac5 Fix warning. 2004-08-12 13:38:17 +00:00
W. Eric Norum
012f44ff48 Fix convertDoubleToWakeTime warning. 2004-08-12 13:29:29 +00:00
W. Eric Norum
e3e3737a71 Block signals in all but the main thread. 2004-08-11 21:37:55 +00:00
Janet B. Anderson
2999b11a51 Removed output of SHRLIB_SEARCH_DIRS = TOP/lib/arch. 2004-08-11 19:31:36 +00:00
Janet B. Anderson
2a02939267 Simplified SHRLIB_SEARCH_FULLPATHDIRS definiton. 2004-08-11 19:30:11 +00:00
Janet B. Anderson
48b47b519d Added SHRLIB_SEARCH_DIRS = INSTALL_LIB definition. 2004-08-11 19:29:05 +00:00
Jeff Hill
73dd387f05 moved setThreadName() out so that it could use C++ exceptions instead of
windows structured exceptions (which are not compiler portable)
2004-08-11 00:46:38 +00:00
Jeff Hill
2d613ba5d0 fixed DLL export 2004-08-11 00:46:12 +00:00
Jeff Hill
7ef6eaee28 fixed plural 2004-08-04 20:14:09 +00:00
Jeff Hill
9b3cf1dc84 fixed wrong network address constructor used in constructor
specifying network address
2004-08-04 20:08:56 +00:00
Marty Kraimer
8ebd5d4e0a errlog: implement atexit 2004-08-03 18:18:50 +00:00
Marty Kraimer
83adcfbaea implement atexit to cleanup 2004-08-03 18:17:56 +00:00
Jeff Hill
ac8dc4facd fixed locking associated with the cleanup flag
(this is not a known problem, the problem was identified instead during code inspection)
2004-07-30 23:34:24 +00:00
Jeff Hill
75ddcbaf06 fixed problems with cleanup of partially created tcp client 2004-07-30 23:02:37 +00:00
Jeff Hill
cd1d544401 fixed argument declaration in ca_clear_channel 2004-07-30 17:55:56 +00:00
Janet B. Anderson
1cfd4c9100 Initial version. 2004-07-28 14:14:11 +00:00
W. Eric Norum
4d84f66918 IOC shell changes. 2004-07-26 18:45:38 +00:00
W. Eric Norum
84dd4cdd2b Add iocshCmd command.
General cleanup.
Split help code into separate function.
2004-07-26 18:21:57 +00:00
Marty Kraimer
8148784a20 exitWait ( double delay ) => exitWait (const double delay ) 2004-07-16 12:53:56 +00:00
Marty Kraimer
12b20f2398 More changes for OkToBlock 2004-07-16 11:33:53 +00:00
Marty Kraimer
4324145435 dont printf unless pvtData.toConsole 2004-07-15 14:04:29 +00:00
Marty Kraimer
e227241d4b args were in wrong order 2004-07-15 12:41:40 +00:00
Marty Kraimer
f07f9d8b2b Remove most dbDump commands because there are already other commands
that call them.
2004-07-15 12:41:09 +00:00
Marty Kraimer
c43b60c6ef allow null string or * 2004-07-15 12:03:41 +00:00
Marty Kraimer
f4251bcf79 make snc propram reentrient 2004-07-15 11:54:05 +00:00
Marty Kraimer
1b20ea0e6a wrong logic on msgbufGetFree(isOkToBlock) 2004-07-14 13:22:28 +00:00
Janet B. Anderson
6c205869f6 Put all -R directories in RUNTIME_LDFLAGS. 2004-07-13 19:35:20 +00:00
Janet B. Anderson
3e5f48cd05 Put all -R directories in RUNTIME_LDFLAGS. 2004-07-13 19:28:26 +00:00
Janet B. Anderson
dfebaae2cf Use fullpathdir in rpath directories. 2004-07-13 19:25:37 +00:00
Janet B. Anderson
6c46c794f6 Add macro RULES_TOP - fullpath to a module top directory. 2004-07-13 19:23:34 +00:00
Janet B. Anderson
6355bd4c80 Test if DBD_INSTALLS and DB_INSTALLS are non zero instead if defined. 2004-07-13 19:14:27 +00:00
Marty Kraimer
629b14d3d4 epicsThreadIsOkToBlock epicsThreadSetOkToBlock only for calling thread 2004-07-13 14:49:18 +00:00
Marty Kraimer
f54d1ca30a epicsThreadIsOkToBlock epicsThreadSetOkToBlock only for calling thread 2004-07-13 13:35:35 +00:00
W. Eric Norum
4d5213f609 Fix typo. 2004-07-12 16:15:42 +00:00
W. Eric Norum
3d1dfa5dc6 Simplify printf ==>> epicsStdoutPrintf redefinition. Use __printf__ in
GCC attribute specifier to avoid conflict.
2004-07-12 16:00:48 +00:00
Marty Kraimer
b4715368d7 epicsThreadSetOkToBlock 2004-07-12 13:08:43 +00:00
Marty Kraimer
6cb83962d0 fprintf(stdout => printf 2004-07-09 18:47:33 +00:00
W. Eric Norum
99778934c1 Ensure that redirection is off before attempting to read next line. 2004-07-09 18:40:42 +00:00
W. Eric Norum
f6e1d32b25 Add 'ok-to-block' flag. 2004-07-09 18:30:29 +00:00
Marty Kraimer
975a1af43b fix OkToBlock 2004-07-09 18:19:18 +00:00
Marty Kraimer
f2fc8f8838 ShellContext=>OkToBlock 2004-07-09 17:53:54 +00:00
Marty Kraimer
e9f54b70d9 if shellContext call printf from initial thread 2004-07-09 16:06:51 +00:00
Marty Kraimer
b97efc9f7d implement ShellContext 2004-07-09 16:05:53 +00:00
Marty Kraimer
23d4d7f790 printf always becomes epicsStdoutPrintf 2004-07-09 13:35:12 +00:00
W. Eric Norum
94e70da4ef Allow redirection from recursive iocsh invocations. 2004-07-09 13:18:40 +00:00
W. Eric Norum
744e836ad8 Add I/O redirection. 2004-07-08 21:19:42 +00:00
Marty Kraimer
ad878fc71d printf now overridden 2004-07-08 20:48:35 +00:00
Marty Kraimer
51a8b2ec98 more changes to make override of printf work 2004-07-08 20:47:00 +00:00
Marty Kraimer
6669549c68 override printf 2004-07-08 20:17:03 +00:00
Marty Kraimer
55b22facee include epicsStdio 2004-07-08 20:16:36 +00:00
Marty Kraimer
77a8aa677a printf => epicsStdioPrintf 2004-07-08 18:10:05 +00:00
Marty Kraimer
2f7abfdd7a clean up and include epicsStdio.h 2004-07-08 16:15:01 +00:00
Marty Kraimer
8006613981 char => const char 2004-07-08 15:25:56 +00:00
Marty Kraimer
4a7152c1a2 dbl dbhcr no longer have filename arg; char => const char 2004-07-08 15:09:49 +00:00
Marty Kraimer
77b28ee777 changes for reports 2004-07-08 14:43:45 +00:00
Marty Kraimer
cb430154d0 add test of epicsGetStdout/epicsPutStdout 2004-07-08 12:08:14 +00:00
Marty Kraimer
cb34e16385 added epicsGetStdin/epicsSetStdin and stdout and stderr 2004-07-08 11:55:46 +00:00
Marty Kraimer
f212fae267 split epicsStdio into common and osdStdio portions 2004-07-07 16:03:51 +00:00
cvs2svn
ce1be263d5 This commit was manufactured by cvs2svn to create branch 'B3.14'. 2004-07-07 16:03:49 +00:00
Jeff Hill
0ca4281952 fixed gcc 3.4 issue 2004-07-07 14:58:10 +00:00
Marty Kraimer
05dad621be ODLY was not handled properly 2004-07-06 14:13:09 +00:00
Marty Kraimer
8507d48527 calcoutRecord fix 2004-07-06 14:11:28 +00:00
W. Eric Norum
44c358d6bd Use correct option character. optopt is valid only when getopt returns '?'. 2004-07-06 03:01:11 +00:00
Andrew Johnson
0f7189d62b This problem was reported by Kate Feng and Stephanie Allison. 2004-07-02 23:09:13 +00:00
Jeff Hill
d254a52c4d fixed gcc 3.4 issue 2004-06-28 16:18:19 +00:00
Jeff Hill
400c482bb2 fixed the following problems
o application could hang for too long in ca_context_destroy() attempting a
clean shutdown if circuit is known to be unresponsive
o unexpected errno from recv message was improperrly supressed
for locally initiated circuit abort
2004-06-22 18:21:12 +00:00
Jeff Hill
3b602063fa made two member functions private 2004-06-22 18:15:30 +00:00
Jeff Hill
c097ce9b82 added channel connected context destroy test 2004-06-21 21:34:45 +00:00
Jeff Hill
288e8abe90 many changes 2004-06-17 23:49:21 +00:00
Jeff Hill
e5ba349551 eliminated redundant code from subscription and channel destroy 2004-06-17 23:32:36 +00:00
Jeff Hill
7f3db9f676 channelNode public memebers should be protected members 2004-06-17 23:32:09 +00:00
Jeff Hill
d0ca66c2e3 cancel outstanding IO when a channel becomes unresponsive 2004-06-17 23:31:30 +00:00
Jeff Hill
33ee0cba83 no need to maintain count of circuits insttalled when they are installed on a
doubly linked list
2004-06-17 23:30:32 +00:00
Jeff Hill
61a4d8a0d3 protect against exceptions occurring when eliminating excessive send backlog
o creating channel
o creating subscription
also eliminated redundant code from subscription destroy
2004-06-17 23:26:18 +00:00
Jeff Hill
88b13e36f0 removed call to epicsThreadSleep() in verifyImmediateTearDown() 2004-06-17 23:16:16 +00:00
W. Eric Norum
2b21145d19 Fix int/pointer conversion warnings. 2004-06-17 04:07:34 +00:00
W. Eric Norum
6a1ea9df6a Add missing include. 2004-06-17 01:12:58 +00:00
W. Eric Norum
ec29674d06 Fix missing format. 2004-06-17 01:12:40 +00:00
W. Eric Norum
6fe68a0cb3 Fix printf args/formats. 2004-06-17 01:10:59 +00:00
Andrew Johnson
b9fa2e7515 More string termination bugs, this time missing terminators. 2004-06-16 19:10:11 +00:00
Jeff Hill
aa2273c7d3 removed use of EPICS_CA_ADDRESS_LIST 2004-06-16 15:39:34 +00:00
W. Eric Norum
58a741d845 Clean up -- use epicsStrDup instead of ad-hoc allocation. 2004-06-16 13:21:52 +00:00
Andrew Johnson
f291862044 Fixed dbLoadTemplates oops! Environment variables tests don't exercise the
non-dirty path as much...
2004-06-15 19:07:51 +00:00
Jeff Hill
0999b6d923 fixed 1st monitor update not delivered when didnt change
when unresponsive
2004-06-14 21:49:39 +00:00
Jeff Hill
c75ab8eea6 fixed undefined link 2004-06-14 18:08:27 +00:00
Jeff Hill
da5bc3b820 disconnect servers that send missaligned protocol 2004-06-14 17:45:43 +00:00
Andrew Johnson
1a6c1caa54 Fixed path to ConvertingR3.14.1AppsToR3.14.2.html so future website copies
don't have to be changed on installation.
2004-06-14 16:41:44 +00:00
Jeff Hill
0e0aa7bac5 disconnect servers that send missaligned protocol 2004-06-11 19:27:50 +00:00
Jeff Hill
ef04b81c74 disconnect clients that send missaligned protocol 2004-06-11 18:56:55 +00:00
Andrew Johnson
7035e0f475 Replaced macErrMessage macros with errlogPrintf
Fixed 2 possible buffer overflow bugs
Added an entry type string for error/warning messages
Implemented default values in macro expansions $(name=default)
Improved usefulness of error reporting
2004-06-11 15:40:14 +00:00
Jeff Hill
367374b51c added build doc 2004-06-08 15:58:10 +00:00
Marty Kraimer
55ac37cfac Data Base Request Option DBR_ENUM_STRS for the DTYP field ofsoft records can cause an IOC to crash. 2004-06-07 12:11:20 +00:00
W. Eric Norum
7c5e384d08 Cosmetic typo. 2004-06-04 19:51:23 +00:00
Andrew Johnson
751e52a314 Fix some warnings on solaris-sparc. 2004-06-02 20:55:09 +00:00
Andrew Johnson
becd80c4d8 Patch from Jeff Hill, fixes a Tornado 2.2 build problem. 2004-06-02 20:43:21 +00:00
Janet B. Anderson
6614ff45a9 Added a check to see if "$ARGV[0]" exists pre Andy Foster request. 2004-06-01 16:53:22 +00:00
Andrew Johnson
95fd1a7623 R3.14.6 updates. 2004-05-28 21:41:17 +00:00
Andrew Johnson
5be53b39a8 Added <space><dot> after the $Id$ so amaya doesn't wrap inside the $...$. 2004-05-28 20:08:21 +00:00
Andrew Johnson
8c364aa636 R3.14.6 Release. 2004-05-28 19:27:47 +00:00
Andrew Johnson
7366f7359c Added final call to errlogFlush(), needed for solaris-sparc-gnu for some
unknown reason - without it, the program doesn't always exit properly.
2004-05-28 18:17:25 +00:00
Ralph Lange
894936cc5e += catools 2004-05-28 12:28:11 +00:00
Ralph Lange
b760fbdf95 += Doc for commandline tools added in 3.14.6 2004-05-28 12:20:16 +00:00
Ralph Lange
1c594c2522 Warning fix. 2004-05-28 11:33:11 +00:00
Ralph Lange
0897e71ca0 += caput 2004-05-28 11:07:28 +00:00
Ralph Lange
2cdb8d2cbb Cosmetic changes (misleading var name). 2004-05-28 11:00:25 +00:00
Jeff Hill
ae5c8365d2 builds now on tornado 2004-05-27 14:31:24 +00:00
Andrew Johnson
4853de114b Updates for makeBaseApp changes. 2004-05-26 17:58:38 +00:00
Andrew Johnson
5a2a33f3e0 Moved wildcards from unnecessary file configure/RULES.iocBoot to iocBoot/Makefile 2004-05-26 17:49:01 +00:00
Andrew Johnson
36809d6d20 Removed vlinac, not really a template. 2004-05-26 17:40:59 +00:00
Andrew Johnson
5ecb0738c5 Removed testDevIoc from base link libraries, only used by the mrkSoftTest application 2004-05-26 17:31:56 +00:00
Ralph Lange
d625b13899 Bugfix for absolute timestamps. 2004-05-26 12:51:21 +00:00
Ralph Lange
987f598804 Relative (percent) error -> absolute; units -> SI 2004-05-26 11:04:50 +00:00
Jeff Hill
5ecac228c6 fixed large new size that throws an exception 2004-05-25 17:27:23 +00:00
Jeff Hill
51a1d5991d when testing new failure use max for type size_t instead of LONG_MAX 2004-05-25 14:45:22 +00:00
Ralph Lange
50f58c9974 Fix: name clash on Solaris. 2004-05-25 09:29:49 +00:00
W. Eric Norum
33a5dd714e Echo comments read from a script. 2004-05-24 21:20:27 +00:00
W. Eric Norum
b5ee956916 Allow application to be copied and run anywhere. The downside of this
change is that the application *must* be executed from the directory
in which the st.cmd file resides.
2004-05-23 16:50:52 +00:00
W. Eric Norum
720f6ba418 Simplify virtual-linac build procedure. Sequence programs are now enabled
simply by adding a SNCSEQ entry to configure/RELEASE.
2004-05-22 16:55:17 +00:00
Jeff Hill
329172afc7 fixed logic surrounding subscription cancel
1) When channel is destroyed, but subscription not installed into a server
2) When subscription is destroyed, but has not been installed in server
2004-05-21 00:57:51 +00:00
Jeff Hill
41aeb709e5 updated for R3.14.6 2004-05-20 22:56:09 +00:00
Jeff Hill
dc31948da1 fixed channel delete in get callback handler bug discovered by regression tests 2004-05-20 21:58:41 +00:00
Jeff Hill
2c05bf61ce updated for R3.14.6 2004-05-20 18:41:57 +00:00
Andrew Johnson
8b9a59d072 Convert paths to canonical form using abs_path before comparing. 2004-05-20 18:31:13 +00:00
Janet B. Anderson
4a8aa93f1e Removed 2 blank lines for cygwin compiler. 2004-05-20 17:58:25 +00:00
Jeff Hill
57d488b7a0 supress disconnect callback when context is destroyed 2004-05-20 17:22:40 +00:00
Jeff Hill
5fc1e3217b workaround for borland bcc weirdness 2004-05-19 16:07:06 +00:00
Andrew Johnson
164449f0d6 Remove startCaRepeater - no longer works, use caRepeater from src/ca.
Tidy up rc2 stuff.
2004-05-18 19:22:38 +00:00
W. Eric Norum
5bf2821512 Make EPICS command-line routines the default (no RTEMS add-on
packages required).  Add libraries for readline.
2004-05-18 18:05:36 +00:00
W. Eric Norum
4818d705a5 HPUX needs to use SIGALRM and so can't use the POSIX version. 2004-05-18 17:36:31 +00:00
Andrew Johnson
ecd7d5a9ce configure/tools provides a replacement for absPath.pl, use that instead. 2004-05-17 21:43:50 +00:00
Andrew Johnson
2bef3a2d08 Added two new envParams and converted iocsh to use these instead of getenv() 2004-05-17 21:40:10 +00:00
Janet B. Anderson
668ecc9b94 Added EPICS_HOST_ARCH win32-x86-cygwin renamed to cygwin-x86. 2004-05-17 21:27:33 +00:00
Andrew Johnson
267e352bb5 Fix problem introduced by Win32 fix, do it properly. 2004-05-17 21:07:10 +00:00
Janet B. Anderson
36d3033de4 Fixed comment typo and removed duplicate export line. 2004-05-17 14:38:37 +00:00
Janet B. Anderson
23e17b664c Changed win32-x86-cygwin to cygwin-x86. 2004-05-17 14:36:29 +00:00
Janet B. Anderson
4a7100cbf0 Fixed missing quote mark. 2004-05-17 14:35:18 +00:00
Janet B. Anderson
8ee9595026 Changed file test from -r to -f fow win32 builds. 2004-05-17 14:28:31 +00:00
Janet B. Anderson
22df40f776 Added chomp for win32 builds. 2004-05-17 14:27:11 +00:00
Janet B. Anderson
2344a4b0e3 Added text about COMPAT_313 prerequisite. 2004-05-17 14:25:00 +00:00
Janet B. Anderson
1e9826e1f7 Fixed some typos. 2004-05-17 14:24:30 +00:00
Janet B. Anderson
272940d50e Added info about COMPAT_TOOLS_313. 2004-05-17 14:07:22 +00:00
Janet B. Anderson
dc3f271ea2 Portability change. 2004-05-14 19:18:04 +00:00
W. Eric Norum
32d48f7dcd Clean up system-call-interrupt mechanism. 2004-05-14 13:36:01 +00:00
Jeff Hill
de99791d82 win32-x86-cygwin => cygwin-x86 2004-05-13 23:25:54 +00:00
Jeff Hill
df6f19a611 win32-x86-cygwin => cygwin-x86 2004-05-13 22:46:08 +00:00
Jeff Hill
82b2a0be6e win32-x86-cygwin => cygwin-x86 2004-05-13 22:34:02 +00:00
Jeff Hill
3dff2767c7 fixed gnu compiler detected issues 2004-05-13 20:05:47 +00:00
Jeff Hill
cbcc94ba9e fixed missing ansi header 2004-05-13 19:55:25 +00:00
Jeff Hill
c91c7b32f0 use TCP circuits 2004-05-13 19:53:28 +00:00
Jeff Hill
a4c47660f3 added socket unblock mechanism test 2004-05-13 15:33:23 +00:00
Jeff Hill
800d614eed added socket unblock mechanism test 2004-05-13 15:22:25 +00:00
Marty Kraimer
0381f13e3f more changes for allowing FILE *fp for diagnostics 2004-05-13 15:19:49 +00:00
Jeff Hill
22bc683370 rearranged test order 2004-05-13 15:08:29 +00:00
Jeff Hill
87b4d8db21 added socket unblock mechanism test 2004-05-13 14:48:28 +00:00
Jeff Hill
37958418e4 added socket unblock mechanism test 2004-05-13 14:35:24 +00:00
Jeff Hill
965a511c47 added socket unblock mechanism test 2004-05-12 20:51:25 +00:00
Jeff Hill
ce29419d3d fixed beacon address list configuration doc 2004-05-11 18:14:53 +00:00
Marty Kraimer
8992b2c956 build softIoc.dbd from makefile 2004-05-11 14:06:17 +00:00
Jeff Hill
53ce107e5f fixed use of gdd::dataAddress() where gdd::dataVoid() should be used 2004-05-11 00:07:16 +00:00
Jeff Hill
810e60fc98 more doc on the ca repeater 2004-05-10 22:10:26 +00:00
Jeff Hill
0189d48d73 removed #define DEBUG 2004-05-10 21:37:49 +00:00
Janet B. Anderson
afd785354a Used fullpath name from SHRLIB_SEARCH_FULLPATHDIRS. 2004-04-30 16:01:04 +00:00
W. Eric Norum
6ef89dd871 Even though the comment is within C++ conditionals some compilers
generate warnings for the C++ style comment.
2004-04-30 14:55:08 +00:00
Janet B. Anderson
7a920f831d Defines fullpath name only for rpath and -R dirs on link lines. 2004-04-29 17:47:34 +00:00
Jeff Hill
cab998f40d renamed chronIntIdResTable::add to chronIntIdResTable::idAssignAdd to avoid
hiding resTable::add in the public base class
2004-04-28 22:15:06 +00:00
Jeff Hill
563733cf3c changed to call new idAssignAdd func 2004-04-28 22:11:25 +00:00
Jeff Hill
7e80920164 improved debug diagnostics 2004-04-28 22:04:35 +00:00
W. Eric Norum
21e72e7f13 Change include quotes from "" to <>.
When "" are used the posix osiUnistd.h is included rather than the
os-specific osiUnistd.h.
2004-04-28 20:06:05 +00:00
W. Eric Norum
fae1b240f6 Add epicsSnStrPrintEscaped 2004-04-28 02:35:13 +00:00
W. Eric Norum
ee99561235 No, Darwin really does need to use signals to unblock socket I/O. 2004-04-28 01:20:50 +00:00
W. Eric Norum
14aa5b47b0 Darwin uses shutdown rather than signals to break out of socket I/O. 2004-04-27 21:33:44 +00:00
Andrew Johnson
eb78bf867f Spectrum Record was removed. 2004-04-27 20:32:07 +00:00
Andrew Johnson
81ad1fe161 LynxOS no longer supported. 2004-04-27 18:27:48 +00:00
Jeff Hill
5ed18e6e6f added missing #include 2004-04-27 18:07:58 +00:00
Jeff Hill
b76257a0d6 fixed temp file creation issues on win32 2004-04-27 17:39:25 +00:00
Andrew Johnson
d844c2dd61 LynxOS support files were removed from configure/os some time back. 2004-04-27 14:57:54 +00:00
Janet B. Anderson
eb40c4e79b Added code for cygwin. 2004-04-26 21:49:42 +00:00
Andrew Johnson
068613e447 Fix for Win32 2004-04-26 16:11:29 +00:00
Jeff Hill
4c606f43e7 fixed id string 2004-04-26 14:29:23 +00:00
Andrew Johnson
c6a0e60989 EPICS_TS_NTP_INET fix. 2004-04-23 18:39:58 +00:00
Andrew Johnson
cb4604a157 Add dependencies for envData.c 2004-04-23 18:16:22 +00:00
Andrew Johnson
0b52634e38 Use envGetConfigParamPtr() instead of getenv() for EPICS_TS_NTP_INET,
needed to allow a default time server to be set in CONFIG_SITE_ENV.
Also cleaned up some unnecessary string copying.
2004-04-23 17:56:07 +00:00
Andrew Johnson
ff3329b0f9 Added a note about the bldEnvData.pl script fix. 2004-04-22 21:28:05 +00:00
Andrew Johnson
76f1fdf92d Tidy up, fixed problem in Bug #76. 2004-04-22 20:10:10 +00:00
Ralph Lange
09ef609f43 Use epicsTime (instead of tsDefs); improved timestamp format and behaviour; fixed compiler warnings. 2004-04-22 15:56:59 +00:00
Ralph Lange
5e5346e6b3 oops. 2004-04-21 18:58:46 +00:00
Ralph Lange
a011b98f62 += cainfo 2004-04-21 18:50:40 +00:00
Ralph Lange
72a1539a86 += '-g' option to set %g precision 2004-04-21 18:27:42 +00:00
Ralph Lange
f169cd57f9 camonitor += relative and incremental timestamps 2004-04-21 13:46:28 +00:00
W. Eric Norum
429c47eb11 Add epicsStrSnPrintEscaped. 2004-04-20 01:05:23 +00:00
Andrew Johnson
cac8ee7b0e Removed dbCommon.h dependency on O.Common directory, it was causing much
extra compilation and linking the *second* time you run gnumake.
2004-04-19 21:54:44 +00:00
Ralph Lange
27f39ec664 += camonitor 2004-04-19 16:40:28 +00:00
Ralph Lange
42489a84d4 Bugfix in trigger mask spec 2004-04-19 10:31:34 +00:00
Andrew Johnson
8996ab2b5c Replace all the $(HOME)/... includes with a minimal and sufficient set
which will not cause problems if $(HOME) is also a regular <top>.
2004-04-14 16:22:31 +00:00
Ralph Lange
b3872bf14a Fixed DLL definitions for epicsGetopt (on WIN) 2004-04-14 15:45:27 +00:00
Ralph Lange
1ab4c344aa += epicsGetopt to declare (default) or implement (WIN) getopt() 2004-04-14 14:38:25 +00:00
Janet B. Anderson
30efff9cd0 Added RULES_IDL 2004-04-13 16:21:52 +00:00
Janet B. Anderson
c93585e950 Initial version. 2004-04-13 16:16:15 +00:00
Janet B. Anderson
07fd7b3588 Removed extra definition of JAVA_INCLUDES. 2004-04-13 16:03:40 +00:00
Janet B. Anderson
3f290c6c9e Use perl tools from config/tools directory instead of bin directory. 2004-04-09 14:11:17 +00:00
Janet B. Anderson
3068262901 Added rule to build name.db from name.template. 2004-04-08 19:33:59 +00:00
Marty Kraimer
5453865724 dbReportDeviceConfig had wrong arguments 2004-04-08 18:02:30 +00:00
Janet B. Anderson
c3c1c6c980 Moved install db from O.Common rule. 2004-04-08 16:27:47 +00:00
Janet B. Anderson
4599f5540a Changed main to int main. 2004-04-07 20:14:11 +00:00
Janet B. Anderson
e8c5ab29fa Don't use gcc for preprocessing. 2004-04-07 18:34:25 +00:00
Janet B. Anderson
68556e0534 COMMON_DIR changes. 2004-04-07 18:33:37 +00:00
Janet B. Anderson
5ea6509553 Added SHARED_LIBRARIES comment. 2004-04-07 18:27:16 +00:00
Janet B. Anderson
ef50d04061 Modified JAVA definitions. 2004-04-07 16:11:56 +00:00
Janet B. Anderson
07e0bce2d3 Modified JAVA defs. 2004-04-07 16:09:16 +00:00
Marty Kraimer
6b0f70a734 fix memory leak in epicsThreadPrivateDelete 2004-04-07 14:19:30 +00:00
Marty Kraimer
93b46f62a5 fix memory leak 2004-04-07 13:14:00 +00:00
Janet B. Anderson
5b30180c3f Removed COMMON_DIR from dbd vpath. 2004-04-06 20:54:03 +00:00
Marty Kraimer
2e21360559 changes to db test shell commands 2004-04-06 14:06:25 +00:00
Marty Kraimer
d212f0428b add dbReportDeviceConfig 2004-04-06 13:47:27 +00:00
Marty Kraimer
5f08b2170a make test commands more crash resistant 2004-04-06 13:26:56 +00:00
Marty Kraimer
31c88f6044 make dbReportDeviceConfig work if report is null 2004-04-05 19:06:03 +00:00
Marty Kraimer
8c4e8dd35f ascar is new 2004-04-05 16:06:06 +00:00
Marty Kraimer
9be94797d5 as dump commands have an FP version 2004-04-05 15:40:38 +00:00
Janet B. Anderson
52f10d9b47 Initial version. 2004-04-05 15:07:44 +00:00
Janet B. Anderson
1165285c6f Added SHRLIB_SEARCH_DIRS using fullpathname. 2004-04-05 15:07:03 +00:00
Janet B. Anderson
6d8753602e Added support for AIX. 2004-04-05 15:01:23 +00:00
Janet B. Anderson
65130ee6bd Added -D_REENTRANT on CPPFLAGS. 2004-04-05 14:39:28 +00:00
Janet B. Anderson
1e0ecdb3fe Added definitions for runtime libraries. 2004-04-05 14:38:30 +00:00
Janet B. Anderson
da35bba798 Added -D_REENTRANT to CPPFLAGS. 2004-04-05 14:36:30 +00:00
Janet B. Anderson
4a03176538 Added GNU_TARGET definition. 2004-04-05 14:25:06 +00:00
Marty Kraimer
ff08561ba0 fix double to float conversion bug 2004-04-05 13:17:30 +00:00
Marty Kraimer
610eb4ea87 add epicsConvert 2004-04-05 12:54:27 +00:00
Marty Kraimer
6ff5355e3e epicsConvert is new. For now it just has epicsConvertDoubleToFloat 2004-04-05 12:41:02 +00:00
Jeff Hill
a0e0cd7ef5 fixed channel uninstall message was not sent to server and other problems 2004-04-02 00:01:45 +00:00
Janet B. Anderson
2074838a12 Allow metacharacters in fullpath name. 2004-04-01 18:39:19 +00:00
Jeff Hill
b4137fe9df print only one message for each beacon if every beacon is printed 2004-03-31 22:10:50 +00:00
Jeff Hill
1d6a7f59f4 print only one message for each beacon if every beacon is printed 2004-03-31 22:01:04 +00:00
Jeff Hill
7e606dafac removed use of %T which isnt in ansi C 2004-03-31 21:25:49 +00:00
Jeff Hill
672d4a6dbb every beacon printed option for casw 2004-03-31 20:41:13 +00:00
Jeff Hill
e3ad8f867e every beacon printed option 2004-03-31 20:36:01 +00:00
Andrew Johnson
40e79bace4 Switch back from a registrar() entry to a function() entry.
Use the new DBD file auto-constructor, with conditionals.
Make SNC compilation conditional on $(SNCSEQ).
Build both standalone and component versions of sncExample.
2004-03-31 19:30:06 +00:00
Andrew Johnson
ea297a6078 MakefileInclude needs rebuilding if configure/RELEASE changes. 2004-03-31 17:09:04 +00:00
Andrew Johnson
bfb3de64ce Use double for local type, not float. 2004-03-31 16:41:02 +00:00
Andrew Johnson
af97e702d1 Added function() keyword handling to dbd files again, works properly now.
Also moved the code from the generated app_registerRecordDeviceDriver.cpp
file to iocsh/registryCommon.*
2004-03-30 21:56:26 +00:00
Janet B. Anderson
ff54104aa0 Fixed usage, error message, and cleaned up file. 2004-03-30 20:35:51 +00:00
W. Eric Norum
8da4eb3b46 Add epicsRegisterFunction. 2004-03-30 19:58:40 +00:00
Ken Evans
35d8565e41 Added linefeed at the end of osdTime.h. 2004-03-29 19:55:34 +00:00
Ken Evans
a473612084 Added a version of gphDump that writes to an arbitrary file pointer
rather than stdout.
2004-03-29 19:35:58 +00:00
Ken Evans
2f827fc92d Added versions of the dump routines that write to an arbitrary file
pointer instead of stdout.
2004-03-29 19:32:20 +00:00
Andrew Johnson
5201304c10 Suppress echo echo 2004-03-25 17:20:34 +00:00
Janet B. Anderson
26b6974cfa Simplify changes to create <name>Include.dbd from <name>_DBD files. 2004-03-25 17:09:58 +00:00
Andrew Johnson
d80664f33f Fixed problem on uninstall with no bin/* and lib/* dirs. 2004-03-25 16:44:29 +00:00
Janet B. Anderson
6a71ba0026 Note about dbd rule to create xxxInclude.dbd from xxx_DBD files. 2004-03-25 16:08:29 +00:00
Janet B. Anderson
b25c2e9d4c Build *_registerRecordDeviceDriver.cpp from dbd file in $(COMMON_DIR). 2004-03-25 15:56:10 +00:00
Janet B. Anderson
11e5c14c7f Changes to create <name>Include.dbd from <name>_DBD files. 2004-03-25 14:50:08 +00:00
Jeff Hill
5bf1789650 added fix for failure when nill access rights handler installed 2004-03-25 01:03:29 +00:00
Jeff Hill
b984a302c6 added test to detect failure when nill access rights handler installed 2004-03-25 01:03:08 +00:00
Janet B. Anderson
b389342440 Added noes about solaris 6 defs removal and new targets cvsclean archclean. 2004-03-24 20:43:30 +00:00
Janet B. Anderson
ad89f422ce Added new arch clean which only removes O.<arch> dirs not O.Common. 2004-03-24 20:20:04 +00:00
Janet B. Anderson
6af0cdeb50 Initial version. 2004-03-24 20:14:04 +00:00
Janet B. Anderson
d900b9fd63 Added cvsclean rule. 2004-03-24 20:12:26 +00:00
Jeff Hill
c5db766b33 new functions that fetch on behalf host name and user name 2004-03-24 19:20:58 +00:00
Jeff Hill
36f9090897 new functions that fetch on behalf host name and user name 2004-03-24 19:02:56 +00:00
Jeff Hill
58d4f27307 new functions that fetch on behalf host name and user name 2004-03-24 18:56:55 +00:00
Jeff Hill
ea35450f45 dont use strcpy, and supress memcpy if src and dest ptr are equivalen 2004-03-24 18:07:52 +00:00
W. Eric Norum
3bc6a48ade Install correct handler.
Avoid infinitely-recursive handler calls.
2004-03-24 17:57:56 +00:00
W. Eric Norum
a170d40be2 Read errors resulting from interrupted system calls are not fatal. 2004-03-24 01:45:23 +00:00
Andrew Johnson
7c34b847e0 Removed spectrumRecord. 2004-03-23 22:09:58 +00:00
Andrew Johnson
c07e6af98c Removed spectrumRecord and related libCom code. 2004-03-23 20:47:42 +00:00
Jeff Hill
7e0b996c72 added sections on behavior changes in R3.14.5 2004-03-22 23:22:22 +00:00
Jeff Hill
2369ade2fa clarified how one determines if a channel is connected 2004-03-22 23:12:17 +00:00
Janet B. Anderson
7c99669444 Removed dos2unix conversion. 2004-03-22 20:31:20 +00:00
Jeff Hill
16e182a89c new subscription member func preventing subscription from being installed twice 2004-03-22 18:38:29 +00:00
Jeff Hill
ebfded8107 new flag preventing subscription from being installed twice 2004-03-22 18:36:59 +00:00
Jeff Hill
d7df37414c workaround for problems occurring when a channel or subscription is deleted in a put callback handler 2004-03-22 18:36:25 +00:00
Jeff Hill
48d48343ae workaround for problems occurring when a channel or subscription is deleted in a get callback handler 2004-03-22 18:35:54 +00:00
Jeff Hill
c49db18285 removed status check from ca_pend_event 2004-03-22 18:33:09 +00:00
Jeff Hill
41f7f4ef81 new regression tests 2004-03-19 21:59:55 +00:00
W. Eric Norum
8ea67657bc Provide more information in error message. 2004-03-18 22:44:15 +00:00
Janet B. Anderson
bbd1080208 Added if test for COMPAT* macros. 2004-03-05 15:38:48 +00:00
Janet B. Anderson
3fc3300e54 Changed $(TOP)/bin to $(INSTALL_BIN) 2004-03-03 22:22:40 +00:00
Janet B. Anderson
11da58cc5b Added dos2unix rules for win32. 2004-03-03 14:39:11 +00:00
Janet B. Anderson
2cdbee7d32 Removde temporary definition to get things to at least compile. 2004-02-27 18:39:32 +00:00
Janet B. Anderson
9a48a5c906 Added INSTALL_IDLFILE definition and include for CONFIG.<host>.<target>. 2004-02-26 22:03:40 +00:00
Janet B. Anderson
e46c04d514 Added includes for RULES_IDL and RULES_PYTHON. 2004-02-26 22:01:57 +00:00
Janet B. Anderson
d192351f77 Initial version. 2004-02-26 22:01:04 +00:00
Janet B. Anderson
454bd2b0a5 Added various product definitions. 2004-02-26 21:59:33 +00:00
Janet B. Anderson
5b1d6ac38f Modified X11 and Motif directories. 2004-02-26 21:58:56 +00:00
Janet B. Anderson
0d071c9f0c Added binmode on output file and some comments. 2004-02-19 22:39:12 +00:00
W. Eric Norum
bfd0826f03 A NULL or empty name is an error. 2004-02-19 01:17:39 +00:00
W. Eric Norum
72db656797 Don't dereference NULL pointer argument. 2004-02-19 01:15:08 +00:00
W. Eric Norum
0e3f04824e Don't pass NULL pointer to iocsh. 2004-02-19 01:09:44 +00:00
Jeff Hill
509ff37ec4 better fix for win32 dll export warnings (considering how epixExport.h works) 2004-02-18 22:34:15 +00:00
Jeff Hill
4a1612e133 fixed win32 dll export warnings 2004-02-18 22:24:42 +00:00
Jeff Hill
e80aa34d00 added comment about lifespan of dbr pointer 2004-02-17 16:01:47 +00:00
Marty Kraimer
4d3fcd56bf epicsExport now generates p_var_typ_obj 2004-02-17 14:43:04 +00:00
Marty Kraimer
16832b9f07 replace p by pcar_<type>_ 2004-02-17 13:32:57 +00:00
Marty Kraimer
323e378fc5 check for access security not started 2004-02-17 13:23:28 +00:00
Marty Kraimer
82f5d588db replace p by pcar_<type>_ 2004-02-17 13:21:39 +00:00
Janet B. Anderson
08e0d5a5bc Changed LIBSRCS to LIB_SRCS. 2004-02-13 21:44:44 +00:00
Marty Kraimer
6bf437cf28 remove vardefs; use variable definition instead 2004-02-13 18:55:32 +00:00
Marty Kraimer
2ef8d4b21a add asCaDebug variable 2004-02-13 18:54:14 +00:00
Marty Kraimer
f32d647482 changes to make things build 2004-02-13 18:51:42 +00:00
Marty Kraimer
5f712bde67 for asCaDebug change & to p 2004-02-12 16:31:29 +00:00
Marty Kraimer
6f58f32c96 for variable type is void * const 2004-02-12 14:40:54 +00:00
Janet B. Anderson
9e9d2c91f6 Removed old solaris 6 specific compiler options. 2004-02-11 17:20:40 +00:00
Jeff Hill
318a0b6d1d Installed spectrum record 2004-02-11 00:45:49 +00:00
Janet B. Anderson
b66388ea9d Changed OP_SYS_LDFLAGS to +=. 2004-02-10 22:04:38 +00:00
Janet B. Anderson
2bfe077968 Moved -mt option to COMPILER_CPPFLAGS. 2004-02-10 22:03:24 +00:00
Janet B. Anderson
6cda511ed8 Changes for -mt flag and READLINE library defininitions. 2004-02-10 22:02:40 +00:00
Janet B. Anderson
79b47c4f54 More changes for -mt flag. 2004-02-10 22:00:55 +00:00
Jeff Hill
d6c0e9dcc5 installed spectrum record 2004-02-10 21:46:53 +00:00
Jeff Hill
13a779ca81 installed fft routines 2004-02-10 21:43:57 +00:00
Jeff Hill
7517890d03 installed 2004-02-10 21:43:17 +00:00
Marty Kraimer
8d043dfe6e gret rid of dead code 2004-02-10 21:09:02 +00:00
Janet B. Anderson
c282a107eb Added COMPAT_TOOLS_313 to if test. 2004-02-10 16:02:19 +00:00
Janet B. Anderson
113878e491 Added -mt option to link lines. 2004-02-10 16:01:45 +00:00
Janet B. Anderson
c02246e7cc Added -mt option to compile and link lines. 2004-02-10 16:01:17 +00:00
Marty Kraimer
74af851746 access security changes 2004-02-10 15:04:12 +00:00
Marty Kraimer
bc81744d8f add ascar 2004-02-10 14:52:46 +00:00
Marty Kraimer
29335e7672 add copyright notice 2004-02-10 14:52:39 +00:00
Marty Kraimer
7282989961 add copyright notice 2004-02-10 14:35:19 +00:00
Janet B. Anderson
c4e42b4bdc Added -mt option to compile line and link line. 2004-02-09 21:53:36 +00:00
Janet B. Anderson
4410805493 Added -mt to compile line and link line of solaris compiler builds. 2004-02-09 21:52:07 +00:00
Andrew Johnson
b607b062ba Added documentation check. 2004-02-09 21:30:36 +00:00
Andrew Johnson
13eb94b6be This problem was fixed in R3.14.5. 2004-02-09 21:30:12 +00:00
Jeff Hill
8799d3c6ba fixed template arg does not default with sunpro 2004-02-09 21:28:07 +00:00
Andrew Johnson
d6b34a9732 Oops, undo (wrong tree). 2004-02-09 20:38:21 +00:00
Andrew Johnson
08cb4a265a changes so that it builds on solaris. 2004-02-09 20:36:19 +00:00
Jeff Hill
f8829aed21 fix compiler warnings 2004-02-09 17:13:58 +00:00
Jeff Hill
4bf312df58 fix compiler warnings and clear out redundant code 2004-02-07 01:34:59 +00:00
Jeff Hill
2c68ac3a10 fixed sunpro warnings 2004-02-07 01:22:26 +00:00
Jeff Hill
1fa297d34f fixed sunpro warnings 2004-02-07 01:21:30 +00:00
Jeff Hill
452a040183 fixed sunpro warnings 2004-02-07 00:38:19 +00:00
Andrew Johnson
0b51e1f972 Remove tokenNAME, everything uses tokenSTRING instead. 2004-02-06 19:23:09 +00:00
Jeff Hill
410623730b fixed spelling 2004-02-06 16:28:27 +00:00
Jeff Hill
35f9e3dcbb fixed enobuf causes stuck send thread 2004-02-05 22:58:35 +00:00
Jeff Hill
0a93c81e2c fixed gnu warnings 2004-02-05 01:16:02 +00:00
Jeff Hill
a5fd9c839e updated to include late breaking bug 2004-02-04 22:57:47 +00:00
507 changed files with 12611 additions and 15333 deletions

View File

@@ -14,7 +14,9 @@
TOP = .
include $(TOP)/configure/CONFIG
ifeq ($(findstring YES,$(COMPAT_313) $(COMPAT_TOOLS_313)),YES)
DIRS += config config/tools
endif
DIRS += configure src
include $(TOP)/configure/RULES_TOP

View File

@@ -1,65 +0,0 @@
#*************************************************************************
# Copyright (c) 2002 The University of Chicago, as Operator of Argonne
# National Laboratory.
# Copyright (c) 2002 The Regents of the University of California, as
# Operator of Los Alamos National Laboratory.
# EPICS BASE Versions 3.13.7
# and higher are distributed subject to a Software License Agreement found
# in file LICENSE that is included with this distribution.
#*************************************************************************
# CONFIG.Host.LynxOS
#
# This file is maintained by the EPICS community.
# Sites may override these definitions in CONFIG_SITE.Host.LynxOS
ARCH_CLASS = LynxOS
# Include definitions common to all Unix archs
include $(EPICS_BASE)/config/CONFIG.Host.UnixCommon
AR = ar -rc
ARCMD = $(AR) $@
RANLIB = ranlib -t
# Configure OS vendor C compiler
ACC_ANSI = $(ACC) -ansi
ACC_STRICT = $(ACC) -ansi -pedantic
ACC_TRAD = $(ACC)
ACC_WARN_YES = -Wall
ACC_WARN_NO = -w
ACC_OPT_YES = -O
ACC_OPT_NO = -g
ACC_SFLAGS_YES = -Bstatic
ACC_SFLAGS_NO=
ACC_SLIBS_YES =
ACC_SLIBS_NO=
ACC_SHRLIB_CFLAGS_YES =
ACC_SHRLIB_LDFLAGS_YES =
# Configure OS vendor C++ compiler
CCC_NORMAL = $(CCC)
CCC_STRICT = $(CCC)
CCC_TEMPL_INST_FLAG = -pedantic -DEXPL_TEMP
CCC_WARN_YES = -Wall
CCC_WARN_NO = -w
CCC_OPT_YES = -O
CCC_OPT_NO = -g
CCC_SFLAGS_YES = -Bstatic
CCC_SFLAGS_NO=
CCC_SLIBS_YES =
CCC_SLIBS_NO=
CCC_DEPENDS_FLAG = -pedantic
# added smh 6/5/98 : when building fdmgr - seems to use this not ACC
# in effect this overides orig def in CONFIG_COMMON :
# which is GCC_STRICT = $(GCC) -ansi -pedantic
GCC_STRICT = $(GCC)
G++_STRICT = $(G++) -Wtraditional -DEXPL_TEMP
ARCH_DEP_CFLAGS = -DLynxOS -mposix -D_X86_ -DLYNXOS_RELEASE_2_4_0
ARCH_DEP_LDLIBS = -lc -lbsd -lnsl -lm -lposix4d9 -llynx

View File

@@ -67,7 +67,9 @@ CCC_SHRLIB_LDFLAGS_YES = -G -h $@
SOLARIS_VERSION = $(subst 5.,,$(shell uname -r))
ARCH_DEP_CPPFLAGS += -DSOLARIS=$(SOLARIS_VERSION)
POSIX_CPPFLAGS_YES += -D__EXTENSIONS__
POSIX_CPPFLAGS_YES += -D__EXTENSIONS__ -mt
ARCH_DEP_LDFLAGS += -mt
# socket and nsl needed by libca.a
ARCH_DEP_LDLIBS += -lsocket -lnsl

View File

@@ -37,6 +37,8 @@ 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

View File

@@ -1,142 +0,0 @@
#*************************************************************************
# Copyright (c) 2002 The University of Chicago, as Operator of Argonne
# National Laboratory.
# Copyright (c) 2002 The Regents of the University of California, as
# Operator of Los Alamos National Laboratory.
# EPICS BASE Versions 3.13.7
# and higher are distributed subject to a Software License Agreement found
# in file LICENSE that is included with this distribution.
#*************************************************************************
# $Id$
#
# This file contains definitions for Vx builds
#--------------------------------------------------
# operating system class (include/os/<os_class>)
OS_CLASS = LynxOS
lynx_pc486 =YES
CC = gcc
CXX = g++
#--------------------------------------------------
# vxWorks directory definitions
# The definitions VX_DIR, VX_GNU, GNU_DIR and GNU_LIB
# can be overridden for specific host architectures
# by creating a CONFIG_SITE.Vx.<host_arch> file with
# the override definitions.
# Tornado directory definitions
VX_INCLUDE_YES =
VX_GNU_YES =
VX_GNU_BIN_YES =
VX_GNU_LIB_YES =
# pre Torando directory definitions
VX_INCLUDE_NO =
VX_GNU_NO =
VX_GNU_BIN_NO =
# directory definitions
VX_DIR =
VX_INCLUDE =
VX_GNU =
GNU_BIN = /usr/local/bin
GNU_LIB = /usr/local/lib
#--------------------------------------------------
# VxWorks command definitions
#GCC = $(GNU_BIN)/cc$(CMPLR_SUFFIX) -B$(GNU_LIB)/gcc-lib/ -nostdinc
#AR = $(GNU_BIN)/ar$(CMPLR_SUFFIX)
#CPP = $(GNU_BIN)/cpp$(CMPLR_SUFFIX) -nostdinc
#RANLIB = $(GNU_BIN)/ranlib$(CMPLR_SUFFIX)
#LD = $(GNU_BIN)/ld$(CMPLR_SUFFIX) -r
AR = ar -rc
ARCMD = $(AR) $@
RANLIB = ranlib -t
GCC = gcc
CPP = cpp
LD = ld -r
#--------------------------------------------------
# Tornado C++ crosscompiler definitions
#CPLUSPLUS_YES = G++
#G++ = $(GNU_BIN)/cc$(CMPLR_SUFFIX) -B$(GNU_LIB)/gcc-lib/ -nostdinc
#LD_G++ = $(GNU_BIN)/ld$(CMPLR_SUFFIX) -r
#NM = $(GNU_BIN)/nm$(CMPLR_SUFFIX)
#MUNCH = $(GNU_BIN)/munch
CPLUSPLUS_YES = g++ -DLynxOS -DLynxOS_pc486 -mposix -D_X86_ -DEXPL_TEMP
G++ = g++ -DLynxOS -DLynxOS_pc486 -mposix -D_X86_ -DEXPL_TEMP
LD_G++ = ld -r
NM = nm
#--------------------------------------------------
# Pre Tornado C++ crosscompiler definitions
# These are pre tornado definitions for Hideos builds (defined for 68k only)
#CPLUSPLUS_NO = CCC
#CCC = $(GNU_DIR)/bin/sun3-g++ -B$(GNU_DIR)/lib/gcc-lib/ -nostdinc -DEXPL_TEMPL
#LD_CCC = $(GNU_DIR)/bin/sun3-ld $(OLD_ARCH_DEP_LDFLAGS) -r
CPLUSPLUS_NO = g++ -DLynxOS -DLynxOS_pc486 -mposix -D_X86_ -DEXPL_TEMP
CCC = g++ -DLynxOS -DLynxOS_pc486 -mposix -D_X86_ -DEXPL_TEMP
LD_CCC = ld -r
CCC_NORMAL = $(CCC) $(OLD_ARCH_DEP_CFLAGS)
CCC_STRICT = $(CCC) -ansi -pedantic -Wall -traditional $(OLD_ARCH_DEP_CFLAGS)
CCC_TRAD = $(CCC) -traditional $(OLD_ARCH_DEP_CFLAGS)
CCC_TEMPL_INST_FLAG = -DEXPL_TEMP
CCC_WARN_YES = -Wall
CCC_WARN_NO = -w
CCC_OPT_YES = -O
CCC_OPT_NO = -g
CCC_DEPENDS_FLAG = -pedantic -DLynxOS -DLynxOS_pc486 -mposix -D_X86_
CPU = i486
OS = lynxos
OLD_ARCH_DEP_CFLAGS = -DLynxOS -DLynxOS_pc486 -mposix -D_X86_
# --no-builtin -Wa,"-m68040" -DOS_EQ_$(OS) \
# -DBOARD_EQ_$(BOARD) -DCPU_EQ_$(CPU) -DBOARD=$(BOARD)
OLD_ARCH_DEP_LDFLAGS = -mposix -lc -lbsd -lnsl -lm -lposix4d9 -llynx
# -Ur -N -T$(EPICS_BASE_BIN)/vxldscript.MRI
#--------------------------------------------------
# C compiler definitions
ANSI = gcc -ansi
#--------------------------------------------------
# Command definitions
CPLUSPLUS = g++
# $(CPLUSPLUS_$(TORNADO))
LD_CXX = ld -r
# $(LD_$(CPLUSPLUS))
#--------------------------------------------------
# Operating system flags
OP_SYS_INCLUDES =
# -I$(VX_INCLUDE)
OP_SYS_CFLAGS = -DLynxOS -DLynxOS_pc486 -mposix -D_X86_
# -DvxWorks -DV5_vxWorks -fno-builtin
OP_SYS_LDFLAGS = -DLynxOS -DLynxOS_pc486 -mposix -D_X86_
OP_SYS_LDLIBS = -lc -lbsd -lnsl -lm -lposix4d9 -llynx
#--------------------------------------------------
# Optimization flag overrides
GCC_OPT_YES = -O
# 2 -fstrength-reduce
G++_OPT_YES = -O
# 2 -fstrength-reduce
#--------------------------------------------------
# Link definitions
LINK.c = $(LD) $(LDFLAGS) -o
LINK.cc = $(LD_CXX) $(LDFLAGS) -o

View File

@@ -20,7 +20,7 @@ OS_CLASS = vxWorks
# The definitions VX_DIR, VX_GNU, GNU_DIR and GNU_LIB
# can be overridden for specific host architectures
# by creating a CONFIG_SITE.Vx.<host_archfile with
# by creating a CONFIG_SITE.Vx.<host_arch> file with
# the override definitions.
# Tornado directory definitions
@@ -41,7 +41,6 @@ VX_GNU = $(VX_GNU_$(TORNADO))
GNU_BIN = $(VX_GNU_BIN_$(TORNADO))
GNU_LIB = $(VX_GNU_LIB_$(TORNADO))
export GCC_EXEC_PREFIX = $(GNU_LIB)/gcc-lib/
export WIND_BASE = $(VX_DIR)
#--------------------------------------------------
# VxWorks command definitions
@@ -148,4 +147,3 @@ MUNCHNAME = $(LIBNAME:%=%$(MUNCH_SUFFIX))
export WIND_BASE = $(VX_DIR)
export WIND_HOST_TYPE

View File

@@ -18,7 +18,7 @@
EPICS_VERSION=3
EPICS_REVISION=14
EPICS_MODIFICATION=5
EPICS_MODIFICATION=7
EPICS_UPDATE_NAME=
EPICS_UPDATE_LEVEL=0

View File

@@ -42,6 +42,7 @@ INSTALL_CONFIG = $(INSTALL_LOCATION)/config
INSTALL_JAVA = $(INSTALL_LOCATION)/javalib
EPICS_BASE_INCLUDE = $(EPICS_BASE)/include
EPICS_BASE_TOOLS = $(EPICS_BASE)/config/tools
DIVIDER = .
OBJ = .
@@ -63,7 +64,7 @@ LEX = $(ELEX)
PERL=perl
# install from EPICS
INSTALL = $(PERL) $(EPICS_BASE_HOST_BIN)/installEpics.pl
INSTALL = $(PERL) $(EPICS_BASE_TOOLS)/installEpics.pl
INSTALL_PRODUCT = $(INSTALL)
INSTALL_LIBRARY = $(INSTALL)

View File

@@ -15,6 +15,7 @@
#Syntax:
# ARCH_<host_arch> = <epics_host_arch>
ARCH_solarisGnu = solaris-sparc-gnu
ARCH_solarisNonshared = solaris-sparc-nonshared
#ARCH_solaris = solaris-sparc-static
#ARCH_solaris = solaris-sparc-debug
ARCH_solaris = solaris-sparc
@@ -24,7 +25,7 @@ ARCH_WIN32 = win32-x86
ARCH_hp700 = hpux-m68k
ARCH_alpha = osf-alpha
ARCH_Borland = win32-x86-borland
ARCH_cygwin32 = win32-x86-cygwin
ARCH_cygwin32 = cygwin-x86
ifndef EPICS_HOST_ARCH
ifdef HOST_ARCH
@@ -46,4 +47,3 @@ HOST_ARCH := $(EPICS_HOST_ARCH)
# and change ARCH_solaris=solaris-<arch> to ARCH_solaris=solaris-<arch>-gnu
# in base/config/CONFIG_COMPAT.

View File

@@ -13,12 +13,12 @@
EXE=.exe
HOSTEXE=.exe
CP =$(PERL) $(EPICS_BASE_HOST_BIN)/cp.pl
MV =$(PERL) $(EPICS_BASE_HOST_BIN)/mv.pl
RM =$(PERL) $(EPICS_BASE_HOST_BIN)/rm.pl -f
MKDIR=$(PERL) $(EPICS_BASE_HOST_BIN)/mkdir.pl
RMDIR=$(PERL) $(EPICS_BASE_HOST_BIN)/rm.pl -rf
FN =$(PERL) $(EPICS_BASE_HOST_BIN)/fullName.pl
CP =$(PERL) $(EPICS_BASE_TOOLS)/cp.pl
MV =$(PERL) $(EPICS_BASE_TOOLS)/mv.pl
RM =$(PERL) $(EPICS_BASE_TOOLS)/rm.pl -f
MKDIR=$(PERL) $(EPICS_BASE_TOOLS)/mkdir.pl
RMDIR=$(PERL) $(EPICS_BASE_TOOLS)/rm.pl -rf
FN =$(PERL) $(EPICS_BASE_TOOLS)/fullName.pl
CHMOD=echo
ECHO=echo

View File

@@ -1,18 +0,0 @@
#*************************************************************************
# Copyright (c) 2002 The University of Chicago, as Operator of Argonne
# National Laboratory.
# Copyright (c) 2002 The Regents of the University of California, as
# Operator of Los Alamos National Laboratory.
# EPICS BASE Versions 3.13.7
# and higher are distributed subject to a Software License Agreement found
# in file LICENSE that is included with this distribution.
#*************************************************************************
# CONFIG_HOST_ARCH.LynxOS
#
# Override values in CONFIG.LynxOS
# Include definitions common to all Unix archs
include $(EPICS_BASE)/config/CONFIG_HOST_ARCH.UnixCommon
WIND_HOST_TYPE = LynxOS

View File

@@ -13,11 +13,11 @@
EXE=.exe
HOSTEXE=.exe
CP =$(PERL) $(EPICS_BASE_HOST_BIN)/cp.pl
MV =$(PERL) $(EPICS_BASE_HOST_BIN)/mv.pl
RM =$(PERL) $(EPICS_BASE_HOST_BIN)/rm.pl -f
MKDIR=$(PERL) $(EPICS_BASE_HOST_BIN)/mkdir.pl
RMDIR=$(PERL) $(EPICS_BASE_HOST_BIN)/rm.pl -rf
CP =$(PERL) $(EPICS_BASE_TOOLS)/cp.pl
MV =$(PERL) $(EPICS_BASE_TOOLS)/mv.pl
RM =$(PERL) $(EPICS_BASE_TOOLS)/rm.pl -f
MKDIR=$(PERL) $(EPICS_BASE_TOOLS)/mkdir.pl
RMDIR=$(PERL) $(EPICS_BASE_TOOLS)/rm.pl -rf
CHMOD=echo
ECHO=echo

View File

@@ -1,15 +0,0 @@
#
# $Id$
#
# Site Specific Configuration Information
# Only the local epics system manager should modify this file
# APS overrides of definitions
GCC = gcc
G++ = g++
CC = gcc
CCC = g++
ACC = gcc
PLUSPLUS = g++
CXX = g++

View File

@@ -15,7 +15,7 @@ TOP=..
include $(TOP)/configure/CONFIG
ifeq ($(strip $(COMPAT_313)),YES)
ifeq ($(findstring YES,$(COMPAT_313) $(COMPAT_TOOLS_313)),YES)
INSTALL_CONFIG = $(INSTALL_LOCATION)/config
CONFIGS += $(subst ../,,$(wildcard ../CONFIG*))

View File

@@ -149,7 +149,7 @@ $(TARGETS) $(PROD): $(DEPLIBS)
$(SNC) $(TARGET_SNCFLAGS) $(SNCFLAGS) $*.i
%.c: ../%.stt
@echo "converting $<
@echo "converting $<"
@$(RM) $@
$(SNC) $(TARGET_SNCFLAGS) $(SNCFLAGS) $<

View File

@@ -129,7 +129,7 @@ endif
%.out : %.o
@ $(RM) ctct.o ctdt.c nm.out
$(NM) $< > nm.out
$(PERL) $(EPICS_BASE)/bin/$(HOST_ARCH)/munch.pl < nm.out > ctdt.c
$(PERL) $(EPICS_BASE_TOOLS)/munch.pl < nm.out > ctdt.c
$(COMPILE.c) -traditional ctdt.c
$(LINK.cc) $@ $< ctdt.o
@@ -137,7 +137,7 @@ endif
$(MUNCHNAME):%.munch : %
@ $(RM) ctct.o ctdt.c nm.out
$(NM) $< > nm.out
$(PERL) $(EPICS_BASE)/bin/$(HOST_ARCH)/munch.pl < nm.out > ctdt.c
$(PERL) $(EPICS_BASE_TOOLS)/munch.pl < nm.out > ctdt.c
$(COMPILE.c) -traditional ctdt.c
$(LINK.cc) $@ $(LDFLAGS) $< ctdt.o

View File

@@ -60,11 +60,11 @@ $(crossActionArchTargets) :
$(crossArchs) :
endif
$(hostDirs) :
$(PERL) $(EPICS_BASE_HOST_BIN)/makeMakefile.pl $@ Host
$(hostDirs) : $(EPICS_BASE_TOOLS)/makeMakefile.pl
$(PERL) $(EPICS_BASE_TOOLS)/makeMakefile.pl $@ Host
$(crossDirs) :
$(PERL) $(EPICS_BASE_HOST_BIN)/makeMakefile.pl $@ Vx
$(crossDirs) : $(EPICS_BASE_TOOLS)/makeMakefile.pl
$(PERL) $(EPICS_BASE_TOOLS)/makeMakefile.pl $@ Vx
#
# host/cross action targets

View File

@@ -23,8 +23,10 @@ CONFIG ?= $(TOP)/configure
-include $(CONFIG)/RELEASE
-include $(CONFIG)/RELEASE.$(EPICS_HOST_ARCH)
ifdef T_A
-include $(CONFIG)/RELEASE.Common.$(T_A)
-include $(CONFIG)/RELEASE.$(EPICS_HOST_ARCH).$(T_A)
endif
include $(CONFIG)/CONFIG_COMMON
@@ -68,21 +70,11 @@ endif
# User specific definitions
#
-include $(HOME)/configure/CONFIG
-include $(HOME)/os/configure/CONFIG.Host.$(HOST_ARCH)
-include $(HOME)/os/configure/CONFIG.Host.$(EPICS_HOST_ARCH)
-include $(HOME)/os/configure/CONFIG.$(HOST_ARCH).Common
-include $(HOME)/os/configure/CONFIG.$(EPICS_HOST_ARCH).Common
-include $(HOME)/configure/CONFIG_USER
-include $(HOME)/configure/CONFIG_USER.$(EPICS_HOST_ARCH)
ifdef T_A
-include $(HOME)/configure/CONFIG.$(OS_CLASS)
-include $(HOME)/configure/CONFIG.Target.$(T_A)
-include $(HOME)/configure/CONFIG.Common.$(T_A)
-include $(HOME)/configure/CONFIG.$(HOST_ARCH).$(T_A)
-include $(HOME)/configure/CONFIG.$(EPICS_HOST_ARCH).$(T_A)
-include $(HOME)/configure/os/CONFIG.Target.$(T_A)
-include $(HOME)/configure/os/CONFIG.Common.$(T_A)
-include $(HOME)/configure/os/CONFIG.$(HOST_ARCH).$(T_A)
-include $(HOME)/configure/os/CONFIG.$(EPICS_HOST_ARCH).$(T_A)
-include $(HOME)/configure/CONFIG_USER.Common.$(T_A)
-include $(HOME)/configure/CONFIG_USER.$(EPICS_HOST_ARCH).$(T_A)
endif
# All options

View File

@@ -19,19 +19,20 @@ EPICS_BASE_HOST_BIN = $(EPICS_BASE)/bin/$(EPICS_HOST_ARCH)
EPICS_BASE_HOST_LIB = $(EPICS_BASE)/lib/$(EPICS_HOST_ARCH)
ifdef T_A
EPICS_BASE_LIB = $(EPICS_BASE)/lib/$(T_A)
EPICS_BASE_BIN = $(EPICS_BASE)/bin/$(T_A)
endif
#---------------------------------------------------------------
# Epics base Ioc libraries
EPICS_BASE_IOC_LIBS += recIoc softDevIoc testDevIoc iocsh
EPICS_BASE_IOC_LIBS += recIoc softDevIoc iocsh
EPICS_BASE_IOC_LIBS += miscIoc rsrvIoc dbtoolsIoc asIoc
EPICS_BASE_IOC_LIBS += dbIoc registryIoc dbStaticIoc ca Com
#---------------------------------------------------------------
# Epics base Host libraries
EPICS_BASE_HOST_LIBS += cas gdd iocsh asHost dbStaticHost
EPICS_BASE_HOST_LIBS += cas gdd iocsh asHost dbStaticHost registryIoc
EPICS_BASE_HOST_LIBS += ca Com
#---------------------------------------------------------------
@@ -48,23 +49,30 @@ endif # EPICS_BASE
BASE_CPPFLAGS =
# osithread default stack
OSITHREAD_USE_DEFAULT_STACK = YES
OSITHREAD_USE_DEFAULT_STACK = NO
OSITHREAD_DEFAULT_STACK_FLAGS_YES = -DOSITHREAD_USE_DEFAULT_STACK
OSITHREAD_DEFAULT_STACK_FLAGS_NO =
BASE_CPPFLAGS += $(OSITHREAD_DEFAULT_STACK_FLAGS_$(OSITHREAD_USE_DEFAULT_STACK))
#---------------------------------------------------------------
# Where to find the installed build tools
EPICS_BASE_TOOLS_BIN_HOST = $(EPICS_BASE_BIN)
EPICS_BASE_TOOLS_BIN_CROSS = $(EPICS_BASE_HOST_BIN)
EPICS_BASE_TOOLS_BIN = $(EPICS_BASE_TOOLS_BIN_$(BUILD_CLASS))
#---------------------------------------------------------------
# Epics base build tools and tool flags
MAKEBPT = $(call PATH_FILTER, $(EPICS_BASE_HOST_BIN)/makeBpt$(HOSTEXE))
DBEXPAND = $(call PATH_FILTER, $(EPICS_BASE_HOST_BIN)/dbExpand$(HOSTEXE))
DBTORECORDTYPEH = $(call PATH_FILTER, $(EPICS_BASE_HOST_BIN)/dbToRecordtypeH$(HOSTEXE))
DBTOMENUH = $(call PATH_FILTER, $(EPICS_BASE_HOST_BIN)/dbToMenuH$(HOSTEXE))
REGISTERRECORDDEVICEDRIVER = $(PERL) $(EPICS_BASE_HOST_BIN)/registerRecordDeviceDriver.pl
MAKEBPT = $(call PATH_FILTER, $(EPICS_BASE_TOOLS_BIN)/makeBpt$(HOSTEXE))
DBEXPAND = $(call PATH_FILTER, $(EPICS_BASE_TOOLS_BIN)/dbExpand$(HOSTEXE))
DBTORECORDTYPEH = $(call PATH_FILTER, $(EPICS_BASE_TOOLS_BIN)/dbToRecordtypeH$(HOSTEXE))
DBTOMENUH = $(call PATH_FILTER, $(EPICS_BASE_TOOLS_BIN)/dbToMenuH$(HOSTEXE))
REGISTERRECORDDEVICEDRIVER = $(PERL) $(EPICS_BASE_TOOLS_BIN)/registerRecordDeviceDriver.pl
# private versions of lex/yacc from EPICS
EYACC = $(call PATH_FILTER, $(EPICS_BASE_HOST_BIN)/antelope$(HOSTEXE))
ELEX = $(call PATH_FILTER, $(EPICS_BASE_HOST_BIN)/e_flex$(HOSTEXE)) -S$(EPICS_BASE)/include/flex.skel.static
EYACC = $(call PATH_FILTER, $(EPICS_BASE_TOOLS_BIN)/antelope$(HOSTEXE))
ELEX = $(call PATH_FILTER, $(EPICS_BASE_TOOLS_BIN)/e_flex$(HOSTEXE)) -S$(EPICS_BASE)/include/flex.skel.static
YACC = $(EYACC)
LEX = $(ELEX)

View File

@@ -18,7 +18,7 @@
EPICS_VERSION=3
EPICS_REVISION=14
EPICS_MODIFICATION=5
EPICS_MODIFICATION=7
EPICS_UPDATE_NAME=
EPICS_UPDATE_LEVEL=0

View File

@@ -73,6 +73,9 @@ INSTALL_SHRLIB = $(INSTALL_LOCATION_LIB)/$(T_A)
INSTALL_TCLLIB = $(INSTALL_LOCATION_LIB)/$(T_A)
INSTALL_BIN = $(INSTALL_LOCATION_BIN)/$(T_A)
#Directories for libraries
SHRLIB_SEARCH_DIRS = $(INSTALL_LIB)
#-------------------------------------------------------
# Ext, app, and module configure dir targets
CONFIG_TARGETS += CONFIG_APP_INCLUDE RULES_INCLUDE
@@ -281,8 +284,8 @@ ARFLAGS =
ARCMD = $(AR) $(ARFLAGS) $(USR_ARFLAGS) $@ $(LIBRARY_LD_OBJS)
#--------------------------------------------------
# ld default
LDCMD = $(LD) -o $@ $^
# 'Munch' link-edit
MUNCH_CMD = $(LD) -o $@ $^
#--------------------------------------------------
# Build compile line here

View File

@@ -15,16 +15,14 @@
#
# CONFIG_ENV - EPICS Environment Parameter configuration file
#
# This file is interpreted by the Bourne Shell, so spaces are
# not allowed around the '=' signs or in unquoted values.
# Makefile variables are not defined here.
# This file is read by the script base/src/libCom/env/bldEnvdata.pl
# Variable definitions must take the form
# VAR = VALUE
# or
# VAR = "Value containing spaces"
# with each one on its own line.
# Enclosing spaces and "" will be trimmed.
#
# Note: This file is read by base/src/libCom/env/bldEnvdata.pl,
# so the variable definitions in here should be kept 'simple':
# VAR=VALUE
# each one on a single line.
#
# Default environment settings
@@ -38,6 +36,7 @@ EPICS_CA_REPEATER_PORT=5065
EPICS_CA_SERVER_PORT=5064
EPICS_CA_MAX_ARRAY_BYTES=16384
EPICS_CA_BEACON_PERIOD=15.0
EPICS_CA_MAX_SEARCH_PERIOD=300.0
EPICS_CAS_BEACON_PERIOD=
EPICS_CAS_BEACON_PORT=
EPICS_CAS_AUTO_BEACON_ADDR_LIST=""

View File

@@ -23,20 +23,20 @@
# <operating system>-<architecture>[-<alternate compiler>]
#
# Currently Supporting:
# aix-ppc (HP compiler used for host builds)
# aix-ppc-gnu (GNU compiler used for host builds)
# cygwin-x86 (cygwin compiler used for host builds)
# darwin-ppc
# hpux-parisc (HP compiler used for host builds)
# hpux-parisc-gnu (GNU compiler used for host builds)
# osf-alpha
# linux-x86 (GNU compiler used for host builds)
# linux-x86-borland (Borland C++ compiler used for host builds)
# solaris-sparc (sun compiler used for host builds)
# solaris-sparc-gnu (GNU compiler used for host builds)
# solaris-x86 (sun compiler used for host builds)
# solaris-x86-gnu (GNU compiler used for host builds)
# sun4-x86 (sun compiler used for host builds)
# linux-x86 (GNU compiler used for host builds)
# win32-x86 (MS Visual C++ compiler used for host builds)
# win32-x86-borland (Borland C++ compiler used for host builds)
# lynxos-x86
# darwin-ppc
# linux-mpc82xx
# Debugging builds
# linux-x86-debug (GNU compiler with -g option for host builds)
@@ -52,6 +52,11 @@
# The cross-compiler architectures to build EPICS for
#
# Currently Supporting:
# linux-386 (linux-x86 host)
# linux-486 (linux-x86 host)
# linux-586 (linux-x86 host)
# linux-686 (linux-x86 host)
# linux-athlon (linux-x86 host)
# vxWorks-486
# vxWorks-68040
# vxWorks-68040lc
@@ -67,6 +72,9 @@
# RTEMS-mcp750
# RTEMS-psim
#
# Debugging builds
# vxWorks-68040-debug
# Definitions of CROSS_COMPILER_TARGET_ARCHS in
# configure/os/CONFIG_SITE.<host>.Common files will
# override

View File

@@ -15,34 +15,42 @@
#
# CONFIG_SITE_ENV - EPICS Environment Parameter Site configuration file
#
# This file is interpreted by the Bourne Shell, so spaces are
# not allowed around the '=' signs or in unquoted values.
# Makefile variables are not defined here.
#
# Note: This file is read by base/src/libCom/env/bldEnvdata.pl,
# so the variable definitions in here should be kept 'simple':
# VAR=VALUE
# each one on a single line.
# This file is read by the script base/src/libCom/env/bldEnvdata.pl
# Variable definitions must take the form
# VAR = VALUE
# or
# VAR = "Value containing spaces"
# with each one on its own line.
# Enclosing spaces and "" will be trimmed.
#
# Site-specific environment settings
# Time service:
# EPICS_TIMEZONE needed for vxWorks
# EPICS_TIMEZONE=<name>::<minutesWest>:<start daylight>:<end daylight>
#NOTE: start and end are mmddhh that bis mounth,day,hour
# eg EPICS_TIMEZONE=CUS::360:033102:102802
# EPICS_TIMEZONE
# local timezone info for vxWorks IOCs. The format required is
# <name>::<minutesWest>:<start daylight>:<end daylight>
# where the start and end are mmddhh - that is month,day,hour
# eg EPICS_TIMEZONE=CUS::360:033102:102802
#
# DST for 2004 US: Apr 4 - Oct 31
# EU: Mar 28 - Oct 31
# (see: http://www.worldtimezone.org/daylight.html)
# DST for 2004 US: Apr 4 - Oct 31
# EU: Mar 28 - Oct 31
# (see: http://www.worldtimezone.org/daylight.html)
#
# EPICS_TS_NTP_INET ntp or Unix time server ip addr.
# EPICS_TS_NTP_INET
# NTP or Unix time server ip address. Uses boot host if not set.
EPICS_TIMEZONE=CUS::360:040402:103102
#EPICS_TIMEZONE=MET::-60:032802:103102
EPICS_TS_NTP_INET=
# IOC Shell:
# IOCSH_PS1
# Prompt string
# IOCSH_HISTSIZE
# Number of lines of command history to keep.
IOCSH_PS1="epics> "
IOCSH_HISTSIZE=50
# Log Server:
# EPICS_IOC_LOG_INET
@@ -52,7 +60,7 @@ EPICS_TS_NTP_INET=
# EPICS_IOC_LOG_FILE_LIMIT
# maximum log file size.
# EPICS_IOC_LOG_FILE_COMMAND
# A shell command string used to obtain a new
# A shell command string used to obtain a new
# path name in response to SIGHUP - the new path name will
# replace any path name supplied in EPICS_IOC_LOG_FILE_NAME

View File

@@ -11,9 +11,9 @@
##################################################### vpath
vpath %.dbd $(USR_VPATH) $(GENERIC_SRC_DIRS) $(dir $(DBD)) $(COMMON_DIR)
vpath %.db $(USR_VPATH) $(GENERIC_SRC_DIRS) $(dir $(DB)) $(COMMON_DIR)
vpath %.vdb $(USR_VPATH) $(GENERIC_SRC_DIRS) $(dir $(DB)) $(COMMON_DIR)
vpath %.dbd $(USR_VPATH) $(GENERIC_SRC_DIRS) $(dir $(DBD))
vpath %.db $(USR_VPATH) $(GENERIC_SRC_DIRS) $(dir $(DB))
vpath %.vdb $(USR_VPATH) $(GENERIC_SRC_DIRS) $(dir $(DB))
vpath %.substitutions $(USR_VPATH) $(GENERIC_SRC_DIRS) $(COMMON_DIR)
vpath %.template $(USR_VPATH) $(GENERIC_SRC_DIRS) $(COMMON_DIR)
vpath bpt%.data $(USR_VPATH) $(GENERIC_SRC_DIRS) $(COMMON_DIR)
@@ -23,6 +23,7 @@ vpath bpt%.data $(USR_VPATH) $(GENERIC_SRC_DIRS) $(COMMON_DIR)
# dbExpand
INSTALL_DBDFLAGS += -I $(INSTALL_LOCATION)/dbd
DBDFLAGS = $(USR_DBDFLAGS) -I . -I .. $(INSTALL_DBDFLAGS) $(RELEASE_DBDFLAGS)
DBFLAGS = $($*_DBFLAGS) $(USR_DBFLAGS) -I. $(GENERIC_SRC_INCLUDES)
##################################################### Targets
@@ -59,7 +60,7 @@ TEMPLATE2=$(patsubst %0,%,$(patsubst %1,%,$(patsubst %2,%,$(patsubst %3,%,$(pats
$(patsubst %5,%,$(patsubst %6,%,$(patsubst %7,%,$(patsubst %8,%,$(patsubst %9,%, \
$(TEMPLATE1)))))))))))
TEMPLATE3=$(addsuffix .template,$(addprefix ../,$(TEMPLATE2)))
TEMPLATE_FILENAME=$(firstword $(wildcard $(addprefix ../,$($*_TEMPLATE)) ../$*.template $(TEMPLATE3)) $(TEMPLATE3))
TEMPLATE_FILENAME=$(firstword $(wildcard $(addprefix ../,$($*_TEMPLATE)) ../$*.template $(TEMPLATE3) $(TEMPLATE3) ../template))
# dbst based database optimization
ifeq '$(DB_OPT)' 'YES'
@@ -112,11 +113,11 @@ $(DBDDEPENDS_FILES):
##################################################### build dependancies, clean rule
ifdef DBD_INSTALLS
ifneq (,$(strip $(DBD_INSTALLS)))
buildInstall : dbdInstalls
endif
ifdef DB_INSTALLS
ifneq (,$(strip $(DB_INSTALLS)))
buildInstall : dbInstalls
endif
@@ -192,10 +193,18 @@ $(INSTALL_DB)/%.template: %.template
##################################################### INC files
$(COMMON_DIR)/%Record.h: $(COMMON_DIR)/%Record.dbd
@$(RM) $@
$(DBTORECORDTYPEH) $(DBDFLAGS) $< $@
$(COMMON_DIR)/%Record.h: %Record.dbd
@$(RM) $@
$(DBTORECORDTYPEH) $(DBDFLAGS) $< $@
$(COMMON_DIR)/menu%.h: $(COMMON_DIR)/menu%.dbd
@$(RM) $@
$(DBTOMENUH) $< $@
$(COMMON_DIR)/menu%.h: menu%.dbd
@$(RM) $@
$(DBTOMENUH) $< $@
@@ -206,6 +215,13 @@ $(COMMON_DIR)/bpt%.dbd: bpt%.data
@$(RM) $@
$(MAKEBPT) $< $@
$(COMMON_DIR)/%.dbd: $(COMMON_DIR)/%Include.dbd
@$(RM) $@$(DEP)
@$(DBDDEPENDS_CMD)
@echo "Expanding dbd"
@$(RM) $@
$(DBEXPAND) $(DBDFLAGS) -o $@ $<
$(COMMON_DIR)/%.dbd: %Include.dbd
@$(RM) $@$(DEP)
@$(DBDDEPENDS_CMD)
@@ -213,6 +229,14 @@ $(COMMON_DIR)/%.dbd: %Include.dbd
@$(RM) $@
$(DBEXPAND) $(DBDFLAGS) -o $@ $<
$(COMMON_DIR)/%Include.dbd:
@$(RM) $@
$(PERL) $(TOOLS)/makeIncludeDbd.pl $($*_DBD) $@
$(INSTALL_DBD)/%: $(COMMON_DIR)/%
@echo "Installing dbd file $@"
@$(INSTALL) -d -m 644 $< $(@D)
$(INSTALL_DBD)/%: %
@echo "Installing dbd file $@"
@$(INSTALL) -d -m 644 $< $(@D)
@@ -221,7 +245,7 @@ dbdInstalls: $(DBD_INSTALLS)
@echo "Installing $(^F)"
@$(INSTALL) -d -m 555 $^ $(INSTALL_DBD)
.PRECIOUS: $(COMMON_DBDS)
.PRECIOUS: $(COMMON_DBDS) $(COMMON_DIR)/%Include.dbd
##################################################### DB files
@@ -237,7 +261,15 @@ $(COMMON_DIR)/%.db$(RAW): %.substitutions
@echo "$@:$(TEMPLATE_FILENAME)" >> $@$(DEP)
@echo "Inflating database from $<"
@$(RM) $@
$(MSI) -S$< $(TEMPLATE_FILENAME) > msi.tmp
$(MSI) $(DBFLAGS) -S$< $(TEMPLATE_FILENAME) > msi.tmp
$(MV) msi.tmp $@
$(COMMON_DIR)/%.db$(RAW): %.template
@$(RM) $@$(DEP)
@$(DBDDEPENDS_CMD)
@echo "Inflating database from $<"
@$(RM) $@
$(MSI) $(DBFLAGS) $< > msi.tmp
$(MV) msi.tmp $@
# dbst based database optimization
@@ -252,10 +284,6 @@ $(COMMON_DIR)/%.db: $(COMMON_DIR)/%.db$(RAW)
@$(RM) $@
$(DBST) . $< -d > $@
$(INSTALL_DB)/%.db: $(COMMON_DIR)/%.db
@echo "Installing db file $@"
@$(INSTALL) -d -m 644 $< $(@D)
.PRECIOUS: $(COMMON_DIR)/%.db
.PRECIOUS: $(DB:%=$(COMMON_DIR)/%$(RAW))
else
@@ -265,6 +293,10 @@ $(INSTALL_DB)/%: %
@$(INSTALL) -d -m 644 $< $(@D)
endif
$(INSTALL_DB)/%.db: $(COMMON_DIR)/%.db
@echo "Installing db file $@"
@$(INSTALL) -d -m 644 $< $(@D)
dbInstalls: $(DB_INSTALLS)
@echo "Installing $(^F)"
@$(INSTALL) -d -m 555 $^ $(INSTALL_DB)
@@ -274,6 +306,11 @@ dbInstalls: $(DB_INSTALLS)
##################################################### register record,device,driver support
%_registerRecordDeviceDriver.cpp: $(COMMON_DIR)/%.dbd
@$(RM) $@ temp.cpp
$(REGISTERRECORDDEVICEDRIVER) $< $(basename $@) > temp.cpp
$(MV) temp.cpp $@
%_registerRecordDeviceDriver.cpp: %.dbd
@$(RM) $@ temp.cpp
$(REGISTERRECORDDEVICEDRIVER) $< $(basename $@) > temp.cpp

View File

@@ -13,10 +13,19 @@ include $(CONFIG)/RULES_DIRS
build: buildInstall
install: buildInstall
ifneq ($(findstring $(ARCH),$(BUILD_ARCHS)),)
buildInstall: $(TARGETS)
clean:
$(RM) cdCommands envPaths
else
buildInstall:
clean:
endif
envPaths cdCommands: $(wildcard $(TOP)/configure/RELEASE*) \
$(TOP)/configure/CONFIG $(TOP)/bin
$(TOP)/configure/CONFIG $(INSTALL_BIN)
@$(RM) $@
ifeq ($(IOCS_APPL_TOP),)
$(PERL) $(TOOLS)/convertRelease.pl -a $(ARCH) $@
@@ -24,6 +33,6 @@ else
$(PERL) $(TOOLS)/convertRelease.pl -a $(ARCH) -t $(IOCS_APPL_TOP) $@
endif
realclean clean:
realclean:
$(RM) cdCommands envPaths

View File

@@ -68,6 +68,9 @@ $(checkReleaseTargets):checkRelease.%:
clean ::
$(RMDIR) $(addprefix O.,$(BUILD_ARCHS)) O.Common
archclean ::
$(RMDIR) $(addprefix O.,$(BUILD_ARCHS))
$(cleanArchTargets) ::
$(RMDIR) O.$(archPart)
@@ -77,6 +80,6 @@ realclean ::
.PHONY : $(actionArchTargets)
.PHONY : $(cleanArchTargets)
.PHONY : $(BUILD_ARCHS)
.PHONY : $(ACTIONS) clean realclean all
.PHONY : $(ACTIONS) clean realclean archclean all
.PHONY : checkRelease $(checkReleaseTargets)

View File

@@ -77,7 +77,7 @@ endif
ifneq (,$(strip $(PROD) $(TESTPROD) $(LIBRARY) $(LOADABLE_LIBRARY)))
MakefileInclude: ../Makefile
MakefileInclude: ../Makefile $(wildcard $(TOP)/configure/RELEASE*)
@$(RM) $@
@$(PERL) $(TOOLS)/makeMakefileInclude.pl $(PROD) $(TESTPROD) $(LIBRARY) $(LOADABLE_LIBRARY) $@
@@ -101,6 +101,7 @@ LIBTARGETS += $(LIBNAME) $(INSTALL_LIBS) \
#---------------------------------------------------------------
ifneq ($(CONFIG),$(TOP)/configure)
RULES_TOP:=$(INSTALL_LOCATION)
-include $(TOP)/configure/RULES_BUILD
endif
-include $(TOP)/configure/O.$(T_A)/RULES_INCLUDE
@@ -286,13 +287,13 @@ $(LOADABLE_SHRLIBNAME):$(LOADABLE_SHRLIB_PREFIX)%$(LOADABLE_SHRLIB_SUFFIX): $(LI
@$(RM) $@
$(PERL) $(TOOLS)/munch.pl < $< > $@
$(MUNCHNAME):%.munch : %_ctdt$(OBJ) %$(EXE)
$(MUNCHNAME):%$(MUNCH_SUFFIX) : $(MUNCH_DEPENDS) %$(EXE)
@$(RM) $@
$(LDCMD)
$(MUNCH_CMD)
$(OBJLIB_MUNCHNAME):%.munch : %_ctdt$(OBJ) %$(OBJ)
@$(RM) $@
$(LDCMD)
$(MUNCH_CMD)
# Ext, app and module rules
RULES_INCLUDE CONFIG_APP_INCLUDE: $(wildcard $(TOP)/configure/RELEASE*)
@@ -329,7 +330,7 @@ $(INSTALL_LIB)/%.lib: %.lib
$(INSTALL_SHRLIB)/lib%: lib%
@echo "Installing shared library $@"
@$(INSTALL_LIBRARY) -d -m 555 $< $(INSTALL_SHRLIB)
ifdef SHRLIB_VERSION
ifneq (,$(strip $(SHRLIB_VERSION)))
@$(RM) $(subst .$(SHRLIB_VERSION),,$@)
ln -s $< $(subst .$(SHRLIB_VERSION),,$@)
endif # SHRLIB_VERSION
@@ -347,6 +348,10 @@ endif
$(INSTALL_LOADABLE_SHRLIBS): $(INSTALL_SHRLIB)/%: %
@echo "Installing loadable shared library $@"
@$(INSTALL_LIBRARY) -d -m 555 $< $(INSTALL_SHRLIB)
ifneq (,$(strip $(LOADABLE_SHRLIB_VERSION)))
@$(RM) $(subst .$(LOADABLE_SHRLIB_VERSION),,$@)
ln -s $< $(subst .$(LOADABLE_SHRLIB_VERSION),,$@)
endif # LOADABLE_SHRLIB_VERSION
$(INSTALL_CONFIG)/%: %
@echo "Installing config file $@"

View File

@@ -13,7 +13,7 @@
ARCHS += $(BUILD_ARCHS)
ACTIONS += inc build install buildInstall clean realclean
ACTIONS += inc build install buildInstall clean realclean archclean
dirPart = $(word 1, $(subst $(DIVIDER), ,$@))
actionArchPart = $(join $(word 2, $(subst $(DIVIDER), ,$@)), \

View File

@@ -11,23 +11,27 @@
#
ifeq ($(BUILD_CLASS),HOST)
#-------------------------------------------------------
# java jdk1.1.5 definitions
JAVA_INC = $(JAVA_DIR)/include
JAVA_BIN = $(JAVA_DIR)/bin
JAVA_INCLUDES += -I$(JAVA_INC) -I$(JAVA_INC)/$(OS_CLASS) -I$(COMMON_DIR)
JAVA_INCLUDES += -I$(JAVA_INC) -I$(JAVA_INC)/$(word 1, $(subst -, ,$(T_A))) -I$(COMMON_DIR)
JAVACCMD = $(subst \,/,$(JAVA_BIN)/javac$(EXE) $(CLASSPATH) $(SOURCEPATH) $(JAVACFLAGS))
JAVAHCMD = $(subst \,/,$(JAVA_BIN)/javah$(EXE) -d $(COMMON_DIR) -force $(CLASSPATH) $(JAVAHFLAGS))
JARCMD = $(subst \,/,$(JAVA_BIN)/jar$(EXE) $(JAR_OPTIONS) $(COMMON_JAR) $(JARINPUT) $(JARPACKAGES))
JARCMD = $(subst \,/,$(JAVA_BIN)/jar$(EXE) $(JAR_OPTIONS) $@ $(JARINPUT) $(JARPACKAGES))
#-------------------------------------------------------
vpath %.java ..
vpath %.jar .. $(COMMON_DIR)
CLASSPATH=-classpath $(INSTALL_JAVA)$(addprefix :,$(USR_CLASSPATH))
SOURCEPATH=-sourcepath .:..:../..
empty:=
space:= $(empty) $(empty)
CLASSPATH = -classpath $(subst $(space),:,$(strip $(USR_PRECLASSPATH) $(INSTALL_JAVA) $(USR_CLASSPATH)))
SOURCEPATH = -sourcepath .:..:../..
#-------------------------------------------------------
# Java directory
@@ -59,12 +63,12 @@ DEPTESTJAVA += $(subst .class,.java,$(TESTCLASSES))
#-------------------------------------------------------
# Java jar file
COMMON_JAR += $(addprefix $(COMMON_DIR)/,$(JAR))
INSTALL_JAR =$(addprefix $(INSTALL_JAVA)/,$(JAR))
INSTALL_JAR =$(addprefix $(INSTALL_JAVA)/,$(JAR) $(JAR_INPUT))
JARMANIFEST += $(firstword $(MANIFEST) $(JAR_MANIFEST))
JARINPUT += $(subst .java,.class,$(JAR_INPUT))
JARDEPFILES += $(addprefix $(INSTALL_JAVA)/,$(subst .java,.class,$(JAVA))) $(JARINPUT)
JARDEPFILES += $(addprefix $(INSTALL_JAVA)/,$(subst .java,.class,$(JAVA)) $(JAR_INPUT))
JARINPUT += $(foreach inp,$(JAR_INPUT),-C $(INSTALL_JAVA) $(subst .java,.class,$(inp)))
JARPACKAGES += $(foreach pkg,$(JAR_PACKAGES),-C $(INSTALL_JAVA) $(subst .,/,$(pkg)))
PACKAGEDIRS += $(foreach pkg,$(JAR_PACKAGES),$(addprefix $(INSTALL_JAVA)/,$(subst .,/,$(pkg))))
ifneq ($(JARMANIFEST),)
JAR_OPTIONS = cvmf $(JARMANIFEST)
@@ -95,15 +99,15 @@ inc: $(JAVA_DIRECTORY_TARGETS) $(INSTALL_CLASSES) $(COMMON_JAVAINC)
build: inc
build: $(COMMON_TESTCLASSES) $(COMMON_JAR)
build: $(COMMON_TESTCLASSES)
buildInstall : $(INSTALL_JAR) $(INSTALL_JAVADOC)
#This clean works only from O.* dirs.
clean::
@$(RMDIR) $(INSTALL_CLASSES)
@$(RMDIR) $(INSTALL_CLASSES) $(PACKAGEDIRS)
@$(RM) $(INSTALL_JAR) $(INSTALL_JAVADOC)
@$(RM) $(COMMON_TESTCLASSES) $(COMMON_JAR) $(COMMON_JAVAINC)
@$(RM) $(COMMON_TESTCLASSES) $(COMMON_JAVAINC)
ifdef JAVA_DIRECTORY_TARGETS
$(JAVA_DIRECTORY_TARGETS):
@@ -139,7 +143,16 @@ $(INSTALL_JAVA)/%.jar: $(COMMON_DIR)/%.jar
@echo "Installing java jar file $@"
@$(INSTALL) -d -m 644 $< $(@D)
$(INSTALL_JAVA)/%.jar: %.jar
@echo "Installing java jar file $@"
@$(INSTALL) -d -m 644 $< $(@D)
$(addprefix $(INSTALL_JAVA)/, $(JARINPUT)): $(INSTALL_JAVA)/%: ../%
@echo "Installing jar input file $@"
@$(INSTALL) -d -m 644 $< $(@D)
.PHONY: all install buildInstall rebuild clean build inc
.PRECIOUS: $(COMMON_JAVAINC)
endif

View File

@@ -20,16 +20,20 @@ $(uninstallArchTargets): uninstallDirs
@$(RMDIR) $(INSTALL_LOCATION_BIN)/$(archPart) $(INSTALL_LOCATION_LIB)/$(archPart)
cleandirs:
@echo " " #stops "nothing to be done for cleandirs" message
ifeq ($(wildcard $(INSTALL_LOCATION_BIN)/*),)
@$(RMDIR) $(INSTALL_LOCATION_BIN)
endif
ifeq ($(wildcard $(INSTALL_LOCATION_LIB)/*),)
@$(RMDIR) $(INSTALL_LOCATION_LIB)
endif
@echo
# The echo above stops a "nothing to be done for cleandirs" message
distclean: realclean realuninstall
cvsclean:
@$(PERL) $(TOOLS)/cvsclean.pl
realuninstall:
@$(RMDIR) $(INSTALL_LOCATION_BIN) $(INSTALL_LOCATION_LIB)
@$(RMDIR) $(INSTALL_DBD) $(INSTALL_INCLUDE) $(INSTALL_DOC)\
@@ -57,6 +61,7 @@ help:
@echo " rebuild - Same as clean install"
@echo " inc - Installs header files"
@echo " build - Builds all targets"
@echo " archclean - Removes O.<arch> dirs but not O.Common dir"
@echo "\"Partial\" build targets supported by Makefiles:"
@echo " inc.<arch> - Installs <arch> only header files."
@echo " install.<arch> - Builds and installs <arch> only."
@@ -66,10 +71,12 @@ help:
@echo " uninstall - Cleans directories created by the install."
@echo " realuninstall - Removes ALL install dirs"
@echo " distclean - Same as realclean realuninstall."
@echo " cvsclean - Removes cvs .#* files in all dirs of directory tree"
@echo " help - Prints this list of valid make targets "
@echo "Indiv. object targets are supported by O.<arch> level Makefile .e.g"
@echo " xxxRecord.o"
.PHONY : $(uninstallArchTargets)
.PHONY : uninstall help cleandirs distclean uninstallDirs realuninstall
.PHONY : cvsclean

View File

@@ -72,7 +72,7 @@ INC = file.h
# defining a library
# --------------------------------------------------------------------
#
# Contents of a library are specified via SRCS, LIBSRCS, or .._SRCS.
# Contents of a library are specified via SRCS, LIB_SRCS, or .._SRCS.
# From this the platform specific object names (.o, .obj, ...)
# are derived automatically.
#
@@ -86,7 +86,7 @@ INC = file.h
# ./os/OS_CLASS
# ./os/generic
# .
# So usually only LIBSRCS should be sufficient!
# So usually only LIB_SRCS should be sufficient!
# SRCS files will be used for both LIBRARY and PROD
SRCS = file_for_lib.c another_file.cpp

View File

@@ -15,7 +15,8 @@
#-------------------------------------------------------
# Where to find RTEMS
RTEMS_BASE=/opt/rtems
RTEMS_BASE=/opt/rtems-4.7
RTEMS_VERSION=4.7
#-------------------------------------------------------
# RTEMS tools are similar to UNIX tools
@@ -23,7 +24,7 @@ RTEMS_BASE=/opt/rtems
#-------------------------------------------------------
# Pick up the RTEMS tool/path definitions from the RTEMS BSP directory.
include $(RTEMS_BASE)/$(RTEMS_TARGET_CPU)-rtems/$(subst RTEMS-,,$(T_A))/Makefile.inc
include $(RTEMS_BASE)/$(RTEMS_TARGET_CPU)-rtems$(RTEMS_VERSION)/$(subst RTEMS-,,$(T_A))/Makefile.inc
include $(RTEMS_CUSTOM)
include $(CONFIG.CC)
@@ -46,7 +47,7 @@ VALID_BUILDS = Ioc
# through the following contortions to get the EPICS flags back.
CFLAGS = $(CONFORM_CFLAGS) $(CROSS_CFLAGS) $(OPT_CFLAGS) $(DEBUG_CFLAGS)\
$(WARN_CFLAGS) $(TARGET_CFLAGS) $(USR_CFLAGS) $(ARCH_DEP_CFLAGS)\
$(CODE_CFLAGS) $(STATIC_CFLAGS) $(OP_SYS_CFLAGS) $(LIBRARY_SRC_CFLAGS)
$(CODE_CFLAGS) $(STATIC_CFLAGS) $(OP_SYS_CFLAGS) $(LIBRARY_SRC_CFLAGS)
CXXFLAGS = $(CONFORM_CXXFLAGS) $(CROSS_CXXFLAGS) $(OPT_CXXFLAGS)\
$(DEBUG_CXXFLAGS) $(WARN_CXXFLAGS) $(TARGET_CXXFLAGS) $(USR_CXXFLAGS)\
@@ -69,6 +70,10 @@ $(BASE_CPPFLAGS) $(TARGET_CPPFLAGS) $(USR_CPPFLAGS) $(ARCH_DEP_CPPFLAGS)\
CROSS_CPPFLAGS =
CROSS_LDFLAGS =
SHRLIB_CFLAGS =
OPT_CFLAGS_YES = $(CFLAGS_OPTIMIZE_V)
OPT_CXXFLAGS_YES = $(CFLAGS_OPTIMIZE_V)
OPT_CFLAGS_NO = $(CFLAGS_DEBUG_V)
OPT_CXXFLAGS_NO = $(CFLAGS_DEBUG_V)
#--------------------------------------------------
# operating system class (include/os/<os_class>)
@@ -76,7 +81,7 @@ OS_CLASS = RTEMS
#--------------------------------------------------
# Operating system flags
OP_SYS_LDLIBS += -lrtemsCom -lrtemscpu -lCom -lm
OP_SYS_LDLIBS += -lrtemsCom -lrtemscpu -lCom -lrtemsNfs -lm
OP_SYS_LDFLAGS += $(CPU_CFLAGS) -u Init \
$(PROJECT_RELEASE)/lib/no-dpmem.rel \
$(PROJECT_RELEASE)/lib/no-mp.rel \
@@ -98,8 +103,8 @@ CONFORM_CXXFLAGS_STRICT = -ansi
#--------------------------------------------------
# Command-line input support
COMMANDLINE_LIBRARY = LIBTECLA
LDLIBS_LIBTECLA = -ltecla_r -lncurses
LDLIBS_READLINE = -lreadline -lncurses
#--------------------------------------------------
# Allow site overrides

View File

@@ -0,0 +1,27 @@
#
# $Id$
# Author: W. Eric Norum
# Canadian Light Source
# eric@cls.usask.ca
#
# All RTEMS targets use the same Makefile fragment
#
RTEMS_TARGET_CPU = powerpc
ARCH_DEP_CFLAGS += -DMY_DO_BOOTP=NULL
ARCH_DEP_CFLAGS += -DHAVE_PPCBUG
MUNCH_SUFFIX = .boot
MUNCHNAME = $(PRODNAME:%$(EXE)=%$(MUNCH_SUFFIX))
define MUNCH_CMD
$(RTEMS_BASE)/bin/$(OBJCOPY_FOR_TARGET) -O binary -R .comment -S $< rtems
gzip -f9 rtems
$(RTEMS_BASE)/bin/$(LD_FOR_TARGET) -o $@ \
$(PROJECT_RELEASE)/lib/bootloader.o \
--just-symbols=$< \
-b binary rtems.gz \
-T $(PROJECT_RELEASE)/lib/ppcboot.lds \
-Map $<.map
rm -f rtems.gz
endef
include $(CONFIG)/os/CONFIG.Common.RTEMS

View File

@@ -0,0 +1,19 @@
#
# $Id$
# Author: W. Eric Norum
# Advanced Photon Source
# norume@aps.anl.gov
#
# All RTEMS targets use the same Makefile fragment
#
RTEMS_TARGET_CPU = powerpc
ARCH_DEP_CFLAGS += -DMY_DO_BOOTP=NULL
ARCH_DEP_CFLAGS += -DHAVE_MOTLOAD
MUNCH_SUFFIX = .boot
MUNCHNAME = $(PRODNAME:%$(EXE)=%$(MUNCH_SUFFIX))
define MUNCH_CMD
$(RTEMS_BASE)/bin/$(OBJCOPY_FOR_TARGET) -O binary $< $@
endef
include $(CONFIG)/os/CONFIG.Common.RTEMS

View File

@@ -7,6 +7,16 @@
# All RTEMS targets use the same Makefile fragment
#
RTEMS_TARGET_CPU=i386
MUNCH_SUFFIX = .boot
MUNCHNAME = $(PRODNAME:%$(EXE)=%$(MUNCH_SUFFIX))
define MUNCH_CMD
$(RTEMS_BASE)/bin/$(OBJCOPY_FOR_TARGET) -O binary -R .comment -S $< temp.bin
$(PROJECT_RELEASE)/build-tools/bin2boot $@ 0x00097E00 \
$(PROJECT_RELEASE)/lib/start16.bin 0x00097C00 0 temp.bin 0x00100000 0
rm -f temp.bin
endef
include $(CONFIG)/os/CONFIG.Common.RTEMS
#

View File

@@ -16,6 +16,11 @@ 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 =
@@ -24,7 +29,7 @@ OBJ = .o
LIB_PREFIX = lib
LIB_SUFFIX = .a
SHRLIB_SUFFIX = .so$(addprefix .,$(SHRLIB_VERSION))
LOADABLE_SHRLIB_SUFFIX = .so
LOADABLE_SHRLIB_SUFFIX = .so$(addprefix .,$(LOADABLE_SHRLIB_VERSION))
LOADABLE_SHRLIB_PREFIX = lib
#-------------------------------------------------------

View File

@@ -1,10 +1,10 @@
# CONFIG.Common.win32-x86-cygwin
# CONFIG.Common.cygwin-x86
#
# $Id$
# This file is maintained by the build community.
#
# Definitions for win32-x86-cygwin target builds
# Sites may override these definitions in CONFIG_SITE.Common.win32-x86-cygwin
# Definitions for cygwin-x86 target builds
# Sites may override these definitions in CONFIG_SITE.Common.cygwin-x86
#-------------------------------------------------------
# Include definitions common to all Unix targets
@@ -15,11 +15,20 @@ ARCH_CLASS = x86
EXE=.exe
COMPILER_CPPFLAGS = -D_REENTRANT
#POSIX_CPPFLAGS_YES = -D_POSIX_SOURCE=199506L -D_POSIX_THREADS -D_POSIX_TIMERS
# _POSIX_SOURCE eliminates select()
POSIX_CPPFLAGS_YES = -D_POSIX_THREADS -D_POSIX_TIMERS
#POSIX_LDLIBS_YES += -lpthread
POSIX_LDLIBS_YES += -lpthread
ARCH_DEP_CPPFLAGS += -D_X86_
OP_SYS_CPPFLAGS += -DCYGWIN32 -U_WIN32
# Set runtime path for shared libraries
RUNTIME_LDFLAGS = $(SHRLIB_SEARCH_FULLPATHDIRS:%=-Wl,-rpath,%)
LDLIBS_READLINE = -lcygreadline5 -lcygcurses7

View File

@@ -21,12 +21,12 @@ OP_SYS_CFLAGS = -D_HPUX_SOURCE
OP_SYS_CXXFLAGS =
SHRLIB_SUFFIX = .sl$(addprefix .,$(SHRLIB_VERSION))
LOADABLE_SHRLIB_SUFFIX = .sl
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_DIRS))),+s
RUNTIME_LDFLAGS = -Wl,+b$(subst $(space),:,$(sort $(SHRLIB_SEARCH_FULLPATHDIRS))),+s
ifeq ($(BUILD_CLASS),CROSS)
GNU_TARGET=parisc-hp-unix

View File

@@ -27,7 +27,7 @@ OP_SYS_LDLIBS += -lrt
ARCH_DEP_CPPFLAGS += -D_X86_
# Set runtime path for shared libraries
RUNTIME_LDFLAGS = $(SHRLIB_SEARCH_DIRS:%=-Wl,-rpath,%)
RUNTIME_LDFLAGS = $(SHRLIB_SEARCH_FULLPATHDIRS:%=-Wl,-rpath,%)
ifeq ($(BUILD_CLASS),CROSS)
ifeq ($(EPICS_HOST_ARCH),linux-x86)

View File

@@ -13,22 +13,24 @@ include $(CONFIG)/os/CONFIG.Common.UnixCommon
OS_CLASS = solaris
ARCH_CLASS = sparc
CODE_CPPFLAGS = -D__EXTENSIONS__
CODE_CPPFLAGS = -D__EXTENSIONS__
COMPILER_CPPFLAGS += -mt
COMPILER_LDFLAGS += -mt
SOLARIS_VERSION = $(subst 5.,,$(shell uname -r))
# Flags for solaris 6
POSIX_CPPFLAGS_YES_6 += -D_REENTRANT
POSIX_CPPFLAGS_YES += -D_POSIX_C_SOURCE=199506L $(POSIX_CPPFLAGS_YES_$(SOLARIS_VERSION))
POSIX_CPPFLAGS_YES += -D_XOPEN_SOURCE=500
POSIX_LDLIBS_YES_6 += -lthread
POSIX_LDLIBS_YES += -lposix4 -lpthread $(POSIX_LDLIBS_YES_$(SOLARIS_VERSION))
OP_SYS_CPPFLAGS += -DSOLARIS=$(SOLARIS_VERSION)
OP_SYS_CPPFLAGS += -DSOLARIS=$(SOLARIS_VERSION) $(COMPILER_CPPFLAGS)
OP_SYS_LDFLAGS += $(COMPILER_LDFLAGS)
# Set runtime path for shared libraries
RUNTIME_LDFLAGS = $(SHRLIB_SEARCH_DIRS:%=-R%)
RUNTIME_LDFLAGS = $(SHRLIB_SEARCH_FULLPATHDIRS:%=-R%)
RUNTIME_LDFLAGS += $(RUNTIME_LDFLAGS_$(COMMANDLINE_LIBRARY))
ifeq ($(BUILD_CLASS),CROSS)
GNU_TARGET=sparc-sun-solaris2
@@ -44,7 +46,7 @@ OP_SYS_LDLIBS += $(OP_SYS_LDLIBS_$(SOLARIS_VERSION))
# Definitions used when COMMANDLINE_LIBRARY is READLINE
GNU_DIR = /opt/gnu
INCLUDES_READLINE = -I$(GNU_DIR)/include
LDFLAGS_READLINE += -R$(GNU_DIR)/lib
RUNTIME_LDFLAGS_READLINE += -R$(GNU_DIR)/lib
LDFLAGS_READLINE += -L$(GNU_DIR)/lib
LDLIBS_READLINE = -lreadline -lcurses
# Use archive if there is a problem with the readline shared library

View File

@@ -11,7 +11,11 @@
include $(CONFIG)/os/CONFIG.Common.solaris-sparc
# CONFIG.Common.solaris-sparc
COMPILER_CPPFLAGS = -D_REENTRANT
OP_SYS_LDLIBS_8 = -lc
OP_SYS_LDLIBS_9 = -lc
OP_SYS_LDFLAGS += -R$(GNU_LIB) -L$(GNU_LIB)
RUNTIME_LDFLAGS += -R$(GNU_LIB)
OP_SYS_LDFLAGS += -L$(GNU_LIB)

View File

@@ -15,21 +15,22 @@ ARCH_CLASS = x86
CODE_CPPFLAGS = -D__EXTENSIONS__
SOLARIS_VERSION = $(subst 5.,,$(shell uname -r))
COMPILER_CPPFLAGS += -mt
COMPILER_LDFLAGS += -mt
# Flags for solaris 6
POSIX_CPPFLAGS_YES_6 += -D_REENTRANT
SOLARIS_VERSION = $(subst 5.,,$(shell uname -r))
POSIX_CPPFLAGS_YES += -D_POSIX_C_SOURCE=199506L $(POSIX_CPPFLAGS_YES_$(SOLARIS_VERSION))
POSIX_CPPFLAGS_YES += -D_XOPEN_SOURCE=500
POSIX_LDLIBS_YES_6 += -lthread
POSIX_LDLIBS_YES += -lposix4 -lpthread $(POSIX_LDLIBS_YES_$(SOLARIS_VERSION))
OP_SYS_CPPFLAGS += -DSOLARIS=$(SOLARIS_VERSION)
OP_SYS_CPPFLAGS += -DSOLARIS=$(SOLARIS_VERSION) $(COMPILER_CPPFLAGS)
OP_SYS_LDFLAGS += $(COMPILER_LDFLAGS)
ARCH_DEP_CPPFLAGS = -D_X86_
# Set runtime path for shared libraries
RUNTIME_LDFLAGS = $(SHRLIB_SEARCH_DIRS:%=-R%)
RUNTIME_LDFLAGS = $(SHRLIB_SEARCH_FULLPATHDIRS:%=-R%)
RUNTIME_LDFLAGS += $(RUNTIME_LDFLAGS_$(COMMANDLINE_LIBRARY))
ifeq ($(BUILD_CLASS),CROSS)
GNU_TARGET=x86-sun-solaris2
@@ -41,3 +42,13 @@ OP_SYS_LDLIBS += -lsocket -lnsl
OP_SYS_LDLIBS_8 += -lCrun -lc -lCstd
OP_SYS_LDLIBS_9 += -lCrun -lc -lCstd
OP_SYS_LDLIBS += $(OP_SYS_LDLIBS_$(SOLARIS_VERSION))
# Definitions used when COMMANDLINE_LIBRARY is READLINE
GNU_DIR = /opt/gnu
INCLUDES_READLINE = -I$(GNU_DIR)/include
RUNTIME_LDFLAGS_READLINE += -R$(GNU_DIR)/lib
LDFLAGS_READLINE += -L$(GNU_DIR)/lib
LDLIBS_READLINE = -lreadline -lcurses
# Use archive if there is a problem with the readline shared library
#LDLIBS_READLINE = -Bstatic -lreadline -Bdynamic -lcurses

View File

@@ -10,3 +10,11 @@
# Include definitions common to all solaris-x86 target archs
include $(CONFIG)/os/CONFIG.Common.solaris-x86
COMPILER_CPPFLAGS = -D_REENTRANT
OP_SYS_LDLIBS_8 = -lc
OP_SYS_LDLIBS_9 = -lc
RUNTIME_LDFLAGS += -R$(GNU_LIB)
OP_SYS_LDFLAGS += -L$(GNU_LIB)

View File

@@ -19,3 +19,6 @@ ARCH_CLASS = 68k
ARCH_DEP_CPPFLAGS = -DCPU=MC68040
ARCH_DEP_CFLAGS = -m68040
OPT_CFLAGS_YES = -O0
GNU_TARGET = m68k-wrs-vxworks

View File

@@ -18,3 +18,7 @@ ARCH_CLASS = 68k
# Architecture specific build flags
ARCH_DEP_CPPFLAGS = -DCPU=MC68LC040
ARCH_DEP_CFLAGS = -m68040 -msoft-float
OPT_CFLAGS_YES = -O0
GNU_TARGET = m68k-wrs-vxworks

View File

@@ -19,3 +19,6 @@ ARCH_CLASS = 68k
ARCH_DEP_CPPFLAGS = -DCPU=MC68060
ARCH_DEP_CFLAGS = -m68040
OPT_CFLAGS_YES = -O0
GNU_TARGET = m68k-wrs-vxworks

View File

@@ -19,3 +19,4 @@ ARCH_CLASS = ppc
ARCH_DEP_CPPFLAGS = -DCPU=PPC603
ARCH_DEP_CFLAGS = -mcpu=603 -mstrict-align
GNU_TARGET = powerpc-wrs-vxworks

View File

@@ -19,3 +19,4 @@ ARCH_CLASS = ppc
ARCH_DEP_CPPFLAGS = -DCPU=PPC603
ARCH_DEP_CFLAGS = -mcpu=603 -mstrict-align -mlongcall
GNU_TARGET = powerpc-wrs-vxworks

View File

@@ -19,3 +19,4 @@ ARCH_CLASS = ppc
ARCH_DEP_CPPFLAGS = -DCPU=PPC604
ARCH_DEP_CFLAGS = -mcpu=604 -mstrict-align
GNU_TARGET = powerpc-wrs-vxworks

View File

@@ -19,3 +19,4 @@ ARCH_CLASS = ppc
ARCH_DEP_CPPFLAGS = -DCPU=PPC604
ARCH_DEP_CFLAGS = -mcpu=604 -mstrict-align -mlongcall
GNU_TARGET = powerpc-wrs-vxworks

View File

@@ -49,6 +49,7 @@ MUNCHNAME = $(PRODNAME:%$(EXE)=%$(MUNCH_SUFFIX))
CTDT_SRCS = $(PRODNAME:%$(EXE)=%_ctdt.c)
CTDT_OBJS = $(PRODNAME:%$(EXE)=%_ctdt$(OBJ))
NMS = $(PRODNAME:%$(EXE)=%.nm)
MUNCH_DEPENDS = %_ctdt$(OBJ)
#-------------------------------------------------------
# R3.13 compatability object library definitions
@@ -136,7 +137,7 @@ COMPILE.ctdt = $(CC) -c $(CPPFLAGS) $(CFLAGS_ctdt) $(call PATH_FILTER,$(INCLUDES
#--------------------------------------------------
# C preprocessor command
VXCPPFLAGS = $(filterout $(OP_SYS_INCLUDE_CPPFLAGS),$(CPPFLAGS))
VXCPPFLAGS = $(filter-out $(OP_SYS_INCLUDE_CPPFLAGS),$(CPPFLAGS))
PREPROCESS.cpp = $(CPP) $(VXCPPFLAGS) $(INCLUDES) $< > $@
#--------------------------------------------------

View File

@@ -17,6 +17,6 @@ AR = ar
ARFLAGS = rcv
RANLIB = ranlib -t
SHRLIB_LDFLAGS = -shared
LOADABLE_SHRLIB_LDFLAGS = -shared
SHRLIB_LDFLAGS = -shared -fPIC
LOADABLE_SHRLIB_LDFLAGS = -shared -fPIC

View File

@@ -1,10 +1,10 @@
# CONFIG.win32-x86-cygwin.Common
# CONFIG.cygwin-x86.Common
#
# $Id$
# This file is maintained by the build community.
#
# Definitions for win32-x86-cygwin host archs
# Sites may override these definitions in CONFIG_SITE.win32-x86-cygwin.Common
# Definitions for cygwin-x86 host archs
# Sites may override these definitions in CONFIG_SITE.cygwin-x86.Common
#-------------------------------------------------------
#Include definitions common to unix hosts
@@ -15,3 +15,7 @@ OSITHREAD_USE_DEFAULT_STACK = NO
HOSTEXE=.exe
# Needed to find dlls for base installed build tools (antelope,eflex,...)
PATH := $(EPICS_BASE_TOOLS_BIN):$(PATH)

View File

@@ -1,9 +1,9 @@
# CONFIG.win32-x86-cygwin.win32-x86-cygwin
# CONFIG.cygwin-x86.cygwin-x86
#
# $Id$
#
# Definitions for win32-x86-cygwin host - win32-x86-cygwin target builds
# Sites may override these definitions in CONFIG_SITE.win32-x86-cygwin.win32-x86-cygwin
# Definitions for cygwin-x86 host - cygwin-x86 target builds
# Sites may override these definitions in CONFIG_SITE.cygwin-x86.cygwin-x86
#-------------------------------------------------------
# Include common gnu compiler definitions

View File

@@ -18,7 +18,7 @@ CCC = $(GNU_BIN)/c++
# Darwin shared libraries
#
SHRLIB_LDFLAGS = -dynamiclib -flat_namespace -undefined suppress \
-install_name $(firstword $(SHRLIB_SEARCH_DIRS))/$@ \
-install_name $(firstword $(SHRLIB_SEARCH_FULLPATHDIRS))/$@ \
-compatibility_version $(EPICS_VERSION).$(EPICS_REVISION) \
-current_version $(EPICS_VERSION).$(EPICS_REVISION).$(EPICS_MODIFICATION)
SHRLIB_SUFFIX = .$(EPICS_VERSION).$(EPICS_REVISION).$(EPICS_MODIFICATION).dylib

View File

@@ -19,6 +19,6 @@ STATIC_LDFLAGS_NO=
STATIC_LDLIBS_YES= -Wl,-Bdynamic
STATIC_LDLIBS_NO=
SHRLIB_LDFLAGS += -shared -z defs
LOADABLE_SHRLIB_LDFLAGS = -shared
SHRLIB_LDFLAGS += -shared -fPIC
LOADABLE_SHRLIB_LDFLAGS = -shared -fPIC

View File

@@ -23,8 +23,8 @@ STATIC_LDFLAGS_NO=
STATIC_LDLIBS_YES= -Wl,-Bdynamic
STATIC_LDLIBS_NO=
SHRLIB_LDFLAGS += -G -h $@ -z ignore -z defs
LOADABLE_SHRLIB_LDFLAGS += -G -h $@
SHRLIB_LDFLAGS += -shared -fPIC -h $@
LOADABLE_SHRLIB_LDFLAGS += -shared -fPIC -h $@
OP_SYS_LDFLAGS += -z ignore -z combreloc -z lazyload

View File

@@ -11,11 +11,11 @@ SPARCWORKS = /opt/SUNWspro
CC = $(SPARCWORKS)/bin/cc
CCC = $(SPARCWORKS)/bin/CC
CPP = $(CC) -E -Qn
RANLIB =
# required by sun's C++ compiler
AR = $(CCC) -xar -o
LD = ld -r
CPP = gcc -x c -E
RANLIB =
#Prepare the object code for profiling with prof. (YES or NO)
PROFILE=NO

View File

@@ -18,8 +18,8 @@ AR = ar -rc
RANLIB=
LD = ld -r
SHRLIB_LDFLAGS = -z defs -G -h $@
LOADABLE_SHRLIB_LDFLAGS += -G -h $@
SHRLIB_LDFLAGS += -shared -fPIC -h $@ -z defs
LOADABLE_SHRLIB_LDFLAGS += -shared -fPIC -h $@
OP_SYS_LDFLAGS = -z ignore -z combreloc -z lazyload
OP_SYS_LDFLAGS += -z ignore -z combreloc -z lazyload

View File

@@ -7,14 +7,11 @@
# Sites may override these definitions in CONFIG_SITE.solaris-x86.solaris-x86
#-------------------------------------------------------
# Include definitions common to all Unix target archs
include $(CONFIG)/os/CONFIG.Common.UnixCommon
SPARCWORKS = /opt/SUNWspro
CC = $(SPARCWORKS)/bin/cc
CCC = $(SPARCWORKS)/bin/CC
CPP = $(CC) -E
CPP = $(CC) -E -Qn
RANLIB =
# required by sun's C++ compiler
AR = $(CCC) -xar -o
@@ -22,6 +19,8 @@ LD = ld -r
#Prepare the object code for profiling with prof. (YES or NO)
PROFILE=NO
#Prepare the object code for profiling with gprof. (YES or NO)
GPROF=NO
# Configure OS vendor C compiler
CONFORM_CFLAGS_ANSI = -Xa -v
@@ -36,8 +35,8 @@ OPT_CFLAGS_YES = -xO4
OPT_CFLAGS_NO = -g
# Configure OS vendor C++ compiler
CONFORM_CXXFLAGS_NORMAL =
CONFORM_CXXFLAGS_STRICT =
CONFORM_CXXFLAGS_NORMAL =
CONFORM_CXXFLAGS_STRICT =
PROF_CXXFLAGS_YES = -p
GPROF_CXXFLAGS_YES = -xpg
CODE_CXXFLAGS = $(PROF_CXXFLAGS_$(PROFILE)) $(GPROF_CXXFLAGS_$(GPROF))
@@ -46,13 +45,16 @@ WARN_CXXFLAGS_NO =
OPT_CXXFLAGS_YES = -O
OPT_CXXFLAGS_NO = -g
CODE_LDFLAGS = $(PROF_CXXFLAGS_$(PROFILE)) $(GPROF_CXXFLAGS_$(GPROF))
STATIC_LDFLAGS_YES= -Bstatic
STATIC_LDFLAGS_NO=
STATIC_LDLIBS_YES= -Bdynamic
STATIC_LDLIBS_NO=
SHRLIB_LDFLAGS = -z defs -KPIC -G -h $@
LOADABLE_SHRLIB_LDFLAGS = -KPIC -G -h $@
SHRLIB_CFLAGS = -KPIC
SHRLIB_LDFLAGS += -z defs -G -h $@ -z text
LOADABLE_SHRLIB_LDFLAGS += -G -h $@ -z text
OP_SYS_LDFLAGS = -z ignore -z combreloc -z lazyload
OP_SYS_LDFLAGS += -z ignore -z combreloc -z lazyload

View File

@@ -25,3 +25,6 @@ ifndef HOME
HOME = $(HOMEDRIVE)$(HOMEPATH)
endif
# Needed to find dlls for base installed build tools (antelope,eflex,...)
PATH := $(EPICS_BASE_TOOLS_BIN):$(PATH)

View File

@@ -25,3 +25,6 @@ ifndef HOME
HOME = $(HOMEDRIVE)$(HOMEPATH)
endif
# Needed to find dlls for base installed build tools (antelope,eflex,...)
PATH := $(EPICS_BASE_TOOLS_BIN):$(PATH)

View File

@@ -91,9 +91,9 @@ STATIC_CFLAGS_YES= /MT$(VISC_STATIC_CFLAGS_DEBUG) $(VISC_DLL)
STATIC_CFLAGS_NO= /MD$(VISC_STATIC_CFLAGS_DEBUG) $(VISC_DLL)
# OS vendor c preprocessor
#CPP = cl /E
CPP = cl /C /E
#GNU c preprocessor
CPP = gcc -x c -E
#CPP = gcc -x c -E
# Configure OS vendor C++ compiler
#
@@ -215,7 +215,7 @@ DLL_DEF_FLAG = $(addprefix /def:,$(wildcard ../$(addsuffix .def,$*)))
#
LINK.shrlib = $(WINLINK) /nologo $(WIN32_DLLFLAGS) /implib:$*.lib /out:$*.dll $(DLL_DEF_FLAG)
LINK.shrlib += $(LIBRARY_LD_OBJS) $(LIBRARY_LD_RESS) $(SHRLIB_LDLIBS)
LDCMD = $(CCC) /Fo $@ $^
MUNCH_CMD = $(CCC) /Fo $@ $^
# adjust names of libraries to build

View File

@@ -16,7 +16,7 @@ ARCH_Darwin = darwin-ppc
ARCH_WIN32 = win32-x86
ARCH_hp700 = hpux-parisc
ARCH_alpha = osf-alpha
ARCH_cygwin32 = win32-x86-cygwin
ARCH_cygwin32 = cygwin-x86
ARCH_Borland = win32-x86-borland
ifndef EPICS_HOST_ARCH

View File

@@ -0,0 +1,14 @@
#
# Site-specific information for all RTEMS targets
#
#
# If you're not using BOOTP/DHCP to pick up your IOC network configuration
# you may need to specify your Internet Domain Name here
#
OP_SYS_CFLAGS += -DRTEMS_NETWORK_CONFIG_DNS_DOMAINNAME=aps.anl.gov
#
# Specify your desired command-line-input library
#
EPICSCOMMANDLINE_LIBRARY = READLINE

View File

@@ -9,5 +9,5 @@
#
# Other local options
#
#OP_SYS_CFLAGS += -g
OP_SYS_CFLAGS += -g
#COMMANDLINE_LIBRARY = READLINE

View File

@@ -20,3 +20,4 @@
# If readline is not installed comment the following line
# to omit command-line editing and history support
COMMANDLINE_LIBRARY = READLINE
OP_SYS_CFLAGS += -g

View File

@@ -8,5 +8,4 @@
# If readline is installed uncomment the following macro definition
# to include command-line editing and history support
#
#COMMANDLINE_LIBRARY = READLINE
COMMANDLINE_LIBRARY = READLINE

View File

@@ -1,9 +1,9 @@
# CONFIG_SITE.win32-x86-cygwin.Common
# CONFIG_SITE.cygwin-x86.Common
#
# $Id$
# This file is maintained by the build community.
#
# Site override definitions for win32-x86-cygwin host builds
# Site override definitions for cygwin-x86 host builds
#-------------------------------------------------------
CROSS_COMPILER_TARGET_ARCHS =

View File

@@ -1,9 +1,9 @@
# CONFIG_SITE.win32-x86-cygwin.win32-x86-cygwin
# CONFIG_SITE.cygwin-x86.cygwin-x86
#
# $Id$
# This file is maintained by the build community.
#
# Site override definitions for win32-x86-cygwin host - win32-x86-cygwin target builds
# Site override definitions for cygwin-x86 host - cygwin-x86 target builds
#-------------------------------------------------------
##GNU_DIR=C:/cygwin

View File

@@ -9,3 +9,5 @@
# JBA test override values
#CROSS_COMPILER_TARGET_ARCHS = vxWorks-68040 solaris-sparc
#CROSS_COMPILER_TARGET_ARCHS = vxWorks-68040
#CROSS_COMPILER_TARGET_ARCHS = RTEMS-mvme2100

View File

@@ -7,3 +7,4 @@
#INSTALL_LOCATION = /home/phoebus/JBA/testBaseNew
#CROSS_COMPILER_TARGET_ARCHS += vxWorks-ppc604 vxWorks-ppc603 vxWorks-68040

View File

@@ -0,0 +1,9 @@
#Prepares the object code to collect data for profiling with prof.
#PROFILE=YES
#Compiles for profiling with the gprof profiler.
#GPROF=YES
# Removes -O optimization and adds -g compile option
HOST_OPT=NO

View File

@@ -15,7 +15,7 @@ eval 'exec perl -S $0 ${1+"$@"}' # -*- Mode: perl -*-
# Parse configure/RELEASE file(s) and generate a derived output file.
#
use Cwd;
use Cwd qw(cwd abs_path);
use Getopt::Std;
$cwd = cwd();
@@ -72,7 +72,7 @@ $outfile = $ARGV[0];
# Read the RELEASE file(s)
$relfile = "$top/configure/RELEASE";
die "Can't find configure/RELEASE file" unless (-r $relfile);
die "Can't find $relfile" unless (-f $relfile);
&readReleaseFiles($relfile, \%macros, \@apps);
&expandRelease(\%macros, \@apps);
@@ -200,8 +200,6 @@ sub configAppInclude {
# We can't just include TOP in the foreach list:
# 1. The lib directory probably doesn't exist yet, and
# 2. We need an abolute path but $(TOP_LIB) is relative
$path = $macros{"TOP"};
print OUT "SHRLIB_SEARCH_DIRS = $path/lib/$arch\n";
foreach $app (@includes) {
$path = $macros{$app};
next unless (-d "$path/lib/$arch");
@@ -233,7 +231,8 @@ sub rulesInclude {
foreach $app (@includes) {
$path = $macros{$app};
next unless (-r "$path/configure/RULES_BUILD");
print OUT "-include \$(strip \$($app))/configure/RULES_BUILD\n";
print OUT "RULES_TOP:=\$($app)\n";
print OUT "-include \$(strip \$(RULES_TOP))/configure/RULES_BUILD\n";
}
close OUT;
}
@@ -302,7 +301,8 @@ sub checkRelease {
delete $check{TOP};
while (($parent, $ppath) = each %check) {
if (exists $macros{$parent} && ($macros{$parent} ne $ppath)) {
if (exists $macros{$parent} &&
abs_path($macros{$parent}) ne abs_path($ppath)) {
print "\n" unless ($status);
print "Definition of $parent conflicts with $app support.\n";
print "In this application configure/RELEASE defines\n";

21
configure/tools/cvsclean.pl Executable file
View File

@@ -0,0 +1,21 @@
eval 'exec perl -S $0 ${1+"$@"}' # -*- Mode: perl -*-
if $running_under_some_shell; # cvsclean.pl
#*************************************************************************
# 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.
# This file is distributed subject to a Software License Agreement found
# in the file LICENSE that is included with this distribution.
#*************************************************************************
# $Id$
#
# Find and delete cvs .#* files in all dirs of directory tree
use File::Find;
@ARGV = ('.') unless @ARGV;
find sub { unlink if -f && m/^\.\#/ }, @ARGV;

View File

@@ -20,10 +20,14 @@ foreach( @files ) {
open(INPUT, "<$_");
$backup = "$_.bak";
rename( $_, $backup) || die "Unable to rename $_\n$!\n";
# Make the output be binary so it won't convert /n back to /r/n
binmode OUTPUT, ":raw";
open(OUTPUT, ">$_");
binmode OUTPUT, ":raw";
while(<INPUT>) {
s/\r\n/\n/;
print OUTPUT;
# Remove CR-LF sequences
s/\r\n/\n/;
print OUTPUT;
}
close INPUT;
close OUTPUT;

10
configure/tools/fullPathName.pl Executable file
View File

@@ -0,0 +1,10 @@
eval 'exec perl -S -w $0 ${1+"$@"}' # -*- Mode: perl -*-
if 0;
use Cwd 'abs_path';
my $dir;
if( $ARGV[0] )
{
$dir = abs_path("$ARGV[0]");
print "$dir\n";
}

View File

@@ -0,0 +1,43 @@
#!/usr/bin/perl
#*************************************************************************
# 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$
use File::Basename;
sub Usage
{
my ($txt) = @_;
print "Usage:\n";
print "\tmakeIncludeDbd.pl infile1 [ infile2 infile3 ...] outfile\n";
print "\nError: $txt\n" if $txt;
exit 2;
}
# need at least two args: ARGV[0] and ARGV[1]
Usage("\"makeIncludeDbd.pl @ARGV\": No input files specified") if $#ARGV < 1;
$target=$ARGV[$#ARGV];
@sources=@ARGV[0..$#ARGV-1];
open(OUT, "> $target") or die "Cannot create $target\n";;
foreach $file ( @sources )
{
$base=basename($file);
print OUT "include \"$base\"\n";
}
close OUT;
# EOF makeIncludeDbd.pl

View File

@@ -28,6 +28,12 @@ applications subject to the following restrictions:</p>
Ultimately applications should be converted to use the new configure rules so
that the OSI features are available.
<h3>Prerequisite for building R3.13 applications</h3>
<p>The macro COMPAT_313 must be set to YES in base/configure/CONFIG_SITE
before the base build. This will install vxWorks object files and perl
scripts needed for building R3.13 ioc applications.
</p>
<h3><b>Gnumake clean uninstall</b></h3>
<p>At the top of the application execute:</p>

View File

@@ -17,12 +17,28 @@ EPICS R3.13 extensions have both a Makefile and a Makefile.Host in the build
directories and the EPICS R3.13 extension tree has an extensions/config
directory.</p>
<h3>Prerequisite for building R3.13 extensions</h3>
<blockquote>
<ul>
<li>The macro COMPAT_TOOLS_313 must be set to YES in base/configure/CONFIG_SITE
before the base build. If it was not set, set it to YES and then do a gmake
in the base/config/tools directory. This will install some perl scripts needed
for building R3.13 extensions.
</li>
</ul>
</blockquote>
<h3>Preliminary steps for all extensions</h3>
<blockquote>
<ul>
<li>Download the latest version of the extensions/config files,
extensionsConfig.tar.gz,  from the APS EPICS www page.</li>
The extensions directory can have both the base/config (for extensions with
R3.13 makefiles) and base/configure (for extensions with R3.14 makefiles)
directories.
</li>
<li>Make certain that you have set the HOST_ARCH environment
variable.</li>
<li>Set EPICS_BASE in extensions/config/RELEASE to the full path location

View File

@@ -10,12 +10,12 @@
<body>
<center>
<h2>Converting an EPICS R3.13 application to R3.14.4</h2>
<h2>Converting an EPICS R3.13 application to R3.14</h2>
</center>
<p><br>
This document describes how to convert a R3.13 vxWorks application so that it
builds with release R3.14.4.  It describes procedures such that:</p>
builds with release R3.14. It describes procedures such that:</p>
<ul>
<li>The application uses the configure rules which are new to R3.14.</li>
</ul>
@@ -50,7 +50,7 @@ If sequence programs (*.st or *.stt files) exist in your application, add the
SNCSEQ location definition for the R3.14 seq external module</p>
<p><tt>SNCSEQ =&lt;full path to seq module top&gt;</tt></p>
The R3.14 seq module must exist and be built with EPICS base R3.14.4
The R3.14 seq module must exist and be built with the same EPICS base R3.14 release.
<h3>Modify the Makefiles in &lt;top&gt;/*App directories.</h3>
@@ -300,10 +300,14 @@ function("mySubProcess")</pre>
<p>Change " i<tt>nclude $(TOP)/config/CONFIG_APP" </tt>to "<tt>include
$(TOP)/configure/CONFIG"</tt></p>
<p>Remove the line "<tt>DIRS += $(wildcard *ioc*"</tt></p>
<p>If they do not already exist, add the lines
<blockquote>
<p><tt>DIRS += $(wildcard *ioc*)</tt></p>
<p><tt>DIRS += $(wildcard as*)</tt></p>
</blockquote>
<p>Change <tt>"include $(TOP)/config/RULES.iocBoot" </tt>to "i<tt>nclude
$(TOP)/configure/RULES.iocBoot"</tt></p>
$(TOP)/configure/RULES_DIRS"</tt></p>
<h3>Modify the Makefiles in &lt;top&gt;/iocBoot/ioc* directories.</h3>

View File

@@ -0,0 +1,45 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<meta name="Author" content="jba">
</head>
<body>
<center>
<h2>Converting an EPICS R3.14.6 application to R3.14.7</h2>
</center>
<p>This document describes how to convert a R3.14.6 application so that it
builds with release R3.14.7.</p>
<h3>State Notation Compiler flags</h3>
<blockquote>
To make the run-time code reentrant, thus allowing more than one
instance of the state program to run on an IOC add the line
<pre>&lt;name&gt;_SNCFLAGS += +r"</pre> to the Makefile, replacing &lt;name&gt; with the
state notation language code file name.
</blockquote>
<h3>epicsExit</h3>
<blockquote>
Code that calls exit or atexit should change these calls to epicsExit
and epicsAtExit. epicsAtExit was created because of problems on
vxWorks and windows with the implementation of atexit,
i.e. neither of these systems implements exit and atexit according to the POSIX standard.
</blockquote>
<blockquote>
Add the following lines
<blockquote>
<pre>
#include "epicsExit.h"
epicsExit(0);
</pre>
</blockquote>
</blockquote>

View File

@@ -4,23 +4,14 @@
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>No title</title>
<title>Known Problems R3.14.x</title>
<meta name="GENERATOR" content="amaya 5.1" />
</head>
<body>
<h1 style="text-align: center">EPICS base R3.14.4: Known Problems</h1>
<h1 style="text-align: center">EPICS Base R3.14.7: Known Problems</h1>
<h3>Known Bugs R3.14.4</h3>
<h4>exampleApp sequencer</h4>
<p>The following must be added to exampleInclude.dbd</p>
</pre>registrar(sncExampleRegistrar)</pre>
<h4>mbboRecord</h4>
<p>
If a database link is made to an mbbo record with a request type of DBR_STRING then the DBR_STRING value is the numeric value of the VAL field converted to a string. It should be the appropriate choice string indexed by the VAL field.
An example is the DOL link of a stringout record linked to an mbbo record.
This bug has been in all releases since 3.13.6<p>
<p>None yet.</p>
</body>
</html>

View File

@@ -4,7 +4,7 @@ README.1st
EPICS base
Release 3.14.4
Release 3.14.*
What is EPICS base?
@@ -20,10 +20,8 @@ What is EPICS base?
What is new in this release?
This version of EPICS base contains significant changes and offers
major improvements in functionality over previous versions. Please
check the RELEASE_NOTES file in the distribution for description of
changes and release migration details.
Please check the RELEASE_NOTES file in the distribution for description
of changes and release migration details.
Copyright
@@ -35,7 +33,7 @@ Supported platforms
Currently this version of EPICS base has been built on the following
hosts for the following targets. If you are trying to build EPICS base on a
different host or for a different target machine you must get the proper
host/target cross compiler and header files and you will have to create
host/target cross compiler and header files, and you will have to create
and add the appropriate new configure files to the
base/configure/os/directory. You can start by copying existing
configuration files in the configure/os directory and then make changes
@@ -44,26 +42,36 @@ Supported platforms
Host platforms (operating system - architecture - <alternate c++
compiler>)
aix-ppc
aix-ppc-gnu
cygwin-x86
darwin-ppc (Mac OS X)
hpux-parisc
hpux-parisc-gnu
linux-mpc82xx
linux-x86
lynxos-x86
osf-alpha
linux-x86-borland
solaris-sparc
solaris-sparc-gnu
solaris-x86
solaris-x86-gnu
sun4-x86
win32-x86
win32-x86-borland
Debugging builds
linux-x86-debug (GNU compiler with -g option for host builds)
solaris-sparc-debug (sun compiler with -g option for host builds)
win32-x86-debug (MS Visual C++ with debug option for host builds)
Cross compile target platforms (operating system - architecture)
linux-386 (linux-x86 host)
linux-486 (linux-x86 host)
linux-586 (linux-x86 host)
linux-686 (linux-x86 host)
linux-athlon (linux-x86 host)
vxWorks-486
vxWorks-68040
vxWorks-68040-debug
vxWorks-68040lc
vxWorks-68060
vxWorks-pentium
@@ -71,7 +79,6 @@ Supported platforms
vxWorks-ppc603_long
vxWorks-ppc604
vxWorks-ppc604_long
vxWorks-pentium
RTEMS-gen68360
RTEMS-mcp750
RTEMS-mvme167
@@ -85,10 +92,8 @@ Supported compilers
vendor's C and C++ compilers as well as the GNU gcc and g++
compilers. The GNU cross-compilers have been used for all
cross-compiled targets. You may need the host vendor's C++ compiler
in your search path to do EPICS builds. Check definitions of ACC and
CCC in base/configure/os/CONFIG.<host>.<host> or the definitions
for GCC and G++ if ANSI=GCC and CPLUSPLUS=GCC are specified
in CONFIG_SITE.
in your search path to do EPICS builds. Check definitions of CC and
CCC in base/configure/os/CONFIG.<host>.<host>.
Software requirements
@@ -114,14 +119,22 @@ Software requirements
more board support packages. Consult the vxWorks documentation for
details.
Optional GNU compiler requirement for solaris-sparc and win32-x86 hosts
If you have state notation language source files (*.st files) which require
c preprocessing before conversion to c source, gcc must be in your path.
GNU readline or Tecla library
GNU readline and Tecla librararies can be used by the IOC shell to
provide command line editing and command line history recall and edit.
GNU readline (or Tecla library) must be installed on your target system
when COMMANDLINE_LIBRARY is set to READLINE (or TECLA) for that target.
EPICS (EPICS shell) is the default specified in CONFIG_COMMON. A READLINE
override is defined for linux-x86 in the EPICS distribution. Comment out
COMMANDLINE_LIBRARY=READLINE in configure/os/CONFIG_SITE.Common.linux-x86
if readline is not installed on linux-x86. Command-line editing and
history will then be those supplied by the os. On vxWorks the ledLib
command-line input libraries are used.
Host system storage requirements
The GNU zipped tar file is approximately 1.4 MB in size. The unzipped
untarred distribution source tree is approximately 6 MB. The build
untarred distribution source tree is approximately 7.3 MB. The build
created files for each host take approximately 40 MB and the build
created files for each target take approximately 10 MB.
@@ -145,17 +158,17 @@ WWW pages
Additional information on EPICS can be found at the
various other WWW links on the EPICS home page at APS.
Mailing Lists
Mailing List
There is an EPICS mailing list called tech-talk which is hosted at
APS, with a list repeater at BESSY. See The EPICS home page for
APS, with a list repeater at BESSY. See the EPICS home page for
subscription instructions.
Directory Structure
Distribution directory structure:
base Root directory of the base istribution
base Root directory of the base distribution
base/config R3.13 compatibility build configuration files
base/config/tools Perl and shell scripts used in the R3.13 build
base/configure Operating system independent build config files
@@ -168,11 +181,13 @@ Directory Structure
base/src/bpt Break point table
base/src/ca Channel access
base/src/cas Channel access server library and examples
base/src/catools Channel access tools caget,cainfo,camonitor,caput
base/src/db Database access
base/src/db/test Database access tests
base/src/dbStatic Static database access
base/src/dbtools Database dbLoadTemplate tools
base/src/dev Device support (softDev and testDev)
base/src/excas Example channel access server
base/src/gdd General data descriptor
base/src/iocsh Ioc shell command interpreter
base/src/libCom General purpose library code in subdirectories
@@ -195,17 +210,16 @@ Directory Structure
base/src/libCom/osi/os Operating system dependant code in subdirectories
base/src/libCom/ring Methods for creating and using ring buffers
base/src/libCom/taskwd Task watchdog
base/src/libCom/test Test tools (timer, semBinary, semMutex,fdmgr, ?)
base/src/libCom/test Test tools (timer, semBinary, semMutex,fdmgr,...)
base/src/libCom/timer Timer
base/src/libCom/tsDefs R3.13 time stamp definitions and routines
base/src/libCom/ring ringPointer: First in first out circular buffers
base/src/libCom/cppStd epicsList: Lists of pointers to objects
base/src/makeBaseApp Perl tool+templates to create ioc app dvl tree
base/src/makeBaseExt Perl tool+templates to create extension dvl tree
base/src/misc Miscellaneous (coreRelease, iocInit, asSub*)
base/src/rec Record support
base/src/registry EPICS support function registry
base/src/rsrv Channel access ioc resource server library
base/src/softIoc Example softIoc
base/src/toolsComm Code for the build tools antelope and e_flex
base/src/util Utilities (ca_test, iocLogServer, startCArepeater)
base/src/vxWorks R3.13 compatibility code specific to vxWorks
@@ -226,26 +240,31 @@ Directory Structure
Build related components
base/documentation/README* files
README.1st Instructions for setup and building epics base
README.html (html version of README.1st)
README.html html version of README.1st
README.WIN32 Microsoft WIN32 specific instructions
README.cxxTemplates Information about C++ templates in EPICS base
README.niCpu030 NI cpu030 specific instructions
README.darwin Installation notes for Mac OS X (Darwin)
RELEASE_NOTES.html Notes on release changes.
KnownProblems.html List of know problems and workarounds.
Converting*To*.html Release specific conversion instructions.
Building*With*.html Release specific build instructions.
RELEASE_NOTES.html Notes on release changes
KnownProblems.html List of known problems and workarounds
Converting*To*.html Release specific conversion instructions
Building*With*.html Release specific build instructions
base/startup directory - contains scripts to set environment and path
EpicsHostArch c shell script to set EPICS_HOST_ARCH env variable
EpicsHostArch.pl perl script to set EPICS_HOST_ARCH env variable
Site.profile bourne shell script to set path and env variables
Site.cshrc c shell script to set path and env variables
borland.bat WIN32 bat file to set path and env variables
borland.bat WIN32 bat file to set borland path and env variables
cygwin.bat WIN32 bat file to set cygwin path and env variables
win32.bat WIN32 bat file to set path and env variables
win32-debug.bat WIN32 bat file to set debug path and env variables
base/configure directory - contains build definitions and rules
CONFIG Includes configure files and allows variable overrides
CONFIG.CrossCommon Cross build definitions
CONFIG.gnuCommon Gnu compiler build definitions for all archs
@@ -269,6 +288,7 @@ Build related components
Sample.Makefile Sample makefile with comments
base/configure/os directory - contains os-arch specific definitions
CONFIG.<host>.<target> Specific host-target build definitions
CONFIG.Common.<target> Specific target definitions for all hosts
CONFIG.<host>.Common Specific host definitions for all targets
@@ -281,18 +301,23 @@ Build related components
CONFIG_SITE.<host>.Common Site specific host defs for all targets
base/configure/tools directory - contains Perl scripts used for the build
convertRelease.pl Performs consistancy checks on RELEASE files
cp.pl This Perl script copies an existing file
filterWarnings.pl Filters warning messages during HP builds.
installEpics.pl Installs built files into install directories.
cvsclean.pl Remove all .#* files in directory tree
dos2unix.pl Converts text file from DOS CR/LF to unix ISO
filterWarnings.pl Filters warning messages during HP builds
fullpathName.pl Returns fullpath name of directory arg
installEpics.pl Installs built files into install directories
makeIncludeDbd.pl Creates *Include.dbd file from filename args
makeMakefile.pl Creates a Makefile in O.<arch> dirs
makeMakefileInclude.pl Creates file to be included by Makefile
mkdir.pl Creates a directory (like Unix mkdir)
mkmf.pl Generates dependencies from include stmnts
munch.pl Creates a ctdt.c file for vxWorks targets
mv.pl Renames an existing file.
mv.pl Renames an existing file
replaceVAR.pl Changes CapFast VAR(xxx) to $(xxx) notation
rm.pl Quietly removes an existing file.
rm.pl Quietly removes an existing file
Building EPICS base (Unix and Win32)
@@ -337,7 +362,7 @@ Building EPICS base (Unix and Win32)
Unix LD_LIBRARY_PATH
It is no longer necessary to have LD_LIBRARY_PATH include
EPICS directories on Unix type system. R3.14 shared libraries
EPICS directories on a Unix type system. R3.14 shared libraries
and executables will contain the full path name to libraries
they require. However, if you move the EPICS directories
from their build-time location then in order for libraries
@@ -349,11 +374,11 @@ Building EPICS base (Unix and Win32)
even if the R3.13 extensions are built with R3.14 base.
Win32 PATH
On WIN32 systems, building shared libraries is the default
setting and you will need to add fullpathname to
$(INSTALL_LOCATION)/bin/$(EPICS_HOST_ARCH) to your path.
Building shared libraries is determined by the value of the
macro SHARED_LIBRARIES in CONFIG_SITE (either YES or NO).
On WIN32 systems, for R3.14.7 and later, it is no longer necessary
to add fullpathname to $(INSTALL_LOCATION)/bin/$(EPICS_HOST_ARCH)
to your path for finding dlls during EPICS builds. The win32
configure files in base now add this directory to the path
definition.
Do site-specific build configuration
@@ -368,24 +393,24 @@ Building EPICS base (Unix and Win32)
Host configuration
To configure each host system, you may override the default
definitions by adding a new file with override definitions into
the configure/os directory. The new file should have the
definitions by adding a new file in the configure/os directory
with override definitions. The new file should have the
same name as the distribution file to be overridden except
with CONFIG in the name changed to CONFIG_SITE.
configure/os/CONFIG.<host>.<host> - Host build settings
configure/os/CONFIG.<host>.Common - Host cross build settings
configure/os/CONFIG.<host>.<host> Host build settings
configure/os/CONFIG.<host>.Common Host cross build settings
Target configuration
To configure each target system, you may override the
default definitions by adding a new file with override
definitions into the configure/os directory. The new file
default definitions by adding a new file into the configure/os
directory with override definitions. The new file
should have the same name as the distribution file to be
overridden except with CONFIG in the name replaced by
CONFIG_SITE.
configure/os/CONFIG.Common.<target> - Target cross settings
configure/os/CONFIG.<host>.<target> - Host-target settings
configure/os/CONFIG.Common.<target> Target cross settings
configure/os/CONFIG.<host>.<target> Host-target settings
R3.13 compatibility configuration
To configure EPICS base for building with R3.13 extensions

View File

@@ -35,16 +35,18 @@ To build only for win32-x86 and not cross compile for IOC development type
To compile EPICS on win32-x86, we need
WindRiver System's Tornado (used: 1.0) (not required if host only build)
Microsoft's Visual C/C++ (used: 6.0) (borland C++ rumored to work also)
Microsoft's Visual C/C++ (used: 6.0)
or borland C++
or Visual C++ toolkit 2003 with MS platform SDK
and some tools:
gnu make - www.gnu.org (we used 3.76)
perl - www.perl.org (we used 5.003)
The perl interpreter and gnu make are available 'on the net'
The gnu make and perl executables are downloadable from www.cygwin.com
The perl interpreter and gnu make are also available 'on the net'
as sources which compile with MS Visual C++.
If you cannot/don't want to find them, contact me, please!
2) set environment variables
@@ -61,7 +63,7 @@ and the MS linker will accept "/" and this will result in less trouble.
must be replaced with a "\\" (this is because GNU make treats
all "\" characters as line continuation)
** Note that that each space in any file name or
*and* Note that that each space in any file name or
path name variable you set must be replaced with
a "\ " (this is because GNU make treats all " " separated
input as independent tokens in the input stream.
@@ -107,8 +109,11 @@ MSDevDir=C:\MSDEV
include=c:\msdev\include;c:\msdev\mfc\include
lib=c:\msdev\lib;c:\msdev\mfc\lib
The EPICS build system requires EPICS_HOST_ARCH environment variable
Select host arch to build:
EPICS_HOST_ARCH=win32-x86 (used by the make system)
EPICS_HOST_ARCH=win32-x86
or
EPICS_HOST_ARCH=win32-x86-borland (if using borland C++)
Set the "TMP" environment variable if you need to specify where
temporary files are created.

View File

@@ -130,7 +130,33 @@ Known Possible Problems
application successfully, contact me.
Please feel free to contact me if you encounter serious problems.
Kernel Configuration
--------------------
HP-UX 11 has a kernel configuration parameter that limits the number of
threads that can be created within the context of a single process. This
parameter has a default of 64.
Channel Access creates two threads for each TCP connection it uses,
where one TCP connection usually corresponds to one client-server
pair. So a CA client program that connects to 30 different IOCs will use
60 threads for the CA communication.
Obviously it is advisable to increase that value from 64 to something
larger - any number higher than twice the maximum number of IOCs in your
system should be enough for regular concole systems. At some point you
will hit the limited number of kernel threads, which has to be larger
than the number uf user threads.
You will find the parameter in SAM's Kernel Configuration / Configurable
Parameters section, under the name max_thread_proc ("Max No. of Threads
allowed in each process").
Note that this kernel configuration change requires a reboot of the
machine.
So much for this README - please feel free to contact me if you
encounter serious problems.
Enjoy!
Ralph

View File

@@ -17,7 +17,7 @@ EPICS base</h2></center>
<center>
<h2>
Release 3.14.4</h2></center>
Release 3.14.*</h2></center>
<h3>
What is EPICS base?</h3>
@@ -34,8 +34,7 @@ OPIs (operator interfaces) of various types.</blockquote>
<h3>
What is new in this release?</h3>
<blockquote>This version of EPICS base contains significant changes and
offers major improvements in functionality over previous versions. Please
<blockquote> Please
check the RELEASE_NOTES file in the distribution for description of changes
and release migration details.</blockquote>
@@ -51,29 +50,40 @@ Supported platforms</h3>
<blockquote>Currently this version of EPICS base has been built on the
following hosts for the following targets. If you are trying to build EPICS
base on a different host or for a different target machine you must get
the proper host/target cross compiler and header files and you will have
the proper host/target cross compiler and header files, and you will have
to create and add the appropriate new configure files to the base/configure/os/directory.
You can start by copying existing configuration files in the configure/os
directory and then make changes for your new platforms.</blockquote>
<blockquote><b>Host platforms (operating system - architecture - &lt;alternate
c++ compiler>)</b>
<blockquote>
<blockquote>
<br><tt>aix-ppc</tt>
<br><tt>aix-ppc-gnu</tt>
<br><tt>cygwin-x86</tt>
<br><tt>darwin-ppc (Mac OS X)</tt>
<br><tt>hpux-parisc</tt>
<br><tt>hpux-parisc-gnu</tt>
<br><tt>linux-mpc82xx</tt>
<br><tt>linux-x86</tt>
<br><tt>lynxos-x86</tt>
<br><tt>osf-alpha</tt>
<br><tt>linux-x86-borland</tt>
<br><tt>solaris-sparc</tt>
<br><tt>solaris-sparc-gnu</tt>
<br><tt>solaris-x86</tt>
<br><tt>solaris-x86-gnu</tt>
<br><tt>sun4-x86</tt>
<br><tt>win32-x86</tt>
<br><tt>win32-x86-borland</tt>
</blockquote>
</blockquote>
<blockquote><b>Debugging builds</b>
<blockquote>
<br><tt>linux-x86-debug&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(GNU compiler with -g option for host builds)</tt>
<br><tt>solaris-sparc-debug&nbsp;(sun compiler with -g option for host builds)</tt>
<br><tt>win32-x86-debug&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(MS Visual C++ with debug option for host builds)</tt>
</blockquote>
</blockquote>
@@ -85,8 +95,15 @@ Cross compile target platforms (operating system - architecture)</h4>
</blockquote>
<blockquote>
<blockquote><tt>vxWorks-486</tt>
<blockquote>
<br><tt>linux-386 (linux-x86 host)</tt>
<br><tt>linux-486 (linux-x86 host)</tt>
<br><tt>linux-586 (linux-x86 host)</tt>
<br><tt>linux-686 (linux-x86 host)</tt>
<br><tt>linux-althon (linux-x86 host)</tt>
<br><tt>vxWorks-486</tt>
<br><tt>vxWorks-68040</tt>
<br><tt>vxWorks-68040-debug</tt>
<br><tt>vxWorks-68040lc</tt>
<br><tt>vxWorks-68060</tt>
<br><tt>vxWorks-pentium</tt>
@@ -94,12 +111,12 @@ Cross compile target platforms (operating system - architecture)</h4>
<br><tt>vxWorks-ppc603_long</tt>
<br><tt>vxWorks-ppc604</tt>
<br><tt>vxWorks-ppc604_long</tt>
<br><tt>vxWorks-pentium</tt>
<br><tt>RTEMS-gen68360</tt>
<br><tt>RTEMS-mcp750</tt>
<br><tt>RTEMS-mvme167</tt>
<br><tt>RTEMS-pc386</tt>
<br><tt>RTEMS-psim</tt></blockquote>
<br><tt>RTEMS-psim</tt>
</blockquote>
</blockquote>
<h3>
@@ -109,9 +126,8 @@ Supported compilers</h3>
the host vendor's C and C++ compilers as well as the GNU gcc and g++ compilers.
The GNU cross-compilers have been used for all cross-compiled targets.
You may need the host vendor's C++ compiler in your search path to do EPICS
builds. Check definitions of ACC and CCC in base/configure/os/CONFIG.&lt;host>.&lt;host>
or the definitions for GCC and G++ if ANSI=GCC and CPLUSPLUS=GCC are specified
in CONFIG_SITE.</blockquote>
builds. Check definitions of CC and CCC in base/configure/os/CONFIG.&lt;host>.&lt;host>.
</blockquote>
<h3>
Software requirements</h3>
@@ -135,17 +151,26 @@ to Tornado 2 should be specified in the base/configure/RELEASE or
base/configure/RELEASE.&lt;hostarch>
file. You will also need one or more board support packages. Consult the
vxWorks documentation for details.
<p><b>Optional GNU compiler requirement for solaris-sparc and win32-x86
hosts</b>
<br>If you have state notation language source files (*.st files) which
require c preprocessing before conversion to c source, gcc must be
in your path.</blockquote>
<p><b>GNU readline or Tecla library</b>
<br>
GNU readline and Tecla librararies can be used by the IOC shell to
provide command line editing and command line history recall and edit.
GNU readline (or Tecla library) must be installed on your target system
when COMMANDLINE_LIBRARY is set to READLINE (or TECLA) for that target.
EPICS (EPICS shell) is the default specified in CONFIG_COMMON. A READLINE
override is defined for linux-x86 in the EPICS distribution. Comment out
COMMANDLINE_LIBRARY=READLINE in configure/os/CONFIG_SITE.Common.linux-x86
if readline is not installed on linux-x86. Command-line editing and
history will then be those supplied by the os. On vxWorks the ledLib
command-line input libraries are used.
</blockquote>
<h3>
Host system storage requirements</h3>
<blockquote>The GNU zipped tar file is approximately 1.4 MB in size. The
unzipped untarred distribution source tree is approximately 6 MB. The build
unzipped untarred distribution source tree is approximately 7.3 MB. The build
created files for each host take approximately 40 MB and the build created
files for each target take approximately 10 MB.</blockquote>
@@ -153,9 +178,8 @@ files for each target take approximately 10 MB.</blockquote>
Documentation</h3>
<blockquote>EPICS documentation is available on the WWW via the EPICS home
page at APS: URL <a href="http://www.aps.anl.gov/epics">http://www.aps.anl.gov/epics</a></blockquote>
page at APS: URL <a href="http://www.aps.anl.gov/epics">http://www.aps.anl.gov/epics</a>
<blockquote>This README.html file is in the base distribution and
available on the IOC software, Base R3.14, release number, web page
which can be accessed from the APS EPICS home page.</blockquote>
@@ -178,7 +202,7 @@ other WWW links on the EPICS home page at APS.</blockquote>
Mailing List</h4>
<blockquote>There is an EPICS mailing list called tech-talk which is hosted at
APS with a list repeater at BESSY. See The EPICS home page for subscription
APS with a list repeater at BESSY. See the EPICS home page for subscription
instructions.</blockquote> </blockquote>
<h3>
@@ -186,7 +210,7 @@ Directory Structure</h3>
<blockquote>Distribution directory structure:</blockquote>
<tt>&nbsp;&nbsp;&nbsp;&nbsp; base&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Root directory of the base istribution</tt>
Root directory of the base distribution</tt>
<br><tt>&nbsp;&nbsp;&nbsp;&nbsp; base/config&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
R3.13 compatibility build configuration files</tt>
<br><tt>&nbsp;&nbsp;&nbsp;&nbsp; base/config/tools&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
@@ -197,6 +221,8 @@ Operating system independent build config files</tt>
Operating system dependent build config files</tt>
<br><tt>&nbsp;&nbsp;&nbsp;&nbsp; base/configure/tools&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Perl and shell scripts used in the build</tt>
<br><tt>&nbsp;&nbsp;&nbsp;&nbsp; base/documentation&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Distributation documentation</tt>
<br><tt>&nbsp;&nbsp;&nbsp;&nbsp; base/src&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
All epics base source code in subdirectories</tt>
<br><tt>&nbsp;&nbsp;&nbsp;&nbsp; base/src/RTEMS&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
@@ -209,6 +235,8 @@ Break point table</tt>
Channel access</tt>
<br><tt>&nbsp;&nbsp;&nbsp;&nbsp; base/src/cas&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Channel access server library and examples</tt>
<br><tt>&nbsp;&nbsp;&nbsp;&nbsp; base/src/catools&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Channel access tools caget, cainfo, camonitor, caput</tt>
<br><tt>&nbsp;&nbsp;&nbsp;&nbsp; base/src/db&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Database access</tt>
<br><tt>&nbsp;&nbsp;&nbsp;&nbsp; base/src/db/test&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
@@ -219,14 +247,14 @@ Static database access</tt>
Database dbLoadTemplate tools</tt>
<br><tt>&nbsp;&nbsp;&nbsp;&nbsp; base/src/dev&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Device support (softDev and testDev)</tt>
<br><tt>&nbsp;&nbsp;&nbsp;&nbsp; base/src/excas&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Example channel access server</tt>
<br><tt>&nbsp;&nbsp;&nbsp;&nbsp; base/src/gdd&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
General data descriptor</tt>
<br><tt>&nbsp;&nbsp;&nbsp;&nbsp; base/src/iocsh&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Ioc shell command interpreter</tt>
<br><tt>&nbsp;&nbsp;&nbsp;&nbsp; base/src/libCom&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
General purpose library code in subdirectories</tt>
<br><tt>&nbsp;&nbsp;&nbsp;&nbsp; base/src/libCom/RTEMS&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Code to configure RTEMS for EPICS</tt>
<br><tt>&nbsp;&nbsp;&nbsp;&nbsp; base/src/libCom/bucketLib&nbsp;&nbsp;&nbsp;
Hash bucket</tt>
<br><tt>&nbsp;&nbsp;&nbsp;&nbsp; base/src/libCom/calc&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
@@ -266,15 +294,11 @@ Methods for creating and using ring buffers</tt>
<br><tt>&nbsp;&nbsp;&nbsp;&nbsp; base/src/libCom/taskwd&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Task watchdog</tt>
<br><tt>&nbsp;&nbsp;&nbsp;&nbsp; base/src/libCom/test&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Test tools (timer, semBinary, semMutex,fdmgr, ?)</tt>
Test tools (timer, semBinary, semMutex,fdmgr, ...)</tt>
<br><tt>&nbsp;&nbsp;&nbsp;&nbsp; base/src/libCom/timer&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Timer</tt>
<br><tt>&nbsp;&nbsp;&nbsp;&nbsp; base/src/libCom/tsDefs&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
R3.13 time stamp definitions and routines</tt>
<br><tt>&nbsp;&nbsp;&nbsp;&nbsp; base/src/libCom/ring&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
ringPointer: First in first out circular buffers</tt>
<br><tt>&nbsp;&nbsp;&nbsp;&nbsp; base/src/libCom/cppStd&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
epicsList: Lists of pointers to objects</tt>
<br><tt>&nbsp;&nbsp;&nbsp;&nbsp; base/src/makeBaseApp&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Perl tool+templates to create ioc app dvl tree</tt>
<br><tt>&nbsp;&nbsp;&nbsp;&nbsp; base/src/makeBaseExt&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
@@ -287,6 +311,8 @@ Record support</tt>
EPICS support function registry</tt>
<br><tt>&nbsp;&nbsp;&nbsp;&nbsp; base/src/rsrv&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Channel access ioc resource server library</tt>
<br><tt>&nbsp;&nbsp;&nbsp;&nbsp; base/src/softIoc&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Example softIoc</tt>
<br><tt>&nbsp;&nbsp;&nbsp;&nbsp; base/src/toolsComm&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Code for the build tools antelope and e_flex</tt>
<br><tt>&nbsp;&nbsp;&nbsp;&nbsp; base/src/util&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
@@ -301,14 +327,16 @@ build:
Installed scripts and executables in subdirs</tt>
<br><tt>&nbsp;&nbsp;&nbsp;&nbsp; base/db&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Installed data bases</tt>
<br><tt>&nbsp;&nbsp;&nbsp;&nbsp; base/html&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Installed html documentation</tt>
<br><tt>&nbsp;&nbsp;&nbsp;&nbsp; base/dbd&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Installed data base definitions</tt>
<br><tt>&nbsp;&nbsp;&nbsp;&nbsp; base/html&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Installed html documentation</tt>
<br><tt>&nbsp;&nbsp;&nbsp;&nbsp; base/include&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Installed header files</tt>
<br><tt>&nbsp;&nbsp;&nbsp;&nbsp; base/include/os&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Installed os specific header files</tt>
<br><tt>&nbsp;&nbsp;&nbsp;&nbsp; base/javalib&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Installed java class and jar files</tt>
<br><tt>&nbsp;&nbsp;&nbsp;&nbsp; base/lib&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Installed libraries in arch subdirectories</tt>
<br><tt>&nbsp;&nbsp;&nbsp;&nbsp; base/templates&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
@@ -323,15 +351,20 @@ base/documentation/README* files</li>
<br><tt>README.1st&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Instructions for setup and building epics base</tt>
<br><tt>README.html&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
(html version of README.1st</tt>
html version of README.1st</tt>
<br><tt>README.WIN32&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Microsoft
WIN32 specific instructions</tt>
<br><tt>README.cxxTemplates&nbsp; Information about C++ templates in EPICS
base</tt>
<br><tt>README.niCpu030&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; NI cpu030 specific
instructions</tt>
<br><tt>README.darwin&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Installation notes
<br><tt>README.darwin&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Installation notes
for Mac OS X (Darwin)</tt>
<br><tt>RELEASE_NOTES.html&nbsp;&nbsp; Notes on release changes</tt>
<br><tt>KnownProblems.html&nbsp;&nbsp; List of known problems and workarounds</tt>
<br><tt>Converting*To*.html&nbsp; Release specific conversion instructions</tt>
<br><tt>Building*With*.html&nbsp; Release specific build instructions</tt>
<br>&nbsp;
<li>
base/startup directory - contains scripts to set environment and path</li>
@@ -345,9 +378,13 @@ script to set path and env variables</tt>
<br><tt>Site.cshrc&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
c shell script to set path and env variables</tt>
<br><tt>borland.bat&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; WIN32
bat file to set path and env variables</tt>
bat file to set borland path and env variables</tt>
<br><tt>cygwin.bat&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
WIN32 bat file to set cygwin path and env variables</tt>
<br><tt>win32.bat&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
WIN32 bat file to set path and env variables</tt>
<br><tt>win32-debug.bat&nbsp;&nbsp;&nbsp;&nbsp;
WIN32 debug bat file to set debug path and env variables</tt>
<br>&nbsp;
<li>
base/configure&nbsp; directory - contains build definitions and rules</li>
@@ -379,6 +416,8 @@ Location of external products such as Tornado II</tt>
Includes appropriate rules file</tt>
<br><tt>RULES.Db&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Rules for database and database definition files</tt>
<br><tt>RULES.ioc&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Rules for application iocBoot/ioc* directory</tt>
<br><tt>RULES_ARCHS&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Definitions and rules for building architectures</tt>
<br><tt>RULES_BUILD&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
@@ -418,15 +457,23 @@ for all targets</tt>
<li>
base/configure/tools directory - contains Perl scripts used for the build</li>
<br><tt>MakeReleae&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Unix shell script to create a release tar file</tt>
<br><tt>convertRelease.pl&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Performs
consistancy checks on RELEASE files</tt>
<br><tt>cp.pl&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
This Perl script copies an existing file</tt>
<br><tt>cvsclean.pl&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Remove all .#* files in directory tree</tt>
<br><tt>dos2unix.pl&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;
Converts text file from DOS CR/LF to unix ISO</tt>
<br><tt>filterWarnings.pl&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Filters warning messages during HP builds</tt>
<br><tt>fullpathName.pl&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Returns fullpath name of directory arg</tt>
<br><tt>installEpics.pl&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Installs built files into install directories.</tt>
<br><tt>makeDependsTargets.pl&nbsp;&nbsp; Creates targets of include dependency
Installs built files into install directories</tt>
<br><tt>makeIncludeDbd.pl&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Creates *Include.dbd file from filename args</tt>
files</tt>
<br><tt>makeMakefile.pl&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Creates a Makefile in O.&lt;arch> dirs</tt>
@@ -442,7 +489,7 @@ Renames an existing file.</tt>
<br><tt>replaceVAR.pl&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Changes CapFast VAR(xxx) to $(xxx) notation</tt>
<br><tt>rm.pl&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Quietly removes an existing file.</tt></blockquote>
Quietly removes an existing file</tt></blockquote>
<h3>
Building EPICS base (Unix and Win32)</h3>
@@ -482,15 +529,15 @@ variable PERLLIB be set to &lt;perl directory location>.
As already mentioned, you must have the perl executable and you may
need C and C++ compilers in your search path. For building base you also
must have echo in your search path. For Unix host builds you also need
touch, cpp, cp, rm, mv, and mkdir in your search path and /bin/chmod must
ln, cpp, cp, rm, mv, and mkdir in your search path and /bin/chmod must
exist. On some Unix systems you may also need ar and ranlib in your path,
and the c compiler may require ld in your path. On solaris systems you
and the c compiler may require as and ld in your path. On solaris systems you
need uname in your path.
<p><b>LD_LIBRARY_PATH</b>
<br>
It is no longer necessary to have LD_LIBRARY_PATH include
EPICS directories on Unix type system. R3.14 shared libraries
EPICS directories on a Unix type system. R3.14 shared libraries
and executables will contain the full path name to libraries
they require. However, if you move the EPICS directories
from their build-time location then in order for libraries
@@ -503,10 +550,11 @@ even if the R3.13 extensions are built with R3.14 base.
<p><b>Win32 PATH</b>
<br>
On WIN32 systems, building shared libraries is the default setting
and you will need to add fullpathname to $(INSTALL_LOCATION)/lib/$(EPICS_HOST_ARCH)
to your path. Building shared libraries is determined by the value of the
macro SHARED_LIBRARIES in CONFIG_SITE (either YES or NO).
On WIN32 systems, for R3.14.7 and later, it is no longer necessary
to add fullpathname to $(INSTALL_LOCATION)/bin/$(EPICS_HOST_ARCH)
to your path for finding dlls during EPICS builds. The win32
configure files in base now add this directory to the path
definition.
</blockquote>
@@ -515,29 +563,33 @@ macro SHARED_LIBRARIES in CONFIG_SITE (either YES or NO).
<blockquote><b>Site configuration</b>
<br>To configure EPICS, you may want to modify the default definitions
in the following files:
<blockquote><tt>configure/CONFIG_SITE&nbsp;&nbsp;&nbsp;&nbsp; </tt>Build
choices. Specify target archs.
<br><tt>configure/CONFIG_SITE_ENV </tt>Environment variable&nbsp; defaults
<br><tt>configure/RELEASE&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </tt>TORNADO
2 full path location</blockquote>
<blockquote>
<tt>configure/CONFIG_SITE&nbsp;&nbsp;&nbsp;&nbsp; </tt>
Build choices. Specify target archs.
<tt>configure/CONFIG_SITE_ENV </tt>
Environment variable defaults
<tt>configure/RELEASE&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt>
TORNADO 2 full path location
</blockquote>
<b>Host configuration</b>
<br>To configure each host system, you may override the default definitions
by adding a new file with override definitions into the configure/os directory.
by adding a new file in the configure/os directory with override definitions.
The new file should have the same name as the distribution file to be overridden
except with CONFIG in the name changed to CONFIG_SITE.
<blockquote><tt>configure/os/CONFIG.&lt;host>.&lt;host></tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
- Host build settings
Host build settings
<br><tt>configure/os/CONFIG.&lt;host>.Common</tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
- Host cross build settings</blockquote>
Host cross build settings</blockquote>
<b>Target configuration</b>
<br>To configure each target system, you may override the default definitions
by adding a new file with override definitions into the configure/os directory.
by adding a new file in the configure/os directory with override definitions.
The new file should have the same name as the distribution file to be overridden
except with CONFIG in the name replaced by CONFIG_SITE.
<blockquote><tt>configure/os/CONFIG.Common.&lt;target></tt>&nbsp;&nbsp;
- Target cross settings
<br><tt>configure/os/CONFIG.&lt;host>.&lt;target>&nbsp;</tt> - Host-target
settings</blockquote>
Target cross settings
<br><tt>configure/os/CONFIG.&lt;host>.&lt;target>&nbsp;</tt>
Host-target settings
</blockquote>
<b>R3.13 compatibility configuration</b>
<br>To configure EPICS base for building with R3.13 extensions and ioc
applications , you must modify the default definitions in the base/config/CONFIG_SITE*
@@ -568,7 +620,7 @@ host systems and for multiple cross target systems. The intermediate and
binary files generated by the build will be created in separate subdirectories
and installed into the appropriate separate host/target install directories.
EPICS executables and perl scripts are installed into the <tt>$(INSTALL_LOCATION)/bin/&lt;arch></tt>
directories. Libraries are installed into $<tt><font size=+1>(INSTALL_LOCATION)/lib/&lt;arch></font></tt>.
directories. Libraries are installed into $<tt>(INSTALL_LOCATION)/lib/&lt;arch></tt>.
The default definition for <tt>$(INSTALL_LOCATION)</tt> is <tt>$(TOP)</tt>
which is the root directory in the distribution directory structure, base.
Created object files are stored in O.&lt;arch> source subdirectories, This

View File

@@ -7,11 +7,397 @@
</head>
<body lang="en">
<h1 align="center">EPICS Base Release 3.14.7<br>
7 December 2004</h1>
<h1 align='center'>EPICS Base Release 3.14.5<br>
4 February 2004</h1>
<h2 align="center">Changes since 3.14.6</h2>
<h2 align='center'>Changes since 3.14.4</h2>
<h4>selRecord</h4>
<p>The select record type has for a long time made use of a coule of magic
numbers (1e+30 and -1e+30) to mean "not a real value", which prevents the record
from working properly if one or other of these appears as an actual data value.
These have been changed to use +Inf and -Inf or NaN instead, so +/-1e+30 may be
used as a data value.</p>
<h4>ai, ao, dfanout and subroutine Records</h4>
<p>These record types have been modified to respond better to NaN values as
follows: if the VAL field contains a NaN value, the UDF field will be set and an
undefined value alarm will be triggered.</p>
<h4>epicsStdlib.h/epicsStrtod()</h4>
<p>epicsStdlib.h declares epicsStrtod() which provides a version of
strtod which handles NAN/INF on all architectures. All uses of strtod() in
base have been converted to use epicsStrtod().</p>
<p>epicsStdlib.h also declares epicsScanFloat() and epicsScanDouble() which
replace calls to sscanf with routines which handle NAN/INF on all architectures.</p>
<h4>epicsThreadCreate Stacksize Posix</h4>
<p>The posix implementation of epicsThreadCreate now makes pthread
calls to set the stack size. The sizes for (small,medium,large) stack
sizes are (128K,256K,512K). This is used for at least the following:
linux, solaris, HPUX, Darwin). Doing this allows creation of many more
threads os most systems.</p>
<h4>dbNotify</h4>
<p>dbNotifyCancel now waits if the userCallback is active when dbNotifyCancel
is called. Previously it just returned. NOTE CAREFULLY. This means
that the userCallback must not free the putNotify structure.</p>
<h4>CA commandline tools</h4>
<p>caget and camonitor now have an additional "-s" option to explicitly
request server-side string conversion, which - in case of the regular CA
server - leads to "precision" info (e.g. the PREC field of an EPICS
record) being honoured.</p>
<h4>POSIX signals</h4>
<p>Signals are blocked in all but the main thread. Applications/drivers
which require signal delivery to a subthread will need to be modified.</p>
<h4>epicsExit</h4>
Three new functions are implemented: <span
style="font-family: courier">epicsExit</span>, <span
style="font-family: courier">epicsExitCallAtExits</span>, and <span
style="font-family: courier">epicsAtExit</span>. These are similar to <span
style="font-family: courier">exit</span> and <span
style="font-family: courier">atexit</span>, i.e. they provide the ability to
register a function to be called when the process exits. They are provided
becase neither vxWorks or win32 properly implement <span
style="font-family: courier">exit</span> and <span
style="font-family: courier">atexit</span>. Note that they apply to an IOC
stopping NOT to a thread exiting.
<h4>epicsStdio and epicsStdioRedirect</h4>
<p>In order to support iocsh redirection of <span
style="font-family: courier">stdin</span>, <span
style="font-family: courier">stdout</span>, and <span
style="font-family: courier">stderr</span>, <span
style="font-family: courier">epicsStdio.h</span> defines the following new
functions: <span style="font-family: courier">epicsGetStdin</span>, <span
style="font-family: courier">epicsGetStdout</span>, <span
style="font-family: courier">epicsGetStderr</span>, <span
style="font-family: courier">epicsSetStdin</span>, <span
style="font-family: courier">epicsSetStdout</span>, <span
style="font-family: courier">epicsSetStderr</span>, and <span
style="font-family: courier">epicsStdoutPrintf</span>. <span
style="font-family: courier">epicsStdioRedirect.h</span> defines macros that
redefine <span style="font-family: courier">stdin</span>, <span
style="font-family: courier">stdout</span>, <span
style="font-family: courier">stderr</span>, and <span
style="font-family: courier">printf</span>.</p>
<p>Any code that includes <span
style="font-family: courier">epicsStdioRedirect.h</span> will automatically
have it's stdio redirected. It has been added to many files in base. If code
called by dbior wants it's output redirected, it must also include this
file.</p>
<h4>IOC Test Facilities</h4>
<p>Any command that previously had an argument for a report file name no
longer has the argument. The new iocsh redirection capability is now used.
For example the former command:</p>
<pre> dbl "0" reportName</pre>
<pre>Is now:</pre>
<pre> dbl &gt; reportName</pre>
Note that this does NOT work on the vxWorks shell only on iocsh. On the
vxWorks shell the following command can be given:
<pre> iocshCmd("dbl &gt; reportName")</pre>
<h4>errlog</h4>
<p>errlog now calls <span style="font-family: courier">epicsAtExit</span> and
releases all resources when <span
style="font-family: courier">epicsExitCallAtExits</span> is callled..</p>
<h4>libCom</h4>
<p>epicsStrGlobMatch() routine added.</p>
<h4>iocsh</h4>
<p>Input/output redirection added.</p>
<p>iocshCmd routine added (callable from vxWorks shell).</p>
<p>help command uses globbing.</p>
<h4>calcoutRecord</h4>
<p>The ODLY (Output Delay) was not handled properly. This is fixed.</p>
<h4>compressRecord</h4>
<p>make sure reset gets called when size of INP array changes.</p>
<h4>dbAccess DBR_ENUM_STRS for field DTYP</h4>
<p>Data Base Request Option DBR_ENUM_STRS for the DTYP field of soft records
can cause an IOC to crash.</p?<h2align="center"></p>
<h4>RTEMS</h4>
<p>RTEMS implementation of epicsMessageQueuePending() now works.</p>
<p>Added support for MVME2100 BSP.</p>
<p>Added support for building RTEMS bootable images.</p>
<h4>iocBoot/ioc* build change</h4>
<p>The cdCommands and envPaths files are now created in ioc* directory only
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>
<h4>CA command line tools complete</h4>
<p>The complete set of Channel Access command line tools (caget, caput,
camonitor, cainfo) is available as announced during the May 2004 Collab.
meeting. Documentation is part of the CA Reference Manual. Be aware of
possible name conflicts with existing local tools.</p>
<h4>IOC template file configure/RULES.iocBoot removed</h4>
<p>The directory name wildcards that were defined here have been moved to
iocBoot/Makefile, which as a result is no longer unique in having its own
configure/RULES file.</p>
<h4>APS Virtual Linac template removed</h4>
<p>This is really a demo and a complete EPICS IOC application, not a
template. It will be made available separately.</p>
<h4>EPICS_HOST_ARCH win32-x86-cygwin renamed to cygwin-x86</h4>
<p>The EPICS_HOST_ARCH win32-x86-cygwin was renamed cygwin-x86 to avoid
confusion about what OS interfaces are used on Windows: native win32 or
cygwin's emulation of POSIX. Now we have</p>
<ul>
<li>win32-x86 Uses native win32 interfaces with MS compiler.</li>
<li>win32-x86-borland Uses native win32 interfaces with borland
compiler.</li>
<li>win32-x86-gnu Uses native win32 interfaces with cygwin gnu compiler.
(Not implemented yet.)</li>
<li>cygwin-x86 Uses cygwin POSIX interfaces with cygwin gnu compiler.</li>
</ul>
<h4>EPICS_TS_NTP_INET</h4>
<p>The time server's IP address used by the vxWorks clock routines was not
reading the default value from the generated envData.c file but going
straight to the boot host if no environment variable by that name was set.</p>
<h4>CONFIG_ENV and CONFIG_SITE_ENV</h4>
<p>These files are now parsed by a program that recognizes and ignores
comment lines. Previous versions of this parser would extract settings from
these files even if they appear on a line starting with a '#' character, so
the last line containing a setting for any variable would give the value used
as the default. This was first noticed in R3.14.5 where a commented-out
setting for the <code>EPICS_TIMEZONE</code> parameter was added
<em>after</em> the uncommented version.</p>
<h4>db test shell commands</h4>
<p>Many of the commands crashed if given no arguments. They are now more
crash proof.</p>
<h4>db_access - conversion of double to float</h4>
<p>When a CA user asked for display or control limits as a float a 0 value
was returned as -1.17549435E-38. This is now fixed.</p>
<h4>New DBD rule</h4>
<p>A new dbd rule will create a &lt;name&gt;Include.dbd from files specified
in a &lt;name&gt;_DBD macro definition. An include line will be placed in the
&lt;name&gt;Include.dbd for each file specified in the &lt;name&gt;_DBD
definition. If a Makefile contains</p>
<pre> DBD=xxx.dbd
xxx_DBD = f1.dbd f2.dbd f3.dbd </pre>
<p>an xxxInclude.dbd file will be created containing the lines</p>
<pre> include "f1.dbd"
include "f2.dbd"
include "f1.dbd"</pre>
<p>and dbExpand will be invoked to create the xxx.dbd file from the
xxxInclude.dbd.</p>
<h4>Solaris Builds</h4>
<p>Old solaris 6 specific compiler options have been removed.</p>
<h4>New make targets cvsclean and archclean</h4>
<p>The new top level Makefile only target, cvsclean, removes cvs .#* files in
all dirs of the top directory tree.</p>
<p>The new archclean target is like the clean target except that O.Common
directories are not removed.</p>
<h4>epicsString</h4>
<p>Add epicsSnStrPrintEscaped.</p>
<h4>epicsExport</h4>
<p>epicsExportAddress(typ,obj) now generates an extern named pvar_typ_obj and
epicsExportRegistrar(func) an extern named pvar_func_obj. Previously both
just named the variable pobj.</p>
<p>epicsRegisterFunction(name) in conjunction with the dbd 'function' keyword
can be used to register functions referred to by record subroutine name
fields.</p>
<h4>Access Security</h4>
<p>The access security configuration rules now accept quoted strings where
just names were allowed previously.</p>
<p>All dump routines now have FP version.</p>
<p>A new shell command "ascar(int level)" is now available. It produces a
report of the INP channel access connections. Level (0,1,2) produces (a
summary report, summary plus unconnected channels, summary plus report of all
channels)</p>
<h4>Channel Access Client Library</h4>
<ul>
<li>Fixed "subscription updates intermittently do not resume when
unresponsive circuit reconnects" bug
<ul>
<li>Scope:
<p>This bug was introduced in R3.14.5 and does not exist in any other
release.</p>
</li>
<li>Symptom:
<p>Subscription updates intermittently do not resume depending on
circumstances when unresponsive circuit reconnects</p>
</li>
<li>Additional Information:
<p>A decision was made to add a change to EPICS R3.14.5 so that when
a TCP circuit is temporarily unresponsive the channel, but not the
circuit, is immediately disconnected. This change was determined to
be necessary to improve overall system robustness in the face of IOC
or network overload. Unfortunately, an error was made when installing
these changes. I am sorry about any inconvenience that this has
caused. Thanks to Ken Evans at the APS for discovering this
problem.</p>
</li>
</ul>
</li>
<li>Fixed "ca_replace_access_rights_event() fails if passed a nill function
pointer" bug
<ul>
<li>Scope:
<p>This bug probably exists in all R3.14 releases.</p>
</li>
<li>Symptom:
<p>Passing a nill function pointer to
ca_replace_access_rights_event() should install a noop handler, but
this currently causes a failure.</p>
</li>
<li>Additional information:
<p>Regression tests have been installed to detect this mistake.</p>
</li>
</ul>
</li>
<li>Fixed "CA client library crash when clear channel request occurs in get
callback handler" bug
<ul>
<li>Scope:
<p>This bug was introduced in R3.14.5 and does not exist in any other
release.</p>
</li>
<li>Symptom:
<p>CA client library crash when clear channel request occurs in get
callback handler</p>
</li>
<li>Additional information:
<p>When testing the striptool application, Ken Evans, discovered a
bug in the CA client library occurring when a clear channel request
occurs in get callback handler. Regression tests have been updated so
that this mistake will not slip through testing undetected in a
future release.</p>
</li>
</ul>
</li>
<li>Fixed "Double server subscription install when subscription request
occurs in connection callback handler" bug
<ul>
<li>Scope:
<p>This bug was introduced in R3.14.5 and does not exist in any other
release. Subscription request must be made from within connection
callback handler</p>
</li>
<li>Symptom:
<p>It has been discovered (by Ken Evans while testing the gateway)
that certain subscription requests were persisting in the gateway
after clients had deleted them. This bug causes additional resources
to be consumed, but does not result in a crash.</p>
</li>
<li>Additional information
<p>Additional debugging has revealed that the CA client library in
this situation inadvertently made the subscription request twice:
once at the users&#x2019; request, and later on again when the
library auto installed subscriptions for disconnected channels.</p>
</li>
</ul>
</li>
<li>Fixed "failure when deleting channel in get callback handler" bug
<ul>
<li>Scope:
<p>Probably introduced in a previous R3.14 release.</p>
</li>
<li>Symptom:
<p>An intermittent C++ exceptions during regression testing.</p>
</li>
</ul>
</li>
</ul>
<ul>
<li>Behavior Changes
<ul>
<li>Process blocks attempting to exit if the application does not call
ca_context_destroy()
<p>In EPICS release R3.14 the CA client library is implemented using
axillary threads. If the application does not call
ca_context_destroy() these threads will still be running, and
depending on operating system conventions the process may
<em>not</em> exit if the main thread exits, but axillary threads are
still running. Note that ca_context_destroy() is functionally
equivalent to the deprecated call ca_task_exit().</p>
</li>
</ul>
</li>
</ul>
<h4>Channel Access Portable Server (used by the CA gateway and others)</h4>
<ul>
<li>Fixed "assert fail when writing string through Portable CA Server" bug
<ul>
<li>Scope:
<p>This bug is only present in the portable CA server and so it does
<em>not</em> impact IOC based applications. The bug is present in the
CA gateway and any portable CA server based application. This problem
may have been recently introduced when GDD was patched to properly
handle fixed sized strings.</p>
</li>
<li>Symptom:
<p>Failure, when writing large string through the portable CA server.
There appears to be a possibility of the wrong string being written
when a smaller string is used. You may see the following message.</p>
<p>A call to "assert (! this-&gt;pValue-&gt;unreference ())" failed
in ..\..\..\..\include\smartGDDPointer.h line 88.</p>
</li>
<li>Additional Information:
<p>Thanks to Stephanie Alison at SLAC for discovering the bug and to
Ken Evans at the APS for reminding me to fix it.</p>
</li>
</ul>
</li>
</ul>
<h2 align="center">Changes since 3.14.4</h2>
<h4>dbtr</h4>
@@ -71,7 +457,7 @@ to experiment with other CA client tools.</p>
<h4>Stringin record time-stamp soft device support</h4>
Add simple device support for converting time to nicely-formatted string
using INP field as epicsTimeToStrftime format string:
<pre>record(stringin, "$(user):now")
<pre>record(stringin, "$(user)now")
{
field(DESC, "Current time and date")
field(DTYP, "Soft Timestamp")
@@ -88,7 +474,7 @@ using INP field as epicsTimeToStrftime format string:
production CA gateway at the APS.</li>
</ul>
<h4>Channel Access Original Server (used in IOC) </h4>
<h4>Channel Access Original Server (used in IOC)</h4>
<ul>
<li>A bug causing the server threads to become stuck in a state where they
process requests, but no longer send responses, if in the past the system
@@ -133,6 +519,10 @@ using INP field as epicsTimeToStrftime format string:
channels in these situations at 2 seconds but due to the above bug the
delay was more like 64mS. This bug appears only in earlier versions of
EPICS R3.14.</li>
<li>A bug has been found in the CA repeater supplied with EPICS R3.14.2
through R3.14.4 (inclusive). The symptom will be clients running for more
than a few minuites do not connect to a newly introduced server. Fixed in
R3.14.5.</li>
</ul>
<h4>dbCa</h4>
@@ -453,7 +843,7 @@ bad news is that it does mean changes for existing 3.14.1 applications.
Please see:</p>
<p><a
href="ConvertingR3.14.1AppsToR3.14.2.html">ConvertingR3.14.1AppsToR3.14.2</a></p>
href="../2-docs/ConvertingR3.14.1AppsToR3.14.2.html">ConvertingR3.14.1AppsToR3.14.2</a></p>
<p>for details. If you are using the <strong>function</strong> DBD keyword it
no longer exists. Please read this conversion document for details.</p>

View File

@@ -41,7 +41,7 @@ have been responsible for specific tasks in the past:</p>
</tr>
<tr>
<td> </td>
<td>Marty Kraimer</td>
<td>Release Manager</td>
<td>Email all developers about the upcoming release and ask for a list
of remaining jobs that must be finished.</td>
</tr>
@@ -54,7 +54,7 @@ have been responsible for specific tasks in the past:</p>
</tr>
<tr>
<td> </td>
<td>Marty Kraimer</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>
@@ -104,6 +104,18 @@ have been responsible for specific tasks in the past:</p>
<td>Run the CA client side regression tests on all available host
platforms.</td>
</tr>
<tr>
<td> </td>
<td>Release Manager</td>
<td>Check that the documentation has been updated:
<ul>
<li>Application Developers Guide</li>
<li>Release Notes</li>
<li>Known Problems (hopefully empty)</li>
<li>Other documents (converting...)</li>
</ul>
</td>
</tr>
<tr>
<td> </td>
<td>?</td>

View File

@@ -16,6 +16,10 @@ SRCS += rtems_netconfig.c
SRCS += rtems_util.c
SRCS += rtems_dummyreg.c
SRCS_RTEMS-mvme2100 += setBootConfigFromPPCBUGNVRAM.c
SRCS_RTEMS-mvme5500 += setBootConfigFromMOTLOADNVRAM.c
SRCS += $(SRCS_$(T_A))
LIBRARY_RTEMS = rtemsCom
LIBRARY_SRCS = $(SRCS) $(BUILD_ARCHS)

View File

@@ -8,8 +8,8 @@
* RTEMS configuration for EPICS
* $Id$
* Author: W. Eric Norum
* eric@cls.usask.ca
* (306) 966-6055
* norume@aps.anl.gov
* (630) 252-4793
*/
#include <rtems.h>
@@ -29,8 +29,9 @@
#define CONFIGURE_MAXIMUM_TIMERS rtems_resource_unlimited(20)
#define CONFIGURE_MAXIMUM_MESSAGE_QUEUES rtems_resource_unlimited(5)
#define CONFIGURE_LIBIO_MAXIMUM_FILE_DESCRIPTORS 50
#define CONFIGURE_LIBIO_MAXIMUM_FILE_DESCRIPTORS 100
#define CONFIGURE_USE_IMFS_AS_BASE_FILESYSTEM
#define CONFIGURE_MAXIMUM_DRIVERS 8
#define CONFIGURE_MICROSECONDS_PER_TICK 20000
@@ -47,5 +48,8 @@ rtems_task Init (rtems_task_argument argument);
#define CONFIGURE_APPLICATION_NEEDS_CONSOLE_DRIVER
#define CONFIGURE_APPLICATION_NEEDS_CLOCK_DRIVER
#ifndef __mc68040__ /* MVME167 doesn't have RTC code 'yet' */
#define CONFIGURE_APPLICATION_NEEDS_RTC_DRIVER
#endif
#include <confdefs.h>
#include <rtems/confdefs.h>

View File

@@ -25,7 +25,6 @@
#include <rtems/error.h>
#include <rtems/stackchk.h>
#include <rtems/rtems_bsdnet.h>
#include <rtems/tftp.h>
#include <epicsThread.h>
#include <errlog.h>
@@ -151,30 +150,114 @@ LogNetFatal (const char *msg, int err)
delayedPanic (msg);
}
void *
mustMalloc(int size, const char *msg)
{
void *p;
if ((p = malloc (size)) == NULL)
LogFatal ("Can't allocate space for %s.\n");
return p;
}
/*
***********************************************************************
* REMOTE FILE ACCESS *
***********************************************************************
*/
/*
* Add TFTP server and target prefix to pathnames
*/
#ifdef OMIT_NFS_SUPPORT
# include <rtems/tftp.h>
#endif
static void
rtems_set_directory (void)
initialize_remote_filesystem(const char **argv)
{
#ifdef OMIT_NFS_SUPPORT
char *path;
int pathsize = 200;
int l;
if ((path = malloc (pathsize)) == NULL)
LogFatal ("Can't create TFTP path name -- no memory.\n");
printf ("***** Initializing TFTP *****\n");
rtems_bsdnet_initialize_tftp_filesystem ();
path = mustMalloc(pathsize, "Command path name ");
strcpy (path, "/TFTP/BOOTP_HOST/epics/");
l = strlen (path);
if (gethostname (&path[l], pathsize - l - 2) || (path[l] == '\0'))
if (gethostname (&path[l], pathsize - l - 10) || (path[l] == '\0'))
LogFatal ("Can't get host name");
strcat (path, "/");
if (chdir (path) < 0)
LogFatal ("Can't set initial TFTP directory");
strcat (path, "/st.cmd");
argv[1] = path;
#else
char *server_path;
char *mount_point;
char *cp;
int l = 0;
printf ("***** Initializing NFS *****\n");
rpcUdpInit();
nfsInit(0,0);
/*
* Use first component of nvram/bootp command line pathname
* to set up initial NFS mount. A "/tftpboot/" is prepended
* if the pathname does not begin with a '/'. This allows
* NFS and TFTP to have a similar view of the remote system.
*/
if (rtems_bsdnet_bootp_cmdline[0] == '/')
cp = rtems_bsdnet_bootp_cmdline + 1;
else
cp = rtems_bsdnet_bootp_cmdline;
cp = strchr(cp, '/');
if ((cp == NULL)
|| ((l = cp - rtems_bsdnet_bootp_cmdline) == 0))
LogFatal("\"%s\" is not a valid command pathname.\n", rtems_bsdnet_bootp_cmdline);
cp = mustMalloc(l + 20, "NFS mount paths");
server_path = cp;
if (rtems_bsdnet_bootp_cmdline[0] == '/') {
mount_point = server_path;
strncpy(mount_point, rtems_bsdnet_bootp_cmdline, l);
mount_point[l] = '\0';
argv[1] = rtems_bsdnet_bootp_cmdline;
}
else {
char *abspath = mustMalloc(strlen(rtems_bsdnet_bootp_cmdline)+2,"Absolute command path");
strcpy(server_path, "/tftpboot/");
mount_point = server_path + strlen(server_path);
strncpy(mount_point, rtems_bsdnet_bootp_cmdline, l);
mount_point[l] = '\0';
mount_point--;
strcpy(abspath, "/");
strcat(abspath, rtems_bsdnet_bootp_cmdline);
argv[1] = abspath;
}
nfsMount(rtems_bsdnet_bootp_server_name, server_path, mount_point);
free(cp);
#endif
argv[0] = rtems_bsdnet_bootp_boot_file_name;
}
/*
* Get to the startup script directory
* The TFTP filesystem requires a trailing '/' on chdir arguments.
*/
static void
set_directory (const char *commandline)
{
const char *cp;
char *directoryPath;
int l;
cp = strrchr(commandline, '/');
if (cp == NULL)
l = strlen(commandline);
else
l = cp - commandline;
directoryPath = mustMalloc(l + 2, "Command path directory ");
strncpy(directoryPath, commandline, l);
directoryPath[l] = '/';
directoryPath[l+1] = '\0';
if (chdir (directoryPath) < 0)
LogFatal ("Can't set initial directory(%s): %s\n", directoryPath, strerror(errno));
free(directoryPath);
}
/*
@@ -208,12 +291,26 @@ static void netStatCallFunc(const iocshArgBuf *args)
{
rtems_netstat(args[0].ival);
}
static const iocshFuncDef stackCheckFuncDef = {"stackCheck",0,NULL};
static void stackCheckCallFunc(const iocshArgBuf *args)
{
Stack_check_Dump_usage ();
}
#ifndef OMIT_NFS_SUPPORT
static const iocshArg nfsMountArg0 = { "[uid.gid@]host",iocshArgString};
static const iocshArg nfsMountArg1 = { "server path",iocshArgString};
static const iocshArg nfsMountArg2 = { "mount point",iocshArgString};
static const iocshArg * const nfsMountArgs[3] = {&nfsMountArg0,&nfsMountArg1,
&nfsMountArg2};
static const iocshFuncDef nfsMountFuncDef = {"nfsMount",3,nfsMountArgs};
static void nfsMountCallFunc(const iocshArgBuf *args)
{
nfsMount(args[0].sval, args[1].sval, args[2].sval);
}
#endif
/*
* Register RTEMS-specific commands
*/
@@ -221,6 +318,9 @@ static void iocshRegisterRTEMS (void)
{
iocshRegister(&netStatFuncDef, netStatCallFunc);
iocshRegister(&stackCheckFuncDef, stackCheckCallFunc);
#ifndef OMIT_NFS_SUPPORT
iocshRegister(&nfsMountFuncDef, nfsMountCallFunc);
#endif
}
/*
@@ -260,11 +360,11 @@ rtems_task
Init (rtems_task_argument ignored)
{
int i;
char arg0[] = "RTEMS_IOC";
char arg1[] = "st.cmd";
char *argv[3] = { arg0, arg1, NULL };
const char *argv[3] = { NULL, NULL, NULL };
rtems_interval ticksPerSecond;
rtems_task_priority newpri;
rtems_status_code sc;
rtems_time_of_day now;
/*
* Get configuration
@@ -277,6 +377,18 @@ Init (rtems_task_argument ignored)
#if defined(__i386__)
initRemoteGdb(ticksPerSecond);
#endif
#if defined(HAVE_PPCBUG)
{
extern void setBootConfigFromPPCBUGNVRAM(void);
setBootConfigFromPPCBUGNVRAM();
}
#endif
#if defined(HAVE_MOTLOAD)
{
extern void setBootConfigFromMOTLOADNVRAM(void);
setBootConfigFromMOTLOADNVRAM();
}
#endif
/*
* Override RTEMS configuration
@@ -303,32 +415,35 @@ Init (rtems_task_argument ignored)
== epicsThreadBooleanStatusSuccess)
rtems_bsdnet_config.network_task_priority = epicsThreadGetOssPriorityValue(p);
}
printf ("***** Initializing network *****\n");
printf ("\n***** Initializing network *****\n");
rtems_bsdnet_initialize_network ();
printf ("***** Initializing TFTP *****\n");
rtems_bsdnet_initialize_tftp_filesystem ();
for (i = 0 ; ; i++) {
printf ("***** Initializing NTP *****\n");
if (rtems_bsdnet_synchronize_ntp (0, 0) >= 0)
break;
rtems_task_wake_after (5*ticksPerSecond);
if (i >= 12) {
rtems_status_code sc;
rtems_time_of_day now;
printf (" *************** WARNING ***************\n");
printf (" ***** NO RESPONSE FROM NTP SERVER *****\n");
printf (" ***** TIME SET TO DEFAULT VALUE *****\n");
printf (" ***************************************\n");
now.year = 2001;
now.month = 1;
now.day = 1;
now.hour = 0;
now.minute = 0;
now.second = 0;
now.ticks = 0;
if ((sc = rtems_clock_set (&now)) != RTEMS_SUCCESSFUL)
printf ("***** Can't set time: %s\n", rtems_status_text (sc));
break;
initialize_remote_filesystem (argv);
/*
* Use BSP-supplied time of day if available
*/
if (rtems_clock_get(RTEMS_CLOCK_GET_TOD,&now) != RTEMS_SUCCESSFUL) {
for (i = 0 ; ; i++) {
printf ("***** Initializing NTP *****\n");
if (rtems_bsdnet_synchronize_ntp (0, 0) >= 0)
break;
rtems_task_wake_after (5*ticksPerSecond);
if (i >= 12) {
printf (" *************** WARNING ***************\n");
printf (" ***** NO RESPONSE FROM NTP SERVER *****\n");
printf (" ***** TIME SET TO DEFAULT VALUE *****\n");
printf (" ***************************************\n");
now.year = 2001;
now.month = 1;
now.day = 1;
now.hour = 0;
now.minute = 0;
now.second = 0;
now.ticks = 0;
if ((sc = rtems_clock_set (&now)) != RTEMS_SUCCESSFUL)
printf ("***** Can't set time: %s\n", rtems_status_text (sc));
break;
}
}
}
@@ -337,7 +452,7 @@ Init (rtems_task_argument ignored)
*/
printf ("***** Starting EPICS application *****\n");
iocshRegisterRTEMS ();
rtems_set_directory ();
set_directory (argv[1]);
i = main ((sizeof argv / sizeof argv[0]) - 1, argv);
printf ("***** IOC application terminating *****\n");
exit (i);

View File

@@ -38,7 +38,6 @@ static struct rtems_bsdnet_ifconfig loopback_config = {
* application directory and make the appropriate changes.
*/
#if defined(__i386__)
extern int rtems_fxp_attach (struct rtems_bsdnet_ifconfig *, int);
static struct rtems_bsdnet_ifconfig fxp_driver_config = {
"fxp1", /* name */
@@ -52,17 +51,20 @@ static struct rtems_bsdnet_ifconfig e3c509_driver_config = {
&fxp_driver_config, /* link to next interface */
};
#define FIRST_DRIVER_CONFIG &e3c509_driver_config
#else
/*
* FIXME: This really belongs in the mcp750 BSP
*/
#if defined(__PPC) && defined(mpc750) && !defined(RTEMS_BSP_NETWORK_DRIVER_NAME) && !defined(RTEMS_BSP_NETWORK_DRIVER_ATTACH)
# define RTEMS_BSP_NETWORK_DRIVER_NAME "dc1"
# define RTEMS_BSP_NETWORK_DRIVER_ATTACH rtems_dec21140_driver_attach
extern int rtems_dec21140_driver_attach();
#endif
# if defined(__PPC)
/*
* FIXME: This really belongs in the BSP
*/
# ifndef RTEMS_BSP_NETWORK_DRIVER_NAME
# define RTEMS_BSP_NETWORK_DRIVER_NAME "dc1"
# endif
# ifndef RTEMS_BSP_NETWORK_DRIVER_ATTACH
# define RTEMS_BSP_NETWORK_DRIVER_ATTACH rtems_dec21140_driver_attach
extern int rtems_dec21140_driver_attach();
# endif
# endif
static struct rtems_bsdnet_ifconfig bsp_driver_config = {
RTEMS_BSP_NETWORK_DRIVER_NAME, /* name */
@@ -73,14 +75,37 @@ static struct rtems_bsdnet_ifconfig bsp_driver_config = {
#endif
/*
* Allow configure/os/CONFIG_SITE.Common.RTEMS to provide domain name
*/
#ifdef RTEMS_NETWORK_CONFIG_DNS_DOMAINNAME
# define XSTR(x) STR(x)
# define STR(x) #x
# define MY_DOMAINNAME XSTR(RTEMS_NETWORK_CONFIG_DNS_DOMAINNAME)
#else
# define MY_DOMAINNAME NULL
#endif
/*
* Allow non-BOOTP network configuration
*/
#ifndef MY_DO_BOOTP
# define MY_DO_BOOTP rtems_bsdnet_do_bootp
#endif
/*
* Network configuration
*/
struct rtems_bsdnet_config rtems_bsdnet_config = {
FIRST_DRIVER_CONFIG, /* Link to next interface */
rtems_bsdnet_do_bootp, /* Use BOOTP to get network configuration */
0, /* If 0 then the network daemons will run at a */
MY_DO_BOOTP, /* How to find network config */
10, /* If 0 then the network daemons will run at a */
/* priority just less than the lowest-priority */
/* EPICS scan thread. */
/* If non-zero then the network daemons will run */
/* at this *RTEMS* priority */
180*1024, /* MBUF space */
350*1024, /* MBUF cluster space */
NULL, /* Host name */
MY_DOMAINNAME, /* Domain name */
};

View File

@@ -0,0 +1,105 @@
#include <sys/types.h>
#include <sys/socket.h>
#include <arpa/inet.h>
#include <netinet/in.h>
#include <rtems/rtems_bsdnet.h>
#include <bsp.h>
#include <string.h>
#include <stdlib.h>
#include <ctype.h>
static char *
gev(const char *parm)
{
volatile char *nvp = (volatile unsigned char *)(GT64260_DEV1_BASE + 0x10000 + 0x70F8);
const char *val;
const char *name;
char *ret;
char c;
for (;;) {
if (*nvp == '\0')
return NULL;
name = parm;
while ((c = *nvp++) != '\0') {
if ((c == '=') && (*name == '\0')) {
val = (char *)nvp;
while (*nvp++ != '\0')
continue;
ret = malloc(nvp - val);
if (ret == NULL)
return NULL;
strcpy(ret, val);
return ret;
}
if (c != *name++) {
while (*nvp++ != '\0')
continue;
break;
}
}
}
}
static char *
motScriptParm(const char *mot_script_boot, char parm)
{
const char *cp;
char *ret;
int l;
while (*mot_script_boot != '\0') {
if (isspace(*mot_script_boot)
&& (*(mot_script_boot+1) == '-')
&& (*(mot_script_boot+2) == parm)) {
mot_script_boot += 3;
cp = mot_script_boot;
while ((*mot_script_boot != '\0') && !isspace(*mot_script_boot))
mot_script_boot++;
l = mot_script_boot - cp;
ret = malloc(l+1);
if (ret == NULL)
return NULL;
strncpy(ret, cp, l);
*(ret+l) = '\0';
return ret;
}
mot_script_boot++;
}
return NULL;
}
void
setBootConfigFromMOTLOADNVRAM(void)
{
char *cp;
const char *mot_script_boot;
if (rtems_bsdnet_config.bootp != NULL)
return;
mot_script_boot = gev("mot-script-boot");
if ((rtems_bsdnet_bootp_server_name = gev("mot-/dev/enet0-sipa")) == NULL)
rtems_bsdnet_bootp_server_name = motScriptParm(mot_script_boot, 's');
if ((rtems_bsdnet_config.gateway = gev("mot-/dev/enet0-gipa")) == NULL)
rtems_bsdnet_config.gateway = motScriptParm(mot_script_boot, 'g');
if ((rtems_bsdnet_config.ifconfig->ip_netmask = gev("mot-/dev/enet0-snma")) == NULL)
rtems_bsdnet_config.ifconfig->ip_netmask = motScriptParm(mot_script_boot, 'm');
rtems_bsdnet_config.name_server[0] = gev("rtems-dns-server");
if (rtems_bsdnet_config.name_server[0] == NULL)
rtems_bsdnet_config.name_server[0] = rtems_bsdnet_bootp_server_name;
rtems_bsdnet_config.log_host = rtems_bsdnet_bootp_server_name;
cp = gev("rtems-dns-domainname");
if (cp)
rtems_bsdnet_config.domainname = cp;
if ((rtems_bsdnet_config.ifconfig->ip_address = gev("mot-/dev/enet0-cipa")) == NULL)
rtems_bsdnet_config.ifconfig->ip_address = motScriptParm(mot_script_boot, 'c');
rtems_bsdnet_config.hostname = gev("rtems-client-name");
if (rtems_bsdnet_config.hostname == NULL)
rtems_bsdnet_config.hostname = rtems_bsdnet_config.ifconfig->ip_address;
if ((rtems_bsdnet_bootp_boot_file_name = gev("mot-/dev/enet0-file")) == NULL)
rtems_bsdnet_bootp_boot_file_name = motScriptParm(mot_script_boot, 'f');
rtems_bsdnet_bootp_cmdline = gev("epics-script");
}

View File

@@ -0,0 +1,83 @@
#include <sys/types.h>
#include <sys/socket.h>
#include <arpa/inet.h>
#include <netinet/in.h>
#include <rtems/rtems_bsdnet.h>
struct ppcbug_nvram {
rtems_unsigned32 PacketVersionIdentifier;
rtems_unsigned32 NodeControlMemoryAddress;
rtems_unsigned32 BootFileLoadAddress;
rtems_unsigned32 BootFileExecutionAddress;
rtems_unsigned32 BootFileExecutionDelay;
rtems_unsigned32 BootFileLength;
rtems_unsigned32 BootFileByteOffset;
rtems_unsigned32 TraceBufferAddress;
rtems_unsigned32 ClientIPAddress;
rtems_unsigned32 ServerIPAddress;
rtems_unsigned32 SubnetIPAddressMask;
rtems_unsigned32 BroadcastIPAddressMask;
rtems_unsigned32 GatewayIPAddress;
rtems_unsigned8 BootpRarpRetry;
rtems_unsigned8 TftpRarpRetry;
rtems_unsigned8 BootpRarpControl;
rtems_unsigned8 UpdateControl;
char BootFilenameString[64];
char ArgumentFilenameString[64];
};
static char *addr(char *cbuf, rtems_unsigned32 addr)
{
struct in_addr a;
if ((a.s_addr = addr) == 0)
return NULL;
return (char *)inet_ntop(AF_INET, &a, cbuf, INET_ADDRSTRLEN);
}
void
setBootConfigFromPPCBUGNVRAM(void)
{
static struct ppcbug_nvram nvram;
static char ip_address[INET_ADDRSTRLEN];
static char ip_netmask[INET_ADDRSTRLEN];
static char server[INET_ADDRSTRLEN];
static char gateway[INET_ADDRSTRLEN];
if (rtems_bsdnet_config.bootp != NULL)
return;
/*
* Get network configuation from PPCBUG.
* The 'correct' way to do this would be to issue a .NETCFIG PPCBUG
* system call. Unfortunately it is very difficult to issue such a
* call once RTEMS is up and running so we just copy from the 'known'
* location of the network configuration parameters.
* Care must be taken to access the NVRAM a byte at a time.
*/
{
volatile char *s = (volatile char *)0xFFE81000;
char *d = (char *)&nvram;
while (d < ((char *)&nvram + sizeof nvram))
*d++ = *s++;
}
/*
* Assume that the boot server is also the name server and log server!
*/
rtems_bsdnet_config.name_server[0] =
rtems_bsdnet_bootp_server_name =
rtems_bsdnet_config.log_host = addr(server, nvram.ServerIPAddress);
rtems_bsdnet_bootp_server_address.s_addr = nvram.ServerIPAddress;
/*
* Nothing better to use as host name!
*/
rtems_bsdnet_config.ifconfig->ip_address =
rtems_bsdnet_config.hostname = addr(ip_address, nvram.ClientIPAddress);
rtems_bsdnet_config.gateway = addr(gateway, nvram.GatewayIPAddress);
rtems_bsdnet_config.ifconfig->ip_netmask = addr(ip_netmask, nvram.SubnetIPAddressMask);
rtems_bsdnet_bootp_boot_file_name = nvram.BootFilenameString;
rtems_bsdnet_bootp_cmdline = nvram.ArgumentFilenameString;
}

View File

@@ -1,3 +1,4 @@
/*asCa.c*/
/*************************************************************************\
* Copyright (c) 2002 The University of Chicago, as Operator of Argonne
* National Laboratory.
@@ -7,8 +8,6 @@
* and higher are distributed subject to a Software License Agreement found
* in file LICENSE that is included with this distribution.
\*************************************************************************/
/* share/src/as/asCa.c */
/* share/src/as $Id$ */
/* Author: Marty Kraimer Date: 10-15-93 */
/*This module is separate from asDbLib because CA uses old database access*/
@@ -31,13 +30,15 @@
#include "caerr.h"
#include "caeventmask.h"
#include "alarm.h"
#include "epicsStdioRedirect.h"
#define epicsExportSharedSymbols
#include "epicsExport.h"
#include "asLib.h"
#include "asDbLib.h"
#include "asCa.h"
epicsShareDef int asCaDebug = 0;
int asCaDebug = 0;
epicsExportAddress(int,asCaDebug);
LOCAL int firstTime = TRUE;
LOCAL epicsThreadId threadid=0;
LOCAL int caInitializing=FALSE;
@@ -259,3 +260,46 @@ void epicsShareAPI asCaStop(void)
if(asCaDebug) printf("asCaStop done\n");
epicsMutexUnlock(asCaTaskLock);
}
int epicsShareAPI ascar(int level) { return ascarFP(stdout,level);}
int epicsShareAPI ascarFP(FILE *fp,int level)
{
ASG *pasg;
int n=0,nbad=0;
enum channel_state state;
if(!pasbase) {
fprintf(fp,"access security not started\n");
return(0);
}
pasg = (ASG *)ellFirst(&pasbase->asgList);
while(pasg) {
ASGINP *pasginp;
pasginp = (ASGINP *)ellFirst(&pasg->inpList);
while(pasginp) {
CAPVT *pcapvt = (CAPVT *)pasginp->capvt;
chid chid = pcapvt->chid;
pcapvt = pasginp->capvt;
++n;
state = ca_state(chid);
if(state!=cs_conn) ++nbad;
if(level>1 || (level==1 && state!=cs_conn)) {
fprintf(fp,"connected:");
if(state==cs_never_conn) fprintf(fp,"never ");
else if(state==cs_prev_conn) fprintf(fp,"prev ");
else if(state==cs_conn) fprintf(fp,"yes ");
else if(state==cs_closed) fprintf(fp,"closed");
else fprintf(fp,"unknown");
fprintf(fp," read:%s write:%s",
(ca_read_access(chid) ? "yes" : "no "),
(ca_write_access(chid) ? "yes" : "no "));
fprintf(fp," %s %s\n", ca_name(chid),ca_host_name(chid));
}
pasginp = (ASGINP *)ellNext((ELLNODE *)pasginp);
}
pasg = (ASG *)ellNext((ELLNODE *)pasg);
}
fprintf(fp,"%d channels %d not connected\n",n,nbad);
return(0);
}

View File

@@ -20,7 +20,8 @@ extern "C" {
epicsShareFunc void epicsShareAPI asCaStart(void);
epicsShareFunc void epicsShareAPI asCaStop(void);
epicsShareExtern int asCaDebug;
epicsShareFunc int epicsShareAPI ascar(int level);
epicsShareFunc int epicsShareAPI ascarFP(FILE *fp, int level);
#ifdef __cplusplus
}

View File

@@ -1,3 +1,4 @@
/* share/src/as/asDbLib.c */
/*************************************************************************\
* Copyright (c) 2002 The University of Chicago, as Operator of Argonne
* National Laboratory.
@@ -7,8 +8,6 @@
* and higher are distributed subject to a Software License Agreement found
* in file LICENSE that is included with this distribution.
\*************************************************************************/
/* share/src/as/asDbLib.c */
/* share/src/as $Id$ */
/* Author: Marty Kraimer Date: 02-11-94*/
#include <stdlib.h>
@@ -16,6 +15,7 @@
#include <stdio.h>
#include <string.h>
#include "epicsStdioRedirect.h"
#include "dbDefs.h"
#include "cantProceed.h"
#include "epicsThread.h"
@@ -67,7 +67,7 @@ static long asDbAddRecords(void)
return(0);
}
int epicsShareAPI asSetFilename(char *acf)
int epicsShareAPI asSetFilename(const char *acf)
{
if(pacf) free ((void *)pacf);
if(acf) {
@@ -83,7 +83,7 @@ int epicsShareAPI asSetFilename(char *acf)
return(0);
}
int epicsShareAPI asSetSubstitutions(char *substitutions)
int epicsShareAPI asSetSubstitutions(const char *substitutions)
{
if(psubstitutions) free ((void *)psubstitutions);
if(substitutions) {
@@ -223,7 +223,7 @@ static void astacCallback(ASCLIENTPVT clientPvt,asClientStatus status)
(asCheckPut(clientPvt) ? "Yes" : "No"));
}
int epicsShareAPI astac(char *pname,char *user,char *location)
int epicsShareAPI astac(const char *pname,const char *user,const char *location)
{
DBADDR *paddr;
long status;
@@ -259,41 +259,71 @@ int epicsShareAPI astac(char *pname,char *user,char *location)
return(0);
}
static void myMemberCallback(ASMEMBERPVT memPvt)
static void myMemberCallback(ASMEMBERPVT memPvt,FILE *fp)
{
dbCommon *precord;
precord = asGetMemberPvt(memPvt);
if(precord) printf(" Record:%s",precord->name);
if(precord) fprintf(fp," Record:%s",precord->name);
}
int epicsShareAPI asdbdump(void)
{
asDump(myMemberCallback,NULL,1);
asDumpFP(stdout,myMemberCallback,NULL,1);
return(0);
}
int epicsShareAPI aspuag(char *uagname)
int epicsShareAPI asdbdumpFP(FILE *fp)
{
asDumpFP(fp,myMemberCallback,NULL,1);
return(0);
}
int epicsShareAPI aspuag(const char *uagname)
{
asDumpUagFP(stdout,uagname);
return(0);
}
int epicsShareAPI aspuagFP(FILE *fp,const char *uagname)
{
asDumpUag(uagname);
asDumpUagFP(fp,uagname);
return(0);
}
int epicsShareAPI asphag(char *hagname)
int epicsShareAPI asphag(const char *hagname)
{
asDumpHag(hagname);
asDumpHagFP(stdout,hagname);
return(0);
}
int epicsShareAPI asprules(char *asgname)
int epicsShareAPI asphagFP(FILE *fp,const char *hagname)
{
asDumpRules(asgname);
asDumpHagFP(fp,hagname);
return(0);
}
int epicsShareAPI aspmem(char *asgname,int clients)
int epicsShareAPI asprules(const char *asgname)
{
asDumpMem(asgname,myMemberCallback,clients);
asDumpRulesFP(stdout,asgname);
return(0);
}
int epicsShareAPI asprulesFP(FILE *fp,const char *asgname)
{
asDumpRulesFP(fp,asgname);
return(0);
}
int epicsShareAPI aspmem(const char *asgname,int clients)
{
asDumpMemFP(stdout,asgname,myMemberCallback,clients);
return(0);
}
int epicsShareAPI aspmemFP(FILE *fp,const char *asgname,int clients)
{
asDumpMemFP(fp,asgname,myMemberCallback,clients);
return(0);
}

View File

@@ -26,19 +26,25 @@ typedef struct {
extern "C" {
#endif
epicsShareFunc int epicsShareAPI asSetFilename(char *acf);
epicsShareFunc int epicsShareAPI asSetSubstitutions(char *substitutions);
epicsShareFunc int epicsShareAPI asSetFilename(const char *acf);
epicsShareFunc int epicsShareAPI asSetSubstitutions(const char *substitutions);
epicsShareFunc int epicsShareAPI asInit(void);
epicsShareFunc int epicsShareAPI asInitAsyn(ASDBCALLBACK *pcallback);
epicsShareFunc int epicsShareAPI asDbGetAsl( void *paddr);
epicsShareFunc void * epicsShareAPI asDbGetMemberPvt( void *paddr);
epicsShareFunc int epicsShareAPI asdbdump( void);
epicsShareFunc int epicsShareAPI aspuag(char *uagname);
epicsShareFunc int epicsShareAPI asphag(char *hagname);
epicsShareFunc int epicsShareAPI asprules(char *asgname);
epicsShareFunc int epicsShareAPI aspmem(char *asgname,int clients);
epicsShareFunc int epicsShareAPI asdbdump(void);
epicsShareFunc int epicsShareAPI asdbdumpFP(FILE *fp);
epicsShareFunc int epicsShareAPI aspuag(const char *uagname);
epicsShareFunc int epicsShareAPI aspuagFP(FILE *fp,const char *uagname);
epicsShareFunc int epicsShareAPI asphag(const char *hagname);
epicsShareFunc int epicsShareAPI asphagFP(FILE *fp,const char *hagname);
epicsShareFunc int epicsShareAPI asprules(const char *asgname);
epicsShareFunc int epicsShareAPI asprulesFP(FILE *fp,const char *asgname);
epicsShareFunc int epicsShareAPI aspmem(const char *asgname,int clients);
epicsShareFunc int epicsShareAPI aspmemFP(
FILE *fp,const char *asgname,int clients);
epicsShareFunc int epicsShareAPI astac(
char *recordname,char *user,char *location);
const char *recordname,const char *user,const char *location);
#ifdef __cplusplus
}

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