Compare commits

...

522 Commits

Author SHA1 Message Date
cvs2svn
b6a001e4cb This commit was manufactured by cvs2svn to create branch 'B3.14'. 2003-05-22 15:16:25 +00:00
Marty Kraimer
f44bc9a818 last two digits of stat,end are hour NOT month 2003-05-22 15:16:24 +00:00
Janet B. Anderson
45609829f8 Modified comment. 2003-05-22 00:21:58 +00:00
Jeff Hill
06064b444a small clarification 2003-05-22 00:03:13 +00:00
Jeff Hill
9ab8596aff small clarification 2003-05-21 23:17:09 +00:00
Andrew Johnson
b6c6755918 Added a success message (Bug#30). 2003-05-21 19:33:28 +00:00
Janet B. Anderson
e769ca29f1 Removed unused TORNADO version macro. 2003-05-21 19:19:49 +00:00
Andrew Johnson
ec411508e9 Don't create the $(INSTALL_JAVA) directory until there's something
to actually put in it.
2003-05-21 19:12:01 +00:00
Andrew Johnson
c82442b10c Undone Marty's incorrect change to convertRelease.pl
(removed 3.13.1 compatibility line completely)
Added dependency for cdCommands so it gets rebuilt if $(TOP)/bin changes
i.e. possibly when $(TOP)/bin/$(T_A) is created.
2003-05-21 19:05:18 +00:00
Marty Kraimer
9cf089f0d3 appbin => topbin 2003-05-21 17:57:26 +00:00
Marty Kraimer
6047ac5efe change date; add macLib bug 2003-05-21 13:32:03 +00:00
Marty Kraimer
47363400cb bugs rported by Mark Rivers 2003-05-21 13:27:52 +00:00
Marty Kraimer
b40d9ddcc3 no CROSS_COMPILER_TARGET_ARCHS by default 2003-05-21 12:21:24 +00:00
Marty Kraimer
00f28ff971 revert to old 2003-05-21 12:17:44 +00:00
Marty Kraimer
7ada50c005 change for 2003 2003-05-21 12:16:07 +00:00
Jeff Hill
b260612016 updated for R3.14.2 2003-05-20 22:37:54 +00:00
Jeff Hill
5e4a23d5be updated doc on ca_client_status() 2003-05-20 22:30:39 +00:00
Janet B. Anderson
a41a72a4f4 Converted formatted line to Text Wrap. 2003-05-20 20:13:34 +00:00
W. Eric Norum
0c7721d6ea Highlight 'function' keyword.
Change 'write nNew elements into array' note from a comment which could
be confused with a true C comment describing the operation of the next
line of the example.
2003-05-20 20:01:17 +00:00
Jeff Hill
2e3f3ba7eb increased access control 2003-05-16 23:49:45 +00:00
Jeff Hill
f93c25f7f6 fixed sun pro warning 2003-05-16 22:05:54 +00:00
Jeff Hill
c11454ce4a fixed sun pro warning 2003-05-16 21:49:57 +00:00
Jeff Hill
f89bbee76d tabs to white space 2003-05-16 20:08:00 +00:00
Ralph Lange
e978571919 Fixed HP aCC compiler warnings 2003-05-16 19:37:53 +00:00
Jeff Hill
f4949c8415 fixed what appears to be a socket leak 2003-05-16 17:08:00 +00:00
Jeff Hill
7673dc39ee fixed sun pro warning message 2003-05-16 16:59:25 +00:00
Jeff Hill
518ec97f72 fixed sun pro warning message 2003-05-16 16:30:49 +00:00
Jeff Hill
aad8fe9c94 bumped ifdef to sun pro version 5.4 -
still waiting for sun pro to allow a virtual destructor
2003-05-16 14:32:51 +00:00
Jeff Hill
9a0f23dfdf fixed array subscript 2003-05-16 13:52:10 +00:00
Jeff Hill
69a8bc6fd7 better support for c++ 2003-05-16 00:01:55 +00:00
Jeff Hill
fa320889e3 reading and writing through the channel allows for put logging to occur
and other forms of application  flexibility
2003-05-16 00:00:07 +00:00
Jeff Hill
738337049b inlined simple function and use mutex in casPV::write 2003-05-15 23:58:02 +00:00
Jeff Hill
72ff66925f inlined simple function 2003-05-15 23:57:18 +00:00
Jeff Hill
5fe2fb480e fixed serious problems when creating and destroying arrays of aitString 2003-05-15 18:33:50 +00:00
Janet B. Anderson
ff1992066f Allow sioc* directory names. 2003-05-14 13:37:49 +00:00
Janet B. Anderson
1c84525a87 Use shared readline library. 2003-05-14 13:32:42 +00:00
Marty Kraimer
7b294e0d99 use const char 2003-05-14 11:29:48 +00:00
Marty Kraimer
c6eca11921 asTrapWrite aslo belongs to LIB_SRCS 2003-05-14 11:21:31 +00:00
Jeff Hill
6861be8270 added void to func proto 2003-05-13 22:53:13 +00:00
Jeff Hill
ae3a888da7 more stringent connect w disconnected chan test 2003-05-13 21:27:08 +00:00
Jeff Hill
a56c01378e doc 2003-05-13 21:03:37 +00:00
Jeff Hill
2498b21fae cinvert errno to string prior to hgenerating a new errno 2003-05-13 21:03:11 +00:00
Jeff Hill
45cde80ee8 cosmetic 2003-05-13 21:02:29 +00:00
Jeff Hill
4f465a1f7b cleaned up casw doc 2003-05-13 21:00:06 +00:00
Jeff Hill
52b8c02fa8 restructured locking to match current design practices for CAC 2003-05-13 20:54:10 +00:00
Jeff Hill
aa160c0a2b restructured locking to match current design practices for CAC 2003-05-13 20:45:51 +00:00
Jeff Hill
f5e2dce279 o restructured locking to match current design practices for CAC
o when installing a channel into the udp iiu install it to the front of
the list, and not the back, so that its search request will be sent
first and so that its retry count will be considered when calculating
the minimum retry count.
2003-05-13 20:44:11 +00:00
Jeff Hill
d04cfc8d03 restructured locking to match current design practices for CAC 2003-05-13 20:40:36 +00:00
Marty Kraimer
eec0dc5ece same def of RECSUPFUN for both C and C++ 2003-05-13 15:53:07 +00:00
Janet B. Anderson
29d0f4716c Moved excas. 2003-05-12 19:39:41 +00:00
Janet B. Anderson
3bbec946b7 Removed extra blanks. 2003-05-12 15:04:31 +00:00
Marty Kraimer
958b13368b fdopen for write only 2003-05-12 14:40:27 +00:00
Ralph Lange
0222a48595 New aCC compiler version 2003-05-12 13:26:10 +00:00
Marty Kraimer
d5d8241fdd change name from excas to casexample 2003-05-12 12:32:11 +00:00
Marty Kraimer
c963333e78 make sure now events are missed 2003-05-12 12:29:43 +00:00
Marty Kraimer
642a582f24 add excas 2003-05-12 12:28:40 +00:00
Janet B. Anderson
d2d4f4ca6d Removed Crun library. 2003-05-09 15:56:20 +00:00
W. Eric Norum
1cfa435707 Show typical usage as a comment. 2003-05-08 22:13:03 +00:00
W. Eric Norum
481235c41a Rename file to reflect correct usage. 2003-05-08 22:09:09 +00:00
Janet B. Anderson
1e93d812ac Initial version 2003-05-08 21:58:07 +00:00
Janet B. Anderson
2bddff21eb Added COMMANDLINE includes. 2003-05-08 21:38:25 +00:00
Janet B. Anderson
5a3e4a6b5f Added definitions for READLINE library. 2003-05-08 21:12:00 +00:00
Janet B. Anderson
60f4cac0d0 Removed comments and null definitions. 2003-05-08 20:19:01 +00:00
Janet B. Anderson
ffb828afda Updates for Visual c++ 6.0 2003-05-08 20:13:47 +00:00
Janet B. Anderson
c2dbe7ddb1 Added definitions for READLINE. 2003-05-08 20:05:44 +00:00
Janet B. Anderson
12bd56b1b4 Added code to remove trailing blanks in RELEASE file definitions. 2003-05-08 20:00:59 +00:00
W. Eric Norum
5ec41e6088 Allow run-time modification of prompt. 2003-05-08 16:04:04 +00:00
Ralph Lange
1de0a6c42d Fixed HP-UX (aCC) compiler warnings 2003-05-07 12:54:12 +00:00
Jeff Hill
0fcf3e4fda removed duplicate word 2003-05-06 14:35:51 +00:00
Ralph Lange
1a451e4903 Fixed HP-GNU warning (unused variable) 2003-05-06 14:14:15 +00:00
Ralph Lange
e3ceeb0eac Fixed HP-GNU warning (unused variable) 2003-05-06 12:55:56 +00:00
Ralph Lange
f04fff8f83 Fixed HP-GNU warning (unused variable) 2003-05-06 11:53:24 +00:00
Ralph Lange
db5c2d67f8 Fixed C++ warning message by "defining both functions
in the derived class" (Jeff)
2003-05-06 11:49:17 +00:00
W. Eric Norum
1be5dc154d By default use neither readline nor libtecla libraries. 2003-05-05 19:35:51 +00:00
W. Eric Norum
6105888487 Shared libraries are now enabled by default.
Command-line editing selection should be in a SITE file.
2003-05-05 19:00:47 +00:00
Janet B. Anderson
9408db2d54 Added rules for DB_INSTALLS and DBD_INSTALLS. 2003-05-05 17:03:32 +00:00
Jeff Hill
41644804e8 made pvExistTest private 2003-05-02 20:02:56 +00:00
Jeff Hill
ebacbfddcd added new argument to the pvExistTest 2003-05-02 17:45:06 +00:00
Jeff Hill
817cd651c3 optimization 2003-05-02 17:43:07 +00:00
Jeff Hill
8b12a243a2 clean up 2003-05-02 17:40:26 +00:00
Jeff Hill
0c5b0c70d7 reformat 2003-05-02 17:40:03 +00:00
W. Eric Norum
fd56498f95 Remove debugging dreck. 2003-05-02 16:23:17 +00:00
W. Eric Norum
ea7a1c160e Don't try to clean up non-EPICS threads. 2003-05-02 15:39:51 +00:00
Jeff Hill
5161226f81 record connection delays 2003-05-01 23:18:32 +00:00
Jeff Hill
24582e4a27 reformmatting 2003-05-01 22:33:41 +00:00
W. Eric Norum
9b280179bf Create dummy context for threads not created by epicsThreadCreate().
This is needed by jca.
 CVS: ----------------------------------------------------------------------
2003-05-01 22:21:58 +00:00
Jeff Hill
c0bc7a55e9 SIGURG => SIGALRM 2003-05-01 22:18:15 +00:00
Jeff Hill
54934b1059 use SIGALRM instead of SIGURG to wakeup blocking socket calls 2003-05-01 22:12:44 +00:00
Jeff Hill
4c5dab8e72 use SIGALRM instead of SIGURG to wakeup blocking socket calls 2003-05-01 21:53:14 +00:00
Janet B. Anderson
6802e5154e Removed unused definition MSVISC. 2003-05-01 14:16:42 +00:00
Jeff Hill
e5928a8630 improved diagnostic 2003-04-29 21:05:18 +00:00
Jeff Hill
3bbc4b54c2 changed fd_set array to a pointer so that application is
independent of FD_SETSIZE
2003-04-29 21:01:23 +00:00
Jeff Hill
595eadb9f6 moved the maximum number of file descriptors up to 4096 2003-04-29 17:22:06 +00:00
Jeff Hill
6b63f7c2f0 installed - currently guessing that shutdown works to interrupt blocking
send() and recv() calls under cygwin, but this has not been confiremed.
2003-04-28 17:38:48 +00:00
Jeff Hill
25fa8008f7 fixed borland build 2003-04-24 22:37:35 +00:00
Jeff Hill
0761793165 changed to shutdown for sys call interrupt 2003-04-24 21:14:31 +00:00
Jeff Hill
ff9075881c added missing include 2003-04-24 17:09:58 +00:00
Jeff Hill
913373d12d added new src files 2003-04-24 17:04:41 +00:00
Jeff Hill
c149f17cc2 convertSocketErrorToString => epicsSocketConvertErrnoToString 2003-04-24 16:44:45 +00:00
Jeff Hill
4794bf11bc cleaned up shutdown procedure 2003-04-24 16:39:31 +00:00
Jeff Hill
b06976e69b new sockHasBeenClosed flag 2003-04-24 16:36:50 +00:00
Jeff Hill
ef5ce92ff8 installed 2003-04-24 16:32:59 +00:00
Jeff Hill
a9372c4a5a moved sock err str converting func 2003-04-24 16:32:15 +00:00
Jeff Hill
88425b4433 added definition for read and write shutdown 2003-04-24 16:31:06 +00:00
Jeff Hill
4388d789a5 moved sock err str converting func 2003-04-24 16:26:15 +00:00
Jeff Hill
96b2d2c76f convertSocketErrorToString => epicsSocketConvertErrnoToString 2003-04-24 16:25:47 +00:00
Jeff Hill
dc198c0ae0 added epicsSocketSystemCallInterruptMechanismQuery () 2003-04-24 16:24:05 +00:00
Jeff Hill
5e20a6274f removed epicsEnableInterruptedSystemCall and epicsInterruptSystemCall 2003-04-24 16:23:04 +00:00
Jeff Hill
d668a2d8d2 print test complete message 2003-04-23 21:55:28 +00:00
Jeff Hill
96f8e4f323 print test complete message 2003-04-23 20:59:49 +00:00
Jeff Hill
9f09bc6b67 corrected MS VC++ version range where new does not throw an exception 2003-04-23 20:59:09 +00:00
Ralph Lange
afdf3c9af2 Fix: Return when called with no argument (to avoid failing assertion) 2003-04-23 16:44:58 +00:00
Jeff Hill
2ad485368b fixed unused variable warnings 2003-04-23 16:02:45 +00:00
Ralph Lange
7eda38a779 Update as aCC version works now 2003-04-23 15:43:57 +00:00
W. Eric Norum
ee500e2ad8 Minor cosmetic change. 2003-04-23 15:42:21 +00:00
W. Eric Norum
57e941cb85 Mention DarwinPorts. 2003-04-23 15:41:26 +00:00
W. Eric Norum
7da5f3c5c6 Add support for DarwinPorts as well as for Fink. 2003-04-23 15:41:01 +00:00
Ralph Lange
8e44835903 Fixed/suppressed HP-UX (GNU) warnings 2003-04-23 15:22:56 +00:00
Ralph Lange
2624a16170 Fixed/suppressed HP-UX native (aCC) warnings 2003-04-23 14:56:07 +00:00
Ralph Lange
154ebd3153 += new copyright notice 2003-04-23 14:04:49 +00:00
Ralph Lange
d79b7c3880 Fixed warning on HP: ARG_MAX is used in HP-UX sys header file 2003-04-23 14:01:56 +00:00
Ralph Lange
a097eebfb1 Minor fix: += generate local exception on virtual circuit disconnect. 2003-04-23 11:12:28 +00:00
Ralph Lange
cca00a0061 Minor stuff: broke up some looong strings in printf()s. 2003-04-23 10:50:44 +00:00
Jeff Hill
676d210340 depricated ca_add_event 2003-04-23 00:41:15 +00:00
Jeff Hill
acfeff3695 fixed socket return from makeSocket not initialized 2003-04-22 23:17:12 +00:00
Jeff Hill
d812f89280 dont send extra exception message conveying the context string when a get
callback request fails
2003-04-22 22:29:26 +00:00
Jeff Hill
5bbf7bc341 added dll export keywords 2003-04-22 22:28:24 +00:00
Jeff Hill
9a991a3765 use epicsVsnprintf 2003-04-22 21:07:23 +00:00
W. Eric Norum
bf59a164b9 Reflect change to makeBaseApp template. Registrar function can now be static. 2003-04-22 18:46:37 +00:00
Jeff Hill
181d5f4ff0 remove channels from circuit in timer expire callback 2003-04-22 18:07:50 +00:00
Jeff Hill
884c05a15c function name change 2003-04-22 18:07:11 +00:00
Jeff Hill
1de5f1c3ef thread safe socket error to string function 2003-04-22 18:06:42 +00:00
Marty Kraimer
2d114dc5bb mySub can be static 2003-04-22 12:04:14 +00:00
Jeff Hill
372528666a removed msg minder and moved cb locker to ca ctx class 2003-04-18 22:11:35 +00:00
Jeff Hill
35d0d41f22 removed mmsg minder and eliminate dlow level knowledge of cb locker 2003-04-18 22:10:39 +00:00
Jeff Hill
2399da3a1a changed msg arrival notify to cb lock/unlock 2003-04-18 22:09:12 +00:00
Jeff Hill
88af86fbbd added noop cb lock/unlock in base 2003-04-18 22:08:40 +00:00
Jeff Hill
33ca9c7407 moved cb locking to ca ctx class 2003-04-18 22:08:05 +00:00
Jeff Hill
6da98f4e5e moved conn cb change to be guarded by func in ca context class 2003-04-18 22:07:19 +00:00
Jeff Hill
c50837d7f5 removed msg minder 2003-04-18 22:06:19 +00:00
Jeff Hill
ae975a8e23 removed knowledge of preemptive cb enable 2003-04-18 22:05:44 +00:00
Jeff Hill
948718f253 added missing commit 2003-04-18 15:41:00 +00:00
Jeff Hill
378a70bb20 cosmetic 2003-04-18 15:39:46 +00:00
Jeff Hill
778f8936e5 added ca_dump_dbr 2003-04-18 15:39:12 +00:00
W. Eric Norum
40802e621c Update to reflect new 'registrar' keyword. 2003-04-18 13:42:00 +00:00
Jeff Hill
44a57584b7 changed name of protocol command 2003-04-17 17:17:19 +00:00
Jeff Hill
d8db1abd38 fixed too many messages from test 2003-04-17 17:11:51 +00:00
Jeff Hill
2430736ff1 patch for fdManager based client tool lock up problems 2003-04-17 00:07:50 +00:00
Jeff Hill
6b04c52f45 improved diagnostics 2003-04-17 00:05:52 +00:00
Jeff Hill
f484488842 added cacMessageProcessingMinder class 2003-04-16 23:01:34 +00:00
Jeff Hill
0fd1f0103d improved diagnostic 2003-04-16 22:59:13 +00:00
Jeff Hill
6ab92a6dab added misssing epicsShareFunc 2003-04-16 21:02:23 +00:00
Jeff Hill
3b7426e1a3 changed debug level of messages 2003-04-16 20:59:23 +00:00
Jeff Hill
93d163ba83 cosmetic 2003-04-16 20:57:56 +00:00
Jeff Hill
1ee13af2a8 fixed improper unprocessed protocol copy during buffer expansion 2003-04-16 20:57:38 +00:00
Jeff Hill
ff16932a0f changed debug level of search messages 2003-04-16 20:56:20 +00:00
Jeff Hill
b8a2f0495e evaluation version of deadlock detect mutex 2003-04-16 20:55:41 +00:00
Jeff Hill
a28065c900 cleanup of questionable, but not incorrect code 2003-04-16 20:53:38 +00:00
Jeff Hill
3f28509df8 require guard when sending create chan msg 2003-04-16 20:42:31 +00:00
Jeff Hill
59ca167c5d added comQueSendMsgMinder class 2003-04-16 20:39:29 +00:00
Jeff Hill
a63da3e2a8 require guard when sending crate chan msg 2003-04-16 20:38:15 +00:00
Jeff Hill
b04d6fc943 cosmetic 2003-04-16 20:37:37 +00:00
Jeff Hill
414811e98d fixed scalar string to wire formatting 2003-04-16 20:36:36 +00:00
Jeff Hill
2779547dcb optimized string out 2003-04-16 20:34:51 +00:00
Jeff Hill
b9148e0224 improved test 2003-04-16 20:25:01 +00:00
Ralph Lange
9e20859cfc Updated Possible Problems section 2003-04-16 14:09:45 +00:00
Marty Kraimer
2826afb3f9 putNotifyBlocked no longer necessary 2003-04-15 20:05:55 +00:00
Jeff Hill
b53f10dbb6 fixed spelling 2003-04-15 18:49:48 +00:00
Jeff Hill
338d438830 added para on ca client library context 2003-04-15 18:42:06 +00:00
Ralph Lange
ef8fb769a1 Fixed compatibility mode for HP (both native and GNU compilers) 2003-04-15 11:34:38 +00:00
Ralph Lange
57db879905 cosmetics 2003-04-15 11:33:52 +00:00
Marty Kraimer
cf80cd22da take blanks out of names 2003-04-11 12:25:40 +00:00
W. Eric Norum
b921020943 Clarify command-line editing library selection. 2003-04-10 19:56:01 +00:00
Jeff Hill
15b35b60d1 added more progress indicators 2003-04-10 17:51:26 +00:00
Jeff Hill
032bb6e7fc fixed problem with large array header push optimization 2003-04-10 17:16:00 +00:00
Jeff Hill
d8e7cb5524 remo ved unused code 2003-04-10 17:15:14 +00:00
Jeff Hill
bd1e636fb0 fixed epicsTime_localtime 2003-04-10 14:55:31 +00:00
Marty Kraimer
ec94384106 add info about epicsMessageQueue 2003-04-09 13:58:49 +00:00
Marty Kraimer
000aaea550 more changes for 3.14.2 2003-04-09 13:39:33 +00:00
Ralph Lange
ec3958a36e += Build notes 2003-04-09 13:28:59 +00:00
Andrew Johnson
14f6fe08fb Added softIoc application. 2003-04-09 01:41:36 +00:00
Andrew Johnson
1f33045887 Created softIoc application, which can be used without having a
makeBaseApp working area.  Read comments in softMain.cpp for
more details.  'softIoc -h' gives usage.

Tested on Solaris & Linux, not appropriate for vxWorks,
other architectures untested.
2003-04-09 01:40:51 +00:00
Jeff Hill
0330a9a085 improved diagnostics 2003-04-08 19:42:01 +00:00
Marty Kraimer
f7fdc9a11e RELEASE_NOTES.html 2003-04-08 19:31:23 +00:00
Andrew Johnson
9e337cca2b Permit threads other than main() to call exit() and have the process stop.
If a subsidiary thread calls exit(), its context is used (on Solaris at
least) for calling the atexit routines.  If one of those routines cancels
the thread that called exit(), the exit itself gets cancelled and any
remaining threads are left running, possibly including the main() thread.
Thus the check in myAtExit() should have been to not cancel the current
thread; when this was tested, presumably only calls to exit() from the
main() thread were checked.
2003-04-08 19:18:52 +00:00
Marty Kraimer
6f8d94c8dd use %g instead of %f. Saves several lines of code 2003-04-08 15:25:16 +00:00
Marty Kraimer
ef3a3629a5 add device for Test Asyn 2003-04-08 15:24:23 +00:00
Jeff Hill
6c07f8064a fixed large arrays 2003-04-08 00:06:22 +00:00
Jeff Hill
7600b37a9d removed tabs 2003-04-07 23:30:23 +00:00
Jeff Hill
fe98915920 updated doc 2003-04-07 22:48:01 +00:00
Jeff Hill
7429e6a1de optimized protocol transfer 2003-04-07 21:15:22 +00:00
Marty Kraimer
8e3b9a0453 convert hostnames to lower case 2003-04-07 16:06:30 +00:00
Jeff Hill
12efe1ec2b optimized time fetch during flush 2003-04-07 16:06:17 +00:00
Marty Kraimer
9519c2646a epicsStringTest is new 2003-04-07 13:52:15 +00:00
Marty Kraimer
48e9500f1a added epicsStrCaseCmp; add epicsShare decoration 2003-04-07 13:51:18 +00:00
Marty Kraimer
cb4e242b40 only the sscanf should have the %lf 2003-04-07 12:41:12 +00:00
Marty Kraimer
6958eafd44 %lf instead of *f 2003-04-07 12:13:10 +00:00
Andrew Johnson
c2480a2de6 Updated the years listed in Copyright notices. 2003-04-05 00:16:09 +00:00
Andrew Johnson
e95d19ec1c Added APST and MPST fields that control whether monitors are fired if the
new string is identical to the old one.  Default value is "On Change" with
behaviour identical to before, set to "Always" to fire monitors every time
the record is processed (analagous to setting MDEL=-1 for numeric record
types).
2003-04-04 21:55:03 +00:00
Andrew Johnson
bb431bdf7c Fire archive monitors too if delta=0x80000000 2003-04-04 21:25:25 +00:00
Janet B. Anderson
14bd27a4f8 Initial version. 2003-04-04 18:36:25 +00:00
Marty Kraimer
26fac718bf set BUFFER_EXTRA_BYTES = MAX_MESSAGE_SIZE 2003-04-04 16:29:29 +00:00
Marty Kraimer
14b069660f make clear distinction between support and ioc apps 2003-04-04 15:01:42 +00:00
Ralph Lange
34b8c943c5 += epicsStdio for HPUX 2003-04-04 14:14:37 +00:00
Ralph Lange
c3cf188839 += chatr hint 2003-04-04 14:08:58 +00:00
Ralph Lange
b97ef3dfeb Reflect recent changes 2003-04-04 13:51:08 +00:00
Ralph Lange
c8c64a212c Restructured and adapted to recent build system changes; code
builds and runs both shared and static with native or GNU compiler
2003-04-04 12:50:29 +00:00
Janet B. Anderson
9242561f9f Updated for R3.14.2 2003-04-03 23:30:48 +00:00
Janet B. Anderson
41e66161de No build changes for R3.14.2. Removed the R3.13 release number from text. 2003-04-03 21:59:42 +00:00
Janet B. Anderson
b030fdeca3 Added note about R3.13 shared libraries. 2003-04-03 21:17:52 +00:00
Janet B. Anderson
e4e3945abb Updated for R3.14.2 2003-04-03 20:41:44 +00:00
Janet B. Anderson
ef12a97150 Updated for R3.14.2 2003-04-03 19:51:58 +00:00
Janet B. Anderson
655b95e2ba Updated for R3.14.2 2003-04-03 19:19:20 +00:00
W. Eric Norum
7d5128ca9b Make the readline the default on linux IOCs. 2003-04-03 19:07:48 +00:00
Andrew Johnson
9752b0612d Implemented epicsVsnprintf() properly using vxWorks' fioFormatV() function. 2003-04-03 17:07:33 +00:00
Ralph Lange
09c8888ccd Removed unused #define that caused a warning message 2003-04-03 12:16:34 +00:00
Ralph Lange
b54793967a Suppressed HP aCC compiler warnings 2003-04-03 12:11:02 +00:00
Ralph Lange
881ba6bb9d Fixed compiler warnings connected to missing char->int casts 2003-04-03 12:05:09 +00:00
Ralph Lange
5b0d460260 Removed additional define for HP compile 2003-04-03 12:04:03 +00:00
Janet B. Anderson
261d9315bd Updated comments. 2003-04-02 21:53:46 +00:00
Janet B. Anderson
09e36d5275 Updated comments. 2003-04-02 21:24:24 +00:00
Janet B. Anderson
ab925d6878 Updated comments. 2003-04-02 21:06:59 +00:00
Janet B. Anderson
3c94902cc0 Removed epicsExport header include line. 2003-04-02 21:05:08 +00:00
Andrew Johnson
68f93f75ed Renamed scan_list.rate => scanlist.period (which is really is).
float => double change for temp value.
Added scanPeriod() routine to convert a menuScan value into seconds.
2003-04-02 20:51:25 +00:00
Marty Kraimer
5209b3bd23 changes for 3.14.2 build 2003-04-02 20:46:04 +00:00
Janet B. Anderson
d29ba4b4dc Updated Comment 2003-04-02 20:26:09 +00:00
Janet B. Anderson
8f59a176b9 Updated comments. 2003-04-02 20:23:44 +00:00
Marty Kraimer
27fcd9bf91 fix for old config rules 2003-04-02 19:17:27 +00:00
Marty Kraimer
7ec63f6034 changes for epicsExport 2003-04-01 21:06:49 +00:00
Marty Kraimer
1d76d011a3 create typedef for rset and drvet 2003-04-01 21:06:09 +00:00
Marty Kraimer
0cf8aa13b5 convert host name to lower case 2003-04-01 21:03:57 +00:00
Marty Kraimer
2261062c8c new include file 2003-04-01 20:48:33 +00:00
Marty Kraimer
21375a0747 new file 2003-04-01 20:48:07 +00:00
Andrew Johnson
6990623a90 Drop the pedantry, it's only an annoyance nowadays. 2003-04-01 20:03:19 +00:00
Andrew Johnson
fa3501a4ad Removed simple example, which is now the makeBaseApp template "caServerApp". 2003-04-01 19:59:46 +00:00
Andrew Johnson
fcf98d1d26 johill 2003/03/26 23:48:00: "ref the gdd in the pv" 2003-04-01 19:54:32 +00:00
W. Eric Norum
3367ffaf12 Clean up comments. 2003-04-01 19:37:01 +00:00
W. Eric Norum
994010511d Converted to HTML. 2003-04-01 16:24:51 +00:00
W. Eric Norum
9d729dbab3 Convert to HTML. 2003-04-01 16:21:50 +00:00
W. Eric Norum
04874dc353 Clean up architecture envirionment variable description. Provide example. 2003-04-01 13:08:37 +00:00
W. Eric Norum
e866170a5d Add support for host addresses in dotted-decimal form. 2003-03-31 22:34:12 +00:00
W. Eric Norum
d5c7dff2dd See if this changes the mode properly. 2003-03-31 22:20:01 +00:00
Janet B. Anderson
8b21143482 Redefined TARGET_LDFLAGS. 2003-03-31 21:01:29 +00:00
Janet B. Anderson
b9926ba931 Added TARGET_LDFLAGS. 2003-03-31 20:42:11 +00:00
Janet B. Anderson
3a877b73e2 Modified comments. 2003-03-31 20:13:19 +00:00
Marty Kraimer
cb3c89f1da change for win32 2003-03-31 20:03:16 +00:00
Marty Kraimer
385d813002 more changes for stupid stupid win32 2003-03-31 19:53:55 +00:00
Janet B. Anderson
761cbdc882 Added -z defs linker option. 2003-03-31 18:47:35 +00:00
Janet B. Anderson
bd53d21bd9 Changed recIoc library to rsrvIoc. 2003-03-31 17:10:10 +00:00
Janet B. Anderson
db8e461bf1 Updated comments. 2003-03-31 17:00:28 +00:00
Janet B. Anderson
d17b216c73 Added recIoc.rc win32 resource file. 2003-03-31 16:42:19 +00:00
Janet B. Anderson
d144a22633 Added testDevIoc.rc win32 resource file. 2003-03-31 16:40:56 +00:00
Janet B. Anderson
d80c1a94b2 Added softDevIoc.rc win32 resource file. 2003-03-31 16:40:43 +00:00
Marty Kraimer
927446c261 Makefile changes so that rec and dev build on win32 2003-03-31 14:04:49 +00:00
Marty Kraimer
4b95841fcd more changes to get epicsShare to work on win32 2003-03-28 20:25:43 +00:00
Marty Kraimer
21ee244b5e more changes for epicsShare 2003-03-28 16:01:45 +00:00
Marty Kraimer
499d1fa9af epicsShareExtern => epicsShareDef 2003-03-28 15:59:53 +00:00
Janet B. Anderson
732d977ba0 Removed extra parenthesis. 2003-03-27 22:13:04 +00:00
Janet B. Anderson
a5af82c9ef removed printf. 2003-03-27 21:59:35 +00:00
Janet B. Anderson
f8175b3203 Removed epicsShareAPI 2003-03-27 21:50:33 +00:00
Janet B. Anderson
24abd0366d Removed epicsAhareAPI 2003-03-27 21:47:36 +00:00
Jeff Hill
d7c25d1554 removed epicsShareAPIV 2003-03-27 21:02:27 +00:00
Jeff Hill
6c9d8e3b26 fixed my lame spelling 2003-03-27 20:57:02 +00:00
Jeff Hill
ece267dc62 improved documentation 2003-03-27 18:47:26 +00:00
Janet B. Anderson
9ad47b4b6a Added comment about INSTALL_LOCATION_APP. 2003-03-27 15:41:56 +00:00
Janet B. Anderson
4d6c58393f Moved RUNTIME_LDFLAGS defintion. 2003-03-27 15:34:56 +00:00
Janet B. Anderson
9b9f61d49b Moved -shared option. 2003-03-27 15:31:55 +00:00
Marty Kraimer
37338038df fix epicsShare decoration 2003-03-27 15:00:33 +00:00
Marty Kraimer
6438775f6e RecordSizeOffset now static; fix decoration for registrar functions 2003-03-27 14:59:47 +00:00
Marty Kraimer
88bbe19d70 registerRecordDeviceDriver now defines GEN_SIZE_OFFSET 2003-03-27 14:58:40 +00:00
Marty Kraimer
245b7350a6 make sRecordSizeOffset static 2003-03-27 14:57:03 +00:00
Jeff Hill
641b33129c removed unnecessary includes 2003-03-27 01:08:45 +00:00
Jeff Hill
12634b33f9 removed unnecessary includes 2003-03-27 00:58:25 +00:00
Jeff Hill
53ba74afe0 ref the gdd in the pv 2003-03-26 23:48:00 +00:00
Jeff Hill
29132a9c5c small optimizations 2003-03-26 22:24:56 +00:00
Jeff Hill
5f1c656aed move sleep quantum cache to proper place in the fdManager class 2003-03-26 22:16:04 +00:00
Jeff Hill
e3fb337b70 move sleep quantum cache to proper place in the fdManager class 2003-03-26 22:12:54 +00:00
Jeff Hill
d0f68ee85f move sleep quantum cache to proper place in active timer queue 2003-03-26 22:12:07 +00:00
W. Eric Norum
7b589b0e27 Don't want gnuCommon -shared flag on Darwin. 2003-03-26 21:52:47 +00:00
Janet B. Anderson
9d5a961ed4 R3.14.2 2003-03-26 21:13:10 +00:00
Jeff Hill
534592997f move a warning from level 3 to level 4 and detect certain Ox related failures during debug builds 2003-03-26 21:11:13 +00:00
Janet B. Anderson
c806e34d50 Merged changes from epics_R3_13_1_branch branch. 2003-03-26 21:09:32 +00:00
Marty Kraimer
0ddf9a3039 remove epicsShareFunc 2003-03-26 20:10:47 +00:00
Marty Kraimer
7fb37da827 changes for new build rules 2003-03-26 20:10:04 +00:00
W. Eric Norum
6500500697 Ensure that dynamic library install name is an absolute path. 2003-03-26 20:05:53 +00:00
W. Eric Norum
73b7008a76 Numerous changes to reflect shared library and other 3.14 changes. 2003-03-26 15:45:01 +00:00
Marty Kraimer
3050b73084 use new method to register asSub functions 2003-03-26 14:04:19 +00:00
Marty Kraimer
19adb1a419 Use new technique to register sub functions 2003-03-26 13:28:08 +00:00
Janet B. Anderson
e164e767b2 Added RUNTIME_LDFLAGS. 2003-03-25 21:48:48 +00:00
Marty Kraimer
43a3cc4fe7 use _APPNAME_ instead of example 2003-03-25 20:18:55 +00:00
Janet B. Anderson
17ff237237 Updated comments. 2003-03-25 20:05:43 +00:00
W. Eric Norum
7013940665 Fix tab/space problem in previous patch. 2003-03-25 19:23:56 +00:00
W. Eric Norum
3096b35961 Don't leave dangling output files when msi fails. 2003-03-25 19:22:42 +00:00
Jeff Hill
03f495892c improved formatting for thread list 2003-03-25 17:51:04 +00:00
Jeff Hill
225970f1be fixed build errors 2003-03-25 17:35:15 +00:00
Marty Kraimer
652d3a41d8 use epicsVsnprintf instead of vsprint; allow more extra bytes because vxWorks subject to buffer overflow 2003-03-25 17:09:16 +00:00
Marty Kraimer
f3380f81f0 epicsStdio is new 2003-03-25 17:03:29 +00:00
Marty Kraimer
ec1f3cf06f let test return int so vxWorks doesnt report error 2003-03-25 17:03:01 +00:00
W. Eric Norum
9f529f8ed0 Add support for Darwin. 2003-03-25 17:00:38 +00:00
W. Eric Norum
0483b96784 Typo on displayed percentage. 2003-03-25 00:44:09 +00:00
Jeff Hill
80fc6bf2de better sleep quantum estimator 2003-03-25 00:25:39 +00:00
Jeff Hill
cb8434c553 better sleep quantum estimator 2003-03-25 00:21:38 +00:00
Jeff Hill
acb59a0a06 better sleep quantum estimator 2003-03-25 00:03:56 +00:00
Janet B. Anderson
58627395b5 Added dbExpand.tmp imtermediate file. 2003-03-24 23:12:35 +00:00
Marty Kraimer
09db1430da return failure if dbExpand fails 2003-03-24 19:54:27 +00:00
Marty Kraimer
5517c055da name should not include lib 2003-03-24 16:43:06 +00:00
Marty Kraimer
f41cdef0d6 changes for stupid win32 2003-03-24 13:54:30 +00:00
Ralph Lange
e675fd2178 Fixed HPUX problem: HZ is '#define'd in system header file 2003-03-24 08:19:45 +00:00
W. Eric Norum
2f676b3e9a Track changes to build system. 2003-03-23 21:25:08 +00:00
W. Eric Norum
2598effd57 Add extern declaration. 2003-03-22 17:14:52 +00:00
W. Eric Norum
e6fd26dba3 Cosmetic. 2003-03-22 16:57:16 +00:00
Jeff Hill
39d3883325 fixed missing init 2003-03-22 02:11:09 +00:00
Jeff Hill
2c3108c235 broke up extra long message because this causes buffer over run in errlog facility 2003-03-22 00:18:46 +00:00
Jeff Hill
1388f8d0f2 improved epicsThreadShow[All] 2003-03-21 23:31:10 +00:00
Marty Kraimer
76883c4a2f use NELEMENTS instead of registryFunction.h 2003-03-21 20:05:23 +00:00
Marty Kraimer
e808742fe1 function replaced by registrar 2003-03-21 19:41:50 +00:00
Marty Kraimer
57a22dab4d LIBRARIES=>LIBS 2003-03-21 19:36:40 +00:00
Jeff Hill
0792aebf95 added sleep quantum correction using epicsThreadSleepQuantum() 2003-03-21 19:26:00 +00:00
Jeff Hill
4c142e759c added epicsThreadSleepQuantum() 2003-03-21 19:19:24 +00:00
Jeff Hill
9c4c5d887c removed junk 2003-03-21 19:17:41 +00:00
Janet B. Anderson
be94e275cd Added EPICS_BASE_HOST_LIBRARIES definition. 2003-03-21 15:12:09 +00:00
Jeff Hill
83c0404bcf fixed gnu cpp c++ comment warnings 2003-03-21 01:40:15 +00:00
Jeff Hill
269e2938a2 optimized comBuf transactions 2003-03-21 01:37:08 +00:00
Janet B. Anderson
062fdf6173 Removed include of base RULES_JAVA. 2003-03-20 23:27:18 +00:00
Janet B. Anderson
4ce05e77ab Added comments about install location. 2003-03-20 23:26:37 +00:00
Janet B. Anderson
568997b573 Added LIB_EXT definition. 2003-03-20 23:15:58 +00:00
Janet B. Anderson
c9fab5f830 Updated comments. 2003-03-20 20:54:30 +00:00
Janet B. Anderson
e5dce2b256 Remove jba line accidently committed. 2003-03-20 20:44:07 +00:00
Janet B. Anderson
89cfbc5e21 Moved INSTALL_LOCATION definition to RELEASE file for SHRLIB_SEARCH_DIRS. 2003-03-20 20:36:16 +00:00
Jeff Hill
5f443dd538 fixed up the cygwin build for R3.14 2003-03-20 20:07:08 +00:00
Jeff Hill
3b4084e14c installed 2003-03-20 20:05:52 +00:00
Jeff Hill
5fd1b028dd use posix sockets 2003-03-20 20:00:22 +00:00
Jeff Hill
0f5ab03eb0 fixed up the cygwin build for R3.14 2003-03-20 19:56:49 +00:00
Janet B. Anderson
335269a25a Make rec, softDev, and testDev libs shared. 2003-03-20 19:53:29 +00:00
Jeff Hill
63b588defb possible workaround for unreproducable race during borland dll rundown 2003-03-19 23:18:28 +00:00
Jeff Hill
12e884b433 workaround for Borland compiler bug 2003-03-19 22:15:20 +00:00
Jeff Hill
e23e6bc1c7 fixed Borland warnings 2003-03-19 19:12:01 +00:00
Jeff Hill
28c0170730 fixed Borland warning 2003-03-19 19:10:02 +00:00
Janet B. Anderson
772e32365d No fPIC on compiles of vx library source files. 2003-03-19 18:49:06 +00:00
Jeff Hill
ed80ec6650 fixed Borland build issues 2003-03-19 18:00:33 +00:00
Janet B. Anderson
700fab38df Updated comments to reflect <name>_TEMPLATE changes. 2003-03-19 17:54:38 +00:00
Janet B. Anderson
421310b544 Modified to reflect new <name>_TEMPLATE changes. 2003-03-19 17:51:33 +00:00
Janet B. Anderson
22f533245b Fixed library definition. 2003-03-19 15:52:59 +00:00
Jeff Hill
55b51195f4 workaround for visual c++ 6.0 not compatible with c++ standards 2003-03-19 15:44:31 +00:00
Janet B. Anderson
f156dbef42 Fixed typo. 2003-03-19 15:13:22 +00:00
Janet B. Anderson
7489f53923 Removed Cstd library. 2003-03-19 15:12:13 +00:00
W. Eric Norum
0226c3ff30 Minor cleanup of previous dbl changes. 2003-03-19 14:33:22 +00:00
Marty Kraimer
02485be3b5 fix dbGetLink bug for arrays 2003-03-19 12:35:20 +00:00
W. Eric Norum
cf0dca2100 Allow empty strings to stand in for missing or 0 vxWorks argument. 2003-03-19 01:52:56 +00:00
Janet B. Anderson
6021e84957 Changes for shared libraries and os consistancy. 2003-03-18 22:45:03 +00:00
Janet B. Anderson
1693b492f8 Updated cvsroot information. 2003-03-18 21:23:49 +00:00
Jeff Hill
94347fc223 fixed undefined channel pointer in context 2003-03-18 20:39:48 +00:00
Janet B. Anderson
9e3e785ba6 Initial version debug targets. 2003-03-18 20:24:18 +00:00
Jeff Hill
1a2f2ad7e4 wakeup the event queue when placing channel delete events in it 2003-03-13 01:29:08 +00:00
Jeff Hill
b26b70ec8e cosmetic 2003-03-13 00:18:48 +00:00
Jeff Hill
38aad33d78 further bullet proof the server tool initiated PV destroy 2003-03-13 00:16:39 +00:00
Jeff Hill
18cac266cd added missing loop increment 2003-03-12 19:15:55 +00:00
Jeff Hill
7c4d4479ec workaround for Tornado II compiler bug 2003-03-11 17:39:44 +00:00
Jeff Hill
2353e483c7 fixed gnu warning 2003-03-10 23:49:11 +00:00
Jeff Hill
8efa36b734 changes allowing asynchronous casPV destroy 2003-03-10 22:26:33 +00:00
Jeff Hill
04f4585891 fixed last command def 2003-03-10 22:17:09 +00:00
Jeff Hill
c1128625bb improved diagnostics 2003-03-10 22:16:18 +00:00
Jeff Hill
4de99e49e7 return ECA_INTERNAL when the caught exception type is unknown 2003-03-10 22:12:51 +00:00
W. Eric Norum
5f80d74a79 Name change to reflect routine's affects on all 'slow' system calls. 2003-03-08 18:39:45 +00:00
Janet B. Anderson
b05d1db548 Fixed spelling error. 2003-03-05 18:33:26 +00:00
W. Eric Norum
c13617af36 Remove support for 0-length queues. vxWorks doesn't support them nor
does RTEMS so why go to the effort to support them on other systems.
2003-03-04 22:28:32 +00:00
W. Eric Norum
64e1a4ed0c Use C linkage.
Get rid of 0-length queues.
Clean up some messages.
2003-03-04 22:19:48 +00:00
W. Eric Norum
88f4124c5b Major modifications to ensure valid 'nBytes' argument to msgQReceive(). 2003-03-04 22:18:17 +00:00
W. Eric Norum
921e5b02f4 Make commented-out cd command syntactically-correct. 2003-03-04 20:01:03 +00:00
W. Eric Norum
5ce6d6a723 Map core status code to RTEMS status code. 2003-03-04 15:18:41 +00:00
W. Eric Norum
0b6a5b3bad Linux now seems to have putenv. 2003-03-03 21:53:19 +00:00
W. Eric Norum
2ed8cf1549 Allow inclusion from C++ source files. 2003-03-03 21:52:57 +00:00
W. Eric Norum
fd5c03bdad Add RTEMS support for EPICS message queues.
NOTE -- Not yet tested.
2003-03-03 18:49:23 +00:00
W. Eric Norum
b3a76e8c80 Turn -ansi back on and use osiUnistd.h to provide the missing
prototypes.
2003-03-02 18:59:52 +00:00
W. Eric Norum
4707a60805 Include oisUnistd.h to pick up some missing prototypes. 2003-03-02 18:57:24 +00:00
W. Eric Norum
5dd9a8b785 Since some systems show internal thread IDs in base 10, allow entry
of numeric thread IDs in any base.
2003-03-02 17:38:33 +00:00
W. Eric Norum
eaf0c60fe5 Print error message when confronted with invalid thread ID. Allow
thread show by EPICS thread ID or by POSIX thread ID.
Cosmetic: Remove tab characters.
2003-03-02 17:36:55 +00:00
W. Eric Norum
3c02a693c7 vxWorks version of message queue. 2003-02-28 22:22:07 +00:00
W. Eric Norum
36ffa70608 Cosmetic. 2003-02-28 22:21:48 +00:00
W. Eric Norum
8c8be61128 Don't use -ansi. 2003-02-28 21:38:54 +00:00
W. Eric Norum
0f35a43feb Show pthread ID as well as EPICS thread ID since the pthread ID is
what's needed with gdb.
2003-02-28 21:08:36 +00:00
W. Eric Norum
a1a6e8861e Add support for 0-length message queues. 2003-02-28 16:14:10 +00:00
W. Eric Norum
17624a28c3 Create os-dependent message queue routines. 2003-02-27 22:59:07 +00:00
Jeff Hill
22b33711e6 changed random() to ANSI C's rand() for win32 portability 2003-02-27 16:27:48 +00:00
Jeff Hill
2d281841da fixed DLL build on WIN32 2003-02-27 16:04:04 +00:00
W. Eric Norum
05674860b9 Use modified API. 2003-02-26 19:50:04 +00:00
W. Eric Norum
f64cf11377 Change API in anticipation of conversion to os-specific implementation. 2003-02-26 19:33:10 +00:00
W. Eric Norum
9cf668711b Add building instructions. 2003-02-25 20:08:54 +00:00
W. Eric Norum
017a3c9a92 Track changes to build environment.
Add Objective-C examples.
2003-02-25 19:46:53 +00:00
W. Eric Norum
2c32590dfc New developer tools can use more of the standard GNU toolchain options. 2003-02-25 19:38:24 +00:00
Jeff Hill
c9f81cc05c improved test 2003-02-24 22:27:07 +00:00
Marty Kraimer
30f0f765a3 remove obsolete README 2003-02-24 21:21:12 +00:00
Jeff Hill
162072dbd4 fixed gnu warning 2003-02-24 17:19:07 +00:00
W. Eric Norum
4f2ec7b68b Use correct header file for memcpy prototype. 2003-02-24 16:23:43 +00:00
Jeff Hill
2c21dd8737 receive watchdog delay diagnostic 2003-02-24 16:05:22 +00:00
Jeff Hill
385db085c7 added receive watchdog delay test 2003-02-24 16:05:00 +00:00
Jeff Hill
63fdc318ac fixed beacon time stamp initialization for beacons associated with active circuits 2003-02-24 16:04:29 +00:00
Jeff Hill
b73101f5e5 removed unused argument 2003-02-24 16:02:50 +00:00
Jeff Hill
7624b0559b receive watchdog delay diagnostic and fixed echo request flush 2003-02-24 15:59:34 +00:00
W. Eric Norum
162fafc914 Clean up assorted C++ warnings and one error which showed up on Solaris. 2003-02-24 14:03:42 +00:00
Jeff Hill
fc543b5647 better message when a C++ exception terminates a C++ thread 2003-02-21 23:55:39 +00:00
W. Eric Norum
4c980ea26f Add epicsMessageQueue support. 2003-02-21 18:40:31 +00:00
Jeff Hill
337e45d36c small change to section on netmasks 2003-02-21 16:08:53 +00:00
Jeff Hill
0a36ab72b6 fixed spelling 2003-02-21 16:06:15 +00:00
Jeff Hill
58db479320 better explanation of subnet masks 2003-02-21 15:59:11 +00:00
Jeff Hill
4ba569a03f fixed casChannel deleted after casPV that it was using was deleted 2003-02-21 02:28:32 +00:00
Jeff Hill
57a9364c72 call proper destroy method in the channel interface 2003-02-21 01:21:15 +00:00
Jeff Hill
1fb29c2040 optimizations suggested by quantify 2003-02-21 00:29:04 +00:00
Jeff Hill
58837c8297 cosmetic 2003-02-21 00:27:12 +00:00
Jeff Hill
739bc335b7 optimizations suggested by quantify 2003-02-20 22:46:16 +00:00
Jeff Hill
26166e9195 fixed gnu compiler issue 2003-02-20 19:53:25 +00:00
Jeff Hill
003fed106b cosmetic 2003-02-20 17:28:52 +00:00
Jeff Hill
dd82684617 fixed inappropriate use of const 2003-02-20 17:28:17 +00:00
Jeff Hill
3f680362bb improved client scedualing fro fdManager based apps 2003-02-20 17:27:04 +00:00
W. Eric Norum
077fe6e1f3 Don't add blank lines to readline history. 2003-02-20 16:25:46 +00:00
Jeff Hill
0207edfdbd cosmetic 2003-02-18 23:46:13 +00:00
Jeff Hill
efa1cfac35 added mising C created timer destroy functions 2003-02-18 21:10:11 +00:00
Jeff Hill
5e1df0e93b cosmetic 2003-02-18 21:09:11 +00:00
Andrew Johnson
6a95724b78 Use <th> for table header lines.
TS_MIN_WEST = 0 for UK, not -60 (except in summer time...)
2003-02-18 18:48:41 +00:00
Jeff Hill
7d80377cde fixed borland build problems 2003-02-18 18:22:18 +00:00
Andrew Johnson
19ae675bf0 Attempt to stop amaya's word-wrap from inserting a line-break in the middle
of the $Id:...$ expansion, which prevents CVS from recognizing.
2003-02-18 17:14:07 +00:00
Jeff Hill
d013a1cc95 fixed several spelling errors 2003-02-18 16:31:48 +00:00
Andrew Johnson
31c67f87c5 Tornado 2.2 doesn't like const for the second argument to sendto() 2003-02-13 22:59:36 +00:00
Andrew Johnson
e1629627c0 Fixed some internal link targets that didn't exist. 2003-02-13 22:57:27 +00:00
Andrew Johnson
bc4957ceed Added some comments to remind users what to change.
Took out the dbLoadRecords() as simpleApp doesn't provide a .db file.
2003-02-13 22:36:50 +00:00
Andrew Johnson
31ece2df3c Resync with src/cas/example/simple: "improved structure and thread safety" 2003-02-13 22:19:46 +00:00
Jeff Hill
62ea4977f0 fixed sun pro warning 2003-02-13 15:52:48 +00:00
Jeff Hill
cf2e373436 added missing header file 2003-02-13 00:11:02 +00:00
Jeff Hill
87aca7838e optimizations 2003-02-12 23:54:34 +00:00
W. Eric Norum
90cf8344c2 Add forward structure declarations to prevent compiler warnings when
recGbl.h is included on its own (i.e. just to get recGblSetSevr).
2003-02-12 21:22:23 +00:00
Jeff Hill
4c23d311e4 added missing func prototype 2003-02-12 19:47:08 +00:00
Jeff Hill
14f3be7cb5 removed unused file 2003-02-12 19:45:05 +00:00
Jeff Hill
f264ba4927 fixed gnu warning 2003-02-12 19:39:28 +00:00
Jeff Hill
96f1ac2d63 installed 2003-02-12 19:11:43 +00:00
Jeff Hill
644e6eb273 improved structure and thread safety 2003-02-12 19:06:15 +00:00
Jeff Hill
234c515b05 removed exception specifications 2003-02-12 19:03:59 +00:00
Jeff Hill
648557b72c added authors 2003-02-12 19:03:00 +00:00
Jeff Hill
421e4b71b1 added removeAll mf 2003-02-12 19:00:33 +00:00
Jeff Hill
eb85ae1326 added iterator typedef 2003-02-12 19:00:08 +00:00
Jeff Hill
3f3f6963a0 added mf to check for identical mutex 2003-02-12 18:58:50 +00:00
Jeff Hill
27a12c8a0f removed 2003-02-12 18:56:48 +00:00
Jeff Hill
33b4622a1f use template to reduce code 2003-02-12 18:56:40 +00:00
Jeff Hill
f8db8b4dc0 switched to epicsMutex for locking 2003-02-12 18:54:48 +00:00
Jeff Hill
11dcec07bf added ref count locking 2003-02-12 18:54:10 +00:00
Jeff Hill
517b60cb16 added gdd global lock 2003-02-12 18:52:30 +00:00
Jeff Hill
8e5aa40895 removed throw specifications 2003-02-12 18:51:35 +00:00
W. Eric Norum
fb8aa21cc8 Make command-line editing optional. 2003-02-12 01:01:03 +00:00
Andrew Johnson
a1f332be01 Moved base.dbd from both makeBaseApp templates into src/misc.
An application only needs a copy if it wants to remove stuff.
2003-02-11 23:25:11 +00:00
Andrew Johnson
57a21b390f We should discourage the creation of .dbd files in Db subdirectories.
From 3.14 they also need the _RegisterRecordDeviceDriver.cpp stuff,
which should appear in a src directory.
2003-02-11 23:04:35 +00:00
Andrew Johnson
3d68b58cbb Don't prompt for an IOC target architecture if there's only one available. 2003-02-11 22:01:55 +00:00
W. Eric Norum
4f2f873574 Make readline inclusion a matter of uncommenting only 1 line (half the effor!). 2003-02-11 20:44:32 +00:00
W. Eric Norum
b35c92278b Bug fix for template filename expansion. 2003-02-11 16:08:08 +00:00
Janet B. Anderson
e359f48237 Allow <name>_LDFLAGS. 2003-02-10 22:52:10 +00:00
Janet B. Anderson
4b2ddb5e80 Allow PROD_RCS and LIB_RCS. 2003-02-10 22:48:14 +00:00
W. Eric Norum
8eb5ff24c6 Clean up -pedantic flag.
Add support for objective-C.
2003-02-10 16:28:48 +00:00
Marty Kraimer
0e15ac20e3 Use Andrew's changes as basis for fixing problem Ron Sluiter reported 2003-02-10 14:56:12 +00:00
Andrew Johnson
3ed8f54151 Fixed problem with recvfrom() when running on T2.2 - found by Ron Sluiter.
This is a slightly different solution to his though.
2003-02-08 00:29:56 +00:00
Jeff Hill
7aacae66d4 typedef has an exception specification 2003-02-07 21:15:27 +00:00
Andrew Johnson
f5170b7999 Don't need to add SHRLIB_SEARCH_DIRS to SHRLIB_LDFLAGS 2003-02-07 19:50:58 +00:00
Andrew Johnson
05d4a234aa Fix so the CONFIG_APP_INCLUDE files for base get included. 2003-02-07 19:18:05 +00:00
Jeff Hill
dedb6c25f4 workaround for WRS T2.2 cygnus gnu compiler bugs 2003-02-07 18:23:48 +00:00
Jeff Hill
8345d76473 fixed gnu warning 2003-02-07 16:47:06 +00:00
Jeff Hill
152d7430e8 cleaned up throw specifications 2003-02-07 16:43:43 +00:00
Jeff Hill
8e64cdcd84 cleaned up throw specifications 2003-02-07 16:40:40 +00:00
Andrew Johnson
60d230c0b7 Added CONFIG_TARGETS so we build CONFIG_APP_INCLUDE
(needed for SHRLIB_SEARCH_DIRS)
2003-02-06 22:21:10 +00:00
Andrew Johnson
582e48cd6e Modified comments about SHRLIB_SEARCH_DIRS 2003-02-06 22:11:03 +00:00
Andrew Johnson
3a4296cd4e Changed the definition of SHRLIB_SEARCH_DIRS to be the actual dir searched
Added implementation for solaris-sparc
2003-02-06 22:00:20 +00:00
Andrew Johnson
df2451c7ee Added code to emit SHRLIB_SEARCH_DIRS settings into CONFIG_APP_INCLUDE 2003-02-06 21:57:51 +00:00
Andrew Johnson
52fc660e03 Fixed sub Cleanup() - s/'\n'/"\n"/ 2003-02-06 19:37:18 +00:00
Andrew Johnson
8ee88feabb Added _APPNAME_ to ioc boot stuff. 2003-02-06 17:21:30 +00:00
Andrew Johnson
ad68425f39 More comments on setting names, added the #! line and chmod +x comment 2003-02-06 16:23:51 +00:00
W. Eric Norum
2296613061 Change comment to match file name. 2003-02-06 14:58:59 +00:00
W. Eric Norum
471bb75029 Clean up some printf format/argument warnings. 2003-02-06 14:55:50 +00:00
Andrew Johnson
081cb42dc8 Moved CA client examples into their own caClientApp
Added caServerApp - copied from src/cas/example/simple
Made simpleApp significantly more useful
Made exampleApp use the _APPNAME_ macro instead of example in various places
2003-02-05 23:46:23 +00:00
Jeff Hill
168c9c5503 added beacon anomaly count diagnostic 2003-02-05 22:08:54 +00:00
Jeff Hill
0b8f25214f improved acctst doc 2003-02-05 20:44:57 +00:00
Janet B. Anderson
47c1f7b6a3 INSTALL_JAVA defined in CONFIG_COMMON. 2003-02-02 21:24:01 +00:00
Jeff Hill
c60970a0ab added paragraph on mbuf starvation 2003-01-31 00:50:14 +00:00
Jeff Hill
6ce867d70d fixed no termination from event remove loop if event queue is 100% full 2003-01-30 15:48:41 +00:00
Janet B. Anderson
c5fe6a39d0 Allow <name>_TEMPLATE specifications. 2003-01-30 15:42:25 +00:00
Jeff Hill
ed008a4d49 correct name for epicsTimerQueueRelease 2003-01-29 20:03:15 +00:00
Janet B. Anderson
9c4d568546 Added PROD_LDFLAGS, LIB_LDFLAGS, PROD_OBJLIBS, USR_OBJLIBS, LIB_OBJLIBS. 2003-01-24 22:01:34 +00:00
Janet B. Anderson
e0705d2632 Added USR_OBJS. 2003-01-24 18:00:29 +00:00
Janet B. Anderson
7c57ed82c9 Added USR_SRCS 2003-01-24 17:46:01 +00:00
Jeff Hill
92d9d53387 cosmetic 2003-01-23 22:58:23 +00:00
Jeff Hill
21058eed94 fixed 1st argument to select 2003-01-23 22:55:27 +00:00
Jeff Hill
ca661479f8 fixed double include 2003-01-23 22:53:31 +00:00
Jeff Hill
69c4fe707a fixed Linux warning 2003-01-23 20:26:20 +00:00
Jeff Hill
5a6a822e37 fixed cpu consumption problems in clients that use fd managers
together with ca fd registration
2003-01-23 20:21:04 +00:00
Jeff Hill
f119b11c57 fixed cpu consumption problems in clients that use fd managers
together with ca fd registration
2003-01-23 20:13:44 +00:00
Janet B. Anderson
407944854b Simplified SHRLIB_LDFLAGS_YES/NO to SHRLIB_LDFLAGS. 2003-01-23 17:02:32 +00:00
Janet B. Anderson
1108c9e00a Added DEBUG flags and libs. 2003-01-23 17:00:42 +00:00
Janet B. Anderson
7d2390eb74 Allow creating a *.db from *.substitutions and DB_TEMPLATE. 2003-01-22 20:51:53 +00:00
Janet B. Anderson
fa5a497f50 Added note about shared library builds on solaris. 2003-01-17 20:07:05 +00:00
Janet B. Anderson
48258e1393 Updated path info. 2003-01-17 20:06:33 +00:00
Jeff Hill
3c4c984954 checked off large arrays 2003-01-17 01:20:53 +00:00
Jeff Hill
36292e8c37 replace server list with server pointer 2003-01-17 01:20:31 +00:00
Jeff Hill
2311b4c9d5 implement flush with fast access list 2003-01-17 01:19:14 +00:00
Jeff Hill
205c0838ed added server list 2003-01-17 01:18:19 +00:00
Jeff Hill
f1cc9e98aa longer timeout 2003-01-09 20:37:33 +00:00
Jeff Hill
e09746cf38 changed to 1:1 ratio channels to monitors to better reflect reality 2003-01-09 17:26:41 +00:00
Jeff Hill
2f7c14486b fixed sun pro warning 2003-01-09 16:40:01 +00:00
Jeff Hill
0b33801f3c redesigned mutex locking 2003-01-09 00:43:59 +00:00
Jeff Hill
adb0b5d9eb redesigned mutex locking 2003-01-08 23:22:08 +00:00
Jeff Hill
7cf6e3bcdd doc 2003-01-08 01:02:31 +00:00
Jeff Hill
2ca9b78d56 more spinlock tests 2003-01-08 00:52:54 +00:00
Jeff Hill
7b5f3f85fe test version of posix spin locks 2003-01-07 22:16:35 +00:00
Janet B. Anderson
4994020e5e Added sample CONFIG_SITE files. 2003-01-07 21:13:21 +00:00
Jeff Hill
1fb9f3ca31 improved assert failure in test 2003-01-07 21:01:53 +00:00
Jeff Hill
63d1c92aa7 gnu compiler required reinterpret_cast<> when converting from void * to another pointer 2003-01-07 17:40:53 +00:00
Janet B. Anderson
eac2ab98be Allow *_SRCS and *_OBJS and LDOBJS in creation of OBJLIB. 2003-01-07 17:33:24 +00:00
Jeff Hill
9421ac3696 remove code supressing errornos that are only appropriate to stream io 2003-01-07 17:30:04 +00:00
Jeff Hill
d2ee701574 supress bogus warning messages 2003-01-07 17:29:20 +00:00
Jeff Hill
ae7a9ebfa2 cleaned up resid to object conversion 2003-01-07 17:12:07 +00:00
Jeff Hill
c9a2188752 fixed use of reinterpret_cast to cast down the inheritance
hierarchy when static_cast is the correct way to do this
2003-01-07 16:05:01 +00:00
Jeff Hill
360204275e removed leftover junk 2003-01-07 16:01:11 +00:00
Jeff Hill
c3e1624478 cosmetic 2003-01-07 15:59:51 +00:00
Jeff Hill
e7a613e60a reinterpret cast not required when casting a void * pointer to another pointer type 2003-01-07 15:57:31 +00:00
Jeff Hill
8243afe938 removed leftover junk 2003-01-07 15:55:02 +00:00
Jeff Hill
e8efa5b015 reinterpret cast not required when casting a void * pointer to another pointer type 2003-01-07 15:52:24 +00:00
Jeff Hill
11ad86c68e fixed typo 2003-01-06 23:13:12 +00:00
Jeff Hill
9046d5f13c the EPICS build system isnow defining _EXTENSIONS_ on Solaris 2003-01-06 18:09:35 +00:00
596 changed files with 17943 additions and 12438 deletions

View File

@@ -1,5 +1,5 @@
Copyright (c) 2002 University of Chicago and The Regents of the University
of California. All rights reserved.
Copyright (c) 1991-2003 University of Chicago and The Regents of the
University of California. All rights reserved.
EPICS BASE is distributed subject to the following license agreement:

4
README
View File

@@ -2,9 +2,9 @@
EPICS Base - the central core of a control system toolkit
---------------------------------------------------------
Copyright (c) 2002 The University of Chicago, as Operator
Copyright (c) 1991-2003 The University of Chicago, as Operator
of Argonne National Laboratory.
Copyright (c) 2002 The Regents of the University of
Copyright (c) 1991-2003 The Regents of the University of
California, as Operator of Los Alamos National Laboratory.
EPICS Base Versions 3.13.7 and higher are distributed

View File

@@ -37,7 +37,7 @@ OP_SYS_LDFLAGS += -L/sw/lib -L/usr/X11R6/lib
#ARCH_DEP_LDLIBS += -lreadline
# Uncomment this if you're using the libtecla library
ARCH_DEP_LDLIBS += -ltecla_r -ltermcap
#ARCH_DEP_LDLIBS += -ltecla_r -ltermcap
#
# Compiler/linker problems prevent the use of shared libraries at the moment

View File

@@ -47,4 +47,9 @@ SYS_DLL_LIBS_Linux += pthread readline curses rt
# and see if that makes the problem go away."
#ARCH_DEP_CFLAGS += -D_GNU_SOURCE
# Runtime ldflags
RUNTIME_LIBS =$(EPICS_BASE)/lib/$(EPICS_HOST_ARCH)\
$(EPICS_EXTENSIONS)/lib/$(EPICS_HOST_ARCH)
RUNTIME_LDFLAGS = $(RUNTIME_LIBS:%=-Wl,-rpath,%)

View File

@@ -83,7 +83,7 @@ OP_SYS_LDLIBS = -lm
# Link definitions
LINK.c = $(CC) -o $@ $(CFLAGS) $(CPPFLAGS) $(LDFLAGS)
LINK.cc = $(CXX) -o $@ $(CXXFLAGS) $(CPPFLAGS) $(LDFLAGS)
#--------------------------------------------------
# Allow site overrides
-include $(EPICS_BASE)/config/CONFIG_SITE.Host.UnixCommon

View File

@@ -42,3 +42,9 @@ GCC_DEP_CFLAGS = -D_REENTRANT
G++_DEP_CFLAGS = -D_REENTRANT
POSIX_CPPFLAGS_YES = -D_POSIX_SOURCE
# Runtime ldflags
RUNTIME_LIBS =$(EPICS_BASE)/lib/$(EPICS_HOST_ARCH)\
$(EPICS_EXTENSIONS)/lib/$(EPICS_HOST_ARCH)
RUNTIME_LDFLAGS = $(RUNTIME_LIBS:%=-Wl,-rpath,%)

View File

@@ -14,76 +14,60 @@
ARCH_CLASS = hpux
SHARED_LIBRARIES=YES
# Include definitions common to all Unix archs
include $(EPICS_BASE)/config/CONFIG.Host.UnixCommon
SHRLIB_SUFFIX = .sl
AR = ar
AR = ar -rc
# Configure OS vendor C compiler
ACC = cc
ACC_ANSI = $(ACC) -Aa
ACC_STRICT = $(ACC) -Aa
ACC_TRAD = $(ACC)
ACC_TRAD = $(ACC) -Ac
ACC_WARN_YES =
ACC_WARN_NO = -w
ACC_OPT_YES = -O
ACC_OPT_NO = -g
ACC_SFLAGS_YES= -Wl,-a,archive
ACC_SFLAGS_NO=
# Always keep libc shared to force using the one supplied with the
# target machine (HP system and libc must match - important e.g. for
# multi-CPU-systems)
ACC_SLDFLAGS_YES= -Wl,-a,archive -l:libc.sl
ACC_SFLAGS_NO =
ACC_SLIBS_YES =
ACC_SLIBS_NO=
ACC_SHRLIB_CFLAGS_YES = +Z
ACC_SLIBS_NO =
ACC_SHRLIB_LDFLAGS_YES = -b
ACC_DEP_CFLAGS=+DAportable
# Configure OS vendor C++ compiler
HPCC = cc
HPCC_ANSI = $(HPCC) -Aa
HPCC_STRICT = $(HPCC) -Aa
HPCC_TRAD = $(HPCC) -Ac
HPCC_WARN_YES =
HPCC_WARN_NO = -w
HPCC_OPT_YES = -O
HPCC_OPT_NO = -g
HPCC_SFLAGS_YES= -Wl,-a,archive
HPCC_SFLAGS_NO=
HPCC_SLIBS_YES =
HPCC_SLIBS_NO=
HPCC_SHRLIB_CFLAGS_YES = +Z
HPCC_SHRLIB_LDFLAGS_YES = -b
HPCC_DEP_CFLAGS=+DAportable
#Old HP C++ compiler
#CCC = CC
#CCC_NORMAL = $(CCC) +p
#New HP C++ compiler
# aCC 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
# Suppress bogus warnings created by the aCC compiler
CCC_NORMAL = $(CCC) -AA -Aa -mt +W302 +W829 +W818 +W392 +W469 +W495 +W749 +W667 +W392 +W684
CCC_STRICT = $(CCC) -AA -Aa -mt
CCC_TEMPL_INST_FLAG =
CCC_WARN_YES = +w
CCC_WARN_NO =
CCC_OPT_YES = -O
CCC_OPT_YES = +O3
CCC_OPT_NO = -g
CCC_SFLAGS_YES= -Wl,-a,archive
# Always keep libc shared to force using the one supplied with the
# target machine (HP system and libc must match - important e.g. for
# multi-CPU-systems)
CCC_SLDFLAGS_YES= -Wl,-a,archive -l:libc.sl
CCC_SFLAGS_NO=
CCC_SLIBS_YES =
CCC_SLIBS_NO=
CCC_SHRLIB_CFLAGS_YES = +Z
# shared libs will be found by searching environment variable SHLIB_PATH,
# then by searching the specified path (see below)
CCC_SHRLIB_LDFLAGS_YES = -b
CCC_DEPENDS_FLAG = +m
CCC_DEP_CFLAGS=+DAportable
# +DAportable causes portable object code to be created for execution
# on different PA-Risc machines
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
# Portability across different PA-RISC architecture versions, position
# independent code, "-mt" (s.a.) handles all the posix stuff
ARCH_DEP_CPPFLAGS = -DHP_UX +DAportable +z
ARCH_DEP_CFLAGS = -D_HPUX_SOURCE
# Set runtime path for shared libraries
empty:= # trick from the make docs...
space:= $(empty) $(empty)
RUNTIME_LDFLAGS_YES = -Wl,+b$(subst $(space),:,$(sort $(SHRLIB_SEARCH_DIRS))),+s
RUNTIME_LDFLAGS += $(RUNTIME_LDFLAGS_$(SHARED_LIBRARIES))

View File

@@ -0,0 +1,49 @@
#*************************************************************************
# Copyright (c) 2002 The University of Chicago, as Operator of Argonne
# National Laboratory.
# Copyright (c) 2002 The Regents of the University of California, as
# Operator of Los Alamos National Laboratory.
# EPICS BASE Versions 3.13.7
# and higher are distributed subject to a Software License Agreement found
# in file LICENSE that is included with this distribution.
#*************************************************************************
# CONFIG.Host.hpux-parisc-gnu
#
# This file is maintained by the EPICS community.
# Sites may override these definitions in CONFIG_SITE.Host.hpux-parisc-gnu
ARCH_CLASS = hpux
SHARED_LIBRARIES=YES
# Include definitions common to all Unix archs
include $(EPICS_BASE)/config/CONFIG.Host.UnixCommon
AR = ar -rc
ARCMD = $(AR) $@
#==========================
# These are overrides of ANSI and CPLUSPLUS values in CONFIG_SITE
ANSI=GCC
CPLUSPLUS=G++
#==========================
# Always keep libc shared to force using the one supplied with the
# target machine (HP system and libc must match - important e.g. for
# multi-CPU-systems)
GCC_SLDFLAGS_YES = -l:libc.sl
G++_SLDFLAGS_YES = -l:libc.sl
# socket and nsl needed by libca.a
#ARCH_DEP_LDLIBS += -lsocket -lnsl
ARCH_DEP_LDLIBS += -lpthread
ARCH_DEP_CPPFLAGS += -D_PTHREADS -DOSITHREAD_USE_DEFAULT_STACK
# Allows R3.13 built extensions to load R3.14 shared libs
SYS_DLL_LIBS_hpux += pthread
# Set runtime path for shared libraries
empty:= # trick from the make docs...
space:= $(empty) $(empty)
RUNTIME_LDFLAGS_YES = -Wl,+b$(subst $(space),:,$(sort $(SHRLIB_SEARCH_DIRS))),+s
RUNTIME_LDFLAGS += $(RUNTIME_LDFLAGS_$(SHARED_LIBRARIES))

View File

@@ -35,14 +35,14 @@ ACC = $(SPARCWORKS)/bin/cc
ACC_ANSI = $(ACC) -Xa -v
ACC_STRICT = $(ACC) -Xc -v
ACC_TRAD = $(ACC) -Xs
ACC_DEP_CFLAGS = -KPIC
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 $@ -z ignore -z combreloc -z lazyload
@@ -51,7 +51,7 @@ ACC_SHRLIB_LDFLAGS_YES = -G -h $@ -z ignore -z combreloc -z lazyload
CCC = $(SPARCWORKS)/bin/CC
CCC_NORMAL = $(CCC) +p
CCC_STRICT = $(CCC) +p
CCC_DEP_CFLAGS = -KPIC
CCC_DEP_CFLAGS = -KPIC -D_REENTRANT
CCC_TEMPL_INST_FLAG =
CCC_WARN_YES = +w
CCC_WARN_NO =
@@ -59,12 +59,12 @@ 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 $@ -z ignore -z combreloc -z lazyload
SOLARIS_VERSION = $(subst 5.,,$(shell uname -r))
ARCH_DEP_CPPFLAGS += -DSOLARIS=$(SOLARIS_VERSION)
POSIX_CPPFLAGS_YES += -D__EXTENSIONS__
@@ -78,3 +78,9 @@ ARCH_DEP_LDLIBS += $(ARCH_DEP_LDLIBS_$(SOLARIS_VERSION))
#Allows R3.13 built extensions to load R3.14 shared libs
SYS_DLL_LIBS_solaris_8 = Crun
SYS_DLL_LIBS_solaris += posix4 pthread $(SYS_DLL_LIBS_solaris_$(SOLARIS_VERSION))
# Runtime ldflags
RUNTIME_LDFLAGS =$(addprefix -R,$(EPICS_BASE)/lib/$(EPICS_HOST_ARCH)\
$(EPICS_EXTENSIONS)/lib/$(EPICS_HOST_ARCH))

View File

@@ -46,3 +46,8 @@ ARCH_DEP_LDLIBS += $(ARCH_DEP_LDLIBS_$(SOLARIS_VERSION))
#Allows R3.13 built extensions to load R3.14 shared libs
SYS_DLL_LIBS_solaris_8 = Crun
SYS_DLL_LIBS_solaris += posix4 pthread $(SYS_DLL_LIBS_solaris_$(SOLARIS_VERSION))
# Runtime ldflags
RUNTIME_LDFLAGS =$(addprefix -R,$(EPICS_BASE)/lib/$(EPICS_HOST_ARCH)\
$(EPICS_EXTENSIONS)/lib/$(EPICS_HOST_ARCH))

View File

@@ -93,3 +93,6 @@ ARCH_DEP_CFLAGS = -DSUNOS4
#SPECIAL_LANG = /usr/lang/SC3.0.1
#SPECIAL_LANG = /usr/lang/lib
# Runtime ldflags
RUNTIME_LDFLAGS =$(addprefix -R,$(EPICS_BASE)/lib/$(EPICS_HOST_ARCH)\
$(EPICS_EXTENSIONS)/lib/$(EPICS_HOST_ARCH))

View File

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

View File

@@ -238,7 +238,7 @@ CXXFLAGS = $(OPT_CXXFLAGS) $(DEBUG_CXXFLAGS) $(WARN_CXXFLAGS) $(TARGET_CXXFLAGS)
$(OP_SYS_CFLAGS) $(TEMPL_INST_CXXFLAG) $(INCLUDES)
LDFLAGS = $(OPT_LDFLAGS) $(TARGET_LDFLAGS) $(USR_LDFLAGS)\
$(ARCH_DEP_LDFLAGS) $(STATIC_LDFLAGS) $(OP_SYS_LDFLAGS)
$(ARCH_DEP_LDFLAGS) $(STATIC_LDFLAGS) $(OP_SYS_LDFLAGS) $(RUNTIME_LDFLAGS)
LDLIBS = $(TARGET_LDLIBS) $(USR_LDLIBS) $(ARCH_DEP_LDLIBS)\
$(STATIC_LDLIBS) $(OP_SYS_LDLIBS) $(POSIX_LDLIBS)

View File

@@ -25,5 +25,3 @@ export LD_LIBRARY_PATH := $(INSTALL_HOST_LIB):$(EPICS_BASE_HOST_LIB):$(LD_LIBRAR
else
export LD_LIBRARY_PATH := $(EPICS_BASE_HOST_LIB):$(LD_LIBRARY_PATH)
endif

View File

@@ -0,0 +1,13 @@
#*************************************************************************
# Copyright (c) 2002 The University of Chicago, as Operator of Argonne
# National Laboratory.
# Copyright (c) 2002 The Regents of the University of California, as
# Operator of Los Alamos National Laboratory.
# EPICS BASE Versions 3.13.7
# and higher are distributed subject to a Software License Agreement found
# in file LICENSE that is included with this distribution.
#*************************************************************************
# $Id$
# hpux-parisc is the new name for hp700
-include $(EPICS_BASE)/config/CONFIG_HOST_ARCH.hp700

View File

@@ -4,23 +4,8 @@
# Site Specific Configuration Information
# Only the local epics system manager should modify this file
# by default, build and use shared libraries
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 = /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.
#However, when a new shared library is built using the above configuration,
#it should be copied into the location specified by DEFAULT_SHRLIB_SEARCH_PATH
#which in this specific case is: /cs/lib/R3.13.1.1/
# cal added this so that libraries can be built with position
# independent code even if shared libraries aren't being built
ifeq ($(RELOCATABLE), YES)
ARCH_DEP_CFLAGS += +Z
ARCH_DEP_CXXFLAGS += +Z
endif
# By default, shared libraries are built and used. Override here.
#SHARED_LIBRARIES=NO
# This is the absolute path to the generic INSTALL_LOCATION, for SHARED_LIBRARY searches.
SHRLIB_SEARCH_DIRS += /opt/epics/R$(EPICS_VERSION).$(EPICS_REVISION).$(EPICS_MODIFICATION)/support/base/$(EPICS_VERSION)-$(EPICS_REVISION)-$(EPICS_MODIFICATION)-$(EPICS_UPDATE_NAME)$(EPICS_UPDATE_LEVEL)/lib/$(EPICS_HOST_ARCH)

View File

@@ -0,0 +1,11 @@
#
# $Id$
#
# Site Specific Configuration Information
# Only the local epics system manager should modify this file
# By default, shared libraries are built and used. Override here.
#SHARED_LIBRARIES=NO
# This is the absolute path to the generic INSTALL_LOCATION, for SHARED_LIBRARY searches.
SHRLIB_SEARCH_DIRS += /opt/epics/R$(EPICS_VERSION).$(EPICS_REVISION).$(EPICS_MODIFICATION)/support/base/$(EPICS_VERSION)-$(EPICS_REVISION)-$(EPICS_MODIFICATION)-$(EPICS_UPDATE_NAME)$(EPICS_UPDATE_LEVEL)/lib/$(EPICS_HOST_ARCH)

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

@@ -93,7 +93,7 @@ endif
clean::
@echo "Cleaning"
@$(RM) *.i *.o *.a *.out $(TARGETS) $(PROD) $(LIBNAME) $(INC) \
$(DBDINSTALL) $(MENUS) $(RECTYPES) $(BPTS) $(DBDNAME)
$(DBDINSTALL) $(MENUS) $(RECTYPES) $(BPTS) $(DBDNAME) *.c
ifdef MUNCH
@$(RM) $(MUNCHNAME) ctdt.c ctdt.o nm.out
endif
@@ -171,8 +171,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

View File

@@ -104,7 +104,7 @@ sub Usage
print "Usage:\n";
print "\t$tool [ -m mode ] file ... directory\n";
print "\n";
print "\t-d Create non-exising directories\n";
print "\t-d Create non-existing directories\n";
print "\t-m mode Set the mode for the installed file";
print " (0755 by default)\n";
print "\tfile Name of file\n";

View File

@@ -41,7 +41,7 @@ include $(CONFIG)/CONFIG_SITE
#
include $(CONFIG)/os/CONFIG.$(EPICS_HOST_ARCH).Common
-include $(CONFIG)/os/CONFIG_SITE.$(EPICS_HOST_ARCH).Common
-include $(CONFIG)/O.$(T_A)/CONFIG_APP_INCLUDE
ifdef T_A

View File

@@ -22,27 +22,31 @@ 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_STRICT = -ansi
CONFORM_CFLAGS_TRAD = -traditional
PROF_CFLAGS_YES = -p
GPROF_CFLAGS_YES = -pg
CODE_CFLAGS = $(PROF_CFLAGS_$(PROFILE)) $(GPROF_CFLAGS_$(GPROF))
WARN_CFLAGS_YES = -Wall
WARN_CFLAGS_NO = -w
OPT_CFLAGS_YES = -O3
OPT_CFLAGS_NO = -g
CODE_CXXFLAGS = -fPIC
CONFORM_CXXFLAGS_NORMAL = -ansi -pedantic
CONFORM_CXXFLAGS_STRICT = -ansi -pedantic
#WARN_CXXFLAGS_YES = -Wall -Weffc++
CONFORM_CXXFLAGS_NORMAL = -ansi
CONFORM_CXXFLAGS_STRICT = -ansi
PROF_CXXFLAGS_YES = -p
GPROF_CXXFLAGS_YES = -pg
CODE_CXXFLAGS = $(PROF_CXXFLAGS_$(PROFILE)) $(GPROF_CXXFLAGS_$(GPROF))
WARN_CXXFLAGS_YES = -Wall
WARN_CXXFLAGS_NO = -w
OPT_CXXFLAGS_YES = -O3
OPT_CXXFLAGS_NO = -g
CODE_LDFLAGS = $(PROF_CXXFLAGS_$(PROFILE)) $(GPROF_CXXFLAGS_$(GPROF))
STATIC_LDFLAGS_YES = -static
STATIC_LDFLAGS_NO =
SHRLIB_LDFLAGS_YES += -shared
SHRLIB_LDFLAGS_NO +=
SHRLIB_CFLAGS = -fPIC

View File

@@ -23,6 +23,57 @@
# 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
# SRCS source files for building libraries and prods
# USR_SRCS source files for building libraries and prods
# PROD_SRCS source files for building prods
# LIB_SRCS source files for building libraries
# LIBSRCS source files for building libraries (deprecated)
# PROD_OBJS object files for building prods
# LIB_OBJS object files for building libraries
# USR_LIBS libs needed by PROD and TESTPROD and LIBRARY
# PROD_LIBS libs needed by PROD and TESTPROD
# LIB_LIBS libs needed by shared LIBRARY
# SHRLIB_LIBS libs needed by shared LIBRARY
# USR_OBJLIBS R3.13 vxWorks object libs needed building libraries and prods
# PROD_OBJLIBS R3.13 vxWorks object libs needed for building prods
# LIB_OBJLIBS R3.13 vxWorks object libs needed for building libraries
# USR_SYS_LIBS system libs needed building libraries and prods
# PROD_SYS_LIBS system libs needed for building prods
# LIB_SYS_LIBS system libs needed for building libraries
# USR_LDFLAGS ld flags for building libraries and prods
# PROD_LDFLAGS ld flags for building prods
# LIB_LDFLAGS ld flags for building libraries
# PROD products to build and install
# PROD_HOST products to build and install
# PROD_IOC products to build and install
# TESTPROD products to build and install
# TESTPROD_HOST products to build and install
# TESTPROD_IOC products to build and install
# LIBRARY products to build and install
# LIBRARY_HOST products to build and install
# LIBRARY_IOC products to build and install
# SCRIPTS scripts and install
# SCRIPTS_HOST host system scripts to install
# SCRIPTS_IOC ioc system scripts to install
# OBJS object files to build and install
# OBJS_HOST host system object files to build and install
# OBJS_IOC ioc system object files to build and install
# USR_INCLUDES include directories
# BIN_INSTALLS binaries to install
# RCS win32 resource files for building libraries and prods
# PROD_RCS win32 resource files for building prods
# LIB_RCS win32 resource files for building libraries
#
# 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.
#
# Additional target architecture, T_A, Rules for USR_CFLAGS, USR_CXXFLAGS,
# and USR_CPPFLAGS which are applied before the above os_class Rules:
# 1) USR_CFLAGS_$(OS_CLASS) is used
@@ -36,27 +87,6 @@
# USR_CFLAGS_vxWorks-68040 = -nil-
# USR_CFLAGS_vxWorks_DEFAULT = <defines for most vxWorks systems, not 68040>
#
# 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_$(T_A))),)
@@ -123,6 +153,22 @@ USR_LDFLAGS+=$(USR_LDFLAGS_DEFAULT)
endif
endif
ifneq ($(strip $(PROD_LDFLAGS_$(OS_CLASS))),)
PROD_LDFLAGS+=$(subst -nil-,,$(PROD_LDFLAGS_$(OS_CLASS)))
else
ifdef PROD_LDFLAGS_DEFAULT
PROD_LDFLAGS+=$(PROD_LDFLAGS_DEFAULT)
endif
endif
ifneq ($(strip $(LIB_LDFLAGS_$(OS_CLASS))),)
LIB_LDFLAGS+=$(subst -nil-,,$(LIB_LDFLAGS_$(OS_CLASS)))
else
ifdef LIB_LDFLAGS_DEFAULT
LIB_LDFLAGS+=$(LIB_LDFLAGS_DEFAULT)
endif
endif
# check for special includes:
#
ifneq ($(strip $(INC_$(OS_CLASS))),)
@@ -160,6 +206,14 @@ SRCS+=$(SRCS_DEFAULT)
endif
endif
ifneq ($(strip $(USR_SRCS_$(OS_CLASS))),)
USR_SRCS += $(subst -nil-,,$(USR_SRCS_$(OS_CLASS)))
else
ifdef USR_SRCS_DEFAULT
USR_SRCS+=$(USR_SRCS_DEFAULT)
endif
endif
ifneq ($(strip $(PROD_SRCS_$(OS_CLASS))),)
PROD_SRCS += $(subst -nil-,,$(PROD_SRCS_$(OS_CLASS)))
else
@@ -184,6 +238,14 @@ PROD_OBJS+=$(PROD_OBJS_DEFAULT)
endif
endif
ifneq ($(strip $(USR_OBJS_$(OS_CLASS))),)
USR_OBJS+=$(subst -nil-,,$(USR_OBJS_$(OS_CLASS)))
else
ifneq (,$(strip $(USR_OBJS_DEFAULT)))
USR_OBJS+=$(USR_OBJS_DEFAULT)
endif
endif
ifneq ($(strip $(OBJS_$(OS_CLASS))),)
OBJS+=$(subst -nil-,,$(OBJS_$(OS_CLASS)))
else
@@ -208,11 +270,27 @@ OBJS_HOST+=$(OBJS_HOST_DEFAULT)
endif
endif
ifneq ($(strip $(LDOBJS_$(OS_CLASS))),)
LDOBJS+=$(subst -nil-,,$(LDOBJS_$(OS_CLASS)))
ifneq ($(strip $(PROD_OBJLIBS_$(OS_CLASS))),)
PROD_OBJLIBS+=$(subst -nil-,,$(PROD_OBJLIBS_$(OS_CLASS)))
else
ifneq (,$(strip $(LDOBJS_DEFAULT)))
LDOBJS+=$(LDOBJS_DEFAULT)
ifdef PROD_OBJLIBS_DEFAULT
PROD_OBJLIBS+=$(PROD_OBJLIBS_DEFAULT)
endif
endif
ifneq ($(strip $(LIB_OBJLIBS_$(OS_CLASS))),)
LIB_OBJLIBS+=$(subst -nil-,,$(LIB_OBJLIBS_$(OS_CLASS)))
else
ifdef LIB_OBJLIBS_DEFAULT
LIB_OBJLIBS+=$(LIB_OBJLIBS_DEFAULT)
endif
endif
ifneq ($(strip $(USR_OBJLIBS_$(OS_CLASS))),)
USR_OBJLIBS+=$(subst -nil-,,$(USR_OBJLIBS_$(OS_CLASS)))
else
ifdef USR_OBJLIBS_DEFAULT
USR_OBJLIBS+=$(USR_OBJLIBS_DEFAULT)
endif
endif
@@ -256,6 +334,7 @@ PROD_LIBS += $(PROD_LIBS_DEFAULT)
endif
endif
# SHRLIB_LIBS deprecated
ifneq ($(strip $(SHRLIB_LIBS_$(OS_CLASS))),)
SHRLIB_LIBS += $(subst -nil-,,$(SHRLIB_LIBS_$(OS_CLASS)))
else
@@ -264,6 +343,14 @@ SHRLIB_LIBS += $(SHRLIB_LIBS_DEFAULT)
endif
endif
ifneq ($(strip $(LIB_LIBS_$(OS_CLASS))),)
LIB_LIBS += $(subst -nil-,,$(LIB_LIBS_$(OS_CLASS)))
else
ifdef LIB_LIBS_DEFAULT
LIB_LIBS += $(LIB_LIBS_DEFAULT)
endif
endif
ifneq ($(strip $(USR_LIBS_$(OS_CLASS))),)
USR_LIBS += $(subst -nil-,,$(USR_LIBS_$(OS_CLASS)))
else
@@ -275,6 +362,7 @@ endif
#
# concat specific library contents (if defined) to SYS_PROD_LIBS
#
# SYS_PROD_LIBS deprecated
ifneq ($(strip $(SYS_PROD_LIBS_$(OS_CLASS))),)
SYS_PROD_LIBS += $(subst -nil-,,$(SYS_PROD_LIBS_$(OS_CLASS)))
else
@@ -282,6 +370,31 @@ ifdef SYS_PROD_LIBS_DEFAULT
SYS_PROD_LIBS += $(SYS_PROD_LIBS_DEFAULT)
endif
endif
PROD_SYS_LIBS+=$(SYS_PROD_LIBS)
ifneq ($(strip $(PROD_SYS_LIBS_$(OS_CLASS))),)
PROD_SYS_LIBS += $(subst -nil-,,$(PROD_SYS_LIBS_$(OS_CLASS)))
else
ifdef PROD_SYS_LIBS_DEFAULT
PROD_SYS_LIBS += $(PROD_SYS_LIBS_DEFAULT)
endif
endif
ifneq ($(strip $(LIB_SYS_LIBS_$(OS_CLASS))),)
LIB_SYS_LIBS += $(subst -nil-,,$(LIB_SYS_LIBS_$(OS_CLASS)))
else
ifdef LIB_SYS_LIBS_DEFAULT
LIB_SYS_LIBS += $(LIB_SYS_LIBS_DEFAULT)
endif
endif
ifneq ($(strip $(USR_SYS_LIBS_$(OS_CLASS))),)
USR_SYS_LIBS += $(subst -nil-,,$(USR_SYS_LIBS_$(OS_CLASS)))
else
ifdef USR_SYS_LIBS_DEFAULT
USR_SYS_LIBS += $(USR_SYS_LIBS_DEFAULT)
endif
endif
#
# concat specific products
@@ -375,3 +488,19 @@ RCS += $(RCS_DEFAULT)
endif
endif
ifneq ($(strip $(PROD_RCS_$(OS_CLASS))),)
PROD_RCS += $(subst -nil-,,$(PROD_RCS_$(OS_CLASS)))
else
ifdef PROD_RCS_DEFAULT
PROD_RCS+=$(PROD_RCS_DEFAULT)
endif
endif
ifneq ($(strip $(LIB_RCS_$(OS_CLASS))),)
LIB_RCS += $(subst -nil-,,$(LIB_RCS_$(OS_CLASS)))
else
ifdef LIB_RCS_DEFAULT
LIB_RCS+=$(LIB_RCS_DEFAULT)
endif
endif

View File

@@ -21,28 +21,18 @@ 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)
#---------------------------------------------------------------
# Epics base Ioc libraries
EPICS_BASE_IOC_LIBS += recIoc softDevIoc testDevIoc iocsh
EPICS_BASE_IOC_LIBS += miscIoc rsrvIoc dbtoolsIoc asIoc
EPICS_BASE_IOC_LIBS += dbIoc registryIoc dbStaticIoc ca Com
#---------------------------------------------------------------
# Epics base Host libraries
EPICS_BASE_HOST_LIBS += cas gdd iocsh asHost dbStaticHost
EPICS_BASE_HOST_LIBS += ca Com
#---------------------------------------------------------------
# Version number for base shared libraries (and win32 products)

View File

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

View File

@@ -45,7 +45,7 @@ CHECK_RELEASE_NO =
#-------------------------------------------------------
# Directories
INSTALL_LOCATION = $(TOP)
INSTALL_LOCATION ?= $(TOP)
TOOLS = $(CONFIG)/tools
INSTALL_LOCATION_LIB = $(INSTALL_LOCATION)/lib
@@ -87,7 +87,7 @@ BUILD_CLASS = HOST
CMPLR=STRICT
CXXCMPLR=STRICT
STATIC_BUILD=NO
SHARED_LIBRARIES=NO
SHARED_LIBRARIES=YES
HDEPENDS=YES
HOST_OPT=YES
CROSS_OPT=YES
@@ -140,13 +140,13 @@ JAR =
#--------------------------------------------------
# obj files
TARGET_OBJS = $($*_LDOBJS) $(addsuffix $(OBJ),$(basename $($*_OBJS)))
TARGET_OBJS = $($*_OBJLIBS) $($*_LDOBJS) $(addsuffix $(OBJ),$(basename $($*_OBJS)))
PRODUCT_OBJS = $(addsuffix $(OBJ),$(basename $(SRCS) $(PROD_SRCS) $(PROD_OBJS)))
PROD_LD_OBJS = $(LDOBJS) $(TARGET_OBJS) $(PRODUCT_OBJS)
PRODUCT_OBJS = $(addsuffix $(OBJ),$(basename $(SRCS) $(USR_SRCS) $(PROD_SRCS) $(USR_OBJS) $(PROD_OBJS)))
PROD_LD_OBJS = $(USR_OBJLIBS) $(PROD_OBJLIBS) $(TARGET_OBJS) $(PRODUCT_OBJS)
LIBRARY_OBJS = $(addsuffix $(OBJ),$(basename $(SRCS) $(LIB_SRCS) $(LIBSRCS) $(LIB_OBJS)))
LIBRARY_LD_OBJS = $(LDOBJS) $(TARGET_OBJS) $(LIBRARY_OBJS)
LIBRARY_OBJS = $(addsuffix $(OBJ),$(basename $(SRCS) $(USR_SRCS) $(LIB_SRCS) $(LIBSRCS) $(USR_OBJS) $(LIB_OBJS)))
LIBRARY_LD_OBJS = $(USR_OBJLIBS) $(LIB_OBJLIBS) $(TARGET_OBJS) $(LIBRARY_OBJS)
#--------------------------------------------------
# WIN95/NT resource files
@@ -156,7 +156,7 @@ TARGET_RESS = $(addsuffix $(RES),$(basename $($*_RCS)))
PROD_RESS = $(addsuffix $(RES),$(basename $(RCS) $(PROD_RCS)))
PROD_LD_RESS = $(TARGET_RESS) $(PROD_RESS)
LIBRARY_RESS = $(addsuffix $(RES),$(basename $(RCS) $(LIBRARY_RCS)))
LIBRARY_RESS = $(addsuffix $(RES),$(basename $(RCS) $(LIB_RCS) $(LIBRARY_RCS)))
LIBRARY_LD_RESS = $(TARGET_RESS) $(LIBRARY_RESS)
#--------------------------------------------------
@@ -180,7 +180,6 @@ OP_SYS_CFLAGS =
OP_SYS_CXXFLAGS = $(OP_SYS_CFLAGS)
OP_SYS_LDFLAGS =
OP_SYS_INCLUDES =
OP_SYS_LDLIBS =
# SOURCE* used by WIN32 only
SOURCE_CFLAG =
@@ -196,19 +195,26 @@ USR_CPPFLAGS =
USR_DBDFLAGS =
USR_ARFLAGS =
# Debug specific options
DEBUG_CPPFLAGS =
DEBUG_CFLAGS =
DEBUG_CXXFLAGS = $(DEBUG_CFLAGS)
DEBUG_LDFLAGS =
DEBUG_LDLIBS =
# Target specific options
TARGET_INCLUDES = $($(basename $@)_INCLUDES_$(T_A))
TARGET_CFLAGS = $($(basename $@)_CFLAGS_$(T_A))
TARGET_CXXFLAGS = $($(basename $@)_CXXFLAGS_$(T_A))
TARGET_LDFLAGS = $($(basename $@)_LDFLAGS_$(T_A))
TARGET_CPPFLAGS = $($(basename $@)_CPPFLAGS_$(T_A))
TARGET_INCLUDES += $($(basename $@)_INCLUDES_$(OS_CLASS)) $($(basename $@)_INCLUDES)
TARGET_CFLAGS += $($(basename $@)_CFLAGS_$(OS_CLASS)) $($(basename $@)_CFLAGS)
TARGET_CXXFLAGS += $($(basename $@)_CXXFLAGS_$(OS_CLASS)) $($(basename $@)_CXXFLAGS)
TARGET_LDFLAGS += $($(basename $@)_LDFLAGS_$(OS_CLASS)) $($(basename $@)_LDFLAGS)
TARGET_CPPFLAGS += $($(basename $@)_CPPFLAGS_$(OS_CLASS)) $($(basename $@)_CPPFLAGS)
TARGET_LDFLAGS = $($*_LDFLAGS)
# Level of ansi conformance flags
CONFORM_CPPFLAGS = $(CONFORM_CPPFLAGS_$(CMPLR))
CONFORM_CFLAGS = $(CONFORM_CFLAGS_$(CMPLR))
@@ -234,9 +240,15 @@ STATIC_LDFLAGS = $(STATIC_LDFLAGS_$(STATIC_BUILD))
STATIC_LDLIBS = $(STATIC_LDLIBS_$(STATIC_BUILD))
#--------------------------------------------------
# Command-line input support default
# cflags for library src file
LIBRARY_SRCS=$(basename $(foreach lib,$(LIBRARY),$($(lib)_OBJS) $(LIBRARY_OBJS)))
LIBRARY_SRC_CFLAGS=$($(patsubst $*,SHRLIB,$(findstring $*,$(LIBRARY_SRCS)))_CFLAGS)
#--------------------------------------------------
# Command-line input support default
COMMANDLINE_LIBRARY = EPICS
OP_SYS_LDLIBS += $(LDLIBS_$(COMMANDLINE_LIBRARY))
OP_SYS_LDFLAGS += $(LDFLAGS_$(COMMANDLINE_LIBRARY))
#--------------------------------------------------
# Flags
@@ -246,17 +258,18 @@ INCLUDES = -I. $(GENERIC_SRC_INCLUDES) $(INSTALL_INCLUDES) $(RELEASE_INCLUDES)\
CFLAGS = $(CONFORM_CFLAGS) $(CROSS_CFLAGS) $(OPT_CFLAGS) $(DEBUG_CFLAGS)\
$(WARN_CFLAGS) $(TARGET_CFLAGS) $(USR_CFLAGS) $(ARCH_DEP_CFLAGS)\
$(CODE_CFLAGS) $(STATIC_CFLAGS) $(OP_SYS_CFLAGS)
$(CODE_CFLAGS) $(STATIC_CFLAGS) $(OP_SYS_CFLAGS) $(LIBRARY_SRC_CFLAGS)
CXXFLAGS = $(CONFORM_CXXFLAGS) $(CROSS_CXXFLAGS) $(OPT_CXXFLAGS)\
$(DEBUG_CXXFLAGS) $(WARN_CXXFLAGS) $(TARGET_CXXFLAGS) $(USR_CXXFLAGS)\
$(ARCH_DEP_CXXFLAGS) $(CODE_CXXFLAGS) $(STATIC_CXXCFLAGS) $(OP_SYS_CXXFLAGS)
$(ARCH_DEP_CXXFLAGS) $(CODE_CXXFLAGS) $(STATIC_CXXCFLAGS) $(OP_SYS_CXXFLAGS) $(LIBRARY_SRC_CFLAGS)
LDFLAGS = $(OPT_LDFLAGS) $(TARGET_LDFLAGS) $(USR_LDFLAGS) $(PROD_LDFLAGS)\
$(ARCH_DEP_LDFLAGS) $(OP_SYS_LDFLAGS) $(CROSS_LDFLAGS)
LDFLAGS = $(OPT_LDFLAGS) $(TARGET_LDFLAGS) $(USR_LDFLAGS) \
$(ARCH_DEP_LDFLAGS) $(DEBUG_LDFLAGS) $(OP_SYS_LDFLAGS) $(CROSS_LDFLAGS)\
$(RUNTIME_LDFLAGS) $(CODE_LDFLAGS)
LDLIBS = $(PROD_LDLIBS) $(STATIC_LDLIBS)\
$(POSIX_LDLIBS) $(ARCH_DEP_LDLIBS) $(OP_SYS_LDLIBS)
LDLIBS = $(STATIC_LDLIBS)\
$(POSIX_LDLIBS) $(ARCH_DEP_LDLIBS) $(DEBUG_LDLIBS) $(OP_SYS_LDLIBS)
CPPFLAGS += $(CONFORM_CPPFLAGS) $(CROSS_CPPFLAGS) $(POSIX_CPPFLAGS)\
$(BASE_CPPFLAGS) $(TARGET_CPPFLAGS) $(USR_CPPFLAGS) $(ARCH_DEP_CPPFLAGS)\
@@ -292,7 +305,7 @@ HDEPENDS_CMD = $(HDEPENDS_CMD_$(HDEPENDS))
# depends definition
TARGET_SRCS = $(foreach name, $(TESTPROD) $(PROD) $(LIBRARY), $($(name)_SRCS))
SRC_FILES = $(LIB_SRCS) $(LIBSRCS) $(SRCS) $(PROD_SRCS) $(TARGET_SRCS)
SRC_FILES = $(LIB_SRCS) $(LIBSRCS) $(SRCS) $(USR_SRCS) $(PROD_SRCS) $(TARGET_SRCS)
HDEPENDS_FILES_YES = $(addsuffix $(DEP),$(notdir $(basename $(SRC_FILES))))
HDEPENDS_FILES = $(HDEPENDS_FILES_$(HDEPENDS))

View File

@@ -23,7 +23,8 @@
# <operating system>-<architecture>[-<alternate compiler>]
#
# Currently Supporting:
# hpux-parisc
# hpux-parisc (HP compiler used for host builds)
# hpux-parisc-gnu (GNU compiler used for host builds)
# osf-alpha
# solaris-sparc (sun compiler used for host builds)
# solaris-sparc-gnu (GNU compiler used for host builds)
@@ -37,6 +38,12 @@
# darwin-ppc
# linux-mpc82xx
# Debugging builds
# linux-x86-debug (GNU compiler with -g option for host builds)
# solaris-sparc-debug (sun compiler with -g option for host builds)
# win32-x86-debug (MS Visual C++ compiler with debug option for host builds)
# EPICS_HOST_ARCH is a required environment variable
# Do not set EPICS_HOST_ARCH in this file.
# Use base/startup files to set EPICS_HOST_ARCH or
@@ -51,17 +58,21 @@
# vxWorks-68060
# vxWorks-pentium
# vxWorks-ppc603
# vxWorks-ppc603_long
# vxWorks-ppc604
# vxWorks-ppc604_long
# RTEMS-gen68360
# RTEMS-mvme167
# RTEMS-pc386
# RTEMS-mcp750
# RTEMS-psim
#
# Definitions of CROSS_COMPILER_TARGET_ARCHS in
# configure/os/CONFIG_SITE.<host>.Common files will
# override
#
CROSS_COMPILER_TARGET_ARCHS=
#CROSS_COMPILER_TARGET_ARCHS=vxWorks-68040
# If only a subset of the host architectures perform
# the build for the CROSS_COMPILER_TARGET_ARCHS
@@ -83,18 +94,13 @@ CMPLR=STRICT
CXXCMPLR=STRICT
# Build shared libraries?
# (archive libraries will also be built)
# must be either YES or NO
# NOTE: os/CONFIG.$(EPICS_HOST_ARCH).$(EPICS_HOST_ARCH) files and
# os/CONFIG_SITE.$(EPICS_HOST_ARCH).$(EPICS_HOST_ARCH) files may override
#
# NOTE WIN32: YES results in a DLL. CONFIG_SITE.Host.WIN32
# distribution file contains YES override
# NOTE WIN32: YES results in a DLL.
#
# NOTE solaris,Linux, and sun4: If YES then LD_LIBRARY_PATH must
# include fullpathname to $(INSTALL_LOCATION)/lib/$(EPICS_HOST_ARCH)
# for both the base build and when invoking base executables
SHARED_LIBRARIES=NO
SHARED_LIBRARIES=YES
# Build client objects statically ?
# must be either YES or NO
@@ -122,5 +128,5 @@ HOST_WARN=YES
CROSS_WARN=YES
# Installation directory
INSTALL_LOCATION=$(TOP)
#Note: INSTALL_LOCATION definition moved to configure/RELEASE file

View File

@@ -30,6 +30,7 @@
# Time service:
# EPICS_TIMEZONE needed for vxWorks
# EPICS_TIMEZONE=<name>::<minutesWest>:<start daylight>:<end daylight>
#NOTE: start and end are mmddhh that bis mounth,day,hour
# eg EPICS_TIMEZONE=CUS::360:033102:102802
# DST for 2003 US: Apr 6 - Oct 26
# EU: Mar 30 - Oct 26

View File

@@ -23,4 +23,6 @@ CONFIGS += $(subst ../,,$(wildcard ../RULES*))
CONFIGS += $(subst ../,,$(wildcard ../tools/*.pl))
TARGETS = CONFIG_APP_INCLUDE
include $(TOP)/configure/RULES

View File

@@ -13,5 +13,7 @@
# Tornado directory
VX_DIR = /usr/local/vw/tornado202
# Is Tornado version >= 2.2 ? must be either YES or NO
TORNADO_VERSION_2_2 = NO
# If you don't want to install into $(TOP) dir then
# define INSTALL_LOCATION here
#INSTALL_LOCATION=<fullpathname>

View File

@@ -59,7 +59,7 @@ TEMPLATE2=$(patsubst %0,%,$(patsubst %1,%,$(patsubst %2,%,$(patsubst %3,%,$(pats
$(patsubst %5,%,$(patsubst %6,%,$(patsubst %7,%,$(patsubst %8,%,$(patsubst %9,%, \
$(TEMPLATE1)))))))))))
TEMPLATE3=$(addsuffix .template,$(addprefix ../,$(TEMPLATE2)))
TEMPLATE_FILENAME=$(firstword $(wildcard ../$*.template) $(TEMPLATE3))
TEMPLATE_FILENAME=$(firstword $(wildcard $(addprefix ../,$($*_TEMPLATE)) ../$*.template $(TEMPLATE3)) $(TEMPLATE3))
# dbst based database optimization
ifeq '$(DB_OPT)' 'YES'
@@ -112,16 +112,26 @@ $(DBDDEPENDS_FILES):
##################################################### build dependancies, clean rule
ifdef DBD_INSTALLS
buildInstall : dbdInstalls
endif
ifdef DB_INSTALLS
buildInstall : dbInstalls
endif
.PHONY: dbdInstalls dbInstalls
inc : $(COMMON_INC) $(INSTALL_INC)
build : $(COMMON_DBDS) $(COMMON_DBS) \
$(INSTALL_DBDS) $(INSTALL_DBS) \
$(DBDDEPENDS_FILES) $(INDDBFROMTEMPLATE) $(TARGETS)
$(DBDDEPENDS_FILES) $(TARGETS)
clean::
@$(RM) $(COMMONS) $(DBDDEPENDS_FILES)
@$(RM) *_registerRecordDeviceDriver.cpp
@$(RM) $(INDDBFROMTEMPLATE) $(TARGETS)
@$(RM) $(TARGETS)
##################################################### "Foreign" templates
@@ -201,12 +211,17 @@ $(COMMON_DIR)/%.dbd: %Include.dbd
@$(DBDDEPENDS_CMD)
@echo "Expanding dbd"
@$(RM) $@
$(DBEXPAND) $(DBDFLAGS) $< > $@
$(DBEXPAND) $(DBDFLAGS) $< > dbExpand.tmp
$(MV) dbExpand.tmp $@
$(INSTALL_DBD)/%: %
@echo "Installing dbd file $@"
@$(INSTALL) -d -m 644 $< $(@D)
dbdInstalls: $(DBD_INSTALLS)
@echo "Installing $(^F)"
@$(INSTALL) -d -m 555 $^ $(INSTALL_DBD)
.PRECIOUS: $(COMMON_DBDS)
##################################################### DB files
@@ -216,13 +231,15 @@ $(COMMON_DIR)/%.db$(RAW): $(COMMON_DIR)/%.edf
@$(REPLACEVAR) < $@.VAR > $@
@$(RM) $@.VAR
# dbst based database optimization
$(COMMON_DIR)/%.db$(RAW): %.substitutions
@$(RM) $@$(DEP)
@$(DBDDEPENDS_CMD)
@echo "$@:$(TEMPLATE_FILENAME)" >> $@$(DEP)
@echo "Inflating database from $<"
@$(RM) $@
$(MSI) -S$< $(TEMPLATE_FILENAME) > $@
$(MSI) -S$< $(TEMPLATE_FILENAME) > msi.tmp
$(MV) msi.tmp $@
# dbst based database optimization
ifeq '$(DB_OPT)' 'YES'
@@ -249,6 +266,10 @@ $(INSTALL_DB)/%: %
@$(INSTALL) -d -m 644 $< $(@D)
endif
dbInstalls: $(DB_INSTALLS)
@echo "Installing $(^F)"
@$(INSTALL) -d -m 555 $^ $(INSTALL_DB)
.PRECIOUS: $(COMMON_DIR)/%.edf
.PRECIOUS: $(COMMON_DBS)

View File

@@ -15,7 +15,8 @@ install: buildInstall
buildInstall: $(TARGETS)
cdCommands: $(wildcard $(TOP)/configure/RELEASE*) $(TOP)/configure/CONFIG
cdCommands: $(wildcard $(TOP)/configure/RELEASE*) \
$(TOP)/configure/CONFIG $(TOP)/bin
@$(RM) $@
ifeq ($(IOCS_APPL_TOP),)
$(PERL) $(TOOLS)/convertRelease.pl -a $(ARCH) $@

View File

@@ -11,31 +11,8 @@
#
# Rules for making things specified in Makefile
#
# Some rules for filename-massage are system specific
# and have "ifdefs" here instead of using definitions
# from CONFIG.Target.<arch> - sorry about this,
# but so far the rules are quite similar on all systems
# except WIN32 has some specials.
#
# Maybe there is a way to use indentation to make it
# easier to read this file?
#
# Most things may also work if you say e.g.
# VAR+=ADD
# even if ADD is not there, but this way "VAR" would
# be defined in any case, that's why I try to use
# ifdef ADD
# VAR+=ADD
# endif
#
# -kuk-
# we are in O.$(OS_CLASS), but most sources are one dir above:
#
# The use of VPATH (no suffix specification) caused everything
# to break several times.
# vpath, of course, has the disadvantage that we need explicit rules
# for scripts or similar os-specific filed which have _no_ suffix...
ifndef BASE_RULES_BUILD
BASE_RULES_BUILD=1
@@ -175,18 +152,6 @@ $(DIRECTORY_TARGETS) :
$(MKDIR) -p $@
#---------------------------------------------------------------
#---------------------------------------------------------------
# Generic Rules for 'simple' targets that
# can be generated from a single source with same basename.
#
# The usual two rules .c* -> $(OBJ) and then $(OBJ) -> $(EXE)
# do not work because the $(OBJ)->$(EXE) rule wouldn't
# know if the original source was C or C++.
#
# Hint: The $(subst...) construct removes the .c or .cpp
# as well as the '../' from the filename and adds $(OBJ):
# e.g. $< = '../abc.c' -> 'abc.o'
#
# The order of the following rules is
# VERY IMPORTANT !!!!
@@ -295,11 +260,11 @@ ifneq ($(strip $(RANLIB)),)
$(RANLIB) $@
endif # RANLIB
$(DLL_LINK_LIBNAME):$(LIB_PREFIX)%.lib: $(LIBRARY_OBJS) $(LIBRARY_RESS)
$(DLL_LINK_LIBNAME):$(LIB_PREFIX)%.lib: $(LIBRARY_OBJS) $(LIBRARY_RESS) $(SHRLIB_DEPLIBS)
@$(RM) $@
$(LINK.shrlib)
$(SHRLIBNAME):$(LIB_PREFIX)%$(SHRLIB_SUFFIX): $(LIBRARY_OBJS) $(LIBRARY_RESS)
$(SHRLIBNAME):$(LIB_PREFIX)%$(SHRLIB_SUFFIX): $(LIBRARY_OBJS) $(LIBRARY_RESS) $(SHRLIB_DEPLIBS)
@$(RM) $@
$(LINK.shrlib)

View File

@@ -28,12 +28,6 @@ vpath %.java ..
CLASSPATH=-classpath $(INSTALL_JAVA)$(addprefix :,$(USR_CLASSPATH))
SOURCEPATH=-sourcepath .:..:../..
#-------------------------------------------------------
# Java install directory
INSTALL_JAVA = $(INSTALL_LOCATION)/javalib
JAVA_DIRECTORY_TARGETS += $(INSTALL_JAVA)
#-------------------------------------------------------
# Java native method C header files
@@ -87,7 +81,7 @@ buildInstall : build
rebuild: clean install
inc: $(JAVA_DIRECTORY_TARGETS) $(INSTALL_CLASSES) $(COMMON_JAVAINC)
inc: $(INSTALL_CLASSES) $(COMMON_JAVAINC)
build: inc
@@ -101,7 +95,7 @@ clean::
@$(RM) $(INSTALL_JAR) $(INSTALL_JAVADOC)
@$(RM) $(COMMON_TESTCLASSES) $(COMMON_JAR) $(COMMON_JAVAINC)
$(JAVA_DIRECTORY_TARGETS):
$(INSTALL_JAVA):
$(MKDIR) -p $@
$(COMMON_JAVAINC):$(JAVAINC_CLASSFILES)
@@ -114,12 +108,12 @@ $(COMMON_TESTCLASSES): $(addprefix ../,$(DEPTESTJAVA))
@$(RM) $@
$(JAVACCMD) -d $(COMMON_DIR) $^
$(INSTALL_CLASSES): $(addprefix ../,$(DEPJAVA))
$(INSTALL_CLASSES): $(INSTALL_JAVA) $(addprefix ../,$(DEPJAVA))
@echo Creating java class files
@$(RM) $@
$(JAVACCMD) -d $(INSTALL_JAVA) $^
$(INSTALL_JAVADOC): $(addprefix ../,$(DEPJAVA))
$(INSTALL_JAVADOC): $(INSTALL_JAVA) $(addprefix ../,$(DEPJAVA))
@echo Creating java class files
@$(RM) $@
$(JAVADOCCMD) -d $(INSTALL_JAVA) $^
@@ -129,7 +123,7 @@ $(COMMON_DIR)/%.jar: $(JARDEPFILES)
@$(RM) $@
$(JARCMD)
$(INSTALL_JAVA)/%.jar: $(COMMON_DIR)/%.jar
$(INSTALL_JAVA)/%.jar: $(INSTALL_JAVA) $(COMMON_DIR)/%.jar
@echo "Installing java jar file $@"
@$(INSTALL) -d -m 644 $< $(@D)

View File

@@ -52,14 +52,12 @@ a_file_CPPFLAGS_WIN32 = -DVERSION='WIN32 port'
#
# In here you supply just the filename without '../' etc.
# While building in an O.xxx subdir, the
# sources are extracted from either the
# '..'
# dir or - if it exists - the dir
# '../$(OS_CLASS)'
# is preferred.
# sources are extracted from the
# ../os/$(OS_CLASS) directory if it exists, or
# ../os/default directory if it exists, or
# .. directory
# ---------------------------------------------------------
# includes to install from this Makefile
#
# again: if INC_$(OS_CLASS) is defined, it is added to INC,
@@ -101,10 +99,11 @@ libname_SRCS_DEFAULT = posix.c
libname_SRCS_WIN32 = win32_special.c
libname_SRCS_Linux = -nil-
#
LIBSRCS = file_for_lib.c another_file.cpp
LIBSRCS_DEFAULT = posix.c
LIBSRCS_WIN32 = win32_special.c
LIBSRCS_Linux = -nil-
# SRCS that are used for all libraries
LIB_SRCS = file_for_lib.c another_file.cpp
LIB_SRCS_DEFAULT = posix.c
LIB_SRCS_WIN32 = win32_special.c
LIB_SRCS_Linux = -nil-
# Library to build:
# lib$(LIBRARY).a or ..dll/..exp/..lib
@@ -113,13 +112,9 @@ LIBRARY=libname
#
# Host or Ioc platform specific library to build:
#
LIBRARY_IOC=libname
LIBRARY_HOST=libname
LIBRARY_IOC=libnameIoc
LIBRARY_HOST=libnameHost
# if SHARED_LIBRARIES is YES then shared and archive libraries will
# both be built
#SHARED_LIBRARIES = YES
#
# Library version
SHRLIB_VERSION =
# On WIN32 results in /version:$(SHRLIB_VERSION) link option
@@ -132,10 +127,15 @@ SHRLIB_VERSION =
# if SRCS is undefined, it defaults to $(PROD).c
SRCS=a.c b.c c.c
# SRCS that are used for all PRODs
#
PROD_SRCS = ppp.c qqq.c
# SRCS that are only used for PROD a_file
#
a_file_SRCS = aa.c bb.c
#
# EPICS libs needed to link PROD, TESTPROD and sharable library
#
# note that DLL_LIBS (the libraries needed to link a shareable
@@ -143,33 +143,41 @@ a_file_SRCS = aa.c bb.c
# below minus the name of the sharable library (LIBRARY)
#
#
# for all systems:
# ---------- libraries for a specific product pppp
# for all systems
pppp_LIBS = Com Ca
# for most systems:
pppp_LIBS_DEFAULT = mathlib
pppp_LIBS_WIN32 = -nil-
# ---------- libraries for all products
# for all systems
PROD_LIBS = Com Ca
# for most systems:
PROD_LIBS_DEFAULT = mathlib
PROD_LIBS_WIN32 = -nil-
# system libs needed to link PROD, TESTPROD and sharable library
#
# for all systems:
SYS_PROD_LIBS = m
# for most systems:
SYS_PROD_LIBS_DEFAULT = foolib
SYS_PROD_LIBS_WIN32 = -nil-
# other libs needed to link PROD, TESTPROD and sharable library
#
# for all systems:
# ---------- Libraries for all products and all libraries:
# for all systems
USR_LIBS = Xm Xt X11
Xm_DIR = $(MOTIF_LIB)
Xt_DIR = $(X11_LIB)
X11_DIR = $(X11_LIB)
# for most systems:
# for most systems
USR_LIBS_DEFAULT = foolib
USR_LIBS_WIN32 = -nil-
foolib_DIR = $(FOO_LIB)
# system libs needed to link PROD, TESTPROD and sharable library
#
# ---------- system libraries for all products
# for all systems:
PROD_SYS_LIBS = m
# for most systems:
PROD_SYS_LIBS_DEFAULT = foolib
PROD_SYS_LIBS_WIN32 = -nil-
# Product,
# may be caRepeater.o -> caRepeater
# or caRepeater.obj -> caRepeater.exe
@@ -179,6 +187,9 @@ PROD_WIN32 = product_only_for_WIN32
PROD_Linux = product_only_for_Linux
PROD_solaris = product_only_for_solaris
PROD_HOST = product_only_for_host_type_systems
PROD_IOC = product_only_for_ioc_type_systems
# Product version
PROD_VERSION =
# On WIN32 results in /version:$(SHRLIB_VERSION) link option

View File

@@ -34,8 +34,6 @@ CCC = $(RTEMS_BASE)/bin/$(CXX)
CPP = $(RTEMS_BASE)/bin/$(CC_FOR_TARGET) -x c -E
AR = $(RTEMS_BASE)/bin/$(AR_FOR_TARGET)
LD = $(RTEMS_BASE)/bin/$(LD_FOR_TARGET) -r
RTEMS_LDFLAGS := $(STATIC_LDFLAGS) $(LDFLAGS)
LINK.cpp = $(CCC) -o $@ $(RTEMS_LDFLAGS) $(LDFLAGS) $(PROD_LD_OBJS) $(PROD_LD_RESS) $(LDLIBS)
RANLIB := $(RTEMS_BASE)/bin/$(RANLIB)
@@ -48,22 +46,23 @@ VALID_BUILDS = Ioc
# through the following contortions to get the EPICS flags back.
CFLAGS = $(CONFORM_CFLAGS) $(CROSS_CFLAGS) $(OPT_CFLAGS) $(DEBUG_CFLAGS)\
$(WARN_CFLAGS) $(TARGET_CFLAGS) $(USR_CFLAGS) $(ARCH_DEP_CFLAGS)\
$(CODE_CFLAGS) $(STATIC_CFLAGS) $(OP_SYS_CFLAGS)
$(CODE_CFLAGS) $(STATIC_CFLAGS) $(OP_SYS_CFLAGS) $(LIBRARY_SRC_CFLAGS)
CXXFLAGS = $(CONFORM_CXXFLAGS) $(CROSS_CXXFLAGS) $(OPT_CXXFLAGS)\
$(DEBUG_CXXFLAGS) $(WARN_CXXFLAGS) $(TARGET_CXXFLAGS) $(USR_CXXFLAGS)\
$(ARCH_DEP_CXXFLAGS) $(CODE_CXXFLAGS) $(STATIC_CXXCFLAGS) $(OP_SYS_CXXFLAGS)\
$(CROSS_CXXFLAGS)
$(LIBRARY_SRC_CFLAGS)
LDFLAGS = $(OPT_LDFLAGS) $(TARGET_LDFLAGS) $(USR_LDFLAGS) $(PROD_LDFLAGS)\
$(ARCH_DEP_LDFLAGS) $(OP_SYS_LDFLAGS) $(CROSS_LDFLAGS)
LDFLAGS = $(OPT_LDFLAGS) $(TARGET_LDFLAGS) $(USR_LDFLAGS) \
$(ARCH_DEP_LDFLAGS) $(DEBUG_LDFLAGS) $(OP_SYS_LDFLAGS) $(CROSS_LDFLAGS)\
$(RUNTIME_LDFLAGS) $(CODE_LDFLAGS)
LDLIBS = $(PROD_LDLIBS) $(STATIC_LDLIBS)\
$(POSIX_LDLIBS) $(ARCH_DEP_LDLIBS) $(OP_SYS_LDLIBS)
LDLIBS = $(STATIC_LDLIBS)\
$(POSIX_LDLIBS) $(ARCH_DEP_LDLIBS) $(DEBUG_LDLIBS) $(OP_SYS_LDLIBS)
CPPFLAGS += $(CROSS_CPPFLAGS) $(POSIX_CPPFLAGS) $(BASE_CPPFLAGS)\
$(TARGET_CPPFLAGS) $(USR_CPPFLAGS) $(ARCH_DEP_CPPFLAGS)\
$(OP_SYS_CPPFLAGS) $(CODE_CPPFLAGS)
CPPFLAGS += $(CONFORM_CPPFLAGS) $(CROSS_CPPFLAGS) $(POSIX_CPPFLAGS)\
$(BASE_CPPFLAGS) $(TARGET_CPPFLAGS) $(USR_CPPFLAGS) $(ARCH_DEP_CPPFLAGS)\
$(OP_SYS_CPPFLAGS) $(OP_SYS_INCLUDE_CPPFLAGS) $(CODE_CPPFLAGS)
#--------------------------------------------------
# Although RTEMS uses gcc, it wants to use gcc its own way
@@ -92,7 +91,7 @@ CODE_CFLAGS =
CODE_CXXFLAGS =
#--------------------------------------------------
# RTEMS uses the inline keyword, so get rid of pedantic warnings
# RTEMS uses the inline keyword so -pedantic causes too many problems.
CONFORM_CFLAGS_STRICT = -ansi
CONFORM_CXXFLAGS_STRICT = -ansi

View File

@@ -34,37 +34,56 @@ SHRLIBNAME_YES = $(BUILD_LIBRARY:%=$(LIB_PREFIX)%$(SHRLIB_SUFFIX))
#-------------------------------------------------------
# shrlib: DEPLIBS, LDFLAGS, and LDLIBS definitions
SHRLIB_DEPLIBS = $(foreach lib,$(SHRLIB_LIBS),$(firstword $(wildcard \
$($(lib)_DIR)/$(LIB_PREFIX)$(lib).*)))
SHRLIB_LDFLAGS = $(SHRLIB_LDFLAGS_$(strip $(SHARED_LIBRARIES)))
SHRLIB_LDLIBS = $($*_LDLIBS:%=-l%) $(SHRLIB_LIBS:%=-l%) \
$($*_SYS_LIBS:%=-l%) $(SYS_SHRLIB_LIBS:%=-l%)
LIB_EXT = $(LIB_SUFFIX)
# SHRLIB_LIBS deprecated
LIB_LIBS += $(SHRLIB_LIBS)
SHRLIB_DEPLIBS=$(foreach lib, $(LIB_LIBS) $(USR_LIBS), \
$(firstword $(wildcard $(addsuffix /$(LIB_PREFIX)$(lib).*, \
$($(lib)_DIR) $(SHRLIB_SEARCH_DIRS))) \
$(addsuffix /$(LIB_PREFIX)$(lib)$(LIB_EXT), \
$(firstword $($(lib)_DIR) $(INSTALL_LIB)))))
SHRLIB_LDLIBS = $(addprefix -l, $($*_LDLIBS) $(LIB_LIBS) $(USR_LIBS) \
$($*_SYS_LIBS) $(LIB_SYS_LIBS) $(USR_SYS_LIBS)) $(LDLIBS)
SHRLIB_DEPLIB_DIRS = $(dir $($*_DEPLIBS)) $(dir $(SHRLIB_DEPLIBS))
SHRLIB_LDFLAGS += $(sort $(SHRLIB_DEPLIB_DIRS:%=-L%))
SHRLIBDIR_LDFLAGS += $(sort $(SHRLIB_DEPLIB_DIRS:%=-L%))
#--------------------------------------------------
#-------------------------------------------------------
# Prod: DEPLIBS, LDFLAGS, and LDLIBS definitions
PROD_DEPLIBS = $(foreach lib,$(PROD_LIBS) $(USR_LIBS),$(firstword $(wildcard \
$($(lib)_DIR)/$(LIB_PREFIX)$(lib).*)))
PROD_LDLIBS = $($*_LDLIBS:%=-l%) $(PROD_LIBS:%=-l%) $(USR_LIBS:%=-l%)\
$($*_SYS_LIBS:%=-l%) $(SYS_PROD_LIBS:%=-l%)
PROD_DEPLIBS=$(foreach lib,$(PROD_LIBS) $(USR_LIBS), \
$(firstword $(wildcard $(addsuffix /$(LIB_PREFIX)$(lib).*, \
$($(lib)_DIR) $(SHRLIB_SEARCH_DIRS))) \
$(addsuffix /$(LIB_PREFIX)$(lib)$(LIB_EXT), \
$(firstword $($(lib)_DIR) $(INSTALL_LIB)))))
PROD_LDLIBS = $(addprefix -l, $($*_LDLIBS) $(PROD_LIBS) $(USR_LIBS)\
$($*_SYS_LIBS) $(PROD_SYS_LIBS) $(USR_SYS_LIBS))
LDLIBS_STATIC_YES = LDLIBS
LDLIBS_SHARED_NO = LDLIBS
PROD_LDLIBS += $($(firstword $(LDLIBS_STATIC_$(STATIC_BUILD)) \
$(LDLIBS_SHARED_$(SHARED_LIBRARIES))))
PROD_DEPLIB_DIRS = $(dir $($*_DEPLIBS)) $(dir $(PROD_DEPLIBS))
PROD_LDFLAGS += $(sort $(PROD_DEPLIB_DIRS:%=-L%))
PRODDIR_LDFLAGS += $(sort $(PROD_DEPLIB_DIRS:%=-L%))
#--------------------------------------------------
# Link definitions
LINK.cpp = $(CCC) -o $@ $(STATIC_LDFLAGS) $(PRODDIR_LDFLAGS) $(LDFLAGS)
LINK.cpp += $(PROD_LDFLAGS) $(PROD_LD_OBJS) $(PROD_LD_RESS) $(PROD_LDLIBS)
LINK.shrlib = $(CCC) -o $@ $(SHRLIB_LDFLAGS) $(SHRLIBDIR_LDFLAGS) $(LDFLAGS)
LINK.shrlib += $(LIB_LDFLAGS) $(LIBRARY_LD_OBJS) $(LIBRARY_LD_RESS) $(SHRLIB_LDLIBS)
#--------------------------------------------------
# Operating system definitions
OP_SYS_CPPFLAGS += -DUNIX
OP_SYS_LDLIBS += -lm
#--------------------------------------------------
# Link definitions
LINK.cpp = $(CCC) -o $@ $(STATIC_LDFLAGS) $(LDFLAGS) $(PROD_LD_OBJS) $(PROD_LD_RESS) $(LDLIBS)
LINK.shrlib = $(CCC) -o $@ $(SHRLIB_LDFLAGS) $(LDFLAGS) $(LIBRARY_LD_OBJS) $(LIBRARY_LD_RESS) $(SHRLIB_LDLIBS)
#--------------------------------------------------
# Allow site overrides
-include $(CONFIG)/os/CONFIG_SITE.Common.UnixCommon

View File

@@ -10,12 +10,15 @@
# Include definitions common to all Unix targets
include $(CONFIG)/os/CONFIG.Common.UnixCommon
#
# Set OS-specific information
#
OS_CLASS = Darwin
ARCH_CLASS = ppc
#
# Special flags for Darwin
# No common blocks (as required when going to shared libraries)
# No common blocks (as required when using shared libraries)
#
OP_SYS_CFLAGS += -fno-common
@@ -25,23 +28,30 @@ OP_SYS_CFLAGS += -fno-common
CPPSNCFLAGS += -no-cpp-precomp
#
# Need to get some fink-installed packages
# The following two definitions enable the use of DarwinPorts packages.
#
OP_SYS_CPPFLAGS += -I$(FINK_DIR)/include
OP_SYS_LDFLAGS += -L$(FINK_DIR)/lib
OP_SYS_LDLIBS +=
OP_SYS_CPPFLAGS += -I/opt/local/include
OP_SYS_LDFLAGS += -L/opt/local/lib
#
# Stuff that will be needed when going to shared libraries
# The following two definitions enable the use of Fink packages.
#
SHRLIB_LDFLAGS = -dynamiclib -flat_namespace -undefined suppress \
-install_name $(EPICS_BASE)/lib/$(EPICS_HOST_ARCH)/$@ \
-compatibility_version $(EPICS_VERSION).$(EPICS_REVISION) \
-current_version $(EPICS_VERSION).$(EPICS_REVISION).$(EPICS_MODIFICATION)
SHRLIB_SUFFIX = $(addprefix .,$(EPICS_VERSION).$(EPICS_REVISION).$(EPICS_MODIFICATION)).dylib
SHRLIB_VERSION = $(EPICS_VERSION).$(EPICS_REVISION).$(EPICS_MODIFICATION)
OP_SYS_CPPFLAGS += -I/sw/include
OP_SYS_LDFLAGS += -L/sw/lib
# Command-line input support
COMMANDLINE_LIBRARY=LIBTECLA
#
# Libraries for command-line editing.
#
LDLIBS_LIBTECLA = -ltecla_r -lncurses
LDLIBS_READLINE = -lreadline
#
# Command-line input support
#
# Install the DarwinPorts or Fink libtecla1 package and place the following
# line in CONFIG_SITE.darwin-ppc.Common to use libtecla command-line editing:
#COMMANDLINE_LIBRARY=LIBTECLA
# or install the DarwinPorts or Fink readline package and place the following
# line in CONFIG_SITE.darwin-ppc.Common to use GNU readline
# command-line editing:
#COMMANDLINE_LIBRARY=READLINE

View File

@@ -13,21 +13,23 @@ include $(CONFIG)/os/CONFIG.Common.UnixCommon
OS_CLASS = hpux
ARCH_CLASS = parisc
POSIX_CPPFLAGS_YES = -D_POSIX_C_SOURCE=199506L -D_XOPEN_SOURCE=500
POSIX_CPPFLAGS_NO =
POSIX_LDLIBS_NO +=
# When compiling with gcc, static builds need two more libraries (*sigh*)
POSIX_LDLIBS_GNU_YES_STATIC_YES += -lpthread -l:libdld.sl
POSIX_LDLIBS_YES = $(POSIX_LDLIBS_GNU_$(GNU)_STATIC_$(STATIC_BUILD))
# Posix stuff is not set here as "-mt" (in CONFIG.hpux-parisc.hpux-parisc)
# does all defines and linker options to make posix threads work
OP_SYS_CPPFLAGS = -D_HPUX_SOURCE -DHP_UX
OP_SYS_CPPFLAGS = -DHP_UX
OP_SYS_CFLAGS = -D_HPUX_SOURCE
OP_SYS_CXXFLAGS =
SHARED_LIBRARIES=YES
SHRLIB_SUFFIX = .sl$(addprefix .,$(SHRLIB_VERSION))
# Set runtime path for shared libraries
empty:= # trick from the make docs...
space:= $(empty) $(empty)
RUNTIME_LDFLAGS_YES = -Wl,+b$(subst $(space),:,$(sort $(SHRLIB_SEARCH_DIRS))),+s
RUNTIME_LDFLAGS += $(RUNTIME_LDFLAGS_$(SHARED_LIBRARIES))
ifdef CROSS
GNU_TARGET=parisc-hp-unix
CMPLR_SUFFIX=
CMPLR_PREFIX=$(addsuffix -,$(GNU_TARGET))
endif

View File

@@ -26,9 +26,14 @@ OP_SYS_LDLIBS = -lrt
#ARCH_DEP_CPPFLAGS += -D_X86_
# Set runtime path for shared libraries
RUNTIME_LDFLAGS_YES = $(SHRLIB_SEARCH_DIRS:%=-Wl,-rpath,%)
RUNTIME_LDFLAGS += $(RUNTIME_LDFLAGS_$(SHARED_LIBRARIES))
ifdef CROSS
GNU_TARGET=ppc_82xx
CMPLR_SUFFIX=
CMPLR_PREFIX=$(addsuffix -,$(GNU_TARGET))
endif

View File

@@ -18,21 +18,18 @@ CODE_CPPFLAGS = -D_REENTRANT
POSIX_CPPFLAGS_YES = -D_POSIX_C_SOURCE=199506L -D_POSIX_THREADS -D_XOPEN_SOURCE=500
POSIX_CPPFLAGS_NO =
POSIX_LDLIBS_YES = -lpthread
POSIX_LDLIBS_NO =
# -D_BSD_SOURCE for gethostname() in unistd.h as needed by cacChannelIO.cpp.
OP_SYS_CPPFLAGS += -D_BSD_SOURCE
OP_SYS_CPPFLAGS += -Dlinux
OP_SYS_LDFLAGS +=
OP_SYS_LDLIBS += -lrt
ARCH_DEP_CPPFLAGS += -D_X86_
ARCH_DEP_CFLAGS += -mcpu=pentium
# Set runtime path for shared libraries
PROD_LDFLAGS_YES += $(sort $(SHRLIB_SEARCH_DIRS:%=-Wl,-rpath,%/lib/$(T_A)))
SHRLIB_LDFLAGS_YES += $(sort $(SHRLIB_SEARCH_DIRS:%=-Wl,-rpath,%/lib/$(T_A)))
PROD_LDFLAGS += $(PROD_LDFLAGS_$(SHARED_LIBRARIES))
RUNTIME_LDFLAGS_YES = $(SHRLIB_SEARCH_DIRS:%=-Wl,-rpath,%)
RUNTIME_LDFLAGS += $(RUNTIME_LDFLAGS_$(SHARED_LIBRARIES))
ifdef CROSS
GNU_TARGET=i586-pc-linux-gnu
@@ -40,7 +37,3 @@ ifdef CROSS
CMPLR_PREFIX=$(addsuffix -,$(GNU_TARGET))
endif
#Allow R3.13 built extensions to load R3.14 shared libs
SYS_SHRLIB_LIBS += pthread rt

View File

@@ -0,0 +1,12 @@
# CONFIG.Common.linux-x86-debug
#
# $Id$
# This file is maintained by the build community.
#
# Definitions for linux-x86 with debug compiler flags
# Sites may override these definitions in CONFIG_SITE.Common.linux-x86-debug
#-------------------------------------------------------
# Include definitions common to all linux-x86 target archs
include $(CONFIG)/os/CONFIG.Common.linux-x86

View File

@@ -21,7 +21,6 @@ POSIX_CPPFLAGS_NO =
POSIX_LDLIBS_NO +=
OP_SYS_CPPFLAGS = -D_OSF_SOURCE
OP_SYS_LDLIBS +=
ifdef CROSS
GNU_TARGET=alpha-osf

View File

@@ -19,22 +19,17 @@ SOLARIS_VERSION = $(subst 5.,,$(shell uname -r))
# Flags for solaris 6
POSIX_CPPFLAGS_YES_6 += -D_REENTRANT
POSIX_LDLIBS_YES_6 += -lthread
POSIX_CPPFLAGS_YES += -D_POSIX_C_SOURCE=199506L $(POSIX_CPPFLAGS_YES_$(SOLARIS_VERSION))
POSIX_CPPFLAGS_YES += -D_XOPEN_SOURCE=500
POSIX_LDLIBS_YES_6 += -lthread
POSIX_LDLIBS_YES += -lposix4 -lpthread $(POSIX_LDLIBS_YES_$(SOLARIS_VERSION))
POSIX_CPPFLAGS_NO +=
POSIX_LDLIBS_NO +=
OP_SYS_CPPFLAGS += -DSOLARIS=$(SOLARIS_VERSION)
# socket and nsl needed by libca.a
OP_SYS_LDLIBS += -lsocket -lnsl
# -R does not work unless full path names are specified
# use loader's -R option
PROD_LDFLAGS += $(sort $(DEPLIB_DIRS:%=-R%))
# Set runtime path for shared libraries
RUNTIME_LDFLAGS_YES = $(SHRLIB_SEARCH_DIRS:%=-R%)
RUNTIME_LDFLAGS += $(RUNTIME_LDFLAGS_$(SHARED_LIBRARIES))
ifdef CROSS
GNU_TARGET=sparc-sun-solaris2
@@ -42,9 +37,16 @@ ifdef CROSS
CMPLR_PREFIX=$(addsuffix -,$(GNU_TARGET))
endif
# Lib for solaris 8
SYS_SHRLIB_LIBS_8 += Crun
OP_SYS_LDLIBS += -lsocket -lnsl
OP_SYS_LDLIBS_8 += -lCrun -lc -lCstd
OP_SYS_LDLIBS += $(OP_SYS_LDLIBS_$(SOLARIS_VERSION))
#Allow R3.13 built extensions to load R3.14 shared libs
SYS_SHRLIB_LIBS += posix4 pthread $(SYS_SHRLIB_LIBS_$(SOLARIS_VERSION))
# Definitions used when COMMANDLINE_LIBRARY is READLINE
GNU_DIR = /opt/gnu
INCLUDES_READLINE = -I$(GNU_DIR)/include
LDFLAGS_READLINE += -R$(GNU_DIR)/lib
LDFLAGS_READLINE += -L$(GNU_DIR)/lib
LDLIBS_READLINE = -lreadline -lcurses
# Use archive if there is a problem with the readline shared library
#LDLIBS_READLINE = -Bstatic -lreadline -Bdynamic -lcurses

View File

@@ -0,0 +1,12 @@
# CONFIG.Common.solaris-sparc-debug
#
# $Id$
# This file is maintained by the build community.
#
# Definitions for solaris-sparc with debug compiler flags
# Sites may override these definitions in CONFIG_SITE.Common.solaris-sparc-debug
#-------------------------------------------------------
# Include definitions common to all solaris-sparc target archs
include $(CONFIG)/os/CONFIG.Common.solaris-sparc

View File

@@ -9,4 +9,7 @@
# Include definitions common to all solaris-sparc target archs
include $(CONFIG)/os/CONFIG.Common.solaris-sparc
# CONFIG.Common.solaris-sparc
OP_SYS_LDLIBS_8 = -lc

View File

@@ -19,23 +19,18 @@ SOLARIS_VERSION = $(subst 5.,,$(shell uname -r))
# Flags for solaris 6
POSIX_CPPFLAGS_YES_6 += -D_REENTRANT
POSIX_LDLIBS_YES_6 += -lthread
POSIX_CPPFLAGS_YES += -D_POSIX_C_SOURCE=199506L $(POSIX_CPPFLAGS_YES_$(SOLARIS_VERSION))
POSIX_CPPFLAGS_YES += -D_XOPEN_SOURCE=500
POSIX_LDLIBS_YES_6 += -lthread
POSIX_LDLIBS_YES += -lposix4 -lpthread $(POSIX_LDLIBS_YES_$(SOLARIS_VERSION))
POSIX_CPPFLAGS_NO +=
POSIX_LDLIBS_NO +=
OP_SYS_CPPFLAGS += -DSOLARIS=$(SOLARIS_VERSION)
ARCH_DEP_CPPFLAGS = -D_X86_
# socket and nsl needed by libca.a
OP_SYS_LDLIBS += -lsocket -lnsl
# -R does not work unless full path names are specified
# use loader's -R option
#PROD_LDFLAGS += $(sort $(DEPLIB_DIRS:%=-R%))
# Set runtime path for shared libraries
RUNTIME_LDFLAGS_YES = $(SHRLIB_SEARCH_DIRS:%=-R%)
RUNTIME_LDFLAGS += $(RUNTIME_LDFLAGS_$(SHARED_LIBRARIES))
ifdef CROSS
GNU_TARGET=x86-sun-solaris2
@@ -43,9 +38,6 @@ ifdef CROSS
CMPLR_PREFIX=$(addsuffix -,$(GNU_TARGET))
endif
# Lib for solaris 8
SYS_SHRLIB_LIBS_8 += Crun
#Allow R3.13 built extensions to load R3.14 shared libs
SYS_SHRLIB_LIBS += posix4 pthread $(SYS_SHRLIB_LIBS_$(SOLARIS_VERSION))
OP_SYS_LDLIBS += -lsocket -lnsl
OP_SYS_LDLIBS_8 += -lCrun -lc -lCstd
OP_SYS_LDLIBS += $(OP_SYS_LDLIBS_$(SOLARIS_VERSION))

View File

@@ -16,18 +16,22 @@ ARCH_CLASS = x86
CODE_CPPFLAGS = -D__EXTENSIONS__
POSIX_CPPFLAGS_YES = -D_POSIX_C_SOURCE=199506L -D_XOPEN_SOURCE=500
POSIX_LDLIBS_YES += -lpthread -lthread
POSIX_CPPFLAGS_NO =
POSIX_LDLIBS_NO +=
POSIX_LDLIBS_YES += -lpthread -lthread
OP_SYS_CPPFLAGS = -DSUNOS4
OP_SYS_LDLIBS += -lsocket -lnsl
ARCH_DEP_CPPFLAGS += -D_X86_
# Set runtime path for shared libraries
RUNTIME_LDFLAGS_YES = $(SHRLIB_SEARCH_DIRS:%=-R%)
RUNTIME_LDFLAGS += $(RUNTIME_LDFLAGS_$(SHARED_LIBRARIES))
ifdef CROSS
GNU_TARGET=x86-sun-sunos4
CMPLR_SUFFIX=
CMPLR_PREFIX=$(addsuffix -,$(GNU_TARGET))
endif
OP_SYS_LDLIBS += -lsocket -lnsl

View File

@@ -21,6 +21,7 @@ EXE =
OBJ = .o
LIB_PREFIX =lib
LIB_SUFFIX = .a
LIB_EXT = .a
MUNCH_SUFFIX = .munch
#-------------------------------------------------------
@@ -29,14 +30,19 @@ LIBNAME = $(BUILD_LIBRARY:%=$(LIB_PREFIX)%$(LIB_SUFFIX))
#--------------------------------------------------
# Prod: DEPLIBS, LDFLAGS, and LDLIBS definitions
PROD_DEPLIBS = $(foreach lib,$(PROD_LIBS) $(USR_LIBS),$(firstword $(wildcard \
$($(lib)_DIR)/$(LIB_PREFIX)$(lib).*)))
PROD_LDLIBS = $($*_LDLIBS:%=-l%) $(PROD_LIBS:%=-l%) $(USR_LIBS:%=-l%)\
$($*_SYS_LIBS:%=-l%) $(SYS_PROD_LIBS:%=-l%)
PROD_DEPLIBS=$(foreach lib,$(PROD_LIBS) $(USR_LIBS), \
$(firstword $(wildcard $(addsuffix /$(LIB_PREFIX)$(lib).*, \
$($(lib)_DIR) $(SHRLIB_SEARCH_DIRS))) \
$(addsuffix /$(LIB_PREFIX)$(lib)$(LIB_EXT), \
$(firstword $($(lib)_DIR) $(INSTALL_LIB)))))
PROD_LDLIBS = $(addprefix -l,$($*_LDLIBS) $(PROD_LIBS) $(USR_LIBS)\
$($*_SYS_LIBS) $(PROD_SYS_LIBS) $(USR_SYS_LIBS))
PROD_DEPLIB_DIRS = $(dir $($*_DEPLIBS)) $(dir $(PROD_DEPLIBS))
PROD_LDFLAGS += $(sort $(PROD_DEPLIB_DIRS:%=-L%))
PRODDIR_LDFLAGS += $(sort $(PROD_DEPLIB_DIRS:%=-L%))
#-------------------------------------------------------
# Prod definitions
@@ -47,10 +53,11 @@ NMS = $(PRODNAME:%$(EXE)=%.nm)
#-------------------------------------------------------
# R3.13 compatability object library definitions
# Does not allow $*_SRCS or $*_OBJS. Allows only OBJLIB_SRCS and OBJLIB_OBJS.
OBJLIB += $(OBJLIB_$(OS_CLASS))
OBJLIB_SUFFIX = Library.o
OBJLIBNAME = $(addsuffix $(OBJLIB_SUFFIX),$(basename $(OBJLIB)))
OBJLIB_LD_OBJS = $(addsuffix $(OBJ),$(basename $(OBJLIB_SRCS) $(OBJLIB_OBJS)))
OBJLIB_LD_OBJS += $(addsuffix $(OBJ),$(basename $(OBJLIB_SRCS) $(OBJLIB_OBJS)))
PRODTARGETS += $(OBJLIBNAME)
INSTALL_PROD += $(OBJLIBNAME:%=$(INSTALL_BIN)/%)
OBJLIB_MUNCHNAME += $(OBJLIBNAME:%$(OBJ)=%$(MUNCH_SUFFIX))
@@ -60,7 +67,6 @@ CTDT_SRCS += $(OBJLIBNAME:%$(OBJ)=%_ctdt.c)
CTDT_OBJS += $(OBJLIBNAME:%$(OBJ)=%_ctdt$(OBJ))
NMS += $(OBJLIBNAME:%$(OBJ)=%.nm)
OBJLIB_LINK.cpp = $(LD) -o $@ $(OBJLIB_LD_OBJS)
TARGET_SRCS += $(foreach name, $(OBJLIB), $($(name)_SRCS))
SRC_FILES += $(OBJLIB_SRCS)
#--------------------------------------------------
@@ -90,7 +96,6 @@ OP_SYS_CPPFLAGS += -DvxWorks
OP_SYS_CFLAGS += -fno-builtin
#OP_SYS_CFLAGS += -fno-builtin -fdollars-in-identifiers
OP_SYS_LDFLAGS +=
OP_SYS_LDLIBS +=
# Fix for vxWorks headers using macros defined in
# vxWorks.h but not including vxWorks.h
@@ -111,13 +116,19 @@ CODE_CXXFLAGS = -fno-implicit-templates
POSIX_CPPFLAGS_YES = -D_POSIX_SOURCE
POSIX_CPPFLAGS_NO =
#--------------------------------------------------
# no shared libs for vxWorks
SHRLIB_CFLAGS =
SHRLIB_LDFLAGS =
#--------------------------------------------------
# osithead use default stack, YES or NO override
OSITHREAD_USE_DEFAULT_STACK = NO
#--------------------------------------------------
# Link definitions
LINK.cpp = $(LD) -o $@ $(STATIC_LDFLAGS) $(LDFLAGS) $(PROD_LD_OBJS) $(PROD_LD_RESS) $(LDLIBS)
LINK.cpp = $(LD) -o $@ $(STATIC_LDFLAGS) $(PRODDIR_LDFLAGS) $(LDFLAGS)
LINK.cpp += $(PROD_LDFLAGS) $(PROD_LD_OBJS) $(PROD_LD_RESS) $(PROD_LDLIBS)
#--------------------------------------------------
# Definitions for compile of *_ctdt.c file

View File

@@ -15,15 +15,11 @@ ARCH_CLASS = x86
EXE=.exe
POSIX_CPPFLAGS_YES = -D_POSIX_SOURCE=199506L -D_POSIX_THREADS -D_POSIX_TIMERS
POSIX_CPPFLAGS_NO =
#POSIX_CPPFLAGS_YES = -D_POSIX_SOURCE=199506L -D_POSIX_THREADS -D_POSIX_TIMERS
# _POSIX_SOURCE eliminates select()
POSIX_CPPFLAGS_YES = -D_POSIX_THREADS -D_POSIX_TIMERS
#POSIX_LDLIBS_YES += -lpthread
POSIX_LDLIBS_NO =
ARCH_DEP_CPPFLAGS += -D_X86_
OP_SYS_CPPFLAGS += -DCYGWIN32 -U_WIN32
OP_SYS_LDFLAGS +=
OP_SYS_LDLIBS +=
####OP_SYS_LDLIBS += -lrt

View File

@@ -14,12 +14,5 @@ RM = rm -f
MKDIR = mkdir
RMDIR = rm -rf
# Set LD_LIBRARY_PATH for shared library builds
ifneq ($(EPICS_BASE),$(INSTALL_LOCATION))
export LD_LIBRARY_PATH := $(INSTALL_HOST_LIB):$(EPICS_BASE_HOST_LIB):$(LD_LIBRARY_PATH)
else
export LD_LIBRARY_PATH := $(INSTALL_HOST_LIB):$(LD_LIBRARY_PATH)
endif
# Allow site overrides
-include $(CONFIG)/os/CONFIG_SITE.UnixCommon.Common

View File

@@ -14,6 +14,16 @@ GNU_DIR = /usr
CC = $(GNU_BIN)/cc
CCC = $(GNU_BIN)/c++
#
# Darwin shared libraries
#
SHRLIB_LDFLAGS = -dynamiclib -flat_namespace -undefined suppress \
-install_name $(firstword $(SHRLIB_SEARCH_DIRS))/$@ \
-compatibility_version $(EPICS_VERSION).$(EPICS_REVISION) \
-current_version $(EPICS_VERSION).$(EPICS_REVISION).$(EPICS_MODIFICATION)
SHRLIB_SUFFIX = $(addprefix .,$(EPICS_VERSION).$(EPICS_REVISION).$(EPICS_MODIFICATION)).dylib
SHRLIB_VERSION = $(EPICS_VERSION).$(EPICS_REVISION).$(EPICS_MODIFICATION)
#
# Position-independent code is the default on Darwin.
#
@@ -21,14 +31,14 @@ CODE_CFLAGS =
CODE_CXXFLAGS =
#
# -O3 is too agressive on Darwin with the April 2002 Developer Tools
# and causes problems with undefined references to non-virtual thunks
# with the August 2002 Developer Tools.
# Add support for Objective-C source
#
OPT_CFLAGS_YES = -O2
OPT_CXXFLAGS_YES = -O2
vpath %.m $(USR_VPATH) $(ALL_SRC_DIRS)
%.o: %.m
$(COMPILE.c) -c $<
#
# Static linking fails on OS X (missing crt0.o)
# Pedantic produces way too many unnecessary messages
#
STATIC_LDFLAGS_YES =
CONFORM_CFLAGS_STRICT=-ansi
CONFORM_CXXFLAGS_STRICT=-ansi

View File

@@ -10,12 +10,20 @@
# Include common gnu compiler definitions
include $(CONFIG)/CONFIG.gnuCommon
#GNU_DIR = /opt/gnu
CC = $(GNU_BIN)/gcc
CCC = $(GNU_BIN)/g++
AR = ar -rc
RANLIB=
LD = ld -r
SHRLIB_LDFLAGS_YES += -fPIC
# Always keep libc shared to force using the one supplied with the
# target machine (HP system and libc must match - important e.g. for
# multi-CPU-systems)
STATIC_LDFLAGS_YES = -static -l:libc.sl
# Switch explicitly from default DCE threads to posix threads
POSIX_CPPFLAGS_YES += -D_REENTRANT -D_PTHREADS -D_POSIX_C_SOURCE=199506L
USR_SYS_LIBS += pthread
# C++ templates need PIC definition also in link phase
SHRLIB_LDFLAGS += -shared -fPIC

View File

@@ -11,4 +11,3 @@
include $(CONFIG)/os/CONFIG.UnixCommon.Common
WIND_HOST_TYPE = parisc-hpux10

View File

@@ -18,9 +18,8 @@ LD = ld -r
CONFORM_CFLAGS_ANSI = -Aa
CONFORM_CFLAGS_STRICT = -Aa
CONFORM_CFLAGS_TRAD = -Ac
######################################################
# +DAportable causes portable object code to be created for execution
# on different PA-Risc machines
# Portability across different PA-RISC architecture versions
CODE_CFLAGS = +DAportable +z
WARN_CFLAGS_YES =
WARN_CFLAGS_NO = -w
@@ -29,28 +28,30 @@ OPT_CFLAGS_NO = -g
CXXCMPLR=STRICT
# Selective filter for getting rid of bogus compiler warnings
COMPILE_FILTER.cpp = 2>&1 | $(EPICS_BASE)/configure/tools/filterWarnings.pl
# Configure OS vendor C++ compiler
CONFORM_CXXFLAGS_NORMAL = -AA -mt -Aa
#CONFORM_CXXFLAGS_STRICT = +p
CONFORM_CXXFLAGS_STRICT = -AA -mt -Aa
CONFORM_CXXFLAGS_NORMAL = -AA -Aa -mt
CONFORM_CXXFLAGS_STRICT = -AA -Aa -mt
#CONFORM_CXXFLAGS_STRICT += +p
######################################################
# +DAportable causes portable object code to be created for execution
# on different PA-Risc machines
# Portability across different PA-RISC architecture versions
CODE_CXXFLAGS = +DAportable +z
WARN_CXXFLAGS_YES = +w
WARN_CXXFLAGS_NO =
OPT_CXXFLAGS_YES = +O3
OPT_CXXFLAGS_NO = -g
# Always keep libc shared to force using the one supplied with the
# target machine (HP system and libc must match - important e.g. for
# multi-CPU-systems)
STATIC_LDFLAGS_YES= -Wl,-a,archive -l:libc.sl
# shared libs will be found by searching environment variable SHLIB_PATH,
# then by searching the specified path (see below)
STATIC_LDFLAGS_NO = -Wl,+b$(DEFAULT_SHRLIB_SEARCH_PATH),+s
STATIC_LDLIBS_YES=
STATIC_LDLIBS_NO=
STATIC_LDFLAGS_NO =
STATIC_LDLIBS_YES =
STATIC_LDLIBS_NO =
TARGET_LDFLAGS += -AA -mt
SHRLIB_LDFLAGS_YES = -b
SHRLIB_LDFLAGS = -b

View File

@@ -0,0 +1,12 @@
# CONFIG.linux-x86-debug.Common
#
# $Id$
# This file is maintained by the build community.
#
# Definitions for linux-x86 debug with debug compiler flags
# Sites may override these definitions in CONFIG_SITE.linux-x86-debug.Common
#-------------------------------------------------------
#Include definitions common to linux-x86 hosts
include $(CONFIG)/os/CONFIG.linux-x86.Common

View File

@@ -0,0 +1,11 @@
# CONFIG.linux-x86-debug.linux-x86-debug
#
# $Id$
# This file is maintained by the build community.
#
# Definitions for linux-x86 host - linux-x86 target build with debug compiler flags
# Sites may override these definitions in CONFIG_SITE.linux-x86-debug.linux-x86-debug
#-------------------------------------------------------
include $(CONFIG)/os/CONFIG.linux-x86.linux-x86

View File

@@ -13,3 +13,5 @@ GNU_DIR = /usr
CC = $(GNU_BIN)/gcc
CCC = $(GNU_BIN)/g++
SHRLIB_LDFLAGS += -shared -z defs

View File

@@ -40,7 +40,7 @@ STATIC_LDFLAGS_NO=
STATIC_LDLIBS_YES= -Bdynamic
STATIC_LDLIBS_NO=
SHRLIB_LDFLAGS_YES = -shared
SHRLIB_LDFLAGS = -shared
############# ???????????
#####ACC_SFLAGS_YES= -non_shared

View File

@@ -0,0 +1,12 @@
# CONFIG.solaris-sparc-debug.Common
#
# $Id$
# This file is maintained by the build community.
#
# Definitions for solaris-sparc debug with debug compiler flags
# Sites may override these definitions in CONFIG_SITE.solaris-sparc-debug.Common
#-------------------------------------------------------
#Include definitions common to solaris-sparc hosts
include $(CONFIG)/os/CONFIG.solaris-sparc.Common

View File

@@ -0,0 +1,11 @@
# CONFIG.solaris-sparc-debug.solaris-sparc-debug
#
# $Id$
# This file is maintained by the build community.
#
# Definitions for solaris-sparc host - solaris-sparc target build with debug compiler flags
# Sites may override these definitions in CONFIG_SITE.solaris-sparc-debug.solaris-sparc-debug
#-------------------------------------------------------
include $(CONFIG)/os/CONFIG.solaris-sparc.solaris-sparc

View File

@@ -23,5 +23,6 @@ STATIC_LDFLAGS_NO=
STATIC_LDLIBS_YES= -Bdynamic
STATIC_LDLIBS_NO=
#SHRLIB_LDFLAGS_YES = -G -h $@ -z ignore -z combreloc -z lazyload
SHRLIB_LDFLAGS = -G -h $@ -z ignore -z combreloc -z lazyload
SHRLIB_LDFLAGS += -z defs

View File

@@ -19,14 +19,16 @@ RANLIB =
#Prepare the object code for profiling with prof. (YES or NO)
PROFILE=NO
#Prepare the object code for profiling with gprof. (YES or NO)
GPROF=NO
# Configure OS vendor C compiler
CONFORM_CFLAGS_ANSI = -Xa -v
CONFORM_CFLAGS_STRICT = -Xc -v
CONFORM_CFLAGS_TRAD = -Xs
PROF_CFLAGS_YES = -p
PROF_CFLAGS_NO =
CODE_CFLAGS = -KPIC $(PROF_CFLAGS_$(PROFILE))
GPROF_CFLAGS_YES = -xpg
CODE_CFLAGS = $(PROF_CFLAGS_$(PROFILE)) $(GPROF_CFLAGS_$(GPROF))
WARN_CFLAGS_YES =
WARN_CFLAGS_NO = -w
OPT_CFLAGS_YES = -xO4
@@ -36,18 +38,23 @@ OPT_CFLAGS_NO = -g
CONFORM_CXXFLAGS_NORMAL =
CONFORM_CXXFLAGS_STRICT =
PROF_CXXFLAGS_YES = -p
PROF_CXXFLAGS_NO =
CODE_CXXFLAGS = -KPIC $(PROF_CXXFLAGS_$(PROFILE))
GPROF_CXXFLAGS_YES = -xpg
CODE_CXXFLAGS = $(PROF_CXXFLAGS_$(PROFILE)) $(GPROF_CXXFLAGS_$(GPROF))
WARN_CXXFLAGS_YES = +w
WARN_CXXFLAGS_NO =
OPT_CXXFLAGS_YES = -O
OPT_CXXFLAGS_NO = -g
CODE_LDFLAGS = $(PROF_CXXFLAGS_$(PROFILE)) $(GPROF_CXXFLAGS_$(GPROF))
STATIC_LDFLAGS_YES= -Bstatic
STATIC_LDFLAGS_NO=
STATIC_LDLIBS_YES= -Bdynamic
STATIC_LDLIBS_NO=
SHRLIB_LDFLAGS_YES = -G -h $@ -z ignore -z combreloc -z lazyload
SHRLIB_CFLAGS += -KPIC
SHRLIB_LDFLAGS += -G -h $@
SHRLIB_LDFLAGS += -z defs
OP_SYS_LDFLAGS += -z ignore -z combreloc -z lazyload

View File

@@ -17,3 +17,9 @@ CCC = $(GNU_BIN)/g++
AR = ar -rc
RANLIB=
LD = ld -r
SHRLIB_LDFLAGS = -G -h $@
SHRLIB_LDFLAGS += -z defs
OP_SYS_LDFLAGS = -z ignore -z combreloc -z lazyload

View File

@@ -28,8 +28,8 @@ CONFORM_CFLAGS_ANSI = -Xa -v
CONFORM_CFLAGS_STRICT = -Xc -v
CONFORM_CFLAGS_TRAD = -Xs
PROF_CFLAGS_YES = -p
PROF_CFLAGS_NO =
CODE_CFLAGS = -KPIC $(PROF_CFLAGS_$(PROFILE))
GPROF_CFLAGS_YES = -xpg
CODE_CFLAGS = $(PROF_CFLAGS_$(PROFILE)) $(GPROF_CFLAGS_$(GPROF))
WARN_CFLAGS_YES =
WARN_CFLAGS_NO = -w
OPT_CFLAGS_YES = -xO4
@@ -39,8 +39,8 @@ OPT_CFLAGS_NO = -g
CONFORM_CXXFLAGS_NORMAL =
CONFORM_CXXFLAGS_STRICT =
PROF_CXXFLAGS_YES = -p
PROF_CXXFLAGS_NO =
CODE_CXXFLAGS = -KPIC $(PROF_CXXFLAGS_$(PROFILE))
GPROF_CXXFLAGS_YES = -xpg
CODE_CXXFLAGS = $(PROF_CXXFLAGS_$(PROFILE)) $(GPROF_CXXFLAGS_$(GPROF))
WARN_CXXFLAGS_YES = +w
WARN_CXXFLAGS_NO =
OPT_CXXFLAGS_YES = -O
@@ -51,5 +51,9 @@ STATIC_LDFLAGS_NO=
STATIC_LDLIBS_YES= -Bdynamic
STATIC_LDLIBS_NO=
SHRLIB_LDFLAGS_YES = -G -h $@ -z ignore -z combreloc -z lazyload
SHRLIB_CFLAGS += -KPIC
SHRLIB_LDFLAGS = -G -h $@
SHRLIB_LDFLAGS += -z defs
OP_SYS_LDFLAGS = -z ignore -z combreloc -z lazyload

View File

@@ -44,5 +44,5 @@ STATIC_LDFLAGS_NO=
STATIC_LDLIBS_YES= -Bdynamic
STATIC_LDLIBS_NO=
SHRLIB_LDFLAGS_YES = -assert pure-text -h $@
SHRLIB_LDFLAGS = -assert pure-text -h $@

View File

@@ -136,8 +136,7 @@ OPT_CXXFLAGS_NO =
#
# no special libs for static link
#
STATIC_LDLIBS_YES=
STATIC_LDLIBS_NO=
LDLIBS = ws2_32.lib advapi32.lib user32.lib kernel32.lib winmm.lib
# -c case sensitive linking
# -C clear state before linking
@@ -148,7 +147,7 @@ STATIC_LDLIBS_NO=
# -w display warnings on
LINK_OPT_FLAGS_YES = -c -C -Gi -Gn -Tpd -x -w
LINK_OPT_FLAGS_NO = -c -C -Gi -Gn -Tpd -x -w-
WIN32_DLLFLAGS = $(LINK_OPT_FLAGS_$(HOST_OPT))
WIN32_DLLFLAGS = $(LINK_OPT_FLAGS_$(HOST_OPT)) $(TARGET_LDFLAGS) $(LIB_LDFLAGS)
OPT_LDFLAGS =
ARCH_DEP_CFLAGS=
@@ -181,7 +180,6 @@ OP_SYS_CFLAGS =
#
OP_SYS_INCLUDES = -I$(BORLAND_INC)
#
OP_SYS_LDLIBS =
#
# specify dll .def file only if it exists
@@ -228,26 +226,55 @@ INSTALL_SHRLIB = $(INSTALL_BIN)
#--------------------------------------------------
# Object lib name suffix
OBJECT_LIB_EXT_YES = Obj.lib # object library extension for static build
OBJECT_LIB_EXT_NO = .lib # object library extension for dynamic build
OBJECT_LIB_EXT = $(OBJECT_LIB_EXT_$(STATIC_BUILD))
LIB_EXT_YES = Obj.lib # object library extension for static build
LIB_EXT_NO = .lib # library extension for dynamic build
LIB_EXT = $(LIB_EXT_$(STATIC_BUILD))
#--------------------------------------------------
# Products dependancy definitions
PROD_DEPLIBS = $(foreach lib,$(PROD_LIBS) $(USR_LIBS),$(firstword \
$($(lib)_DIR)/$(lib)$(OBJECT_LIB_EXT)))
PROD_LDLIBS = $($*_DEPLIBS) $(PROD_DEPLIBS) \
$($*_SYS_LIBS:%=%.lib) $(SYS_PROD_LIBS:%=%.lib)
# SYS_PROD_LIBS deprecated
# Use PROD_SYS_LIBS
PROD_DEPLIBS=$(foreach lib, $(PROD_LIBS) $(USR_LIBS), \
$(firstword $(wildcard $(addsuffix /$(LIB_PREFIX)$(lib)$(LIB_EXT), \
$($(lib)_DIR) $(SHRLIB_SEARCH_DIRS))) \
$(addsuffix /$(LIB_PREFIX)$(lib)$(LIB_EXT), \
$(firstword $($(lib)_DIR) $(INSTALL_LIB)))))
PROD_LDLIBS += $($*_DEPLIBS) $(PROD_DEPLIBS)
PROD_LDLIBS += $(addsuffix .lib, \
$($*_SYS_LIBS) $(PROD_SYS_LIBS) $(USR_SYS_LIBS) )
LDLIBS_STATIC_YES = LDLIBS
LDLIBS_SHARED_NO = LDLIBS
PROD_LDLIBS += $($(firstword $(LDLIBS_STATIC_$(STATIC_BUILD)) \
$(LDLIBS_SHARED_$(SHARED_LIBRARIES))))
#--------------------------------------------------
#Libraries dependancy definitions
# EPICS libs that we need to link the DLL with
# (it isnt necessary to rebuild the dll if these change)
DLL_DEPLIBS = $(foreach lib,$($*_DLL_LIBS) $(DLL_LIBS),$($(lib)_DIR)/$(lib).lib)
# <name>_DLL_LIBS <name>_SYS_DLL_LIBS deprecated.
# Use <name>_LIBS and <name>_SYS_LIBS.
# DLL_LIBS, and SYS_DLL_LIBS deprecated
# Use LIB_LIBS and LIB_SYS_LIBS
LIB_LIBS += $(DLL_LIBS)
LIB_SYS_LIBS += $(SYS_DLL_LIBS)
# libs that we need to link the DLL with
# (it isnt necessary to rebuild the dll if these change)
SHRLIB_DEPLIBS += $(foreach lib, $(LIB_LIBS) $(USR_LIBS), \
$(firstword $(wildcard $(addsuffix /$(LIB_PREFIX)$(lib)$(LIB_EXT), \
$($(lib)_DIR) $(SHRLIB_SEARCH_DIRS))) \
$(addsuffix /$(LIB_PREFIX)$(lib)$(LIB_EXT), \
$(firstword $($(lib)_DIR) $(INSTALL_LIB)))))
SHRLIB_LDLIBS += $($*_DLL_DEPLIBS) $($*_DEPLIBS) $(SHRLIB_DEPLIBS)
SHRLIB_LDLIBS += $(addsuffix .lib, \
$($*_SYS_DLL_LIBS) \
$($*_SYS_LIBS) $(LIB_SYS_LIBS) $(USR_SYS_LIBS) )
SHRLIB_LDLIBS = $(DLL_DEPLIBS) $($*_SYS_DLL_LIBS:%=%.lib) \
$(SYS_DLL_LIBS:%=%.lib) $(OP_SYS_LDLIBS)
#--------------------------------------------------
@@ -263,14 +290,11 @@ LDFLAGS += -c -C -Gn -Tpe -x -w -L$(BORLAND_LIB) -L$(BORLAND_LIB)\\Psdk
LINKSTARTUP = c0x32.obj
LINKLIBS=import32.lib cw32$(LIBSUF).lib
LINK.cpp = $(WINLINK) $(STATIC_LDFLAGS) $(LDFLAGS) $(LINKSTARTUP) $(subst /,\\,$(PROD_LD_OBJS))
LINK.cpp += , $@ ,,$(LINKLIBS) $(subst /,\\,$(LDLIBS))
LINK.cpp = $(WINLINK) $(STATIC_LDFLAGS) $(LDFLAGS) $(PROD_LDFLAGS) $(LINKSTARTUP) $(subst /,\\,$(PROD_LD_OBJS))
LINK.cpp += , $@ ,,$(LINKLIBS) $(subst /,\\,$(PROD_LDLIBS))
#--------------------------------------------------
# override of CONFIG_SITE default
SHARED_LIBRARIES = YES
# override of CONFIG_COMMON
HDEPENDS_INCLUDES_MKMF = $(filter-out $(BORLAND_INC),$(subst -I,,$(INCLUDES)))

View File

@@ -19,6 +19,13 @@ AR = ar -rc
LD = ld -r
RANLIB = ranlib
CODE_CFLAGS =
CODE_CXXFLAGS =
# Avoid position-independent code is always generated message
SHRLIB_CFLAGS =
# -ansi eliminates strdup
CONFORM_CFLAGS_ANSI =
CONFORM_CFLAGS_STRICT = -pedantic
CONFORM_CXXFLAGS_ANSI =
CONFORM_CXXFLAGS_STRICT = -pedantic

View File

@@ -0,0 +1,12 @@
# CONFIG.win32-x86-debug.Common
#
# $Id$
# This file is maintained by the build community.
#
# Definitions for win32-x86 debug with debug compiler flags
# Sites may override these definitions in CONFIG_SITE.win32-x86-debug.Common
#-------------------------------------------------------
#Include definitions common to win32-x86 hosts
include $(CONFIG)/os/CONFIG.win32-x86.Common

View File

@@ -0,0 +1,11 @@
# CONFIG.solaris-x86-debug.solaris-x86-debug
#
# $Id$
# This file is maintained by the build community.
#
# Definitions for solaris-x86 debug compiler host - solaris-x86 debug compiler target builds
# Sites may override these definitions in CONFIG_SITE.solaris-x86-debug.solaris-x86-debug
#-------------------------------------------------------
include $(CONFIG)/os/CONFIG.win32-x86.win32-x86

View File

@@ -19,7 +19,6 @@ PATH_FILTER = $(subst /,\\,$(1))
#
# "\ " forces gnu make to keep this as one token
#
MSVISC = c:\\Program\ Files\\DevStudio\\Vc
WINLINK = link
RCCMD = rc -l 0x409 $(INCLUDES) -fo $@ $<
@@ -30,7 +29,7 @@ BAFCMD = bscmake /nologo /o $@
#
# Configure OS vendor C compiler
CC = cl
CC = cl
#
# __STDC__=0 is a real great idea of Jeff that gives us both:
@@ -47,13 +46,15 @@ CONFORM_CFLAGS_TRAD = /nologo
#
# /W<N> use warning level N
# (maximum (lint type) warnings at level 4)
WARN_CFLAGS_YES = /W3
# /w44355 set "'this' used in the base initializer list" to be level 4
WARN_CFLAGS_YES = /W3 /w44355
WARN_CFLAGS_NO = /W1
#
# /Ox maximum optimizations
# /MD use MSVCRT (run-time as DLL, multi-thread support)
# /GL whole program optimization
# /Zi generate program database for debugging information
OPT_CFLAGS_YES = /Ox /GL
#
@@ -62,7 +63,9 @@ OPT_CFLAGS_YES = /Ox /GL
# /Fr create source browser file
# /GZ catch bugs occurring only in optimized code
# /D_CRTDBG_MAP_ALLOC
OPT_CFLAGS_NO = /Zi /DEPICS_FREELIST_DEBUG
# /RTCsu catch bugs occuring only inoptimized code
# /DEPICS_FREELIST_DEBUG good for detecting mem mrg bugs
OPT_CFLAGS_NO = /Zi /RTCsu
# specify object file name and location
OBJ_CFLAG = /Fo
@@ -77,7 +80,7 @@ OBJ_CFLAG = /Fo
# /MD multithreaded C RTL in DLL
# /MDd multithreaded C RTL in DLL (debug version)
VISC_DLL_NO = -DEPICS_DLL_NO
VISC_DLL_YES =
VISC_DLL_YES =
VISC_DLL = $(VISC_DLL_$(SHARED_LIBRARIES))
VISC_STATIC_CFLAGS_DEBUG_NO = d
VISC_STATIC_CFLAGS_DEBUG_YES =
@@ -103,28 +106,31 @@ CPP = gcc -x c -E
# /GX - generate code for exceptions
# /GR - generate code for run time type identification
#
CCC = cl
CONFORM_CXXFLAGS_NORMAL = /nologo /D__STDC__=0 /GX /GR
CONFORM_CXXFLAGS_STRICT = /nologo /D__STDC__=0 /GX /GR
CCC = cl /nologo /GX /GR
CONFORM_CXXFLAGS_NORMAL =
CONFORM_CXXFLAGS_STRICT = /D__STDC__=0
#
# /W<N> use warning level N
# (maximum lint level warnings at level 4)
WARN_CXXFLAGS_YES = /W3
# /w44355 set "'this' used in the base initializer list" to be level 4
WARN_CXXFLAGS_YES = /W3 /w44355
WARN_CXXFLAGS_NO = /W1
#
# /Ox maximum optimizations
# /GL whole program optimization
# /Zi generate program database for debugging information
OPT_CXXFLAGS_YES = /Ox /GL
#
# /Zi generate program database for debugging information
# /Z7 include debugging info in object files
# /Fr create source browser file
# /GZ catch bugs occurring only in optimized code
# /D_CRTDBG_MAP_ALLOC
OPT_CXXFLAGS_NO = /Zi /DEPICS_FREELIST_DEBUG
# /RTCsu catch bugs occurring only in optimized code
# /DEPICS_FREELIST_DEBUG good for detecting mem mrg bugs
OPT_CXXFLAGS_NO = /RTCsu /Zi
# specify object file name and location
OBJ_CXXFLAG = /Fo
@@ -141,15 +147,14 @@ OBJ_CXXFLAG = /Fo
STATIC_CXXFLAGS_YES= /MT$(VISC_STATIC_CFLAGS_DEBUG) $(VISC_DLL)
STATIC_CXXFLAGS_NO= /MD$(VISC_STATIC_CFLAGS_DEBUG) $(VISC_DLL)
#
# no special libs for static link
#
STATIC_LDLIBS_YES=ws2_32.lib advapi32.lib user32.lib kernel32.lib winmm.lib
STATIC_LDLIBS_NO=
STATIC_LDLIBS_NO=
# add /profile here to run the ms profiler
# /LTCG - whole program optimization
LINK_OPT_FLAGS_YES = /LTCG /incremental:no /opt:ref /release $(PROD_VERSION:%=/version:%)
# /fixed:no good for programs such as purify and quantify
# /debug good for programs such as purify and quantify
LINK_OPT_FLAGS_YES = /LTCG /incremental:no /opt:ref /release $(PROD_VERSION:%=/version:%)
LINK_OPT_FLAGS_NO = /debug /incremental:no /fixed:no
OPT_LDFLAGS = $(LINK_OPT_FLAGS_$(HOST_OPT))
@@ -183,13 +188,6 @@ OP_SYS_CFLAGS =
#
#OP_SYS_INCLUDES = -I$(INSTALL_INCLUDE)\\os\\WIN32
#
# These are now added to the individual makefiles that use them in order to
# speed up the build
#
#OP_SYS_LDLIBS = user32.lib kernel32.lib advapi32.lib winmm.lib
OP_SYS_LDLIBS =
# Files and flags needed to link DLLs (used in RULES_BUILD)
#
# Strange but seems to work without: WIN32_DLLFLAGS should contain
@@ -197,7 +195,7 @@ OP_SYS_LDLIBS =
# '-entry:_DllMainCRTStartup$(DLLENTRY)'
DLLENTRY = @12
WIN32_DLLFLAGS = /subsystem:windows /dll $(OPT_LDFLAGS)
WIN32_DLLFLAGS = /subsystem:windows /dll $(OPT_LDFLAGS) $(TARGET_LDFLAGS) $(LIB_LDFLAGS)
#
# specify dll .def file only if it exists
@@ -242,34 +240,59 @@ INSTALL_SHRLIB = $(INSTALL_BIN)
#--------------------------------------------------
# Object lib name suffix
OBJECT_LIB_EXT_YES = Obj.lib # object library extension for static build
OBJECT_LIB_EXT_NO = .lib # object library extension for dynamic build
OBJECT_LIB_EXT = $(OBJECT_LIB_EXT_$(STATIC_BUILD))
LIB_EXT_YES = Obj.lib # object library extension for static build
LIB_EXT_NO = .lib # object library extension for dynamic build
LIB_EXT = $(LIB_EXT_$(STATIC_BUILD))
#--------------------------------------------------
# Products dependancy definitions
PROD_DEPLIBS = $(foreach lib,$(PROD_LIBS) $(USR_LIBS),$(firstword \
$($(lib)_DIR)/$(lib)$(OBJECT_LIB_EXT)))
PROD_LDLIBS = $($*_DEPLIBS) $(PROD_DEPLIBS) \
$($*_SYS_LIBS:%=%.lib) $(SYS_PROD_LIBS:%=%.lib)
# SYS_PROD_LIBS deprecated
# Use PROD_SYS_LIBS
PROD_DEPLIBS=$(foreach lib, $(PROD_LIBS) $(USR_LIBS), \
$(firstword $(wildcard $(addsuffix /$(LIB_PREFIX)$(lib)$(LIB_EXT), \
$($(lib)_DIR) $(SHRLIB_SEARCH_DIRS))) \
$(addsuffix /$(LIB_PREFIX)$(lib)$(LIB_EXT), \
$(firstword $($(lib)_DIR) $(INSTALL_LIB)))))
PROD_LDLIBS += $($*_DEPLIBS) $(PROD_DEPLIBS)
PROD_LDLIBS += $(addsuffix .lib, \
$($*_SYS_LIBS) $(PROD_SYS_LIBS) $(USR_SYS_LIBS) )
LDLIBS_STATIC_YES = LDLIBS
LDLIBS_SHARED_NO = LDLIBS
PROD_LDLIBS += $($(firstword $(LDLIBS_STATIC_$(STATIC_BUILD)) \
$(LDLIBS_SHARED_$(SHARED_LIBRARIES))))
#--------------------------------------------------
# Libraries dependancy definitions
#Libraries dependancy definitions
# EPICS libs that we need to link the DLL with
# (it isnt necessary to rebuild the dll if these change)
DLL_DEPLIBS = $(foreach lib,$($*_DLL_LIBS) $(DLL_LIBS),$($(lib)_DIR)/$(lib).lib)
# <name>_DLL_LIBS <name>_SYS_DLL_LIBS deprecated.
# Use <name>_LIBS and <name>_SYS_LIBS.
# DLL_LIBS, and SYS_DLL_LIBS deprecated
# Use LIB_LIBS and LIB_SYS_LIBS
LIB_LIBS += $(DLL_LIBS)
LIB_SYS_LIBS += $(SYS_DLL_LIBS)
SHRLIB_LDLIBS = $(DLL_DEPLIBS) $($*_SYS_DLL_LIBS:%=%.lib) \
$(SYS_DLL_LIBS:%=%.lib) $(OP_SYS_LDLIBS)
# libs that we need to link the DLL with
# (it isnt necessary to rebuild the dll if these change)
SHRLIB_DEPLIBS += $(foreach lib, $(LIB_LIBS) $(USR_LIBS), \
$(firstword $(wildcard $(addsuffix /$(LIB_PREFIX)$(lib)$(LIB_EXT), \
$($(lib)_DIR) $(SHRLIB_SEARCH_DIRS))) \
$(addsuffix /$(LIB_PREFIX)$(lib)$(LIB_EXT), \
$(firstword $($(lib)_DIR) $(INSTALL_LIB)))))
SHRLIB_LDLIBS += $($*_DLL_DEPLIBS) $($*_DEPLIBS) $(SHRLIB_DEPLIBS)
SHRLIB_LDLIBS += $(addsuffix .lib, \
$($*_SYS_DLL_LIBS) \
$($*_SYS_LIBS) $(LIB_SYS_LIBS) $(USR_SYS_LIBS) )
#--------------------------------------------------
# Linker definition
LINK.cpp = $(WINLINK) -nologo $(STATIC_LDFLAGS) $(LDFLAGS) -out:$@ \
$(PROD_LD_OBJS) $(PROD_LD_RESS) $(LDLIBS)
LINK.cpp = $(WINLINK) -nologo $(STATIC_LDFLAGS) $(LDFLAGS) $(PROD_LDFLAGS) -out:$@ \
$(PROD_LD_OBJS) $(PROD_LD_RESS) $(PROD_LDLIBS)
#--------------------------------------------------
# override of CONFIG_SITE
SHARED_LIBRARIES = YES

View File

@@ -1,4 +1,4 @@
# CONFIG_SITE.darwin-ppc.Common
# CONFIG_SITE.Common.darwin-ppc
#
# $Id$
# This file is maintained by the build community.
@@ -6,17 +6,8 @@
# Site override definitions for darwin-ppc host builds
#-------------------------------------------------------
#
# Where the fink packages are installed
#
FINK_DIR=/sw
#
# Shared libraries work fine on Darwin
#
SHARED_LIBRARIES=YES
#
# Other local options
#
#OP_SYS_CFLAGS += -g
#COMMANDLINE_LIBRARY = READLINE

View File

@@ -0,0 +1,18 @@
# CONFIG_SITE.Common.hpux-parisc
#
# $Id$
#
# Site Specific definitions for hpux-parisc target
# Only the local epics system manager should modify this file
# NOTE for SHARED_LIBRARIES: If YES (which is the default now) then either
# a) SHLIB_PATH must include the full absolute pathname to
# $(INSTALL_LOCATION)/lib/$(EPICS_HOST_ARCH) (or wherever you install
# the EPICS shared libraries on your system) when invoking base
# executables.
# b) Add the path to SHRLIB_SEARCH_DIRS below, which will burn
# the runtime search path into the executables.
#SHARED_LIBRARIES=YES
# This is the absolute path to the generic INSTALL_LOCATION, for SHARED_LIBRARY searches.
SHRLIB_SEARCH_DIRS += /opt/epics/R$(EPICS_VERSION).$(EPICS_REVISION).$(EPICS_MODIFICATION)/support/base/$(EPICS_VERSION)-$(EPICS_REVISION)-$(EPICS_MODIFICATION)-$(EPICS_UPDATE_NAME)$(EPICS_UPDATE_LEVEL)/lib/$(EPICS_HOST_ARCH)

View File

@@ -0,0 +1,13 @@
# CONFIG_SITE.Common.hpux-parisc-gnu
#
# $Id$
#
# Site Specific definitions for hpux-parisc-gnu target
# Only the local epics system manager should modify this file
# Include definitions for hpux-parisc, as gnu builds will use the HP linker
include $(CONFIG)/os/CONFIG_SITE.Common.hpux-parisc
# If you have built the GNU suite yourself, set the install location here,
# else the default (/usr/local) will be used
#GNU_DIR = /opt/gcc

View File

@@ -5,21 +5,19 @@
# Site Specific definitions for linux-x86 target
# Only the local epics system manager should modify this file
# NOTE for SHARED_LIBRARIES: If YES then either
# NOTE for SHARED_LIBRARIES: In most cases if this is set to YES the
# shared libraries will be found automatically. However if the .so
# files are installed at a different path to their compile-time path
# then in order to be found at runtime do one of these:
# a) LD_LIBRARY_PATH must include the full absolute pathname to
# $(INSTALL_LOCATION)/lib/$(EPICS_HOST_ARCH) when invoking base
# executables.
# b) Add the path to SHRLIB_SEARCH_DIRS below, which will burn
# the runtime search path into the executables.
# c) the full pathname above can be added to /etc/ld.so.conf
# and ldconfig run to inform the system of the shared libraries.
SHARED_LIBRARIES=YES
# This is the absolute path to INSTALL_LOCATION, for SHARED_LIBRARY searches.
#SHRLIB_SEARCH_DIRS += /usr/local/epics/R3.14.1/base
# If readline is installed uncomment the following lines
# to get command-line editing and history support
#COMMANDLINE_LIBRARY = READLINE
#LDLIBS_READLINE = -lreadline -lncurses
# b) Add the runtime path to SHRLIB_SEARCH_DIRS, which will add
# the named directory to the list contained in the executables.
# c) Add the runtime path to /etc/ld.so.conf and run ldconfig
# to inform the system of the shared library location.
# If readline is not installed comment the following line
# to omit command-line editing and history support
COMMANDLINE_LIBRARY = READLINE
LDLIBS_READLINE = -lreadline -lncurses

View File

@@ -0,0 +1,12 @@
# CONFIG_SITE.Common.solaris-sparc
#
# $Id$
#
# Site Specific definitions for solaris-sparc target
# Only the local epics system manager should modify this file
# If readline is installed uncomment the following macro definition
# to include command-line editing and history support
#
#COMMANDLINE_LIBRARY = READLINE

View File

@@ -0,0 +1,10 @@
# CONFIG_SITE.Common.solaris-sparc-gnu
#
# $Id$
#
# Site Specific definitions for solaris-sparc-gnu target
# Only the local epics system manager should modify this file
# Include definitions common to all solaris-sparc-gnu target archs
include $(CONFIG)/os/CONFIG_SITE.Common.solaris-sparc

View File

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

View File

@@ -1,30 +0,0 @@
# CONFIG_SITE.hpux-parisc.hpux-parisc
#
# $Id$
#
# Site Specific Configuration Information
# Only the local epics system manager should modify this file
# by default, build and use shared libraries
SHARED_LIBRARIES=YES
# where we expect to find shared libraries if not found elsewhere
# No special action should be required to build or use shared libraries.
# However, when a new shared library is built using the above configuration,
# it should be copied into the location specified by DEFAULT_SHRLIB_SEARCH_PATH
# which in this specific case is: /cs/lib/R3.13.1.1/
# JLab version
#DEFAULT_SHRLIB_SEARCH_PATH = /cs/lib/R$(EPICS_VERSION).$(EPICS_REVISION).$(EPICS_MODIFICATION).$(EPICS_UPDATE_NAME)$(EPICS_UPDATE_LEVEL):$(INSTALL_LIB)
# BESSY version
DEFAULT_SHRLIB_SEARCH_PATH = /opt/epics/R$(EPICS_VERSION).$(EPICS_REVISION).$(EPICS_MODIFICATION)/support/base/$(EPICS_VERSION)-$(EPICS_REVISION)-$(EPICS_MODIFICATION)-$(EPICS_UPDATE_NAME)$(EPICS_UPDATE_LEVEL)/lib/hpux-parisc
# cal added this so that libraries can be built with position
# independent code even if shared libraries aren't being built.
# Otherwise you would have to recompile everything when switching from
# static to shared.
ifeq ($(RELOCATABLE), YES)
ARCH_DEP_CFLAGS += +z
ARCH_DEP_CXXFLAGS += +z
endif

View File

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

View File

@@ -0,0 +1,15 @@
# CONFIG_SITE.linux-x86.vxWorks-ppc603_long
#
# $Id$
# This file is maintained by the build community.
#
# Site override definitions for linux-x86 host - vxWorks-ppc603_long target builds
#-------------------------------------------------------
# ORNL SNS overrides for cross compilers
#GNU_DIR=/ade/vxWorks/crossgcc-2.7.2-WRS/ppc
#GNU_TARGET_INCLUDE_DIR=/ade/vxWorks/crossgcc-2.7.2-WRS/ppc/powerpc-wrs-vxworks/sys-include
#CC = /ade/vxWorks/crossgcc-2.7.2-WRS/ppc/bin/cc$(CMPLR_SUFFIX)
#CCC = /ade/vxWorks/crossgcc-2.7.2-WRS/ppc/bin/g++$(CMPLR_SUFFIX)

View File

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

View File

@@ -0,0 +1,3 @@
# Removes optimization and adds debugging options
HOST_OPT=NO

View File

@@ -1,11 +1,15 @@
# $Id$
# Microsoft Visual C++ .NET is the default compiler
# If you have Visual C++ 6.0, uncomment the following 3 override lines
# This will to eliminate warnings about unknown options /GL and LTCG.
# If you have Visual C++ 6.0, uncomment the following 4 override lines
# This will to eliminate warnings about unknown options /GL, LTCG, and /44355.
#OPT_CFLAGS_YES = /Ox
#OPT_CXXFLAGS_YES = /Ox
#OPT_CFLAGS_NO = /Zi
#OPT_CXXFLAGS_NO = /Zi
#LINK_OPT_FLAGS_YES = /incremental:no /opt:ref /release $(PROD_VERSION:%=/version:%)
#WARN_CFLAGS_YES = /W3
#WARN_CXXFLAGS_YES = /W3

View File

@@ -39,6 +39,7 @@ $hostarch = $opt_h if ($opt_h);
# Find $top from current path; NB only works under iocBoot/* and configure/*
$top = $cwd;
$top =~ s/^\/cygdrive\/(\w)\//$1:\//;
$top =~ s/\/iocBoot.*$//;
$top =~ s/\/configure.*$//;
@@ -106,6 +107,7 @@ sub readRelease {
chomp;
s/\r$//; # Shouldn't need this, but sometimes...
s/\s*#.*$//; # Remove trailing comments
s/\s+$//; # Remove trailing whitespace
next if /^\s*$/; # Skip blank lines
# Expand all already-defined macros in the line:
@@ -117,8 +119,13 @@ sub readRelease {
# Handle "<macro> = <path>"
($macro, $path) = /^\s*(\w+)\s*=\s*(.*)/;
if ($macro ne "") {
$macro="TOP" if $macro =~ /^INSTALL_LOCATION/ ;
if (exists $Rmacros->{$macro}) {
delete $Rmacros->{$macro};
} else {
push @$Rapps, $macro;
}
$Rmacros->{$macro} = $path;
push @$Rapps, $macro;
next;
}
# Handle "include <path>" syntax
@@ -151,34 +158,44 @@ sub configAppInclude {
foreach $app (@includes) {
$path = $macros{$app};
next unless (-d "$path/bin/$hostarch");
print OUT "${app}_HOST_BIN = \$($app)/bin/\$(EPICS_HOST_ARCH)\n";
print OUT "${app}_HOST_BIN = \$(strip \$($app))/bin/\$(EPICS_HOST_ARCH)\n";
}
foreach $app (@includes) {
$path = $macros{$app};
next unless (-d "$path/lib/$hostarch");
print OUT "${app}_HOST_LIB = \$($app)/bin/\$(EPICS_HOST_ARCH)\n";
print OUT "${app}_HOST_LIB = \$(strip \$($app))/bin/\$(EPICS_HOST_ARCH)\n";
}
foreach $app (@includes) {
$path = $macros{$app};
next unless (-d "$path/bin/$arch");
print OUT "${app}_BIN = \$($app)/bin/$arch\n";
print OUT "${app}_BIN = \$(strip \$($app))/bin/$arch\n";
}
foreach $app (@includes) {
$path = $macros{$app};
next unless (-d "$path/lib/$arch");
print OUT "${app}_LIB = \$($app)/lib/$arch\n";
print OUT "${app}_LIB = \$(strip \$($app))/lib/$arch\n";
}
# We can't just include TOP in the foreach list:
# 1. The lib directory probably doesn't exist yet, and
# 2. We need an abolute path but $(TOP_LIB) is relative
$path = $macros{"TOP"};
print OUT "SHRLIB_SEARCH_DIRS = $path/lib/$arch\n";
foreach $app (@includes) {
$path = $macros{$app};
next unless (-d "$path/lib/$arch");
print OUT "SHRLIB_SEARCH_DIRS += \$(${app}_LIB)\n";
}
}
foreach $app (@includes) {
$path = $macros{$app};
next unless (-d "$path/include");
print OUT "RELEASE_INCLUDES += -I\$($app)/include/os/\$(OS_CLASS)\n";
print OUT "RELEASE_INCLUDES += -I\$($app)/include\n";
print OUT "RELEASE_INCLUDES += -I\$(strip \$($app))/include/os/\$(OS_CLASS)\n";
print OUT "RELEASE_INCLUDES += -I\$(strip \$($app))/include\n";
}
foreach $app (@includes) {
$path = $macros{$app};
next unless (-d "$path/dbd");
print OUT "RELEASE_DBDFLAGS += -I \$($app)/dbd\n";
print OUT "RELEASE_DBDFLAGS += -I \$(strip \$($app))/dbd\n";
}
close OUT;
}
@@ -194,7 +211,7 @@ sub rulesInclude {
foreach $app (@includes) {
$path = $macros{$app};
next unless (-r "$path/configure/RULES_BUILD");
print OUT "-include \$($app)/configure/RULES_BUILD\n";
print OUT "-include \$(strip \$($app))/configure/RULES_BUILD\n";
}
close OUT;
}
@@ -210,7 +227,6 @@ sub cdCommands {
$startup =~ s/^$root/$iocroot/ if ($opt_t);
print OUT "startup = \"$startup\"\n";
print OUT "appbin = \"$ioctop/bin/$arch\"\n"; # R3.13.1 compatibility
foreach $app (@includes) {
$iocpath = $path = $macros{$app};

View File

@@ -104,7 +104,7 @@ sub Usage
print "Usage:\n";
print "\t$tool [ -m mode ] file ... directory\n";
print "\n";
print "\t-d Create non-exising directories\n";
print "\t-d Create non-existing directories\n";
print "\t-m mode Set the mode for the installed file";
print " (0755 by default)\n";
print "\tfile Name of file\n";

View File

@@ -61,6 +61,13 @@ foreach $name ( @nameList ) {
print OUT "${name}_OBJS+=\$(${name}_OBJS_DEFAULT)\n";
print OUT "endif\n";
print OUT "endif\n";
print OUT "ifneq (\$(strip \$(${name}_LDFLAGS_\$(OS_CLASS))),)\n";
print OUT "${name}_LDFLAGS+=\$(subst -nil-,,\$(${name}_LDFLAGS_\$(OS_CLASS)))\n";
print OUT "else\n";
print OUT "ifdef ${name}_LDFLAGS_DEFAULT\n";
print OUT "${name}_LDFLAGS+=\$(${name}_LDFLAGS_DEFAULT)\n";
print OUT "endif\n";
print OUT "endif\n";
print OUT "ifneq (\$(strip \$(${name}_LDOBJS_\$(OS_CLASS))),)\n";
print OUT "${name}_LDOBJS+=\$(subst -nil-,,\$(${name}_LDOBJS_\$(OS_CLASS)))\n";
print OUT "else\n";
@@ -85,25 +92,17 @@ foreach $name ( @nameList ) {
print OUT "endif\n";
print OUT "${name}_OBJS+=\$(addsuffix \$(OBJ),\$(basename \$(${name}_SRCS)))\n";
print OUT "\n";
print OUT "ifeq (\$(filter ${name},\$(TESTPROD)),${name})\n";
print OUT "ifeq (\$(filter ${name},\$(TESTPROD) \$(PROD)),${name})\n";
print OUT "ifeq (,\$(strip \$(${name}_OBJS) \$(PRODUCT_OBJS)))\n";
print OUT "${name}_OBJS+=${name}\$(OBJ)\n";
print OUT "endif\n";
print OUT "${name}_RESS+=\$(addsuffix \$(RES),\$(basename \$(${name}_RCS)))\n";
print OUT "${name}_OBJSNAME+=\$(addsuffix \$(OBJ),\$(basename \$(${name}_OBJS)))\n";
print OUT "${name}_DEPLIBS=\$(foreach lib, \$(${name}_LDLIBS),\$(firstword \$(wildcard \\\n";
print OUT " \$(\$(lib)_DIR)/\$(LIB_PREFIX)\$(lib)\*)))\n";
print OUT "${name}\$(EXE): \$(${name}_OBJSNAME) \$(${name}_RESS) \$(${name}_DEPLIBS)\n";
print OUT "endif\n";
print OUT "\n";
print OUT "ifeq (\$(filter ${name},\$(PROD)),${name})\n";
print OUT "ifeq (,\$(strip \$(${name}_OBJS) \$(PRODUCT_OBJS)))\n";
print OUT "${name}_OBJS+=${name}\$(OBJ)\n";
print OUT "endif\n";
print OUT "${name}_RESS+=\$(addsuffix \$(RES),\$(basename \$(${name}_RCS)))\n";
print OUT "${name}_OBJSNAME+=\$(addsuffix \$(OBJ),\$(basename \$(${name}_OBJS)))\n";
print OUT "${name}_DEPLIBS=\$(foreach lib, \$(${name}_LDLIBS),\$(firstword \$(wildcard \\\n";
print OUT " \$(\$(lib)_DIR)/\$(LIB_PREFIX)\$(lib)\*)))\n";
print OUT "${name}_DEPLIBS=\$(foreach lib, \$(${name}_LDLIBS),\\\n";
print OUT " \$(firstword \$(wildcard \$(addsuffix /\$(LIB_PREFIX)\$(lib)\*,\\\n";
print OUT " \$(\$(lib)_DIR) \$(SHRLIB_SEARCH_DIRS)))\\\n";
print OUT " \$(addsuffix /\$(LIB_PREFIX)\$(lib)\$(LIB_EXT),\\\n";
print OUT " \$(firstword \$(\$(lib)_DIR) \$(SHRLIB_SEARCH_DIRS))\/)))\n";
print OUT "${name}\$(EXE): \$(${name}_OBJSNAME) \$(${name}_RESS) \$(${name}_DEPLIBS)\n";
print OUT "endif\n";
print OUT "\n";
@@ -113,12 +112,21 @@ foreach $name ( @nameList ) {
print OUT "endif\n";
print OUT "${name}_RESS+=\$(addsuffix \$(RES),\$(basename \$(${name}_RCS)))\n";
print OUT "${name}_OBJSNAME+=\$(addsuffix \$(OBJ),\$(basename \$(${name}_OBJS)))\n";
print OUT "${name}_DEPLIBS=\$(foreach lib, \$(${name}_LDLIBS),\$(firstword \$(wildcard \\\n";
print OUT " \$(\$(lib)_DIR)/\$(LIB_PREFIX)\$(lib)\*)))\n";
print OUT "${name}_DEPLIBS=\$(foreach lib, \$(${name}_LDLIBS),\\\n";
print OUT " \$(firstword \$(wildcard \$(addsuffix /\$(LIB_PREFIX)\$(lib)\*,\\\n";
print OUT " \$(\$(lib)_DIR) \$(SHRLIB_SEARCH_DIRS)))\\\n";
print OUT " \$(addsuffix /\$(LIB_PREFIX)\$(lib)\$(LIB_SUFFIX),\\\n";
print OUT " \$(firstword \$(\$(lib)_DIR) \$(SHRLIB_SEARCH_DIRS))\/)))\n";
print OUT "${name}_DLL_DEPLIBS=\$(foreach lib, \$(${name}_DLL_LIBS),\\\n";
print OUT " \$(firstword \$(wildcard \$(addsuffix /\$(LIB_PREFIX)\$(lib)\*,\\\n";
print OUT " \$(\$(lib)_DIR) \$(SHRLIB_SEARCH_DIRS)))\\\n";
print OUT " \$(addsuffix /\$(LIB_PREFIX)\$(lib)\$(LIB_EXT),\\\n";
print OUT " \$(firstword \$(\$(lib)_DIR) \$(SHRLIB_SEARCH_DIRS))\/)))\n";
print OUT "\$(LIB_PREFIX)${name}\$(LIB_SUFFIX):\$(${name}_OBJSNAME) \$(${name}_RESS)\n";
print OUT "\$(LIB_PREFIX)${name}\$(LIB_SUFFIX):\$(${name}_DEPLIBS)\n";
print OUT "\$(LIB_PREFIX)${name}\$(SHRLIB_SUFFIX):\$(${name}_OBJSNAME) \$(${name}_RESS)\n";
print OUT "\$(LIB_PREFIX)${name}\$(SHRLIB_SUFFIX):\$(${name}_DEPLIBS)\n";
print OUT "\$(LIB_PREFIX)${name}\$(SHRLIB_SUFFIX):\$(${name}_DLL_DEPLIBS)\n";
print OUT "endif\n";
print OUT "\n";
}

View File

@@ -25,6 +25,9 @@
#-----------------------------------------------------------------------
use Getopt::Std;
use Text::Wrap;
$Text::Wrap::columns = 76;
my $version = 'mkmf.pl,v 1.5 2002/03/25 21:33:24 jba Exp $ ';
my $endline = $/;
@@ -80,38 +83,23 @@ sub printList{
my $old_handle = select(DEPENDS);
#Limit lines to 80 characters
# a dot marks the end of the format
format DEPENDS_FMT =
^<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<\~
$line
.
format TARGETS_FMT =
^<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<:~
$line
.
print "# DO NOT EDIT: This file created by $version\n\n";
local $: = " \t\n"; # remove hyphen from word boundary defaults
$~ = DEPENDS_FMT;
$line = "$objFile : @includes";
while ( length $line > 78 ) {
write ;
}
print $line unless $line eq '';
$fmtline = wrap ("", " ", $line);
$fmtline =~ s/\n/ \\\n/mg;
print $fmtline;
print "\n\n";
print "#Depend files must be targets to avoid 'No rule to make target ...' errors\n";
$~ = TARGETS_FMT;
$line = "@includes";
while ( length $line > 78 ) {
write ;
#$line = "@includes";
foreach $file (@includes) {
print "$file :\n";
}
print "$line :" unless $line eq '';
select($old_handle) ; # in this case, STDOUT
}

View File

@@ -10,12 +10,12 @@
<body>
<center>
<h2>Building EPICS R3.13 applications with R3.14.1 base</h2>
<h2>Building EPICS R3.13 applications with R3.14 base</h2>
</center>
<p><br>
This document describes how to modify a R3.13 vxWorks application so that it
builds with release R3.14.1.  It describes an easy way to modify
builds with release R3.14.  It describes an easy way to modify
applications subject to the following restrictions:</p>
<ul>
<li>The application still uses config rules rather than the configure rules
@@ -69,7 +69,7 @@ however, has a config directory. Makesure that config/RELEASE has the same
location for base as configure/RELEASE.</p>
<p>snc is no longer in base. If snc is used in your application, you must
download and build the seq module with baseR3.14.1. See the Application
download and build the seq module with baseR3.14. See the Application
Developer's Guide to see how to build sequence programs.</p>
<p>If you build sequencer programs add the lines</p>

View File

@@ -9,7 +9,7 @@
<body>
<center>
<h2>Building EPICS R3.13 extensions with R3.14.1 base</h2>
<h2>Building EPICS R3.13 extensions with R3.14 base</h2>
</center>
<p><br>
@@ -53,11 +53,7 @@ directory.</p>
<h3>Building your extensions with base R3.14</h3>
<blockquote>
<ul>
<li><b>Library Db renamed</b></li>
</ul>
<br>
<li><b>Library Db renamed</b></li>
<p>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
@@ -72,11 +68,8 @@ directory.</p>
<tt>USR_LIBS += Db</tt> <br>
<tt>Db_DIR = $(EPICS_BASE_LIB)</tt> <br>
<tt>endif</tt></blockquote>
<ul>
<li><b>Library dbStaticHost names changed</b></li>
</ul>
<br>
<li><b>Library dbStaticHost names changed</b></li>
<p>Library functions have been renamed.  If there are calls with old db
names, add the following lines</p>
@@ -115,12 +108,10 @@ directory.</p>
<p></p>
</blockquote>
<ul>
<li><b>Target architecture specifications changed</b></li>
</ul>
<br>
<li><b>Target architecture specifications changed</b></li>
<p>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.  In most cases T_A can be replaced by
@@ -139,21 +130,17 @@ directory.</p>
<tt>ifeq ($(OS_CLASS),solaris)</tt> <br>
<tt>RPCFLAGS = -K -1</tt> <br>
<tt>endif</tt></blockquote>
<ul>
<li><b>New ca_set_puser</b></li>
</ul>
<br>
<li><b>New ca_set_puser</b></li>
<p>Statements of the form: <tt>ca_puser(chid) = xyz</tt>; should to be
changed to:  <tt>ca_set_puser(chid,xyz)</tt>; <br>
 </p>
<ul>
<li><b>Extern C around includes</b></li>
</ul>
<br>
<li><b>Extern C around includes</b></li>
<p>Remove any extern "C" braces around #includes of EPICS base header
files. <br>
For example change</p>
@@ -166,12 +153,8 @@ directory.</p>
<blockquote>
<tt>#include "cadefs.h"</tt></blockquote>
<ul>
<li><b>Infrequently used R3.13 timestamp functions unbundled from
base</b></li>
</ul>
<br>
<li><b>Infrequently used R3.13 timestamp functions unbundled from base</b></li>
<p>Some infrequently used R3.13 timestamp functions and macro definitions
have been removed from EPICS base and now exist in a library, ts, created
@@ -193,25 +176,22 @@ directory.</p>
<tt>ts_DIR = $(EPICS_EXTENSIONS_LIB)</tt> <br>
<tt>endif</tt></p>
</blockquote>
<ul>
<li><b>No Field name length restriction</b></li>
</ul>
<p><br>
The length restriction to database record names no longer exists in R3.14
<li><b>No Field name length restriction</b></li>
<p> The length restriction to database record names no longer exists in R3.14
so the the <tt>FLDNAME_SZ macro definition was removed.from dbDefs.h. 
Extensions whichstill have a field name restriction should add the field
Extensions which still have a field name restriction should add the field
name size definition to their code until they are updated.</tt></p>
<blockquote>
<tt>#ifndef FLDNAME_SZ</tt> <br>
<tt>#define FLDNAME_SZ 4  /*Field Name Size*/</tt> <br>
<tt>#endif</tt></blockquote>
<ul>
<li><b>Some EPICS base version macros removed</b></li>
</ul>
<p><br>
<li><b>Some EPICS base version macros removed</b></li>
<p>
The EPICS base version macros that start with "BASE_" have been removed
from epicsVersion.h. Extensions should now use only the existing macros
which start with "EPICS_".</p>

View File

@@ -10,12 +10,12 @@
<body>
<center>
<h2>Converting an EPICS R3.13 application to R3.14.1</h2>
<h2>Converting an EPICS R3.13 application to R3.14.2</h2>
</center>
<p><br>
This document describes how to convert a R3.13 vxWorks application so that it
builds with release R3.14.1.  It describes procedures such that:</p>
builds with release R3.14.2.  It describes procedures such that:</p>
<ul>
<li>The application uses the configure rules which are new to R3.14.</li>
</ul>
@@ -31,10 +31,11 @@ builds with release R3.14.1.
remove all files created by earlier builds.</p>
<h3>Create a new R3.14 application</h3>
<p>We will remove junkApp later.</p>
<pre>mkdir &lt;top&gt;
cd &lt;top&gt;
&lt;full path to 3.14 base&gt;/bin/&lt;host_arch&gt;/makeBaseApp.pl -t example junk
/bin/rm -fr junkApp</pre>
</pre>
<h3>Copy all *App and iocBoot directories and files to the new &lt;top&gt;
directory</h3>
@@ -49,7 +50,7 @@ If sequence programs (*.st or *.stt files) exist in your application, add the
SNCSEQ location definition for the R3.14 seq external module</p>
<p><tt>SNCSEQ =&lt;full path to seq module top&gt;</tt></p>
The R3.14 seq module must exist and be built with EPICS base R3.14.1
The R3.14 seq module must exist and be built with EPICS base R3.14.2
<h3>Modify the Makefiles in &lt;top&gt;/*App directories.</h3>
@@ -82,9 +83,12 @@ $(TOP)/configure/RULES"</tt></p>
<p>This is the hardest step. The definitions in Makefile.Host and Makefile.Vx
must be manually converted to the new configure definitions.</p>
<p>First replace Makefile with a template Makefile from base.</p>
<p>First replace Makefile with the Makefile from junkApp/src.</p>
<pre>rm Makefile
cp &lt;base&gt;/templates/makeBaseApp/top/exampleApp/src/Makefile .</pre>
cp ../../junkApp/src/Makefile .</pre>
<p>We can remove the junkApp now.</p>
<pre>/bin/rm -fr ../../junkApp</pre>
<p>This new Make file has comments explaining how to build the various host
and ioc products. Lets consider some examples</p>
@@ -93,12 +97,15 @@ and ioc products. Lets consider some examples</p>
<p>Makefile.Host contains definitions like:</p>
<pre>PROD += caExample
caExample_SRCS += caExample.c
PROD_LIBS += ca Db Com
ca_DIR = $(EPICS_BASE_LIB)
Db_DIR = $(EPICS_BASE_LIB)
Com_DIR = $(EPICS_BASE_LIB)
</pre>
<p>In Makefile these are:</p>
<pre>PROD_HOST += caExample
caExample_SRCS += caExample.c
caExample_LIBS += ca
caExample_LIBS += Com
caExample_LIBS += $(EPICS_BASE_HOST_LIBS)
</pre>
</li>
<li>Record Support - generate xxxRecord.h file
@@ -135,32 +142,24 @@ LIBNAME = exampleLib
INSTALLS += iocCore seq
</pre>
<p>In Makefile these become:</p>
<pre>PROD_IOC_vxWorks = example
example_SRCS += xxxRecord.c
example_SRCS += devXxxSoft.c
example_SRSC += sncExample.stt
<pre>
LIBRARY_vxWorks += exampleIoc
exampleIoc_SRCS += xxxRecord.c
exampleIoc_SRCS += devXxxSoft.c
exampleIoc_LIBS += $(EPICS_BASE_IOC_LIBS)
PROD_IOC_vxWorks = example
example_SRCS += sncExample.stt
example_LIBS += exampleIoc
example_LIBS += seq pv
example_LIBS += $(EPICS_BASE_IOC_LIBS)
# example_registerRecordDeviceDriver.cpp will be created from example.dbd
example_SRCS += example_registerRecordDeviceDriver.cpp
#The following adds support from base/src/vxWorks
example_OBJS_vxWorks += $(EPICS_BASE_BIN)/vxComLibrary
#The following are for sequence programs
example_LIBS += seq
example_LIBS += pv
seq_DIR = $(SNCSEQ_LIB)
pv_DIR = $(SNCSEQ_LIB)
example_LIBS += recIoc
example_LIBS += softDevIoc
example_LIBS += testDevIoc
example_LIBS += iocsh
example_LIBS += miscIoc
example_LIBS += rsrvIoc
example_LIBS += dbtoolsIoc
example_LIBS += asIoc
example_LIBS += dbIoc
example_LIBS += registryIoc
example_LIBS += dbStaticIoc
example_LIBS += ca
example_LIBS += Com
</pre>
</li>
</ul>

View File

@@ -0,0 +1,243 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<meta name="Author" content="jba">
</head>
<body>
<center>
<h2>Converting an EPICS R3.14.1 application to R3.14.2</h2>
</center>
<p>This document describes how to convert a R3.14.1 application so that it
builds with release R3.14.2.</p>
<p><span style="font-weight: bold">MAJOR CHANGE since 3.14.1</span></p>
<p>The base supplied record and device support are now build as regular
libraries rather than as just object files. This allows simplified build
ruiles. The changes do require changes to:</p>
<ul>
<li>any record, device, or driver support you provide.</li>
<li>changes to any subroutines for subRecord.</li>
<li>replace any DBD <span style="font-family: courier">function</span>
statements with <span style="font-family: courier">register</span>
statements</li>
</ul>
<p>Please read the new chapter "Getting Started" of the Application
Developer's Guide for more information about building support and ioc
applications.</p>
<h3>Gnumake clean uninstall</h3>
<blockquote>
First do a "<tt>gnumake clean uninstall"</tt> in the application's root
directory to remove all files created by earlier builds.</blockquote>
<h3>INSTALL_LOCATION_APP</h3>
<blockquote>
If your application is NOT being installed into $(TOP), move your
INSTALL_LOCATION_APP definition to the configure/RELEASE file.</blockquote>
<h3>Building db files from templates changed</h3>
<blockquote>
Now if the template needed to build &lt;name&gt;.db is not named
&lt;name&gt;*.template add the line
<blockquote>
<pre> &lt;name&gt;_template = &lt;templatename&gt;</pre>
</blockquote>
to the *Db/Makefile.
<p>Remove any</p>
<blockquote>
<pre>USES_TEMPLATE =</pre>
</blockquote>
definitions from your &lt;name&gt;App/*Db/Makefile files; these definitions
are no longer used.</blockquote>
<h3>File base.dbd no longer needed</h3>
<blockquote>
You now can add the line include "base.dbd" to your
&lt;appname&gt;Include.dbd file and remove the file
&lt;name&gt;App/src/base.dbd from your src directory. The base.dbd from
R3.14.2 base/dbd will be included. However, if you only want a subset of
record definitions from base you should keep your base.dbd
file.</blockquote>
<h3>Record support</h3>
<blockquote>
Add the following line after all existing #includes
<blockquote>
<pre>#include "epicsExport.h"</pre>
</blockquote>
The structure rset is now a typedef so change
<blockquote>
<pre>struct rset <recordname>RSET={ ...</pre>
</blockquote>
to
<blockquote>
<pre>rset <recordname>RSET={ ...</pre>
</blockquote>
and add the following line after the "rset &lt;recordname&gt;RSET="
definition.
<blockquote>
<pre>epicsExportAddress(rset,xxxRSET);</pre>
</blockquote>
</blockquote>
<h3>Device support</h3>
<blockquote>
Add the following line after all existing #includes
<blockquote>
<pre>#include "epicsExport.h"</pre>
</blockquote>
and add the following line after the dset dev&lt;devname&gt; definition
<blockquote>
<pre>epicsExportAddress(dset,dev&lt;devname&gt;);</pre>
</blockquote>
</blockquote>
<h3>Driver support</h3>
<blockquote>
Add the following line after all existing #includes
<blockquote>
<pre>#include "epicsExport.h"</pre>
</blockquote>
and add the following line after the drvet dev&lt;devname&gt; definition
<blockquote>
<pre>epicsExportAddress(drvet,drv&lt;devname&gt;);</pre>
</blockquote>
</blockquote>
<h3>Registration code changed</h3>
<blockquote>
Registration code for application specific functions, e.g. subroutine
record init and process functions, has been changed as follows
<p>1) Include the registration support header files:</p>
<blockquote>
<pre>#include "dbDefs.h"
#include "registryFunction.h"</pre>
</blockquote>
2) Include the export definitions header file after including all other
header files:
<blockquote>
<pre>#include "epicsExport.h"</pre>
</blockquote>
3) Make the application specific functions static functions, e.g.
<blockquote>
<pre>static long mySubInit(subRecord *precord,processMethod process)
static long mySubProcess(subRecord *precord)</pre>
</blockquote>
4) Define a registryFunctionRef array of the application specific functions
to be registered, e.g.
<blockquote>
<pre>static registryFunctionRef mySubRef[] = {
{"mySubInit",(REGISTRYFUNCTION)mySubInit},
{"mySubProcess",(REGISTRYFUNCTION)mySubProcess}
};</pre>
</blockquote>
5) Add a new function to do the registration of the registryFunctionRef
array elements, e.g.
<blockquote>
<pre>void mySub(void)
{
registryFunctionRefAdd(mySubRef,NELEMENTS(mySubRef));
}</pre>
</blockquote>
6) Call the epicsExportRegistrar with the new registration function: e.g.
<blockquote>
<pre>epicsExportRegistrar(mySub);</pre>
</blockquote>
7) Remove the existing function lines in &lt;appname&gt;Include.dbd: e.g.
remove
<blockquote>
<pre>function("mySubInit")
function("mySubProcess")</pre>
</blockquote>
8) Add a registrar statement to &lt;name&gt;Include.dbd with the new
registration function as parameter: e.g. add
<blockquote>
<pre>registrar("mySub")</pre>
</blockquote>
</blockquote>
<h3>&lt;name&gt;App/src/Makefile changed and simplified</h3>
<blockquote>
1) Libraries from support modules defined in configure/RELEASE no longer
need the &lt;libname&gt;_DIR definitions. You can remove lines like the
following from your src/Makefile
<blockquote>
<pre>ca_DIR = $(EPICS_BASE_LIB)
Com_DIR = $(EPICS_BASE_LIB)</pre>
</blockquote>
2) Libraries from EPICS_BASE do not have to be specified individually. For
HOST products and libraries specify the following
<blockquote>
<pre>&lt;myhostprodorlib&gt;_LIBS += $(EPICS_BASE_HOST_LIBS)</pre>
</blockquote>
For IOC products and libraries specify the following
<blockquote>
<pre>&lt;myiocprodorlib&gt;_LIBS += $(EPICS_BASE_IOC_LIBS)</pre>
</blockquote>
3) All record, device, and driver support must now exist in shared
libraries. You will need to create an IOC library containing your
application specific support.
<blockquote>
<pre>LIBRARY_IOC += exampleIoc
exampleIoc_SRCS += xxxRecord.c
exampleIoc_SRCS += devXxxSoft.c
exampleIoc_SRCS += dbSubExample.c
exampleIoc_LIBS += $(EPICS_BASE_IOC_LIBS)</pre>
</blockquote>
4) Add your new record, device, and driver support library to your ioc
product's libraries: e.g.
<pre>
<blockquote>
PROD_IOC = example
example_LIBS += exampleIoc
example_LIBS += $(EPICS_BASE_IOC_LIBS)</blockquote>
</pre>
</blockquote>
</body>
</html>

View File

@@ -8,23 +8,10 @@
<meta name="GENERATOR" content="amaya 5.1" />
</head>
<h4> April 5, 2003</h4>
<body>
<h1 style="text-align: center">EPICS base R3.14.1: Known Problems</h1>
<h1 style="text-align: center">EPICS base R3.14.2: Known Problems</h1>
<h3>Known Bugs</h3>
<p>The portable CA server does not work on solaris.</p>
<h3>To Do Posix</h3>
<ul>
<li>Currently thread priorities are not turned on, i.e. all threads run at
the same priority.</li>
</ul>
<h3>Build Rules</h3>
<ul>
<li>A SHRLIB_SEARCH_DIRS += should be generated for everything found in
configure/RELEASE</li>
</ul>
</body>
</html>

View File

@@ -1,10 +1,10 @@
README
README.1st
Installation Instructions
Installation Instructions
EPICS base
Release 3.14.1
Release 3.14.2
What is EPICS base?
@@ -44,12 +44,21 @@ Supported platforms
Host platforms (operating system - architecture - <alternate c++
compiler>)
solaris-sparc
solaris-sparc-gnu
linux-x86
win32-x86
darwin-ppc (Mac OS X)
hpux-parisc
hpux-parisc-gnu
linux-mpc82xx
linux-x86
lynxos-x86
osf-alpha
solaris-sparc
solaris-sparc-gnu
solaris-x86
solaris-x86-gnu
sun4-x86
win32-x86
win32-x86-borland
darwin-ppc (Mac OS X)
Cross compile target platforms (operating system - architecture)
@@ -57,12 +66,18 @@ Supported platforms
vxWorks-68040
vxWorks-68040lc
vxWorks-68060
vxWorks-pentium
vxWorks-ppc603
vxWorks-ppc603_long
vxWorks-ppc604
vxWorks-ppc604_long
vxWorks-pentium
RTEMS-gen68360
RTEMS-mcp750
RTEMS-mvme167
RTEMS-pc386
RTEMS-psim
Supported compilers
@@ -90,19 +105,18 @@ Software requirements
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
Tornado 2
You must have Tornado 2 installed if any of your target systems are
vxWorks systems. Tornado 2 provides the cross-compiler and header
files needed to build for these target systems. The full path location
to Tornado 2 should be specified in the base/configure/RELEASE or
base/configure/RELEASE.<hostarch> file. You will also need one or
more board support packages. Consult the vxWorks documentation for
details.
Optional GNU compiler requirement for solaris-sparc and
win32-x86 hosts
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.
c preprocessing before conversion to c source, gcc must be in your path.
Host system storage requirements
@@ -116,8 +130,8 @@ Documentation
EPICS documentation is available on the WWW via the EPICS home
page at APS: URL http://www.aps.anl.gov/epics
This README.1st is in the base distribution file and will be available
on the IOC software R3.14 EPICS WWW page which can be accessed
This README.1st file is in the base distribution and available on the
IOC software, Base R3.14, release number, web page which can be accessed
from the APS EPICS home page.
WWW pages
@@ -147,13 +161,13 @@ Directory Structure
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/documentation Distributation build documentation
base/src All epics base source code in subdirectories
base/src/RTEMS Code to configure RTEMS for EPICS
base/src/as Access security
base/src/bpt Break point table
base/src/ca Channel access
base/src/cas Channel access server
base/src/cas Channel access server library and examples
base/src/db Database access
base/src/db/test Database access tests
base/src/dbStatic Static database access
@@ -164,6 +178,7 @@ Directory Structure
base/src/libCom General purpose library code in subdirectories
base/src/libCom/bucketLib Hash bucket
base/src/libCom/calc Algebraic expression interpreter
base/src/libCom/cppStd Support for C++ standard template library
base/src/libCom/cvtFast Fast number to string conversion
base/src/libCom/cxxTemplates C++ templates and templates tests
base/src/libCom/dbmf Memory management for frequent alloc/free
@@ -178,6 +193,7 @@ Directory Structure
base/src/libCom/misc Miscellaneous utilities
base/src/libCom/osi Operating system independent code
base/src/libCom/osi/os Operating system dependant code in subdirectories
base/src/libCom/ring Methods for creating and using ring buffers
base/src/libCom/taskwd Task watchdog
base/src/libCom/test Test tools (timer, semBinary, semMutex,fdmgr, ?)
base/src/libCom/timer Timer
@@ -193,19 +209,19 @@ Directory Structure
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/src/RTEMS Code to configure RTEMS for EPICS
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/db Installed data bases
base/dbd Installed data base definitions
base/html Installed html documentation
base/include Installed header files
base/include/os Installed os specific header files
base/templates Installed templates
base/javalib Installed java class files
base/html Installed html documentation
base/lib Installed libraries in arch subdirectories
base/templates Installed templates
Build related components
@@ -230,6 +246,7 @@ Build related components
win32.bat WIN32 bat file to set path and env variables
base/configure directory - contains build definitions and rules
CONFIG Includes configure files and allows variable overrides
CONFIG.CrossCommon Cross build definitions
CONFIG.gnuCommon Gnu compiler build definitions for all archs
CONFIG_ADDONS Definitions for <osclass> and DEFAULT options
@@ -239,7 +256,7 @@ Build related components
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
Makefile Installs CONFIG* RULES* creates CONFIG_APP_INCLUDE
RELEASE Location of external products such as Tornado II
RULES Includes appropriate rules file
RULES.Db Rules for database and database definition files
@@ -255,8 +272,9 @@ Build related components
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.UnixCommon.Common Definitions for Unix hosts and all targets
CONFIG.Common.UnixCommon Definitions for Unix targets and all hosts
CONFIG.Common.vxWorksCommon Specific host definitions for all vx targets
CONFIG_COMPAT R3.13 arch compatibility definitions
CONFIG_SITE.<host>.<target> Site specific host-target definitions
CONFIG_SITE.Common.<target> Site specific target defs for all hosts
@@ -303,7 +321,7 @@ Building EPICS base (Unix and Win32)
for a list of supported EPICS_HOST_ARCH values.
PERLLIB
On WIN32, some versions of Perl require that the
On WIN32, some versions of Perl require that the
environment variable PERLLIB be set to <perl directory
location>.
@@ -311,18 +329,24 @@ Building EPICS base (Unix and Win32)
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,
path. For Unix host builds you also need ln, cpp, cp, rm,
mv, and mkdir in your search path and /bin/chmod must
exist. On some Unix systems you may also need ar and ranlib
in your path, and the c compiler may require ld in your path.
On solaris systems you need uname in your path.
in your path, and the c compiler may require as and ld in
your path. On solaris systems you need uname 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. On Linux systems,
building shared libraries is the default setting.
It is no longer necessary to have LD_LIBRARY_PATH include
EPICS directories on Unix type system. R3.14 shared libraries
and executables will contain the full path name to libraries
they require. However, if you move the EPICS directories
from their build-time location then in order for libraries
to be found at runtime LD_LIBRARY_PATH must include the full
pathname to $(INSTALL_LOCATION)/lib/$(EPICS_HOST_ARCH) when
invoking executables. Building shared libraries is now the
default setting for all Unix type hosts. NOTE: You will still
need LD_LIBRARY_PATH for R3.13 extension shared libraries
even if the R3.13 extensions are built with R3.14 base.
Win32 PATH
On WIN32 systems, building shared libraries is the default
@@ -416,12 +440,11 @@ Example application and extension
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.1". 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.
can be found in the section "Example Application" of Chapter 2, "Getting
Started", in the "IOC Application Developer's Guide R3.14.2". The
"Example IOC Application" section briefly explains how to create and
build an example application in a user created <top> directory. It also
explains how to run the example application on a vxWorks ioc or a host
system and run an example channel access client on the host system.

View File

@@ -1,36 +0,0 @@
Installation notes for EPICS on Mac OS X (Darwin).
==================================================
$Id$
EPICS Base
==========
1) EPICS for Mac OS X (Darwin) can not be built with OS X Developer Tools
older than the April 2002 release. The April tools, which were the most
recent when this note was written, are not bug-free. The compiler produces
bad code when run with -O3 or higher so CONFIG.darwin-ppc.darwin-ppc sets
the optimization level to -O2. Hopefully a new release of developer tools
will remove this restriction.
2) As distributed, EPICS on Mac OS X uses the readline library. The easiest
way to get this library on to your system is to download and install it
using the Fink package manager which may be found at:
http://fink.sourceforge.net/
If you'd rather not use readline you can make the appropriate changes to
src/libCom/osi/os/Darwin/osdReadline.h
and then rebuild EPICS base.
3) If broadcasts are not seen locally, then it may help to add "localhost"
(127.0.0.1) to the EPICS_CA_ADDR_LIST.
EPICS Extensions
================
Many extensions build and run properly on OS X. To build and run medm, first
obtain the X11 and OpenMotif3 packages from Fink.
Medm doesn't actually use readline, but if you're using shared libraries and
you don't link against libreadline, you'll get Undefined Symbol messages when
you try to run medm. I consider this a failing of the OS X shared library
system, but Apple doesn't seem to agree.
Running X11 applications on Darwin is quite a bit easier if you install the
OroborOSX application as well:
http://oroborosx.sourceforge.net/

View File

@@ -0,0 +1,179 @@
<html>
<head>
<title>Installation notes for EPICS on Mac OS X (Darwin)</title>
</head>
<body>
<h1>Building EPICS base</h1>
<ul>
<li>
To build base:
<ol>
<li>
Set the EPICS_HOST_ARCH environment variable to darwin-ppc.
The scripts in the
base/startup directory can automate this. For example, here's part
of my Bash login script (~/.bash_login):
<pre>
#
# EPICS
#
EPICS_BASE="${HOME}/src/EPICS/work/epics/base"
EPICS_EXTENSIONS="${HOME}/src/EPICS/work/epics/extensions"
<strong>.</strong> "${EPICS_BASE}"/startup/Site.profile
</pre>
</li>
<li>
<code>cd</code> to the EPICS base top-level source directory.
</li>
<li>
Run <code>make</code>.
</li>
</ol>
</li>
<li>
As distributed, EPICS on Mac OS X uses the default command line input
routines. IOC applications are much more pleasant to interact with if
either the readline or libtecla library is used. The easiest
way to get either or both of these libraries on to your system is to
download and install them using the either the DarwinPorts
distribution or the Fink package manager.
<p>
Information on DarwinPorts is available from
<a href="http://www.opendarwin.org/projects/darwinports/">the DarwinPorts
project page</a>.
DarwinPorts binary packages are available from
<a href="http://packages.opendarwin.org/">here</a>.
<p>
Fink may be downloaded from
<a href="http://fink.sourceforge.net/">the Source Forge</a>.
</li>
<li>
If broadcasts are not seen locally, try adding "localhost" (127.0.0.1)
to the EPICS_CA_ADDR_LIST.
</li>
</ul>
<h1>Building EPICS extensions</h1>
<p>
Many extensions build and run properly on OS X. To build and run medm, first
obtain the X11 run-time and developer packages from Apple and the OpenMotif3
package from Fink.
<h1>Objective-C and AppleScript</h1>
<p>
Code written in Objective-C can be included in host or IOC applications.
Here are a couple of short Objective-C examples which can be used to send
AppleScript events to other applications on the OS X machine.
<pre>
/*
* exampleAppleScriptRecord.m
*
* Simple Objective-C/AppleScript subroutine record
*
* To use this record in an application:
*
* 1) Make the following changes to the application Makefile:
* - Add exampleAppleScriptRecord.m to the application SRCS.
* - Add -framework Foundation to the application LDFLAGS.
* 2) Add the following line to the application database description:
* registrar(registerExampleAppleScript)
* 3) Add a record to the application database:
* record(sub,"setVolume")
* {
* field(SNAM,"exampleAppleScriptProcess")
* }
*/
#import &lt;Foundation/Foundation.h&gt;
#include &lt;registryFunction.h&gt;
#include &lt;subRecord.h&gt;
#include &lt;alarm.h&gt;
#include &lt;errlog.h&gt;
#include &lt;recGbl.h&gt;
#include &lt;epicsExport.h&gt;
/*
* Shim between EPICS and NSAppleScript class.
*/
static long
exampleAppleScriptProcess(struct subRecord *psub)
{
NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
NSDictionary *err;
NSAppleScript *nsa;
nsa = [[NSAppleScript alloc] initWithSource:[NSString stringWithFormat:
@"tell application \"Finder\" to set volume %g\n", psub-&gt;a]];
if ([nsa executeAndReturnError:&amp;err] == nil) {
errlogPrintf("Failed to run AppleScript: %s\n",
[[err objectForKey:NSAppleScriptErrorMessage] cString]);
recGblSetSevr(psub, SOFT_ALARM, INVALID_ALARM);
}
[nsa release];
[pool release];
return 0;
}
static registryFunctionRef subRef[] = {
{"exampleAppleScriptProcess",(REGISTRYFUNCTION)exampleAppleScriptProcess}
};
static void registerExampleAppleScript(void)
{
registryFunctionRefAdd(subRef,NELEMENTS(subRef));
}
epicsExportRegistrar(registerExampleAppleScript);
==============================================================================
/*
* runAppleScript.m
*
* Simple Objective-C/AppleScript shim to allow EPICS application to
* send arbitrary AppleScript messages to other applications.
*
* To use this subroutine in an application make the following
* changes to the application Makefile:
* - Add runAppleScript.m to the application SRCS.
* - Add -framework Foundation to the application LDFLAGS.
*/
#import &lt;Foundation/Foundation.h&gt;
#include &lt;errlog.h&gt;
int
runAppleScript(const char *format, ...)
{
NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
NSString *script;
NSMutableDictionary *err;
NSAppleScript *nsa;
va_list args;
int ret = 0;
va_start(args, format);
script = [[NSString alloc] initWithFormat:
[NSString stringWithCString:format] arguments:args];
va_end(args);
err = [NSMutableDictionary dictionaryWithCapacity:10];
nsa = [[NSAppleScript alloc] initWithSource:script];
if ([nsa executeAndReturnError:&amp;err] == nil) {
errlogPrintf("Failed to run AppleScript: %s\n",
[[err objectForKey:NSAppleScriptErrorMessage] cString]);
ret = -1;
}
[script release];
[nsa release];
[pool release];
return ret;
}
<pre>
<hr>
$Id$
</body>
</html>

View File

@@ -5,51 +5,129 @@ Please mail questions, comments, corrections, additional examples, etc.
to Ralph.Lange@mail.bessy.de
NOTE: 3.14 will ONLY compile on HPUX 11 systems. HPUX 10 does not have
the necessary thread support and will never ever be supported for
EPICS base versions >= 3.14.
the necessary posix thread support and will never ever be
supported for EPICS base versions >= 3.14.
Tools needed
------------
o HP's ANSI C compiler (cc)
o For compiling with HP native compilers
For compiling with the HP C++ compiler (hpux-parisc)
o Recent version of HP's aCC C++ compiler aCC (we use A.03.39)
- HP's ANSI C compiler (cc)
For compiling with GNU g++
o GNU g++ >= 2.95 (we use 3.2)
- Recent version of HP's aCC C++ compiler aCC
(we currently use A.03.45; A.03.39 should also do)
HP's old frontend-based C++ compiler (CC) will not work.
o For compiling with the GNU compilers
- GNU assembler (part of the binutils package)
- GNU gcc/g++ >= 3 (I would suggest >= 3.2)
If you do not have GCC as a binary package, you can quite easily
build a GCC from scratch (aka "make bootstrap"). I was successful
using the following options to the configure script:
../configure
--prefix=<compiler install location>
--enable-version-specific-runtime-libs
--enable-languages=c++
--with-gnu-as
--with-as=<location of GNU assembler executable>
--enable-shared
--enable-threads=posix
Remember to set the install location of your GCC package in the
configuration file ../configure/os/CONFIG_SITE.Common.hpux-parisc-gnu
to make the EPICS builds use it.
IMPORTANT NOTE: aCC is the standard C++ compiler for EPICS on HP-UX 11.
Compiling Base with the GNU compiler set is experimental. Usually things
will compile, but applications may experience problems. (See below.) For
productional systems, using aCC is strictly recommended.
Environment
-----------
Default is compiling with the generic HP aCC compiler. To use the GNU compiler,
set the environment variable EPICS_HOST_ARCH to hpux-parisc-gnu before starting
to compile base.
Default is compiling with the generic HP aCC compiler. To use the GNU
suite, set the environment variable EPICS_HOST_ARCH=hpux-parisc-gnu
before starting to compile base.
Building
--------
Should be quite straightforward. Edit the CONFIG_SITE files and "make".
(Be sure that GNU make is in your path or call it explicitly as the
standard make on HP is _not_ GNU.)
When compiling with aCC, you will see quite a few warning messages. Most
of these warnings - if not all - will be in system header files. There
is no decent way to suppress these warnings without suppressing the
warnings in the EPICS code. So close your eyes and stand it.
You may also note an unusual compile line that filters stuff through a
perl script. This is part of a mechanism that allows to selectively
block bogus warnings (using special comment lines) that are generated by
the HP compiler. Without this treatment you would see zillions of
warning messages. Feel free to try this by setting COMPILE_FILTER.cpp
empty on the compile line ... ;-)
Shared Libraries
----------------
Generating shared libraries is supported, suggested and the default.
You have to set the appropriate search path variable in
../configure/os/CONFIG_SITE.hpux-parisc.hpux-parisc to make shared
libraries work properly. (You can always override with setting the
SHLIB_PATH environment variable when executiong the binaries.)
If you are planning to carry around your binaries to other machines, you
have to set the shared library search path accordingly (i.e. to the
generic location where you will install the shared libraries of EPICS
base on the target machines). This is done in the configure area (in the
file ../configure/os/CONFIG_SITE.Common.hpux-parisc).
The setting of internal and external search paths for libraries is aimed
at stability. The order of search is:
1. Where the library was found at compile time. (always)
2. The INSTALL_LOCATION at compile time. (convenient when developing)
3. Any locations explicitly configured. (generic location)
4. The environment variable SHLIB_PATH. (fallback)
I changed the usual behaviour of "environment overrides default" to
increase reliability: As long as the libraries are in the generic
location, a user can set the environment wildly to anything without any
impact on the reliable operation of EPICS applications.
Still on systems where the libraries are not found at the generic place
(and you don't have the root privilege to put them there), setting the
environment you can point your client application to a fallback
location.
You can always change the order of search paths and disable usage of the
internal path and/or environment variable later on in the binary without
recompiling using the "chatr" (change attributes) command.
Known Problems
--------------
Known Possible Problems
-----------------------
o There is a problem with a CA client not detecting a network
connection going down. This only happens with some clients, though.
o Statically built binaries don't work properly (yet).
o GNU built binaries don't work properly (yet).
o The 3.13 compatibility mode isn't thoroughly tested yet.
o Using the GNU compiler is experimental.
- CA clients compiled with the GNU compiler have some serious
problems related to the connection loss management of Channel
Access. This shows up as sudden messages "Unable to contact CA
repeater" and loss of the CA repeater connection. When the IOC gets
back after a reboot, the client program may never reconnect and has
to be restarted. I will be looking into this problem so that
hopefully it will go away in a future release. But: aCC is the main
platform, getting things to run under GNU is a low priority task
for me, so any help is appreciated very much.
- Caveat: To be compatible with HP-UX 10, GCC defaults to use the DCE
(user space) threads package. If you see messages like "errLogInit
failed" when running a Channel Access client, you are probably
linking against the old DCE threads library instead of libpthread.
o The 3.13 compatibility mode has passed some general testing for both
native and GNU compilers with static and shared libraries and for
statically and dynamically linked builds. Not every combination has
been thoroughly tested. If the build system won't build your 3.13
application successfully, contact me.
Please feel free to contact me if you encounter serious problems.

View File

@@ -17,7 +17,7 @@ EPICS base</h2></center>
<center>
<h2>
Release 3.14.1</h2></center>
Release 3.14.2</h2></center>
<h3>
What is EPICS base?</h3>
@@ -58,12 +58,25 @@ 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>
<blockquote>
<br><tt>darwin-ppc (Mac OS X)</tt>
<br><tt>hpux-parisc</tt>
<br><tt>hpux-parisc-gnu</tt>
<br><tt>linux-mpc82xx</tt>
<br><tt>linux-x86</tt>
<br><tt>lynxos-x86</tt>
<br><tt>osf-alpha</tt>
<br><tt>solaris-sparc</tt>
<br><tt>solaris-sparc-gnu</tt>
<br><tt>solaris-x86</tt>
<br><tt>solaris-x86-gnu</tt>
<br><tt>sun4-x86</tt>
<br><tt>win32-x86</tt>
<br><tt>win32-x86-borland</tt>
<br><tt>darwin-ppc (Mac OS X)</tt></blockquote>
</blockquote>
</blockquote>
<blockquote>
@@ -76,12 +89,17 @@ Cross compile target platforms (operating system - architecture)</h4>
<br><tt>vxWorks-68040</tt>
<br><tt>vxWorks-68040lc</tt>
<br><tt>vxWorks-68060</tt>
<br><tt>vxWorks-pentium</tt>
<br><tt>vxWorks-ppc603</tt>
<br><tt>vxWorks-ppc603_long</tt>
<br><tt>vxWorks-ppc604</tt>
<br><tt>vxWorks-ppc604_long</tt>
<br><tt>vxWorks-pentium</tt>
<br><tt>RTEMS-gen68360</tt>
<br><tt>RTEMS-mcp750</tt>
<br><tt>RTEMS-mvme167</tt>
<br><tt>RTEMS-pc386</tt></blockquote>
<br><tt>RTEMS-pc386</tt>
<br><tt>RTEMS-psim</tt></blockquote>
</blockquote>
<h3>
@@ -108,11 +126,13 @@ 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. Tornado 2.0 provides the cross-compiler and header
<p><b>Tornado 2</b>
<br>
You must have Tornado 2 installed if any of your target systems are
vxWorks systems. Tornado 2 provides the cross-compiler and header
files needed to build for these target systems. The full path location
to Tornado 2.0 must be specified in the base/configure/RELEASE or base/configure/RELEASE.&lt;hostarch>
to Tornado 2 should be specified in the base/configure/RELEASE or
base/configure/RELEASE.&lt;hostarch>
file. You will also need one or more board support packages. Consult the
vxWorks documentation for details.
<p><b>Optional GNU compiler requirement for solaris-sparc and win32-x86
@@ -135,9 +155,9 @@ Documentation</h3>
<blockquote>EPICS documentation is available on the WWW via the EPICS home
page at APS: URL <a href="http://www.aps.anl.gov/epics">http://www.aps.anl.gov/epics</a></blockquote>
<blockquote>This README.html 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>
<blockquote>This README.html file is in the base distribution and
available on the IOC software, Base R3.14, release number, web page
which can be accessed from the APS EPICS home page.</blockquote>
<h3>
WWW pages</h3>
@@ -177,10 +197,10 @@ Operating system independent build config files</tt>
Operating system dependent build config files</tt>
<br><tt>&nbsp;&nbsp;&nbsp;&nbsp; base/configure/tools&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Perl and shell scripts used in the build</tt>
<br><tt>&nbsp;&nbsp;&nbsp;&nbsp; base/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/RTEMS&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Code to configure RTEMS for EPICS</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;
@@ -188,7 +208,7 @@ 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>
Channel access server library and examples</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;
@@ -205,10 +225,14 @@ General data descriptor</tt>
Ioc shell command interpreter</tt>
<br><tt>&nbsp;&nbsp;&nbsp;&nbsp; base/src/libCom&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
General purpose library code in subdirectories</tt>
<br><tt>&nbsp;&nbsp;&nbsp;&nbsp; base/src/libCom/RTEMS&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Code to configure RTEMS for EPICS</tt>
<br><tt>&nbsp;&nbsp;&nbsp;&nbsp; base/src/libCom/bucketLib&nbsp;&nbsp;&nbsp;
Hash bucket</tt>
<br><tt>&nbsp;&nbsp;&nbsp;&nbsp; base/src/libCom/calc&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Algebraic expression interpreter</tt>
<br><tt>&nbsp;&nbsp;&nbsp;&nbsp; base/src/libCom/cppStd&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Support for C++ standard template library</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
@@ -237,6 +261,8 @@ Miscellaneous utilities</tt>
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/ring&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Methods for creating and using ring buffers</tt>
<br><tt>&nbsp;&nbsp;&nbsp;&nbsp; base/src/libCom/taskwd&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Task watchdog</tt>
<br><tt>&nbsp;&nbsp;&nbsp;&nbsp; base/src/libCom/test&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
@@ -273,14 +299,18 @@ Scripts for setting up path and environment</tt>
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/db&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Installed data bases</tt>
<br><tt>&nbsp;&nbsp;&nbsp;&nbsp; base/html&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Installed html documentation</tt>
<br><tt>&nbsp;&nbsp;&nbsp;&nbsp; base/dbd&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Installed data base definitions</tt>
<br><tt>&nbsp;&nbsp;&nbsp;&nbsp; base/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/lib&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Installed libraries in arch subdirectories</tt>
<br><tt>&nbsp;&nbsp;&nbsp;&nbsp; base/templates&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Installed templates</tt>
<h3>
@@ -322,6 +352,8 @@ WIN32 bat file to set path and env variables</tt>
<li>
base/configure&nbsp; directory - contains build definitions and rules</li>
<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>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>
@@ -339,8 +371,8 @@ Definitions of EPICS environment variables</tt>
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>MAKEFILE&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Installs CONFIG* RULES* creates CONFIG_APP_INCLUDE</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;
@@ -370,8 +402,10 @@ 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
hosts and all targets</tt>
<br><tt>CONFIG.Common.UnixCommon&nbsp;&nbsp;&nbsp; Definitions for Unix
targets and all hosts</tt>
<br><tt>CONFIG.Common.vxWorksCommon Specific host definitions for all
vx targets</tt>
<br><tt>CONFIG_COMPAT&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
R3.13 arch compatibility definitions</tt>
@@ -417,42 +451,66 @@ Building EPICS base (Unix and Win32)</h3>
<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
<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
<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
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.
<p><b>PERLLIB</b>
<br>On WIN32, some versions of Perl require that 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
<p><b>PERLLIB</b>
<br>
On WIN32, some versions of Perl require that the environment
variable PERLLIB be set to &lt;perl directory location>.
<p><b>PATH</b>
<br>
As already mentioned, you must have the perl executable and you may
need C and C++ compilers in your search path. For building base you also
must have echo in your search path. For Unix host builds you also need
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. On solaris systems you
need uname 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 fullpathname to $(INSTALL_LOCATION)/lib/$(EPICS_HOST_ARCH)
to your LD_LIBRARY_PATH environment variable.
On linux systems, building shared libraries is the default setting.
<p><b>PATH</b>
<br>On WIN32 systems, building shared libraries is the default setting
<br>
It is no longer necessary to have LD_LIBRARY_PATH include
EPICS directories on Unix type system. R3.14 shared libraries
and executables will contain the full path name to libraries
they require. However, if you move the EPICS directories
from their build-time location then in order for libraries
to be found at runtime LD_LIBRARY_PATH must include the full
pathname to $(INSTALL_LOCATION)/lib/$(EPICS_HOST_ARCH) when
invoking executables. Building shared libraries is now the
default setting for all Unix type hosts. NOTE: You will still
need LD_LIBRARY_PATH for R3.13 extension shared libraries
even if the R3.13 extensions are built with R3.14 base.
<p><b>Win32 PATH</b>
<br>
On WIN32 systems, building shared libraries is the default setting
and you will need to add fullpathname to $(INSTALL_LOCATION)/lib/$(EPICS_HOST_ARCH)
to your path. Building shared libraries is determined by the value of the
macro SHARED_LIBRARIES in CONFIG_SITE (either YES or NO).
<br>&nbsp;</blockquote>
</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
@@ -531,13 +589,15 @@ 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 "IOC Application Developer's Guide R3.14.1".
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>
<blockquote>
Instructions for building and executing the 3.14 example application
can be found in the section "Example Application" of Chapter 2, "Getting
Started", in the "IOC Application Developer's Guide R3.14.2". The
"Example IOC Application" section briefly explains how to create and
build an example application in a user created <top> directory. It also
explains how to run the example application on a vxWorks ioc or a host
system and run an example channel access client on the host system.
</blockquote>
</body>
</html>

View File

@@ -9,10 +9,86 @@
<body lang="en">
<center>
<h1>EPICS Release base 3.14.1</h1>
<h1>EPICS Release base 3.14.2</h1>
<h1>Dec 20 2002</h1>
<h1>May 21 2003</h1>
</center>
<center>
<h2>Changes since 3.14.1</h2>
</center>
<p><strong>Build System</strong></p>
<p>Major changes have been made to the build system.
The good news is that the rules for support and ioc applications
are now greatly simplified. The bad news is that it does mean
changes for existing 3.14.1 applications. Please see:</p>
<p><a href="ConvertingR3.14.1AppsToR3.14.2.html">ConvertingR3.14.1AppsToR3.14.2</a></p>
<p>for details. If you are using the <strong>function</strong> DBD keyword it no
longer exists. Please read this conversion document for details.</p>
<p><strong>Application Developer's Guide</strong></p>
<p>The old chapter "New Feature's for 3.14" has been replaced by
a new chapter "Getting Started". Please read it. It provides
a simplified set of rules that can be used to build most
support and ioc applications. Many minor changes have also been made.</p>
<p><strong>dbGetLink</strong></p>
<p>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. Thus if an application trys
to write a waveform via the steps:</p>
<pre>
prset->get_array_info(paddr,&no_elements,&offset);
<< write nNew elements into array >>
prset->put_array_info(paddr,nNew);
</pre>
<p>This sets NORD = nNew.
But because of the dbGetLink bug, the soft device support attached to
the waveform record sets NORD to NELM.</p>
<p>This problem is fixed. The actual bug was in macros in dbAccessDefs.h</p>
<p><strong>Access Security</strong></p>
<p>The host names are now converted to lower case.
This fixes incompatibilities between various platforms.</p>
<p><strong>string records</strong></p>
<p>Both the stringin and stringout records have two new DBF_MENU fields:
APST and MPST. These control whether CA monitors are fired if the new VAL
field string is identical to the old one. The default (zero) menu value is
"On Change" with behaviour identical to before,
set to "Always" if you want a record to fire monitors every time the record
is processed (analagous to setting ADEL/MDEL=-1 for numeric record types).</p>
<p><strong>epicsMessageQueue</strong></p>
<p>A new facility that provides the capabilities of vxWorks msgQLib.
See the Application Developer's Guide (libCom OSI) for details.</p>
<p><strong>epicsStdio and errlogPrintf</strong></p>
<p>A new facility has been added to libCom described by epicsStdio.h.
It contains the functions epicsSnprintf and epicsVsnprintf.
These are like the C99 functions snprintf and vsnprintf,
which are like sprintf and vsprintf except that they accept a argument
limiting the number of characters written.</p>
<p>The errlogPrintf facility has been modified to use this facility.
Thus it is not longer subject to a possible buffer overflow.</p>
<p><strong>scanPeriod</strong></p>
<p>This is a new function provided by the Database Scanning facility.
Given an index for the choices defined by menuScan.h, it returns
the scan period in seconds. The argument can just be the scan field
of a database record. If the index is not associated with a periodic
scan rate, the value 0.0 is returned.</p>
<p><strong>New epicsString.h function</strong></p>
<p>A new function epicsStrCaseCmp has been added. It is like strcmp
except that it ignores case.</p>
<p><strong>macLib</strong></p>
<p>macParseDefns did not check for handle==NULL.
The documentation for macParseDefns was not correct.</p>
<center>
<h2>Changes since beta2</h2>
</center>
@@ -122,6 +198,32 @@ compatible between 3.13 and 3.14.</p>
<p>Configurable iocsh command-line editing support (none, readline,
libtecla)</p>
<p><strong>CA Reference Manual</strong></p>
<p>Many additions.</p>
<p><strong>CA Client Library</strong></p>
<p>Bugs related to connection speed when creating new channels and other
channels are not found fixed. Bugs related to proper schedualing in file
descriptor manager based clients fixed. Many other bugs were fixed.
Performance was significantly improved.</p>
<p><strong>Original CA Server Library (still employed in R3.14 by
iocCore)</strong></p>
<p>A bug was fixed where the server was in rare situations using excessive
CPU.</p>
<p><strong>Portable CA Server LIbrary</strong></p>
<p>Several bugs were fixed when performing integration testing with the
channel access gateway.</p>
<p><strong>GDD</strong></p>
<p>Many bugs and missing features fixed.</p>
<center>
<h2>Changes since beta1</h2>
</center>

View File

@@ -43,9 +43,11 @@ endif
ifneq (,$(findstring RTEMS,$(BUILD_ARCHS)))
DIRS += RTEMS
endif
DIRS += softIoc
DIRS += libCom/test
DIRS += gdd
DIRS += cas
DIRS += excas
include $(TOP)/configure/RULES_DIRS

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