Compare commits

..

498 Commits

Author SHA1 Message Date
Andrew Johnson
72fdd8bc2e Oops, off-by-one error... 2009-12-23 00:07:31 +00:00
Jeff Hill
414cb8d62c installed this fille which is needed by the VAXC compiler 2009-08-19 18:46:54 +00:00
Jeff Hill
e0106fd010 fixed vaxc compile error 2009-08-19 18:32:33 +00:00
Jeff Hill
0d0aa7de73 fixed vaxc compile error 2009-08-19 16:36:51 +00:00
Jeff Hill
6285f33fda fixed vms build syntax error 2009-08-19 14:58:11 +00:00
Andrew Johnson
e22fbab104 Changed DBF_DEVICE fix to use Marty's version. 2008-05-06 15:01:08 +00:00
Andrew Johnson
a184041ea0 US DST Rules changed in 2007... 2007-02-22 22:06:04 +00:00
Andrew Johnson
37c1049e47 Fixed off-by-one buffer overflow in dbFindField(). 2006-05-12 15:42:06 +00:00
Ralph Lange
ec9686d945 A bunch of changes suggested by G. Pfeiffer and B. Franksen (BESSY):
- option to find() so it follow links
- use of strict
- handle comments correctly when parsing RELEASE
2005-09-15 12:15:28 +00:00
Marty Kraimer
7009ea2784 change NTP sync code 2005-04-18 13:43:53 +00:00
Marty Kraimer
b307ef1746 drvTS changes 2005-04-18 13:41:42 +00:00
Andrew Johnson
e5461a72b0 Fix from Dirk Zimoch. 2004-06-03 23:12:35 +00:00
Janet B. Anderson
e54a016e9c Changing file back to R3-13-9 version. 2004-04-15 16:42:47 +00:00
Janet B. Anderson
5dc8213385 R3.13.10 2004-04-15 13:36:02 +00:00
Janet B. Anderson
6ce3e959ee Removed T22 definition. 2004-04-14 20:55:26 +00:00
Janet B. Anderson
731e413fe6 Put -nostdinc flag back. 2004-04-14 20:53:45 +00:00
Janet B. Anderson
f3086ac02f Added T22 to remove the switch -nostdinc from the compile line. 2004-04-14 20:26:12 +00:00
Andrew Johnson
bcaa5e05c3 Updates on my changes and some other fixes. 2004-04-13 23:11:54 +00:00
Ralph Lange
43028c644e Comment change. 2004-04-08 14:38:21 +00:00
Janet B. Anderson
5eabcef78c Added comments about INSTALL_LOCATION_APP 2004-04-07 14:19:12 +00:00
Janet B. Anderson
168e33b7b4 Added code to remove trailing white space and carriage return. 2004-04-06 17:53:41 +00:00
Andrew Johnson
51a1314f31 Should be using the tornado202p1 cross-compiler tools at APS. 2004-04-05 22:38:52 +00:00
Andrew Johnson
9fc20984ec Reorganized so the order in base.dbd and baseLIBOBJS files match.
Removed some drivers/devices which are no longer in base.
2004-04-05 22:15:02 +00:00
Andrew Johnson
565ec952fe Xycom Xy010 is prehistoric.
Bitbus driver was unbundled some time back.
The drvBitBus*.h files are needed for building drvGpib, and have been
updated to the latest unbundled versions.
2004-04-05 21:51:15 +00:00
Andrew Johnson
5bbf333ad3 createSoftLinks.sh was ancient history. 2004-04-05 21:45:01 +00:00
Andrew Johnson
9a99e447a8 Removed ancient devices that are no longer used. 2004-04-05 21:44:18 +00:00
Marty Kraimer
f3dfc7f4e9 conversion of double to float 2004-04-05 12:48:30 +00:00
Marty Kraimer
265597698e safeDoubleToFloat: handle 0.0 as special case 2004-04-05 12:36:34 +00:00
Marty Kraimer
64d9557d17 buf fix for seq_ca 2004-04-02 17:09:48 +00:00
Marty Kraimer
fcc317ccdf The sequencer did not properly keep track of number of channels connected.
It now checks if it is actually connected/disconnect before it increments/decrements the counts.
2004-04-02 17:09:23 +00:00
Andrew Johnson
15072fb71c Removed devBBInteract.c, use unbundled version. 2004-04-01 23:20:40 +00:00
Andrew Johnson
8828487ee7 Duplicate, also found in camacDev subdirectory. 2004-04-01 23:11:55 +00:00
Andrew Johnson
7304b138a2 drvVmic2534.c doesn't compile, so removed. 2004-04-01 23:10:10 +00:00
Ralph Lange
bff391d85c Enable '+=' extension of DEFAULT_SHRLIB_SEARCH_PATH 2004-03-23 11:09:06 +00:00
Ralph Lange
2619a00eee Minor fix for aCC 2004-03-18 17:38:08 +00:00
Janet B. Anderson
459cfe4cc6 Removed -nostdinc flag for Tornado 2.2 builds. 2004-03-17 21:59:29 +00:00
Janet B. Anderson
0dfef26c23 Set ANSI=GCC and CPLUSPLUS=G++ and removed extra definitions. 2004-03-17 21:33:45 +00:00
Janet B. Anderson
eaaeb78f3d Changed definition of WIND_HOST_TYPE to x86-linux. 2004-03-17 21:23:19 +00:00
Marty Kraimer
6f8ff1ea68 remove devXxDg535Gpib 2004-02-20 19:01:37 +00:00
Marty Kraimer
5942ff01c5 this is in share and has also been converted to 3.14 2004-02-20 18:59:35 +00:00
Marty Kraimer
13b19bade4 check for access security not started 2004-02-17 13:11:57 +00:00
Marty Kraimer
57a87ac96d The fields ZRST,...,FFST are now special(SPC_MOD) 2004-02-10 15:18:49 +00:00
Marty Kraimer
0b2771c5f4 make size of CALC 40 instead of 36 2004-02-10 15:15:37 +00:00
Marty Kraimer
5f2e18a009 access security changes 2004-02-10 15:04:12 +00:00
Marty Kraimer
16ac672973 add ascar 2004-02-10 14:52:46 +00:00
Marty Kraimer
797f2ae524 add copyright notice 2004-02-10 14:52:39 +00:00
Jeff Hill
8004aeb729 fixed release numbers 2004-02-05 23:30:22 +00:00
Jeff Hill
9835753cb6 added ca patch descriptions 2004-02-05 23:28:50 +00:00
Jeff Hill
4e1fd091ea fixed enobuf causes stuck send thread 2004-02-05 21:12:09 +00:00
Jeff Hill
7ad5347f7f getopt header install 2004-01-29 17:29:51 +00:00
Jeff Hill
74824c5ff2 added share lib slock 2004-01-29 01:44:22 +00:00
Andrew Johnson
1bda6aff08 Added getopt.c for WIN32 2004-01-28 23:40:35 +00:00
Andrew Johnson
461cac2e1d BSD version of getopt.c plus a suitable header file.
Not tested, but should build on Win32 - might need decorations though.
2004-01-28 23:38:17 +00:00
Janet B. Anderson
081a96160f Put shell command in line 1 2004-01-22 21:55:09 +00:00
Janet B. Anderson
886759cffa Fixed tab and comment spelling. 2004-01-22 21:54:05 +00:00
Janet B. Anderson
4abc96759d Fixed comment. 2004-01-22 20:55:34 +00:00
Andrew Johnson
e083f41963 Changed to the EPICS Open license as agreed with ANL Legal. 2004-01-09 16:00:48 +00:00
Janet B. Anderson
04998e378b Fixed bugs in .stt rule. 2003-12-12 15:44:53 +00:00
Janet B. Anderson
a97876092e Changed cvsroot from /net/phoebus to /usr/local. 2003-12-11 14:51:49 +00:00
Jeff Hill
56c7e2401f never use raw fork() to spawn the repeater 2003-11-26 00:19:24 +00:00
Andrew Johnson
a1cbc57cc0 These files contain GPL code, and not compatible with the EPICS Base license. I
don't care if this removal breaks the WIN32 port of EPICS, we can't legally
distribute this code as part of Base.  Someone will have to rewrite the getopt
functionality, or grab a version that is not GPL licensed (try BSD).
2003-09-16 17:58:20 +00:00
Andrew Johnson
2a5a175196 Removed WIN32 getopt.* (GPL) 2003-09-16 17:56:21 +00:00
Ralph Lange
319328d6fe aCC (native HPUX) does not define __STDC__ but __STDCPP__ (which is probably correct). 2003-08-22 11:30:43 +00:00
Ralph Lange
fd16d1bb65 aCC (native HPUX) wants some templated inlines to be defined in the declaration. 2003-08-22 11:28:02 +00:00
Janet B. Anderson
21ff7e5613 Create javalib and javalib/<package> directories only if JAVA is defined. 2003-08-20 16:30:04 +00:00
Janet B. Anderson
0940a35086 R3.13.9 2003-08-20 14:59:08 +00:00
Jeff Hill
f8f2b44c6c added notes on search message minimum period reset values 2003-08-19 21:33:56 +00:00
Andrew Johnson
0e182d8c1a dbExpand fix. 2003-08-18 21:29:00 +00:00
Andrew Johnson
4f659b6581 Fixed warning, main returns int (ANSI-C). 2003-08-18 21:19:32 +00:00
Andrew Johnson
bc03c1cca9 Don't create .dbd file if dbExpand fails. 2003-08-18 20:57:43 +00:00
Andrew Johnson
39cfb6b05a Only give exit status of 0=OK if we really mean it (Mantis bug #26) 2003-08-18 20:55:46 +00:00
Andrew Johnson
9cd9257c4a Brought in the enhanced vxStats device support in use at APS for >1 year. 2003-08-15 21:59:04 +00:00
Andrew Johnson
71d1b80224 Don't create the java install directory until something actually needs it! 2003-08-15 20:00:32 +00:00
Jeff Hill
0e47da7e57 fixed redundant logFdAdd deadlock message 2003-08-06 21:59:56 +00:00
Marty Kraimer
092746d36a more bug changes 2003-08-06 18:18:40 +00:00
Marty Kraimer
d55d54d235 more bug changes 2003-08-06 18:13:54 +00:00
Marty Kraimer
2d08f5abac put notify did not act properly if a record had disp=TRUE. 2003-08-06 18:12:40 +00:00
Marty Kraimer
54cc4cec31 A bug in dbGetLink resulted in nRequest not being given the value 0 if the
link is a constant link. This in turn caused the waveform record to always
set NORD=NELEM.
2003-08-06 18:11:57 +00:00
Marty Kraimer
0e0c2c7ac3 remove warning message 2003-08-06 18:04:40 +00:00
Marty Kraimer
9d1e7f7da4 Remove some dead code. Clean up code for handling A24 DMA memory. 2003-08-06 18:02:27 +00:00
Marty Kraimer
5a5a0fd0cc "event task" changed tp "event_task". 2003-08-06 17:56:36 +00:00
Marty Kraimer
9805e6a8e9 Suppress duplicate console message from logMsg 2003-08-06 17:54:26 +00:00
Marty Kraimer
fe55b04449 macParseDefns did not check for handle==NULL. The documentation for
macParseDefns was not correct.
2003-08-06 17:52:50 +00:00
Marty Kraimer
09733655f8 If a dbGetLink failed on one of the input links, dbGetLink
was not called for the remaining links. Now it is.
2003-08-06 15:15:18 +00:00
Marty Kraimer
9cbf577382 ellRemove=>ellDelete 2003-08-06 15:10:36 +00:00
Jeff Hill
94b408425b removed unused var 2003-07-30 22:00:49 +00:00
Jeff Hill
7347132973 fixed for scope 2003-07-30 21:59:27 +00:00
Jeff Hill
87c3103022 set close-on-exec flag 2003-07-30 21:49:45 +00:00
Jeff Hill
b11d547699 set close-on-exec flag 2003-07-30 21:32:36 +00:00
Janet B. Anderson
73c303192d Fixed sscanf format specification. 2003-07-29 20:55:41 +00:00
Jeff Hill
4cb08f797a removed logFdAdd from logClient 2003-07-26 00:28:30 +00:00
Jeff Hill
459cdc0829 removed logFdAdd from logClient 2003-07-26 00:13:34 +00:00
Jeff Hill
551e87f15d removed logFdAdd from logClient 2003-07-25 23:41:58 +00:00
Jeff Hill
e628e95d2c dont assert fail if getsockname returns bad status 2003-07-15 16:22:08 +00:00
Jeff Hill
68120ccb74 doc bug fix for assert fail when getpeername or getsockname return failure status 2003-07-15 16:21:27 +00:00
Jeff Hill
47b044d257 fixed client removal order bug 2003-07-02 20:55:31 +00:00
Jeff Hill
78ad1feec8 run the beacon thread one click higher in priority than the udp input
thread's priority. This should keep beacons regular when there is
a heavy search load because all ofthe hosts are connecting at once
2003-06-13 00:29:50 +00:00
Jeff Hill
ba6b7f6e21 set retry number to 4 when there is a beacon anomaly or when a
channel disconnects. This starts the searcch delay at .4 seconds
instead of at 0.25 seconds.
2003-06-13 00:27:27 +00:00
Jeff Hill
5c162ad7c3 installed 2003-05-13 20:38:57 +00:00
Jeff Hill
64fc54cbaa cleaned up junk 2003-05-13 20:37:17 +00:00
cvs2svn
a570a5c17f This commit was manufactured by cvs2svn to create branch 'B3.13'. 2003-05-01 23:18:33 +00:00
Janet B. Anderson
0048405ec0 Changes for OS X. 2003-05-01 13:51:25 +00:00
Andrew Johnson
c7c74a8aab Added scanPeriod() routine to convert a menuScan value into its period. 2003-04-02 20:47:21 +00:00
Janet B. Anderson
e1bfd021c1 Modified DBEXPAND rule. 2003-03-25 23:13:22 +00:00
Janet B. Anderson
ec827cb25f Bug fixes for sequencer *.stt build. 2003-03-13 17:02:22 +00:00
Marty Kraimer
b1dc7d2848 Use Andrew's changes as basis for bug Rin Sluiter found 2003-02-10 14:54:16 +00:00
Marty Kraimer
1994e47492 changes for calls to recfrom 2003-02-10 14:32:42 +00:00
Janet B. Anderson
ef610d2784 R3.13.8 2003-02-04 19:59:44 +00:00
Jeff Hill
7a85d0f66c updated for R3.13.8 2003-02-04 17:58:47 +00:00
Marty Kraimer
432d454e28 changes for 3.13.8 2003-02-04 17:04:21 +00:00
Janet B. Anderson
ebfd8538bc Removed some comment lines. 2003-02-03 21:29:18 +00:00
Janet B. Anderson
d6be272269 Updated version of java jdk. 2003-02-03 16:54:51 +00:00
Jeff Hill
f3ee15a96b fixed missing loop termination in db_cancel_event() when the event
queue is completely full
2003-01-28 17:56:15 +00:00
Janet B. Anderson
f690464dc0 Comented out GCC and G++ definitions. 2002-12-09 20:51:42 +00:00
Janet B. Anderson
3b1c83ed6b Added javadoc definitions and rules. Made other changes. 2002-12-06 17:52:56 +00:00
Janet B. Anderson
70d8342312 Set no cross targets as default. Changed tornado20 to tornado202. 2002-12-06 17:51:42 +00:00
Janet B. Anderson
71e3ea1a07 Solaris config file updates. 2002-12-06 17:50:42 +00:00
Janet B. Anderson
1450bdd32d Added comments for new targets. 2002-12-05 20:50:19 +00:00
Janet B. Anderson
92b552bf52 Added solarisGnu target for solaris builds with GNU compiler. 2002-12-05 20:47:54 +00:00
Janet B. Anderson
948d3e5f15 Added ppc60*_long targets. 2002-12-05 20:44:27 +00:00
Janet B. Anderson
5547db3bf0 Removed references to X11 libraries. 2002-12-05 20:41:47 +00:00
Jeff Hill
91755f9cfd fixed ca_msg_text[] not seen outside win32 dll 2002-11-13 20:15:46 +00:00
Jeff Hill
95670b8dc5 added missing epicsShareDef (should impact only the VAX) 2002-11-12 16:56:18 +00:00
Janet B. Anderson
b8ceff8342 Added comment line about -mlongcall cflag. 2002-10-22 22:27:47 +00:00
Janet B. Anderson
0e268963b7 Ignore LD_LIBRARY_PATH and LD_LIBRARY_PATH_64 2002-10-18 21:47:01 +00:00
Janet B. Anderson
2c9f78350a Remove only build created .dbd files. 2002-10-18 15:57:32 +00:00
Janet B. Anderson
b18f2118f2 Allow arch_class specific prodname_objs. 2002-09-16 22:09:11 +00:00
Janet B. Anderson
9794d68fcb Added comment about supporting sbs_pc6. 2002-09-16 22:05:27 +00:00
Janet B. Anderson
f33b1d6989 Fixed line break. 2002-09-16 22:03:47 +00:00
Jeff Hill
a335ff38a2 installed 2002-09-10 15:37:26 +00:00
Jeff Hill
c4f2c23246 attempt to fix GNU builds correctly for all versions of solaris 2002-07-25 23:35:56 +00:00
Janet B. Anderson
34b24889cc R3.13.7 2002-07-25 17:27:00 +00:00
Janet B. Anderson
4f383d1bca Updates for R3.13.7. 2002-07-24 20:27:53 +00:00
Janet B. Anderson
9257e2b295 Changed makeStatSymTbl.pl to makeStatTbl.pl 2002-07-24 20:27:11 +00:00
Janet B. Anderson
c66e10e725 Changes for R3.13.7 2002-07-24 20:26:22 +00:00
Janet B. Anderson
5b2af16fad Moved epics/startup files to base/startup directory. 2002-07-24 18:39:15 +00:00
cvs2svn
fd289990db This commit was manufactured by cvs2svn to create branch 'B3.13'. 2002-07-24 18:39:14 +00:00
Janet B. Anderson
5600501e7b Removed log messages. 2002-07-24 14:47:43 +00:00
Jeff Hill
01f16118ac provide noop casCoreClient::eventSignal() to be called if they post events
while in the casStrmClient destructor
2002-07-24 00:26:10 +00:00
Jeff Hill
e68384b7e2 use specified port if it isnt provided in the interface address list 2002-07-22 16:53:58 +00:00
Marty Kraimer
325548b80f UDF how has a promptgroup.
This allows database configuration tools to mset UDF false.
2002-07-22 13:11:29 +00:00
Marty Kraimer
b8600aab3e add a couple. Fix conflicts. 2002-07-22 13:08:07 +00:00
Marty Kraimer
fc39d4f879 Field VAL now has a cvt_dbaddr method.
If no state strings are defined then the field type is declared USHORT.
2002-07-22 13:05:23 +00:00
Janet B. Anderson
9800be7c04 Removed old copyright comments. 2002-07-15 22:01:28 +00:00
Janet B. Anderson
7b250b9ec9 Removed Log history comments. 2002-07-15 21:51:02 +00:00
Janet B. Anderson
7aa6a39955 Moved shell command to top line. 2002-07-12 22:31:30 +00:00
Janet B. Anderson
1a59789871 Updated license comments. 2002-07-12 22:19:52 +00:00
cvs2svn
522e46036d This commit was manufactured by cvs2svn to create branch 'B3.13'. 2002-07-12 21:35:44 +00:00
Janet B. Anderson
053cfb39df Commented out pid record, symb and devPtSoft. 2002-07-11 19:36:25 +00:00
Jeff Hill
8195098e49 doc ca put callback bug in R3.13.6 2002-06-24 15:44:00 +00:00
Janet B. Anderson
2ad833fd1f Changed dir to EPICS_BASE_HOST_BIN. 2002-06-12 14:21:09 +00:00
Jeff Hill
69d504a657 fixed race condition occuring when a put notify is canceled by a ca clear channel
at the same instant that it completes
2002-05-29 15:07:31 +00:00
Jeff Hill
d5c5baad83 fixed race condition occuring when a put notify is canceled by a ca clear channel
at the same instant that it completes
2002-05-28 23:49:31 +00:00
Jeff Hill
795cb4c46d fixed ellFree cause malloc and free to be in different win32 dlls 2002-05-28 18:42:32 +00:00
Jeff Hill
5d8742632b fixed isinf() implementation 2002-05-28 18:37:34 +00:00
Marty Kraimer
979ce1be90 remove printf 2002-05-17 16:02:35 +00:00
Marty Kraimer
5c3da28b5e Change croteria for setting eoff=egul 2002-05-17 16:02:02 +00:00
Marty Kraimer
e3f52845d0 better diagnostic message 2002-05-17 15:56:49 +00:00
Marty Kraimer
2bd00b3e41 fix CA puts to disabled record 2002-05-17 15:53:56 +00:00
Marty Kraimer
06a0fa1708 better code for isinf 2002-05-17 15:47:50 +00:00
Marty Kraimer
3c76d41b70 support special_linconv for ai and ao 2002-05-17 15:43:37 +00:00
Janet B. Anderson
ad81dee1a1 Fix for static builds. 2002-05-06 20:16:00 +00:00
Andrew Johnson
a4ca46b051 Added cache handling so the NI-1014 works on MC68060-based boards. 2002-04-17 21:56:48 +00:00
Marty Kraimer
b94329db3f support nan and inf 2002-04-11 15:51:14 +00:00
Marty Kraimer
6d427b7b8b epicsMath.h support isnan and isinf 2002-04-11 15:50:27 +00:00
Marty Kraimer
5aff3b2d44 allow for nan and inf 2002-04-11 15:49:24 +00:00
Marty Kraimer
9ada9d9630 Several change for R3.13.7 2002-04-08 15:07:20 +00:00
Marty Kraimer
2cbee21119 It was possible for calcPerform to return a nan (not a number) 2002-04-08 15:03:06 +00:00
Marty Kraimer
cd6f33ef27 nsev not sevr must be checked 2002-04-08 14:55:13 +00:00
Marty Kraimer
4434ba4d6e TPRO did not work if dbProcess called recursively by different tasks 2002-04-08 14:41:00 +00:00
Marty Kraimer
69ffb18e7a dbb failed while taking recursive lock 2002-04-08 14:39:08 +00:00
Marty Kraimer
347fed2bad Fix failure for TSconfigure(0,0,0,0,0,0,1) 2002-04-08 14:38:09 +00:00
Jeff Hill
365243a2b0 set SOLARIS macro to the solaris version 2002-03-27 23:35:09 +00:00
Jeff Hill
355d2b0f42 made osiSocklen_t switch on the solaris os version 2002-03-27 23:29:53 +00:00
Jeff Hill
6a663c83c5 made osiSocklen_t switch on the solaris os version 2002-03-27 00:52:51 +00:00
Jeff Hill
57476bb56a made osiSocklen_t switch on the solaris os version 2002-03-27 00:26:32 +00:00
Jeff Hill
b99c4d2f6c removed declaration for gethostname 2002-03-26 23:05:52 +00:00
Jeff Hill
ca76aa0524 removed c++ style comment (ifdefed out for C but still a source of warnings) 2002-03-25 23:37:14 +00:00
Marty Kraimer
dcf48cea38 putNotify bug 2002-03-15 15:30:59 +00:00
Marty Kraimer
a2fad6e62e when moving restart list remove new owner from it 2002-03-15 15:24:31 +00:00
Janet B. Anderson
2054e9299a Modified comments containing jba overrides. 2002-03-14 22:39:45 +00:00
Jeff Hill
6a3ddb3076 more descriptions of CA problems 2002-03-14 16:58:29 +00:00
Jeff Hill
094a79fcd0 fixed put notify shutdown during channel delete 2002-03-14 01:13:58 +00:00
Jeff Hill
a29cf1b411 cosmetic 2002-03-13 22:10:16 +00:00
Jeff Hill
36a977becd improved put notify cleanup when client terminates 2002-03-13 22:07:58 +00:00
Jeff Hill
73f35c8167 improved put notify cleanup when client hangs up 2002-03-13 22:04:52 +00:00
Jeff Hill
47bbac99ce better message 2002-03-13 21:58:15 +00:00
Jeff Hill
e6850d62db fixed put notify cleanup during shutdown 2002-03-13 18:32:36 +00:00
Janet B. Anderson
567b220ea7 epics_R3_13_6 2002-03-13 14:44:06 +00:00
Marty Kraimer
ab090ce4ea print strerror(errno) 2002-03-13 13:14:47 +00:00
Jeff Hill
b8553b00d8 fixed dangling extra labor after extra labor flush 2002-03-12 23:48:36 +00:00
Marty Kraimer
27f82a6284 add notes for R3.13.6 2002-03-11 13:23:47 +00:00
Jeff Hill
af570b2b23 updated release notes with info describing fixes for CA related problems 2002-03-08 21:32:31 +00:00
Marty Kraimer
87bfe60ee7 All existing manipulations of UDF in process() are removed and one udf is set FALSE when the raw value is successfully read. 2002-03-08 15:26:19 +00:00
Marty Kraimer
a778863602 In do_sel udf is not set false at the beginning. If selm has an invalid value recGblSetSevr(psel,SOFT_ALARM,MAJOR_ALARM) is called. 2002-03-08 15:25:43 +00:00
Marty Kraimer
3916d4e459 change authors 2002-03-08 15:22:12 +00:00
Marty Kraimer
aecaf46c53 IrqVector must be multiple of 4 2002-03-08 15:21:30 +00:00
Marty Kraimer
a33f03c6ea initialProcess is now called before interruptAccept 2002-03-08 15:19:14 +00:00
Marty Kraimer
866a410f23 fix ellList errors 2002-03-08 15:18:26 +00:00
Marty Kraimer
f67bdb4668 double 0 to float conversion was incorrect 2002-03-08 14:59:01 +00:00
Marty Kraimer
8973bbdc3a some changes for R3.13.6 2002-03-08 13:38:01 +00:00
Jeff Hill
0fb4075a62 fixed bug where the db_put_field in the local event callback stub was supplied
with a destination that was the database field. In situations where the dbAccess
db_access field types were different the database was damaged.
2002-03-08 00:25:08 +00:00
Jeff Hill
bedbab8965 check for floating point in correct place 2002-03-08 00:16:27 +00:00
Jeff Hill
a82f4c4c43 dont allow canceled events to use up queue pad for first event 2002-03-08 00:15:51 +00:00
Janet B. Anderson
3ee0ea750a Added touch.pl for WIN32 builds (needed for newest cygwin make). 2002-03-07 23:21:01 +00:00
Janet B. Anderson
717384dbdb Define HOME if not alread defined. 2002-02-15 15:33:59 +00:00
Janet B. Anderson
a06a26bf2d Changed subst to patsubst in the DLL_LIBS definition. 2002-02-14 23:36:42 +00:00
Jeff Hill
34e5e5432b workaround for CONNRESET error from disconnected socket on windows 2002-02-07 18:49:16 +00:00
Marty Kraimer
cc5791cbbd change stack size 2002-01-22 16:00:28 +00:00
Andrew Johnson
fb22efdc54 Applied PPC patch from APS local version R3.13.2-asd2 that got missed out
of R3.13.5
2002-01-15 21:58:03 +00:00
Marty Kraimer
b74047a296 see tech-talk message from Noboru Yamamoto Nov 2001 2002-01-07 14:49:15 +00:00
Janet B. Anderson
e573033c7e Removed unused references to VX_CONFIG_DIR. 2001-12-06 21:30:39 +00:00
Janet B. Anderson
d121fb00a7 Added comments for jba crosscompiler. 2001-12-06 21:24:40 +00:00
Marty Kraimer
b9b5e7f826 dbCaGetLink must return -1 when sevr = INVALID 2001-11-16 14:15:03 +00:00
Janet B. Anderson
2582f37da0 Fix for DLL_LIBS. 2001-10-11 21:22:56 +00:00
Janet B. Anderson
e1c108b14a Added basename. 2001-10-01 17:52:43 +00:00
Janet B. Anderson
fbf3e7630a Fix shared libraries build bug. 2001-09-21 18:22:44 +00:00
Jeff Hill
2d298e60c2 dont use bool - early compilers dont support it 2001-09-20 22:43:14 +00:00
Jeff Hill
fbabce651f dont deadlock if ca_clear_event() is in event cb 2001-09-20 17:44:27 +00:00
Janet B. Anderson
ea1d5039e8 Added SRCS for PRODs. 2001-09-19 14:44:01 +00:00
Janet B. Anderson
64cbf3ce00 Added SRCS for ascheck. 2001-09-19 14:42:43 +00:00
Janet B. Anderson
9a99bb114f Added SRCS for caRepeater. 2001-09-19 14:41:56 +00:00
Janet B. Anderson
a6a395861e SRCS needed for lib depends to work. 2001-09-19 14:17:58 +00:00
Janet B. Anderson
804f240d05 Updated for R3.13.5. 2001-09-19 14:14:15 +00:00
Janet B. Anderson
8a477f7f95 Updates for R3.13.5 2001-09-19 14:06:15 +00:00
Janet B. Anderson
8a93905515 Updates for R3.13.5 2001-09-18 22:05:47 +00:00
Janet B. Anderson
d401dcdfab R3.13.5 - update for win32 2001-09-18 18:11:11 +00:00
Marty Kraimer
d56ca7f02e changes for R3.13.5 2001-09-18 15:49:53 +00:00
Janet B. Anderson
b1725b380b R3.13.5 2001-09-18 14:58:15 +00:00
Marty Kraimer
70d0303f78 A link is made a constant if either strtod or strtol eats entire string.
Previously only strtod was used.
2001-09-18 12:52:21 +00:00
Marty Kraimer
5a83c766e8 If prompt is null it is now made a null string.
Last breakpoint interval is now given a value.
2001-09-18 12:48:11 +00:00
Marty Kraimer
f3b833912f recGblInitConstantLink uses %i instead of %u for unsigned types.
This is so that hex constants are accepted. %u does not accept hex.
2001-09-18 12:42:44 +00:00
Marty Kraimer
bdc546a8c3 Now uses osiSock for to handle implementation diffences. 2001-09-18 12:25:01 +00:00
Marty Kraimer
c02d807a3d increased stack size for cac_recv_task from 4096 to 8192 2001-09-18 12:17:48 +00:00
Andrew Johnson
5cba098b1b Replaced makeConfigAppInclude.pl and makeIocCdCommands.pl with
convertRelease.pl, added rules to do a checkRelease on build.
2001-09-14 19:39:17 +00:00
Marty Kraimer
ed5d521400 resolve conflicts with Jeffs commit 2001-09-10 13:07:11 +00:00
Jeff Hill
360fca950d removed ifdef on GNUC 2001-09-05 15:10:11 +00:00
Andrew Johnson
511e0f3ed6 Changes to get working on PowerPC - struct alignment issues mainly,
plus a problem with the maximum message length check...
Also removed lots of warnings, although this was a bit of a waste of time.
2001-08-30 21:16:48 +00:00
Jeff Hill
1959f42c41 fixed my dreadful spelling 2001-08-27 21:26:03 +00:00
Jeff Hill
f1d8472118 added CA server bug info 2001-08-27 21:20:44 +00:00
Jeff Hill
8d4adef787 fixed event clear while flow control is running deadlock 2001-08-27 20:38:46 +00:00
Janet B. Anderson
560e9d5bf2 Added SRCS.c and SRCS.cc to depends dependancies. 2001-08-27 18:57:10 +00:00
Janet B. Anderson
3eaa0b0e9c R3-13-5-beta-1 2001-08-27 18:54:45 +00:00
Janet B. Anderson
c78c305dde Added compiler -w warning options. 2001-08-27 18:52:25 +00:00
Janet B. Anderson
def5fcf7c2 Only execute depends command if there are source files. 2001-08-20 17:23:24 +00:00
Janet B. Anderson
c4a14a940d Added depends rule. 2001-08-20 16:36:50 +00:00
Janet B. Anderson
9d4540bf96 Added SRCS line - necessary for depends rule. 2001-08-20 16:24:37 +00:00
Andrew Johnson
55422049a5 Removed spurious menuLinr.dbd (LINR uses menuConvert found in src/bpt). 2001-08-17 22:30:59 +00:00
Andrew Johnson
41263e4136 Removed special_linconv() routines, ESLO and EOFF can be set manually. 2001-08-17 22:15:59 +00:00
Andrew Johnson
631f522d75 ESLO and EOFF are now design fields, usable when no device support
special_linconv() routine is provided (for Raw Soft support).
Value changes by device support also cause CA monitors to be posted.
2001-08-17 22:14:15 +00:00
Marty Kraimer
006c7eda64 VAL has promptgroup 2001-08-16 15:36:17 +00:00
Marty Kraimer
83420814a0 VAL has promptgroup; ESLO,EOFF user modifable 2001-08-16 15:35:55 +00:00
Marty Kraimer
ef15667182 change INVALID to MAJOR 2001-08-16 15:34:14 +00:00
Andrew Johnson
405fff7f58 Fixed comment about disabling VBTO on 68K boards. 2001-08-06 22:31:33 +00:00
Marty Kraimer
54fee9f016 change default precision from 0 to 6 2001-07-10 18:29:34 +00:00
Janet B. Anderson
9e451e8f32 Moved +DAportable to compiler dependant options. 2001-06-26 16:14:36 +00:00
Jeff Hill
11fb4abef3 accomodate ppc 2001-06-25 21:38:03 +00:00
Jeff Hill
6a8ad88933 this file should not be in R3.13. It is probably showing up
there due to persons directly manipulating files in CVS root?
2001-06-25 21:35:29 +00:00
Janet B. Anderson
7e9882e62d Don't try to create directory if symbolic link of same name exists. 2001-06-25 19:28:11 +00:00
Marty Kraimer
50e67354ce bug that causes dbNotifyCancel to timeout 2001-06-21 12:58:09 +00:00
Marty Kraimer
bfb770040e changes for 3.13.5 2001-06-20 16:19:28 +00:00
Marty Kraimer
a7cbe6320c Improved algorithm for cpuUsage 2001-06-20 16:12:15 +00:00
Marty Kraimer
930f5d64ec DBF_FLOAT fields have been replaced by DBF_DOUBLE
DBF_FLOAT fields have been replaced by DBF_DOUBLE
2001-06-20 16:05:37 +00:00
Marty Kraimer
adb2d574a3 size was wrong 2001-06-20 15:59:02 +00:00
Marty Kraimer
9875370d92 change double to float 2001-06-20 15:58:26 +00:00
Marty Kraimer
558e7a3947 inplement safeDoubleToFloat 2001-06-20 15:29:43 +00:00
Marty Kraimer
3a74d55e6c replace epicsPrintf by errlogPrintf; suppress some messages 2001-06-20 15:27:56 +00:00
Marty Kraimer
cd0cf5f214 A bug was fixed that was related to dynamically changing lock sets.
The record support put_array_info is called after the a put only if the put is successful.
2001-06-20 14:09:37 +00:00
Janet B. Anderson
4aa81c5344 Die if rmtree fails. 2001-06-08 20:36:54 +00:00
Andrew Johnson
55a9e3b202 Added NICPU030 precompiler definition, needed for drvEpvxi.c on this board. 2001-06-07 21:33:25 +00:00
Andrew Johnson
cf08dffbe3 Added support for PowerPC, fixed a few things.
This file now builds without the NI cpi030 support by default, if you need
this you'll have to uncomment the #define, or add a suitable macro to the
arguments of the compiler such as  -DNICPU030
2001-06-07 21:05:45 +00:00
Jeff Hill
83e5824c82 better config of ifconfig differences 2001-05-23 21:39:28 +00:00
Janet B. Anderson
b4a3060bcc Added missing calls to recGblGetGraphicDouble and recGblGetControlDouble. 2001-05-08 20:02:31 +00:00
Andrew Johnson
359cac2a7a Don't crash if no hardware present... 2001-04-06 15:22:17 +00:00
Jeff Hill
932ee82378 fixed task names with spaces 2001-03-22 20:58:43 +00:00
Janet B. Anderson
54f8c4b16e Removed .PHONY declarations. 2001-03-12 15:36:09 +00:00
Janet B. Anderson
c869181371 Updated comments. 2001-03-07 19:28:59 +00:00
Janet B. Anderson
e9a73b4672 Math lib removed. -fPIC options removed. 2001-03-07 18:55:23 +00:00
Janet B. Anderson
4810331f30 Changes for cygwin32 build. 2001-03-07 16:25:24 +00:00
Janet B. Anderson
a45cccca31 Changes for cygwin32 build. 2001-03-07 16:00:48 +00:00
Janet B. Anderson
dec31ae490 Initial version. 2001-03-07 15:43:01 +00:00
Janet B. Anderson
af758921ca Changes for DLL_LDLIBS. 2001-03-06 21:56:13 +00:00
Janet B. Anderson
f26211bc90 Set WIND_HOST_TYPE to x86-win32. 2001-03-06 21:53:10 +00:00
Janet B. Anderson
4c4eeee2d1 Added ifdef CPLUSPLUS again to linker definition. 2001-03-06 21:30:59 +00:00
Jeff Hill
ff21da6b48 fixed R3.13 for Linux's new socklen_t 2001-03-06 00:33:50 +00:00
Jeff Hill
743edfea17 fixed R3.13 for Linux's new socklen_t 2001-03-06 00:24:42 +00:00
Jeff Hill
d030dc6c79 fixed R3.13 for Linux's new socklen_t 2001-03-06 00:22:53 +00:00
Jeff Hill
602510cef7 fixed new dependence on socklen_t in Linux 2001-03-06 00:21:35 +00:00
Jeff Hill
f04f56750a fixed R3.13 for Linux's new socklen_t 2001-03-06 00:10:29 +00:00
Jeff Hill
9b6d834852 made compatible again with R3.11 2000-12-18 23:35:20 +00:00
Janet B. Anderson
443228c030 R3-13-4 2000-12-15 15:52:33 +00:00
Janet B. Anderson
1782f96fdf Initial version. 2000-12-14 21:27:38 +00:00
Janet B. Anderson
ecfc4209a5 Added vpath for .cpp files. 2000-12-14 16:20:37 +00:00
Janet B. Anderson
9392890198 Added *.cpp c++ source file compilation rule. 2000-12-14 16:00:58 +00:00
Marty Kraimer
07d184b7cf notes for 3.13.4 2000-12-14 14:20:56 +00:00
Marty Kraimer
703c3a838f changes for asTrapWrite 2000-12-11 15:46:14 +00:00
Marty Kraimer
1fca6cb348 Look for delta=0x80000000 2000-12-11 15:44:32 +00:00
Marty Kraimer
983ec9605c VAL and all related fields are now DBF_DOUBLE instead of DBF_LONG
SELM, SELN, and SELL are now available. They have same semantics as for fanout record
PREC is now supported.
IVOA and IVOV are no longer present. The record support never used them.
2000-12-11 15:38:49 +00:00
Marty Kraimer
8289ea132c changes for asTrapWrite 2000-12-11 15:36:25 +00:00
Marty Kraimer
5d19a030a8 initialize graphic, control, alarm limits to 0 2000-12-11 15:30:59 +00:00
Marty Kraimer
105f1107f1 add catime.o 2000-12-11 15:24:59 +00:00
Janet B. Anderson
c83434b82a Added Linux to LD_LIBRARY_PATH comment. 2000-12-01 20:49:32 +00:00
Jeff Hill
a1d0bfda5a changes from Ken Evans 2000-11-30 22:07:51 +00:00
Jeff Hill
d0f57e2c5b undefine debug macro and properly fetch source address
with Tornado II
2000-11-30 19:27:49 +00:00
Marty Kraimer
e0444c15cf make sure TSinit gets called 2000-11-10 22:00:26 +00:00
Jeff Hill
20b4796d5b if the server does not supply the beacon address then supply it in
the repeater
2000-11-09 16:31:33 +00:00
Jeff Hill
1c546579c0 avoid undefined symbols on certain Tornado II BSPs 2000-11-09 16:23:46 +00:00
Janet B. Anderson
97e0200a96 Added Borland definition and removed need for LIB env var. 2000-11-09 16:14:19 +00:00
Jeff Hill
bfead72b3f fixed unspecified beacon source address 2000-11-09 16:13:05 +00:00
Janet B. Anderson
a8cef4a3f3 Commented out drvEpvxi.o, drvEpvxiMsg.o, and drvHp1404a.o. 2000-11-09 16:01:28 +00:00
Jeff Hill
c07663f336 use ( (void ) 0 ) instead of just (void) 2000-11-08 20:24:42 +00:00
Jeff Hill
d26b946bcd assert must return void 2000-11-07 19:40:40 +00:00
Jeff Hill
2bbd8e82f0 protect against claim msgs processing after IOC disconnects 2000-11-03 23:05:13 +00:00
Jeff Hill
01b9401694 protect against claim msgs processing after IOC disconnects 2000-11-03 22:15:44 +00:00
Janet B. Anderson
d8707e17d7 Added ppc603 and CONFIG_SITE files for Linux build. 2000-10-31 20:37:43 +00:00
Andrew Johnson
ee118b800e Fixed TSgetMasterTime() bug - round-trip adjustment was garbage
Replaced TSprintf() with printf() where logging inappropriate
2000-10-12 15:47:13 +00:00
Janet B. Anderson
08b3fba1d2 Added os include file dirs. 2000-10-10 15:36:49 +00:00
Janet B. Anderson
da1359e352 Fix for timespec register problem. 2000-10-02 18:07:35 +00:00
Jeff Hill
357a58a976 fixed improper status test for ellFind 2000-09-12 18:39:27 +00:00
Jeff Hill
4dfcfb92d3 fixed alignment bug check on hosts that have 64 bit longs 2000-08-29 20:03:04 +00:00
Robert Soliday
d387f10f98 This file overwrites an older version that was commited by mistake. 2000-08-21 20:20:25 +00:00
Ralph Lange
0ec95fe1d7 MODULO bug (range was limited to short int) fixed. 2000-08-09 13:51:08 +00:00
Jeff Hill
a25736f934 removed all "CMPLR=STRICT" and "CXXCMPLR = SRICT"
from R3.13 patch branch makefiles
2000-07-18 15:15:09 +00:00
Janet B. Anderson
489cda3f4a Updated supported architecture lists. 2000-07-17 21:35:40 +00:00
Janet B. Anderson
cc04722d6f Fix for crosscompiler using wrong assembler. 2000-07-14 18:14:51 +00:00
Jeff Hill
5f8f321cba fixed missing type in static init 2000-07-13 23:37:24 +00:00
Jeff Hill
67da742a41 removed log 2000-07-12 22:04:37 +00:00
Jeff Hill
18dbd6153f fixed DLL export for the Borlund build 2000-07-11 01:30:10 +00:00
Jeff Hill
67c073dd50 better test for VMS 2000-07-10 18:59:09 +00:00
Marty Kraimer
07793f462b latest notes 2000-07-10 18:24:15 +00:00
Janet B. Anderson
e12e6c5511 epics_R3_13_3 2000-07-10 18:20:58 +00:00
Ralph Lange
12bd694be3 Bugfix: Changed RVAL/ROFF conversion to use double arithmetics 2000-07-07 18:15:30 +00:00
Janet B. Anderson
3a833feb34 Removed changes made for extensions until wildcard problems are resolved. 2000-07-07 15:23:42 +00:00
Jeff Hill
c2096fee0f added DLL export to destructor 2000-07-06 15:21:34 +00:00
Janet B. Anderson
368eb29e24 Changes for Borland compiler. 2000-07-06 14:16:15 +00:00
Marty Kraimer
59252092fc modify note about Borland c++ 2000-07-06 12:55:10 +00:00
Marty Kraimer
466cdaf012 more notes for 3.13.3 2000-07-05 15:22:48 +00:00
Janet B. Anderson
7948ab440f Added target ppc604, changed default to tornado20, added option to
install all include files firs.
2000-07-05 14:31:19 +00:00
Janet B. Anderson
177224595a Commented out tornado101 dir. 2000-07-05 14:30:12 +00:00
Janet B. Anderson
5b61fb0a92 Added option to install all include files first. 2000-07-05 14:13:05 +00:00
Janet B. Anderson
32f6dc1070 Added RMDIR definition. Removed uninstall's dependancy on bootstrap. 2000-07-03 19:16:16 +00:00
Janet B. Anderson
871a0d2f5b Changed company name. 2000-06-30 19:51:35 +00:00
Janet B. Anderson
8f1b6b071b Initial version. 2000-06-30 19:51:02 +00:00
Marty Kraimer
2ea7efe2ea dont give value for SHARE 2000-06-30 15:13:01 +00:00
Marty Kraimer
789ad68afd allow put callback for ACKT and ACKS 2000-06-30 14:07:38 +00:00
Marty Kraimer
cfc8647108 notes for 3.13.3 2000-06-29 13:42:43 +00:00
Jeff Hill
5ed27edaa3 m_type => m_dataType 2000-06-28 22:52:15 +00:00
Jeff Hill
1adff7f6c7 updated to support new BSD network interface query API 2000-06-28 16:33:51 +00:00
Marty Kraimer
c71cbc4f36 remove blank from task name 2000-06-28 15:48:43 +00:00
Jeff Hill
c8029c6597 changed "m_type" to "m_dataType" in order to avoid collision
with MACRO supplied by WRS's Tornado II product
2000-06-28 15:41:19 +00:00
Marty Kraimer
15ba66a654 fix include statements 2000-06-28 14:09:41 +00:00
Marty Kraimer
ebc676aea6 no imbeded blanks in task names 2000-06-28 14:00:23 +00:00
Marty Kraimer
e8a396074c make tsStampFromLocal and tsStampToLocal public 2000-06-28 13:56:14 +00:00
Marty Kraimer
335fc3aaee monitor if either the STAT or SEVR changes 2000-06-28 13:40:50 +00:00
Marty Kraimer
77049dd60d fix bad definition 2000-06-28 13:39:38 +00:00
Marty Kraimer
903c568990 add new convience routines 2000-06-28 13:37:36 +00:00
Ralph Lange
21f9ce34ff Bugfix in HPUX shared lib link options 2000-06-22 17:20:55 +00:00
Janet B. Anderson
ce0f7e1fc3 Added -m68040 to cflags. 2000-06-22 16:22:02 +00:00
Janet B. Anderson
6421264b9e Removed extra references to install. 2000-06-20 19:17:54 +00:00
Janet B. Anderson
4d04a3bda1 Moved the execution of the cleandirs rule. 2000-06-20 19:04:21 +00:00
Ralph Lange
b2da4eed3e Fix for aCC depends rule 2000-06-14 14:22:51 +00:00
Janet B. Anderson
2853eb9066 Cpu family specification not necessary if cpu is specified. 2000-06-09 15:29:32 +00:00
Ralph Lange
af7ae9694f Bugfix: -include only with Tornado 2000-06-09 14:23:37 +00:00
Ralph Lange
a2df5adfae Add for shared libs under HPUX / aCC 2000-06-09 14:18:36 +00:00
Ralph Lange
e49648170e Bugfix for shared libs under HPUX / aCC 2000-06-09 13:59:28 +00:00
Janet B. Anderson
6272f98eef Added fields drvl and drvh. 2000-05-31 18:33:52 +00:00
Janet B. Anderson
b520b21015 Added rules for java header file creation. 2000-05-15 14:31:37 +00:00
Janet B. Anderson
0cace42008 Modified win32 def file flag. 2000-05-09 20:50:25 +00:00
Janet B. Anderson
dedc7c00a0 Added win32 resource file. 2000-05-09 20:45:21 +00:00
Janet B. Anderson
9caa93a5aa Added win32 resource file. Removed some lines from ca.def. 2000-05-09 20:43:32 +00:00
Janet B. Anderson
67ba2be514 Added win32 resource file. 2000-05-09 20:29:45 +00:00
Janet B. Anderson
0e9a80746b Added win32 resource files. 2000-05-09 20:29:12 +00:00
Janet B. Anderson
840cb1154d Changes for win32 resource files. 2000-05-09 20:09:57 +00:00
Janet B. Anderson
b41c25c31a Modified config files to get rid of inc build step. 2000-05-08 18:11:33 +00:00
Janet B. Anderson
5c084c6ca7 Moved header files and changed Makefiles to get rid of inc build step. 2000-05-08 18:10:20 +00:00
Janet B. Anderson
3eca7fcc87 Set LD_LIBRARY_PATH for shared library builds 2000-05-08 14:42:29 +00:00
Janet B. Anderson
065a7eb4e7 Added definitions for EPICS_BASE_HOST_LIB and INSTALL_HOST_LIB. 2000-05-08 14:40:49 +00:00
Janet B. Anderson
64eb66f6d8 Changed /cs/op/lib to /cs/lib. 2000-04-25 20:46:44 +00:00
Janet B. Anderson
9c5f9df16b Added include directories to RCCMD definition. 2000-04-25 20:32:29 +00:00
Janet B. Anderson
5b33376c9f Added CCC_SHRLIB flag definitions. 2000-04-25 20:31:24 +00:00
Janet B. Anderson
1287657634 Always use c++ linker. Shrlib flags now from CXX definitions. 2000-04-25 20:30:06 +00:00
Janet B. Anderson
0697f3d609 Updates to changes from Chris Larrieu for hp700 build. 2000-04-25 20:27:23 +00:00
Janet B. Anderson
3ef5dd4365 Changes from Chris Larrieu for hp700 build. 2000-04-25 18:51:20 +00:00
Janet B. Anderson
022d8cbef2 Changes from Chris Larrieu for hp700 build. 2000-04-25 18:45:47 +00:00
Janet B. Anderson
a8905acdaf Borland build file from Bob Soliday. 2000-04-17 16:27:51 +00:00
Janet B. Anderson
96f1563b75 Removed Borland build debugging prints. 2000-04-11 20:35:07 +00:00
Janet B. Anderson
0457e9fb20 Removed include of module_types.h. 2000-04-11 20:25:00 +00:00
Janet B. Anderson
af2f551e58 Added changes for Borland compiler buld. 2000-04-11 20:17:25 +00:00
Janet B. Anderson
004854183e Added changes for Borland win32 build. 2000-04-11 20:12:33 +00:00
Janet B. Anderson
d8117bc035 New files for Borland win32 build. 2000-04-11 20:07:40 +00:00
Janet B. Anderson
bc9ab2acb3 Added Borland changes. 2000-04-11 20:05:48 +00:00
Janet B. Anderson
1f972cfa3d Library build now depends on Makefile.Vx. 2000-04-05 19:10:06 +00:00
Janet B. Anderson
09931eaec6 Include of vxWorks.h needed for tornado2. 2000-03-29 19:57:25 +00:00
Janet B. Anderson
0caf235b4a Changed header include lines enclosures to quote marks. 2000-03-29 15:15:29 +00:00
Janet B. Anderson
280b396b51 Removed commented out USER_DBDFLAGS definition. 2000-03-29 15:12:39 +00:00
Janet B. Anderson
e5ecba33cf Fix uninstall rule for WIN32. 2000-03-28 21:06:12 +00:00
Janet B. Anderson
71a3df9d04 Replaced double slashes with single slash. 2000-03-28 18:56:14 +00:00
Janet B. Anderson
ebd17b7918 Fix for vx headers using macros in vxWorks.h and not including vxWorks.h. 2000-03-28 16:15:07 +00:00
Janet B. Anderson
b9b7da40ac Turn on debugging option when VX_OPT=NO. 2000-03-27 21:01:10 +00:00
Janet B. Anderson
99e36b6dd1 Added -fPIC -D_REENTRANT for gnu compiler builds. 2000-03-21 19:03:51 +00:00
Janet B. Anderson
ee9d4a4d0d Added -D_REENTRANT for vx builds. 2000-03-21 19:03:18 +00:00
Jeff Hill
3435e0c38a added const to string table 2000-03-09 17:36:23 +00:00
Janet B. Anderson
6d851ae852 Added Makefile dependancy on LIBNAME (LIBOBS may have changed). 2000-03-08 22:49:58 +00:00
Janet B. Anderson
37ad0c3445 Changes made to allow building multilpe libraries with circular references. 2000-02-25 23:05:53 +00:00
Marty Kraimer
cac8d1f5bf cvtLongToHexString now puts 0x in frount of the number and cvtLongToOctalString writes a leading 0. 2000-02-18 13:43:52 +00:00
Marty Kraimer
9e67db7af0 If the put is to the VAL field then udf is set false. 2000-02-18 13:31:10 +00:00
Marty Kraimer
e56b154b4c A dbPutLink is attempted for all links even if a put for a previous link fails. 2000-02-18 13:29:46 +00:00
Marty Kraimer
a686a5bd8c The convert routine no longer sets udf false. Fetch_value does set udf false when it successfully fetched a value. Thus udf is now only set false when a new value is obtained. 2000-02-18 13:29:11 +00:00
Marty Kraimer
77cc55e4f9 In alarm the definitions of hihi, high, low, lolo; are changed from float to double. 2000-02-18 13:28:01 +00:00
Marty Kraimer
8955a3c1c7 dbel was incorrectly reporting VALUE, ALARM and LOG for all events. 2000-02-18 13:27:16 +00:00
Marty Kraimer
6324cbf82c increase stack size 2000-02-18 13:23:38 +00:00
Janet B. Anderson
104ba85ebc Changed order of flags in COMPILE definitions. 2000-02-10 19:30:21 +00:00
Janet B. Anderson
9b5fbf099a Fixed test stmnt errors in previous commit. 2000-02-02 22:25:27 +00:00
Janet B. Anderson
63e9665e8d Changed test order in while stmnts to prevent UMR problem. - Evans 2000-02-02 22:00:18 +00:00
Ralph Lange
df5ae40387 IVOA/IVOV (raw support) fix (B. Franksen) 2000-01-18 08:00:27 +00:00
Ralph Lange
b48f5f410e Maximize Severity in OUT Links fixed. (B. Franksen) 2000-01-11 17:06:29 +00:00
Ralph Lange
d7dfd29cc6 += IVOV/IVOA support, UDF behaviour fixed. (B. Franksen) 2000-01-11 17:04:00 +00:00
Ralph Lange
d6ba9f1bc7 Change suggested by R. Wright (makes it work with perl 5.003) 2000-01-11 13:34:54 +00:00
Janet B. Anderson
ea7582b20f epics_R3_13_2 1999-12-17 16:04:35 +00:00
Jeff Hill
51847ba684 allow UDP to receive NOOP proto from the repeater 1999-12-16 18:41:39 +00:00
Marty Kraimer
3eaee4daca notes for R3.13.2 1999-12-16 14:58:07 +00:00
Janet B. Anderson
d6ee79d742 Uninstall now removes only the bin and lib subdirs that will get rebuilt.
Added distclean rule.
1999-12-15 23:12:00 +00:00
Janet B. Anderson
894f9a53ec Second try at fixing cvs log comments. 1999-12-15 21:28:35 +00:00
Janet B. Anderson
425f1bab9f Fixed cvs comments. 1999-12-15 21:13:32 +00:00
Janet B. Anderson
5c4143d3fe New tornado directory for ppc604 (no SENS library). 1999-12-13 21:07:18 +00:00
Jeff Hill
65f755a5e2 made client more robust made client more robust when
poorly formulated messages are received
1999-12-11 00:49:53 +00:00
Janet B. Anderson
9f346cf216 Added PROD_OBJS to PROD dependancies to fix "make depends". 1999-12-10 20:01:58 +00:00
Janet B. Anderson
8cf0e35e80 Added config files for ppc604. 1999-12-10 19:56:30 +00:00
Marty Kraimer
2183d4bc98 unbundled 1999-12-09 21:54:03 +00:00
Marty Kraimer
d83d6bc033 first DIRS cant be += 1999-12-09 21:43:58 +00:00
Marty Kraimer
3a8d557e4c remove temp 1999-12-09 21:41:16 +00:00
Marty Kraimer
5437eb4cfc list subdirectories separately so that support can be removed 1999-12-09 20:53:27 +00:00
Andrew Johnson
06b4e4b151 Removed CANbus and IPAC support, these have been unbundled for some
time and the versions here were very out of date.
1999-12-09 19:57:07 +00:00
Marty Kraimer
7110b36b77 add javalib 1999-12-09 16:32:35 +00:00
Marty Kraimer
524cf39786 There was a bug when converting ascii string format to time stamp. The bug involved the year 00 appeared in the ascii string 1999-12-09 16:01:23 +00:00
Marty Kraimer
b2a69aeb07 all mallocs changed to callocs. This is needed for the new unbundled bitbus support. 1999-12-08 22:02:43 +00:00
Marty Kraimer
7a9dbe8730 sscanf response now checked to be equal to 1 rather than just not zero.
all mallocs changed to callocs. This is needed for the new unbundled bitbus support.
1999-12-08 21:50:34 +00:00
Janet B. Anderson
cf8edbd069 New CPP rule. 1999-12-08 21:45:41 +00:00
Janet B. Anderson
de014e8e9b New CPP definition. 1999-12-08 21:45:22 +00:00
Marty Kraimer
3fb42aaeb1 Allow pattern with no substitutions. 1999-12-08 21:45:16 +00:00
Janet B. Anderson
5db26d6537 Branch change: Don't copy vxWorks and vxWorks.sym into base/bin. 1999-12-08 21:42:15 +00:00
Janet B. Anderson
ad0526e5c1 Release string now contains update name/level only if non blank/non zero. 1999-12-08 21:39:33 +00:00
Marty Kraimer
4b650b296c pevent_scan_list->scan_list.lock was not initialized. 1999-12-08 21:31:25 +00:00
Marty Kraimer
d32907b8c8 add ca exception handler 1999-12-08 21:28:57 +00:00
Ralph Lange
171e63d7fa += USER/USR_DBDFLAGS upward compatibility 1999-11-23 16:59:24 +00:00
cvs2svn
52809fa559 This commit was manufactured by cvs2svn to create branch 'B3.13'. 1999-11-18 15:24:08 +00:00
Jeff Hill
c4c0d30095 fixed inc/dec race on RISC arch 1999-11-17 19:46:50 +00:00
Jeff Hill
41a8c83eb4 dont send an exception to client when bad request received over udp 1999-10-28 17:27:54 +00:00
Janet B. Anderson
0636b2e7ac Added new HP C++ compiler definitions. 1999-10-27 14:57:14 +00:00
Ralph Lange
ced94a4998 += copy any non-Apps under $top; allow links for apptype directories 1999-10-22 19:46:55 +00:00
Andrew Johnson
e55317a334 Fixed if () statement error found at KEKB. 1999-09-15 15:58:46 +00:00
Ralph Lange
5c20a5182c Fixed location for hpux Tornado systems 1999-09-03 08:58:48 +00:00
Andrew Johnson
40450af3c9 Converted float=>double in the alarm() routines of many record types
where the .dbd field type didn't match the temporary local variable.
1999-09-02 23:28:23 +00:00
Andrew Johnson
36ca2234bc Several drivers weren't using INUM_TO_IVEC() macro, required for PowerPC. 1999-09-02 21:57:33 +00:00
Jeff Hill
89d52c190f fixed missing paramter to checkConnWatchDogs() func 1999-09-02 21:16:43 +00:00
Jeff Hill
28a2cbb289 use (void) and not () in func proto when its not a C++ file 1999-09-02 21:12:18 +00:00
Jeff Hill
2724d25016 fixed bug where time sync UDP client was getting in a state where
it was using the response from the previous request, and ending
up setting the time 10 seconds back
1999-08-31 16:21:11 +00:00
Janet B. Anderson
0166de83da Fixed multiple product dependancies. 1999-08-16 19:48:10 +00:00
Ralph Lange
7811c1fc08 Added base.dbd to DBDNAME dependencies (as in RULES.Vx) 1999-08-12 20:51:10 +00:00
Jeff Hill
cc56524957 bail out if select returns errors besides EINTR 1999-08-12 20:38:04 +00:00
Jeff Hill
7cd173d2f7 return "no write access" when it is an SPC_NOMOD field 1999-08-11 18:54:53 +00:00
Janet B. Anderson
4a960b4a68 Change to build c++ code. 1999-08-02 16:23:04 +00:00
Janet B. Anderson
cc04d07a18 Change to get exServer.cc to build on solaris. 1999-08-02 15:31:38 +00:00
Janet B. Anderson
7ca6a58ccb Moved ifdef to get camessage.c to build. 1999-08-02 14:18:25 +00:00
Ralph Lange
2cb1f213f0 += some wildcards in .PHONY 1999-07-30 21:37:51 +00:00
Ralph Lange
f9589b7b66 += comments 1999-07-30 21:24:49 +00:00
Ralph Lange
868519a8c0 Make CONFIG_APP_INCLUDE files in inc target 1999-07-30 21:16:06 +00:00
Ralph Lange
de7bca98f3 += 'real' DBDFLAGS 1999-07-30 21:15:13 +00:00
Ralph Lange
b06d31de70 Douple colon bugfix 1999-07-30 21:14:48 +00:00
Ralph Lange
7bcee16fe9 Fixed typos 1999-07-30 21:14:18 +00:00
Ralph Lange
18fdef33f4 += 'real' DBDFLAGS 1999-07-30 19:41:46 +00:00
Ralph Lange
d8ac98888d Bugfix (no wildcards with .PHONY) 1999-07-30 19:36:40 +00:00
Ralph Lange
ff0a29c7c8 += 'real' DBDFLAGS; fixed INCLUDES order 1999-07-30 19:34:43 +00:00
Janet B. Anderson
fc4633a085 Put base dbd dir back on user dbdflags definition. 1999-07-29 20:01:56 +00:00
Jeff Hill
7585e7492c fixed dll export 1999-07-16 00:19:38 +00:00
Jeff Hill
96ab0192ae dont build mv167 every time 1999-07-15 23:51:51 +00:00
Jeff Hill
137abe0fa9 include the compile date 1999-07-15 23:07:39 +00:00
Jeff Hill
d2d09a48f0 switch dllMain.cc on the presence of a C++ compiler 1999-07-15 23:05:19 +00:00
Jeff Hill
0a18a0ccea prevent UDP from running TCP protocol and visa-versa 1999-07-15 22:56:12 +00:00
Jeff Hill
95f88e2ad1 use ipAddrToA() so that address print out does not
come out byte swapped on the PC
1999-07-15 21:36:37 +00:00
Jeff Hill
6ff3c930ad added diagnostics 1999-07-15 21:31:51 +00:00
Jeff Hill
74e548968f improved debug message 1999-07-15 21:13:52 +00:00
Jeff Hill
7f35cd0050 ca_printf => epicsPrintf 1999-07-15 21:11:46 +00:00
Jeff Hill
db6fe79dac vis C++ version 6.0 ng IP workaround 1999-07-15 21:10:38 +00:00
Jeff Hill
a001aa24d8 fixed bug where client disconnects while waiting to send TCP 1999-07-15 21:07:33 +00:00
Jeff Hill
cb0209f493 close all non-stdio files before repeater exec 1999-07-15 21:01:29 +00:00
Jeff Hill
57a1ebfa50 added congestion thresh to search sched alg 1999-07-15 20:52:38 +00:00
Jeff Hill
7d649345c2 fixed infinite loop when ENOBUFS returned by sendto() 1999-07-15 20:50:23 +00:00
Jeff Hill
ffb229e321 added congestion thresh to search sched alg 1999-07-15 20:33:46 +00:00
Jeff Hill
ee9a42638a fixed bug where client disconnects while waiting to send TCP 1999-07-15 20:23:57 +00:00
Janet B. Anderson
680d138809 Changes to automatically generate CONFIG_APP definitions. 1999-07-15 19:55:34 +00:00
Marty Kraimer
2718646d11 changes from Ned Arnold 1999-07-15 17:40:26 +00:00
Marty Kraimer
0ba0aa26cd must include drvBitBus just so drvGpib is usable 1999-07-09 14:20:06 +00:00
Marty Kraimer
806be5e259 changhes since 3.13.1 1999-07-09 14:08:00 +00:00
Marty Kraimer
446621f87a encorporate latest SAFE (hop[efully) changes on 09JUL99 1999-07-09 14:04:38 +00:00
Marty Kraimer
41228df369 encorporate latest changes on 09JUL99 1999-07-09 14:02:06 +00:00
Marty Kraimer
0d43a37b85 encorporate latest changes on 09JUL99 1999-07-09 13:53:29 +00:00
cvs2svn
0ceb42cc74 This commit was manufactured by cvs2svn to create branch 'B3.13'. 1998-12-21 20:59:31 +00:00
1719 changed files with 131267 additions and 163970 deletions

84
LICENSE Normal file
View File

@@ -0,0 +1,84 @@
Copyright (c) 1991-2004 University of Chicago and The Regents of the
University of California. All rights reserved.
EPICS BASE is distributed subject to the following license conditions:
SOFTWARE LICENSE AGREEMENT
Software: EPICS BASE
Versions: 3.13.7 and higher
1. The "Software", below, refers to EPICS BASE (in either source code, or
binary form and accompanying documentation). Each licensee is
addressed as "you" or "Licensee."
2. The copyright holders shown above and their third-party licensors
hereby grant Licensee a royalty-free nonexclusive license, subject to
the limitations stated herein and U.S. Government license rights.
3. You may modify and make a copy or copies of the Software for use
within your organization, if you meet the following conditions:
a. Copies in source code must include the copyright notice and this
Software License Agreement.
b. Copies in binary form must include the copyright notice and this
Software License Agreement in the documentation and/or other
materials provided with the copy.
4. You may modify a copy or copies of the Software or any portion of it,
thus forming a work based on the Software, and distribute copies of
such work outside your organization, if you meet all of the following
conditions:
a. Copies in source code must include the copyright notice and this
Software License Agreement;
b. Copies in binary form must include the copyright notice and this
Software License Agreement in the documentation and/or other
materials provided with the copy;
c. Modified copies and works based on the Software must carry
prominent notices stating that you changed specified portions of
the Software.
5. Portions of the Software resulted from work developed under a U.S.
Government contract and are subject to the following license: the
Government is granted for itself and others acting on its behalf a
paid-up, nonexclusive, irrevocable worldwide license in this computer
software to reproduce, prepare derivative works, and perform publicly
and display publicly.
6. WARRANTY DISCLAIMER. THE SOFTWARE IS SUPPLIED "AS IS" WITHOUT WARRANTY
OF ANY KIND. THE COPYRIGHT HOLDERS, THEIR THIRD PARTY LICENSORS, THE
UNITED STATES, THE UNITED STATES DEPARTMENT OF ENERGY, AND THEIR
EMPLOYEES: (1) DISCLAIM ANY WARRANTIES, EXPRESS OR IMPLIED, INCLUDING
BUT NOT LIMITED TO ANY IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS
FOR A PARTICULAR PURPOSE, TITLE OR NON-INFRINGEMENT, (2) DO NOT ASSUME
ANY LEGAL LIABILITY OR RESPONSIBILITY FOR THE ACCURACY, COMPLETENESS,
OR USEFULNESS OF THE SOFTWARE, (3) DO NOT REPRESENT THAT USE OF THE
SOFTWARE WOULD NOT INFRINGE PRIVATELY OWNED RIGHTS, (4) DO NOT WARRANT
THAT THE SOFTWARE WILL FUNCTION UNINTERRUPTED, THAT IT IS ERROR-FREE
OR THAT ANY ERRORS WILL BE CORRECTED.
7. LIMITATION OF LIABILITY. IN NO EVENT WILL THE COPYRIGHT HOLDERS, THEIR
THIRD PARTY LICENSORS, THE UNITED STATES, THE UNITED STATES DEPARTMENT
OF ENERGY, OR THEIR EMPLOYEES: BE LIABLE FOR ANY INDIRECT, INCIDENTAL,
CONSEQUENTIAL, SPECIAL OR PUNITIVE DAMAGES OF ANY KIND OR NATURE,
INCLUDING BUT NOT LIMITED TO LOSS OF PROFITS OR LOSS OF DATA, FOR ANY
REASON WHATSOEVER, WHETHER SUCH LIABILITY IS ASSERTED ON THE BASIS OF
CONTRACT, TORT (INCLUDING NEGLIGENCE OR STRICT LIABILITY), OR
OTHERWISE, EVEN IF ANY OF SAID PARTIES HAS BEEN WARNED OF THE
POSSIBILITY OF SUCH LOSS OR DAMAGES.
________________________________________________________________________
This software is in part copyrighted by the BERLINER SPEICHERRING
GESELLSCHAFT FUER SYNCHROTRONSTRAHLUNG M.B.H. (BESSY), BERLIN, GERMANY.
In no event shall BESSY be liable to any party for direct, indirect,
special, incidental, or consequential damages arising out of the use of
this software, its documentation, or any derivatives thereof, even if
BESSY has been advised of the possibility of such damage.
BESSY specifically disclaims any warranties, including, but not limited
to, the implied warranties of merchantability, fitness for a particular
purpose, and non-infringement. This software is provided on an "as is"
basis, and BESSY has no obligation to provide maintenance, support,
updates, enhancements, or modifications.
________________________________________________________________________

View File

@@ -9,78 +9,6 @@
#
# [-b] - For fully built release
#
# $Log$
# Revision 1.12 1997/07/23 14:46:55 jba
# Added *bat files.
#
# Revision 1.11 1997/07/01 18:29:17 jba
# Changed Tar to tar in output filename.
#
# Revision 1.10 1997/01/17 19:59:37 jba
# Use config/CONFIG_BASE_VERSION to get version info.
#
# Revision 1.9 1996/09/04 21:41:36 jba
# Top level dir no longer passed to MakeRelease
#
# Revision 1.8 1996/07/02 13:45:09 jba
# Added dbd and base/config dirs. Removed epics/config and base/rec.
#
# Revision 1.7 1996/06/25 21:54:42 jba
# Command line parm now base dir
#
# Revision 1.6 1996/06/07 19:19:10 jba
# MakeRelease is now in release tar file.
#
# Revision 1.5 1996/03/04 21:03:48 jba
# epicsVersion.h now in src/include.
#
# Revision 1.4 1996/02/20 21:03:53 jba
# Updated README files to reflect directory changes and new installEpics.
#
# Revision 1.3 1995/10/03 15:42:26 jba
# Added *COPYRIGHT* files to release tar file.
#
# Revision 1.2 1995/08/28 15:49:54 jba
# Added startup directory to release tar file
#
# Revision 1.1 1995/08/17 20:14:56 jba
# Added base/tools scripts functionality to base/Makefile, removed scripts
# Moved base/tools/MakeRelease to base dir.
#
# Revision 1.14 1994/12/19 18:42:08 tang
# Make the args length compatible for HP and SUN.
#
# Revision 1.13 1994/12/15 19:19:18 tang
# Replace -I opt by cat and xargs for tar for HP compatibility.
#
# Revision 1.12 1994/12/14 23:57:55 tang
# Take out \< and \> pair for hp compatible
#
# Revision 1.11 1994/10/31 21:44:17 jba
# Moved print stmnt, added cd $(EPICS)
#
# Revision 1.10 1994/10/05 18:29:34 jba
# Renamed version.h to epicsVersion.h
#
# Revision 1.9 1994/09/22 01:41:47 mcn
# MakeRelease - MAJOR bug fix. GetVar / MakeDirs - minor fix.
#
# Revision 1.8 1994/09/07 20:59:15 mcn
# Revamped GetVar, modified scripts for new GetVar.
#
# Revision 1.7 1994/09/02 20:58:00 mcn
# minor change.
#
# Revision 1.6 1994/08/21 00:56:41 mcn
# New Stuff
#
# Revision 1.5 1994/08/02 18:36:29 mcn
# Support new configuration.
#
# Revision 1.4 1994/07/14 22:13:32 mcn
# Now include SDR Makefile/Headers
#
#
if [ ! -d src ]; then

View File

@@ -1,19 +1,54 @@
#*************************************************************************
# 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.
#*************************************************************************
#
# Top Level EPICS Makefile
# by Matthew Needes and Mike Bordua
#
# Notes:
# The build, clean, install, and depends "commands" do not have
# their own dependency lists; they are instead handled by
# the build.%, clean.%, etc. dependencies.
#
# However, the release dependencies DOES require a complete
# install because the release.% syntax is illegal.
#
# $Id$
#
TOP = .
include $(TOP)/configure/CONFIG
TOP=.
include $(TOP)/config/CONFIG_BASE
DIRS += config configure src
DIRS = src config
include $(TOP)/configure/RULES_TOP
INSTALL_BIN = $(INSTALL_LOCATION)/bin/$(HOST_ARCH)
release::
#
# this bootstraps in makeMakefile.pl (and others) so that it can
# be used to create the first O.xxxx/Makefile
#
PERL_BOOTSTRAP_SCRIPTS = $(notdir $(wildcard $(TOP)/src/tools/*.pl))
PERL_BOOTSTRAP_SCRIPTS_INSTALL = $(PERL_BOOTSTRAP_SCRIPTS:%=$(INSTALL_BIN)/%)
all host cross inc rebuild clean depends buildInstall :: $(PERL_BOOTSTRAP_SCRIPTS_INSTALL)
RMDIR=$(PERL) $(TOP)/src/tools/rm.pl -rf
include $(TOP)/config/RULES_TOP
release:
@echo TOP: Creating Release...
@$(TOOLS)/MakeRelease
@./MakeRelease
built_release::
built_release:
@echo TOP: Creating Fully Built Release...
@$(TOOLS)/MakeRelease -b $(INSTALL_LOCATION)
@./MakeRelease -b $(INSTALL_LOCATION)
$(INSTALL_BIN)/%.pl: $(TOP)/src/tools/%.pl
$(PERL) $(TOP)/src/tools/installEpics.pl -d -m 555 $< $(INSTALL_BIN)

698
README
View File

@@ -1,414 +1,290 @@
README
Installation Instructions
EPICS base
Release 3.14.0beta1
What is EPICS base?
The Experimental Physics and Industrial Control Systems (EPICS) is
an extensible set of software components and tools with which
application developers can create a control system. This control system
can be used to control accelerators, detectors, telescopes, or other
scientific experimental equipment. EPICS base is the set of core
software, i.e. the components of EPICS without which EPICS would not
function. EPICS base allows an arbitrary number of target systems,
IOCs (input/output controllers), and host systems, OPIs (operator
interfaces) of various types.
What is 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.
$Id$
----------------------------------------------------------------------------
3.13 EPICS BASE Notes and Build Instructions.
- By Matthew Needes
----------------------------------------------------------------------------
Copyright
Please review the COPYRIGHT* files included in the distribution for
legal terms of usage.
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
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.
Host platforms (operating system - architecture - <alternate c++
compiler>)
solaris-sparc
solaris-sparc-gnu
linux-x86
win32-x86
win32-x86-borland
Cross compile target platforms (operating system - architecture)
vxWorks-486
vxWorks-68040
vxWorks-68040lc
vxWorks-68060
vxWorks-ppc603
vxWorks-ppc604
vxWorks-pentium
RTEMS-gen68360
RTEMS-mvme167
RTEMS-pc386
Supported compilers
This version of EPICS base has been built and tested using the host
vendor's C and C++ compilers as well as the GNU gcc and g++
compilers. The GNU cross-compilers have been used for all
cross-compiled targets. You may need the host vendor's C++ compiler
in your search path to do EPICS builds. Check definitions of 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.
Software requirements
GNU make
You must use GNU make, gnumake, for any EPICS builds. Set your
path so that a gnumake version 3.70 or later is available.
Perl
You must have perl version 5.0 or later installed. The configure files do
not specify the perl full pathname. You need the perl executable in
your search path.
Unzip and tar (Winzip on WIN32 systems)
You must have tools available to unzip and untar the EPICS base
distribution file.
Tornado 2.0
You must have Tornado 2.0 installed if any of your target systems are
vxWorks systems. Tornado 2.0 provides the cross-compiler and header
files needed to build for these target systems. The full path location to
Tornado 2.0 must be specified in the base/configure/RELEASE or
base/configure/RELEASE.<hostarch> file. You will also need one or
more board support packages. Consult the vxWorks documentation for
details.
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.
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
created files for each host take approximately 40 MB and the build
created files for each target take approximately 10 MB.
Documentation
EPICS documentation is available on the WWW via the EPICS home
page at APS: URL http://www.aps.anl.gov/Epics
This README.htm is in the base distribution file and will be available
on the IOC software R3.14 EPICS WWW page which can be accessed
from the APS EPICS home page.
WWW pages
EPICS home page at APS
http://www.aps.anl.gov/epics
Other WWW sites
Additional information on EPICS can be found at the
various other WWW links on the EPICS home page at APS.
Mailing Lists
There are five EPICS mailing lists provided by APS. See The
EPICS home page for subscription instructions.
Directory Structure
Distribution directory structure:
base Root directory of the base istribution
base/config R3.13 compatibility build configuration files
base/config/tools Perl and shell scripts used in the R3.13 build
base/configure Operating system independent build config files
base/configure/os Operating system dependent build config files
base/configure/tools Perl and shell scripts used in the build
base/copyright Text files describing software copyrights
base/src All epics base source code in subdirectories
base/src/as Access security
base/src/bpt Break point table
base/src/ca Channel access
base/src/cas Channel access server
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/gdd General data descriptor
base/src/iocsh Ioc shell command interpreter
base/src/libCom General purpose library code in subdirectories
base/src/libCom/bucketLib Hash bucket
base/src/libCom/calc Algebraic expression interpreter
base/src/libCom/cvtFast Fast number to string conversion
base/src/libCom/cxxTemplates C++ templates and templates tests
base/src/libCom/dbmf Memory management for frequent alloc/free
base/src/libCom/ellLib EPICS double linked list
base/src/libCom/env Default EPICS environment settings
base/src/libCom/error Error handling definitions and routines
base/src/libCom/fdmgr File descriptor manager
base/src/libCom/freeList Memory management using free lists
base/src/libCom/gpHash General purpose hash table
base/src/libCom/logClient Logging client
base/src/libCom/macLib Macro substitution handler
base/src/libCom/misc Miscellaneous utilities
base/src/libCom/osi Operating system independent code
base/src/libCom/osi/os Operating system dependant code in subdirectories
base/src/libCom/taskwd Task watchdog
base/src/libCom/test Test tools (timer, semBinary, semMutex,fdmgr, ?)
base/src/libCom/timer Timer
base/src/libCom/tsDefs R3.13 time stamp definitions and routines
base/src/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/toolsComm Code for the build tools antelope and e_flex
base/src/util Utilities (ca_test, iocLogServer, startCArepeater)
base/src/vxWorks R3.13 compatibility code specific to vxWorks
base/startup Scripts for setting up path and environment
Install directories created by the build:
base/bin Installed scripts and executables in subdirs
base/lib Installed libraries in arch subdirectories
base/dbd Installed data base definitions
base/include Installed header files
base/include/os Installed os specific header files
base/templates Installed templates
Build related components
base/README* files
README.htm Instructions for setup and building epics base
(i.e. this document)
README.WIN32 Microsoft WIN32 specific instructions
README.cxxTemplates Information about C++ templates in EPICS base
README.niCpu030 NI cpu030 specific 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
win32.bat WIN32 bat file to set path and env variables
base/configure directory - contains build definitions and rules
CONFIG.CrossCommon Cross build definitions
CONFIG.gnuCommon Gnu compiler build definitions for all archs
CONFIG_ADDONS Definitions for <osclass> and DEFAULT options
CONFIG_BASE EPICS base tool and location definitions
CONFIG_BASE_VERSION Definitions for EPICS base version number
CONFIG_COMMON Definitions common to all builds
CONFIG_ENV Definitions of EPICS environment variables
CONFIG_SITE Site specific make defintions
CONFIG_SITE_ENV Site defaults for EPICS environment variables
CONFIG Includes configure files and allows variable overrides
RELEASE Location of external products such as Tornado II
RULES Includes appropriate rules file
RULES.Db Rules for database and database definition files
RULES_ARCHS Definitions and rules for building architectures
RULES_BUILD Build and install rules and definitions
RULES_DIRS Definitions and rules for building subdirectories
RULES_JAVA Definitions and rules for java jars and classes
RULES_TOP Rules specific to a <top> dir (uninstall and tar)
Sample.Makefile Sample makefile with comments
base/configure/os directory - contains os-arch specific definitions
CONFIG.<host>.<target> Specific host-target build definitions
CONFIG.Common.<target> Specific target definitions for all hosts
CONFIG.<host>.Common Specific host definitions for all targets
CONFIG.UnixCommon.Common Definitions for Unix hosts and all target
CONFIG.<host>.vxWorksCommon Specific host definitions for all vx targets
CONFIG_COMPAT R3.13 arch compatibility definitions
CONFIG_SITE.<host>.<target> Site specific host-target definitions
CONFIG_SITE.Common.<target> Site specific target defs for all hosts
CONFIG_SITE.<host>.Common Site specific host defs for all targets
base/configure/tools directory - contains Perl scripts used for the build
MakeReleae Unix shell script to create a release tar file
convertRelease.pl Performs consistancy checks on RELEASE files
cp.pl This Perl script copies an existing file
installEpics.pl Installs built files into install directories.
makeDependsTargets.pl Creates targets of include dependency files
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.
replaceVAR.pl Changes CapFast VAR(xxx) to $(xxx) notation
rm.pl Quietly removes an existing file.
Building EPICS base (Unix and Win32)
Unpack file
Unzip and untar the distribution file. Use WinZip on
Windows systems.
Set environment variable
Files in the base/startup directory have been provided to help
set required path and other environment variables .
EPICS_HOST_ARCH
Before you can build or use EPICS R3.14, the environment
variable EPICS_HOST_ARCH must be defined. A perl
script EpicsHostArch.pl in the base/startup directory has
been provided to help set EPICS_HOST_ARCH. You should
have EPICS_HOST_ARCH set to your host operating
system followed by a dash and then your host architecture,
e.g. solaris-sparc. If you are not using the OS vendor's
c/c++ compiler for host builds, you will need another dash
followed by the alternate compiler name (e.g. "-gnu" for GNU
c/c++ compilers on a solaris host or "-borland" for Borland
c/c++ compilers on a WIN32 host) . See configure/CONFIG_SITE
for a list of supported EPICS_HOST_ARCH values.
PERLLIB
On WIN32, some versions of Perl require that the
environment variable PERLLIB be set to <perl directory
location>.
PATH
As already mentioned, you must have the perl executable
and you may need C and C++ compilers in your search path.
For building base you also must have echo in your search
path. For Unix host builds you also need touch, 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.
Unix LD_LIBRARY_PATH
If you plan to build EPICS base shared libraries instead of
archive libraries, on Unix systems you will need to add
fullpathname to $(INSTALL_LOCATION)/lib/$(EPICS_HOST_ARCH) to
your LD_LIBRARY_PATH environment variable.
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).
Do site-specific build configuration
Site configuration
To configure EPICS, you may want to modify the default
definitions in the following files:
configure/CONFIG_SITE Build choices. Specify target archs.
configure/CONFIG_SITE_ENV Environment variable defaults
configure/RELEASE TORNADO 2 full path location
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
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
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
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
R3.13 compatibility configuration
To configure EPICS base for building with R3.13 extensions
and ioc applications, you must modify the default definitions
in the base/config/CONFIG_SITE* files to agree with definitions
you made in base/configure and base/configure/os files.
Build EPICS base
After configuring the build you should be able to build
EPICS base by issuing the following commands in the
distribution's root directory (base)
gnumake clean uninstall
gnumake
The command "gnumake clean uninstall" will remove all
files and directories generated by a previous build. The
command "gnumake" will build and install everything for
the configured host and targets.
It is recommended that you do a "gnumake clean uninstall"
at the root directory of an EPICS directory structure before
each complete rebuild to ensure that all components will be
rebuilt.
Multiple host platforms
You can build using a single EPICS directory structure on multiple host
systems and for multiple cross target systems. The intermediate and
binary files generated by the build will be created in separate
subdirectories and installed into the appropriate separate host/target
install directories. EPICS executables and perl scripts are installed
into the $(INSTALL_LOCATION)/bin/<arch> directories. Libraries are
installed into $(INSTALL_LOCATION)/lib/<arch>. The default
definition for $(INSTALL_LOCATION) is $(TOP) which is the root
directory in the distribution directory structure, base. Created object
files are stored in O.<arch> source subdirectories, This allows objects
for multiple cross target architectures to be maintained at the same
time. To build EPICS base for a specific host/target combination you
must have the proper host/target c/c++ cross compiler and target header
files and the base/configure/os directory must have the appropriate
configure files.
Example application and extension
A perl tool, makeBaseApp.pl is included in the distribution file. This
script will create a sample application that can be built and then
executed to try out this release of base. Also, a perl script,
makeBaseExt.pl, is included in the distribution file. This script will
create a sample extension that can be built and executed. The
makeBaseApp.pl and makeBaseExt.pl scripts are installed into the
install location bin/<hostarch> directory during the base build.
Instructions for building and executing the 3.14 example application
can be found in the section "Example Application" of Chapter 2, "New
Features for 3.14", in the "IOC Application Developer's Guide
R3.14.0beta1". The "Example Application" section briefly explains
how to create and build an example application in a user created <top>
directory. It also explains how to run the example application on a
vxWorks ioc or a host system and run an example channel access client
on the host system.
Notes:
1. Before you can build or use EPICS, the environemnt variable HOST_ARCH
must be set. The base/startup/HostArch script file has been provided
to set HOST_ARCH.
2. You must use GNU make (which is now THE supported make utility) for
the build, gnumake. Set your path so that a recent version (e.g.
V3.70) of gnumake is available.
3. You must have perl installed. See the README.Perl in this directory. The
config files specify the perl full pathname as /usr/bin/perl for
unix builds and C:\Perl\bin\perl for WIN95/NT builds. You can override
these specifications with a CONFIG_SITE_HOST_ARCH.<host_arch> file.
4. You may need vendors C and C++ compilers in your search path. (Check
the definitions of ACC and CCC in CONFIG.Host.<host_arch> or gnu GCC
and G++ if ANSI=GCC and CPLUSPLUS=GCC are specified in CONFIG_SITE).
4. For building base you must have echo in your search path. For unix host
builds you must also have ar, cp, rm, mv, ranlib, and mkdir in your search
path and /bin/chmod must exist.
----------------------------------------------------------------------------
Part 1 - Configuring and Building EPICS Base
----------------------------------------------------------------------------
1.1 To configure EPICS, edit the following file:
config/CONFIG_SITE - Build choices/HOST_ARCH/Vx location.
config/CONFIG_SITE_ENV - For site-specific environment settings
For a specific host architecture you may want to edit the following file
config/CONFIG_SITE.Host.<arch> - Override Host build settings for a host arch
config/CONFIG_SITE.Vx.<arch> - Override Vx build settings for a host arch
config/CONFIG_SITE_HOST_ARCH.<arch> - Override build settings for a host arch
Optionally you may want to edit the following files
config/CONFIG_SITE.Host - Override Host build settings for all host archs.
config/CONFIG_SITE.Vx - Override Vx build settings for all host archs.
config/CONFIG - Override build settings for all host archs.
1.2 To add a target architecture to EPICS:
cd base/config
cp CONFIG.Vx.mv167 CONFIG.Vx.YOUR_ARCH
edit CONFIG.Vx.YOUR_ARCH - For compiler flags / etc.
edit CONFIG_SITE - Add architecture to CROSS_COMPILER_TARGET_ARCHS list.
1.3 To build EPICS:
cd epics/base
gnumake - To install include files, build and install EPICS.
(Same as "gnumake inc install")
gnumake all - Same as "gnumake"
gnumake clean - To clean temporary object files. Top level
clean will remove the O.ARCH dirs specified
in BUILD_ARCHS.
gnumake uninstall - Only available at the top level directory.
Cleans directories created by the install.
gnumake rebuild - Same as "gnumake clean all"
1.4 "Partial" build commands:
The complete set of targets now supported are:
action
arch
action.arch
dir
dir.action
dir.arch
dir.action.arch
where:
action can be clean, inc, install, depends, or build
action can also be uninstall or rebuild at top level only
dir is the name of a subdirectory.
arch can be host, cross, sun4, solaris, mv167, ...
Examples are:
gnumake inc - To install include files
gnumake install.host - To build and install EPICS for host arch.
gnumake install.cross - To build and install EPICS for Vx archs.
gnumake clean.sun4 - Cleans sun4 binaries in O.sun4 dirs only.
gnumake install.sun4 - Builds sun4 only.
gnumake install.mv167 - Builds mv167 only (a HOST_ARCH build must
be complete before this can be issued).
NOTES:
1. EPICS binaries and shell scripts are installed into the directory
$(INSTALL_LOCATION)/bin/ARCH.
2. EPICS libraries are installed into the $(INSTALL_LOCATION)/lib/ARCH
directory.
3. During a normal build (a "make" or "make install"), the "depends"
dependency will NOT be invoked. Only if "make depends" is run
explicitly, or a "make built_release" is performed will dependencies
be generated automatically.
4. Temporary objects are stored in src/DIR/O.ARCH, This allows objects
for multiple architectures to be maintained at the same time.
While developing source for EPICS, merely cd src/DIR/O.ARCH, and
invoke "make":
cd epics/base/src/db/O.mv167
make dbAccess.o
The above example instructs make to build dbAccess.o for the
mv167 target.
----------------------------------------------------------------------------
Part 2 --- Configuration Files in epics/base/config
----------------------------------------------------------------------------
CONFIG - This file is meant to be included in the low-level EPICS Makefiles.
It includes the other EPICS makefiles, and allows individual developers
and the EPICS system manager to override specific variables in the rest of
the configuration.
----------------------------------------------------------------------------
CONFIG_SITE - This file is meant to be changed only by the EPICS system
manager. It specifies:
HOST_ARCH: The system's host architecture (sun4/hp700/etc).
This now come from an environment variable.
CROSS_COMPILER_HOST_ARCHS: List of unix architectures with cross_compilers.
CROSS_COMPILER_TARGET_ARCHS: List of architectures to build epics for.
VX_DIR: Location of vxWorks.
STATIC_BUILD: Whether or not to build clients statically.
etc.
----------------------------------------------------------------------------
CONFIG.Host.ARCH - This file defines a particular host architecture. It
contains the following variables:
ARCH_CLASS: solaris / sun4 / hp700 / etc.
Host architecture OS vendor C and C++ complier variables.
Architecture dependent build flags. The flag names / contents
depend on your architecture class.
----------------------------------------------------------------------------
CONFIG_HOST_ARCH.ARCH - This file contains the following variable:
WIND_HOST_TYPE: sun4-solaris2 / sun4-sunos4 / x86-win32 / etc.
----------------------------------------------------------------------------
----------------------------------------------------------------------------
CONFIG.Vx.ARCH - This file defines a particular target architecture. It
contains the following variables:
ARCH_CLASS: 68k / sun4 / hp700 / etc.
Architecture dependent build flags. The flag names / contents
depend on your architecture class.
CMPLR_SUFFIX: Vx GNU cross compiler suffix definition.
----------------------------------------------------------------------------
----------------------------------------------------------------------------
CONFIG_SITE.BUILD_TYPE.ARCH - Contains site specific definitions pertaining to a
particular architecture and build type. This file's primary usefulness is to
define site specific compile and link flags.
----------------------------------------------------------------------------
CONFIG_COMMON - Contains definitions describing the layout of base
and definitions common to all builds.
----------------------------------------------------------------------------
CONFIG.Host.UnixCommon - Contains host definitions common to all Unix archs.
----------------------------------------------------------------------------
CONFIG_BASE - Defines what subdirectories get built by default under base.
----------------------------------------------------------------------------
CONFIG_BASE_VERSION - Defines the version of base.
----------------------------------------------------------------------------
CONFIG_ENV - EPICS Environment Parameter configuration file.
----------------------------------------------------------------------------
CONFIG_SITE_ENV - EPICS Environment Parameter Site configuration file
----------------------------------------------------------------------------
RULES.Vx - Rules for building with Makefile.Vx makefiles.
----------------------------------------------------------------------------
RULES.Host - Rules for building with Makefile.Host makefiles.
----------------------------------------------------------------------------
RULES_TOP - Top level rules for building.
----------------------------------------------------------------------------
RULES_ARCHS
RULES_DIRS - Allows top-level type command syntax in low-level directories.
----------------------------------------------------------------------------
Table of files to change when building and adding architectures.
etc.
Filename SYS_MGR ADD_VX_ARCH ADD_UNIX_ARCH DEVELOPER
CONFIG m - - m
CONFIG_SITE m m m -
CONFIG_SITE_ENV m - - -
CONFIG.Host.ARCH - c c -
CONFIG_HOST_ARCH.ARCH - c c -
CONFIG_SITE.Host.ARCH - - - -
CONFIG.Vx.ARCH - c c -
CONFIG_SITE.ARCH - c c -
CONFIG.Vx.ARCH_CLASS - c* - -
RULES.Vx - - - -
RULES.Host - - - -
CONFIG_BASE - - - -
CONFIG_BASE_VERSION - - - -
CONFIG_COMMON - - - -
CONFIG_ENV - - - -
RULES_ARCHS - - - -
RULES_DIRS - - - -
RULES_TOP - - - -
m - Modify an existing file.
c - Create a new file.
* - Create an ARCH_CLASS file only if you are adding a
fundamentally new architecture, such as hp700 or
a SPARC VME board. If your board is 68k based,
you will not need to create CONFIG.Vx.68k,
since it already exists !
----------------------------------------------------------------------------
Part 3 --- Configuration File Inclusion Tree Examples
----------------------------------------------------------------------------
---------------------------- hkv2f example --------------------------------
(files are numbered in the order of their inclusion)
src/db/Makefile.Vx (An example EPICS makefile)
^ ^
| +--- 2. RULES.Vx
| Default rules.
+----1. CONFIG_BASE
^
|
+ 1. CONFIG
^^^^^^^
||||||+- 1. CONFIG_COMMON
|||||| General info about base.
|||||+-- 2. CONFIG_BASE_VERSION
||||| Base version.
||||+--- 3. CONFIG_SITE
|||| HOST_ARCH = sun4
|||| CROSS_COMPILER_TARGET_ARCHS = mv167 hkv2f
|||| VX_DIR = /vxworks
|||| More.
|||+---- 4. CONFIG_HOST_ARCH.sun4
||| WIND_HOST_TYPE = sun4-sunos4
||+----- 5. CONFIG.Vx
|| Definitions for Vx builds
|+------ 6. CONFIG.Vx.hkv2f
| ARCH_CLASS = 68k
| Arch Specific Compiler Flag Setup
| Vx GNU cross compiler suffix
+------- 7. CONFIG_SITE.Vx.hkv2f
Site Specific setup
---------------------------- sun4 example --------------------------------
(files are numbered in the order of their inclusion)
src/db/Makefile.Unix (An example EPICS makefile)
^ ^
| +--- 2. RULES.Vx
| Default rules.
+----1. CONFIG_BASE
^
|
+ 1. CONFIG
^^^^^
|||||+- 1. CONFIG_COMMON
||||| General info about base.
||||+-- 2. CONFIG_BASE_VERSION
|||| Base version.
|||+--- 3. CONFIG_SITE
||| HOST_ARCH = sun4
||| CROSS_COMPILER_TARGET_ARCHS = mv167 hkv2f
||| VX_DIR = /vxworks
||| More.
||+---- 4. CONFIG_HOST_ARCH.sun4
|| WIND_HOST_TYPE = sun4-sunos4
|+----- 5. CONFIG.Host.sun4
| ARCH_CLASS = sun4
| Arch Specific Compiler Flag Setup
| Vx GNU cross compiler suffix
+------ 6. CONFIG_SITE.Host.sun4
Site Specific setup

17
README.Linux Normal file
View File

@@ -0,0 +1,17 @@
Special Notes on Linux
At this point, support for Linux only involves channel access
clients. Since Vxworks is not available for Linux, you must
use other platforms for developing server side code.
You MUST start caRepeater by hand before running a client.
Prior to running a client, you must run:
caRepeater &
---
jpq@nwu.edu

44
README.Perl Normal file
View File

@@ -0,0 +1,44 @@
Perl
====
A number of shell scripts are now Perl scripts,
most important:
tools/installEpics.pl
include/makeEpicsVersion.pl
libCom/bldEnvData.pl
libCom/makeStatTbl.pl
sequencer/makeVersion.pl
WIN32 also uses
tools/cp.pl, mv.pl, rm.pl, mkdir.pl
which should behave like the UNIX cp, mv, rm, rmdir.
All systems could use the Perl versions but that seems
to be overkill for UNIX.
Advantages:
* no need for ls, date, basename, grep, awk, sed, ...,
which made the make UNIX-specific.
* Perl is currently available for Unix, OS/2, WIN32, VMS
and the scripts should work on all those systems
Disadvantage:
* You have to get Perl, look e.g. at http://www.perl.com
* Perl version 5.003_02 works, we don't know about earlier versions.
Compile Perl:
No big deal,
* on UNIX say 'configure' and 'gnumake',
* on Windows use MX Visual C++,
use File/Open Workspace to open the Makefile {PERL}/perl5i.mak,
use Build/Batch build to select eiher the Release or Debug targets.
You can do the same with the Makefile {Perl}/Ext/WIN32/win32.mak
- nice tools but not necessary for EPICS.
Then call {PERL}/bin/perlw32-install.bat
In any case, read the texts that come with perl!

View File

@@ -1,8 +1,8 @@
Compiling EPICS and Building IOC Applications on win32-x86 (Windows95/NT)
Compiling EPICS and Building IOC Applications on WIN32 (Windows95/NT)
---------------------------------------------------------------------
Original port of EPICS base build system to WIN32 (Windows95/NT)
Original port of EPICS base to WIN32 (Windows95/NT)
was done by Kay-Uwe Kasemir 11/96
please mail questions, comments, corrections, additional examples, etc
@@ -11,9 +11,9 @@ please mail questions, comments, corrections, additional examples, etc
0) what you will get
--------------------
Right now this port of EPICS to win32-x86 should allow you to
Right now this port of EPICS to WIN32 should allow you to
* compile all of EPICS base using {Tornado, MS Visual C, perl,
* compile almost all of EPICS base using {Tornado, MS Visual C, perl,
GNU make} (only {MS Visual C, perl, GNU make} if you prefer
to compile only the host portions of EPICS base).
* load EPICS on an IOC (486, pentium, 68k, ...),
@@ -23,19 +23,15 @@ Right now this port of EPICS to win32-x86 should allow you to
* build and use ca.dll on NT or Win95 to access all IOCs,
as well as the Com-library, gdd-library, cas-library,
and all other EPICS base libraries as DLLs.
* build gdd, cas and a demo of the new portable CA server on win32-x86.
To build only for win32-x86 and not cross compile for IOC development type
"make win32-x86" or in your configure/CONFIG_SITE file set
"CROSS_COMPILER_HOST_ARCHS="
* build gdd, cas and a demo of the new portable CA server on WIN32.
1) see what you have
--------------------
To compile EPICS on win32-x86, we need
To compile EPICS on WIN32, 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: 4.0) (borland C++ rumored to work also)
and some tools:
@@ -51,31 +47,22 @@ If you cannot/don't want to find them, contact me, please!
(Setting env. vars. is different: for NT, use Settings/System,
for Win95 use autoexec.bat)
When setting paths in the EPICS CONFIG files for win32-x86 the following
are hints in case you have trouble. You should not need to worry about
this unless you type a path into one of the EPICS config files that
includes a "\". In most situations gnu make, windows NT, the MS compiler,
and the MS linker will accept "/" and this will result in less trouble.
When setting paths in the EPICS CONFIG files for WIN32:
** Note that that each "\" in any path variables you set
** Note that that each "\" in any path variables
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
path name variable you set must be replaced with
path name variable must be replaced with
a "\ " (this is because GNU make treats all " " separated
input as independent tokens in the input stream.
** win32-x86 will generally allow "/" and "\" interchangeably in file paths,
but the DOS shell only accepts "\".
** Certain command line utilities such as the MS linker are known to in rare
situations confuse "/" in a path with command line options, and it may
be necessary to replace a "/" in a path that configured with "\\", but
the bulk of our experience indicates that this is not the necessary.
** WIN32 will generally allow "/" and "\" interchangeably in file paths,
but the DOS shell appears to only accept "\".
Your path should include:
- The EPICS-binaries that we are about to build in <EPICS>base/bin/win32-x86
- The EPICS-binaries that we are about to build in <EPICS>base/bin/WIN32
- The System (for me it's in NT40...)
- The MS Visual C compiler binaries
@@ -108,7 +95,7 @@ include=c:\msdev\include;c:\msdev\mfc\include
lib=c:\msdev\lib;c:\msdev\mfc\lib
Select host arch to build:
EPICS_HOST_ARCH=win32-x86 (used by the make system)
HOST_ARCH=WIN32 (used by the make system)
Set the "TMP" environment variable if you need to specify where
temporary files are created.
@@ -139,7 +126,7 @@ Prepare apx. 2 ltr. Tee and type:
Watch for errors and send them to me.
Known problems:
* gnumake seems to be faster than win32-x86 sometimes
* gnumake seems to be faster than WIN32 sometimes
which results in warnings/errors like
"file has modification date in the future"
for newly created things.
@@ -150,7 +137,7 @@ Known problems:
WIN32 is WIN32, not win32. Gnumake fails
if e.g. base/src/include/os/WIN32 is ...win32.
4) Creating EPICS IOC applications under win32-x86
4) Creating EPICS IOC applications under WIN32
o create application development folder
@@ -182,37 +169,13 @@ style project. This allows EPICS programs to be developed directly inside of
the visual C++ environment. To do this create a "makefile" project and place your
gnu make command in the build configuration (accessed from the project/settings menu).
You will also need to add GNU make and <EPICS>/bin/win32 into the Visual C++
executable search path (from the tools/options menu).
In visual C++ it is possible to double click on the compiler
executable search path (from the tools/options menu). I have not so far determined
how to configure visual C++ so that it is possible to double click on the compiler
error messages generated within an EPICS "makefile" style project and have visual
C++ immediately position the cursor on the corresponding line in the source. I
have found that this works correctly with Makefile projects if the project is in a
directory just below the source code. The following build command works well
in a visual C++ make file project: "kill caRepeater.exe&make -C ..". Be careful
not to introduce additional spaces around the &. The kill.exe command is in the
NT resource kit.
C++ immediately position the cursor on the corresponding line in the source (as is
normally the case in the visual C++ environment). If you solve this problem please
forward the details to johill@lanl.gov.
6) Issues that you should be aware of if you are building code that
calls EPICS, but you are not using the EPICS build system.
Good luck !
6a) You will need to include header files from the following paths.
<epics>\base\include
<epics>\base\include\os\win32
6b) You will need to link with the following path in effect.
<epics>\base\lib\win32-x86.
6c) If the visual C++ /Za option is not used then you will also need to define
__STDC__ to be zero on the command line so that EPICS headers will know that
a ANSI standard C compiler is in use.
6d) If you link with EPICS object libraries then specify /MT or /MTd
depending on whether EPICS base and your code are built for debugging.
This specifies the multithreaded operating environment required by EPICS.
This will also not define _DLL and therefore the EPICS header files will
not specify that sharable libraries are being called. EPICS object library
names follow the convention "xxxObj.lib".
6e) If you link with EPICS shareable libraries (with DLLs) then you must
use /MDd or /MD depending on whether EPICS base and your code are
built for debugging. This specifies the multithreaded operating environment
required by EPICS. This will also define _DLL and therefore the EPICS header
files will specify an optimized calling convention for shareable libraries.
EPICS shareable libraries (DLL) names follow the convention "xxx.lib"
and "xxx.dll".
-Kay

46
README.cxxTemplates Normal file
View File

@@ -0,0 +1,46 @@
The C++ templates supplied with EPICS base are in
"$(EPICS)/base/src/cxxTemplates".
In Stroustrups's "The C++ Programming Language" Appendix A: r.14.9
(ANSI/ISO resolutions) a mechanism is described for the explicit
instantiation of template member functions (that are not inline).
At this time some compilers do not support this mechanism (and use
a template database snd/or smart linker instead). Other compilers
(such as g++) provide only limited support for other forms of
instantiation (g++ does not yet provide a template database or
a smart linker for templates).
Since there is no defacto standard mechanism for instatiating
templates at this time we are defining the preprocessor flag
EXPL_TEMPL in the build system when the compiler supports
explicit instantiation and the compiler does not support
automatic instantiation via a smart linker and/or template
database (currently this is only g++).
EPICS codes that use templates may need to include a code block
as follow that instantiates the template only once into each
program.
#include <classXYZ.h>
#include <templXXX.h>
//
// if the compiler supports explicit instantiation of
// template member functions
//
#if defined(EXPL_TEMPL)
//
// From Stroustrups's "The C++ Programming Language"
// Appendix A: r.14.9
//
// This explicitly instantiates the template class's member
// functions into "templInst.o"
//
template class templXXX <classXYZ>;
#endif
Jeff Hill 3-6-97
johill@lanl.gov

54
README.cygwin32 Normal file
View File

@@ -0,0 +1,54 @@
Compiling EPICS on cygwin32 (Windows95/NT)
------------------------------------------
Right now this port of EPICS base to cygwin32 R1.3.3 fails
because cygwin does not yet support point-to-point interfaces.
To build EPICS on Win95 or NT using cygwin32, we need
EPICS base distribution, R3.12.0.beta12 or later, available
from http://aps.anl.gov/...
The latest cygwin distribution, available from
http://www.cygwin.com
BUILD INSTRUCTIONS
------------------
1) Install the cygwin binary release
------------------------------------
2) Install the epics base distribution
--------------------------------------
cp <dirname>\<basereleasename>.tar.gz .
gunzip -d <basereleasename>.tar.gz
tar xvf <basereleasename>.tar
chmod +w -R *
cd <epicsBaseDir>
3) Set environment variables and path using cygwin32.bat
-------------------------------------------------------------
<edit <epicsBaseDir>/startup/cygwin32.bat changing paths if necessary>
cd <epicsBaseDir>\startup
edit cygwin32.bat
<execute cygwin32.bat>
cygwin
4) Set site specific parms in epics config files
------------------------------------------------
cd <epicsBaseDir>\config
<edit CONFIG_SITE* files>
5) Build epics base
-------------------
cd <epicsBaseDir>
make
6) Create an example EPICS application (<epicsBaseDir> needs drive letter)
--------------------------------------------------------------------------
mkdir <epicsappdir>
cd <epicsappdir>
perl <epicsBaseDir>\bin\cygwin32\makeBaseApp.pl -l
perl <epicsBaseDir>\bin\cygwin32\makeBaseApp.pl -t example example
make

28
README.hp700_alpha Normal file
View File

@@ -0,0 +1,28 @@
#
# supplement README for HP700
#
# Johnny Tang 5-29-97
#
1. VxWorks 5.2 for HP-UX
- Make sure that you have set VX_DIR and VX_GNU to your
VxWorks root directory.
- Under $(VX_DIR), create a soft link:
hp700.68k -> hp9700.68k
2. Modify base/config/CONFIG_SITE file
- ANSI=HPACC
- STANDARD=HPCC
- CPLUSPLUS=G++
3. HP native c++ compiler has problem to handle the head files
in which a inline function is used in conjuction with template
base/src/cas, the portable CA server can't be compiled successfully
because of the above limitation.
This problem can be resolved by spliting the function declarations
from the inline code in the files in base/src/cxxTemplates.

View File

@@ -1,538 +0,0 @@
<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<meta name="Author" content="jba">
<meta name="GENERATOR" content="Mozilla/4.77 [en] (X11; U; SunOS 5.8 sun4u) [Netscape]">
</head>
<body>
README.htm
<center>
<h1>
Installation Instructions</h1></center>
<center>
<h2>
EPICS base</h2></center>
<center>
<h2>
Release 3.14.0beta1</h2></center>
<h3>
What is EPICS base?</h3>
<blockquote>The Experimental Physics and Industrial Control Systems (EPICS)
is an extensible set of software components and tools with which application
developers can create a control system. This control system can be used
to control accelerators, detectors, telescopes, or other scientific experimental
equipment. EPICS base is the set of core software, i.e. the components
of EPICS without which EPICS would not function. EPICS base allows an arbitrary
number of target systems, IOCs (input/output controllers), and host systems,
OPIs (operator interfaces) of various types.</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
check the RELEASE_NOTES file in the distribution for description of changes
and release migration details.</blockquote>
<h3>
Copyright</h3>
<blockquote>Please review the COPYRIGHT* files included in the distribution
for legal terms of usage.</blockquote>
<h3>
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
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><tt>solaris-sparc</tt>
<br><tt>solaris-sparc-gnu</tt>
<br><tt>linux-x86</tt>
<br><tt>win32-x86</tt>
<br><tt>win32-x86-borland</tt></blockquote>
</blockquote>
<blockquote>
<h4>
Cross compile target platforms (operating system - architecture)</h4>
</blockquote>
<blockquote>
<blockquote><tt>vxWorks-486</tt>
<br><tt>vxWorks-68040</tt>
<br><tt>vxWorks-68040lc</tt>
<br><tt>vxWorks-68060</tt>
<br><tt>vxWorks-ppc603</tt>
<br><tt>vxWorks-ppc604</tt>
<br><tt>vxWorks-pentium</tt>
<br><tt>RTEMS-gen68360</tt>
<br><tt>RTEMS-mvme167</tt>
<br><tt>RTEMS-pc386</tt></blockquote>
</blockquote>
<h3>
Supported compilers</h3>
<blockquote>This version of EPICS base has been built and tested using
the host vendor's C and C++ compilers as well as the GNU gcc and g++ compilers.
The GNU cross-compilers have been used for all cross-compiled targets.
You may need the host vendor's C++ compiler in your search path to do EPICS
builds. Check definitions of 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>
<h3>
Software requirements</h3>
<blockquote><b>GNU make</b>
<br>You must use GNU make, gnumake, for any EPICS builds.&nbsp; Set your
path so that a gnumake version 3.70 or later is available.
<p><b>Perl</b>
<br>You must have perl version 5.0 or later installed. The configure files
do not specify the perl full pathname.&nbsp; You need the perl executable
in your search path.
<p><b>Unzip and tar (Winzip on WIN32 systems)</b>
<br>You must have tools available to unzip and untar the EPICS base distribution
file.
<p><b>Tornado 2.0</b>
<br>You must have Tornado 2.0 installed if any of your target systems are
vxWorks systems.&nbsp; Tornado 2.0 provides the cross-compiler and header
files needed to build for these target systems. The full path location
to Tornado 2.0 must 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&nbsp; 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,&nbsp; gcc must be
in your path.</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
created files for each host take approximately 40 MB and the build created
files for each target take approximately 10 MB.</blockquote>
<h3>
Documentation</h3>
<blockquote>EPICS documentation is available on the WWW via the EPICS home
page at APS:&nbsp; URL <a href="http://www.aps.anl.gov/Epics">http://www.aps.anl.gov/Epics</a></blockquote>
<blockquote>This README.htm is in the base distribution file and will be
available on the IOC software R3.14 EPICS WWW page which can be accessed
from the APS EPICS home page.</blockquote>
<h3>
WWW pages</h3>
<blockquote>
<h4>
EPICS home page at APS</h4>
<blockquote><a href="http://www.aps.anl.gov/Epics">http://www.aps.anl.gov/epics</a></blockquote>
<h4>
Other WWW sites</h4>
<blockquote>Additional information on EPICS can be found at the various
other WWW links on the EPICS home page at APS.</blockquote>
<h4>
Mailing Lists</h4>
<blockquote>There are five EPICS mailing lists provided by APS. See The
EPICS home page for subscription instructions.</blockquote>
</blockquote>
<h3>
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>
<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;
Perl and shell scripts used in the R3.13 build</tt>
<br><tt>&nbsp;&nbsp;&nbsp;&nbsp; base/configure&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Operating system independent build config files</tt>
<br><tt>&nbsp;&nbsp;&nbsp;&nbsp; base/configure/os&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
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/copyright&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Text files describing software copyrights</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/as&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Access security</tt>
<br><tt>&nbsp;&nbsp;&nbsp;&nbsp; base/src/bpt&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Break point table</tt>
<br><tt>&nbsp;&nbsp;&nbsp;&nbsp; base/src/ca&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
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</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;
Database access tests</tt>
<br><tt>&nbsp;&nbsp;&nbsp;&nbsp; base/src/dbStatic&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Static database access</tt>
<br><tt>&nbsp;&nbsp;&nbsp;&nbsp; base/src/dbtools&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
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/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/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;
Algebraic expression interpreter</tt>
<br><tt>&nbsp;&nbsp;&nbsp;&nbsp; base/src/libCom/cvtFast&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Fast number to string conversion</tt>
<br><tt>&nbsp;&nbsp;&nbsp;&nbsp; base/src/libCom/cxxTemplates C++ templates
and templates tests</tt>
<br><tt>&nbsp;&nbsp;&nbsp;&nbsp; base/src/libCom/dbmf&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Memory management for frequent alloc/free</tt>
<br><tt>&nbsp;&nbsp;&nbsp;&nbsp; base/src/libCom/ellLib&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
EPICS double linked list</tt>
<br><tt>&nbsp;&nbsp;&nbsp;&nbsp; base/src/libCom/env&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Default EPICS environment settings</tt>
<br><tt>&nbsp;&nbsp;&nbsp;&nbsp; base/src/libCom/error&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Error handling definitions and routines</tt>
<br><tt>&nbsp;&nbsp;&nbsp;&nbsp; base/src/libCom/fdmgr&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
File descriptor manager</tt>
<br><tt>&nbsp;&nbsp;&nbsp;&nbsp; base/src/libCom/freeList&nbsp;&nbsp;&nbsp;&nbsp;
Memory management using free lists</tt>
<br><tt>&nbsp;&nbsp;&nbsp;&nbsp; base/src/libCom/gpHash&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
General purpose hash table</tt>
<br><tt>&nbsp;&nbsp;&nbsp;&nbsp; base/src/libCom/logClient&nbsp;&nbsp;&nbsp;
Logging client</tt>
<br><tt>&nbsp;&nbsp;&nbsp;&nbsp; base/src/libCom/macLib&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Macro substitution handler</tt>
<br><tt>&nbsp;&nbsp;&nbsp;&nbsp; base/src/libCom/misc&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Miscellaneous utilities</tt>
<br><tt>&nbsp;&nbsp;&nbsp;&nbsp; base/src/libCom/osi&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Operating system independent code</tt>
<br><tt>&nbsp;&nbsp;&nbsp;&nbsp; base/src/libCom/osi/os&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Operating system dependant code in subdirectories</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>
<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;
Perl tool+templates to create extension dvl tree</tt>
<br><tt>&nbsp;&nbsp;&nbsp;&nbsp; base/src/misc&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Miscellaneous (coreRelease, iocInit, asSub*)</tt>
<br><tt>&nbsp;&nbsp;&nbsp;&nbsp; base/src/rec&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Record support</tt>
<br><tt>&nbsp;&nbsp;&nbsp;&nbsp; base/src/registry&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
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/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;
Utilities (ca_test, iocLogServer, startCArepeater)</tt>
<br><tt>&nbsp;&nbsp;&nbsp;&nbsp; base/src/vxWorks&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
R3.13 compatibility code specific to vxWorks</tt>
<br><tt>&nbsp;&nbsp;&nbsp;&nbsp; base/startup&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Scripts for setting up path and environment</tt>
<p><tt>&nbsp;&nbsp;&nbsp;&nbsp; </tt>Install directories created by the
build:
<p><tt>&nbsp;&nbsp;&nbsp;&nbsp; base/bin&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Installed scripts and executables in subdirs</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/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/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/templates&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Installed templates</tt>
<h3>
Build related components</h3>
<blockquote>
<li>
base/README* files</li>
<br><tt>README.htm&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Instructions for setup and building epics base</tt>
<br><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
(i.e. this document)</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>&nbsp;
<li>
base/startup directory - contains scripts to set environment and path</li>
<br><tt>EpicsHostArch&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; c shell script
to set EPICS_HOST_ARCH env variable</tt>
<br><tt>EpicsHostArch.pl&nbsp;&nbsp;&nbsp; perl script to set EPICS_HOST_ARCH
env variable</tt>
<br><tt>Site.profile&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; bourne shell
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>
<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>&nbsp;
<li>
base/configure&nbsp; directory - contains build definitions and rules</li>
<br><tt>CONFIG.CrossCommon&nbsp;&nbsp;&nbsp; Cross build definitions</tt>
<br><tt>CONFIG.gnuCommon&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Gnu compiler build
definitions for all archs</tt>
<br><tt>CONFIG_ADDONS&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Definitions
for &lt;osclass> and DEFAULT options</tt>
<br><tt>CONFIG_BASE&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
EPICS base tool and location definitions</tt>
<br><tt>CONFIG_BASE_VERSION&nbsp;&nbsp; Definitions for EPICS base version
number</tt>
<br><tt>CONFIG_COMMON&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Definitions
common to all builds</tt>
<br><tt>CONFIG_ENV&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Definitions of EPICS environment variables</tt>
<br><tt>CONFIG_SITE&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Site specific make defintions</tt>
<br><tt>CONFIG_SITE_ENV&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Site defaults
for EPICS environment variables</tt>
<br><tt>CONFIG&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Includes configure files and allows variable overrides</tt>
<br><tt>RELEASE&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Location of external products such as Tornado II</tt>
<br><tt>RULES&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
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_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;
Build and install rules and definitions</tt>
<br><tt>RULES_DIRS&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Definitions and rules for building subdirectories</tt>
<br><tt>RULES_JAVA&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Definitions and rules for java jars and classes</tt>
<br><tt>RULES_TOP&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Rules specific to a &lt;top> dir (uninstall and tar)</tt>
<br><tt>Sample.Makefile&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Sample makefile
with comments</tt>
<br>&nbsp;
<li>
base/configure/os directory - contains os-arch specific definitions</li>
<br><tt>CONFIG.&lt;host>.&lt;target>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Specific
host-target build definitions</tt>
<br><tt>CONFIG.Common.&lt;target>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Specific
target definitions for all hosts</tt>
<br><tt>CONFIG.&lt;host>.Common&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Specific host definitions for all targets</tt>
<br><tt>CONFIG.UnixCommon.Common&nbsp;&nbsp;&nbsp; Definitions for Unix
hosts and all target</tt>
<br><tt>CONFIG.&lt;host>.vxWorksCommon Specific host definitions for all
vx targets</tt>
<br><tt>CONFIG_COMPAT&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
R3.13 arch compatibility definitions</tt>
<br><tt>CONFIG_SITE.&lt;host>.&lt;target> Site specific host-target definitions</tt>
<br><tt>CONFIG_SITE.Common.&lt;target> Site specific target defs for all
hosts</tt>
<br><tt>CONFIG_SITE.&lt;host>.Common&nbsp;&nbsp; Site specific host defs
for all targets</tt>
<br>&nbsp;
<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>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
files</tt>
<br><tt>makeMakefile.pl&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Creates a Makefile in O.&lt;arch> dirs</tt>
<br><tt>makeMakefileInclude.pl&nbsp; Creates file to be included by Makefile</tt>
<br><tt>mkdir.pl&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Creates a directory (like Unix mkdir)</tt>
<br><tt>mkmf.pl&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Generates dependencies from include stmnts</tt>
<br><tt>munch.pl&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Creates a ctdt.c file for vxWorks targets</tt>
<br><tt>mv.pl&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
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>
<h3>
Building EPICS base (Unix and Win32)</h3>
<blockquote><b>Unpack file</b>
<blockquote>Unzip and untar the distribution file. Use WinZip on Windows
systems.</blockquote>
S<b>et environment variables</b>
<blockquote>Files in the base/startup directory have been provided to help
set required path and other environment variables .
<p><b>EPICS_HOST_ARCH</b>
<br>Before you can build or use EPICS R3.14, the environment variable EPICS_HOST_ARCH
must be defined. A perl script EpicsHostArch.pl in the base/startup directory
has been provided to help set EPICS_HOST_ARCH. You should have EPICS_HOST_ARCH
set to your host operating system followed by a dash and then your host
architecture, e.g. solaris-sparc. If you are not using the OS vendor's
c/c++ compiler for host
<br>builds, you will need another dash followed by the alternate compiler
name (e.g. "-gnu" for GNU c/c++ compilers on a solaris host or "-borland"
for Borland c/c++ compilers on a WIN32 host) .&nbsp; See configure/CONFIG_SITE
for a list of supported EPICS_HOST_ARCH values.
<p><b>PERLLIB</b>
<br>On WIN32, some versions of Perl require that&nbsp; the environment
variable PERLLIB be set to &lt;perl directory location>.</blockquote>
<blockquote><b>PATH</b>
<br>As already mentioned, you must have the perl executable and you may
need C and C++ compilers in your search path. For building base you also
must have echo in your search path. For Unix host builds you also need
touch, 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.
<p><b>LD_LIBRARY_PATH</b>
<br>If you plan to build EPICS base shared libraries instead of archive
libraries, on Unix systems you will need to add&nbsp; fullpathname to $(INSTALL_LOCATION)/lib/$(EPICS_HOST_ARCH)
to your LD_LIBRARY_PATH environment variable.
<p><b>PATH</b>
<br>On WIN32 systems, building shared libraries is the default setting
and you will need to add&nbsp; 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).
<br>&nbsp;</blockquote>
<b>Do site-specific build configuration</b>
<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>
<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.
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
<br><tt>configure/os/CONFIG.&lt;host>.Common</tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
- 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.
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>
<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*&nbsp;
files to agree with definitions you made in base/configure and base/configure/os
files.</blockquote>
<h4>
<b>Build EPICS base</b></h4>
<blockquote>After configuring the build you should be able to build EPICS
base by issuing the following commands in the distribution's root directory
(base)
<blockquote><tt>gnumake clean uninstall</tt>
<br><tt>gnumake</tt></blockquote>
The command "gnumake clean uninstall" will remove all files and directories
generated by a previous build. The command "gnumake" will build and install
everything for the configured host and targets.
<br>It is recommended that you do a "gnumake clean uninstall" at the root
directory of an EPICS&nbsp; directory structure before each complete rebuild
to ensure that all components will be rebuilt.</blockquote>
</blockquote>
<h3>
Multiple host platforms</h3>
<blockquote>You can build using a single EPICS directory structure on multiple
host systems and for multiple cross target systems. The intermediate and
binary files generated by the build will be created in separate subdirectories
and installed into the appropriate separate host/target install directories.
EPICS executables and perl scripts are installed into the <tt>$(INSTALL_LOCATION)/bin/&lt;arch></tt>
directories. Libraries are installed into $<tt><font size=+1>(INSTALL_LOCATION)/lib/&lt;arch></font></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
allows objects for multiple cross target architectures to be maintained
at the same time. To build EPICS base for a specific host/target combination
you must have the proper host/target c/c++ cross compiler and target header
files and the base/configure/os directory must have the appropriate configure
files.</blockquote>
<h3>
Example application and extension</h3>
<blockquote>A perl tool, makeBaseApp.pl is included in the distribution
file. This script will create a sample application that can be built and
then executed to try out this release of base. Also, a perl script, makeBaseExt.pl,
is included in the distribution file. This script will create a sample
extension that can be built and executed. The makeBaseApp.pl and makeBaseExt.pl
scripts are installed into the install location bin/&lt;hostarch> directory
during the base build.</blockquote>
<blockquote>Instructions for building and executing the 3.14 example application
can be found in the section "Example Application" of Chapter 2, "New Features
for 3.14", in the&nbsp; "IOC Application Developer's Guide R3.14.0beta1".
The "Example Application" section briefly explains how to create and build
an example application in a user created &lt;top> directory. It also explains
how to run the example application on a vxWorks ioc or a host system and
run an example channel access client on the host system.</blockquote>
</body>
</html>

25
README.solaris Normal file
View File

@@ -0,0 +1,25 @@
----------------------------------------------------------------------------
EPICS Notes for Solaris
- By Andrew Johnson
updated 12-16-96 by Jeff Hill
----------------------------------------------------------------------------
Notes:
1. In order to build EPICS under Solaris 2, you must ensure that the
solaris directory /usr/ccs/bin is in your search path.
2. It is now possible to compile EPICS under Solaris 2 using either the
GNU gcc compiler or the Sun SPARCworks ANSI C compiler. The g++/
Sun SPARCworks ANSI C compiler combination has compiled and linked
without errors but has not been extensively tested.
3. EPICS under Solaris 2 no longer uses the UCB compatability libraries.
In order to ensure that the /usr/ucblib files are not inherited, you
should ensure that your LD_LIBRARY_PATH environment variable does not
include /usr/ucblib when you build any of the host tools.
--
anj@ast.cam.ac.uk

View File

@@ -1,298 +0,0 @@
<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<meta name="ProgId" content="Word.Document">
<meta name="Generator" content="Microsoft Word 9">
<meta name="Originator" content="Microsoft Word 9">
<meta name="GENERATOR" content="Mozilla/4.77 [en] (X11; U; SunOS 5.8 sun4u) [Netscape]">
<title>Instruction on building existing R3</title>
<link rel=File-List href="./READMEbuildingR3.13AppsWithR3.14_files/filelist.xml">
<!--[if gte mso 9]><xml>
<o:DocumentProperties>
<o:LastAuthor>Jba</o:LastAuthor>
<o:Revision>3</o:Revision>
<o:TotalTime>4</o:TotalTime>
<o:Created>2000-10-25T19:43:00Z</o:Created>
<o:LastSaved>2000-10-25T19:47:00Z</o:LastSaved>
<o:Pages>1</o:Pages>
<o:Company>Argonne National Laboratory</o:Company>
<o:Lines>1</o:Lines>
<o:Paragraphs>1</o:Paragraphs>
<o:Version>9.2720</o:Version>
</o:DocumentProperties>
</xml><![endif]-->
<!--[if gte mso 9]><xml>
<w:WordDocument>
<w:DisplayHorizontalDrawingGridEvery>0</w:DisplayHorizontalDrawingGridEvery>
<w:DisplayVerticalDrawingGridEvery>0</w:DisplayVerticalDrawingGridEvery>
<w:UseMarginsForDrawingGridOrigin/>
<w:Compatibility>
<w:FootnoteLayoutLikeWW8/>
<w:ShapeLayoutLikeWW8/>
<w:AlignTablesRowByRow/>
<w:ForgetLastTabAlignment/>
<w:LayoutRawTableWidth/>
<w:LayoutTableRowsApart/>
</w:Compatibility>
</w:WordDocument>
</xml><![endif]-->
<style>
<!--
/* Font Definitions */
@font-face
{font-family:"MS Mincho";
panose-1:2 2 6 9 4 2 5 8 3 4;
mso-font-alt:"\FF2D\FF33 \660E\671D";
mso-font-charset:128;
mso-generic-font-family:roman;
mso-font-pitch:fixed;
mso-font-signature:-1610612033 1757936891 16 0 131231 0;}
@font-face
{font-family:"\@MS Mincho";
mso-font-charset:128;
mso-generic-font-family:roman;
mso-font-pitch:fixed;
mso-font-signature:1 134676480 16 0 131072 0;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
{mso-style-parent:"";
margin:0in;
margin-bottom:.0001pt;
mso-pagination:widow-orphan;
font-size:10.0pt;
font-family:"Times New Roman";
mso-fareast-font-family:"Times New Roman";}
p.MsoPlainText, li.MsoPlainText, div.MsoPlainText
{margin:0in;
margin-bottom:.0001pt;
mso-pagination:widow-orphan;
font-size:10.0pt;
font-family:"Courier New";
mso-fareast-font-family:"Times New Roman";}
@page Section1
{size:8.5in 11.0in;
margin:1.0in 66.0pt 1.0in 66.0pt;
mso-header-margin:.5in;
mso-footer-margin:.5in;
mso-paper-source:0;}
div.Section1
{page:Section1;}
-->
</style>
</head>
<body lang="EN-US" style="tab-interval:.5in">
<center>
<h2>
Building EPICS R3.13 applications with R3.14.0beta1 base</h2></center>
<p><br>This document describes how to modify a R3.13 vxWorks application
so that it builds with release R3.14.0beta1.&nbsp; It describes an easy
way to modify applications subject to the following restrictions:
<ul>
<li>
The application still uses config rules rather than the configure rules
which are new to release 3.14.</li>
<li>
The OSI (Operating System Independent) features of R3.14 are not available,
i.e. iocCore products can only be build for vxWorks.</li>
<li>
Once the application is changed to build with base R3.14, it will not build
with earlier base releases.</li>
</ul>
Ultimately applications should be converted to use the new configure rules
so that the OSI features are available.
<h3>
<b>Gnumake clean uninstall</b></h3>
<blockquote>At the top of the application execute:
<pre>"<tt>gnumake clean uninstall</tt>"</pre>
to remove all files and directories created by earlier builds.</blockquote>
<h3>
Update RELEASE</h3>
<blockquote>Change&nbsp; the <tt>EPICS_BASE</tt> definition to point to
the R3.14 base release. All hardware support and some soft support is now
unbundled. For example the sequencer is unbundled. You must obtain and
build all required unbundled products before you can build the application.
The location of each unbundled product must be specified in &lt;top>/config/RELEASE.</blockquote>
<h3>
Update target arch definitions</h3>
<blockquote>Change any target arch specification in config/CONFIG to new
R3.14 target arch specification. Look in the R3.14 base/bin directory to
see the target arch names.
<p>For example, in config/CONFIG change
<pre>CROSS_COMPILER_TARGET_ARCHS = mv167</pre>
to
<pre>CROSS_COMPILER_TARGET_ARCHS = vxWorks-68040</pre>
In the iocBoot/*/Makefile files, change
<pre>ARCH=&lt;old arch name></pre>
to
<pre>ARCH=&lt;new arch name></pre>
and do a "<tt>gnumake"</tt> in the iocBoot directory to update the cdCommands
files.</blockquote>
<h3>
State Notation Language changes</h3>
<blockquote>snc is no longer in base. If snc is used in your application,
you must download and build the seq module with baseR3.14.0beta1. See the
Application Developer's Guide to see how to build sequence programs.</blockquote>
<blockquote>Change
<pre>INSTALLS=seq</pre>
to
<pre>LIBOBJS += $(SEQ_BIN)/seqLibrary.o</pre>
<p><br>in application src/Makefile.Vx files to link seq library into your
application library,.
<br>Also add
<pre>SEQ=&lt;full path to seq module directory></pre>
to config/RELEASE.
<br>Also remove
<pre>ld &lt; seq</pre>
from the st.cmd files in the iocBoot subdirectories.</blockquote>
<h3>
iocCore changes</h3>
<blockquote>iocCore has been renamed to iocCoreLibrary.o.
<br>Change
<pre>INSTALLS=iocCore</pre>
to
<pre>LIBOBJS += $(EPICS_BASE_BIN)/iocCoreLibrary.o</pre>
in your application src/Makefile.Vx files .
<br>Also remove
<pre>ld &lt; iocCore</pre>
from the st.cmd files in the iocBoot subdirectories.</blockquote>
<h3>
Library db changes</h3>
<blockquote>The Db library name was changed to dbStaticHost for host builds
and dbStaticIoc for ioc builds.
<br>Change
<pre>PROD_LIBS+=Db</pre>
to
<pre>PROD_LIBS+=dbStaticHost</pre>
and
<pre>Db_DIR=$(EPICS_BASE_LIB)</pre>
to
<pre>dbStaticHost_DIR=$(EPICS_BASE_LIB)</pre>
in your application src/Makefile.Host files.</blockquote>
<h3>
VxWorks C++ munched libraries and object files</h3>
<blockquote>Since R3.14 contains C++ code, the build rules were changed
to create a corresponding munched file for every vx object file built.
The objects files can be combined to form libraries but the munched files
must be loaded into vxWorks. In all st.cmd files add the suffix "<tt>.munch</tt>"
to the ld lines where object files were previously loaded. For example
change
<pre>ld &lt; exampleLib</pre>
to
<pre>ld &lt; exampleLibrary.munch</pre>
</blockquote>
<h3>
recGbl calls</h3>
<blockquote>You may need to add the line&nbsp; "<tt>#include "recGbl.h</tt>"
to any source files that have recGbl* calls so that the file will compile
without errors.</blockquote>
<h3>
Record support changes</h3>
<blockquote>The steppermotor, scan, and pid records are no longer in base.
If your application does not use these record types, comment out or remove
references to them in base.dbd and baseLIBOBJS. If these record types are
used by your application you must download and build the modules with R3.14
base, add appropriate module definitions to your application's config/RELEASE
fileand change the <tt>LIBOBJS</tt> definitions. For example
<br>add
<pre>PID=&lt;full path to modules directory>/pid</pre>
to config/RELEASE.
<br>Remove
<pre>LIBOBJS += $(EPICS_BASE_BIN)/pidRecord.o</pre>
from baseLIBOBJS,
<br>and add
<pre>LIBOBJS += $(PID_BIN)/pidRecord.o</pre>
to your application src/Makefile.
<p>You should consider changing any existing old steppermotor records to
the new EPICS&nbsp; <a href="http://www.aps.anl.gov/upd/people/sluiter/epics/modules/mechanism/motor/index.html">motor
record</a>&nbsp; module supported by Beamline Controls and Data Acquisition
at APS.</blockquote>
<h3>
RecDynLink.o and devPtSoft changes</h3>
<blockquote>recDynLink.o and devPtSoft.o are no longer in base. Remove
references to them in base.dbd and baseLIBOBJS if they are not used in
application.</blockquote>
<h3>
Hardware support changes</h3>
<blockquote>All hardware support (dev, drv and dbd files) has been unbundled
from base R3.14. This support includes the files <tt>symb, symb.dbd, drvHp1404a.o,
drvEpvxiMsg.o, and drvEpvxi.o</tt>.&nbsp; If they are not used in your
application, comment out references to these files in base.dbd and baseLIBOBJS.
<p>Hardware support files now exist as separate modules available for download
from the <a href="http://www.aps.anl.gov/epics/">EPICS www home page at
ANL</a>. You must now download all the hardware support modules needed
for your application, build the modules with R3.14 base,&nbsp; add the
appropriate module full path definitions to your application config/RELEASE
file, and change <tt>LIBOBJS</tt> location definition <tt>$(EPICS_BASE_BIN)</tt>
to the module definition bin directory in your application src directory
files.
<p>For example, remove
<pre>LIBOBJS+=$(EPICS_BASE_BIN)/symb</pre>
from baseLIBOBJS and add
<pre>LIBOBJS+=$(SYMB_BIN)/symb</pre>
to your application src/Makefile,
<br>and add the line
<pre>SYMB=&lt;full path definition for the built module SYMB></pre>
into your application config/RELEASE file .
<p>After a gnumake in the symb module followed by a gnumake in the application
config directory, the definitions <tt>SYMB_BIN</tt> and <tt>SYMB_LIB</tt>
will be created,&nbsp; the directory $(SYMB)/include will be added to the
include directories on the compiler command lines&nbsp; (in the <tt>INSTALL_INCLUDES</tt>
definition)&nbsp; and the directory $(SYMB)/dbd will be added to the dbd
search directories on the dbExpand command lines (in the <tt>INSTALL_DBDFLAGS</tt>
definition).</blockquote>
<h3>
dbLoadtemplate tool changes</h3>
<blockquote>The host tool dbLoadTemplate has been replaced by a new extension,
msi. dbLoadTemplate is still supported on iocs. Build the msi extension
with base R3.14 and change the following definitions in your application
files.
<p>In config/RULES.Db replace the line
<pre>DBLOADTEMPLATE=$(EPICS_BASE_HOST_BIN)/dbLoadTemplate$(EXE)</pre>
with
<pre>MSI = $(firstword $(wildcard $(EPICS_EXTENSIONS_HOST_BIN)/msi$(HOSTEXE) \
&nbsp;&nbsp; (EPICS_EXTENSIONS)/bin/$(HOST_OS_CLASS)/msi$(HOSTEXE)) msi$(HOSTEXE))</pre>
and change line:
<pre>@$(DBLOADTEMPLATE) $&lt; > $@</pre>
to
<pre>@$(MSI) $&lt; > $@</pre>
Also, if dbLoadTemplate was used by your application,&nbsp; add the definition
<blockquote>
<pre>EPICS_EXTENSIONS=&lt;full path name to epics extensions directory></pre>
</blockquote>
to your application config/RELEASE file.</blockquote>
depends changes
<p>&nbsp;&nbsp;&nbsp;&nbsp; Remove any SRCS.c and SRCS.cc definitions in
your application src/Makefile..*files. The depends rule no longer uses
these definitions.
</body>
</html>

View File

@@ -1,132 +0,0 @@
<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<meta name="Author" content="jba">
<meta name="GENERATOR" content="Mozilla/4.76 [en] (X11; U; SunOS 5.8 sun4u) [Netscape]">
</head>
<body>
<center>
<h2>
Building EPICS R3.13 extensions with R3.14 base</h2></center>
<p><br>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.
<h3>
Preliminary steps for all extensions</h3>
<blockquote>
<li>
Download the latest version (10/25/00) of the extensions/config files,
extensionsConfig.tar.gz,&nbsp; from the APS EPICS www page.</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 of
a built R3.14 base.</li>
<li>
BASE_3_14 is now defined in the base/config/CONFIG_BASE_VERSION.&nbsp;
The commented BASE_3_14 definition can be removed from extensions/config/RELEASE.</li>
</blockquote>
<h3>
Building downloaded APS distribution extensions with base R3.14</h3>
<blockquote>
<li>
Download the latest version (10/25/00) of extensions distributed from the
APS EPICS www page. The latest versions of the extensions should build
with both R3.13 and R3.14. Note that the order of building extensions is
important, i.e. some extensions depend on other extensions being built
first. The extensions/config/CONFIG_EXTENSIONS file contains notes on extension
dependancies and contains a definition of DIRS (used by extensions/src/Makefile)
with the proper order for building the APS distributed extensions.</li>
<li>
Executing gnumake at the root level of the extensions tree or in the src
directory should build the APS extensions in the proper order.</li>
</blockquote>
<h3>
Building your extensions with base R3.14</h3>
<blockquote>
<li>
<b>Library Db renamed</b></li>
<br>Library Db has been renamed to dbStaticHost in EPICS base R3.14. In
some extensions lib Db is not used and Db can be removed from the USR_LIBS
(or PROD_LIBS) line. If the library is needed ( you get unresolved items
after removing Db), the following lines should be added to Makefile.Host.
<blockquote><tt>ifdef BASE_3_14</tt>
<br><tt>USR_LIBS += dbStaticHost</tt>
<br><tt>dbStaticHost_DIR = $(EPICS_BASE_LIB)</tt>
<br><tt>else</tt>
<br><tt>USR_LIBS += Db</tt>
<br><tt>Db_DIR = $(EPICS_BASE_LIB)</tt>
<br><tt>endif</tt></blockquote>
<li>
<b>Target architecture specifications changed</b></li>
<br>Since target architecture specifications have been changed (solaris
to solaris-sparc, win32 to win32-x86, ...) Makefile.Host references to
and tests on T_A have to be changed.&nbsp; In most cases T_A can be replaced
by OS_CLASS.&nbsp; Since HOST_ARCH will eventually be phased out, it would
be a good idea to change any Makefile.Host references to HOST_ARCH to OS_CLASS
if possible.
<br>For example change
<blockquote><tt>ifeq ($(T_A),solaris)</tt>
<br><tt>RPCFLAGS = -K -1</tt>
<br><tt>endif</tt></blockquote>
to
<blockquote><tt>ifeq ($(OS_CLASS),solaris)</tt>
<br><tt>RPCFLAGS = -K -1</tt>
<br><tt>endif</tt></blockquote>
<li>
<b>New ca_set_puser</b></li>
<br>Statements of the form: <tt>ca_puser(chid) = xyz</tt>; should to be
changed to:&nbsp; <tt>ca_set_puser(chid,xyz)</tt>;
<br>&nbsp;
<li>
<b>Extern C around includes</b></li>
<br>Remove any extern "C" braces around #includes of EPICS base header
files.
<br>For example change
<blockquote><tt>extern "C" {</tt>
<br><tt>#include "cadefs.h"</tt>
<br><tt>} /* end extern C */</tt></blockquote>
to
<blockquote><tt>#include "cadefs.h"</tt></blockquote>
<li>
<b>Infrequently used R3.13 timestamp functions unbundled from base</b></li>
<br>Some infrequently used R3.13 timestamp functions and macro definitions
have been removed from EPICS base and now exist in a library, ts, created
and installed in the ar extension.&nbsp; The only ANL distributed extension
that uses these unbundled functions and macros&nbsp; is cau. The two R3.13
functions tsStampToText and tsLocalTime along with the definitions TS_TEXT_MONDDYYYY
and TS_TEXT_MMDDYY have been retained in R3.14 for extension compatibility
purposes.
<br>If your extension gets undefines for TS_* usage and ts* function calls
when built with R3.14, you must obtain and build the ar extension. Add
an #include for tsSubr.h to your extension source code and add library
ts to PROD_LIBS or USR_LIBS in your Makefile.Host as follows:
<blockquote><tt>#include "tsSubr.h"</tt>
<p><tt>ifdef BASE_3_14</tt>
<br><tt>PROD_LIBS += ts</tt>
<br><tt>ts_DIR = $(EPICS_EXTENSIONS_LIB)</tt>
<br><tt>endif</tt></blockquote>
</blockquote>
</body>
</html>

View File

@@ -1,302 +0,0 @@
<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<meta name="Author" content="jba">
<meta name="GENERATOR" content="Mozilla/4.76 [en] (X11; U; SunOS 5.8 sun4u) [Netscape]">
</head>
<body>
<center>
<h2>
Converting an EPICS R3.13 application to R3.14.0alpha3</h2></center>
<p><br>This document describes how to convert a R3.13 vxWorks application
so that it builds with release R3.14.0alpha3.&nbsp; It describes procedures
such that:
<ul>
<li>
The application uses the configure rules which are new to R3.14.</li>
</ul>
<ul>
<li>
The OSI (Operating System Independent) features of R3.14 are available,
i.e. iocCore products can be build for vxWorks as well as other platforms,
e.g. solaris and linux.</li>
</ul>
<h3>
Gnumake clean uninstall</h3>
<blockquote>First do a gnumake clean uninstall in the application's root
directory to remove all files created by earlier builds.</blockquote>
<h3>
Create a new R3.14 application</h3>
<blockquote><tt>mkdir &lt;top></tt>
<br><tt>cd &lt;top></tt>
<br><tt>&lt;full path to R3.14.0alpha3 base>/bin/&lt;host_arch>/makeBaseApp.pl
-t example example</tt></blockquote>
<h3>
Copy all *App and iocBoot directories and files to the new &lt;top> directory</h3>
<blockquote><tt>cd &lt;oldtop></tt>
<br><tt>find *App iocBoot -print | cpio -pvmd &lt;fullpath name to new
top></tt></blockquote>
<h3>
Modify &lt;top>/configure/RELEASE</h3>
<blockquote>Copy definitions of external modules excluding EPICS_BASE and
TEMPLATES_TOP from old application RELEASE file.
<br>If sequence programs (*.st or *.stt files) exist in your application,
add the SNCSEQ location definition for the R3.14 seq external module
<blockquote><tt>SNCSEQ =&lt;full path to seq module top></tt></blockquote>
The R3.14 seq module must exist and be built with EPICS base R3.14.0alpha3.</blockquote>
<h3>
Modify the Makefiles in &lt;top>/*App directories.</h3>
<blockquote>Change&nbsp;&nbsp;&nbsp;&nbsp; <tt>include $(TOP)/config/CONFIG_APP</tt>
<br>to&nbsp;&nbsp;&nbsp;&nbsp; <tt>include $(TOP)/configure/CONFIG</tt>
<p>Change&nbsp;&nbsp;&nbsp;&nbsp; i<tt>nclude $(TOP)/config/RULES_DIRS</tt>
<br>to&nbsp;&nbsp;&nbsp;&nbsp; <tt>include $(TOP)/configure/RULES_DIRS</tt></blockquote>
<h3>
Modify the Makefiles in &lt;top>/*App/*Db directories.</h3>
<blockquote>Remove existing Makefile
<br>Rename Makefile.Host to Makefile
<br>Modify Makefile as follows:
<p>Change&nbsp;&nbsp;&nbsp;&nbsp; <tt>TOP=../../..</tt>
<br>to&nbsp;&nbsp;&nbsp;&nbsp; <tt>TOP=../..</tt>
<p>Change&nbsp;&nbsp;&nbsp; i<tt>nclude $(TOP)/config/CONFIG_APP</tt>
<br>to&nbsp;&nbsp;&nbsp;&nbsp; <tt>include $(TOP)/configure/CONFIG</tt>
<p>Change&nbsp;&nbsp;&nbsp;&nbsp; <tt>include $(TOP)/config/RULES.Db</tt>
<br>to <tt>include $(TOP)/configure/RULES</tt>
<p>Place all definitions between the include lines.
<p>Place any rules after the last include line.</blockquote>
<h3>
Modify the Makefiles in &lt;top>/*App/src directories.</h3>
<blockquote>Remove existing Makefile
<br>Rename Makefile.Host to Makefile
<br>Modify Makefile as follows:
<p>Change <tt>TOP=../../..</tt>
<br>to&nbsp;&nbsp;&nbsp;&nbsp; <tt>TOP=../..</tt>
<p>Change&nbsp;&nbsp;&nbsp;&nbsp; <tt>include $(TOP)/config/CONFIG_APP</tt>
<br>to&nbsp;&nbsp;&nbsp;&nbsp; <tt>include $(TOP)/configure/CONFIG</tt>
<p>Change&nbsp;&nbsp;&nbsp;&nbsp; i<tt>nclude $(TOP)/config/RULES.Host</tt>
<br>to&nbsp;&nbsp;&nbsp;&nbsp; <tt>include $(TOP)/configure/RULES</tt>
<p>Change&nbsp;&nbsp;&nbsp;&nbsp; <tt>PROD_LIBS = &lt;name></tt>
<br>to&nbsp;&nbsp;&nbsp;&nbsp;<tt> &lt;prod name>_LIBS = dbStaticHost</tt>
<br>where&nbsp; <tt>&lt;prod name></tt> is a specifified product to be
built.
<p>Change&nbsp; library name <tt>Db</tt> to <tt>dbStaticHost.</tt>
<br>Change<tt> PROD_LIBS = Db</tt>
<br>to&nbsp;<tt> &lt;prodname>_LIBS += dbStaticHost</tt>
<br>and <tt>Db_DIR = $(EPICS_BASE_LIB)</tt>
<br>to&nbsp;&nbsp;&nbsp;&nbsp; <tt>dbStaticHost_DIR = $(EPICS_BASE_LIB)</tt>
<p>Change&nbsp;&nbsp;&nbsp;&nbsp; <tt>USER_DBDFLAGS</tt>
<br>to&nbsp;&nbsp;&nbsp;&nbsp; <tt>USR_DBDFLAGS</tt>
<p>Change&nbsp;&nbsp;&nbsp;&nbsp; <tt>RECTYPES +=&nbsp; xxxRecord.h</tt>
<br>to&nbsp;&nbsp;&nbsp;&nbsp; <tt>DBDINC += xxxRecord</tt>
<p>Change&nbsp;&nbsp;&nbsp;&nbsp; <tt>DBDNAME = &lt;name>App.dbd</tt>
<br>to&nbsp;&nbsp;&nbsp;&nbsp; <tt>DBD += &lt;name>.dbd</tt>
<p>Remove all <tt>DBDEXPAND</tt>&nbsp; lines.
<p>Change&nbsp; <tt>PROD = &lt;prodname></tt>
<br>to <tt>PROD_HOST = &lt;prodname></tt>
<p>Change&nbsp; <tt>SRCS.c += &lt;name></tt>
<br>to <tt>&lt;prodname>_SRCS += &lt;name></tt>
<br>or<tt> &lt;libname>_SRCS += &lt;name></tt>
<p>Add the contents of Makefile.Vx to Makefile removing the include lines
and the TOP definition.</blockquote>
<blockquote>Change&nbsp;&nbsp;&nbsp;&nbsp; <tt>LIBNAME = &lt;libname>Lib</tt>
<br>to&nbsp;&nbsp;&nbsp;&nbsp; <tt>PROD_vxWorks = &lt;libname></tt><tt></tt>
<p>Remove line&nbsp;<tt> -include ../baseLIBOBJS</tt>
<p>Remove&nbsp; line&nbsp;&nbsp;&nbsp; <tt>INSTALLS = iocCore seq</tt><tt></tt>
<p>Change all <tt>SRCS.c += ../&lt;name>.c </tt>lines
<br>to&nbsp;&nbsp; <font face="Arial,Helvetica">&lt;prodname>_SRCS += &lt;name>.c</font>
<br>if the source files exist in the current directory.<tt></tt>
<p>Change all <tt>*OBJS += &lt;name>.o</tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
lines
<br>to&nbsp;&nbsp; <font face="Arial,Helvetica">&lt;prodname>_SRCS += &lt;name>.c</font>
<br>or&nbsp;<font face="Arial,Helvetica"> &lt;prodname>_SRCS += &lt;name>.cc</font>
<br>if the c/c++ source files exist in the current directory.
<p>Change&nbsp;&nbsp;&nbsp; <tt>LIBOBJS += &lt;seq_program_name>.o</tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
lines
<br>to&nbsp;&nbsp; <tt>&lt;prodname>_SRCS += &lt;seq_program_name>.stt</tt>
<br>or&nbsp; <tt>&lt;prodname>_SRCS += &lt;seq_program_name>.st</tt><tt></tt>
<p>Add the lines
<blockquote><tt>#&lt;name>_LIBS += seq</tt>
<br><tt>#&lt;name>_LIBS += pv</tt>
<br><tt>#seq_DIR&nbsp;&nbsp;&nbsp; = $(SNCSEQ_LIB)</tt>
<br><tt>#pv_DIR&nbsp;&nbsp;&nbsp;&nbsp; = $(SNCSEQ_LIB)</tt><tt></tt>
<p><tt>&lt;name>_LIBS += recIoc</tt>
<br><tt>&lt;name>_LIBS += softDevIoc</tt>
<br><tt>&lt;name>_LIBS += testDevIoc</tt>
<br><tt>&lt;name>_LIBS += iocsh</tt>
<br><tt>&lt;name>_LIBS += miscIoc</tt>
<br><tt>&lt;name>_LIBS += rsrvIoc</tt>
<br><tt>&lt;name>_LIBS += dbtoolsIoc</tt>
<br><tt>&lt;name>_LIBS += asIoc</tt>
<br><tt>&lt;name>_LIBS += dbIoc</tt>
<br><tt>&lt;name>_LIBS += registryIoc</tt>
<br><tt>&lt;name>_LIBS += dbStaticIoc</tt>
<br><tt>&lt;name>_LIBS += ca</tt>
<br><tt>&lt;name>_LIBS += Com</tt></blockquote>
where <tt>&lt;name></tt> is the&nbsp; name in the <tt>PROD_vxWorks</tt>
definition, and uncomment the first four lines if you have sequence programs
(.st or .stt files) in the current directory.
<p>Place all macro definitions between the include lines.
<p>Place any rules after the last include line.</blockquote>
<h3>
Modify the Makefiles in &lt;top>/iocBoot directory.</h3>
<blockquote>Change i<tt>nclude $(TOP)/config/CONFIG_APP</tt>
<br>to&nbsp;&nbsp;&nbsp;&nbsp; <tt>include $(TOP)/configure/CONFIG</tt>
<p>Remove the line <tt>DIRS += $(wildcard *ioc*)</tt>
<p>Change <tt>include $(TOP)/config/RULES.iocBoot</tt>
<br>to&nbsp;&nbsp;&nbsp;&nbsp; i<tt>nclude $(TOP)/configure/RULES.iocBoot</tt></blockquote>
<h3>
Modify the Makefiles in &lt;top>/iocBoot/ioc* directories.</h3>
<blockquote>Change <tt>include $(TOP)/config/CONFIG_APP</tt>
<br>to&nbsp;&nbsp;&nbsp;&nbsp; <tt>include $(TOP)/configure/CONFIG</tt>
<p>Change <tt>include ARCH = &lt;old arch specification e.g. mv167></tt>
<br>to&nbsp;&nbsp;&nbsp;&nbsp; <tt>include ARCH = &lt;new arch specificatio
e.g. vxWorks-68040></tt><tt></tt>
<p>Change <tt>include $(TOP)/config/RULES.ioc</tt>
<br>to&nbsp;&nbsp;&nbsp;&nbsp; <tt>include $(TOP)/configure/RULES.ioc</tt>
<p>Add the following rule at the end of the Makefile.
<blockquote><tt>buildInstall: cdCommands</tt></blockquote>
</blockquote>
<h3>
Modify st.cmd in &lt;top>/iocBoot/ioc* directories.</h3>
<blockquote>Remove the lines</blockquote>
<blockquote>
<blockquote>
<pre>ld &lt; seq</pre>
<pre>ld &lt; iocCore</pre>
</blockquote>
Change&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <tt>ld &lt; &lt;libname>Lib</tt>
<br>to&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <tt>ld &lt; &lt;libname>.munch</tt>
<p>Change&nbsp; load statements&nbsp; for db and dbd files from
<blockquote><tt>cd startup</tt>
<br><tt>dbLoadDatabase("../../dbd/exampleApp.dbd")</tt>
<br><tt>dbLoadRecords("../../db/dbExample1.db","user=jba")</tt>
<br><tt>dbLoadRecords("../../db/dbExample2.db")</tt></blockquote>
to
<blockquote><tt>cd top</tt>
<br><tt>dbLoadDatabase("dbd/example.dbd")</tt>
<br><tt>registerRecordDeviceDriver(pdbbase)</tt>
<br><tt>dbLoadRecords("db/dbExample1.db","user=jba")</tt>
<br><tt>dbLoadRecords("db/dbExample2.db")</tt></blockquote>
</blockquote>
<h3>
Record support changes</h3>
<blockquote>The steppermotor, scan, and pid records are no longer in base.&nbsp;
If these records are not used in your application, comment out references
to them in base.dbd. If these record types are used at your site, they&nbsp;
should be downloaded and built with base R3.14 by your EPICS administrator.
To update the R3.14 location of these record types in your application
you must&nbsp; add appropriate module definitions to your application's
config/RELEASE file and change the <tt>LIBOBJS</tt> definitions.
<p>For example add</blockquote>
<blockquote>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <tt>PID=&lt;full
path to modules directory>/pid</tt>
<p>to config/RELEASE.
<br>Remove</blockquote>
<blockquote>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <tt>LIBOBJS
+= $(EPICS_BASE_BIN)/pidRecord.o</tt>
<p>from baseLIBOBJS, and add</blockquote>
<blockquote>
<blockquote><tt>LIBOBJS += $(PID_BIN)/pidRecord.o</tt></blockquote>
to your application src/Makefile.</blockquote>
<blockquote>You should consider changing any existing old steppermotor
records to the new EPICS&nbsp; motor record&nbsp; module supported by Beamline
Controls and Data Acquisition at APS.</blockquote>
<h3>
RecDynLink.o and devPtSoft changes</h3>
<blockquote>recDynLink.o and devPtSoft.o are no longer in EPICS base and
now exist as separate EPICS modules.You must now add the appropriate module
full path definitions to your application config/RELEASE file, and change
<tt>LIBOBJS</tt>
location definition <tt>$(EPICS_BASE_BIN)</tt> to the module definition
bin directory in your application src directory files.&nbsp; See "Hardware
support changes" below for instructions.</blockquote>
<h3>
Hardware support changes</h3>
<blockquote>All hardware support (dev, drv and dbd files) except soft support
has been unbundled from base R3.14. This support includes the files symb.dbd,
drvHp1404a.o, drvEpvxiMsg.o, and drvEpvxi.o. If these are not used by your
application, comment out references to them in base.dbd.</blockquote>
<blockquote>Hardware support now exists as separate EPICS modules. The
hardware support for your site should be downloaded and built with base
R3.14 by your EPICS administrator. You must now add the appropriate module
full path definitions to your application config/RELEASE file, and change
<tt>LIBOBJS</tt>
location from <tt>$(EPICS_BASE_BIN) </tt>to the module&nbsp; bin directory
in your application src directory files.
<p>For example, remove</blockquote>
<blockquote>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <tt>LIBOBJS+=$(EPICS_BASE_BIN)/symb</tt></blockquote>
<blockquote>from baseLIBOBJS and add</blockquote>
<blockquote>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <tt>LIBOBJS+=$(SYMB_BIN)/symb</tt></blockquote>
<blockquote>to your application src/Makefile,
<br>and add the line</blockquote>
<blockquote>
<blockquote><tt>SYMB=&lt;full path definition for the built module SYMB></tt></blockquote>
</blockquote>
<blockquote>into your application config/RELEASE file .</blockquote>
<h3>
dbLoadtemplate tool changes</h3>
<blockquote>The host tool dbLoadTemplate has been replace by a new EPICS
extension, msi, which should be downloaded and built with base R3.14 by
your EPICS administrator. dbLoadTemplate is still supported on iocs.&nbsp;
If, in your application, db files are created from template and substitution
files you should&nbsp; add the definition
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <tt>EPICS_EXTENSIONS=&lt;full
path name to epics extensions directory></tt>
<p>to your application config/RELEASE file.</blockquote>
<blockquote>
<blockquote>&nbsp;</blockquote>
<blockquote>
<pre></pre>
</blockquote>
</blockquote>
<br>&nbsp;
</body>
</html>

View File

@@ -1,145 +0,0 @@
<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<meta name="Author" content="jba">
<meta name="GENERATOR" content="Mozilla/4.77 [en] (X11; U; SunOS 5.8 sun4u) [Netscape]">
</head>
<body>
<center>
<h2>
Converting an EPICS R3.14.0 alpha2 application to beta1</h2></center>
<p><br>This document describes how to convert a R3.14.0alpha2 application
so that it builds with release R3.14.0beta1.
<h3>
Gnumake clean uninstall</h3>
<blockquote>First do a "<tt>gnumake clean uninstall"</tt> in the application's
root directory to remove all files created by earlier builds.</blockquote>
<h3>
Replace configure/RULES.ioc and configure/Makefile</h3>
<blockquote>The rules defined in RULES.ioc have changed slightly, and new
applications are now given a wrapper version which just includes $(EPICS_BASE)/configureRULES.ioc.
The new configure/Makefile contains an additional macro that causes the
contents of the configure/RELEASE file to be checked at build time for
consistency with all the support applications that it references. These
files should be replaced with copies of the new versions from &lt;base>/templates/makeBaseApp/top/configure</blockquote>
<h3>
Remove baseLIBOBJS</h3>
<blockquote>Record and device support from base now exists in archive libraries
so baseLIBOBJS is no longer needed and the file and references to it in
the Makefile can be deleted. e.g. remove
<blockquote><tt>-include ../baseLIBOBJS</tt></blockquote>
and the file baseLIBOBJS. If there are no LIBOBJS definitions in the Makefile,
also remove
<blockquote><tt>example_OBJS += $(LIBOBJS)</tt></blockquote>
</blockquote>
<h3>
Libraries recIoc, softDevIoc, and testDevIoc</h3>
<blockquote>Add the new record and dev support libraries to &lt;name>App/src/Makefile,
i.e. add the lines
<blockquote><tt>example_LIBS += recIoc</tt>
<br><tt>example_LIBS += softDevIoc</tt>
<br><tt>example_LIBS += testDevIoc</tt></blockquote>
and remove any references to iocLibrary, e.g. remove the line
<blockquote><tt>example_OBJS_vxWorks += $(EPICS_BASE_BIN)/iocCoreLibrary</tt></blockquote>
The order of references to base libraries is important so place recIoc
and softDevIoc&nbsp; before the the other base library references.
<p>If you are building on a WIN32 host add the following lines instead:
<blockquote><tt># Use win32 object libs for registered support</tt>
<br><tt>example_LIBS_win32 += recIocObj</tt>
<br><tt>example_LIBS_win32 += softDevIocObj</tt>
<br><tt>example_LIBS_win32 += testDevIocObj</tt>
<br><tt>example_LIBS_DEFAULT += recIoc</tt>
<br><tt>example_LIBS_DEFAULT += softDevIoc</tt>
<br><tt>example_LIBS_DEFAULT += testDevIoc</tt></blockquote>
</blockquote>
<h3>
iocrf renamed to iocsh</h3>
<blockquote>Change all references to ioccrf in your application src directories
to iocsh e.g.
<p>change <tt>#include "ioccrf.h"</tt>
<br>to&nbsp; <tt>#include "iocsh.h"</tt>
<p>change<tt> ioccrf(argv[1]);</tt>
<br>to&nbsp;<tt> iocsh(argv[1]);</tt>
<p>and change&nbsp;<tt> ioccrf(NULL);</tt>
<br>to <tt>iocsh(NULL)</tt>;
<p>in &lt;name>App/src/exampleMain.c.</blockquote>
<h3>
PROD changes</h3>
<blockquote>PROD targets will now be built for all target architectures.
If a product should be built only for host architectures change PROD to
PROD_HOST .e.g.&nbsp; in your application src Makefiles
<blockquote>change <tt>PROD += caExample</tt>
<br>to&nbsp; <tt>PROD_HOST += caExample</tt>
<br>and
<br>change <tt>PROD = sncExample</tt>
<br>to <tt>PROD_HOST += sncExample</tt></blockquote>
</blockquote>
<b>LIBRARY and PROD changes</b>
<blockquote>The meaning of LIBRARY and PROD have now changed. For vxWorks,
LIBRARY now means an archive library, OBJLIB is now a combined object file
(only needed for R3.13 compatibility) and PROD is now a combined object
file with library references resolved and will have a corresponding .munch
file created. Thus, in your application src Makefiles,
<blockquote>change <tt>LIBRARY_vxWorks = &lt;name></tt>
<br>to <tt>PROD_vxWorks = &lt;name></tt>
<br>or
<br>remove the lines <tt>LIBRARY_vxWorks = &lt;name></tt>
<br>and <tt>PROD_RTEMS = &lt;name></tt>
<br>and change <tt>PROD = &lt;name></tt>
<br>to <tt>PROD_IOC = &lt;name></tt>.</blockquote>
In the iocBoot/ioc&lt;name>/st.cmd files,
<blockquote>change <tt>ld &lt; &lt;name>Library.munch</tt>
<br>to <tt>ld &lt; &lt;name>.munch</tt></blockquote>
A SRCS definition is now required for every PROD&nbsp; and LIBRARY source
file to determine correct header file dependancies. This is true even if
there is only one source file for the PROD or LIBRARY . Thus, for the PROD
caExample in your src Makefile, add&nbsp; the line
<blockquote>&nbsp;caExample_SRCS += caExample.c</blockquote>
</blockquote>
<h3>
registerRecordDeviceDriver changes</h3>
<blockquote>The created file registerRecordDeviceDriver.cpp is now used
for all target architectures. Thus in your application src Makefiles
<blockquote>change <tt>example_SRCS_DEFAULT += example_registerRecordDeviceDriver.cpp</tt>
<br>to&nbsp; <tt>example_SRCS += example_registerRecordDeviceDriver.cpp</tt>
<br><tt></tt>&nbsp;</blockquote>
</blockquote>
<h3>
RTEMS-specific pathname changes</h3>
<blockquote>1. The RTEMS TFTP remote filesystem no longer ignores leading
`../' components in path names.&nbsp; All st.cmd file lines with path names
of the form <tt>dbLoadRecords("../../db/dbExample1.db","user=norume")</tt>
<br>must be changed to
<br><tt>dbLoadRecords("db/dbExample1.db","user=norume")</tt><tt></tt>
<p>The makeBaseApp.pl script distributed with R3.14-beta1 creates st.cmd
scripts with the proper path names.
<p>2. The RTEMS TFTP remote filesystem supports a limited set of chdir
operations.
<br>All paths passed to chdir (or to the IOC shell `cd' command) must end
in a `/'
<br>character.</blockquote>
<blockquote>
<blockquote>&nbsp;</blockquote>
</blockquote>
</body>
</html>

File diff suppressed because it is too large Load Diff

View File

@@ -1,5 +0,0 @@
BUILD_TYPE = Vx
DIRS = src/as src/ca src/db src/dev src/devOpt src/drv \
src/libCom src/libvxWorks src/rec src/rsrv \
src/sequencer src/util src/dbtools src/misc .

View File

@@ -1 +0,0 @@
BUILD_ARCHS=sun4 mv167 mv147

View File

@@ -1,5 +0,0 @@
BUILD_TYPE = Vx
DIRS = src/as src/ca src/db src/dev src/devOpt src/drv \
src/libCom src/libvxWorks src/rec src/rsrv \
src/sequencer src/util src/dbtools src/misc .

View File

@@ -1,5 +0,0 @@
BUILD_TYPE = Vx
DIRS = src/as src/ca src/db src/dev src/devOpt src/drv \
src/libCom src/libvxWorks src/rec src/rsrv \
src/sequencer src/util src/dbtools src/misc .

View File

@@ -1,13 +0,0 @@
BUILD_TYPE = Unix
DIRS = src/libCom \
src/db \
src/ca \
src/toolsComm/antelope \
src/toolsComm/flex \
src/as \
src/bld \
src/dct \
src/util \
src/sequencer \
src/dbtools \
rec

View File

@@ -1,3 +1,12 @@
#*************************************************************************
# 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$
#

View File

@@ -2,9 +2,6 @@
# This file is maintained by the EPICS community.
# Sites may override these definitions in CONFIG_SITE.Borland
# Use std path variables from ms
HOME = $(HOMEDRIVE)$(HOMEPATH)
BORLAND_LIB = $(BORLAND)\\lib
BORLAND_INC = $(BORLAND)\\include
BORLAND_BIN = $(BORLAND)\\bin
@@ -236,7 +233,7 @@ USR_DEPLIBS = $(foreach lib,$(USR_LIBS),$(firstword $(wildcard $($(lib)_DIR)/$(l
# by default the libraries used when linking the DLL are just
# PROD_LIBS ans SYS_PROD_LIBS minus the DLL name
DLL_LIBS = $(subst $(LIBRARY),, $(PROD_LIBS))
DLL_LIBS = $(patsubst $(LIBRARY),, $(PROD_LIBS))
#
# EPICS libs that we need to link the DLL with

View File

@@ -26,7 +26,7 @@ ACC_WARN_YES = -Wall
ACC_WARN_NO = -w
ACC_OPT_YES = -O
ACC_OPT_NO = -g
ACC_SFLAGS_YES = -Bstatic
ACC_SFLAGS_YES = -static
ACC_SFLAGS_NO=
ACC_SLIBS_YES =
ACC_SLIBS_NO=
@@ -43,7 +43,7 @@ CCC_WARN_YES = -Wall
CCC_WARN_NO =
CCC_OPT_YES = -O
CCC_OPT_NO = -g
CCC_SFLAGS_YES = -Bstatic
CCC_SFLAGS_YES = -static
CCC_SFLAGS_NO=
CCC_SLIBS_YES =
CCC_SLIBS_NO=
@@ -60,7 +60,7 @@ G++_STRICT = $(G++) -Wtraditional
#ARCH_DEP_CFLAGS = -D_X86_ -Dlinux -D_USE_BSD
ARCH_DEP_CFLAGS = -D_X86_ -Dlinux
ARCH_DEP_LDFLAGS += -lpthread -lreadline -lcurses -lrt
ARCH_DEP_LDFLAGS =
#glibc FAQ
# "_GNU_SOURCE: glibc does not make the GNU extensions available

View File

@@ -1,56 +0,0 @@
# 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

@@ -3,9 +3,6 @@
# This file is maintained by the EPICS community.
# Sites may override these definitions in CONFIG_SITE.WIN32
# Use std path variables from ms
HOME = $(HOMEDRIVE)$(HOMEPATH)
#
# You currently get Visual C++ even if you ask for GNU.
#
@@ -236,7 +233,7 @@ USR_DEPLIBS = $(foreach lib,$(USR_LIBS),$(firstword $($(lib)_DIR) $(EPICS_BASE_L
# by default the libraries used when linking the DLL are just
# PROD_LIBS ans SYS_PROD_LIBS minus the DLL name
DLL_LIBS = $(subst $(LIBRARY),, $(PROD_LIBS))
DLL_LIBS = $(patsubst $(LIBRARY),, $(PROD_LIBS))
#
# EPICS libs that we need to link the DLL with

View File

@@ -53,8 +53,8 @@ HPCC_DEP_CFLAGS=+DAportable
#New HP C++ compiler
CCC = aCC
# avoid treating "future errors" as actual errors
CCC_NORMAL = $(CCC) +W302 +W829 +W818 +W392 +W469 +W495 +W749 +W667 +W392 +W684
CCC_STRICT = $(CCC) +p
CCC_NORMAL = $(CCC) -AA -Aa +W302 +W829 +W818 +W392 +W469 +W495 +W749 +W667 +W392 +W684
CCC_STRICT = $(CCC) -AA -Aa +p
CCC_TEMPL_INST_FLAG =
CCC_WARN_YES = +w
CCC_WARN_NO =
@@ -73,8 +73,11 @@ CCC_DEP_CFLAGS=+DAportable
# +DAportable causes portable object code to be created for execution
# on different PA-Risc machines
empty:=
space:= $(empty) $(empty)
ARCH_DEP_CFLAGS = -D_HPUX_SOURCE -DHP_UX
ARCH_DEP_CXXFLAGS = -D_HPUX_SOURCE -DHP_UX
ARCH_DEP_LDLIBS =
ARCH_DEP_LDFLAGS = -Wl,+b$(DEFAULT_SHRLIB_SEARCH_PATH),+s
ARCH_DEP_LDFLAGS = -Wl,+b,$(subst $(space),:,$(DEFAULT_SHRLIB_SEARCH_PATH)),+s

View File

@@ -1,4 +0,0 @@
# $Id$
# linux-x86 is the new name for linux
-include $(EPICS_BASE)/config/CONFIG.Host.Linux

View File

@@ -23,17 +23,18 @@ SPARCWORKS = /opt/SUNWspro
# Configure OS vendor C compiler
ACC = $(SPARCWORKS)/bin/cc
ACC_ANSI = $(ACC) -Xa -v
ACC_ANSI = $(ACC) -Xa
ACC_STRICT = $(ACC) -Xc -v
ACC_TRAD = $(ACC) -Xs
ACC_DEP_CFLAGS = -KPIC -D_REENTRANT
ACC_DEP_CFLAGS = -KPIC -D_REENTRANT
ACC_WARN_YES =
ACC_WARN_NO = -w
ACC_OPT_YES = -O
ACC_OPT_NO = -g
ACC_SFLAGS_YES= -Bstatic
ACC_SFLAGS_NO=
ACC_SLIBS_YES= -lw -lintl -Bdynamic -ldl -Bstatic -lXext -lX
ACC_SLIBS_YES= -lw -lintl -Bdynamic -ldl -Bstatic
ACC_SLIBS_NO=
ACC_SHRLIB_CFLAGS_YES =
ACC_SHRLIB_LDFLAGS_YES = -G -h $@
@@ -42,7 +43,7 @@ ACC_SHRLIB_LDFLAGS_YES = -G -h $@
CCC = $(SPARCWORKS)/bin/CC
CCC_NORMAL = $(CCC) +p
CCC_STRICT = $(CCC) +p
CCC_DEP_CFLAGS = -KPIC -D_REENTRANT
CCC_DEP_CFLAGS = -KPIC -D_REENTRANT
CCC_TEMPL_INST_FLAG =
CCC_WARN_YES = +w
CCC_WARN_NO =
@@ -50,15 +51,16 @@ CCC_OPT_YES = -O
CCC_OPT_NO = -g
CCC_SFLAGS_YES= -Bstatic
CCC_SFLAGS_NO=
CCC_SLIBS_YES= -lw -lintl -Bdynamic -ldl -Bstatic -lXext -lX
CCC_SLIBS_YES= -lw -lintl -Bdynamic -ldl -Bstatic
CCC_SLIBS_NO=
CCC_DEPENDS_FLAG = -xM1
CCC_SHRLIB_CFLAGS_YES =
CCC_SHRLIB_LDFLAGS_YES = -G -h $@
SOLARIS_VERSION = $(subst 5.,,$(shell uname -r))
ARCH_DEP_CPPFLAGS += -DSOLARIS=$(SOLARIS_VERSION)
POSIX_CPPFLAGS_YES += -D__EXTENSIONS__
ARCH_DEP_CFLAGS = -DSOLARIS
# socket and nsl needed by libca.a
ARCH_DEP_LDLIBS = -lsocket -lnsl
ARCH_DEP_LDLIBS += -lposix4 -lpthread -lthread

View File

@@ -1,4 +0,0 @@
# $Id$
# solaris-sparc is the new name for solaris
-include $(EPICS_BASE)/config/CONFIG.Host.solaris

View File

@@ -1,8 +0,0 @@
# $Id$
# solaris-sparc is the new name for solaris
-include $(EPICS_BASE)/config/CONFIG.Host.solaris
ANSI=GCC
CPLUSPLUS=G++

View File

@@ -3,64 +3,8 @@
# This file is maintained by the EPICS community.
# Sites may override these definitions in CONFIG_SITE.Host.solaris-x86
ARCH_CLASS = solaris
# Include definitions common to all Unix archs
include $(EPICS_BASE)/config/CONFIG.Host.UnixCommon
#
# required by sun's C++ compiler
#
AR = ar
_AR = $(AR) $(ARFLAGS)
G++_AR = $(_AR)
CCC_AR = $(CCC) -xar -o
ARCMD = $($(CPLUSPLUS)_AR) $@
RANLIB =
SPARCWORKS = /opt/SUNWspro
# Configure OS vendor C compiler
ACC = $(SPARCWORKS)/bin/cc
ACC_ANSI = $(ACC) -Xa
ACC_STRICT = $(ACC) -Xc -v
ACC_TRAD = $(ACC) -Xs
ACC_DEP_CFLAGS = -KPIC -D_REENTRANT
ACC_WARN_YES =
ACC_WARN_NO = -w
ACC_OPT_YES = -O
ACC_OPT_NO = -g
ACC_SFLAGS_YES= -Bstatic
ACC_SFLAGS_NO=
ACC_SLIBS_YES= -lw -lintl -Bdynamic -ldl -Bstatic -lXext -lX
ACC_SLIBS_NO=
ACC_SHRLIB_CFLAGS_YES =
ACC_SHRLIB_LDFLAGS_YES = -G -h $@
# Configure OS vendor C++ compiler
CCC = $(SPARCWORKS)/bin/CC
CCC_NORMAL = $(CCC) +p
CCC_STRICT = $(CCC) +p
CCC_DEP_CFLAGS = -KPIC -D_REENTRANT
CCC_TEMPL_INST_FLAG =
CCC_WARN_YES = +w
CCC_WARN_NO =
CCC_OPT_YES = -O
CCC_OPT_NO = -g
CCC_SFLAGS_YES= -Bstatic
CCC_SFLAGS_NO=
CCC_SLIBS_YES= -lw -lintl -Bdynamic -ldl -Bstatic -lXext -lX
CCC_SLIBS_NO=
CCC_DEPENDS_FLAG = -xM1
CCC_SHRLIB_CFLAGS_YES =
CCC_SHRLIB_LDFLAGS_YES = -G -h $@
GCC = gcc
G++ = g++
-include $(EPICS_BASE)/config/CONFIG.Host.solaris
# Solaris on x86
ARCH_DEP_CFLAGS = -DSOLARIS -D_X86_
# socket and nsl needed by libca.a
ARCH_DEP_LDLIBS = -lsocket -lnsl
ARCH_DEP_CPPFLAGS += -D_X86_

View File

@@ -0,0 +1,29 @@
# CONFIG.Host.solarisGnu
#
# This file is maintained by the EPICS community.
# Sites may override these definitions in CONFIG_SITE.Host.solarisGnu
ARCH_CLASS = solaris
# Include definitions common to all Unix archs
include $(EPICS_BASE)/config/CONFIG.Host.UnixCommon
AR = ar
_AR = $(AR) $(ARFLAGS)
G++_AR = $(_AR)
CCC_AR = $(CCC) -xar -o
ARCMD = $($(CPLUSPLUS)_AR) $@
RANLIB =
#==========================
# These are overrides of ANSI and CPLUSPLUS values in CONFIG_SITE
ANSI=GCC
CPLUSPLUS=G++
#==========================
SOLARIS_VERSION = $(subst 5.,,$(shell uname -r))
ARCH_DEP_CPPFLAGS += -DSOLARIS=$(SOLARIS_VERSION)
# socket and nsl needed by libca.a
ARCH_DEP_LDLIBS += -lsocket -lnsl

View File

@@ -1,5 +0,0 @@
# $Id$
# win32-x86 is the new name for WIN32
-include $(EPICS_BASE)/config/CONFIG.Host.WIN32

View File

@@ -1,3 +1,12 @@
#*************************************************************************
# 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
@@ -20,7 +29,6 @@ CXX = g++
# the override definitions.
# Tornado directory definitions
VX_CONFIG_DIR_YES =
VX_INCLUDE_YES =
VX_GNU_YES =
VX_GNU_BIN_YES =
@@ -28,14 +36,12 @@ VX_GNU_LIB_YES =
# pre Torando directory definitions
VX_CONFIG_DIR_NO =
VX_INCLUDE_NO =
VX_GNU_NO =
VX_GNU_BIN_NO =
# directory definitions
VX_DIR =
VX_CONFIG_DIR =
VX_INCLUDE =
VX_GNU =

View File

@@ -1,3 +1,12 @@
#*************************************************************************
# 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
@@ -11,25 +20,22 @@ 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
VX_CONFIG_DIR_YES = $(VX_DIR)/target/config
VX_INCLUDE_YES = $(VX_DIR)/target/h
VX_GNU_YES = $(VX_DIR)/host/$(WIND_HOST_TYPE)
VX_GNU_BIN_YES = $(VX_GNU)/bin
VX_GNU_LIB_YES = $(VX_GNU)/lib
# pre Torando directory definitions
VX_CONFIG_DIR_NO = $(VX_DIR)/config
VX_INCLUDE_NO = $(VX_DIR)/h
VX_GNU_BIN_NO = $(VX_GNU)/$(HOST_ARCH).$(ARCH_CLASS)/bin
VX_GNU_LIB_NO = $(VX_GNU)/$(HOST_ARCH).$(ARCH_CLASS)/lib
# directory definitions
VX_DIR = $(VX_DIR_$(TORNADO))
VX_CONFIG_DIR = $(VX_CONFIG_DIR_$(TORNADO))
VX_INCLUDE = $(VX_INCLUDE_$(TORNADO))
VX_GNU = $(VX_GNU_$(TORNADO))
GNU_BIN = $(VX_GNU_BIN_$(TORNADO))
@@ -52,7 +58,8 @@ LD = $(GNU_BIN)/ld$(CMPLR_SUFFIX) -r
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)$(HOSTEXE)
NM = $(GNU_BIN)/nm$(CMPLR_SUFFIX)
MUNCH = $(GNU_BIN)/munch
#--------------------------------------------------
# Pre Tornado C++ crosscompiler definitions
@@ -129,16 +136,3 @@ WARN_CXXFLAGS = $($(CPLUSPLUS)_WARN_$(VX_WARN))
LINK.c = $(LD) $(LDFLAGS) -o
LINK.cc = $(LD_CXX) $(LDFLAGS) -o
#--------------------------------------------------
# Munch definitions
MUNCH_SUFFIX=.munch
MUNCHNAME = $(LIBNAME:%=%$(MUNCH_SUFFIX))
#--------------------------------------------------
# The follow 2 exports prevent gnu cross-compiler
# from finding wrong assembler (as).
export WIND_BASE = $(VX_DIR)
export WIND_HOST_TYPE

View File

@@ -1,16 +0,0 @@
# $Id$
#
# This file is maintained by the EPICS community.
# Vx GNU cross compiler suffix
CMPLR_SUFFIX = 68k
# For Vx directories of form:
# $(VX_DIR)/$(HOST_ARCH).$(ARCH_CLASS)/bin
ARCH_CLASS = 68k
# Architecture specific build flags
ARCH_DEP_CPPFLAGS = -DCPU=MC68060 -DCPU_FAMILY=MC680X0
ARCH_DEP_CFLAGS = -m68040

View File

@@ -13,5 +13,5 @@ ARCH_CLASS = pc486
ARCH_DEP_CPPFLAGS = -DCPU=I80486 -DCPU_FAMILY=I80x86 -D_X86_
ARCH_DEP_CFLAGS = -m486
ARCH_DEP_CXXFLAGS += -x 'c++'
ARCH_DEP_CFLAGS += -fno-defer-pop
ARCH_DEP_CFLAGS += -fno-builtin -fno-defer-pop

View File

@@ -1,17 +0,0 @@
# CONFIG.Vx.pentium
#
# This file is maintained by the EPICS community.
# Vx GNU cross compiler suffix
CMPLR_SUFFIX = 386
# For Vx directories of form:
# $(VX_DIR)/$(HOST_ARCH).$(ARCH_CLASS)/bin
ARCH_CLASS = pcPentium
ARCH_DEP_CPPFLAGS = -DCPU=PENTIUM -D_X86_
ARCH_DEP_CFLAGS = -mpentium
ARCH_DEP_CXXFLAGS += -x 'c++'
ARCH_DEP_CFLAGS += -fno-defer-pop

View File

@@ -13,4 +13,4 @@ ARCH_CLASS = ppc
ARCH_DEP_CPPFLAGS = -DCPU=PPC603 -DTRUE=1
ARCH_DEP_CFLAGS = -mcpu=603 --no-builtin -mstrict-align
# ARCH_DEP_CFLAGS== -fsigned-char #May need for calcPerform.c
# ARCH_DEP_CFLAGS+= -fsigned-char #May need for calcPerform.c

View File

@@ -0,0 +1,16 @@
# $Id$
#
# This file is maintained by the EPICS community.
# Vx GNU cross compiler suffix
CMPLR_SUFFIX = ppc
# For Vx directories of form:
# $(VX_DIR)/$(HOST_ARCH).$(ARCH_CLASS)/bin
ARCH_CLASS = ppc
# Architecture specific build flags
ARCH_DEP_CPPFLAGS = -DCPU=PPC603 -DTRUE=1
ARCH_DEP_CFLAGS = -mcpu=603 --no-builtin -mstrict-align -mlongcall
# ARCH_DEP_CFLAGS+= -fsigned-char #May need for calcPerform.c

View File

@@ -13,5 +13,5 @@ ARCH_CLASS = ppc
ARCH_DEP_CPPFLAGS = -DCPU=PPC604 -D_GNU_TOOL -DTRUE=1
ARCH_DEP_CFLAGS = -mcpu=604 --no-builtin -mstrict-align
# ARCH_DEP_CFLAGS== -fsigned-char #May need for calcPerform.c
# ARCH_DEP_CFLAGS+= -fsigned-char #May need for calcPerform.c

View File

@@ -0,0 +1,17 @@
# $Id$
#
# This file is maintained by the EPICS community.
# Vx GNU cross compiler suffix
CMPLR_SUFFIX = ppc
# For Vx directories of form:
# $(VX_DIR)/$(HOST_ARCH).$(ARCH_CLASS)/bin
ARCH_CLASS = ppc
# Architecture specific build flags
ARCH_DEP_CPPFLAGS = -DCPU=PPC604 -D_GNU_TOOL -DTRUE=1
ARCH_DEP_CFLAGS = -mcpu=604 --no-builtin -mstrict-align -mlongcall
# ARCH_DEP_CFLAGS+= -fsigned-char #May need for calcPerform.c

16
config/CONFIG.Vx.sbs_pc6 Normal file
View File

@@ -0,0 +1,16 @@
# Created by Korobov for SBS PC6
# CONFIG.Vx.sbs_pc6
#
# This file is maintained by the EPICS community.
# Vx GNU cross compiler suffix
CMPLR_SUFFIX = 386
# For Vx directories of form:
# $(VX_DIR)/$(HOST_ARCH).$(ARCH_CLASS)/bin
ARCH_CLASS = sbs_pc6
ARCH_DEP_CPPFLAGS = -DCPU=PENTIUM -DCPU_VARIANT=PENTIUM -D_X86_
ARCH_DEP_CFLAGS = -mpentium
ARCH_DEP_CXXFLAGS += -x 'c++'
ARCH_DEP_CFLAGS += -fno-builtin -fno-defer-pop

View File

@@ -1,21 +0,0 @@
# CONFIG.Vx.simpc
#
# This file is maintained by the EPICS community.
# Vx GNU cross compiler suffix
CMPLR_SUFFIX = simpc
# For Vx directories of form:
# $(VX_DIR)/$(HOST_ARCH).$(ARCH_CLASS)/bin
ARCH_CLASS = simpc
ARCH_DEP_CPPFLAGS = -DCPU=SIMNT -DCPU_FAMILY=SIMNT -D_X86_
ARCH_DEP_CFLAGS = -mpentium
ARCH_DEP_CXXFLAGS += -x 'c++'
ARCH_DEP_CFLAGS += -fno-defer-pop -DRW_MULTI_THREAD -D_REENTRANT -nostdlib
#
# no drivers on the Tornado II simulator
#
DIRS = $(filter-out drv dev devOpt, $(DIRS))

View File

@@ -1,4 +0,0 @@
# $Id$
# vxWorks-486 is the new R3.14 name for pc486
include $(EPICS_BASE)/config/CONFIG.Vx.pc486

View File

@@ -1,4 +0,0 @@
# $Id$
# vxWorks-68040 is the new R3.14 name for mv167
include $(EPICS_BASE)/config/CONFIG.Vx.mv167

View File

@@ -1,4 +0,0 @@
# $Id$
# vxWorks-68040lc is the new R3.14 name for mv162lc
include $(EPICS_BASE)/config/CONFIG.Vx.mv162lc

View File

@@ -1,4 +0,0 @@
# $Id$
# vxWorks-68060 is the new R3.14 name for mv177
include $(EPICS_BASE)/config/CONFIG.Vx.mv177

View File

@@ -1,4 +0,0 @@
# $Id$
# vxWorks-ppc604 is the new R3.14 name for ppc604
include $(EPICS_BASE)/config/CONFIG.Vx.ppc604

View File

@@ -13,5 +13,5 @@ ARCH_CLASS = pc486
ARCH_DEP_CPPFLAGS = -DCPU=I80486 -DCPU_FAMILY=I80x86 -D_X86_
ARCH_DEP_CFLAGS = -m486
ARCH_DEP_CXXFLAGS += -x 'c++'
ARCH_DEP_CFLAGS += -fno-defer-pop
ARCH_DEP_CFLAGS += -fno-builtin -fno-defer-pop

View File

@@ -1,3 +1,12 @@
#*************************************************************************
# 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$
#

View File

@@ -1,3 +1,12 @@
#*************************************************************************
# 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$
#
@@ -8,19 +17,15 @@
#
EPICS_VERSION=3
EPICS_REVISION=14
EPICS_MODIFICATION=0
EPICS_UPDATE_NAME=beta
EPICS_UPDATE_LEVEL=1
EPICS_REVISION=13
EPICS_MODIFICATION=10
EPICS_UPDATE_NAME=
EPICS_UPDATE_LEVEL=0
EPICS_LOCAL_NAME=B
EPICS_LOCAL_VERSION=0
CVS_DATE="\$$Date$$"
CVS_TAG="\$$Name$$"
EPICS_VERSION_STRING="EPICS Version ${EPICS_VERSION}.${EPICS_REVISION}.${EPICS_MODIFICATION}.${EPICS_UPDATE_NAME}${EPICS_UPDATE_LEVEL}.$(EPICS_LOCAL_NAME)$(EPICS_LOCAL_VERSION)"
CVS_DATE="\$$Date$$"
BASE_3_14=YES

View File

@@ -1,3 +1,12 @@
#*************************************************************************
# 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$
#
@@ -60,8 +69,8 @@ INSTALL_LIBRARY = $(INSTALL)
# dbtools from EPICS
# state notation language compiler (removed from base for R3.14)
SNC = $(SEQ)/bin/$(HOST_ARCH)/snc$(EXE)
# state notation language compiler (installed from base/src/sequencer)
SNC = $(EPICS_BASE_HOST_BIN)/snc$(EXE)
ifdef T_A

View File

@@ -1,36 +0,0 @@
#
# $Id$
#
# Convert old HOST_ARCH environment variable
#Syntax:
# ARCH_<host_arch> = <epics_host_arch>
ARCH_solaris = solaris-sparc
ARCH_sun4 = sun4-sparc
ARCH_Linux = linux-x86
ARCH_WIN32 = win32-x86
ARCH_hp700 = hpux-m68k
ARCH_hp700 = osf-alpha
ARCH_Borland = win32-x86-borland
ifndef EPICS_HOST_ARCH
ifdef HOST_ARCH
EPICS_HOST_ARCH = $(firstword $(ARCH_$(HOST_ARCH)) $(HOST_ARCH))
else
EPICS_HOST_ARCH = unsupported
endif
endif
HOST_ARCH := $(EPICS_HOST_ARCH)
# Note:
# The EPICS_HOST_ARCH solaris-sparc-gnu is new for base release R3.14
# so existing R3.13 applications, when HOST_ARCH is set to solaris and
# when built with R3.14, will look for base solaris-sparc directories
# and not solaris-sparc-gnu. If you plan to build R3.13 applications
# against a solaris-sparc-gnu built R3.14 base, you should set
# ANSI=GCC and CPLUSPLUS=G++ in base/config/CONFIG_SITE.Host.solaris
# and change ARCH_solaris=solaris-sparc to ARCH_solaris=solaris-sparc-gnu
# in base/config/CONFIG_COMPAT.

View File

@@ -1,3 +1,12 @@
#*************************************************************************
# 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$
# Author: Andrew Johnson
# Date: 20 April 1995

View File

@@ -2,7 +2,6 @@
#
EXE=.exe
HOSTEXE=.exe
CP =$(PERL) $(EPICS_BASE_HOST_BIN)/cp.pl
MV =$(PERL) $(EPICS_BASE_HOST_BIN)/mv.pl
@@ -15,6 +14,9 @@ ECHO=echo
WIND_HOST_TYPE = x86-win32
# Use std path variables from ms
# Does not work if using cygwin make
# because HOME is always defined
ifndef HOME
HOME = $(HOMEDRIVE)$(HOMEPATH)
endif

View File

@@ -5,5 +5,5 @@
# Include definitions common to all Unix archs
include $(EPICS_BASE)/config/CONFIG_HOST_ARCH.UnixCommon
WIND_HOST_TYPE = i386-linux2
WIND_HOST_TYPE = x86-linux

View File

@@ -2,7 +2,6 @@
#
EXE=.exe
HOSTEXE=.exe
CP =$(PERL) $(EPICS_BASE_HOST_BIN)/cp.pl
MV =$(PERL) $(EPICS_BASE_HOST_BIN)/mv.pl
@@ -14,6 +13,9 @@ ECHO=echo
WIND_HOST_TYPE = x86-win32
# Use std path variables from ms
# Does not work if using cygwin make
# because HOME is always defined
ifndef HOME
HOME = $(HOMEDRIVE)$(HOMEPATH)
endif

View File

@@ -6,7 +6,6 @@
-include $(EPICS_BASE)/config/CONFIG_HOST_ARCH.UnixCommon
EXE=.exe
HOSTEXE=.exe
TORNADO=YES

View File

@@ -1,4 +0,0 @@
# $Id$
# linux-x86 is the new name for linux
-include $(EPICS_BASE)/config/CONFIG_HOST_ARCH.Linux

View File

@@ -1,4 +0,0 @@
# $Id$
# solaris-sparc is the new name for solaris
-include $(EPICS_BASE)/config/CONFIG_HOST_ARCH.solaris

View File

@@ -1,4 +0,0 @@
# $Id$
-include $(EPICS_BASE)/config/CONFIG_HOST_ARCH.solaris

View File

@@ -1,9 +1,9 @@
# CONFIG_HOST_ARCH.LynxOS
# CONFIG_HOST_ARCH.solarisGnu
#
# Override values in CONFIG.LynxOS
# Override values in CONFIG.Vx
# Include definitions common to all Unix archs
include $(EPICS_BASE)/config/CONFIG_HOST_ARCH.UnixCommon
WIND_HOST_TYPE = LynxOS
WIND_HOST_TYPE = sun4-solaris2

View File

@@ -1,4 +0,0 @@
# $Id$
# win32-x86 is the new name for WIN32
-include $(EPICS_BASE)/config/CONFIG_HOST_ARCH.WIN32

View File

@@ -21,6 +21,7 @@
# hp700
# sgi
# solaris
# solarisGnu (GNU compiler)
# solaris-x86
# sun4
#
@@ -46,10 +47,14 @@ endif
# mv2700
# niCpu030
# pc486
# ppc603
# ppc604
# ppc603_long (over 32MB)
# ppc604_long (over 32MB)
# sbs_pc6
# vxipc
#
CROSS_COMPILER_TARGET_ARCHS=vxWorks-68040 vxWorks-ppc604
CROSS_COMPILER_TARGET_ARCHS=
# If only a subset of the host architectures perform
@@ -65,8 +70,8 @@ TORNADO=YES
# VxWorks directory for TORNADO=YES
#VX_DIR_YES=c:\\Tornado
#VX_DIR_YES = /usr/local/vw/tornado101
VX_DIR_YES = /usr/local/vw/tornado202
VX_DIR_YES = /usr/local/vw/tornado202p1
# VxWorks directory for TORNADO=NO
#VX_DIR_NO=$(VW)
@@ -164,4 +169,3 @@ E2DB_FLAGS =
#dbst
DBST = $(EPICS_EXTENSIONS)/bin/$(HOST_ARCH)/dbst
include $(EPICS_BASE)/config/CONFIG_COMPAT

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

@@ -8,7 +8,7 @@
SHARED_LIBRARIES=YES
# where we expect to find shared libraries if not found elsewhere
# DEFAULT_SHRLIB_SEARCH_PATH = /home/controls/epics/cdev/lib/hpux-10.20:/home/controls/epics/cdev/lib/hpux-10.XX:/opt/TclTk/lib:/opt/xpm/lib/X11:/usr/lib/pa1.1:/usr/lib:/lib:/opt/csr/installed/HP-UX/lib::/opt/OPI/GUI/lib/hp700:/opt/OPI/MapperApplications/lib/hp700:/opt/OPI/cdevAppl/lib/hp700:/opt/OPI/cmlog/lib/hp700:/opt/OPI/models/lib/hp700:/opt/OPI/sddsAppl/lib/hp700
#DEFAULT_SHRLIB_SEARCH_PATH = /opt/epics/R$(EPICS_VERSION).$(EPICS_REVISION).$(EPICS_MODIFICATION)/support/base/$(EPICS_VERSION)-$(EPICS_REVISION)-$(EPICS_MODIFICATION)/lib/hp700
DEFAULT_SHRLIB_SEARCH_PATH = /cs/lib/R$(EPICS_VERSION).$(EPICS_REVISION).$(EPICS_MODIFICATION).$(EPICS_UPDATE_NAME)$(EPICS_UPDATE_LEVEL):$(INSTALL_LIB)
#No special action should be required to build or use shared libraries.

View File

@@ -1,6 +0,0 @@
# $Id$
# linux-x86 is the new name for linux
-include $(EPICS_BASE)/config/CONFIG_SITE.Host.Linux
SHARED_LIBRARY=YES

View File

@@ -6,6 +6,6 @@
# APS overrides of definitions
GCC = /opt/gnu/bin/gcc
G++ = /opt/gnu/bin/g++
#GCC = /opt/gnu/bin/gcc
#G++ = /opt/gnu/bin/g++

View File

@@ -1,4 +0,0 @@
# $Id$
# solaris-sparc is the new name for solaris
-include $(EPICS_BASE)/config/CONFIG_SITE.Host.solaris

View File

@@ -1,4 +0,0 @@
# $Id$
# solaris-sparc is the new name for solaris
-include $(EPICS_BASE)/config/CONFIG_SITE.Host.solaris

View File

@@ -1,5 +0,0 @@
# $Id$
# win32-x86 is the new name for WIN32
-include $(EPICS_BASE)/config/CONFIG_SITE.Host.WIN32

View File

@@ -7,4 +7,22 @@
# combinations by creating a CONFIG_SITE.Vx.Linux.<T_A>
# file with the override definitions.
## ---- jba overrides for cross compiler
## VX_DIR needed for "export WIND_BASE = $(VX_DIR)"
#VX_DIR_YES = /home/phoebus/JBA/gnu
#VX_GNU_YES = $(VX_DIR)
#VX_INCLUDE_YES = $(VX_GNU)/$(GNU_TARGET)/include
#
#CMPLR_PREFIX= $(GNU_TARGET)-
#CMPLR_SUFFIX=
#GCC = $(GNU_BIN)/$(CMPLR_PREFIX)gcc$(CMPLR_SUFFIX) -B$(GNU_LIB)/gcc-lib/ -nostdinc
#AR = $(GNU_BIN)/$(CMPLR_PREFIX)ar$(CMPLR_SUFFIX)
#CPP = $(GNU_BIN)/$(CMPLR_PREFIX)gcc$(CMPLR_SUFFIX) -B$(GNU_LIB)/gcc-lib/ -nostdinc -x c -E
#RANLIB = $(GNU_BIN)/$(CMPLR_PREFIX)ranlib$(CMPLR_SUFFIX)
#LD = $(GNU_BIN)/$(CMPLR_PREFIX)ld$(CMPLR_SUFFIX) -r
#G++ = $(GNU_BIN)/$(CMPLR_PREFIX)g++$(CMPLR_SUFFIX) -B$(GNU_LIB)/gcc-lib/ -nostdinc
#LD_G++ = $(GNU_BIN)/$(CMPLR_PREFIX)ld$(CMPLR_SUFFIX) -r
#NM = $(GNU_BIN)/$(CMPLR_PREFIX)nm$(CMPLR_SUFFIX)
## ---- end jba overrides
-include $(EPICS_BASE)/config/CONFIG_SITE.$(BUILD_TYPE).$(HOST_ARCH).$(T_A)

View File

@@ -2,9 +2,12 @@
#
# This file contains overrides for Vx builds
## ---- jba overrides for cross compiler
#GNU_TARGET=m68k-wrs-vxworks
## ---- end jba overrides
# ORNL SNS overrides for cross compilers
#VX_DIR_YES = /opt/tornado20/
#VX_CONFIG_DIR_YES = $(VX_DIR)/target/config
#VX_INCLUDE_YES = /usr/local/crossgcc/m68k/m68k-wrs-vxworks/sys-include
#VX_GNU_YES = /usr/local/crossgcc/m68k/
#VX_GNU_BIN_YES = $(VX_GNU)/bin

View File

@@ -4,7 +4,6 @@
# ORNL SNS overrides for cross compilers
#VX_DIR_YES = /opt/tornado20/
#VX_CONFIG_DIR_YES = $(VX_DIR)/target/config
#VX_INCLUDE_YES = /usr/local/crossgcc/ppc/powerpc-wrs-vxworks/sys-include
#VX_GNU_YES = /usr/local/crossgcc/ppc/
#VX_GNU_BIN_YES = $(VX_GNU)/bin

View File

@@ -1,18 +1,19 @@
#*************************************************************************
# 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$
#
TOP=..
include $(TOP)/configure/CONFIG
include $(TOP)/config/CONFIG_BASE
INSTALL_CONFIG = $(INSTALL_LOCATION)/config
CONFIGS += $(subst ../,,$(wildcard ../CONFIG*))
CONFIGS += $(subst ../,,$(wildcard ../RULES*))
SCRIPTS_HOST += $(wildcard ../tools/*.pl)
SCRIPTS_HOST += ../tools/installEpics
include $(TOP)/configure/RULES
include $(TOP)/config/RULES_ARCHS

43
config/Makefile.Host Normal file
View File

@@ -0,0 +1,43 @@
#*************************************************************************
# 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$
#
TOP = ../..
include $(TOP)/config/CONFIG_BASE
CONFIGS += CONFIG
CONFIGS += CONFIG_BASE
CONFIGS += CONFIG_BASE_VERSION
CONFIGS += CONFIG_COMMON
CONFIGS += CONFIG_ENV
CONFIGS += CONFIG.Host.$(HOST_ARCH)
CONFIGS += CONFIG_HOST_ARCH.$(HOST_ARCH)
CONFIGS += CONFIG.Host.UnixCommon
CONFIGS += CONFIG_HOST_ARCH.UnixCommon
CONFIGS += CONFIG.Vx
CONFIGS += $(CROSS_COMPILER_TARGET_ARCHS:%=CONFIG.Vx.%)
CONFIGS += CONFIG_SITE
CONFIGS += CONFIG_SITE_ENV
CONFIGS += $(subst ../,,$(wildcard ../CONFIG_SITE*))
CONFIGS += RULES.Host
CONFIGS += RULES.Unix
CONFIGS += RULES.Vx
CONFIGS += RULES_ARCHS
CONFIGS += RULES_DIRS
CONFIGS += RULES_TOP
include $(TOP)/config/RULES.Host

View File

@@ -1,3 +1,12 @@
#*************************************************************************
# 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$
#
# Rules for making things specified in Makefile.Host
@@ -31,6 +40,7 @@ vpath %.c $(USER_VPATH) ../os/$(ARCH_CLASS) ../os/generic ..
vpath %.cc $(USER_VPATH) ../os/$(ARCH_CLASS) ../os/generic ..
vpath %.cpp $(USER_VPATH) ../os/$(ARCH_CLASS) ../os/generic ..
vpath %.rc $(USER_VPATH) ../os/$(ARCH_CLASS) ../os/generic ..
vpath %.jar $(USER_VPATH) ..
# check for add-on CFLAGS and CXXFLAGS
#
@@ -225,7 +235,7 @@ endif
# (convenience for extensions and applications)
ifneq ($(EPICS_BASE),$(TOP))
ifneq ($(EPICS_BASE),$(INSTALL_LOCATION))
EPICS_INCLUDES += -I$(EPICS_BASE_INCLUDE) -I$(EPICS_BASE_INCLUDE)/os/$(OS_CLASS)
EPICS_INCLUDES += -I$(EPICS_BASE_INCLUDE)/os/$(OS_CLASS) -I$(EPICS_BASE_INCLUDE)
EPICS_DBDFLAGS += -I $(EPICS_BASE)/dbd
endif
endif
@@ -354,7 +364,7 @@ buildInstall :: build $(TARGETS) \
clean::
@echo "Cleaning"
@$(RM) *.i *$(OBJ) *.a $(PROD) $(TESTPROD) $(LIBNAME) $(SHRLIBNAME) $(INC) \
*$(RES) $(TARGETS) $(DBDINSTALL) $(MENUS) $(RECTYPES) $(BPTS)
*$(RES) $(TARGETS) *.dbd $(MENUS) $(RECTYPES) $(BPTS)
ifdef DBDEXPAND
@$(RM) $(DBDNAME)
endif
@@ -379,6 +389,14 @@ PRODNAME_SRCS += $(PRODNAME_SRCS_DEFAULT)
endif
endif
ifneq ($(strip $(PRODNAME_OBJS_$(ARCH_CLASS))),)
PRODNAME_OBJS += $(subst -nil-,,$(PRODNAME_OBJS_$(ARCH_CLASS)))
else
ifdef PRODNAME_OBJS_DEFAULT
PRODNAME_OBJS += $(PRODNAME_OBJS_DEFAULT)
endif
endif
ifneq ($(strip $(PRODNAME_RCS_$(ARCH_CLASS))),)
PRODNAME_RCS += $(subst -nil-,,$(PRODNAME_RCS_$(ARCH_CLASS)))
else
@@ -397,10 +415,10 @@ else
PRODNAME_LINKER = $(LINK.c)
endif
PRODNAME_OBJS=$(addsuffix $(OBJ), $(basename $(PRODNAME_SRCS)))
PRODNAME_RESS=$(addsuffix $(RES), $(basename $(PRODNAME_RCS)))
PRODNAME_OBJS+=$(addsuffix $(OBJ), $(basename $(PRODNAME_SRCS)))
PRODNAME_RESS+=$(addsuffix $(RES), $(basename $(PRODNAME_RCS)))
ifeq ($(HOST_ARCH),Borland)
ifdef BORLANDC
$(PRODNAME): $(PRODNAME_OBJS) $(PRODNAME_RESS)
@$(RM) $@
$(PRODNAME_LINKER) $(PRODNAME_OBJS) , $@ ,,$(LINKLIBS) $(subst /,\\,$(LDLIBS)),, $(PRODNAME_RESS)
@@ -445,10 +463,12 @@ endif #ifdef PROD
# Java classes and packages
#
ifdef JAVA
DIRECTORY_TARGETS += $(INSTALL_JAVA)
ifdef PACKAGE
DIRECTORY_TARGETS += $(INSTALL_JAVA)/$(PACKAGE)
endif
endif
vpath %.class $(INSTALL_JAVA)/$(PACKAGE)
@@ -457,32 +477,47 @@ TESTCLASSES += $(subst .java,.class,$(TESTJAVA))
INSTALL_CLASSES =$(CLASSES:%=$(INSTALL_JAVA)/$(PACKAGE)/%)
INSTALL_JAR =$(JAR:%=$(INSTALL_JAVA)/%)
ifeq ($(strip $(JAVADOC)),YES)
DIRECTORY_TARGETS += $(INSTALL_HTML)
INSTALL_JAVADOC = $(CLASSES:%.class=$(INSTALL_HTML)/%.html)
ifdef PACKAGE
DIRECTORY_TARGETS += $(INSTALL_HTML)/$(PACKAGE)
INSTALL_JAVADOC = $(CLASSES:%.class=$(INSTALL_HTML)/$(PACKAGE)/$(PACKAGE)/%.html)
endif
endif
JAR_OPTIONS = cvf
ifdef MANIFEST
JAR_OPTIONS = cvmf
endif
JAR_DEPFILES += $(wildcard $(JAR_INPUT) $(addsuffix /*,$(JAR_INPUT)))
#JAR_DEPFILES += $(wildcard $(JAR_INPUT) $(addsuffix /*,$(JAR_INPUT)))
JAR_DEPFILES += $(JAR_INPUT)
$(DIRECTORY_TARGETS) :
$(MKDIR) $@
build:: $(TESTCLASSES) $(JAR)
buildInstall :: $(DIRECTORY_TARGETS) $(INSTALL_CLASSES) $(INSTALL_JAR)
buildInstall :: $(DIRECTORY_TARGETS) $(INSTALL_CLASSES) $(INSTALL_JAR) $(INSTALL_JAVADOC)
clean::
@$(RM) $(TESTCLASSES) $(JAR)
@$(RM) $(TESTCLASSES) $(JAR) $(INSTALL_CLASSES) $(INSTALL_JAVADOC)
%.class:%.java
@echo Creating java class file $@
$(RM) $@
$(JAVACCMD) $<
$(INSTALL_JAVA)/$(PACKAGE)/%.class:%.java
$(INSTALL_JAVA)/$(PACKAGE)/%.class:%.java
@echo Creating java class file $@
@$(RM) $@
$(JAVACCMD) -d $(INSTALL_JAVA) $<
$(INSTALL_JAVADOC):$(JAVA)
@echo Creating javadoc html files $@
@$(RM) $@
$(JAVADOCCMD) -d $(INSTALL_HTML)/$(PACKAGE) $(PACKAGE)
$(JAR):%.jar: $(JAR_DEPFILES)
@echo Creating java jar file $@
@$(RM) $@
@@ -490,12 +525,12 @@ $(JAR):%.jar: $(JAR_DEPFILES)
$(INSTALL_JAVA)/%.jar: %.jar
@echo "Installing jar file $@"
$(INSTALL) -d -m 644 $< $(@D)
@$(INSTALL) -d -m 644 $< $(@D)
$(PACKAGE)_%.h:$(INSTALL_JAVA)/$(PACKAGE)/%.class
$(JAVAHCMD) $(PACKAGE).$*
.PRECIOUS: $(INSTALL_CLASSES)
.PRECIOUS: $(INSTALL_CLASSES) $(INSTALL_JAVADOC)
#---------------------------------------------------------------
#---------------------------------------------------------------
@@ -519,7 +554,7 @@ ifneq ($(strip $(LIBSRCS) $(SRCS) $(COND_PROD_SRCS) $(SRCS.c) $(SRCS.cc)),)
$(DEPENDS_RULE)
endif
ifeq ($(HOST_ARCH),Borland)
ifdef BORLANDC
%$(EXE): %.c
@$(RM) $@
$(COMPILE.c) $<
@@ -615,8 +650,8 @@ endif
@$(RM) $@
$(SNC) $(TARGET_SNCFLAGS) $(SNCFLAGS) $*.i
%.c: %.stt
@echo "converting $<
%.c: ../%.stt
@echo "converting $<"
ln -s $< $*.st
$(SNC) $(TARGET_SNCFLAGS) $(SNCFLAGS) $*.st
@$(RM) $*.st
@@ -656,29 +691,29 @@ $(INSTALL_DBD)/%: ../%
%Record.h: %Record.dbd
$(RM) $@
$(EPICS_BASE)/bin/$(HOST_ARCH)/dbToRecordtypeH$(EXE) \
$(EPICS_BASE_HOST_BIN)/dbToRecordtypeH$(EXE) \
$(DBDFLAGS) $<
%Record.h: ../%Record.dbd
$(RM) $@
$(EPICS_BASE)/bin/$(HOST_ARCH)/dbToRecordtypeH$(EXE) \
$(EPICS_BASE_HOST_BIN)/dbToRecordtypeH$(EXE) \
$(DBDFLAGS) $<
menu%.h: menu%.dbd
$(RM) $@
$(EPICS_BASE)/bin/$(HOST_ARCH)/dbToMenuH$(EXE) $<
$(EPICS_BASE_HOST_BIN)/dbToMenuH$(EXE) $<
menu%.h: ../menu%.dbd
$(RM) $@
$(EPICS_BASE)/bin/$(HOST_ARCH)/dbToMenuH$(EXE) $<
$(EPICS_BASE_HOST_BIN)/dbToMenuH$(EXE) $<
bpt%.dbd: bpt%.data
$(RM) $@
$(EPICS_BASE)/bin/$(HOST_ARCH)/makeBpt$(EXE) $<
$(EPICS_BASE_HOST_BIN)/makeBpt$(EXE) $<
bpt%.dbd: ../bpt%.data
$(RM) $@
$(EPICS_BASE)/bin/$(HOST_ARCH)/makeBpt$(EXE) $<
$(EPICS_BASE_HOST_BIN)/makeBpt$(EXE) $<
# Patch for old applications
ifdef USER_DBDFLAGS
@@ -688,15 +723,16 @@ endif
ifdef DBDEXPAND
$(DBDNAME): ../$(DBDEXPAND)
@echo Expanding dbd
@$(RM) $@
$(EPICS_BASE)/bin/$(HOST_ARCH)/dbExpand$(EXE) $(DBDFLAGS) $< > $@
@$(RM) $@ $@-new
$(EPICS_BASE_HOST_BIN)/dbExpand$(EXE) $(DBDFLAGS) $< > $@-new
@$(MV) $@-new $@
ifneq (,$(wildcard ../base.dbd))
$(DBDNAME): ../base.dbd
endif
endif
ifeq ($(HOST_ARCH),Borland)
ifdef BORLANDC
$(DLL_LINK_LIBNAME) $(SHRLIBNAME): $(LIBOBJS) $(LIBNAME_RESS)
$(LINK.shrlib) $(LIBOBJS) , $@ ,,$(LINKLIBS) $(subst /,\\,$(DLL_LDLIBS)), $(DLL_DEF_FLAG), $(LIBNAME_RESS)
@@ -705,7 +741,7 @@ $(DLL_LINK_LIBNAME) $(SHRLIBNAME): $(LIBOBJS) $(LIBNAME_RESS)
$(LINK.shrlib) $(LIBOBJS) $(DLL_LDLIBS) $(LIBNAME_RESS)
endif
ifeq ($(HOST_ARCH),Borland)
ifdef BORLANDC
# rule for lib (archive of object files) creation
$(LIBNAME): $(LIBOBJS)
$(RM) $@
@@ -747,10 +783,10 @@ $(INSTALL_LIB)/%.lib: %.lib
$(INSTALL_SHRLIB)/lib%: lib%
@echo "Installing library $@"
@$(INSTALL) -d -m 555 $< $(INSTALL_SHRLIB)
@$(INSTALL_LIBRARY) -d -m 555 $< $(INSTALL_SHRLIB)
ifdef SHRLIB_VERSION
@$(RM) $(@:%.$(SHRLIB_VERSION)=%)
ln -s $< $(@:%.$(SHRLIB_VERSION)=%)
$(RM) $(subst .$(SHRLIB_VERSION),,$@)
ln -s $< $(subst .$(SHRLIB_VERSION),,$@)
endif # SHRLIB_VERSION
$(INSTALL_TCLLIB)/%: %

View File

@@ -1,3 +1,12 @@
#*************************************************************************
# 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$
INCREC +=$(RECTYPES) $(MENUS)
@@ -139,8 +148,8 @@ $(TARGETS) $(PROD): $(DEPLIBS)
@$(RM) $@
$(SNC) $(TARGET_SNCFLAGS) $(SNCFLAGS) $*.i
%.c: %.stt
@echo "converting $<
%.c: ../%.stt
@echo "converting $<"
@$(RM) $@
$(SNC) $(TARGET_SNCFLAGS) $(SNCFLAGS) $<
@@ -179,29 +188,29 @@ $(INSTALL_DBD)/%: ../%
%Record.h: %Record.dbd
$(RM) $@
$(EPICS_BASE)/bin/$(HOST_ARCH)/dbToRecordtypeH \
$(EPICS_BASE_HOST_BIN)/dbToRecordtypeH \
$(DBDFLAGS) $<
%Record.h: ../%Record.dbd
$(RM) $@
$(EPICS_BASE)/bin/$(HOST_ARCH)/dbToRecordtypeH \
$(EPICS_BASE_HOST_BIN)/dbToRecordtypeH \
$(DBDFLAGS) $<
menu%.h: menu%.dbd
$(RM) $@
$(EPICS_BASE)/bin/$(HOST_ARCH)/dbToMenuH $<
$(EPICS_BASE_HOST_BIN)/dbToMenuH $<
menu%.h: ../menu%.dbd
$(RM) $@
$(EPICS_BASE)/bin/$(HOST_ARCH)/dbToMenuH $<
$(EPICS_BASE_HOST_BIN)/dbToMenuH $<
bpt%.dbd: bpt%.data
$(RM) $@
$(EPICS_BASE)/bin/$(HOST_ARCH)/makeBpt $<
$(EPICS_BASE_HOST_BIN)/makeBpt $<
bpt%.dbd: ../bpt%.data
$(RM) $@
$(EPICS_BASE)/bin/$(HOST_ARCH)/makeBpt $<
$(EPICS_BASE_HOST_BIN)/makeBpt $<
# Patch for old applications
ifdef USER_DBDFLAGS
@@ -211,8 +220,9 @@ endif
ifdef DBDEXPAND
$(DBDNAME): ../$(DBDEXPAND)
@echo expanding dbd
@$(RM) $@
$(EPICS_BASE)/bin/$(HOST_ARCH)/dbExpand $(DBDFLAGS) $< > $@
@$(RM) $@ $@-new
$(EPICS_BASE_HOST_BIN)/dbExpand $(DBDFLAGS) $< > $@-new
@$(MV) $@-new $@
ifneq (,$(wildcard ../base.dbd))
$(DBDNAME): ../base.dbd

View File

@@ -1,3 +1,12 @@
#*************************************************************************
# 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$
ifneq ($(strip $(LIBOBJS_$(ARCH_CLASS))),)
@@ -11,7 +20,6 @@ endif
INCREC +=$(RECTYPES) $(MENUS)
INSTALL_PROD = $(PROD:%= $(INSTALL_BIN)/%)
INSTALL_LIBS = $(LIBNAME:%= $(INSTALL_BIN)/%)
INSTALL_MUNCHES = $(MUNCHNAME:%= $(INSTALL_BIN)/%)
INSTALL_LIBS_CXX = $(LIBNAME_CXX:%= $(INSTALL_BIN)/%)
INSTALL_INC = $(INC:%= $(INSTALL_INCLUDE)/%)
INSTALL_OSINCLUDE = $(INSTALL_INCLUDE)/os/vxWorks
@@ -53,7 +61,7 @@ rebuild:: clean install
pre_build::
build:: pre_build $(MENUS) $(RECTYPES) $(BPTS)\
$(LIBNAME) $(LIBNAME_CXX) $(MUNCHNAME) $(TARGETS) $(PROD)
$(LIBNAME) $(LIBNAME_CXX) $(TARGETS) $(PROD)
ifdef DBDEXPAND
build:: $(DBDNAME)
endif
@@ -63,7 +71,7 @@ inc:: $(INSTALL_INC) $(INSTALL_OSINC)
install:: buildInstall
buildInstall :: build $(INSTALL_INCREC)\
$(INSTALL_LIBS) $(INSTALL_LIBS_CXX) $(INSTALL_MUNCHES) \
$(INSTALL_LIBS) $(INSTALL_LIBS_CXX) \
$(TARGETS) $(INSTALL_PROD) \
$(INSTALL_MANS) $(INSTALL_DOCS) \
$(INSTALL_HTMLS) \
@@ -84,10 +92,7 @@ endif
clean::
@echo "Cleaning"
@$(RM) *.i *.o *.a *.out $(TARGETS) $(PROD) $(LIBNAME) $(INC) \
$(DBDINSTALL) $(MENUS) $(RECTYPES) $(BPTS) $(DBDNAME)
ifdef MUNCH
@$(RM) $(MUNCHNAME) ctdt.c ctdt.o nm.out
endif
$(DBDINSTALL) $(MENUS) $(RECTYPES) $(BPTS) $(DBDNAME) *.c
# The order of the following dependencies is
# VERY IMPORTANT !!!!
@@ -118,19 +123,11 @@ endif
# C++ munching
%.out : %.o
@ $(RM) ctct.o ctdt.c nm.out
$(NM) $< > nm.out
$(PERL) $(EPICS_BASE)/bin/$(HOST_ARCH)/munch.pl < nm.out > ctdt.c
@ $(RM) ctct.o ctdt.c
$(NM) $< | $(MUNCH) > ctdt.c
$(COMPILE.c) -traditional ctdt.c
$(LINK.cc) $@ $< ctdt.o
# C++ munching for VxWorks
$(MUNCHNAME):%.munch : %
@ $(RM) ctct.o ctdt.c nm.out
$(NM) $< > nm.out
$(PERL) $(EPICS_BASE)/bin/$(HOST_ARCH)/munch.pl < nm.out > ctdt.c
$(COMPILE.c) -traditional ctdt.c
$(LINK.cc) $@ $(LDFLAGS) $< ctdt.o
$(LINK.c) $@ $< ctdt.o
@ $(RM) ctdt.c ctdt.o
#
# rename the y.tab.h file only if we
@@ -162,8 +159,8 @@ endif
@$(RM) $@
$(SNC) $(TARGET_SNCFLAGS) $(SNCFLAGS) $*.i
%.c: %.stt
@echo "converting $<
%.c: ../%.stt
@echo "converting $<"
ln -s $< $*.st
$(SNC) $(TARGET_SNCFLAGS) $(SNCFLAGS) $*.st
@$(RM) $*.st
@@ -206,29 +203,29 @@ $(INSTALL_DBD)/%: ../%
%Record.h: %Record.dbd
$(RM) $@
$(EPICS_BASE)/bin/$(HOST_ARCH)/dbToRecordtypeH$(EXE) \
$(EPICS_BASE_HOST_BIN)/dbToRecordtypeH$(EXE) \
$(DBDFLAGS) $<
%Record.h: ../%Record.dbd
$(RM) $@
$(EPICS_BASE)/bin/$(HOST_ARCH)/dbToRecordtypeH$(EXE) \
$(EPICS_BASE_HOST_BIN)/dbToRecordtypeH$(EXE) \
$(DBDFLAGS) $<
menu%.h: menu%.dbd
$(RM) $@
$(EPICS_BASE)/bin/$(HOST_ARCH)/dbToMenuH$(EXE) $<
$(EPICS_BASE_HOST_BIN)/dbToMenuH$(EXE) $<
menu%.h: ../menu%.dbd
$(RM) $@
$(EPICS_BASE)/bin/$(HOST_ARCH)/dbToMenuH$(EXE) $<
$(EPICS_BASE_HOST_BIN)/dbToMenuH$(EXE) $<
bpt%.dbd: bpt%.data
$(RM) $@
$(EPICS_BASE)/bin/$(HOST_ARCH)/makeBpt$(EXE) $<
$(EPICS_BASE_HOST_BIN)/makeBpt$(EXE) $<
bpt%.dbd: ../bpt%.data
$(RM) $@
$(EPICS_BASE)/bin/$(HOST_ARCH)/makeBpt$(EXE) $<
$(EPICS_BASE_HOST_BIN)/makeBpt$(EXE) $<
# Patch for old applications
ifdef USER_DBDFLAGS
@@ -238,8 +235,9 @@ endif
ifdef DBDEXPAND
$(DBDNAME): ../$(DBDEXPAND)
@echo Expanding dbd
@$(RM) $@
$(EPICS_BASE)/bin/$(HOST_ARCH)/dbExpand$(EXE) $(DBDFLAGS) $< > $@
@$(RM) $@ $@-new
$(EPICS_BASE_HOST_BIN)/dbExpand$(EXE) $(DBDFLAGS) $< > $@-new
@$(MV) $@-new $@
endif
$(LIBNAME): $(LIBOBJS)

View File

@@ -1,3 +1,12 @@
#*************************************************************************
# 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$
#
@@ -13,7 +22,6 @@ ACTIONS += install
ACTIONS += buildInstall
ACTIONS += depends
ACTIONS += rebuild
ACTIONS += browse
actionPart = $(word 1, $(subst $(DIVIDER), ,$@))
archPart = $(word 2, $(subst $(DIVIDER), ,$@))

View File

@@ -1,3 +1,12 @@
#*************************************************************************
# 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$
#

View File

@@ -1,3 +1,12 @@
#*************************************************************************
# 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$
#

View File

@@ -1,3 +1,12 @@
#*************************************************************************
# 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.
#*************************************************************************
# Makefile.Host for base/src/sample
#
#

View File

@@ -1,41 +0,0 @@
#!/usr/bin/perl
#
# UNIX-cp in Perl
use File::Copy;
use File::Basename;
sub Usage
{
my ($txt) = @_;
print "Usage:\n";
print "\tcp file1 file2\n";
print "\tcp file [ file2 file3 ...] directory\n";
print "\nError: $txt\n" if $txt;
exit 2;
}
# need at least two args: ARGV[0] and ARGV[1]
Usage("need more args") if $#ARGV < 1;
$target=$ARGV[$#ARGV];
@sources=@ARGV[0..$#ARGV-1];
if (-d $target)
{
foreach $file ( @sources )
{
$base=basename($file);
copy ($file, "$target/$base");
}
}
else
{
Usage("Cannot copy more than one source into a single target")
if ($#sources != 0);
copy ($sources[0], $target);
}
# EOF cp.pl

View File

@@ -1,13 +0,0 @@
#!/usr/bin/perl
use Cwd;
$dir=cwd();
# make sure $dir ends with '/'
#
$dir="$dir/" unless ($dir =~ m'/$');
if ($dir =~ m'(.*(/|\\)base)(/|\\)')
{
print "$1";
}

View File

@@ -1,109 +0,0 @@
#!/usr/bin/perl
#
# InstallEpics.pl
#
# InstallEpics is used within makefiles to copy new versions of
# files into a destination directory.
# Based on installEpics shell script.
#
# 2-4-97 -kuk-
#
##########################################################
use Getopt::Std;
use File::Path;
use File::Copy;
$tool=$0;
$tool=~ s'.*[/\\].+''; # basename
$mode=0755;
# get command line options
getopt "m";
$mode = oct ($opt_m) if ($opt_m);
# Complain about obsolete options:
Usage("unknown option given") if ($opt_g or $opt_o or $opt_c or $opt_s);
$num_files = $#ARGV;
# at least two args required
Usage ("Nothing to install") if ($num_files < 1);
# split args in file1 ... fileN target_dir:
@files=@ARGV[0..$num_files-1];
$install_dir=$ARGV[$num_files];
$install_dir =~ s[\\][/]g; # maybe fix DOS-style path
$install_dir =~ s[/$][]; # remove trailing '/'
$install_dir =~ s[//][/]g; # replace '//' by '/'
# Do we have to create the directory?
unless ( (-d $install_dir) || (-l $install_dir) )
{
# Create dir only if -d option given
Usage ("$install_dir does not exist") unless ($opt_d);
# Create all the subdirs that lead to $install_dir
mkpath ($install_dir, 1, 0777);
}
foreach $source ( @files )
{
Usage ("Can't find file '$source'") unless -f $source;
$basename=$source;
$basename=~s'.*[/\\]'';
$target = "$install_dir/$basename";
# The Win32 filesystem seems to be 'slow',
# i.e. $target may look like 'up to date'
# unless you wait an hour.
# -> skip this test on WIN32 ?
#if (-f $target and $^O ne "MSWin32")
if (-f $target)
{
if (-M $target < -M $source and
-C $target < -C $source)
{
print "$target is up to date\n";
next;
}
else
{
# remove old target, make sure it is deletable:
chmod 0777, $target;
unlink $target;
}
}
# print "Installing $source into $install_dir\n";
copy ($source, $target) or die "Copy failed";
# chmod 0555 <read-only> DOES work on WIN32, but:
# Another chmod 0777 to make it write- and deletable
# will then fail.
# -> you have to use Win32::SetFileAttributes
# to get rid of those files from within Perl.
# Because the chmod is not really needed on WIN32,
# just skip it!
chmod $mode, $target unless ($^O eq "MSWin32");
}
sub Usage
{
my ($txt) = @_;
print "Usage:\n";
print "\t$tool [ -m mode ] file ... directory\n";
print "\n";
print "\t-d Create non-exising directories\n";
print "\t-m mode Set the mode for the installed file";
print " (0755 by default)\n";
print "\tfile Name of file\n";
print "\tdirectory Destination directory\n";
print "$txt\n" if $txt;
exit 2;
}
# EOF installEpics.pl

View File

@@ -1,31 +0,0 @@
#!/usr/bin/perl
#
# makeMakefile.pl
#
# called from RULES_ARCHS
#
#
# Usage: perl makeMakefile.pl O.*-dir Makefile-Type
$dir = $ARGV[0];
$type= $ARGV[1];
$makefile="$dir/Makefile";
if ($dir =~ m'O.(.+)')
{
$t_a = $1;
}
else
{
die "Cannot extract T_A from $dir";
}
mkdir ($dir, 0777) unless -d $dir;
open OUT, "> $makefile" or die "Cannot create $makefile";
print OUT "T_A=$t_a\n";
print OUT "BUILD_TYPE=$type\n";
print OUT "include ../Makefile.$type\n";
close OUT;
# EOF makeMakefile.pl

View File

@@ -1,23 +0,0 @@
#!/usr/bin/perl
#
# UNIX-mkdir in Perl
#
# -p option generates full path to given dir
use File::Path;
use Getopt::Std;
getopt "";
foreach $dir ( @ARGV )
{
if ($opt_p)
{
mkpath ($dir) or die "Cannot make directory $dir";
}
else
{
mkdir ($dir, 0777) or die "Cannot make directory $dir";
}
}
# EOF mkdir.pl

View File

@@ -1,57 +0,0 @@
eval 'exec perl -S $0 ${1+"$@"}' # -*- Mode: perl -*-
if $running_under_some_shell; # makeConfigAppInclude.pl
# Creates a ctdt.c file of c++ static constructors and destructors.
# $Id$
@ctorlist = ();
@dtorlist = ();
while ($line = <STDIN>)
{
next if ($line =~ /__?GLOBAL_.F.+/);
next if ($line =~ /__?GLOBAL_.I._GLOBAL_.D.+/);
if ($line =~ /__?GLOBAL_.D.+/) {
($adr,$type,$name) = split ' ',$line,3;
chop $name;
$name =~ s/^__/_/;
next if ( $name =~ /^__?GLOBAL_.D.*.\.cpp/ );
next if ( $name =~ /^__?GLOBAL_.D.\.\./ );
@dtorlist = (@dtorlist,$name);
};
if ($line =~ /__?GLOBAL_.I.+/) {
($adr,$type,$name) = split ' ',$line,3;
chop $name;
$name =~ s/^__/_/;
next if ( $name =~ /^__?GLOBAL_.I.*.\.cpp/ );
next if ( $name =~ /^__?GLOBAL_.I.\.\./ );
@ctorlist = (@ctorlist,$name);
};
}
foreach $ctor (@ctorlist)
{
printf "void %s();\n",$ctor;
}
print "extern void (*_ctors[])();\n";
print "void (*_ctors[])() = {\n";
foreach $ctor (@ctorlist)
{
printf " %s,\n",$ctor;
}
print " 0};\n";
foreach $dtor (@dtorlist)
{
printf "void %s();\n",$dtor;
}
print "extern void (*_ctors[])();\n";
print "void (*_dtors[])() = {\n";
foreach $dtor (@dtorlist)
{
printf " %s,\n",$dtor;
}
print " 0};\n";

View File

@@ -1,36 +0,0 @@
#!/usr/bin/perl
#
# UNIX-rm in Perl
use File::Path;
use File::Find;
use Getopt::Std;
getopt "";
foreach $arg ( @ARGV )
{
next unless -e $arg;
if (-d $arg)
{
if ($opt_r and $opt_f)
{
rmtree $arg;
}
else
{
rmdir ($arg) or die "Cannot delete $arg";
}
if (-d $arg)
{
die "Failed to delete $arg";
}
}
else
{
unlink ($arg) or die "Cannot delete $arg";
}
}
# EOF rm.pl

View File

@@ -1,99 +0,0 @@
#
# $Id$
#
# The developer may edit this file.
# assume T_A is the host arch if not specified
#
# Common build definitions
#
ifndef CONFIG
CONFIG = $(TOP)/configure
endif
-include $(CONFIG)/os/CONFIG_COMPAT
-include $(CONFIG)/RELEASE
-include $(CONFIG)/RELEASE.$(EPICS_HOST_ARCH)
include $(CONFIG)/CONFIG_COMMON
# EPICS-specific build options
#
include $(CONFIG)/CONFIG_BASE
include $(CONFIG)/CONFIG_BASE_VERSION
# Site-specific build options
#
include $(CONFIG)/CONFIG_SITE
# Host architecture specific definitions
#
include $(CONFIG)/os/CONFIG.$(EPICS_HOST_ARCH).Common
-include $(CONFIG)/os/CONFIG_SITE.$(EPICS_HOST_ARCH).Common
ifdef T_A
# Cross compile specific definitions
#
ifneq ($(EPICS_HOST_ARCH),$(T_A))
include $(CONFIG)/CONFIG.CrossCommon
endif
# Target architecture specific definitions
#
-include $(CONFIG)/os/CONFIG.Common.$(T_A)
# Host-Target architecture specific definitions
#
-include $(CONFIG)/os/CONFIG.$(EPICS_HOST_ARCH).$(T_A)
# Site specific target and host-target definitions
#
-include $(CONFIG)/os/CONFIG_SITE.Common.$(T_A)
-include $(CONFIG)/os/CONFIG_SITE.$(EPICS_HOST_ARCH).$(T_A)
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
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)
endif
# All options
# may be overridden here.
#
# EXAMPLES
# --------
# Build client objects statically ? must be either YES or NO
#STATIC_BUILD=NO
# Host build optimization, must be either YES or NO
#HOST_OPT=YES
# Cross build optimization, must be either YES or NO
#CROSS_OPT=YES
# Generate Verbose Compiler Warnings for host build, must be either YES or NO
#HOST_WARN=YES
# Generate Verbose Compiler Warnings for cross compile builds, must be either YES or NO
#CROSS_WARN=YES
#etc.
#CROSS_COMPILER_TARGET_ARCHS=vxWorks-68040
#CMPLR=STRICT
#CXXCMPLR=STRICT

View File

@@ -1,23 +0,0 @@
# Cross compiler default definitions
# Build class: either HOST or CROSS
# Used to determine OPT and WARN compiler flags
BUILD_CLASS = CROSS
# Cross build: either defined or not
# Used in os/CONFIG.Common.<arch> files
# ifdef CROSS looks better than ifeq ($(BUILD_CLASS),CROSS)
CROSS = YES
GNU_TARGET_INCLUDE_DIR = $(GNU_DIR)/$(GNU_TARGET)/include
GNU_TARGET_LIB_DIR = $(GNU_DIR)/$(GNU_TARGET)/lib
export GCC_EXEC_PREFIX = $(GNU_LIB)/gcc-lib/
CROSS_CPPFLAGS = -nostdinc
CROSS_INCLUDES = $(addprefix -I,$(GNU_TARGET_INCLUDE_DIR))
CROSS_LDFLAGS = $(addprefix -L,$(GNU_TARGET_LIB_DIR))
# All cross builds use the gnu compiler
include $(CONFIG)/CONFIG.gnuCommon

View File

@@ -1,41 +0,0 @@
#--------------------------------------------------
# GNU compiler defaults
GNU_BIN = $(GNU_DIR)/bin
GNU_LIB = $(GNU_DIR)/lib
CC = $(GNU_BIN)/$(CMPLR_PREFIX)cc$(CMPLR_SUFFIX)
CCC = $(GNU_BIN)/$(CMPLR_PREFIX)cc$(CMPLR_SUFFIX)
AR = $(GNU_BIN)/$(CMPLR_PREFIX)ar$(CMPLR_SUFFIX) -rc
LD = $(GNU_BIN)/$(CMPLR_PREFIX)ld$(CMPLR_SUFFIX) -r
CPP = $(CC) -x c -E
RANLIB = $(GNU_BIN)/$(CMPLR_PREFIX)ranlib$(CMPLR_SUFFIX)
CODE_CFLAGS = -fPIC
CONFORM_CFLAGS_ANSI = -ansi
CONFORM_CFLAGS_STRICT = -ansi -pedantic
CONFORM_CFLAGS_TRAD = -traditional
WARN_CFLAGS_YES = -Wall
WARN_CFLAGS_NO = -w
#OPT_CFLAGS_YES = -g -O3
OPT_CFLAGS_YES = -O3
OPT_CFLAGS_NO = -g
CODE_CXXFLAGS = -fPIC -fno-implicit-templates
CONFORM_CXXFLAGS_NORMAL = -ansi -pedantic
CONFORM_CXXFLAGS_STRICT = -ansi -pedantic
#WARN_CXXFLAGS_YES = -Wall -Weffc++
WARN_CXXFLAGS_YES = -Wall
WARN_CXXFLAGS_NO = -w
#OPT_CXXFLAGS_YES = -g -O3
OPT_CXXFLAGS_YES = -O3
OPT_CXXFLAGS_NO = -g
STATIC_LDFLAGS_YES = -static
STATIC_LDFLAGS_NO =
SHRLIB_LDFLAGS_YES = -shared
SHRLIB_LDFLAGS_NO =
HDEPENDS_FLAGS_CMPLR = -MM

View File

@@ -1,333 +0,0 @@
# $Id#
#
# check for add-on CFLAGS and CXXFLAGS
#
# Rules:
# 1) USR_CFLAGS is used
# 2) if there is a special USR_CFLAGS_$(OS_CLASS), it's
# appended to 1)
# 3) if there is no special defined, but a generic USR_CFLAGS_DEFAULT,
# this one is appended
# 4) if you have the special case that your USR_CFLAGS_$(OS_CLASS) is
# empty but you don't want 3), you have to define it as '-nil-', e.g.:
# USR_CFLAGS = <defines for all systems>
# USR_CFLAGS_sun4 = -nil-
# USR_CFLAGS_DEFAULT = <defines for most systems, not sun4>
#
# These rules apply to these Makefile-variables:
# USR_CFLAGS C flags
# USR_CXXFLAGS C++ flags
# USR_CPPFLAGS c preprocesser flags
# INC include-files to install
# LIBSRCS source files for building library
# LIB_SRCS source files for building library
# SHRLIB_LIBS libs needed by shared LIBRARY
# PROD_LIBS libs needed by PROD and TESTPROD
# USR_LIBS libs needed by PROD and TESTPROD
# USR_LDFLAGS ld flags
# SYS_PROD_LIBS system libs needed by PROD and TESTPROD
# PROD products to build and install
# SCRIPTS scripts to install
# USR_INCLUDES include directories
#
# Remark:
# If you define INC, e.g. INC = getopt.h, the source
# (getopt.h) must be in the source directory (..) and/or
# in one or more ../os/<OS_CLASS> directories.
# The INC source files cannot be created by the build.
#
ifneq ($(strip $(USR_CFLAGS_$(OS_CLASS))),)
USR_CFLAGS+=$(subst -nil-,,$(USR_CFLAGS_$(OS_CLASS)))
else
ifdef USR_CFLAGS_DEFAULT
USR_CFLAGS+=$(USR_CFLAGS_DEFAULT)
endif
endif
ifneq ($(strip $(USR_INCLUDES_$(OS_CLASS))),)
USR_INCLUDES+=$(subst -nil-,,$(USR_INCLUDES_$(OS_CLASS)))
else
ifdef USR_INCLUDES_DEFAULT
USR_INCLUDES+=$(USR_INCLUDES_DEFAULT)
endif
endif
ifneq ($(strip $(USR_CXXFLAGS_$(OS_CLASS))),)
USR_CXXFLAGS+=$(subst -nil-,,$(USR_CXXFLAGS_$(OS_CLASS)))
else
ifdef USR_CXXFLAGS_DEFAULT
USR_CXXFLAGS+=$(USR_CXXFLAGS_DEFAULT)
endif
endif
ifneq ($(strip $(USR_CPPFLAGS_$(OS_CLASS))),)
USR_CPPFLAGS+=$(subst -nil-,,$(USR_CPPFLAGS_$(OS_CLASS)))
else
ifdef USR_CPPFLAGS_DEFAULT
USR_CPPFLAGS+=$(USR_CPPFLAGS_DEFAULT)
endif
endif
ifneq ($(strip $(USR_LDFLAGS_$(OS_CLASS))),)
USR_LDFLAGS+=$(subst -nil-,,$(USR_LDFLAGS_$(OS_CLASS)))
else
ifdef USR_LDFLAGS_DEFAULT
USR_LDFLAGS+=$(USR_LDFLAGS_DEFAULT)
endif
endif
# check for special includes:
#
ifneq ($(strip $(INC_$(OS_CLASS))),)
# os-specific includes go to the include/os-directory:
INC += $(subst -nil-,,$(INC_$(OS_CLASS)))
else
ifdef INC_DEFAULT
INC += $(INC_DEFAULT)
endif
endif
# concat specific library contents (if defined)
#
ifneq ($(strip $(LIBSRCS_$(OS_CLASS))),)
LIBSRCS += $(subst -nil-,,$(LIBSRCS_$(OS_CLASS)))
else
ifdef LIBSRCS_DEFAULT
LIBSRCS+=$(LIBSRCS_DEFAULT)
endif
endif
ifneq ($(strip $(LIB_SRCS_$(OS_CLASS))),)
LIB_SRCS += $(subst -nil-,,$(LIB_SRCS_$(OS_CLASS)))
else
ifdef LIB_SRCS_DEFAULT
LIB_SRCS+=$(LIB_SRCS_DEFAULT)
endif
endif
ifneq ($(strip $(SRCS_$(OS_CLASS))),)
SRCS += $(subst -nil-,,$(SRCS_$(OS_CLASS)))
else
ifdef SRCS_DEFAULT
SRCS+=$(SRCS_DEFAULT)
endif
endif
ifneq ($(strip $(PROD_SRCS_$(OS_CLASS))),)
PROD_SRCS += $(subst -nil-,,$(PROD_SRCS_$(OS_CLASS)))
else
ifdef PROD_SRCS_DEFAULT
PROD_SRCS+=$(PROD_SRCS_DEFAULT)
endif
endif
ifneq ($(strip $(BIN_INSTALLS_$(OS_CLASS))),)
BIN_INSTALLS+=$(subst -nil-,,$(BIN_INSTALLS_$(OS_CLASS)))
else
ifdef BIN_INSTALLS_DEFAULT
BIN_INSTALLS+=$(BIN_INSTALLS_DEFAULT)
endif
endif
ifneq ($(strip $(PROD_OBJS_$(OS_CLASS))),)
PROD_OBJS+=$(subst -nil-,,$(PROD_OBJS_$(OS_CLASS)))
else
ifneq (,$(strip $(PROD_OBJS_DEFAULT)))
PROD_OBJS+=$(PROD_OBJS_DEFAULT)
endif
endif
ifneq ($(strip $(OBJS_$(OS_CLASS))),)
OBJS+=$(subst -nil-,,$(OBJS_$(OS_CLASS)))
else
ifneq (,$(strip $(OBJS_DEFAULT)))
OBJS+=$(OBJS_DEFAULT)
endif
endif
ifneq ($(strip $(OBJS_IOC_$(OS_CLASS))),)
OBJS_IOC+=$(subst -nil-,,$(OBJS_IOC_$(OS_CLASS)))
else
ifneq (,$(strip $(OBJS_IOC_DEFAULT)))
OBJS_IOC+=$(OBJS_IOC_DEFAULT)
endif
endif
ifneq ($(strip $(OBJS_HOST_$(OS_CLASS))),)
OBJS_HOST+=$(subst -nil-,,$(OBJS_HOST_$(OS_CLASS)))
else
ifneq (,$(strip $(OBJS_HOST_DEFAULT)))
OBJS_HOST+=$(OBJS_HOST_DEFAULT)
endif
endif
ifneq ($(strip $(LIBOBJS_$(OS_CLASS))),)
LIBOBJS+=$(subst -nil-,,$(LIBOBJS_$(OS_CLASS)))
else
ifneq (,$(strip $(LIBOBJS_DEFAULT)))
LIBOBJS+=$(LIBOBJS_DEFAULT)
endif
endif
ifneq ($(strip $(LIB_OBJS_$(OS_CLASS))),)
LIB_OBJS+=$(subst -nil-,,$(LIB_OBJS_$(OS_CLASS)))
else
ifneq (,$(strip $(LIB_OBJS_DEFAULT)))
LIB_OBJS+=$(LIB_OBJS_DEFAULT)
endif
endif
ifneq ($(strip $(LIBRARY_$(OS_CLASS))),)
LIBRARY+=$(subst -nil-,,$(LIBRARY_$(OS_CLASS)))
else
ifneq (,$(strip $(LIBRARY_DEFAULT)))
LIBRARY+=$(LIBRARY_DEFAULT)
endif
endif
ifneq ($(strip $(LIBRARY_IOC_$(OS_CLASS))),)
LIBRARY_IOC+=$(subst -nil-,,$(LIBRARY_IOC_$(OS_CLASS)))
else
ifneq (,$(strip $(LIBRARY_IOC_DEFAULT)))
LIBRARY_IOC+=$(LIBRARY_IOC_DEFAULT)
endif
endif
ifneq ($(strip $(LIBRARY_HOST_$(OS_CLASS))),)
LIBRARY_HOST+=$(subst -nil-,,$(LIBRARY_HOST_$(OS_CLASS)))
else
ifneq (,$(strip $(LIBRARY_HOST_DEFAULT)))
LIBRARY_HOST+=$(LIBRARY_HOST_DEFAULT)
endif
endif
ifneq ($(strip $(PROD_LIBS_$(OS_CLASS))),)
PROD_LDLIBS += $(subst -nil-,,$(PROD_LIBS_$(OS_CLASS)))
else
ifdef PROD_LIBS_DEFAULT
PROD_LDLIBS += $(PROD_LIBS_DEFAULT)
endif
endif
PROD_LDLIBS += $(PROD_LIBS)
ifneq ($(strip $(SHRLIB_LIBS_$(OS_CLASS))),)
SHRLIB_LIBS += $(subst -nil-,,$(SHRLIB_LIBS_$(OS_CLASS)))
else
ifdef SHRLIB_LIBS_DEFAULT
SHRLIB_LIBS += $(SHRLIB_LIBS_DEFAULT)
endif
endif
ifneq ($(strip $(USR_LIBS_$(OS_CLASS))),)
USR_LDLIBS += $(subst -nil-,,$(USR_LIBS_$(OS_CLASS)))
else
ifdef USR_LIBS_DEFAULT
USR_LDLIBS += $(USR_LIBS_DEFAULT)
endif
endif
USR_LDLIBS += $(USR_LIBS)
#
# concat specific library contents (if defined) to SYS_PROD_LIBS
#
ifneq ($(strip $(SYS_PROD_LIBS_$(OS_CLASS))),)
SYS_PROD_LIBS += $(subst -nil-,,$(SYS_PROD_LIBS_$(OS_CLASS)))
else
ifdef SYS_PROD_LIBS_DEFAULT
SYS_PROD_LIBS += $(SYS_PROD_LIBS_DEFAULT)
endif
endif
#
# concat specific products
#
ifneq ($(strip $(PROD_$(OS_CLASS))),)
PROD+=$(subst -nil-,,$(PROD_$(OS_CLASS)))
else
ifneq (,$(strip $(PROD_DEFAULT)))
PROD+=$(PROD_DEFAULT)
endif
endif
ifneq ($(strip $(PROD_IOC_$(OS_CLASS))),)
PROD_IOC+=$(subst -nil-,,$(PROD_IOC_$(OS_CLASS)))
else
ifneq (,$(strip $(PROD_IOC_DEFAULT)))
PROD_IOC+=$(PROD_IOC_DEFAULT)
endif
endif
ifneq ($(strip $(PROD_HOST_$(OS_CLASS))),)
PROD_HOST+=$(subst -nil-,,$(PROD_HOST_$(OS_CLASS)))
else
ifneq (,$(strip $(PROD_HOST_DEFAULT)))
PROD_HOST+=$(PROD_HOST_DEFAULT)
endif
endif
#
# concat specific products
#
ifneq ($(strip $(TESTPROD_$(OS_CLASS))),)
TESTPROD+=$(subst -nil-,,$(TESTPROD_$(OS_CLASS)))
else
ifneq (,$(strip $(TESTPROD_DEFAULT)))
TESTPROD+=$(TESTPROD_DEFAULT)
endif
endif
ifneq ($(strip $(TESTPROD_IOC_$(OS_CLASS))),)
TESTPROD_IOC+=$(subst -nil-,,$(TESTPROD_IOC_$(OS_CLASS)))
else
ifneq (,$(strip $(TESTPROD_IOC_DEFAULT)))
TESTPROD_IOC+=$(TESTPROD_IOC_DEFAULT)
endif
endif
ifneq ($(strip $(TESTPROD_HOST_$(OS_CLASS))),)
TESTPROD_HOST+=$(subst -nil-,,$(TESTPROD_HOST_$(OS_CLASS)))
else
ifneq (,$(strip $(TESTPROD_HOST_DEFAULT)))
TESTPROD_HOST+=$(TESTPROD_HOST_DEFAULT)
endif
endif
#
# concat specific scripts
#
ifneq ($(strip $(SCRIPTS_$(OS_CLASS))),)
SCRIPTS += $(subst -nil-,,$(SCRIPTS_$(OS_CLASS)))
else
ifdef SCRIPTS_DEFAULT
SCRIPTS += $(SCRIPTS_DEFAULT)
endif
endif
ifneq ($(strip $(SCRIPTS_IOC_$(OS_CLASS))),)
SCRIPTS_IOC+=$(subst -nil-,,$(SCRIPTS_IOC_$(OS_CLASS)))
else
ifneq (,$(strip $(SCRIPTS_IOC_DEFAULT)))
SCRIPTS_IOC+=$(SCRIPTS_IOC_DEFAULT)
endif
endif
ifneq ($(strip $(SCRIPTS_HOST_$(OS_CLASS))),)
SCRIPTS_HOST+=$(subst -nil-,,$(SCRIPTS_HOST_$(OS_CLASS)))
else
ifneq (,$(strip $(SCRIPTS_HOST_DEFAULT)))
SCRIPTS_HOST+=$(SCRIPTS_HOST_DEFAULT)
endif
endif
#
# concat specific resource files
#
ifneq ($(strip $(RCS_$(OS_CLASS))),)
RCS += $(subst -nil-,,$(RCS_$(OS_CLASS)))
else
ifdef RCS_DEFAULT
RCS += $(RCS_DEFAULT)
endif
endif

View File

@@ -1,102 +0,0 @@
ifndef EPICS_BASE
EPICS_BASE = $(INSTALL_LOCATION)
endif
#---------------------------------------------------------------
# Epics base directories
EPICS_BASE_HOST_BIN = $(EPICS_BASE)/bin/$(EPICS_HOST_ARCH)
ifdef T_A
EPICS_BASE_LIB = $(EPICS_BASE)/lib/$(T_A)
endif
#Definitions for extensions convenience
Com_DIR = $(EPICS_BASE_LIB)
asHost_DIR = $(EPICS_BASE_LIB)
asIoc_DIR = $(EPICS_BASE_LIB)
ca_DIR = $(EPICS_BASE_LIB)
cas_DIR = $(EPICS_BASE_LIB)
dbIoc_DIR = $(EPICS_BASE_LIB)
dbStaticHost_DIR = $(EPICS_BASE_LIB)
dbStaticIoc_DIR = $(EPICS_BASE_LIB)
dbtoolsIoc_DIR = $(EPICS_BASE_LIB)
gdd_DIR = $(EPICS_BASE_LIB)
iocsh_DIR = $(EPICS_BASE_LIB)
miscIoc_DIR = $(EPICS_BASE_LIB)
registryIoc_DIR = $(EPICS_BASE_LIB)
rsrvIoc_DIR = $(EPICS_BASE_LIB)
recIoc_DIR = $(EPICS_BASE_LIB)
softDevIoc_DIR = $(EPICS_BASE_LIB)
testDevIoc_DIR = $(EPICS_BASE_LIB)
recIocObj_DIR = $(EPICS_BASE_LIB)
softDevIocObj_DIR = $(EPICS_BASE_LIB)
testDevIocObj_DIR = $(EPICS_BASE_LIB)
iocCore_DIR = $(EPICS_BASE_LIB)
#---------------------------------------------------------------
# Version number for base shared libraries (and win32 products)
ifeq ($(EPICS_BASE),$(TOP))
SHRLIB_VERSION = $(EPICS_VERSION).$(EPICS_REVISION)
PROD_VERSION = $(EPICS_VERSION).$(EPICS_REVISION)
endif # EPICS_BASE
#---------------------------------------------------------------
# Epics base c preprocessor flags
EPICS_BASE_CPPFLAGS =
# osithread default stack
OSITHREAD_USE_DEFAULT_STACK = YES
OSITHREAD_DEFAULT_STACK_FLAGS_YES = -DOSITHREAD_USE_DEFAULT_STACK
OSITHREAD_DEFAULT_STACK_FLAGS_NO =
EPICS_BASE_CPPFLAGS += $(OSITHREAD_DEFAULT_STACK_FLAGS_$(OSITHREAD_USE_DEFAULT_STACK))
#---------------------------------------------------------------
# Epics base build tools and tool flags
MAKEBPT = $(EPICS_BASE_HOST_BIN)/makeBpt$(HOSTEXE)
DBEXPAND = $(EPICS_BASE_HOST_BIN)/dbExpand$(HOSTEXE)
MKMF = $(PERL) $(TOOLS)/mkmf.pl
REPLACEVAR = $(PERL) $(TOOLS)/replaceVAR.pl
DBTORECORDTYPEH = $(EPICS_BASE_HOST_BIN)/dbToRecordtypeH$(HOSTEXE)
DBTOMENUH = $(EPICS_BASE_HOST_BIN)/dbToMenuH$(HOSTEXE)
REGISTERRECORDDEVICEDRIVER = $(PERL) $(EPICS_BASE_HOST_BIN)/registerRecordDeviceDriver.pl
# private versions of lex/yacc from EPICS
EYACC = $(EPICS_BASE_HOST_BIN)/antelope$(HOSTEXE)
ELEX = $(EPICS_BASE_HOST_BIN)/e_flex$(HOSTEXE) -S$(EPICS_BASE)/include/flex.skel.static
YACC = $(EYACC)
LEX = $(ELEX)
#---------------------------------------------------------------
# External tools and tool flags - must be in path or defined in application
ifndef ADL2DL
ADL2DL = adl2dl
endif
# sch2edif compiler and flags
SCH2EDIF = sch2edif
SCH2EDIF_PATH =
SCH2EDIF_SYSFLAGS = -n -ap -p.+..+$(SCH2EDIF_PATH)+$(CAPFAST_TEMPLATES)/sym+
SCH2EDIF_FLAGS =
# e2db and flags
# - again there is an assumption where edb.def is installed.
ifndef E2DB
E2DB = e2db
endif
E2DB_SYSFLAGS = -ate -d $(CAPFAST_TEMPLATES)/edb.def
E2DB_FLAGS =
ifndef DBST
DBST = dbst
endif
ifndef MSI
MSI = msi
endif

View File

@@ -1,20 +0,0 @@
#
# $Id$
#
# EPICS Version information
#
# This file is interpreted by the Bourne Shell (MakeRelease), so spaces are
# not allowed around the '=' signs or in unquoted values.
#
EPICS_VERSION=3
EPICS_REVISION=14
EPICS_MODIFICATION=0
EPICS_UPDATE_NAME=beta
EPICS_UPDATE_LEVEL=1
EPICS_VERSION_STRING="EPICS Version ${EPICS_VERSION}.${EPICS_REVISION}.${EPICS_MODIFICATION}.${EPICS_UPDATE_NAME}${EPICS_UPDATE_LEVEL}"
CVS_DATE="\$$Date$$"
CVS_TAG="\$$Name$$"

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