Compare commits

...

408 Commits

Author SHA1 Message Date
Jeff Hill
dfdbe57fd3 fix for mantis 350 2009-07-18 03:56:25 +00:00
Jeff Hill
0abb615d3a improved tests 2009-07-18 03:54:16 +00:00
Jeff Hill
02281f4d19 improved tests 2009-07-18 02:42:05 +00:00
Jeff Hill
f936104e47 improved tests 2009-07-18 02:33:42 +00:00
Jeff Hill
9f51464ea1 improved tests 2009-07-18 00:30:17 +00:00
Jeff Hill
f78b00d798 improved tests 2009-07-18 00:28:08 +00:00
Jeff Hill
a55e69113e fixed mantis 350 2009-07-17 23:50:07 +00:00
Jeff Hill
b6a22aa844 removed optimization which could make the ca client library
vulnerable if the following function indicates recv bytes are pending but
recv blocks anyways.

osiSockIoctl_t bytesPending = 0;
int status = socket_ioctl ( this->sock, FIONREAD, & bytesPending );
2009-07-17 21:33:18 +00:00
Jeff Hill
5b62da8229 fixed memory leak caused by previous revision (fixing compiler warnings) 2009-07-17 19:15:39 +00:00
Janet B. Anderson
8b9dc86233 Added GNU=NO. 2009-07-16 14:33:52 +00:00
Janet B. Anderson
4a898e6ed7 Changed $(MAKEBPT) to $(TOOLS)/makeBpt$(HOSTEXE) to fix win32-x86 build. 2009-07-15 21:15:56 +00:00
Jeff Hill
58a6493596 fixed command line arguments to follow standards 2009-07-14 23:26:10 +00:00
Jeff Hill
93809bd857 billy is nolonger an on-the-fly pv 2009-07-14 23:25:24 +00:00
Jeff Hill
90ed36c572 fix allows regression tests to work against async pv 2009-07-14 23:24:35 +00:00
Jeff Hill
9e49e0131f fix for mantis 348 2009-07-14 22:51:06 +00:00
Jeff Hill
d01e54bd34 documented excas 2009-07-14 22:41:23 +00:00
Jeff Hill
5c6975b24d improved tests 2009-07-14 22:41:08 +00:00
Jeff Hill
d7ae0fbce6 made lib more robust if server sends duplicate connect channel response 2009-07-14 22:39:41 +00:00
Jeff Hill
7d2be4f947 added comment 2009-07-14 22:37:41 +00:00
Janet B. Anderson
6fc8ac3c91 Removed BUILD_CLASS def. 2009-07-14 20:17:24 +00:00
Janet B. Anderson
6219ab5059 Added BUILD_CLASS=HOST. 2009-07-14 19:30:51 +00:00
Janet B. Anderson
2b8055672d Removed ECHO definition. 2009-07-13 21:28:30 +00:00
Janet B. Anderson
94301c8838 Set BUILD_CLASS=HOST and HOST_OPT=NO. 2009-07-13 21:27:38 +00:00
Janet B. Anderson
493085cb42 Added BUILD_CLASS and HOST_OPT definitions. 2009-07-13 21:18:13 +00:00
Janet B. Anderson
1a5bd98408 Added BUILD_CLASS and HOST_OPT definitions. 2009-07-13 21:00:44 +00:00
Janet B. Anderson
9d435693ab Added HOST_OPT and BUILD_CLASS definitions. 2009-07-13 20:56:33 +00:00
Janet B. Anderson
619d8aa541 Include linux-x86 file. 2009-07-13 20:55:13 +00:00
Janet B. Anderson
4848b0d1e1 Modified locations of OPT and BUILD_CLASS defintions. 2009-07-13 20:51:44 +00:00
Janet B. Anderson
7651d3f5ac Simplified cross debug build macro definitions. 2009-07-13 20:31:45 +00:00
Andrew Johnson
f5e287ae39 Perl CA and dbDefs.h 2009-07-10 23:19:53 +00:00
Janet B. Anderson
1c18e92da7 Removing seemingly unnecessary dependancy lines. 2009-07-10 22:00:18 +00:00
Janet B. Anderson
ae85d44190 Remove comment line. 2009-07-10 21:54:25 +00:00
Janet B. Anderson
83618673bc Executed host tools should be from EPICS_BASE_HOST_BIN directory. 2009-07-10 21:51:25 +00:00
Janet B. Anderson
d1bbd5037f Removed unneeded ECHO definition. 2009-07-10 14:42:09 +00:00
Janet B. Anderson
4c9fe7e0c0 Added linker options -h, -z text, -z defs to shrlib builds. 2009-07-09 21:53:27 +00:00
Janet B. Anderson
1235a1444b Added the -h (set internal name) link option to shrlib builds. 2009-07-09 21:52:32 +00:00
Andrew Johnson
3d717f4476 (M. Davidsaver): errnumlist was never initialized.
Removed long-deprecated errSymFind routine.
2009-07-09 20:11:02 +00:00
Jeff Hill
8655ea9e2a doc for excas 2009-07-09 18:43:17 +00:00
Andrew Johnson
0fb320c263 (M. Davidsaver): Use ELLLIST init macros. 2009-07-09 18:37:26 +00:00
Andrew Johnson
9663cd58f1 Fixed ELL*_INIT macros. 2009-07-09 17:51:17 +00:00
Andrew Johnson
039648824c Remove redundant macro definitions already defined in dbDefs.h
(M. Davidsaver)
2009-07-09 17:06:45 +00:00
Andrew Johnson
4e0ab97038 (M. Davidsaver): static keyword is part of C89,
remove all uses and internal definitions of LOCAL macro
2009-07-09 16:37:24 +00:00
Andrew Johnson
d7d0531394 offsetof is required by C89 (M. Davidsaver) 2009-07-09 16:19:57 +00:00
Andrew Johnson
d6fcbe14ab Cleaned up dbDefs.h and errMdef.h
Added various #include lines needed in other sources.
2009-07-09 15:27:43 +00:00
Andrew Johnson
710fc16aa4 Modified to build on Perl 5.8.4. 2009-07-09 14:54:41 +00:00
Janet B. Anderson
afbcfeaa02 Modified a comment line. 2009-07-09 14:50:15 +00:00
Jeff Hill
3e782f0220 test for mantis 285 2009-07-08 23:29:51 +00:00
Jeff Hill
7b52eaac73 test for mantis 346 2009-07-08 22:08:00 +00:00
Jeff Hill
42957877d9 fix for mantis 346 2009-07-08 21:43:38 +00:00
Andrew Johnson
245e9b5195 Added an END {} block and CA->context_destroy method for proper shutdown. 2009-07-08 21:33:01 +00:00
Andrew Johnson
bf39f9935c Cosmetic. 2009-07-08 19:08:22 +00:00
Andrew Johnson
70bf066ba9 Added ELLNODE_INIT and ELLLIST_INIT macros. 2009-07-08 19:04:22 +00:00
Andrew Johnson
a318ace551 Replaced YES and NO macros with their menuYesNo or menuSimm equivalents. 2009-07-08 18:14:11 +00:00
Jeff Hill
16f839ac12 regression test for mantis 284 2009-07-08 18:00:19 +00:00
Jeff Hill
cba3d9673d fix for mantis 284 2009-07-08 18:00:03 +00:00
Jeff Hill
162fa000c8 fix for compiler warnings in mantis 337 2009-07-07 23:54:41 +00:00
Jeff Hill
0e4891201e fix for compiler warnings in mantis 337 2009-07-07 23:47:38 +00:00
Jeff Hill
f7bfbf73f8 additional patches for memory leaks (see mantis 340) 2009-07-07 23:09:21 +00:00
Jeff Hill
6a2044cb01 added verifyContextRundownFlush 2009-07-07 21:39:43 +00:00
Jeff Hill
9f6e7a5cd7 fix for mantis 334 2009-07-07 20:05:39 +00:00
Andrew Johnson
47c6046eef Revised documentation a bit. 2009-07-07 15:56:16 +00:00
Andrew Johnson
eb800fd351 Use new provider registration function name. 2009-07-06 20:17:29 +00:00
Andrew Johnson
54928bf94f Added PINI values RUNNING and PAUSED. 2009-07-02 20:05:59 +00:00
Andrew Johnson
68dbf8addd Added PINI values RUNNING and PAUSED, needed for Asyn. 2009-07-02 20:05:32 +00:00
Andrew Johnson
2e38b09398 Tidy-up, deleted vxWorks-specific version (unnecessary),
added the task name to the printed assert message.
2009-07-02 19:49:11 +00:00
Jeff Hill
a2eb148726 removed extraneous line continuation 2009-07-01 22:28:41 +00:00
Jeff Hill
6129bfc8d5 fixed race condition gdd_NEWDEL_NEW macro 2009-07-01 22:19:53 +00:00
Jeff Hill
cc3245bf65 finished removal of epicsShareAPI (as I assume was intended) 2009-06-30 19:15:48 +00:00
Janet B. Anderson
c73dba8037 Fixed ECHO lines and added DBDFLAGS to DBTOMENUH command line. 2009-06-29 16:17:01 +00:00
Janet B. Anderson
813add592f Changed a comment line. 2009-06-26 20:59:33 +00:00
Janet B. Anderson
7ffcfd9bc0 Remove comment lines accidently committed. 2009-06-26 20:43:02 +00:00
Janet B. Anderson
c916b60c1d Created a ECHO macro and used it in the rules lines. 2009-06-26 20:37:22 +00:00
Andrew Johnson
f84e70487f Added long string support 2009-06-25 20:22:35 +00:00
Andrew Johnson
9aeb33a040 Added long strings, DBE_PROPERTY and -F option 2009-06-25 20:21:25 +00:00
Andrew Johnson
530929cd5a Cleanup 2009-06-25 20:16:00 +00:00
Andrew Johnson
81b1011d8c Added long string support, output structure types fully. 2009-06-25 20:04:28 +00:00
Andrew Johnson
0d1200ef0b Added long string support and DBE_PROPERTY. 2009-06-25 20:01:27 +00:00
Andrew Johnson
b98655b8f3 Moved checkRelease target rules into RULES_BUILD,
use CONFIG_TARGETS to only run in TOP/configure.
2009-06-24 19:33:57 +00:00
Andrew Johnson
1590358de4 Ignore any RULES value in the RELEASE files. 2009-06-24 19:27:33 +00:00
Andrew Johnson
c1c8c914db Moved RULES and CHECK_RELEASE settings, cleanup. 2009-06-24 19:25:16 +00:00
Janet B. Anderson
9bbe163f52 Moved CHECK_RELEASE definition to CONFIG_SITE. 2009-06-23 19:45:23 +00:00
Janet B. Anderson
f20ccc6c09 Moved the shared set of rules definition, RULES, to RELEASE. 2009-06-23 19:43:58 +00:00
Janet B. Anderson
d8586726a4 Tried to simplify library build rules. 2009-06-22 21:23:16 +00:00
Andrew Johnson
d84d198733 Initialize the errSym table as part of errlogInit rather than doing it
later in an error path, when we might have already run out of memory!
2009-06-19 18:24:22 +00:00
Jeff Hill
f2a96aec94 make sure and remove any UDP message remnants if there
is an exception in a UDP message handler stub
2009-06-16 17:45:35 +00:00
Andrew Johnson
957c869c87 Fix off-by-1 error in dbPutFieldLink() when checking long input string. 2009-06-15 22:30:27 +00:00
Andrew Johnson
3c19da6b3b Allow INP/OUT to be set if DSET is NULL. 2009-06-15 20:52:36 +00:00
Andrew Johnson
f32394e795 pdevLibVirtualOS needs epicsShareDef and explicitly setting to NULL,
but we can't do the latter in the os/default version.
2009-06-15 16:10:07 +00:00
Andrew Johnson
5d9317339f Removed function versions of macros, spacing cleanup. 2009-06-11 22:23:37 +00:00
Janet B. Anderson
bd57eb8c83 Added action.arch rules. 2009-06-10 20:54:59 +00:00
Andrew Johnson
5a5e2d8f74 Solve extended device support registration issue across shared libraries. 2009-06-10 20:19:32 +00:00
Janet B. Anderson
337f53c109 Allow "make <t_a>" builds. 2009-06-09 18:51:25 +00:00
Janet B. Anderson
aea3c3cc66 Fixed include file name CONFIG_SITE.darwinCommon.darwinCommon 2009-06-09 14:23:55 +00:00
Andrew Johnson
3b27446fbf ENUM string field sizes. 2009-06-08 20:02:56 +00:00
Andrew Johnson
cb0f8d5c72 Make all enum string fields the maximum size that CA can transport. 2009-06-08 19:55:49 +00:00
Andrew Johnson
a66a192ed5 Expand READONLY macro, deprecate. 2009-06-05 19:56:33 +00:00
Andrew Johnson
be6b1c4e31 Fix implicit declaration of isspace() 2009-06-05 19:16:31 +00:00
Andrew Johnson
4fc14d2dfb Fix slash. 2009-06-05 19:10:46 +00:00
Andrew Johnson
84d0a83ba3 More ANSIfication. 2009-06-05 19:07:24 +00:00
Janet B. Anderson
ebec683578 Bug fix from Michael Davidsaver at Brookhaven. 2009-06-05 16:02:26 +00:00
Andrew Johnson
f8e01c5536 SIGALARM stuff. 2009-06-05 15:52:07 +00:00
Andrew Johnson
9338d4ec59 Removed the guts of the SigAlarm code, which was only needed for HPUX
and on Linux breaks external libraries that use the Posix Timer API.
2009-06-04 21:31:39 +00:00
Janet B. Anderson
5ce69c7db0 Allow override of RTEMS_BASE asnd RTEMS_VERSION in other top dirs. 2009-06-04 18:29:33 +00:00
Andrew Johnson
8edbf9268c Fixed some compiler warnings. 2009-06-03 15:11:30 +00:00
Andrew Johnson
719a82590c Replace bzero() calls with memset(), fix Win32 issue. 2009-06-03 15:00:08 +00:00
Andrew Johnson
68bdaa899e Fixes to allow building on Solaris. Its <cxxx> headers are evidently not
quite drop-in C++ replacements for the <xxx.h> C versions.
2009-06-02 22:31:46 +00:00
Jeff Hill
a052ed56b2 EPICS_CA_BEACON _PERIOD wasnt listed as the default for EPICS_CAS_BEACON_PERIOD 2009-06-01 17:50:01 +00:00
Janet B. Anderson
a98ff64fb3 More updates for R3.14.11. 2009-05-26 21:38:02 +00:00
Jeff Hill
7653623e72 fixed potential memory leak in createDBRDD () 2009-05-13 21:14:17 +00:00
Jeff Hill
8d245ba595 added try/catch blocks so that we hopefully can bridge
periods where the new general time provides (unexpectedly
considering its advertised benfits) no time at all.
2009-05-11 22:50:06 +00:00
Jeff Hill
20bd4e9b23 fixed no try catch block for exceptions occurring when fetching the time to print a diagnostic message in the last chance exception handler. 2009-05-11 21:52:19 +00:00
Andrew Johnson
f1b1c6d105 Handle SOCK_EINTR without generating warnings. 2009-05-08 21:50:37 +00:00
Andrew Johnson
6c26a81d97 Make NTP request timeout a macro. 2009-05-07 19:35:34 +00:00
Janet B. Anderson
ef06015322 More updates for R3.14.11. 2009-05-07 16:51:04 +00:00
Janet B. Anderson
23072c0a64 Added GNU= NO
Added another include for site overrides.
2009-05-07 16:16:13 +00:00
Janet B. Anderson
9e6b077c7f Added another include for site overrides. 2009-05-07 16:14:41 +00:00
Janet B. Anderson
3b9ce581f0 Added include for CONFIG_SITE.$(EPICS_HOST_ARCH).linuxCommon overrides. 2009-05-07 16:00:16 +00:00
Andrew Johnson
01bd9f7ae0 Darwin universal binary config stuff. 2009-05-06 21:56:53 +00:00
Janet B. Anderson
f11d5ee101 SDK added to environment variables is done by vcvars32.bat. 2009-05-06 18:50:46 +00:00
Andrew Johnson
a695c4a45a Build universal binaries, allowing sites to configure what to include. 2009-05-06 17:25:01 +00:00
Janet B. Anderson
7adda5d417 Added HOST_OPT=NO 2009-05-06 15:31:09 +00:00
Janet B. Anderson
9747ef7bd6 Changed ARCH_CLASS to OS_CLASS. 2009-05-06 15:13:45 +00:00
Andrew Johnson
a187054e42 ARCH_CLASS => OS_CLASS 2009-05-05 22:01:16 +00:00
Janet B. Anderson
d023a46165 Removed include for CONFIG_SITE file. 2009-05-05 18:43:09 +00:00
Janet B. Anderson
a65c477bd1 Added include line for CONFIG_SITE file. 2009-05-05 16:31:59 +00:00
Andrew Johnson
381efb921c VMS, SGI too. 2009-05-05 15:42:12 +00:00
Andrew Johnson
1ea4b4414a Memory allocation checks from Micheal Davidsaver. 2009-05-05 15:35:05 +00:00
Andrew Johnson
8ee39f8cce Memory allocation checks. 2009-05-05 15:19:00 +00:00
Andrew Johnson
42f0106d48 Memory allocation checks. 2009-05-05 15:11:37 +00:00
Andrew Johnson
917e83e391 Use epicsStrDup for allocation check. 2009-05-05 15:02:35 +00:00
Janet B. Anderson
9e08d4d17a Updated for R3.14.11. 2009-05-04 21:46:29 +00:00
Andrew Johnson
cff8e62690 Removed vestigial VMS build script. 2009-05-04 14:48:05 +00:00
Andrew Johnson
9a2ce84718 Various cleanup and de-warning (although HOST_WARN is still NO). 2009-04-30 20:45:31 +00:00
Andrew Johnson
d8e85d242b Turned on warnings, fixed all issues (adding prototypes etc.)
Fixed memory leak in reader.c
2009-04-30 19:10:59 +00:00
Andrew Johnson
6e364ace47 Changed arg to dbCaCallbackProcess() to make it match dbCaCallback.
Removed matching unnecessary casts in softDev support routines.
2009-04-29 18:24:25 +00:00
Andrew Johnson
365389437c Removed epicsShareAPI decorator from all functions, to fix WIN32 problem
found by Mark Rivers: The dbCaCallback typename was not decorated, but the
functions being called through it apparently are.
2009-04-29 17:26:25 +00:00
Andrew Johnson
a32d3a57c6 Quiet compiler warnings about uninitialized values 2009-04-27 18:51:33 +00:00
Andrew Johnson
5f1106d060 Silence compiler warning 2009-04-27 18:42:20 +00:00
Andrew Johnson
03c82fa651 More ANSI C conversion 2009-04-27 18:31:50 +00:00
Janet B. Anderson
312c0f1203 Changed GNU make release number in comment lines 2009-04-27 16:08:50 +00:00
Andrew Johnson
c460eb410c Deleted HPUX support files. 2009-04-24 20:07:47 +00:00
Andrew Johnson
c03f26d84a Deleted hpux, no longer supported 2009-04-24 20:01:52 +00:00
Andrew Johnson
466317b23f We haven't supported VMS for YONKS... 2009-04-24 19:53:01 +00:00
Andrew Johnson
b8df15f6fa HPUX no longer supported. 2009-04-24 19:51:04 +00:00
Andrew Johnson
f626d80cf8 When did we ever support SGI? 2009-04-24 19:37:44 +00:00
Andrew Johnson
1fe93a927d The sun4 architecture was deleted long ago. 2009-04-24 19:35:06 +00:00
Andrew Johnson
6ea470d7d8 Deleted remaining references to sun4 (mostly in comments). 2009-04-24 19:31:57 +00:00
Andrew Johnson
39eaa0e335 Ansification (Michael Davidsaver) 2009-04-24 17:32:08 +00:00
Andrew Johnson
ecc300b8ff getsockopt wants socklen_t 2009-04-24 17:06:54 +00:00
Andrew Johnson
bff0841343 rtems_message_queue_receive expects size_t 2009-04-24 17:01:39 +00:00
Andrew Johnson
ae35ba28c5 missing header 2009-04-24 16:59:01 +00:00
Andrew Johnson
b05f1fe396 printf warning 2009-04-24 16:53:20 +00:00
Ralph Lange
a8a5668142 Fix: makeBaseExt uses EPICS_MBE_.... 2009-04-24 12:35:36 +00:00
Ralph Lange
28f70a28a1 Base path can be set through environment var EPICS_MBA_BASE. 2009-04-24 12:25:21 +00:00
Ralph Lange
e48308c850 Changed comment on version of GNU make needed. 2009-04-24 08:59:42 +00:00
Andrew Johnson
f7412f0c46 fix indentation and add missing calloc checks 2009-04-23 23:12:07 +00:00
Andrew Johnson
13f064fd7f Resource allocation checks missing 2009-04-23 22:28:44 +00:00
Andrew Johnson
f0652aa1b6 allocations MustSucceed 2009-04-23 22:19:46 +00:00
Andrew Johnson
f5f1c51b80 make dbMalloc and dbCalloc macros 2009-04-23 21:56:22 +00:00
Andrew Johnson
e7bb980257 initHooks, PINI and PHAS items. 2009-04-23 20:38:46 +00:00
Andrew Johnson
c13dc77564 Make PINI field into its own menu, adding RUN and PAUSE choices. 2009-04-23 20:35:02 +00:00
Andrew Johnson
163c8c0215 Add extern "C" wrapper, needed for WIN32. 2009-04-23 19:13:46 +00:00
Andrew Johnson
31d149d8d9 Fixed 64 bit compiler warnings from Tom Palaia/MacOS. 2009-04-23 18:49:40 +00:00
Andrew Johnson
b1234b4667 Modified the timeout and retry count: Allow 4 seconds for an NTP reply,
and 4 retries, thus NTP sync must work at least once every 5 minutes.
2009-04-20 22:21:45 +00:00
Andrew Johnson
1bbeeb1c87 Restore a retry into the NTP synchronization thread.
Eliminated an unnecessary local variable.
2009-04-20 15:26:11 +00:00
Andrew Johnson
8015df9e1f Added new initHook states for iocPause and iocRun commands.
Added a mutex to protect the initHook.c routines.
2009-04-16 18:38:20 +00:00
Andrew Johnson
b9886c7faa Cosmetic only; tabs, spaces & line-wrapping. 2009-04-15 19:28:28 +00:00
Andrew Johnson
e01b6bd435 Calculate monitor events properly. 2009-04-14 20:04:05 +00:00
Ralph Lange
3c92824bfd Make scanFile() recognize includes in .substitution files correctly. 2009-04-14 12:42:06 +00:00
Janet B. Anderson
e7932f03f7 Modified comments. 2009-04-13 21:27:32 +00:00
Janet B. Anderson
78eaf3543c Added BROWSER environment variable for medm extension. 2009-04-13 21:22:25 +00:00
Janet B. Anderson
1b1c28f239 Removed archive and shared split of prod libs. 2009-04-13 20:11:47 +00:00
Andrew Johnson
d79877c383 Need epicsMath.h to use epicsNAN. 2009-04-13 20:10:43 +00:00
Andrew Johnson
d545a8f04f Added test code, fixed bug found in epicsStrnEscapedFromRawSize(). 2009-04-10 19:58:34 +00:00
Andrew Johnson
23b3154fa8 Declare epicsEllTest before calling... 2009-04-09 20:38:49 +00:00
Andrew Johnson
93ac840d6e Even variables have to be marked as extern "C"... 2009-04-09 20:21:05 +00:00
Janet B. Anderson
b5acee6f76 Separate BASE and TOOLS locations 2009-04-09 18:56:06 +00:00
Andrew Johnson
19073ea8e6 Define epicsExportSharedSymbols 2009-04-09 18:36:20 +00:00
Andrew Johnson
e12396c7dd epicsShareAPI fixes for Windows. 2009-04-09 17:28:59 +00:00
Andrew Johnson
acb1bf9b29 Add epicsShareAPI to match header. 2009-04-09 17:20:05 +00:00
Andrew Johnson
f3d07ad12f ellLib changes: ANSIfication patch; moved test code out of ellLib.c into
its own unit test program in libCom/test; changed ellFree() to take a
function pointer for the free() routine, so it can be used on Windows;
modified epicsExit and dbBkpt to use it and pass in the free routine.
2009-04-09 16:51:05 +00:00
Andrew Johnson
f357fd3b13 Include DBE_PROPERTY in dbel output. 2009-04-09 16:42:02 +00:00
Andrew Johnson
79ef84dc9d A little light editing. 2009-04-09 15:15:46 +00:00
Andrew Johnson
a8b20f07a8 Applied Bernd's devAiSoft SMOO patch. 2009-04-09 15:03:09 +00:00
Andrew Johnson
134509a8ea Thread name may not be available during termination. 2009-04-08 22:39:27 +00:00
Janet B. Anderson
6fd2685053 More updates and format changes 2009-04-08 19:31:53 +00:00
Janet B. Anderson
826cd573cd Reformatted and updated contents. 2009-04-07 21:56:05 +00:00
Andrew Johnson
ca269744a6 Flush result output, allows Test::Harness to display progress. 2009-04-07 21:28:58 +00:00
Andrew Johnson
b4d2fbc98f Must be able to include this file from C code, changed comment style. 2009-04-07 15:45:38 +00:00
Andrew Johnson
c70c3beca2 Removed unused INAP menu definition. 2009-04-04 23:01:23 +00:00
Andrew Johnson
5d5fd663ff Use epicsNAN and epicsINF. 2009-04-03 21:16:25 +00:00
Andrew Johnson
f5c64db59f Waveform record Post on Change using hash. 2009-04-03 21:05:40 +00:00
Ralph Lange
990ba62e0b Added support for new MSI and MSS link flags 2009-04-03 20:54:00 +00:00
Ralph Lange
2e8595f17f Fix: caput quits when connection fails (catools) 2009-04-03 19:46:32 +00:00
W. Eric Norum
cc4b462f8c Reflect ring bytes changes. 2009-04-03 19:43:41 +00:00
Ralph Lange
7fccc59fe9 ANSIfication of stuff (mostly missing argument types in declarations) 2009-04-03 17:46:26 +00:00
Ralph Lange
4715043141 Rename of pxxx -> prec in device supports 2009-04-03 15:45:03 +00:00
Ralph Lange
c0052ea44f Changed get_alarm_double() behaviour in analog records to return epicsNAN for limits with NO_ALARM severity 2009-04-03 14:40:13 +00:00
Ralph Lange
f30a89d249 Remove CVS Id that causes just too much trouble. 2009-04-03 14:37:59 +00:00
Ralph Lange
40d0942a81 Remove fake BNL copyright notice until we have a license agreement. 2009-04-03 14:33:37 +00:00
Andrew Johnson
7228190dde Fix memory leak. 2009-04-03 01:57:11 +00:00
Ralph Lange
f4311a3f9b Rename pxxx -> prec in xxxRecord.c 2009-04-02 21:42:32 +00:00
Ralph Lange
5c8a51b6f6 Rename pxxx -> prec in all xxxRecord.c 2009-04-02 21:41:45 +00:00
Ralph Lange
8d68c85d8b Add epicsNAN and epicsINF to the osi section of libCom. 2009-04-02 21:38:07 +00:00
Ralph Lange
2640c5fa07 Added epicsNAN and epicsINF to libCom/osi 2009-04-02 21:15:26 +00:00
Ralph Lange
e18eb714a8 Print OFS for empty (suppressed) STAT/SEVR fields (catools) 2009-04-02 18:52:59 +00:00
Ralph Lange
b1556bd871 New DBE_PROPERTY event type and support in catools and mbbi/mbbo records 2009-04-02 15:51:30 +00:00
Ralph Lange
f156474714 Fix: Print indentation (catools) 2009-04-02 15:39:13 +00:00
Andrew Johnson
88971886c5 PINI Processing support for PHAS. 2009-04-02 14:11:27 +00:00
Ralph Lange
433e400c4d Fix in calculating the needed buffer length for escaped strings. 2009-04-02 13:05:42 +00:00
Ralph Lange
e484093493 Bugfixes plus added support for escaping non-printables and field separator to CA commandline tools. 2009-04-02 02:14:33 +00:00
Ralph Lange
73470d5f4c Added new functions to escape non-printable characters. (epicsString) 2009-04-02 02:13:04 +00:00
Andrew Johnson
776b8855fd Attributes and LINK fields only provide one DBF_STRING element. 2009-04-01 22:02:48 +00:00
Andrew Johnson
91a9a60594 Document long string support in caget/put/monitor tools. 2009-04-01 17:54:32 +00:00
Andrew Johnson
994e9471e4 Removed non-ASCII characters. 2009-04-01 17:47:46 +00:00
Janet B. Anderson
78a2428dbc Added SHARED_LIBRARIES definition and comment. 2009-03-31 20:08:23 +00:00
Janet B. Anderson
dc44901194 Updated EPICS_BASE/configure to CONFIG. 2009-03-31 19:48:17 +00:00
Ralph Lange
0765d5e0b1 Added support for handling strings as arrays of char (aka long strings); new -S option switches this feature. 2009-03-31 19:39:39 +00:00
Ralph Lange
6a17b86743 Added support for handling strings as arrays of char (aka long strings); new -S option switches this feature.
Fixed some inconsistencies with data print formats for enums and arrays.
2009-03-31 19:39:06 +00:00
Janet B. Anderson
4d8ee62087 Added SCIPLOT,XRT graph, X11, and Motif definitions. 2009-03-31 19:18:05 +00:00
Janet B. Anderson
8179cf1d9c Added Exceed definitons. 2009-03-31 19:13:41 +00:00
Janet B. Anderson
9958bf91e5 Added X11,Motif,Sciplot,SDDS librar, and XRT graph definitions. 2009-03-31 19:10:42 +00:00
Andrew Johnson
58b1017397 Ensure getOptions() gets called for structured DBR types. 2009-03-31 19:09:58 +00:00
Janet B. Anderson
9a09be011f Updated X11,Motif, XRT Graph, and SCIPLOT definitions. 2009-03-31 19:04:02 +00:00
W. Eric Norum
ed82e672b4 Block attempts to put more bytes than will fit. 2009-03-30 18:52:00 +00:00
W. Eric Norum
4569fa1e29 Fix up RTEMS notes. 2009-03-27 16:58:46 +00:00
W. Eric Norum
48b20cd400 Update version. 2009-03-27 13:28:26 +00:00
Andrew Johnson
f98d74b064 Long string support. 2009-03-25 23:06:18 +00:00
Andrew Johnson
ed4a2972d6 Long string support:
In dbStatic, split record and field search to make parsing easier.
  In dbAccess, '$' field name suffix makes field an array of DBF_CHAR.
2009-03-25 23:02:28 +00:00
Andrew Johnson
547e9bcfea Use epicsStrHash() 2009-03-24 17:04:02 +00:00
W. Eric Norum
57635a364b Add note about Darwin environ. 2009-03-23 20:52:18 +00:00
Andrew Johnson
cc35e59ff8 Cosmetic. 2009-03-23 19:54:42 +00:00
Andrew Johnson
2e1e5b3949 Document new epicsString Hash functions. 2009-03-20 21:51:17 +00:00
Jeff Hill
86841c5078 restored doc for ca_add_fd_registration 2009-03-20 16:41:53 +00:00
Andrew Johnson
32d5aed8b0 Ambiguous if/else fixes. 2009-03-20 06:19:47 +00:00
Andrew Johnson
6b212b0e17 Fix type of gphPvt pointer. 2009-03-20 06:04:00 +00:00
Andrew Johnson
99ff6d9a02 Removed obselete get_value routine. 2009-03-19 23:05:58 +00:00
Andrew Johnson
7ce49bf131 Reworked various hash tables, using the faster epicsStrHash() routines;
added per-bucket locks to the PV Directory, needed for run-time alias creation;
speed up gpHash lookups; improved the output of both Dump routines.
2009-03-19 23:00:44 +00:00
Andrew Johnson
7eeb70a8d9 Added epicsStrHash() and epicsMemHash(), after analyzing several hash
functions found online and the two already in Base (which both perform
a memory lookup per character and are not as good as this one).
2009-03-19 17:44:22 +00:00
Jeff Hill
dd54062496 fixed mantis 336 - timer queue should have try / catch block
around call to user's expiration callback
2009-03-13 17:23:07 +00:00
Janet B. Anderson
683c5bddf1 Commented test for j option in MAKEFLAGS. Test NOT working in make 3.81. 2009-03-12 18:38:14 +00:00
Janet B. Anderson
80d0245193 Added .depends files in O.Common for header files created from dbd files. 2009-03-12 18:22:05 +00:00
Janet B. Anderson
49e317dccb Updated DEPEND_DIRS for vxWorks directory. 2009-03-12 15:50:50 +00:00
Janet B. Anderson
78d25cbf4b Removed iocshLibrary - it no longer exists. 2009-03-11 19:23:18 +00:00
Janet B. Anderson
89442d6ed6 Changed LIBSRCS to LIB_SRCS. 2009-03-11 19:11:21 +00:00
Janet B. Anderson
3d588b13fc Changed LIBSRCS to LIB_SRCS. 2009-03-11 18:51:25 +00:00
Andrew Johnson
e42837e291 Update DST settings for 2009. 2009-03-10 20:40:22 +00:00
Andrew Johnson
100318d1b3 Remove unnecessary casts. 2009-03-10 19:20:38 +00:00
Andrew Johnson
f8c921e6a0 Mark struct dbAddr arg's const. 2009-03-10 18:54:47 +00:00
Janet B. Anderson
7ae6f9d137 Modified STATIC build. Make all *_SYS_LIBS dynamic.
Test non SYS_LIBS for dynamic or archive.
2009-03-10 18:54:14 +00:00
Andrew Johnson
aacee9c584 Cosmetic only. 2009-03-10 18:51:03 +00:00
Janet B. Anderson
8e01d0dfe8 Modified STATIC build. Make all *_SYS_LIBS dynamic.
Test non SYS_LIBS for dynamic or archive.
2009-03-10 18:46:38 +00:00
Janet B. Anderson
f3d2ba9551 Removed PROD_SYS_LIBS definition. 2009-03-10 16:44:28 +00:00
Janet B. Anderson
2f6b8f3c61 Dont print remove command. 2009-03-09 16:05:15 +00:00
Janet B. Anderson
2ad9341e45 Fixed CREATESUBSTITUTIONS rule. 2009-03-09 15:56:14 +00:00
Andrew Johnson
20916bbf24 Count aliases separately in reports. 2009-03-06 23:51:54 +00:00
Andrew Johnson
6766e46ab5 A later modification escaped into the previous set of changes... 2009-03-05 23:31:10 +00:00
Andrew Johnson
8597ae087b Allow getting a DBF_*LINK field using a DBR_CHAR array (put already done).
Fetch options before SPC_ATTRIBUTE str; allow a DBR_CHAR array there too.
2009-03-05 21:23:22 +00:00
Andrew Johnson
e2a933c51f Cosmetic changes; reformatting, style etc. 2009-03-05 20:38:10 +00:00
Andrew Johnson
11abbb06d7 Added libdl to the OS libraries needed, for dlopen/dlsym. 2009-03-04 22:51:41 +00:00
Jeff Hill
edcb7b96f8 fixed removeAll does not set the nInUse count to zero 2009-03-04 22:00:55 +00:00
Jeff Hill
31d6255169 fix for deleteing IO that wasnt selected for delete nor removed from
the list in clearOutstandingReads. This problem would probably
only occur with R3.13 clients, and only then if the R3.13 client times
out in ca_pend_io.
2009-03-04 19:33:18 +00:00
Janet B. Anderson
1fbf624e5f Removed commented references to CONFORM flags. 2009-03-03 20:24:03 +00:00
Janet B. Anderson
4cb0d85b34 Removed all references to CONFORM flags in configure files. 2009-03-03 19:54:19 +00:00
Andrew Johnson
aadbf07647 Return epicsMutexLockError rather than calling cantProceed() if the
pthread_mutex_ functions return EINVAL.
2009-03-03 18:00:49 +00:00
Andrew Johnson
33b4942ae2 Cosmetic. 2009-03-03 17:18:16 +00:00
Andrew Johnson
3093d8f4f4 Reduce duplication of alarm strings. 2009-03-03 17:15:10 +00:00
Andrew Johnson
3a6deaa60a Support for dynamic loading. 2009-02-27 23:38:33 +00:00
Andrew Johnson
9e07d56548 Include the dlload command.
Don't build on vxWorks, makes little sense.
2009-02-27 23:37:13 +00:00
Andrew Johnson
41abccccf9 Added optional dlload command. 2009-02-27 23:29:08 +00:00
Andrew Johnson
9c3fa668f3 Added epicsLoadLibrary() and some implementations. 2009-02-27 23:26:20 +00:00
Janet B. Anderson
19409d9c74 Initial version. 2009-02-26 20:56:56 +00:00
Andrew Johnson
654a7e05cd Mark source dbAddr pointers as const. 2009-02-24 22:57:15 +00:00
Andrew Johnson
8be407d608 Mark input dbAddr arguments const. 2009-02-24 22:30:26 +00:00
Andrew Johnson
a75cb10cb6 Added "errlog" command. 2009-02-24 20:10:57 +00:00
Andrew Johnson
3e68815a7b cap5 fix. 2009-02-24 17:30:19 +00:00
Andrew Johnson
92c7cd98a2 Make ca_put use best_type for both single-valued and array PVs. 2009-02-24 17:01:59 +00:00
Andrew Johnson
6c23ca9f80 Clean up compiler warnings in calls to dbGetLink. 2009-02-23 23:24:35 +00:00
Andrew Johnson
07d187b77a Fix needed for g++ 4.1.2. 2009-02-23 22:51:50 +00:00
Jeff Hill
40c802ad7b moved declaration using template down to below where its template
parameter is declared in case inclass friend forward reference to the
template parameter doesnt carry forward on all compilers
2009-02-23 21:44:39 +00:00
Jeff Hill
68f6b7d47c workaround for archaic T202 g++ bug 2009-02-23 21:40:52 +00:00
W. Eric Norum
ce3c3919ba Stephen Norum indicates that the conditionals are unnecessary. 2009-02-23 18:11:40 +00:00
W. Eric Norum
e6b0b38f61 Starting in Mac OS X 10.5 (Leopard) shared libraries and bundles
don't have direct access to environ (man environ).
 CVS: ----------------------------------------------------------------------
2009-02-23 15:36:30 +00:00
Andrew Johnson
b62d796bff Improve error reporting by addToList & deleteFromList. 2009-02-14 00:05:01 +00:00
Jeff Hill
77669d793d fixed situations where local host name cache is repatedly created and destroyed 2009-02-11 00:50:28 +00:00
Jeff Hill
e1b8caa8d7 fixed comment 2009-02-10 22:58:43 +00:00
Jeff Hill
9f5b1a11da removed some epicsSingleton related code that isnt in use 2009-02-10 22:51:53 +00:00
Jeff Hill
62618480fd fixed mantis 332 2009-02-10 22:24:20 +00:00
Janet B. Anderson
6e913fe0bb Changed PROD to PRODNAME in INSTALL_LIB_INSTALLS dependancy. 2009-02-10 20:10:59 +00:00
Janet B. Anderson
01218d0054 Install LIB_INSTALLS before PRODs are built. 2009-02-10 15:43:49 +00:00
Jeff Hill
71ec516cf5 fix for mantis 331 2009-02-09 17:29:18 +00:00
Jeff Hill
08a4fb3ce7 addred proto for ca_detach_context 2009-02-09 15:23:06 +00:00
Andrew Johnson
e2289a30df Removed duplicate alarm strings. 2009-02-03 17:25:02 +00:00
Andrew Johnson
a213ccf624 Deleted VERS field (it's already an attribute). 2009-02-03 16:28:10 +00:00
Andrew Johnson
e77736ddb2 Added dbla command. 2009-02-03 06:09:04 +00:00
Andrew Johnson
f1a0584273 Fix gcc warnings. 2009-02-03 06:05:51 +00:00
Andrew Johnson
289f5500a4 Restart nanosleep() on EINTR. 2009-01-30 20:15:40 +00:00
Andrew Johnson
03e3ce0513 STATIC => static. 2009-01-28 23:39:16 +00:00
Andrew Johnson
ffe38fffb8 Don't forget to flush! 2009-01-28 21:16:39 +00:00
Andrew Johnson
c85052de6c Fix errlogPrint and errlogVprintf so the latter outputs to the console. 2009-01-28 21:05:34 +00:00
Andrew Johnson
292a763d9a Enhance generalTime subsystem with interrupt-context time & event requests. 2009-01-28 20:01:41 +00:00
Andrew Johnson
c5fd57e5ae Make getpMessage() clear the message string rather than requiring caller to. 2009-01-28 19:57:11 +00:00
Janet B. Anderson
db076183c0 Changed EPICS_BASE_TOOLS_BIN to EPICS_BASE_BIN in PATH. 2009-01-27 21:27:32 +00:00
W. Eric Norum
15bd6bc402 RTEMS updates. 2009-01-24 23:14:44 +00:00
W. Eric Norum
63c20dbb4b Repair accidental commit of local changes.
Swirtch to RTEMS 4.10.
2009-01-23 20:24:59 +00:00
W. Eric Norum
deae06a694 Reduce RTEMS stack sizes.
Use new RTEMS 'unified memory pools'.
2009-01-23 20:21:41 +00:00
Andrew Johnson
0cabf024d7 Error message has the wrong routine name in it. 2009-01-21 20:26:52 +00:00
Andrew Johnson
c4857e820e Added dbGetNAliases(). 2009-01-19 19:04:40 +00:00
Andrew Johnson
9ca9a3c2e2 Added dbGetNAliases() function, to complete the aliases API. 2009-01-19 18:57:02 +00:00
Andrew Johnson
edf0875bcf Record aliases. 2009-01-16 20:54:01 +00:00
Andrew Johnson
e155dd411e Added dynamic parts of record alias implementation. 2009-01-16 20:50:40 +00:00
Andrew Johnson
dd7cb80555 Fix memory leak. 2009-01-16 20:04:34 +00:00
Andrew Johnson
105448f3f8 Fix access to uninitialized memory. 2009-01-16 16:49:19 +00:00
Andrew Johnson
99053303fb Fixed fetch_values() bug. 2009-01-14 23:42:20 +00:00
Andrew Johnson
a723ea357e Added record aliases. 2009-01-09 18:00:00 +00:00
Andrew Johnson
f8d6677c72 Simplified dbPutFieldLink, made DSXT work with all link types. 2009-01-08 23:51:19 +00:00
Andrew Johnson
b98392f50f Initialize objects fully before making them visible. 2009-01-08 23:44:11 +00:00
Jeff Hill
9027026680 fix for mantis 329 2009-01-08 22:27:18 +00:00
Andrew Johnson
a294e3dcb8 HTML refactoring. 2009-01-07 20:44:51 +00:00
Andrew Johnson
579c7bad06 Also need the registerFunction.h header; fixed some HTML issues. 2009-01-07 18:46:59 +00:00
W. Eric Norum
2862a9b8cf Clean up function registration instructions. 2009-01-07 18:02:21 +00:00
Andrew Johnson
307762f424 Fix DBF_LONG constant link initialization, clean up other types. 2009-01-07 00:04:49 +00:00
Andrew Johnson
0108f6ae94 Cleanup; minimize variable scopes. 2009-01-06 23:32:32 +00:00
Andrew Johnson
76c9329b5e Moved interruptAccept management into scanPause/scanRun functions. 2009-01-06 23:22:28 +00:00
Andrew Johnson
a7a6c01bea Removed the pthread_cancel() functionality from posix/osdThread.c,
resolving the whole issue with catch(...) on NPTL.
2009-01-06 23:06:25 +00:00
Andrew Johnson
4026d9f27c Nested classes have no special access priviledges to their outer class, but
only the vxWorks compiler seems to check this.  Added friend to fix.
An implicit constructor is only created if no user-defined ones exist.
2009-01-06 21:53:04 +00:00
Andrew Johnson
1bccf6879e Replaced most TestAsyn support with a common extended support layer. 2009-01-06 17:31:57 +00:00
Andrew Johnson
f14e6df788 Don't do necessary stuff inside assert(). 2009-01-06 17:07:56 +00:00
Andrew Johnson
bf3c47c3d3 Warn about undefined macros in RELEASE file. 2009-01-06 16:41:56 +00:00
W. Eric Norum
a7af535a4f Added support for MVME2700 (and perhaps MVME2400) as supplied by Matt Rippa. 2009-01-06 15:14:33 +00:00
Andrew Johnson
31fb641dff In vxWorks 5.5.2, ld < file.munch breaks future shell includes. 2009-01-05 22:32:20 +00:00
Andrew Johnson
e6ab9aa7fb Clean up compiler warnings. 2008-12-10 21:51:19 +00:00
Andrew Johnson
12e4ad3c5a Cleanup. Handle re-initialization during shutdown gracefully. 2008-12-10 21:43:36 +00:00
Andrew Johnson
0be13dfc0f Added registryDump command. 2008-12-10 21:34:00 +00:00
Andrew Johnson
67ef06c1e3 Cleanup. 2008-12-10 21:32:06 +00:00
Andrew Johnson
f951aab3f3 Fix possible race condition on SMP systems. 2008-12-09 21:46:40 +00:00
Andrew Johnson
f3bcf735cc Bug fix reported by Jens Eden. 2008-12-04 23:38:47 +00:00
Andrew Johnson
448fc10e35 Fix link problem Mark Rivers reported. 2008-12-02 23:45:16 +00:00
Janet B. Anderson
1d9543997e Removed path environment lines. User should put gcc in path. 2008-12-01 19:02:21 +00:00
Andrew Johnson
a58fa323d8 The pointer is volatile, not the object itself... 2008-12-01 17:03:03 +00:00
Janet B. Anderson
e2e7864c3d Removed path environment lines. User should put gcc in path. 2008-12-01 16:35:40 +00:00
Andrew Johnson
79a2649596 Fixed problem with time provider registration on dual-CPU systems. 2008-11-21 23:23:25 +00:00
Jeff Hill
e99e352e2c redesigned this facility for simplicity, clarity, and robustness 2008-11-19 17:20:15 +00:00
Jeff Hill
4126c71e0e added include for typedef used in this header 2008-11-19 17:17:41 +00:00
Jeff Hill
fd5b03405a disable copy ctor and operator for the epicsOnceImpl private class 2008-11-19 17:11:49 +00:00
Andrew Johnson
a37105e0c7 Fixed buffer overflow in thread name. 2008-11-16 17:32:58 +00:00
Andrew Johnson
ca1e7b0613 Added WireSet instances, needed for vxWorks 6.1. 2008-11-14 23:32:15 +00:00
Ralph Lange
438ed926ba Added -p option to commandline tools to specify CA priority. 2008-11-14 13:20:42 +00:00
Ralph Lange
519f54c06b Added -p option to commandline tools to specify CA priority. 2008-11-14 13:12:26 +00:00
Ralph Lange
c5773eafb4 Added -p option to specify CA priority. 2008-11-14 13:03:25 +00:00
W. Eric Norum
e48b9ec4ab Add NVRAM offset. 2008-11-06 21:35:26 +00:00
Andrew Johnson
49421de296 Linux: Switch to libncurses. 2008-11-04 16:08:32 +00:00
Janet B. Anderson
eee915ced7 Updated version to R3.14.11 and set EPICS_CVS_SNAPSHOT to -CVS. 2008-10-27 20:19:12 +00:00
Janet B. Anderson
e4f741f97c Changed release to R3.14.10. 2008-10-27 19:41:22 +00:00
Janet B. Anderson
0e08b62f34 R3.14.10 2008-10-27 19:39:04 +00:00
Janet B. Anderson
2b37a8f746 Added make -j option ifeq before creating arch dependancies on host_arch. 2008-10-27 19:24:45 +00:00
Andrew Johnson
f5967d268c False assertion removed. 2008-10-24 23:04:11 +00:00
Andrew Johnson
078e30b7b9 Mantis #311 fix; generate an interactive flex scanner. 2008-10-23 21:21:43 +00:00
Andrew Johnson
01349a9448 Add epicsShare decorators for visibility in a Cygwin DLL. 2008-10-23 19:27:24 +00:00
Andrew Johnson
dd2ef6d47a Reformatting, wording improvements. 2008-10-22 15:20:50 +00:00
Jeff Hill
2d51fbc3c7 fixed mantis 325 2008-10-21 20:50:26 +00:00
Jeff Hill
c5f15a3e17 fixed bug introduced after R3.14.9, but before R3.14.10-RC1 and R3.14.10-RC2 2008-10-21 20:26:48 +00:00
Andrew Johnson
cdd2748c98 Allow multiple slashes as path seperators, since we used to.
Also fixed perldoc comment formatting.
2008-10-20 18:32:47 +00:00
Andrew Johnson
6789814826 Remove space after -I option for osf-alpha. 2008-10-20 15:39:32 +00:00
Andrew Johnson
b3abcbb52e Don't fail if epicsSnprintf returns less than the buffer size needed. 2008-10-20 15:35:10 +00:00
W. Eric Norum
3274519a82 Add note about RTEMS version. 2008-10-20 15:33:27 +00:00
Janet B. Anderson
95b708a40b post-RC1 versions... 2008-10-17 19:45:00 +00:00
W. Eric Norum
3b2bbd50e5 Cleaner version of wait with timeout fix. 2008-10-16 13:38:14 +00:00
W. Eric Norum
ab765613ec Add note about RTEMS epicsEventWaitWithTimeout. 2008-10-16 13:17:57 +00:00
W. Eric Norum
ba5080d6f4 Return TIMEOUT status even when delay time is 0. 2008-10-15 19:40:57 +00:00
W. Eric Norum
a6ed0d3a53 RTEMS newlib version of strtod handles INF/NAN. 2008-10-15 19:40:00 +00:00
Andrew Johnson
edc141f98a Added checks for NULL callbacks and record pointers. 2008-10-13 14:08:35 +00:00
W. Eric Norum
7245f8127c Arrange for compatability with compile-time and run-time linking. 2008-10-11 16:40:46 +00:00
Andrew Johnson
ba37f17c89 Updated version number in title. 2008-10-10 15:50:08 +00:00
Janet B. Anderson
e6e9b9a266 -RC2 release. 2008-10-10 15:01:51 +00:00
Janet B. Anderson
570825f693 Removed old commented override lines. They are no longer valid. 2008-10-09 21:33:35 +00:00
Andrew Johnson
2c020ffac4 Make aitGen take an output filename, needed for win32. 2008-10-09 20:14:44 +00:00
Andrew Johnson
bf829e0f48 Extended testing to trigger callbacks from multiple threads, more tests. 2008-10-09 15:01:53 +00:00
Ralph Lange
9239b50615 DST changes for 2008 2008-10-09 10:13:22 +00:00
Andrew Johnson
2eb849b91c Fix segfault on linux - catch(...) must not call std::unexpected() 2008-10-08 22:44:32 +00:00
Andrew Johnson
0fff507aea Cleanup, fix an issue reported by Kazuro Furukawa. 2008-10-08 22:42:49 +00:00
Janet B. Anderson
49687e27b2 Fixed include lines. 2008-10-08 21:18:27 +00:00
Andrew Johnson
98e09831fa _APPNAME__SNCFLAGS doesn't get used... 2008-10-08 21:11:55 +00:00
Janet B. Anderson
36af6418db Removed bad include line. 2008-10-08 20:04:46 +00:00
Janet B. Anderson
cd84a4cfd0 Fixed comments. 2008-10-08 19:51:35 +00:00
Janet B. Anderson
76af265f0d Make CONFIG.Common.win32-x86 and aopional include. 2008-10-08 18:17:56 +00:00
Janet B. Anderson
7558e0a468 Fixed typo. 2008-10-08 17:31:34 +00:00
Janet B. Anderson
925dcfd634 Added WARN_CPPFLAGS,OPT_CPPFLAGS,DEBUG_CPPFLAGS
Added POSIX_CFLAGS, POSIX_CXXFLAGS, POSIX_LDFLAGS
2008-10-08 17:11:10 +00:00
Ralph Lange
1d6bea83de This is included from epicsEndian.h, so it must be usable from C and C++. 2008-10-08 10:31:44 +00:00
Andrew Johnson
2dad57f1da Link with Solaris libumem.so for better threaded malloc/free performance. 2008-10-07 22:17:17 +00:00
Janet B. Anderson
2e4d1f0d60 REMOVED file type IDL. IDL install already exists in extensions/configure. 2008-10-07 20:33:29 +00:00
Janet B. Anderson
708b0be486 Create aitConvertGenerated.cc in O.Common. Makefile cleanup. 2008-10-07 18:05:58 +00:00
Andrew Johnson
f58002e1fd Exception classes don't need to derive from std::exception,
this can cause build faults on some architectures.
2008-10-07 15:19:35 +00:00
W. Eric Norum
980d790638 Fix some typos. 2008-10-07 13:19:37 +00:00
W. Eric Norum
d579e30210 Prevent warnings -- test show that this still generates correct code. 2008-10-07 12:18:43 +00:00
W. Eric Norum
48257aec7c Fix race condition exposed by compilers with more agressive optimization.
Add test procedure for epicsRingBytes.
2008-10-07 11:05:41 +00:00
Ralph Lange
af2b7a3ef2 Fix: Don't print space after single value, only between values of an array 2008-10-06 15:51:51 +00:00
Andrew Johnson
fd9867e973 Cleanup. 2008-10-03 20:27:13 +00:00
Andrew Johnson
e97439c7df Ensure the last test actually completes and reports... 2008-10-03 19:28:34 +00:00
Andrew Johnson
150c4ff002 A proper fix for the xsubpp problems on Perl 5.8.0. 2008-10-03 18:28:56 +00:00
Andrew Johnson
86740c98d7 Updated the lists of supported architectures. 2008-10-02 21:33:23 +00:00
Andrew Johnson
d14713d675 Fix from Kazuro FURUKAWA. 2008-10-02 16:29:34 +00:00
Jeff Hill
11180d0c9c patch for DECXX compiler detected issues (found by Kazuro FURUKAWA)
see <URL:http://www-linac.kek.jp/epics/osf/>
2008-10-02 15:43:04 +00:00
Andrew Johnson
ec8761185d Another fix, for the SunPro compiler this time. 2008-09-30 17:24:11 +00:00
Jeff Hill
67e9d89ebd extended comment 2008-09-30 16:31:09 +00:00
Andrew Johnson
d3eb8170ff Fix for vxWorks 6.x - don't use std::min/max. 2008-09-30 15:29:57 +00:00
Andrew Johnson
80eca1fafa R3.14.10-RC1 update. 2008-09-29 21:55:20 +00:00
Andrew Johnson
3947594fe3 post-RC1 versions... 2008-09-29 21:16:30 +00:00
547 changed files with 16467 additions and 17597 deletions

View File

@@ -130,6 +130,4 @@ endif
#etc.
#CROSS_COMPILER_TARGET_ARCHS=vxWorks-68040
#CMPLR=STRICT
#CXXCMPLR=STRICT

View File

@@ -22,9 +22,6 @@ LD = $(GNU_BIN)/$(CMPLR_PREFIX)ld$(CMPLR_SUFFIX) -r
CPP = $(CC) -x c -E
RANLIB = $(GNU_BIN)/$(CMPLR_PREFIX)ranlib$(CMPLR_SUFFIX)
CONFORM_CFLAGS_ANSI = -ansi
CONFORM_CFLAGS_STRICT = -ansi
CONFORM_CFLAGS_TRAD = -traditional
PROF_CFLAGS_YES = -p
GPROF_CFLAGS_YES = -pg
CODE_CFLAGS = $(PROF_CFLAGS_$(PROFILE)) $(GPROF_CFLAGS_$(GPROF))
@@ -33,8 +30,6 @@ WARN_CFLAGS_NO = -w
OPT_CFLAGS_YES = -O3
OPT_CFLAGS_NO = -g
CONFORM_CXXFLAGS_NORMAL = -ansi
CONFORM_CXXFLAGS_STRICT = -ansi
PROF_CXXFLAGS_YES = -p
GPROF_CXXFLAGS_YES = -pg
CODE_CXXFLAGS = $(PROF_CXXFLAGS_$(PROFILE)) $(GPROF_CXXFLAGS_$(GPROF))

View File

@@ -3,11 +3,10 @@
# National Laboratory.
# Copyright (c) 2002 The Regents of the University of California, as
# Operator of Los Alamos National Laboratory.
# EPICS BASE Versions 3.13.7
# and higher are distributed subject to a Software License Agreement found
# EPICS BASE is distributed subject to a Software License Agreement found
# in file LICENSE that is included with this distribution.
#*************************************************************************
# $Id#
# $Id$
#
# check for add-on CFLAGS and CXXFLAGS
#
@@ -20,8 +19,8 @@
# 4) if you have the special case that your USR_CFLAGS_$(OS_CLASS) is
# empty but you don't want 3), you have to define it as '-nil-', e.g.:
# USR_CFLAGS = <defines for all systems>
# USR_CFLAGS_sun4 = -nil-
# USR_CFLAGS_DEFAULT = <defines for most systems, not sun4>
# USR_CFLAGS_WIN = -nil-
# USR_CFLAGS_DEFAULT = <defines for most systems, not WIN32>
#
# These rules apply to these Makefile-variables:
# USR_CFLAGS C flags

View File

@@ -26,18 +26,20 @@ EPICS_VERSION = 3
EPICS_REVISION = 14
# EPICS_MODIFICATION must be a number >=0 and <256
EPICS_MODIFICATION = 10
EPICS_MODIFICATION = 11
# EPICS_PATCH_LEVEL must be a number (win32 resource file requirement)
# Not included if zero
EPICS_PATCH_LEVEL = 0
# This will end in -CVS between official releases
#EPICS_CVS_SNAPSHOT=-CVS
EPICS_CVS_SNAPSHOT=-CVS
#EPICS_CVS_SNAPSHOT=-pre1
#EPICS_CVS_SNAPSHOT=-pre1-CVS
EPICS_CVS_SNAPSHOT=-RC1
#EPICS_CVS_SNAPSHOT=-RC1
#EPICS_CVS_SNAPSHOT=-RC1-CVS
#EPICS_CVS_SNAPSHOT=-RC2
#EPICS_CVS_SNAPSHOT=-RC2-CVS
#EPICS_CVS_SNAPSHOT=
# No changes should be needed below here

View File

@@ -101,8 +101,6 @@ BUILD_CLASS = HOST
#-------------------------------------------------------
# Build defaults, CONFIG_SITE, CONFIG, or os/CONFIG* will override
CMPLR=STRICT
CXXCMPLR=STRICT
STATIC_BUILD=NO
SHARED_LIBRARIES=YES
HDEPENDS=YES
@@ -112,6 +110,10 @@ HOST_WARN=YES
CROSS_WARN=YES
GNU=NO
#-------------------------------------------------------
# Run checkRelease in $(TOP)/configure/O.*
CONFIG_TARGETS += $(CHECK_RELEASE_$(CHECK_RELEASE))
#-------------------------------------------------------
# Prefix and suffix
DEP=.depends
@@ -121,6 +123,10 @@ CMPLR_PREFIX=
LIB_PREFIX=
SHRLIB_PREFIX= $(LIB_PREFIX)
#-------------------------------------------------------
# Make echo output - suppress echoing if make's '-s' flag is set
ECHO := $(if $(findstring s,$(MAKEFLAGS)),\#,@echo)
#--------------------------------------------------
# vpath directories
POSIX_YES = os/posix
@@ -177,14 +183,14 @@ LIB_BAF=$(addsuffix $(BAF),$(basename $(LIBRARY)))
#--------------------------------------------------
# C preprocessor, compiler, and linker flag defaults
# Target architecture specific (solaris,sun4,mv167,...) flags
# Target architecture specific flags
ARCH_DEP_CPPFLAGS =
ARCH_DEP_CFLAGS =
ARCH_DEP_CXXFLAGS = $(ARCH_DEP_CFLAGS)
ARCH_DEP_LDFLAGS =
ARCH_DEP_LDLIBS =
# Target operating system specific (Unix,Vx,WIN32...) flags
# Target operating system specific flags
OP_SYS_CPPFLAGS =
OP_SYS_CFLAGS =
OP_SYS_CXXFLAGS = $(OP_SYS_CFLAGS)
@@ -225,16 +231,13 @@ TARGET_CPPFLAGS += $($(basename $@)_CPPFLAGS_$(OS_CLASS)) $($(basename $@)_CPPFL
TARGET_LDFLAGS = $($*_LDFLAGS)
# Level of ansi conformance flags
CONFORM_CPPFLAGS = $(CONFORM_CPPFLAGS_$(CMPLR))
CONFORM_CFLAGS = $(CONFORM_CFLAGS_$(CMPLR))
CONFORM_CXXFLAGS = $(CONFORM_CXXFLAGS_$(CXXCMPLR))
# Warnings flags
WARN_CPPFLAGS = $(WARN_CPPFLAGS_$($(BUILD_CLASS)_WARN))
WARN_CFLAGS = $(WARN_CFLAGS_$($(BUILD_CLASS)_WARN))
WARN_CXXFLAGS = $(WARN_CXXFLAGS_$($(BUILD_CLASS)_WARN))
# Optimization flags
OPT_CPPFLAGS = $(OPT_CPPFLAGS_$($(BUILD_CLASS)_OPT))
OPT_CFLAGS = $(OPT_CFLAGS_$($(BUILD_CLASS)_OPT))
OPT_CXXFLAGS = $(OPT_CXXFLAGS_$($(BUILD_CLASS)_OPT))
@@ -267,22 +270,23 @@ OP_SYS_LDFLAGS += $(LDFLAGS_$(COMMANDLINE_LIBRARY))
INCLUDES = -I. $(SRC_INCLUDES) $(INSTALL_INCLUDES) $(RELEASE_INCLUDES)\
$(TARGET_INCLUDES) $(USR_INCLUDES) $(OP_SYS_INCLUDES) $($(BUILD_CLASS)_INCLUDES)
CFLAGS = $(CONFORM_CFLAGS) $($(BUILD_CLASS)_CFLAGS) $(OPT_CFLAGS) $(DEBUG_CFLAGS)\
CFLAGS = $($(BUILD_CLASS)_CFLAGS) $(POSIX_CFLAGS) $(OPT_CFLAGS) $(DEBUG_CFLAGS)\
$(PIPE_CFLAGS) $(WARN_CFLAGS) $(TARGET_CFLAGS) $(USR_CFLAGS) $(ARCH_DEP_CFLAGS)\
$(CODE_CFLAGS) $(STATIC_CFLAGS) $(OP_SYS_CFLAGS) $(LIBRARY_SRC_CFLAGS)
CXXFLAGS = $(CONFORM_CXXFLAGS) $($(BUILD_CLASS)_CXXFLAGS) $(OPT_CXXFLAGS) $(DEBUG_CXXFLAGS)\
CXXFLAGS = $($(BUILD_CLASS)_CXXFLAGS) $(POSIX_CXXFLAGS) $(OPT_CXXFLAGS) $(DEBUG_CXXFLAGS)\
$(PIPE_CFLAGS) $(WARN_CXXFLAGS) $(TARGET_CXXFLAGS) $(USR_CXXFLAGS) $(ARCH_DEP_CXXFLAGS)\
$(CODE_CXXFLAGS) $(STATIC_CXXCFLAGS) $(OP_SYS_CXXFLAGS) $(LIBRARY_SRC_CFLAGS)
LDFLAGS = $(OPT_LDFLAGS) $(TARGET_LDFLAGS) $(USR_LDFLAGS) \
LDFLAGS = $(OPT_LDFLAGS) $(TARGET_LDFLAGS) $(USR_LDFLAGS) $(POSIX_LDFLAGS) \
$(ARCH_DEP_LDFLAGS) $(DEBUG_LDFLAGS) $(OP_SYS_LDFLAGS) $($(BUILD_CLASS)_LDFLAGS)\
$(RUNTIME_LDFLAGS) $(CODE_LDFLAGS)
LDLIBS = $(STATIC_LDLIBS)\
LDLIBS = \
$(POSIX_LDLIBS) $(ARCH_DEP_LDLIBS) $(DEBUG_LDLIBS) $(OP_SYS_LDLIBS) $(GNU_LDLIBS_$(GNU))
CPPFLAGS += $(CONFORM_CPPFLAGS) $($(BUILD_CLASS)_CPPFLAGS) $(POSIX_CPPFLAGS)\
CPPFLAGS += $($(BUILD_CLASS)_CPPFLAGS) $(POSIX_CPPFLAGS)\
$(OPT_CPPFLAGS) $(DEBUG_CPPFLAGS) $(WARN_CPPFLAGS)\
$(BASE_CPPFLAGS) $(TARGET_CPPFLAGS) $(USR_CPPFLAGS) $(ARCH_DEP_CPPFLAGS)\
$(OP_SYS_CPPFLAGS) $(OP_SYS_INCLUDE_CPPFLAGS) $(CODE_CPPFLAGS)
@@ -296,10 +300,12 @@ ARCMD = $(AR) $(ARFLAGS) $(USR_ARFLAGS) $@ $(LIBRARY_LD_OBJS)
MUNCH_CMD = $(LD) -o $@ $^
#--------------------------------------------------
# LEX default option (valid for EPICS base 3.13.0.beta12 and later)
# LEX default options
#
# to allow characters that are not plain 7bit standard ASCII
LEXOPT += -8
# Allow 8-bit characters
LEXOPT += -8
# Generate an "interactive" scanner, solves problems at EOF.
LEXOPT += -I
#--------------------------------------------------
# Build compile line here
@@ -319,7 +325,7 @@ HDEPENDS_FLAGS =
HDEPENDS_INCLUDES = $(subst -I,,$(INCLUDES))
HDEPENDSFLAGS = -m $*$(DEP) $(HDEPENDS_INCLUDES) $@ $<
HDEPENDS_CMD_YES = -$(MKMF) $(HDEPENDS_FLAGS) $(HDEPENDSFLAGS)
HDEPENDS_CMD_NO = echo ""
HDEPENDS_CMD_NO = $(ECHO) ""
HDEPENDS_CMD = $(HDEPENDS_CMD_$(HDEPENDS))
#--------------------------------------------------

View File

@@ -56,9 +56,6 @@ INSTALL_CFG = $(INSTALL_LOCATION)/cfg
FILE_TYPE += EDL
INSTALL_EDL = $(INSTALL_LOCATION)/edl
FILE_TYPE += IDL
INSTALL_IDL = $(INSTALL_LOCATION_LIB)/idl
FILE_TYPE += PERL_MODULES
INSTALL_PERL_MODULES = $(INSTALL_LOCATION_LIB)/perl

View File

@@ -24,21 +24,18 @@
# darwin-ppcx86 (Universal binaries for both CPUs)
# freebsd-x86 (GNU compiler used for host builds)
# freebsd-x86_64 (GNU compiler used for host builds)
# hpux-parisc (HP compiler used for host builds)
# hpux-parisc-gnu (GNU compiler used for host builds)
# linux-ppc (GNU compiler used for host builds)
# linux-x86 (GNU compiler used for host builds)
# linux-x86_64 (GNU compiler used for host builds)
# linux-x86-borland (Borland C++ compiler used for host builds)
# solaris-sparc (sun compiler used for host builds)
# solaris-sparc (Sun compiler used for host builds)
# solaris-sparc-gnu (GNU compiler used for host builds)
# solaris-sparc64 (sun compiler used for host builds)
# solaris-sparc64 (Sun compiler used for host builds)
# solaris-sparc64-gnu (GNU compiler used for host builds)
# solaris-x86 (sun compiler used for host builds)
# solaris-x86 (Sun compiler used for host builds)
# solaris-x86-gnu (GNU compiler used for host builds)
# win32-x86 (MS Visual C++ compiler used for host builds)
# win32-x86-mingw (MinGW compiler used for host builds)
# win32-x86-borland (Borland C++ compiler used for host builds)
# win32-x86-cygwin (WIN32 API with cygwin GNU compiler used for host builds)
# Debugging builds
@@ -56,15 +53,18 @@
# The cross-compiler architectures to build EPICS for
#
# Currently Supporting:
# linux-386 (linux-x86 host)
# linux-486 (linux-x86 host)
# linux-586 (linux-x86 host)
# linux-686 (linux-x86 host)
# linux-athlon (linux-x86 host)
# linux-cris (Axis GNU crosscompiler on linux-x86 host)
# linux-cris_v10 (Axis GNU crosscompiler on linux-x86 host)
# linux-cris_v32 (Axis GNU crosscompiler on linux-x86 host)
# linux-386 (linux-x86 host)
# linux-486 (linux-x86 host)
# linux-586 (linux-x86 host)
# linux-686 (linux-x86 host)
# linux-arm
# linux-arm_eb
# linux-arm_el
# linux-athlon (linux-x86 host)
# linux-cris (Axis GNU crosscompiler on linux-x86 host)
# linux-cris_v10 (Axis GNU crosscompiler on linux-x86 host)
# linux-cris_v32 (Axis GNU crosscompiler on linux-x86 host)
# linux-xscale_be
# vxWorks-486
# vxWorks-68040
# vxWorks-68040lc
@@ -76,10 +76,13 @@
# vxWorks-ppc604_long
# vxWorks-ppc604_altivec
# vxWorks-mpc8540
# RTEMS-at91rm9200ek
# RTEMS-beatnik
# RTEMS-gen68360
# RTEMS-mcp750
# RTEMS-mvme167
# RTEMS-mvme2100
# RTEMS-mvme3100
# RTEMS-mvme5500
# RTEMS-pc386
# RTEMS-psim
@@ -99,19 +102,6 @@ CROSS_COMPILER_TARGET_ARCHS=
#
CROSS_COMPILER_HOST_ARCHS=
# Default ANSI level, individual Makefiles will override
# if they cannot support ANSI compilation.
# STRICT - ANSI C - force warning flags
# ANSI - ANSI C
# TRAD - Standard C - Not appropriate here.
CMPLR=STRICT
# Default C++ compiler ANSI level
# STRICT - ANSI C++ force strict warning flags
# NORMAL - ANSI C++ optional warning flags
# Individual Makefiles may override
CXXCMPLR=STRICT
# Build shared libraries?
# must be either YES or NO
# NOTE: os/CONFIG.$(EPICS_HOST_ARCH).$(EPICS_HOST_ARCH) files and

View File

@@ -33,15 +33,15 @@
# where the start and end are mmddhh - that is month,day,hour
# eg EPICS_TIMEZONE=CUS::360:033102:102802
#
# DST for 2007 US: Mar 11 - Nov 04
# EU: Mar 25 - Oct 28
# DST for 2009 US: Mar 08 - Nov 01
# EU: Mar 29 - Oct 25
# (see: http://www.worldtimezone.org/daylight.html)
#
# EPICS_TS_NTP_INET
# NTP or Unix time server ip address. Uses boot host if not set.
EPICS_TIMEZONE=CUS::360:031102:110402
#EPICS_TIMEZONE=MET::-60:032502:102802
EPICS_TIMEZONE=CUS::360:030802:110102
#EPICS_TIMEZONE=MET::-60:032902:102502
EPICS_TS_NTP_INET=
# IOC Shell:

View File

@@ -33,8 +33,9 @@ DBFLAGS = $($*_DBFLAGS) $(USR_DBFLAGS) -I. -I.. $(INSTALL_DBFLAGS) $(RELEASE_DBF
# Following line added for backward compatibilty
DBD += $(DBDNAME)
DBD += $(addsuffix .dbd,$(patsubst %.h,%,$(patsubst %.db,%,$(DBDINC))))
INC += $(addsuffix .h,$(patsubst %.h,%,$(patsubst %.db,%,$(DBDINC))))
DBDINC_NAME = $(patsubst %.h,%,$(patsubst %.db,%,$(DBDINC)))
DBD += $(addsuffix .dbd,$(DBDINC_NAME))
INC += $(addsuffix .h,$(DBDINC_NAME))
INSTALL_DBDS += $(addprefix $(INSTALL_DBD)/,$(notdir $(DBD)))
@@ -90,8 +91,8 @@ ACF_CMD = $(CPP) $(ACF_CPPFLAGS) $(ACF_INCLUDES) $< > $@
##################################################### dependancies
HINC += $(addsuffix .h,$(patsubst %.h,%,$(patsubst %.db,%,$(DBDINC))))
COMMON_DBDINC += $(addprefix $(COMMON_DIR),$(HINC))
HINC += $(addsuffix .h,$(DBDINC_NAME))
COMMON_DBDINC += $(addprefix $(COMMON_DIR)/,$(HINC))
DBDDEPENDS_FILES += $(addsuffix $(DEP),$(COMMON_DBDS) \
$(COMMON_DBDINC) $(COMMON_DBS))
@@ -161,13 +162,13 @@ $(COMMON_DIR)/%.edf: ../%.sch $(DEPSCHS)
ifdef CREATESUBSTITUTIONS
$(COMMON_DIR)/%.substitutions:
@echo "Create substitutions"
$(ECHO) "Create substitutions"
@$(RM) $@
$(CREATESUBSTITUTIONS) $(COMMON_DIR)/$*
$(CREATESUBSTITUTIONS) $@
endif
$(INSTALL_DB)/%.substitutions: %.substitutions
@echo "Installing db file $@"
$(ECHO) "Installing db file $@"
@$(INSTALL) -d -m $(INSTALL_PERMISSIONS) $< $(@D)
.PRECIOUS: $(COMMON_DIR)/%.substitutions
@@ -181,7 +182,7 @@ $(COMMON_DIR)/%.template: $(COMMON_DIR)/%.edf
@$(RM) $@.VAR
$(INSTALL_DB)/%.template: %.template
@echo "Installing db file $@"
$(ECHO) "Installing db file $@"
@$(INSTALL) -d -m $(INSTALL_PERMISSIONS) $< $(@D)
.PRECIOUS: $(COMMON_DIR)/%.template
@@ -189,20 +190,32 @@ $(INSTALL_DB)/%.template: %.template
##################################################### INC files
$(COMMON_DIR)/%Record.h: $(COMMON_DIR)/%Record.dbd
@$(RM) $@$(DEP)
@$(DBDDEPENDS_CMD)
$(ECHO) "$<:../Makefile" >> $@$(DEP)
@$(RM) $@
$(DBTORECORDTYPEH) $(DBDFLAGS) $< $@
$(COMMON_DIR)/%Record.h: %Record.dbd
@$(RM) $@$(DEP)
@$(DBDDEPENDS_CMD)
$(ECHO) "$<:../Makefile" >> $@$(DEP)
@$(RM) $@
$(DBTORECORDTYPEH) $(DBDFLAGS) $< $@
$(COMMON_DIR)/menu%.h: $(COMMON_DIR)/menu%.dbd
@$(RM) $@$(DEP)
@$(DBDDEPENDS_CMD)
$(ECHO) "$<:../Makefile" >> $@$(DEP)
@$(RM) $@
$(DBTOMENUH) $< $@
$(DBTOMENUH) $(DBDFLAGS) $< $@
$(COMMON_DIR)/menu%.h: menu%.dbd
@$(RM) $@$(DEP)
@$(DBDDEPENDS_CMD)
$(ECHO) "$<:../Makefile" >> $@$(DEP)
@$(RM) $@
$(DBTOMENUH) $< $@
$(DBTOMENUH) $(DBDFLAGS) $< $@
.PRECIOUS: $(COMMON_DIR)/%.h
@@ -215,15 +228,15 @@ $(COMMON_DIR)/bpt%.dbd: bpt%.data
$(COMMON_DIR)/%.dbd: $(COMMON_DIR)/%Include.dbd
@$(RM) $@$(DEP)
@$(DBDDEPENDS_CMD)
@echo "$<:../Makefile" >> $@$(DEP)
@echo "Expanding dbd"
$(ECHO) "$<:../Makefile" >> $@$(DEP)
$(ECHO) "Expanding dbd"
@$(RM) $@
$(DBEXPAND) $(DBDFLAGS) -o $@ $<
$(COMMON_DIR)/%.dbd: %Include.dbd
@$(RM) $@$(DEP)
@$(DBDDEPENDS_CMD)
@echo "Expanding dbd"
$(ECHO) "Expanding dbd"
@$(RM) $@
$(DBEXPAND) $(DBDFLAGS) -o $@ $<
@@ -232,16 +245,16 @@ $(COMMON_DIR)/%Include.dbd:
$(PERL) $(TOOLS)/makeIncludeDbd.pl $($*_DBD) $@
$(INSTALL_DBD)/%: $(COMMON_DIR)/%
@echo "Installing created dbd file $@"
$(ECHO) "Installing created dbd file $@"
@$(INSTALL) -d -m $(INSTALL_PERMISSIONS) $< $(@D)
$(INSTALL_DBD)/%: %
@echo "Installing dbd file $@"
$(ECHO) "Installing dbd file $@"
@$(INSTALL) -d -m $(INSTALL_PERMISSIONS) $< $(@D)
define DBD_INSTALLS_template
$$(INSTALL_DBD)/$$(notdir $(1)) : $(1)
@echo "Installing $$@"
$(ECHO) "Installing $$@"
@$$(INSTALL) -d -m $$(INSTALL_PERMISSIONS) $$^ $$(INSTALL_DBD)
endef
$(foreach file, $(DBD_INSTALLS), $(eval $(call DBD_INSTALLS_template, $(file))))
@@ -258,7 +271,7 @@ $(COMMON_DIR)/%.db$(RAW): $(COMMON_DIR)/%.edf
#$(COMMON_DIR)/%.db$(RAW): %.substitutions %.template
# @$(RM) $@$(DEP)
# @$(MAKEDBDEPENDS) $@ $^ >> $@$(DEP)
# @echo "Inflating database from $^"
# $(ECHO) "Inflating database from $^"
# @$(RM) $@
# $(MSI) $(DBFLAGS) -S$< $(firstword $(patsubst %.substitutions,,$^)) > msi.tmp
# $(MV) msi.tmp $@
@@ -266,8 +279,8 @@ $(COMMON_DIR)/%.db$(RAW): $(COMMON_DIR)/%.edf
$(COMMON_DIR)/%.db$(RAW): %.substitutions
@$(RM) $@$(DEP)
$(MAKEDBDEPENDS) $@ $< $(TEMPLATE_FILENAME) >> $@$(DEP)
@echo "$@:$(TEMPLATE_FILENAME)" >> $@$(DEP)
@echo "Inflating database from $< $(TEMPLATE_FILENAME)"
$(ECHO) "$@:$(TEMPLATE_FILENAME)" >> $@$(DEP)
$(ECHO) "Inflating database from $< $(TEMPLATE_FILENAME)"
@$(RM) $@
$(MSI) $(DBFLAGS) -S$< $(TEMPLATE_FILENAME) > msi.tmp
$(MV) msi.tmp $@
@@ -275,7 +288,7 @@ $(COMMON_DIR)/%.db$(RAW): %.substitutions
$(COMMON_DIR)/%.db$(RAW): %.template
@$(RM) $@$(DEP)
@$(MAKEDBDEPENDS) $@ $^ >> $@$(DEP)
@echo "Inflating database from $<"
$(ECHO) "Inflating database from $<"
@$(RM) $@
$(MSI) $(DBFLAGS) $< > msi.tmp
$(MV) msi.tmp $@
@@ -283,7 +296,7 @@ $(COMMON_DIR)/%.db$(RAW): %.template
$(COMMON_DIR)/%.acf: %.acs
@$(RM) $@$(DEP)
@$(ACFDEPENDS_CMD)
@echo "Creating acf file $@"
$(ECHO) "Creating acf file $@"
@$(RM) $@
$(ACF_CMD)
@@ -297,7 +310,7 @@ $(COMMON_DIR)/%.db$(RAW): ../%.db
$(CP) $< $@
$(COMMON_DIR)/%.db: $(COMMON_DIR)/%.db$(RAW)
@echo "Optimizing database $@"
$(ECHO) "Optimizing database $@"
@$(RM) $@
$(DBST) . $< -d > $@
@@ -306,17 +319,17 @@ $(COMMON_DIR)/%.db: $(COMMON_DIR)/%.db$(RAW)
else
$(INSTALL_DB)/%: %
@echo "Installing db file $@"
$(ECHO) "Installing db file $@"
@$(INSTALL) -d -m $(INSTALL_PERMISSIONS) $< $(@D)
endif
$(INSTALL_DB)/%.db: $(COMMON_DIR)/%.db
@echo "Installing created db file $@"
$(ECHO) "Installing created db file $@"
@$(INSTALL) -d -m $(INSTALL_PERMISSIONS) $< $(@D)
define DB_INSTALLS_template
$$(INSTALL_DB)/$$(notdir $(1)) : $(1)
@echo "Installing $$@"
$(ECHO) "Installing $$@"
@$$(INSTALL) -d -m $$(INSTALL_PERMISSIONS) $$^ $$(INSTALL_DB)
endef
$(foreach file, $(DB_INSTALLS), $(eval $(call DB_INSTALLS_template, $(file))))

View File

@@ -10,18 +10,19 @@
#RULES.ioc
include $(CONFIG)/RULES_DIRS
build: buildInstall
install: buildInstall
build$(DIVIDER)$(ARCH) build: buildInstall
install$(DIVIDER)$(ARCH) install: buildInstall
$(ARCH): buildInstall
ifneq ($(findstring $(ARCH),$(BUILD_ARCHS)),)
buildInstall: $(TARGETS)
ifeq ($(filter $(ARCH),$(BUILD_ARCHS)),$(ARCH))
buildInstall$(DIVIDER)$(ARCH) buildInstall: $(TARGETS)
clean:
clean$(DIVIDER)$(ARCH) clean:
$(RM) cdCommands envPaths dllPath.bat
else
buildInstall:
clean:
buildInstall$(DIVIDER)$(ARCH) buildInstall:
clean$(DIVIDER)$(ARCH) clean:
endif
cdCommands envPaths dllPath.bat: $(wildcard $(TOP)/configure/RELEASE*) \

View File

@@ -12,8 +12,6 @@
all: install
build install buildInstall: $(CHECK_RELEASE_$(CHECK_RELEASE))
rebuild: clean install
ACTIONS = inc
@@ -36,12 +34,16 @@ buildDirs = $(addprefix O.,$(BUILD_ARCHS))
#*************************************************************************
# Create epics_host_arch dependancies for GNU make -j option
# Only works with GNU make 3.80 or later (uses eval function)
# Only works with GNU make 3.81 or later (uses eval function)
# Needed in dirs where EPICS_HOST_ARCH build creates a tool used in
# cross arch builds
CROSS_ARCHS += $(CROSS1) $(CROSS2)
# j is NOT found in MAKEFLAGS when using make 3.81
# Hope to uncomment this for GNU make 3.82
#ifeq ($(findstring j,$(MAKEFLAGS)),j)
define DEP_template
$(2): $$(EPICS_HOST_ARCH)
$(1)$$(DIVIDER)$(2): $(1)$$(DIVIDER)$$(EPICS_HOST_ARCH)
@@ -50,6 +52,7 @@ endef
$(foreach action, $(ACTIONS), $(foreach arch,\
$(CROSS_ARCHS),$(eval $(call DEP_template,$(action),$(arch)))))
#endif
#*************************************************************************
$(actionArchTargets) : $(buildDirs) O.Common
@@ -66,26 +69,6 @@ $(buildDirs):
O.Common:
$(MKDIR) O.Common
#
# RELEASE consistency checking
# The RELEASE.$(EPICS_HOST_ARCH) files don't need to be included here:
targetReleaseFiles = $(wildcard $(foreach arch, $(BUILD_ARCHS), \
$(TOP)/configure/RELEASE.Common.$(arch) \
$(TOP)/configure/RELEASE.$(EPICS_HOST_ARCH).$(arch)))
checkReleaseTargets = $(addprefix checkRelease, $(suffix $(targetReleaseFiles)))
checkRelease: $(checkReleaseTargets)
$(CONVERTRELEASE) checkRelease
$(checkReleaseTargets):checkRelease.%:
$(CONVERTRELEASE) -a $* checkRelease
warnReleaseTargets = $(addprefix warnRelease, $(suffix $(targetReleaseFiles)))
warnRelease: $(warnReleaseTargets)
-$(CONVERTRELEASE) checkRelease
$(warnReleaseTargets):warnRelease.%:
-$(CONVERTRELEASE) -a $* checkRelease
#
# special clean rule
#
@@ -105,4 +88,3 @@ realclean ::
.PHONY : $(cleanArchTargets)
.PHONY : $(BUILD_ARCHS)
.PHONY : $(ACTIONS) clean realclean archclean all
.PHONY : checkRelease $(checkReleaseTargets)

View File

@@ -127,8 +127,8 @@ buildInstall : \
$(INSTALL_BIN_INSTALLS)
clean::
@echo "Cleaning"
@$(RM) *.i *$(OBJ) *.a $(TESTPRODNAME) $(LIBNAME) $(SHRLIBNAME)\
$(ECHO) "Cleaning"
@$(RM) *.i *$(OBJ) *.a $(TESTPRODNAME) $(LIBNAME) $(SHRLIBNAME) \
$(INC) $(TARGETS) $(DLL_LINK_LIBNAME) $(TDS) \
*.out MakefileInclude $(LOADABLE_SHRLIBNAME) *.manifest *.exp \
$(COMMON_INC) $(HDEPENDS_FILES) $(PRODTARGETS) $(TESTSCRIPTS)
@@ -150,6 +150,14 @@ browse: $(LIB_BAF) $(PROD_BAF)
$(DIRECTORY_TARGETS) :
$(MKDIR) -p $@
$(PRODNAME): $(INSTALL_LIB_INSTALLS)
# RELEASE file consistency checking
checkRelease:
$(CONVERTRELEASE) checkRelease
warnRelease:
-$(CONVERTRELEASE) checkRelease
#---------------------------------------------------------------
# The order of the following rules is
# VERY IMPORTANT !!!!
@@ -199,7 +207,7 @@ $(OBJLIBNAME):%$(OBJ):
# WIN95/NT source browser
%.bsc: %.sbr
@echo "building source browser archive $@"
$(ECHO) "building source browser archive $@"
@$(RM) $@
$(BAFCMD) $<
@@ -246,7 +254,7 @@ endif
ifdef BAF
$(LIB_BAF): $(addsuffix $(BOF),$(basename $(LIBRARY_LD_OBJS)))
@echo "Building source browser archive $@"
$(ECHO) "Building source browser archive $@"
@$(RM) $@
$(BAFCMD) $^
@@ -256,24 +264,24 @@ ifneq (,$(wildcard ../baseLIBOBJS))
$(LIBNAME): ../baseLIBOBJS
endif
# rule for lib (archive of object files) creation
$(LIBNAME): $(LIBRARY_OBJS)
$(LIBNAME): $(LIB_PREFIX)%$(LIB_SUFFIX):
$(DLL_LINK_LIBNAME): $(LIBRARY_OBJS) $(LIBRARY_RESS) $(SHRLIB_DEPLIBS)
$(LIBNAME) $(DLL_LINK_LIBNAME): $(LIB_PREFIX)%$(LIB_SUFFIX):
@$(RM) $@
$(ARCMD)
ifneq ($(strip $(RANLIB)),)
$(RANLIB) $@
endif # RANLIB
$(DLL_LINK_LIBNAME): $(LIBRARY_OBJS) $(LIBRARY_RESS) $(SHRLIB_DEPLIBS)
$(SHRLIBNAME): $(LIBRARY_OBJS) $(LIBRARY_RESS) $(SHRLIB_DEPLIBS)
ifneq ($(SHRLIB_SUFFIX),.dll)
$(SHRLIBNAME):$(SHRLIB_PREFIX)%$(SHRLIB_SUFFIX):
@$(RM) $@
$(LINK.shrlib)
ifeq ($(SHRLIB_SUFFIX),.dll)
$(MT_DLL_COMMAND)
endif
$(LOADABLE_SHRLIBNAME): $(LIBRARY_OBJS) $(LIBRARY_RESS) $(SHRLIB_DEPLIBS)
@@ -322,14 +330,14 @@ runtests: $(TESTSCRIPTS_$(BUILD_CLASS))
## Install rules for BIN_INSTALLS and LIB_INSTALLS
define BIN_INSTALLS_template
$$(INSTALL_BIN)/$$(notdir $(1)) : $(1)
@echo "Installing $$(<F)"
$(ECHO) "Installing $$(<F)"
@$$(INSTALL) -d -m $$(BIN_PERMISSIONS) $$^ $$(INSTALL_BIN)
endef
$(foreach file, $(BIN_INSTALLS), $(eval $(call BIN_INSTALLS_template, $(file))))
define LIB_INSTALLS_template
$$(INSTALL_LIB)/$$(notdir $(1)) : $(1)
@echo "Installing $$(<F)"
$(ECHO) "Installing $$(<F)"
@$$(INSTALL) -d -m $$(LIB_PERMISSIONS) $$^ $$(INSTALL_LIB)
endef
$(foreach file, $(LIB_INSTALLS), $(eval $(call LIB_INSTALLS_template, $(file))))
@@ -337,30 +345,30 @@ $(foreach file, $(LIB_INSTALLS), $(eval $(call LIB_INSTALLS_template, $(file))))
#---------------------------------------------------------------
$(INSTALL_BIN)/%: ../os/$(OS_CLASS)/%
@echo "Installing os-specific script $@"
$(ECHO) "Installing os-specific script $@"
@$(INSTALL_PRODUCT) -d -m $(BIN_PERMISSIONS) $< $(INSTALL_BIN)
$(INSTALL_BIN)/%: %
@echo "Installing created file $@"
$(ECHO) "Installing created file $@"
@$(INSTALL_PRODUCT) -d -m $(BIN_PERMISSIONS) $< $(INSTALL_BIN)
$(INSTALL_BIN)/%: ../%
@echo "Installing script $@"
$(ECHO) "Installing script $@"
@$(INSTALL_PRODUCT) -d -m $(BIN_PERMISSIONS) $< $(INSTALL_BIN)
$(INSTALL_LIB)/%.a: %.a
@echo "Installing library $@"
$(ECHO) "Installing library $@"
@$(INSTALL_LIBRARY) -d -m $(LIB_PERMISSIONS) $< $(INSTALL_LIB)
ifneq ($(strip $(RANLIB)),)
$(RANLIB) $@
endif # RANLIB
$(INSTALL_LIB)/%.lib: %.lib
@echo "Installing library $@"
$(ECHO) "Installing library $@"
@$(INSTALL_LIBRARY) -d -m $(LIB_PERMISSIONS) $< $(INSTALL_LIB)
$(INSTALL_SHRLIB)/lib%: lib%
@echo "Installing shared library $@"
$(ECHO) "Installing shared library $@"
@$(INSTALL_LIBRARY) -d -m $(LIB_PERMISSIONS) $< $(INSTALL_SHRLIB)
ifneq (,$(strip $(SHRLIB_VERSION)))
@$(RM) $(subst .$(SHRLIB_VERSION),,$@)
@@ -370,20 +378,20 @@ endif # SHRLIB_VERSION
ifneq ($(INSTALL_TCLLIB),$(INSTALL_BIN))
$(INSTALL_TCLLIB)/%: %
@echo "Installing Tcl library $@"
$(ECHO) "Installing Tcl library $@"
@$(INSTALL) -d -m $(BIN_PERMISSIONS) $< $(INSTALL_TCLLIB)
$(INSTALL_TCLLIB)/%: ../%
@echo "Installing Tcl library $@"
$(ECHO) "Installing Tcl library $@"
@$(INSTALL) -d -m $(BIN_PERMISSIONS) $< $(INSTALL_TCLLIB)
endif
$(INSTALL_TCLLIB)/$(TCLINDEX): $(INSTALL_TCLLIBS)
@echo "Updating $@"
@echo eval auto_mkindex $(INSTALL_TCLLIB) "$(TCLLIBNAME)" | tclsh
$(ECHO) "Updating $@"
$(ECHO) eval auto_mkindex $(INSTALL_TCLLIB) "$(TCLLIBNAME)" | tclsh
$(INSTALL_LOADABLE_SHRLIBS): $(INSTALL_SHRLIB)/%: %
@echo "Installing loadable shared library $@"
$(ECHO) "Installing loadable shared library $@"
@$(INSTALL_LIBRARY) -d -m 555 $< $(INSTALL_SHRLIB)
ifneq (,$(strip $(LOADABLE_SHRLIB_VERSION)))
@$(RM) $(subst .$(LOADABLE_SHRLIB_VERSION),,$@)
@@ -391,65 +399,56 @@ ifneq (,$(strip $(LOADABLE_SHRLIB_VERSION)))
endif # LOADABLE_SHRLIB_VERSION
$(INSTALL_CONFIG)/%: %
@echo "Installing config file $@"
$(ECHO) "Installing config file $@"
@$(INSTALL) -d -m $(INSTALL_PERMISSIONS) $< $(@D)
$(INSTALL_CONFIG)/%: ../%
@echo "Installing config file $@"
$(ECHO) "Installing config file $@"
@$(INSTALL) -d -m $(INSTALL_PERMISSIONS) $< $(@D)
$(INSTALL_INCLUDE)/% : $(COMMON_DIR)/%
@echo "Installing generated generic include file $@"
$(ECHO) "Installing generated generic include file $@"
@$(INSTALL) -d -m $(INSTALL_PERMISSIONS) $< $(@D)
$(INSTALL_INCLUDE)/% : %
@echo "Installing generic include file $@"
$(ECHO) "Installing generic include file $@"
@$(INSTALL) -d -m $(INSTALL_PERMISSIONS) $< $(@D)
$(INSTALL_INCLUDE)/os/$(OS_CLASS)/% : %
@echo "Installing os dependent include file $@"
$(ECHO) "Installing os dependent include file $@"
@$(INSTALL) -d -m $(INSTALL_PERMISSIONS) $< $(@D)
$(INSTALL_DOC)/%: %
@echo "Installing doc $@"
$(ECHO) "Installing doc $@"
@$(INSTALL) -d -m $(INSTALL_PERMISSIONS) $< $(INSTALL_DOC)
$(INSTALL_DOC)/%: ../%
@echo "Installing doc $@"
$(ECHO) "Installing doc $@"
@$(INSTALL) -d -m $(INSTALL_PERMISSIONS) $< $(INSTALL_DOC)
$(INSTALL_HTML)/$(HTMLS_DIR)/%: %
@echo "Installing html $@"
$(ECHO) "Installing html $@"
@$(INSTALL) -d -m $(INSTALL_PERMISSIONS) $< $(@D)
$(INSTALL_HTML)/$(HTMLS_DIR)/%: ../%
@echo "Installing html $@"
$(ECHO) "Installing html $@"
@$(INSTALL) -d -m $(INSTALL_PERMISSIONS) $< $(@D)
$(INSTALL_TEMPLATES_SUBDIR)/%: ../%
@echo "Installing $@"
$(ECHO) "Installing $@"
@$(INSTALL) -d -m $(INSTALL_PERMISSIONS) $< $(@D)
$(INSTALL_TEMPLATES_SUBDIR)/%: %
@echo "Installing $@"
$(ECHO) "Installing $@"
@$(INSTALL) -d -m $(INSTALL_PERMISSIONS) $< $(@D)
ifeq ($(SHRLIB_SUFFIX),.dll)
ifeq ($(SHARED_LIBRARIES),YES)
$(LIB_PREFIX)%$(LIB_SUFFIX) $(SHRLIB_PREFIX)%$(SHRLIB_SUFFIX):
@$(RM) $(LIB_PREFIX)$*$(LIB_SUFFIX) $(SHRLIB_PREFIX)$*$(SHRLIB_SUFFIX)
$(LINK.shrlib)
$(MT_DLL_COMMAND)
endif
endif
-include $(CONFIG)/RULES_EXPAND
.PRECIOUS: %.i %.o %.c %.nm %.cpp %.cc
.PRECIOUS: $(COMMON_INC)
.PHONY: all inc build install clean rebuild buildInstall
.PHONY: runtests
.PHONY: runtests checkRelease warnRelease
endif # BASE_RULES_BUILD
# EOF RULES_BUILD

View File

@@ -38,7 +38,7 @@ all : install
rebuild : clean install
# Create directory dependancies lines for GNU make -j option
# Only works with GNU make 3.80 or later (uses eval function)
# Only works with GNU make 3.81 or later (uses eval function)
define DEP_template1
$(1): $$($(1)_DEPEND_DIRS)
endef

View File

@@ -13,11 +13,11 @@ EXPANDED = $(EXPAND:%@=%)
buildInstall: $(EXPANDED)
$(EXPANDED): %: ../%@
@echo "Expanding $< to $@"
$(ECHO) "Expanding $< to $@"
@$(RM) $@
@$(EXPAND_TOOL) $(EXPANDFLAGS) $($@_EXPANDFLAGS) $< $@
clean::
$(RM) $(EXPANDED)
@$(RM) $(EXPANDED)
endif

View File

@@ -49,16 +49,16 @@ endif
define FILE_TYPE_template
$(1) += $$(if $$(strip $$($(1)_$$(ARCH_CLASS))),$$(subst -nil-,,$$($(1)_$$(ARCH_CLASS))), $$($(1)_DEFAULT))
$(1) += $$(if $$(strip $$($(1)_$$(OS_CLASS))),$$(subst -nil-,,$$($(1)_$$(OS_CLASS))), $$($(1)_DEFAULT))
INSTALLS_$(1) = $$($(1):%=$$(INSTALL_$(1))/%)
$$(INSTALL_$(1))/%: ../%
@echo "Installing $(1) file $$@"
$(ECHO) "Installing $(1) file $$@"
@$$(INSTALL) -d -m $$(INSTALL_PERMISSIONS) $$< $$(dir $$@)
$$(INSTALL_$(1))/%: %
@echo "Installing $(1) file $$@"
$(ECHO) "Installing $(1) file $$@"
@$$(INSTALL) -d -m $$(INSTALL_PERMISSIONS) $$< $$(dir $$@)
buildInstall : $$(INSTALLS_$(1))

View File

@@ -114,40 +114,40 @@ $(JAVA_DIRECTORY_TARGETS):
endif
$(COMMON_JAVAINC):$(JAVAINC_CLASSFILES)
@echo Creating header files $(COMMON_JAVAINC)
$(ECHO) Creating header files $(COMMON_JAVAINC)
@$(RM) $@
$(JAVAHCMD) $(JAVAINC_CLASSNAMES)
$(COMMON_TESTCLASSES): $(addprefix ../,$(DEPTESTJAVA))
@echo Creating test java class files $(COMMON_TESTCLASSES)
$(ECHO) Creating test java class files $(COMMON_TESTCLASSES)
@$(RM) $@
$(JAVACCMD) -d $(COMMON_DIR) $^
$(INSTALL_CLASSES): $(addprefix ../,$(JAVA))
@echo Creating java class files
$(ECHO) Creating java class files
@$(RM) $@
$(JAVACCMD) -d $(INSTALL_JAVA) $^
$(INSTALL_JAVADOC): $(addprefix ../,$(JAVA))
@echo Creating java doc files
$(ECHO) Creating java doc files
@$(RM) $@
$(JAVADOCCMD) -d $(addprefix $(INSTALL_HTML)/,$(JAVADOC)) $^
$(COMMON_DIR)/%.jar: $(JARDEPFILES)
@echo Creating java jar file $@
$(ECHO) Creating java jar file $@
@$(RM) $@
$(JARCMD)
$(INSTALL_JAVA)/%.jar: $(COMMON_DIR)/%.jar
@echo "Installing java jar file $@"
$(ECHO) "Installing java jar file $@"
@$(INSTALL) -d -m $(INSTALL_PERMISSIONS) $< $(@D)
$(INSTALL_JAVA)/%.jar: %.jar
@echo "Installing java jar file $@"
$(ECHO) "Installing java jar file $@"
@$(INSTALL) -d -m $(INSTALL_PERMISSIONS) $< $(@D)
$(addprefix $(INSTALL_JAVA)/, $(JARINPUT)): $(INSTALL_JAVA)/%: ../%
@echo "Installing jar input file $@"
$(ECHO) "Installing jar input file $@"
@$(INSTALL) -d -m $(INSTALL_PERMISSIONS) $< $(@D)
.PHONY: all install buildInstall rebuild clean build inc

View File

@@ -82,9 +82,9 @@ $(1)_DLL_DEPLIBS=$$(foreach lib, $$($(1)_DLL_LIBS),\
$$(LIB_PREFIX)$(1)$$(LIB_SUFFIX):$$($(1)_OBJSNAME) $$($(1)_RESS)
$$(LIB_PREFIX)$(1)$$(LIB_SUFFIX):$$($(1)_DEPLIBS)
$$(LIB_PREFIX)$(1)$$(SHRLIB_SUFFIX):$$($(1)_OBJSNAME) $$($(1)_RESS)
$$(LIB_PREFIX)$(1)$$(SHRLIB_SUFFIX):$$($(1)_DEPLIBS)
$$(LIB_PREFIX)$(1)$$(SHRLIB_SUFFIX):$$($(1)_DLL_DEPLIBS)
$$(SHRLIB_PREFIX)$(1)$$(SHRLIB_SUFFIX):$$($(1)_OBJSNAME) $$($(1)_RESS)
$$(SHRLIB_PREFIX)$(1)$$(SHRLIB_SUFFIX):$$($(1)_DEPLIBS)
$$(SHRLIB_PREFIX)$(1)$$(SHRLIB_SUFFIX):$$($(1)_DLL_DEPLIBS)
endef
$(foreach target, $(LIBRARY), \

View File

@@ -31,7 +31,7 @@ endif
ifeq ($(wildcard $(INSTALL_LOCATION_LIB)/*),)
@$(RMDIR) $(INSTALL_LOCATION_LIB)
endif
@echo
$(ECHO)
# The echo above stops a "nothing to be done for cleandirs" message
distclean: realclean realuninstall
@@ -52,32 +52,32 @@ uninstallDirs:
@$(RMDIR) $(UNINSTALL_DIRS)
help:
@echo "Usage: gnumake [options] [target] ..."
@echo "Targets supported by all Makefiles:"
@echo " install - Builds and installs all targets (default rule)"
@echo " all - Same as install"
@echo " buildInstall - Same as install"
@echo " clean - Removes the O.<arch> dirs created by running make"
@echo " In O.<arch> dir, clean removes build created files"
@echo " realclean - Removes ALL O.<arch> dirs"
@echo " Cannot be used within an O.<arch> dir"
@echo " rebuild - Same as clean install"
@echo " inc - Installs header files"
@echo " build - Builds all targets"
@echo " archclean - Removes O.<arch> dirs but not O.Common dir"
@echo "\"Partial\" build targets supported by Makefiles:"
@echo " inc.<arch> - Installs <arch> only header files."
@echo " install.<arch> - Builds and installs <arch> only."
@echo " clean.<arch> - Cleans <arch> binaries in O.<arch> dirs only."
@echo " build.<arch> - Builds <arch> only."
@echo "Targets supported by top level Makefile:"
@echo " uninstall - Cleans directories created by the install."
@echo " realuninstall - Removes ALL install dirs"
@echo " distclean - Same as realclean realuninstall."
@echo " cvsclean - Removes cvs .#* files in all dirs of directory tree"
@echo " help - Prints this list of valid make targets "
@echo "Indiv. object targets are supported by O.<arch> level Makefile .e.g"
@echo " xxxRecord.o"
$(ECHO) "Usage: gnumake [options] [target] ..."
$(ECHO) "Targets supported by all Makefiles:"
$(ECHO) " install - Builds and installs all targets (default rule)"
$(ECHO) " all - Same as install"
$(ECHO) " buildInstall - Same as install"
$(ECHO) " clean - Removes the O.<arch> dirs created by running make"
$(ECHO) " In O.<arch> dir, clean removes build created files"
$(ECHO) " realclean - Removes ALL O.<arch> dirs"
$(ECHO) " Cannot be used within an O.<arch> dir"
$(ECHO) " rebuild - Same as clean install"
$(ECHO) " inc - Installs header files"
$(ECHO) " build - Builds all targets"
$(ECHO) " archclean - Removes O.<arch> dirs but not O.Common dir"
$(ECHO) "\"Partial\" build targets supported by Makefiles:"
$(ECHO) " inc.<arch> - Installs <arch> only header files."
$(ECHO) " install.<arch> - Builds and installs <arch> only."
$(ECHO) " clean.<arch> - Cleans <arch> binaries in O.<arch> dirs only."
$(ECHO) " build.<arch> - Builds <arch> only."
$(ECHO) "Targets supported by top level Makefile:"
$(ECHO) " uninstall - Cleans directories created by the install."
$(ECHO) " realuninstall - Removes ALL install dirs"
$(ECHO) " distclean - Same as realclean realuninstall."
$(ECHO) " cvsclean - Removes cvs .#* files in all dirs of directory tree"
$(ECHO) " help - Prints this list of valid make targets "
$(ECHO) "Indiv. object targets are supported by O.<arch> level Makefile .e.g"
$(ECHO) " xxxRecord.o"
.PHONY : $(uninstallArchTargets)
.PHONY : uninstall help cleandirs distclean uninstallDirs realuninstall

View File

@@ -63,9 +63,9 @@ a_file_CPPFLAGS_WIN32 = -DVERSION='WIN32 port'
# again: if INC_$(OS_CLASS) is defined, it is added to INC,
# otherwise INC_DEFAULT (if defined) is added:
#
INC_DEFAULT = for_all_but_WIN32_or_hp700.h
INC_DEFAULT = for_all_but_WIN32_or_vxWorks.h
INC_WIN32 = only_for_WIN32.h
INC_hpux = -nil- # hpux uses no special include
INC_vxWorks = -nil- # vxWorks uses no special include
INC = file.h
# --------------------------------------------------------------------

View File

@@ -24,6 +24,10 @@ unexport GCC_EXEC_PREFIX
# Get RTEMS_BASE definition
-include $(CONFIG)/os/CONFIG_SITE.Common.RTEMS
ifneq ($(CONFIG),$(TOP)/configure)
-include $(TOP)/configure/CONFIG_SITE.Common.RTEMS
endif
#-------------------------------------------------------
# Pick up the RTEMS tool/path definitions from the RTEMS BSP directory.
include $(RTEMS_BASE)/$(RTEMS_TARGET_CPU)-rtems$(RTEMS_VERSION)/$(subst RTEMS-,,$(T_A))/Makefile.inc
@@ -32,13 +36,13 @@ include $(CONFIG.CC)
#-------------------------------------------------------
# RTEMS cross-development tools
CC = $(RTEMS_BASE)/bin/$(CC_FOR_TARGET) $(GCCSPECS) -fasm
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
CC = $(RTEMS_TOOLS)/bin/$(CC_FOR_TARGET) $(GCCSPECS) -fasm
CCC = $(RTEMS_TOOLS)/bin/$(CXX)
CPP = $(RTEMS_TOOLS)/bin/$(CC_FOR_TARGET) -x c -E
AR = $(RTEMS_TOOLS)/bin/$(AR_FOR_TARGET)
LD = $(RTEMS_TOOLS)/bin/$(LD_FOR_TARGET) -r
RANLIB := $(RTEMS_BASE)/bin/$(RANLIB)
RANLIB := $(RTEMS_TOOLS)/bin/$(RANLIB)
#-------------------------------------------------------
# Build types
@@ -47,11 +51,11 @@ VALID_BUILDS = Ioc
#--------------------------------------------------
# The RTEMS Makefiles redefine several macros, so we have to go
# through the following contortions to get the EPICS flags back.
CFLAGS = $(CONFORM_CFLAGS) $(CROSS_CFLAGS) $(OPT_CFLAGS) $(DEBUG_CFLAGS)\
CFLAGS = $(CROSS_CFLAGS) $(OPT_CFLAGS) $(DEBUG_CFLAGS)\
$(WARN_CFLAGS) $(TARGET_CFLAGS) $(USR_CFLAGS) $(ARCH_DEP_CFLAGS)\
$(CODE_CFLAGS) $(STATIC_CFLAGS) $(OP_SYS_CFLAGS) $(LIBRARY_SRC_CFLAGS)
CXXFLAGS = $(CONFORM_CXXFLAGS) $(CROSS_CXXFLAGS) $(OPT_CXXFLAGS)\
CXXFLAGS = $(CROSS_CXXFLAGS) $(OPT_CXXFLAGS)\
$(DEBUG_CXXFLAGS) $(WARN_CXXFLAGS) $(TARGET_CXXFLAGS) $(USR_CXXFLAGS)\
$(ARCH_DEP_CXXFLAGS) $(CODE_CXXFLAGS) $(STATIC_CXXCFLAGS) $(OP_SYS_CXXFLAGS)\
$(LIBRARY_SRC_CFLAGS)
@@ -60,10 +64,10 @@ LDFLAGS = $(OPT_LDFLAGS) $(TARGET_LDFLAGS) $(USR_LDFLAGS) \
$(ARCH_DEP_LDFLAGS) $(DEBUG_LDFLAGS) $(OP_SYS_LDFLAGS) $(CROSS_LDFLAGS)\
$(RUNTIME_LDFLAGS) $(CODE_LDFLAGS)
LDLIBS = $(STATIC_LDLIBS)\
LDLIBS = \
$(POSIX_LDLIBS) $(ARCH_DEP_LDLIBS) $(DEBUG_LDLIBS) $(OP_SYS_LDLIBS)
CPPFLAGS += $(CONFORM_CPPFLAGS) $(CROSS_CPPFLAGS) $(POSIX_CPPFLAGS)\
CPPFLAGS += $(CROSS_CPPFLAGS) $(POSIX_CPPFLAGS)\
$(BASE_CPPFLAGS) $(TARGET_CPPFLAGS) $(USR_CPPFLAGS) $(ARCH_DEP_CPPFLAGS)\
$(OP_SYS_CPPFLAGS) $(OP_SYS_INCLUDE_CPPFLAGS) $(CODE_CPPFLAGS)
@@ -98,12 +102,6 @@ SHARED_LIBRARIES=NO
CODE_CFLAGS =
CODE_CXXFLAGS =
#--------------------------------------------------
# RTEMS uses the inline keyword so -pedantic causes too many problems.
# Using -ansi turns off lots of useful prototypes (e.g. strtok_r).
CONFORM_CFLAGS_STRICT =
CONFORM_CXXFLAGS_STRICT =
#--------------------------------------------------
# Override the usual RTEMS verbosity from ar
ARFLAGS = rc

View File

@@ -16,7 +16,7 @@ ARCH_DEP_CFLAGS += -DHAVE_MOTLOAD
MUNCH_SUFFIX = .boot
MUNCHNAME = $(PRODNAME:%$(EXE)=%$(MUNCH_SUFFIX))
define MUNCH_CMD
$(RTEMS_BASE)/bin/$(OBJCOPY_FOR_TARGET) -O binary $< $@
$(RTEMS_TOOLS)/bin/$(OBJCOPY_FOR_TARGET) -O binary $< $@
endef
CROSS_COMPILER_TARGET_ARCHS=RTEMS-beatnik

View File

@@ -13,9 +13,9 @@ ARCH_DEP_CFLAGS += -DHAVE_PPCBUG
MUNCH_SUFFIX = .boot
MUNCHNAME = $(PRODNAME:%$(EXE)=%$(MUNCH_SUFFIX))
define MUNCH_CMD
$(RTEMS_BASE)/bin/$(OBJCOPY_FOR_TARGET) -O binary -R .comment -S $< rtems
$(RTEMS_TOOLS)/bin/$(OBJCOPY_FOR_TARGET) -O binary -R .comment -S $< rtems
gzip -f9 rtems
$(RTEMS_BASE)/bin/$(LD_FOR_TARGET) -o $@ \
$(RTEMS_TOOLS)/bin/$(LD_FOR_TARGET) -o $@ \
$(PROJECT_RELEASE)/lib/bootloader.o \
--just-symbols=$< \
-b binary rtems.gz \

View File

@@ -0,0 +1,25 @@
#
# Author: Matt Rippa
#
RTEMS_TARGET_CPU = powerpc
ARCH_DEP_CFLAGS += -DMY_DO_BOOTP=NULL
ARCH_DEP_CFLAGS += -DHAVE_PPCBUG
ARCH_DEP_CFLAGS += -DNVRAM_INDIRECT
MUNCH_SUFFIX = .boot
MUNCHNAME = $(PRODNAME:%$(EXE)=%$(MUNCH_SUFFIX))
define MUNCH_CMD
$(RTEMS_TOOLS)/bin/$(OBJCOPY_FOR_TARGET) -O binary -R .comment -S $< rtems
gzip -f9 rtems
$(RTEMS_TOOLS)/bin/$(LD_FOR_TARGET) -o $@ \
$(PROJECT_RELEASE)/lib/bootloader.o \
--just-symbols=$< \
-b binary rtems.gz \
-T $(PROJECT_RELEASE)/lib/ppcboot.lds \
-Map $<.map
rm -f rtems.gz
endef
OP_SYS_LDLIBS += -lbspExt
include $(CONFIG)/os/CONFIG.Common.RTEMS

View File

@@ -10,7 +10,7 @@ ARCH_DEP_CFLAGS += -DHAVE_MOTLOAD
MUNCH_SUFFIX = .boot
MUNCHNAME = $(PRODNAME:%$(EXE)=%$(MUNCH_SUFFIX))
define MUNCH_CMD
$(RTEMS_BASE)/bin/$(OBJCOPY_FOR_TARGET) -O binary $< $@
$(RTEMS_TOOLS)/bin/$(OBJCOPY_FOR_TARGET) -O binary $< $@
endef
CROSS_COMPILER_TARGET_ARCHS=RTEMS-beatnik

View File

@@ -9,11 +9,12 @@
RTEMS_TARGET_CPU = powerpc
ARCH_DEP_CFLAGS += -DMY_DO_BOOTP=NULL
ARCH_DEP_CFLAGS += -DHAVE_MOTLOAD
ARCH_DEP_CFLAGS += -DBSP_NVRAM_BASE_ADDR=0xf1110000
MUNCH_SUFFIX = .boot
MUNCHNAME = $(PRODNAME:%$(EXE)=%$(MUNCH_SUFFIX))
define MUNCH_CMD
$(RTEMS_BASE)/bin/$(OBJCOPY_FOR_TARGET) -O binary $< $@
$(RTEMS_TOOLS)/bin/$(OBJCOPY_FOR_TARGET) -O binary $< $@
endef
include $(CONFIG)/os/CONFIG.Common.RTEMS

View File

@@ -11,7 +11,7 @@ RTEMS_TARGET_CPU=i386
MUNCH_SUFFIX = .boot
MUNCHNAME = $(PRODNAME:%$(EXE)=%$(MUNCH_SUFFIX))
define MUNCH_CMD
$(RTEMS_BASE)/bin/$(OBJCOPY_FOR_TARGET) -O binary -R .comment -S $< temp.bin
$(RTEMS_TOOLS)/bin/$(OBJCOPY_FOR_TARGET) -O binary -R .comment -S $< temp.bin
$(PROJECT_RELEASE)/build-tools/bin2boot $@ 0x00097E00 \
$(PROJECT_RELEASE)/lib/start16.bin 0x00097C00 0 temp.bin 0x00100000 0
rm -f temp.bin

View File

@@ -12,7 +12,7 @@ ARCH_DEP_CFLAGS += -DMY_DO_BOOTP=NULL
MUNCH_SUFFIX = .boot
MUNCHNAME = $(PRODNAME:%$(EXE)=%$(MUNCH_SUFFIX))
define MUNCH_CMD
$(RTEMS_BASE)/bin/$(OBJCOPY_FOR_TARGET) -O binary -R .comment -S $< $@
$(RTEMS_TOOLS)/bin/$(OBJCOPY_FOR_TARGET) -O binary -R .comment -S $< $@
endef
include $(CONFIG)/os/CONFIG.Common.RTEMS

View File

@@ -32,7 +32,7 @@ SHRLIBNAME_YES = $(BUILD_LIBRARY:%=$(LIB_PREFIX)%$(SHRLIB_SUFFIX))
LOADABLE_SHRLIBNAME = $(LOADABLE_BUILD_LIBRARY:%=$(LOADABLE_SHRLIB_PREFIX)%$(LOADABLE_SHRLIB_SUFFIX))
#-------------------------------------------------------
# shrlib: DEPLIBS, LDFLAGS, and LDLIBS definitions
# shrlib: SHRLIB_DEPLIBS, SHRLIB_LDLIBS and SHRLIBDIR_LDFLAGS definitions
# SHRLIB_LIBS deprecated
LIB_LIBS += $(SHRLIB_LIBS)
@@ -43,16 +43,18 @@ SHRLIB_DEPLIBS=$(foreach lib, $(LIB_LIBS) $(USR_LIBS), \
$(addsuffix /$(LIB_PREFIX)$(lib)$(LIB_SUFFIX), \
$(firstword $($(lib)_DIR) $(INSTALL_LIB)))))
SHRLIB_LDLIBS = $(addprefix -l, $($*_LDLIBS) $(LIB_LIBS) $(USR_LIBS) \
$($*_SYS_LIBS) $(LIB_SYS_LIBS) $(USR_SYS_LIBS)) $(LDLIBS)
SHRLIB_LDLIBS = $(addprefix -l, $($*_LDLIBS) $(LIB_LIBS) $(USR_LIBS))\
$(STATIC_LDLIBS) \
$(addprefix -l, $($*_SYS_LIBS) $(LIB_SYS_LIBS) $(USR_SYS_LIBS)) \
$(LDLIBS)
SHRLIB_DEPLIB_DIRS = $(foreach word,$(sort $(dir $($*_DEPLIBS) $(SHRLIB_DEPLIBS))), \
$(shell $(PERL) $(TOOLS)/fullPathName.pl $(word)))
$(shell $(PERL) $(TOOLS)/fullPathName.pl $(word)))
SHRLIBDIR_LDFLAGS += $(SHRLIB_DEPLIB_DIRS:%=-L%)
#-------------------------------------------------------
# Prod: DEPLIBS, LDFLAGS, and LDLIBS definitions
# Prod: PROD_DEPLIBS, PROD_LDLIBS and PRODDIR_LDFLAGS definitions
PROD_DEPLIBS=$(foreach lib,$(PROD_LIBS) $(USR_LIBS), \
$(firstword $(wildcard $(addsuffix /$(LIB_PREFIX)$(lib).*, \
@@ -60,8 +62,9 @@ PROD_DEPLIBS=$(foreach lib,$(PROD_LIBS) $(USR_LIBS), \
$(addsuffix /$(LIB_PREFIX)$(lib)$(LIB_SUFFIX), \
$(firstword $($(lib)_DIR) $(INSTALL_LIB)))))
PROD_LDLIBS = $(addprefix -l, $($*_LDLIBS) $(PROD_LIBS) $(USR_LIBS)\
$($*_SYS_LIBS) $(PROD_SYS_LIBS) $(USR_SYS_LIBS))
PROD_LDLIBS = $(addprefix -l, $($*_LDLIBS) $(PROD_LIBS) $(USR_LIBS)) \
$(STATIC_LDLIBS) \
$(addprefix -l, $($*_SYS_LIBS) $(PROD_SYS_LIBS) $(USR_SYS_LIBS))
LDLIBS_STATIC_YES = LDLIBS
LDLIBS_SHARED_NO = LDLIBS

View File

@@ -8,9 +8,8 @@
#-------------------------------------------------------
#
# Architecture-specific information
#
ARCH_CLASS = ppc
# To build universal binaries, configure ARCH_CLASS
# in the file CONFIG_SITE.Common.darwin-ppc
# Include definitions common to all Darwin targets
include $(CONFIG)/os/CONFIG.darwinCommon.darwinCommon

View File

@@ -3,20 +3,13 @@
# $Id$
# This file is maintained by the build community.
#
# Definitions for Darwin 'universal' (PowerPC, Intel) target builds
# Definitions for Darwin universal PowerPC + x86 target builds
# Sites may override these definitions in CONFIG_SITE.Common.darwin-ppcx86
#-------------------------------------------------------
#
# Set architecture-specific information
#
ARCH_CLASS = ppcx86
#
# Universal binary support
#
OP_SYS_CFLAGS += -arch i386 -arch ppc
OP_SYS_LDFLAGS += -arch i386 -arch ppc
# To build universal binaries, configure ARCH_CLASS
# in the file CONFIG_SITE.Common.darwin-ppcx86
# Include definitions common to all Darwin targets
include $(CONFIG)/os/CONFIG.darwinCommon.darwinCommon

View File

@@ -8,9 +8,8 @@
#-------------------------------------------------------
#
# Architecture-specific information
#
ARCH_CLASS = x86
# To build universal binaries, configure ARCH_CLASS
# in the file CONFIG_SITE.Common.darwin-x86
# Include definitions common to all Darwin targets
include $(CONFIG)/os/CONFIG.darwinCommon.darwinCommon

View File

@@ -30,3 +30,8 @@ PRODDIR_LDFLAGS += $(PROD_DEPLIB_DIRS:%=-Wl,-rpath,%)
LDLIBS_READLINE = -lreadline -lcurses
GNU_LDLIBS_YES = -lgcc_pic
#--------------------------------------------------
# Allow site overrides
-include $(CONFIG)/os/CONFIG_SITE.Common.freebsdCommon
-include $(CONFIG)/os/CONFIG_SITE.$(EPICS_HOST_ARCH).freebsdCommon

View File

@@ -1,34 +0,0 @@
# CONFIG.Common.hpux-parisc
#
# $Id$
# This file is maintained by the build community.
#
# Definitions for hpux-parisc target archs
# Sites may override these definitions in CONFIG_SITE.Common.hpux-parisc
#-------------------------------------------------------
#Include definitions common to unix targets
include $(CONFIG)/os/CONFIG.Common.UnixCommon
OS_CLASS = hpux
ARCH_CLASS = parisc
# 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 = -DHP_UX
OP_SYS_CFLAGS = -D_HPUX_SOURCE
OP_SYS_CXXFLAGS =
SHRLIB_SUFFIX = .sl$(addprefix .,$(SHRLIB_VERSION))
LOADABLE_SHRLIB_SUFFIX = .sl$(addprefix .,$(LOADABLE_SHRLIB_VERSION))
# Set runtime path for shared libraries
empty:= # trick from the make docs...
space:= $(empty) $(empty)
SHRLIBDIR_LDFLAGS += -Wl,+b$(subst $(space),:,$(SHRLIB_DEPLIB_DIRS)),+s
# Set runtime path for products
PRODDIR_LDFLAGS += -Wl,+b$(subst $(space),:,$(PROD_DEPLIB_DIRS)),+s
GNU_TARGET=parisc-hp-unix

View File

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

View File

@@ -10,3 +10,4 @@
# Include definitions common to all linux-x86 target archs
include $(CONFIG)/os/CONFIG.Common.linux-x86
HOST_OPT=NO

View File

@@ -10,3 +10,4 @@
# Include definitions common to all linux-x86_64 target archs
include $(CONFIG)/os/CONFIG.Common.linux-x86_64
HOST_OPT=NO

View File

@@ -20,7 +20,12 @@ POSIX_LDLIBS = -lpthread
# -D_BSD_SOURCE for gethostname() in unistd.h as needed by cacChannelIO.cpp.
OP_SYS_CPPFLAGS += -D_BSD_SOURCE
OP_SYS_CPPFLAGS += -Dlinux
OP_SYS_LDLIBS += -lrt
OP_SYS_LDLIBS += -lrt -ldl
# Added here for cross-target builds which include this file
STATIC_LDFLAGS_YES= -Wl,-Bstatic
STATIC_LDFLAGS_NO=
STATIC_LDLIBS_YES= -Wl,-Bdynamic
# Set runtime path for shared libraries
SHRLIBDIR_LDFLAGS += $(SHRLIB_DEPLIB_DIRS:%=-Wl,-rpath,%)
@@ -29,5 +34,9 @@ SHRLIBDIR_LDFLAGS += $(SHRLIB_DEPLIB_DIRS:%=-Wl,-rpath,%)
PRODDIR_LDFLAGS += $(PROD_DEPLIB_DIRS:%=-Wl,-rpath,%)
# Definitions used when COMMANDLINE_LIBRARY is READLINE
LDLIBS_READLINE = -lreadline -lcurses
LDLIBS_READLINE = -lreadline -lncurses
#--------------------------------------------------
# Allow site overrides
-include $(CONFIG)/os/CONFIG_SITE.Common.linuxCommon
-include $(CONFIG)/os/CONFIG_SITE.$(EPICS_HOST_ARCH).linuxCommon

View File

@@ -16,7 +16,8 @@ ARCH_CLASS = alpha
CODE_CPPFLAGS =
POSIX_CPPFLAGS += -pthread -ieee
POSIX_LDFLAGS += -pthread -ieee
# Unknown reason why this doesn't work in POSIX_LDFLAGS:
POSIX_LDLIBS += -pthread -ieee
OP_SYS_CPPFLAGS += -D_OSF_SOURCE
OP_SYS_LDLIBS += -lrt

View File

@@ -47,13 +47,14 @@ USE_STLPORT=NO
OP_SYS_CFLAGS+=$(STLPORT_CFLAGS_$(USE_STLPORT))
OP_SYS_LDFLAGS+=$(STLPORT_CFLAGS_$(USE_STLPORT))
OP_SYS_LDLIBS += $(STLPORT_LDLIBS_$(USE_STLPORT))
# OS libraries used when generating shared libraries or static binaries
OP_SYS_LDLIBS += -lsocket -lnsl
OP_SYS_LDLIBS_8 += -lCrun -lc
OP_SYS_LDLIBS_9 += -lCrun -lc
OP_SYS_LDLIBS_10 += -lCrun -lc
OP_SYS_LDLIBS_9 += -lumem -lCrun -lc
OP_SYS_LDLIBS_10 += -lumem -lCrun -lc
OP_SYS_LDLIBS += $(OP_SYS_LDLIBS_$(SOLARIS_VERSION))
OP_SYS_LDLIBS += $(STLPORT_LDLIBS_$(USE_STLPORT))
# Definitions used when COMMANDLINE_LIBRARY is READLINE
READLINE_DIR = $(GNU_DIR)

View File

@@ -10,3 +10,5 @@
# Include definitions common to all solaris-sparc target archs
include $(CONFIG)/os/CONFIG.Common.solaris-sparc
# Removes -O optimization and adds -g compile option
HOST_OPT=NO

View File

@@ -0,0 +1,15 @@
# CONFIG.Common.solaris-x86_64-gnu
#
# $Id$
# This file is maintained by the build community.
#
# Definitions for solaris-x86_64 gnu compiler target archs
# Sites may override these definitions in CONFIG_SITE.Common.solaris-x86_64-gnu
#-------------------------------------------------------
# Include definitions common to all solaris-x86-gnu target archs
include $(CONFIG)/os/CONFIG.Common.solaris-x86-gnu
ARCH_DEP_CFLAGS += -m64
ARCH_DEP_LDFLAGS += -m64
#ARCH_DEP_LDFLAGS += -L$(GNU_LIB)/amd64 -R$(GNU_LIB)/amd64

View File

@@ -20,6 +20,4 @@ ARCH_DEP_CFLAGS = -m486
ARCH_DEP_CXXFLAGS += -x 'c++'
ARCH_DEP_CFLAGS += -fno-defer-pop
# Allow site overrides
-include $(CONFIG)/os/CONFIG_SITE.Common.vxWorks-486

View File

@@ -16,5 +16,5 @@ OSITHREAD_USE_DEFAULT_STACK = NO
HOSTEXE=.exe
# Needed to find dlls for base installed build tools (antelope,eflex,...)
PATH := $(EPICS_BASE_TOOLS_BIN):$(PATH)
PATH := $(EPICS_BASE_BIN):$(PATH)

View File

@@ -23,15 +23,6 @@ SHRLIB_CFLAGS =
SHRLIB_LDFLAGS = -shared -Wl,--out-implib,$(LIB_PREFIX)$*$(LIB_SUFFIX)
LOADABLE_SHRLIB_LDFLAGS = -shared -Wl,--out-implib,$(LIB_PREFIX)$*$(LIB_SUFFIX)
CONFORM_CFLAGS_ANSI =
CONFORM_CFLAGS_STRICT = -ansi
CONFORM_CXXFLAGS_NORMAL =
CONFORM_CXXFLAGS_STRICT = -ansi
# -ansi build errors need fixing: u_long undeclared, fd_set with no type
CONFORM_CFLAGS_STRICT =
CONFORM_CXXFLAGS_STRICT =
# Override linking with gcc library from CONFIG.gnuCommon
GNU_LDLIBS_YES =

View File

@@ -10,4 +10,6 @@
include $(CONFIG)/os/CONFIG.Common.cygwin-x86
include $(CONFIG)/os/CONFIG.cygwin-x86.cygwin-x86
CROSS_OPT = NO
BUILD_CLASS = HOST
HOST_OPT = NO

View File

@@ -7,11 +7,8 @@
# Sites may override these definitions in CONFIG_SITE.darwin-ppc.darwin-ppc-debug
#-------------------------------------------------------
include $(CONFIG)/os/CONFIG.Common.darwin-ppc
include $(CONFIG)/os/CONFIG.darwin-ppc.darwin-ppc
-include $(CONFIG)/os/CONFIG.Common.darwin-ppc
-include $(CONFIG)/os/CONFIG.darwin-ppc.darwin-ppc
# This will cause build failure when used with make -j option
#BUILD_CLASS = HOST
#HOST_OPT = NO
CROSS_OPT=NO
BUILD_CLASS=HOST
HOST_OPT = NO

View File

@@ -3,7 +3,7 @@
# $Id$
# This file is maintained by the build community.
#
# Definitions for Darwin 'universal' (PowerPC, Intel) host builds
# Definitions for Darwin universal PowerPC + x86 host builds
# Sites may override these definitions in CONFIG_SITE.darwin-ppcx86.Common
#-------------------------------------------------------

View File

@@ -7,11 +7,8 @@
# Sites may override these definitions in CONFIG_SITE.darwin-x86.darwin-x86-debug
#-------------------------------------------------------
include $(CONFIG)/os/CONFIG.Common.darwin-x86
include $(CONFIG)/os/CONFIG.darwin-x86.darwin-x86
-include $(CONFIG)/os/CONFIG.Common.darwin-x86
-include $(CONFIG)/os/CONFIG.darwin-x86.darwin-x86
# This will cause build failure when used with make -j option
#BUILD_CLASS = HOST
#HOST_OPT = NO
CROSS_OPT=NO
BUILD_CLASS=HOST
HOST_OPT = NO

View File

@@ -1,10 +1,10 @@
# CONFIG.Common.darwinCommon
# CONFIG.darwinCommon.darwinCommon
#
# $Id$
# This file is maintained by the build community.
#
# Definitions for darwin target builds
# Sites may override these definitions in CONFIG_SITE.Common.darwin-<arch>
# Common definitions for darwin builds
# Sites may override these definitions in CONFIG_SITE.darwinCommon.darwinCommon
#-------------------------------------------------------
# Include definitions common to all Unix targets
@@ -18,6 +18,18 @@ include $(CONFIG)/CONFIG.gnuCommon
#
OS_CLASS = Darwin
#
# Build architecture flags
# For Darwin, ARCH_CLASS may be empty, or may contain a list of CPU
# architectures which must be valid arguments to the -arch options
# for the cc and ld commands.
# ARCH_CLASS is defined in a CONFIG_SITE file which is not loaded
# until after this file.
#
ARCH_DEP_FLAGS = $(addprefix -arch ,$(ARCH_CLASS))
ARCH_DEP_CFLAGS += $(ARCH_DEP_FLAGS)
ARCH_DEP_LDFLAGS += $(ARCH_DEP_FLAGS)
#
# Special flags for Darwin
# No common blocks (as required when using shared libraries)
@@ -94,8 +106,7 @@ vpath %.m $(USR_VPATH) $(ALL_SRC_DIRS)
%.o: %.m
$(COMPILE.c) -c $<
#
# Pedantic produces way too many unnecessary messages
#
CONFORM_CFLAGS_STRICT=-ansi
CONFORM_CXXFLAGS_STRICT=-ansi
#--------------------------------------------------
# Allow site overrides
-include $(CONFIG)/os/CONFIG_SITE.darwinCommon.darwinCommon
-include $(CONFIG)/os/CONFIG_SITE.$(EPICS_HOST_ARCH).darwinCommon

View File

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

View File

@@ -1,26 +0,0 @@
# CONFIG.hpux-parisc-gnu.hpux-parisc-gnu
#
# $Id$
# This file is maintained by the build community.
#
# Definitions for hpux-parisc gnu compiler host - hpux-parisc gnu compiler target builds
# Sites may override these definitions in CONFIG_SITE.hpux-parisc-gnu.hpux-parisc-gnu
#-------------------------------------------------------
# Include common gnu compiler definitions
include $(CONFIG)/CONFIG.gnuCommon
AR = ar -rc
RANLIB=
LD = ld -r
STATIC_LDFLAGS_YES= -Wl,-a,archive
STATIC_LDFLAGS_NO =
STATIC_LDLIBS_YES = -Wl,-a,default
STATIC_LDLIBS_NO =
# Switch explicitly from default DCE threads to posix threads
POSIX_CPPFLAGS += -D_REENTRANT -D_PTHREADS -D_POSIX_C_SOURCE=199506L
USR_SYS_LIBS += pthread

View File

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

View File

@@ -1,55 +0,0 @@
# CONFIG.hpux-parisc.hpux-parisc
#
# $Id$
# This file is maintained by the build community.
#
# Definitions for host hpux-parisc - target hpux-parisc builds
# Sites may override these definitions in CONFIG_SITE.hpux-parisc.hpux-parisc
#-------------------------------------------------------
CC = cc
CCC = aCC
CPP = $(CC) -E
RANLIB =
AR = ar -rc
LD = ld -r
# Configure OS vendor C compiler
CONFORM_CFLAGS_ANSI = -Aa -mt
CONFORM_CFLAGS_STRICT = -Aa -mt
CONFORM_CFLAGS_TRAD = -Ac -mt
# Portability across different PA-RISC architecture versions
CODE_CFLAGS = +DAportable +z
WARN_CFLAGS_YES =
WARN_CFLAGS_NO = -w
OPT_CFLAGS_YES = -O
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 -Aa -mt
CONFORM_CXXFLAGS_STRICT = -AA -Aa -mt
#CONFORM_CXXFLAGS_STRICT += +p
# 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
STATIC_LDFLAGS_YES= -Wl,-a,archive
STATIC_LDFLAGS_NO =
STATIC_LDLIBS_YES = -Wl,-a,default
STATIC_LDLIBS_NO =
TARGET_LDFLAGS += -AA -mt
SHRLIB_LDFLAGS = -b
LOADABLE_SHRLIB_LDFLAGS = $(SHRLIB_LDFLAGS)

View File

@@ -34,22 +34,6 @@ CC = $(BORLAND_BIN)/bc++ $(CCLINKOPT)
LD = $(BORLAND_BIN)/bc++ -r
RANLIB =
#
# __STDC__=0 works but not as cleanly as with
# Microsoft Visual C++.
# The Borland header files use ifdef __STDC__
# to disable many nice things. This is overridden
# by defining NO_BORLAND_STDC in the Makefile.
#
ifdef NO_BORLAND_STDC
CONFORM_CFLAGS_ANSI =
CONFORM_CFLAGS_STRICT =
else
CONFORM_CFLAGS_ANSI = -D__STDC__=0
CONFORM_CFLAGS_STRICT = -D__STDC__=0
endif
CONFORM_CFLAGS_TRAD =
# -w display warnings on
# -g0 no limit to warning messages
# some warning message here are always disabled because they are
@@ -77,17 +61,7 @@ CPP = $(BORLAND_BIN)/bcpp
# Configure OS vendor C++ compiler
#
# __STDC__=0 works but not as cleanly as with
# Microsoft Visual C++.
# The Borland header files use ifdef __STDC__
# to disable many nice things. This is overridden
# by defining NO_BORLAND_STDC in the Makefile.
#
CCC = $(BORLAND_BIN)/bc++ $(CCLINKOPT)
ifndef NO_BORLAND_STDC
CONFORM_CXXFLAGS_NORMAL = -D__STDC__=0
CONFORM_CXXFLAGS_STRICT = -D__STDC__=0
endif
# -w display warnings on
# -g0 no limit to warning messages
@@ -137,10 +111,6 @@ OPT_LDFLAGS =
ARCH_DEP_CFLAGS=
# to identify the general architecture class:
# should be BSD, SYSV, WIN32, ...
# is: WIN32, sun4, hpux, linux, ...
#
OS_CLASS=Linux

View File

@@ -14,3 +14,5 @@ STATIC_LDFLAGS_NO=
STATIC_LDLIBS_YES= -Wl,-Bdynamic
STATIC_LDLIBS_NO=
SHRLIB_LDFLAGS += -Wl,-h$@
LOADABLE_SHRLIB_LDFLAGS += -Wl,-h$@

View File

@@ -9,9 +9,6 @@
include $(CONFIG)/os/CONFIG.linux-x86.linux-x86
# This will cause build failure when used with make -j option
# See base/src/bpt MAKEBPT
#BUILD_CLASS = HOST
#HOST_OPT = NO
BUILD_CLASS=HOST
HOST_OPT=NO
CROSS_OPT=NO

View File

@@ -7,10 +7,5 @@
#-------------------------------------------------------
# Include common gnu compiler definitions
include $(CONFIG)/CONFIG.gnuCommon
STATIC_LDFLAGS_YES= -Wl,-Bstatic
STATIC_LDFLAGS_NO=
STATIC_LDLIBS_YES= -Wl,-Bdynamic
STATIC_LDLIBS_NO=
include $(CONFIG)/os/CONFIG.linux-x86.linux-x86

View File

@@ -7,6 +7,8 @@
# Sites may override these definitions in CONFIG_SITE.linux-x86_64.linux-x86_64-debug
#-------------------------------------------------------
include $(CONFIG)/os/CONFIG.linux-x86_64.linux-x86_64
include $(CONFIG)/os/CONFIG.linux-x86.linux-x86
CROSS_OPT = NO
BUILD_CLASS=HOST
HOST_OPT = NO

View File

@@ -15,9 +15,6 @@ AR = ar -r
LD = -r
# Configure OS vendor C compiler
CONFORM_CFLAGS_ANSI =
CONFORM_CFLAGS_STRICT =
CONFORM_CFLAGS_TRAD =
CODE_CFLAGS =
WARN_CFLAGS_YES =
WARN_CFLAGS_NO = -w
@@ -25,8 +22,6 @@ OPT_CFLAGS_YES = -O
OPT_CFLAGS_NO = -g
# Configure OS vendor C++ compiler
CONFORM_CXXFLAGS_NORMAL =
CONFORM_CXXFLAGS_STRICT =
PROF_CXXFLAGS_YES = +p
PROF_CXXFLAGS_NO =
CODE_CXXFLAGS =

View File

@@ -15,9 +15,6 @@ AR = ar -r
LD = -r
# Configure OS vendor C compiler
CONFORM_CFLAGS_ANSI = -std
CONFORM_CFLAGS_STRICT = -std1
CONFORM_CFLAGS_TRAD = -std0
CODE_CFLAGS =
WARN_CFLAGS_YES =
WARN_CFLAGS_NO = -w
@@ -25,8 +22,6 @@ OPT_CFLAGS_YES = -O
OPT_CFLAGS_NO = -g
# Configure OS vendor C++ compiler
CONFORM_CXXFLAGS_NORMAL =
CONFORM_CXXFLAGS_STRICT = -std gnu
PROF_CXXFLAGS_YES = +p
PROF_CXXFLAGS_NO =
CODE_CXXFLAGS =

View File

@@ -21,3 +21,6 @@ STATIC_LDLIBS_NO=
OP_SYS_LDFLAGS += -z ignore -z combreloc -z lazyload
SHRLIB_LDFLAGS += -Wl,-z,defs -Wl,-z,text -Wl,-h,$@
LOADABLE_SHRLIB_LDFLAGS += -Wl,-z,text -Wl,-h,$@
GNU_LDLIBS_YES += -lc

View File

@@ -9,10 +9,6 @@
include $(CONFIG)/os/CONFIG.solaris-sparc.solaris-sparc
#BUILD_CLASS = HOST
#HOST_OPT = NO
BUILD_CLASS=HOST
HOST_OPT=NO
GNU = NO
# Removes -O optimization and adds -g compile option
CROSS_OPT=NO

View File

@@ -10,10 +10,7 @@
include $(CONFIG)/os/CONFIG.Common.solaris-sparc64
include $(CONFIG)/os/CONFIG.solaris-sparc64.solaris-sparc64
#BUILD_CLASS = HOST
#HOST_OPT = NO
GNU = NO
BUILD_CLASS=HOST
# Removes -O optimization and adds -g compile option
CROSS_OPT=NO
HOST_OPT=NO

View File

@@ -7,13 +7,10 @@
# Sites may override these definitions in CONFIG_SITE.solaris-x86.solaris-x86-debug
#-------------------------------------------------------
include $(CONFIG)/os/Common.solaris-x86
include $(CONFIG)/os/CONFIG.Common.solaris-x86
include $(CONFIG)/os/CONFIG.solaris-x86.solaris-x86
#BUILD_CLASS = HOST
#HOST_OPT = NO
GNU = NO
BUILD_CLASS=HOST
# Removes -O optimization and adds -g compile option
CROSS_OPT=NO
HOST_OPT=NO

View File

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

View File

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

View File

@@ -10,10 +10,7 @@
include $(CONFIG)/os/CONFIG.Common.solaris-x86_64
include $(CONFIG)/os/CONFIG.solaris-x86_64.solaris-x86_64
#BUILD_CLASS = HOST
#HOST_OPT = NO
GNU = NO
BUILD_CLASS=HOST
# Removes -O optimization and adds -g compile option
CROSS_OPT=NO
HOST_OPT=NO

View File

@@ -8,6 +8,7 @@
#-------------------------------------------------------
SPARCWORKS = /opt/SUNWspro
GNU = NO
CC = $(SPARCWORKS)/bin/cc
CCC = $(SPARCWORKS)/bin/CC
@@ -23,9 +24,6 @@ PROFILE=NO
GPROF=NO
# Configure OS vendor C compiler
CONFORM_CFLAGS_ANSI = -Xa -v
CONFORM_CFLAGS_STRICT = -Xa -v
CONFORM_CFLAGS_TRAD = -Xs
PROF_CFLAGS_YES = -p
GPROF_CFLAGS_YES = -xpg
CODE_CFLAGS = $(PROF_CFLAGS_$(PROFILE)) $(GPROF_CFLAGS_$(GPROF))
@@ -35,8 +33,6 @@ OPT_CFLAGS_YES = -xO4
OPT_CFLAGS_NO = -g
# Configure OS vendor C++ compiler
CONFORM_CXXFLAGS_NORMAL =
CONFORM_CXXFLAGS_STRICT =
PROF_CXXFLAGS_YES = -p
GPROF_CXXFLAGS_YES = -xpg
CODE_CXXFLAGS = $(PROF_CXXFLAGS_$(PROFILE)) $(GPROF_CXXFLAGS_$(GPROF))
@@ -62,4 +58,7 @@ OP_SYS_LDFLAGS += -z ignore -z combreloc -z lazyload
#COMPILE_FILTER.c = 2>&1 | $(EPICS_BASE)/configure/tools/filterWarnings.pl
#COMPILE_FILTER.cpp = $(COMPILE_FILTER.c)
#--------------------------------------------------
# Allow site overrides
-include $(CONFIG)/os/CONFIG_SITE.solarisCommon.solarisCommon
-include $(CONFIG)/os/CONFIG_SITE.(EPICS_HOST_ARCH).solarisCommon

View File

@@ -12,7 +12,6 @@ MV = $(PERL) -MExtUtils::Command -e mv
RM = $(PERL) -MExtUtils::Command -e rm_f
MKDIR = $(PERL) -MExtUtils::Command -e mkpath
RMDIR = $(PERL) -MExtUtils::Command -e rm_rf
ECHO = echo
WIND_HOST_TYPE = x86-win32
OSITHREAD_USE_DEFAULT_STACK = NO
@@ -26,5 +25,5 @@ HOME = $(HOMEDRIVE)$(HOMEPATH)
endif
# Needed to find dlls for base installed build tools (antelope,eflex,...)
PATH := $(EPICS_BASE_TOOLS_BIN):$(PATH)
PATH := $(EPICS_BASE_BIN):$(PATH)

View File

@@ -43,22 +43,6 @@ CC = $(BORLAND_BIN)/bcc32 $(CCLINKOPT)
LD = $(BORLAND_BIN)/bcc32 -r
RANLIB =
#
# __STDC__=0 works but not as cleanly as with
# Microsoft Visual C++.
# The Borland header files use ifdef __STDC__
# to disable many nice things. This is overridden
# by defining NO_BORLAND_STDC in the Makefile.
#
ifdef NO_BORLAND_STDC
CONFORM_CFLAGS_ANSI =
CONFORM_CFLAGS_STRICT =
else
CONFORM_CFLAGS_ANSI = -D__STDC__=0
CONFORM_CFLAGS_STRICT = -D__STDC__=0
endif
CONFORM_CFLAGS_TRAD =
# -w display warnings on
# -g0 no limit to warning messages
# some warning message here are always disabled because they are
@@ -87,18 +71,7 @@ CPP = $(BORLAND_BIN)/cpp32 -Sr
PREPROCESS.cpp = $(CPP) $(CPPFLAGS) $(subst /,\\,$(INCLUDES)) -o$@ $<
# Configure OS vendor C++ compiler
#
# __STDC__=0 works but not as cleanly as with
# Microsoft Visual C++.
# The Borland header files use ifdef __STDC__
# to disable many nice things. This is overridden
# by defining NO_BORLAND_STDC in the Makefile.
#
CCC = $(BORLAND_BIN)/bcc32 $(CCLINKOPT)
ifndef NO_BORLAND_STDC
CONFORM_CXXFLAGS_NORMAL = -D__STDC__=0
CONFORM_CXXFLAGS_STRICT = -D__STDC__=0
endif
# -w display warnings on
# -g0 no limit to warning messages
@@ -155,10 +128,6 @@ OPT_LDFLAGS =
SHRLIB_CFLAGS=
ARCH_DEP_CFLAGS=
# to identify the general architecture class:
# should be BSD, SYSV, WIN32, ...
# is: WIN32, sun4, hpux, linux, ...
#
OS_CLASS=WIN32
POSIX=NO

View File

@@ -18,5 +18,5 @@ WIND_HOST_TYPE = x86-win32
OSITHREAD_USE_DEFAULT_STACK = NO
# Needed to find dlls for base installed build tools (antelope,eflex,...)
PATH := $(EPICS_BASE_TOOLS_BIN):$(PATH)
PATH := $(EPICS_BASE_BIN):$(PATH)

View File

@@ -23,15 +23,6 @@ SHRLIB_CFLAGS =
SHRLIB_LDFLAGS = -shared -Wl,--out-implib,$(LIB_PREFIX)$*$(LIB_SUFFIX)
LOADABLE_SHRLIB_LDFLAGS = -shared -Wl,--out-implib,$(LIB_PREFIX)$*$(LIB_SUFFIX)
CONFORM_CFLAGS_ANSI =
CONFORM_CFLAGS_STRICT = -ansi
CONFORM_CXXFLAGS_NORMAL =
CONFORM_CXXFLAGS_STRICT = -ansi
# -ansi build errors need fixing: u_long undeclared, fd_set with no type
CONFORM_CFLAGS_STRICT =
CONFORM_CXXFLAGS_STRICT =
# Override linking with gcc library from CONFIG.gnuCommon
GNU_LDLIBS_YES =

View File

@@ -10,4 +10,5 @@
include $(CONFIG)/os/CONFIG.Common.win32-x86-cygwin
include $(CONFIG)/os/CONFIG.win32-x86-cygwin.win32-x86-cygwin
CROSS_OPT=NO
BUILD_CLASS=HOST
HOST_OPT=NO

View File

@@ -1,10 +1,10 @@
# CONFIG.solaris-x86-debug.solaris-x86-debug
# CONFIG.win32-x86-debug.win32-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
# Definitions for win32-x86 debug compiler host - win32-x86 debug compiler target builds
# Sites may override these definitions in CONFIG_SITE.win32-x86-debug.win32-x86-debug
#-------------------------------------------------------
include $(CONFIG)/os/CONFIG.win32-x86.win32-x86

View File

@@ -15,7 +15,6 @@ MV = $(PERL) -MExtUtils::Command -e mv
RM = $(PERL) -MExtUtils::Command -e rm_f
MKDIR = $(PERL) -MExtUtils::Command -e mkpath
RMDIR = $(PERL) -MExtUtils::Command -e rm_rf
ECHO = echo
WIND_HOST_TYPE = x86-win32
OSITHREAD_USE_DEFAULT_STACK = NO
@@ -23,5 +22,5 @@ OSITHREAD_USE_DEFAULT_STACK = NO
HOSTEXE=.exe
# Needed to find dlls for base installed build tools (antelope,eflex,...)
PATH := $(EPICS_BASE_TOOLS_BIN):$(PATH)
PATH := $(EPICS_BASE_BIN):$(PATH)

View File

@@ -23,12 +23,6 @@ SHRLIB_CFLAGS =
SHRLIB_LDFLAGS = -shared -Wl,--out-implib,$(LIB_PREFIX)$*$(LIB_SUFFIX)
LOADABLE_SHRLIB_LDFLAGS = -shared -Wl,--out-implib,$(LIB_PREFIX)$*$(LIB_SUFFIX)
# Dont use -ansi option: eliminates _fdopen, _tempnam, ...
CONFORM_CFLAGS_ANSI =
CONFORM_CFLAGS_STRICT =
CONFORM_CXXFLAGS_NORMAL =
CONFORM_CXXFLAGS_STRICT =
# Override linking with gcc library from CONFIG.gnuCommon
GNU_LDLIBS_YES =
@@ -36,4 +30,3 @@ OPT_CFLAGS_NO = -O3 -g
OPT_CXXFLAGS_NO = -O3 -g
OP_SYS_LDLIBS = -lws2_32
PROD_SYS_LIBS = ws2_32

View File

@@ -10,4 +10,6 @@
include $(CONFIG)/os/CONFIG.Common.win32-x86-mingw
include $(CONFIG)/os/CONFIG.win32-x86-mingw.win32-x86-mingw
CROSS_OPT=NO
BUILD_CLASS = HOST
HOST_OPT=NO

View File

@@ -12,7 +12,6 @@ MV = $(PERL) -MExtUtils::Command -e mv
RM = $(PERL) -MExtUtils::Command -e rm_f
MKDIR = $(PERL) -MExtUtils::Command -e mkpath
RMDIR = $(PERL) -MExtUtils::Command -e rm_rf
ECHO = echo
WIND_HOST_TYPE = x86-win32
OSITHREAD_USE_DEFAULT_STACK = NO
@@ -26,5 +25,5 @@ HOME = $(HOMEDRIVE)$(HOMEPATH)
endif
# Needed to find dlls for base installed build tools (antelope,eflex,...)
PATH := $(EPICS_BASE_TOOLS_BIN):$(PATH)
PATH := $(EPICS_BASE_BIN):$(PATH)

View File

@@ -31,17 +31,7 @@ BAFCMD = bscmake /nologo /o $@
# Configure OS vendor C compiler
CC = cl
#
# __STDC__=0 is a real great idea of Jeff that gives us both:
# 1) define STDC for build code (pretend ANSI conformance)
# 2) set it to 0 to use MS C "extensions" (open for _open etc.)
# because MS uses: if __STDC__ ... disable many nice things
#
# Use of /Za would dissable DLL import/export keywords which
# include/excludes using architecture neutral macros
CONFORM_CFLAGS_ANSI = /nologo /D__STDC__=0
CONFORM_CFLAGS_STRICT = /nologo /D__STDC__=0
CONFORM_CFLAGS_TRAD = /nologo
GNU = NO
#
# /W<N> use warning level N
@@ -107,8 +97,7 @@ CPP = cl /C /E
# /GR - generate code for run time type identification
#
CCC = cl /nologo /EHsc /GR
CONFORM_CXXFLAGS_NORMAL =
CONFORM_CXXFLAGS_STRICT = /D__STDC__=0
CODE_CPPFLAGS += /nologo /D__STDC__=0
CODE_CPPFLAGS += /D_CRT_SECURE_NO_DEPRECATE /D_CRT_NONSTDC_NO_DEPRECATE
#
@@ -164,10 +153,6 @@ OPT_LDFLAGS = $(LINK_OPT_FLAGS_$(HOST_OPT))
ARCH_DEP_CFLAGS=
SHRLIB_CFLAGS=
# to identify the general architecture class:
# should be BSD, SYSV, WIN32, ...
# is: WIN32, sun4, hpux, linux, ...
#
OS_CLASS=WIN32
POSIX=NO
@@ -260,7 +245,7 @@ PROD_LDLIBS += $(addsuffix .lib, \
LDLIBS_STATIC_YES = LDLIBS
LDLIBS_SHARED_NO = LDLIBS
PROD_LDLIBS += $($(firstword $(LDLIBS_STATIC_$(STATIC_BUILD)) \
PROD_LDLIBS += $(STATIC_LDLIBS) $($(firstword $(LDLIBS_STATIC_$(STATIC_BUILD)) \
$(LDLIBS_SHARED_$(SHARED_LIBRARIES))))
#--------------------------------------------------

View File

@@ -7,9 +7,10 @@
# Sites may override these definitions in CONFIG_SITE.win32-x86.win32-x86-debug
#-------------------------------------------------------
include $(CONFIG)/os/CONFIG.Common.win32-x86
include $(CONFIG)/os/CONFIG.win32-x86.win32-x86
include $(CONFIG)/os/CONFIG.win32-x86-debug.win32-x86-debug
GNU = NO
CROSS_OPT = NO
BUILD_CLASS = HOST
HOST_OPT = NO

View File

@@ -0,0 +1,13 @@
# CONFIG.win-x86_64.Common
#
# $Id$
# This file is maintained by the build community.
#
# Definitions for win-x86_64 host archs
# Sites may override these definitions in CONFIG_SITE.win-x86_64.Common
#-------------------------------------------------------
-include $(CONFIG)/os/CONFIG.win32-x86.Common
WIND_HOST_TYPE = x86_64-win

View File

@@ -0,0 +1,20 @@
# CONFIG.win-x86_64.win-x86_64
#
# $Id$
# This file is maintained by the build community.
#
# Definitions for win-x86_64 target archs when host arch is win-x86_64
# Sites may override these definitions in CONFIG_SITE.win-x86_64.win-x86_64
#-------------------------------------------------------
-include $(CONFIG)/os/CONFIG.win32-x86.win32-x86
#-------------------------------------------------------
STATIC_LDLIBS_YES=ws2_64.lib advapi64.lib user64.lib kernel64.lib winmm.lib
WIN_DLLFLAGS = /subsystem:windows /dll $(OPT_LDFLAGS) $(TARGET_LDFLAGS) $(LIB_LDFLAGS)
LINK.shrlib = $(WINLINK) /nologo $(WIN_DLLFLAGS) /implib:$*.lib /out:$*.dll $(DLL_DEF_FLAG)

View File

@@ -10,11 +10,9 @@
# ARCH_<host_arch> = <epics_host_arch>
ARCH_solaris = solaris-sparc
ARCH_solarisGnu = solaris-sparc-gnu
ARCH_sun4 = sun4-sparc
ARCH_Linux = linux-x86
ARCH_Darwin = darwin-ppc
ARCH_WIN32 = win32-x86
ARCH_hp700 = hpux-parisc
ARCH_alpha = osf-alpha
ARCH_cygwin32 = cygwin-x86
ARCH_Borland = win32-x86-borland

View File

@@ -5,8 +5,12 @@
# Where to find RTEMS
#
RTEMS_BASE=/usr/local/rtems/rtems-4.9
RTEMS_VERSION=4.9
RTEMS_BASE=/usr/local/rtems/rtems-4.9.2
RTEMS_VERSION=4.9.2
# Cross-compile toolchain in $(RTEMS_TOOLS)/bin
#
RTEMS_TOOLS=$(RTEMS_BASE)
# If you're using neither BOOTP/DHCP nor FLASH to pick up your IOC

View File

@@ -0,0 +1,14 @@
# CONFIG_SITE.Common.darwin-ppc
#
# $Id$
# This file is maintained by the build community.
#
# Site override definitions for darwin-ppc target builds
#-------------------------------------------------------
# Select which CPU architectures to include in your universal binaries:
# ppc
# ppc64 - Not tested
ARCH_CLASS = ppc
#ARCH_CLASS = ppc ppc64

View File

@@ -0,0 +1,18 @@
# CONFIG_SITE.Common.darwin-ppcx86
#
# $Id$
# This file is maintained by the build community.
#
# Site override definitions for darwin-ppcx86 target builds
#----------------------------------------------------------
# Select which CPU architectures to include in your universal binaries:
# ppc
# i386
# ppc64 - Not tested
# x86_64 - Needs MacOS 10.5 or 10.4 with Universal SDK
ARCH_CLASS = ppc i386
#ARCH_CLASS = ppc i386 x86_64
#ARCH_CLASS = ppc ppc64 i386
#ARCH_CLASS = ppc ppc64 i386 x86_64

View File

@@ -0,0 +1,14 @@
# CONFIG_SITE.Common.darwin-x86
#
# $Id$
# This file is maintained by the build community.
#
# Site override definitions for darwin-x86 target builds
#-------------------------------------------------------
# Select which CPU architectures to include in your universal binaries:
# i386
# x86_64 - Needs MacOS 10.5 or 10.4 with Universal SDK
ARCH_CLASS = i386
#ARCH_CLASS = i386 x86_64

View File

@@ -1,19 +0,0 @@
# CONFIG_SITE.Common.hpux-parisc
#
# $Id$
#
# Site Specific definitions for hpux-parisc target
# Only the local epics system manager should modify this file
# NOTE: If SHARED_LIBRARIES=YES (now the default) then
# a) Environment variable 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, or
# b) Add the path to SHRLIB_DEPLIB_DIRS and PROD_DEPLIB_DIRS below, which will burn
# the runtime search path into the executables.
#SHARED_LIBRARIES=YES
# This is the absolute path to the generic INSTALL_LOCATION, for SHARED_LIBRARY searches.
SHRLIB_DEPLIB_DIRS += /opt/epics/R$(EPICS_SHORT_VERSION)/base/$(EPICS_VERSION)-$(EPICS_REVISION)-$(EPICS_MODIFICATION)-$(EPICS_PATCH_LEVEL)$(EPICS_CVS_SNAPSHOT)$(EPICS_SITE_VSTRING)/lib/$(EPICS_HOST_ARCH)
PROD_DEPLIB_DIRS += /opt/epics/R$(EPICS_SHORT_VERSION)/base/$(EPICS_VERSION)-$(EPICS_REVISION)-$(EPICS_MODIFICATION)-$(EPICS_PATCH_LEVEL)$(EPICS_CVS_SNAPSHOT)$(EPICS_SITE_VSTRING)/lib/$(EPICS_HOST_ARCH)

View File

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

@@ -0,0 +1,12 @@
# CONFIG_SITE.Common.solaris-x86-gnu
#
# $Id$
#
# Site Specific definitions for solaris-x86-gnu target
# Only the local epics system manager should modify this file
# solaris 10 default location
#GNU_DIR=/usr/sfw
# APS site override
GNU_DIR = /usr/local

View File

@@ -0,0 +1,11 @@
# CONFIG_SITE.Common.solaris-x86_64-gnu
#
# $Id$
#
# Site Specific definitions for solaris-x86_64-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-x86-gnu
COMMANDLINE_LIBRARY = EPICS

View File

@@ -5,8 +5,3 @@
# Site Specific definitions for cygwin-x86 target
# Only the local epics system manager should modify this file
# Needed to find dlls for gcc, g++, as, cpp, ...
# if cygwin/bin not already in path
CYGWIN_BIN=C:/cygwin/bin
export PATH := $(CYGWIN_BIN):$(PATH)

View File

@@ -5,5 +5,3 @@
#
# Site override definitions for darwin-ppc host builds
#-------------------------------------------------------
CROSS_COMPILER_TARGET_ARCHS = # RTEMS-uC5282 RTEMS-mvme5500 RTEMS-mvme2100

View File

@@ -5,8 +5,3 @@
#
# Site override definitions for darwin-ppcx86 host builds
#-------------------------------------------------------
#
# Need this to get OS X readline rather than Fink (PPC-only) readline
#
OP_SYS_LDFLAGS += -L/usr/lib

View File

@@ -1,9 +1,7 @@
# CONFIG_SITE.darwin-ppc.Common
# CONFIG_SITE.darwin-x86.Common
#
# $Id$
# This file is maintained by the build community.
#
# Site override definitions for darwin-ppc host builds
# Site override definitions for darwin-x86 host builds
#-------------------------------------------------------
CROSS_COMPILER_TARGET_ARCHS = # RTEMS-uC5282 # RTEMS-mvme5500 RTEMS-mvme2100

View File

@@ -6,16 +6,3 @@
# Only the local epics system manager should modify this file
#-------------------------------------------------------
# JBA test override values
#CMPLR_SUFFIX=
#GNU_TARGET=m68k-wrs-vxworks
#CMPLR_PREFIX=$(addsuffix -,$(GNU_TARGET))
# ORNL SNS overrides for cross compilers
#VX_DIR_YES = /opt/tornado20/
#VX_CONFIG_DIR_YES = $(VX_DIR)/target/config
#VX_INCLUDE_YES = /usr/local/crossgcc/m68k/m68k-wrs-vxworks/sys-include
#VX_GNU_YES = /usr/local/crossgcc/m68k/
#VX_GNU_BIN_YES = $(VX_GNU)/bin
#VX_GNU_LIB_YES = /usr/local/crossgcc/m68k/lib/gcc-lib/m68k-wrs-vxworks/2.95.2

View File

@@ -6,9 +6,4 @@
# Definitions for linux-x86 host - vxWorks target builds
#-------------------------------------------------------
# Example override lines for user built cross-compiler
#GNU_DIR=/home/phoebus/JBA/gnu
#GNU_TARGET_INCLUDE_DIR=$(GNU_DIR)/$(GNU_TARGET)/include
#CMPLR_SUFFIX=
#CMPLR_PREFIX=$(addsuffix -,$(GNU_TARGET))

View File

@@ -6,16 +6,3 @@
# Only the local epics system manager should modify this file
#-------------------------------------------------------
# JBA test override values
#CMPLR_SUFFIX=
#GNU_TARGET=m68k-wrs-vxworks
#CMPLR_PREFIX=$(addsuffix -,$(GNU_TARGET))
# ORNL SNS overrides for cross compilers
#VX_DIR = /opt/tornado20/
#VX_CONFIG_DIR_YES = $(VX_DIR)/target/config
#VX_INCLUDE_YES = /usr/local/crossgcc/m68k/m68k-wrs-vxworks/sys-include
#VX_GNU_YES = /usr/local/crossgcc/m68k/
#VX_GNU_BIN_YES = $(VX_GNU)/bin
#VX_GNU_LIB_YES = /usr/local/crossgcc/m68k/lib/gcc-lib/m68k-wrs-vxworks/2.95.2

View File

@@ -9,8 +9,3 @@
# to omit command-line editing and history support
#COMMANDLINE_LIBRARY = READLINE
# Needed to find dlls for gcc, g++, as, cpp, ...
# if MINGW_BIN not in user's path
MINGW_BIN=C:/MinGW/bin
export PATH := $(MINGW_BIN):$(PATH)

View File

@@ -13,13 +13,10 @@
<h2>Converting an EPICS R3.13 application to R3.14</h2>
</center>
<p><br>
This document describes how to convert a R3.13 vxWorks application so that it
<p>This document describes how to convert a R3.13 vxWorks application so that it
builds with release R3.14. It describes procedures such that:</p>
<ul>
<li>The application uses the configure rules which are new to R3.14.</li>
</ul>
<ul>
<li>The OSI (Operating System Independent) features of R3.14 are available,
i.e. iocCore products can be build for vxWorks as well as other
platforms, e.g. solaris and linux.</li>
@@ -27,109 +24,135 @@ builds with release R3.14. It describes procedures such that:</p>
<h3>Gnumake clean uninstall</h3>
<p>First do a gnumake clean uninstall in the application's root directory to
remove all files created by earlier builds.</p>
<p>First do a <tt>gnumake clean uninstall</tt> in the application's root
directory to 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
</pre>
<h3>Copy all *App and iocBoot directories and files to the new &lt;top&gt;
<blockquote>
<pre>mkdir <i>top</i>
cd <i>top</i>
<i>/path/to/base-3.14</i>/bin/<i>host_arch</i>/makeBaseApp.pl -t example junk</pre>
</blockquote>
<h3>Copy all *App and iocBoot directories and files to the new <i>top</i>
directory</h3>
<pre>cd &lt;oldtop&gt;
find *App iocBoot -print | cpio -pvmd &lt;fullpath name to new top&gt;</pre>
<h3>Modify &lt;top&gt;/configure/RELEASE</h3>
<blockquote>
<pre>cd <i>oldtop</i>
find *App iocBoot -print | cpio -pvmd <i>/path/to/new/top</i></pre>
</blockquote>
<h3>Modify <i>top</i>/configure/RELEASE</h3>
<p>Copy definitions of external modules excluding EPICS_BASE and
TEMPLATES_TOP from old application RELEASE file. <br>
If sequence programs (*.st or *.stt files) exist in your application, add the
SNCSEQ location definition for the R3.14 seq external module</p>
SNCSEQ location definition for the R3.14 sncseq 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 the same EPICS base R3.14 release.
<blockquote>
<pre>SNCSEQ = <i>/path/to/sncseq</i></pre>
</blockquote>
<h3>Modify the Makefiles in &lt;top&gt;/*App directories.</h3>
<p>The R3.14 sncseq module must exist and be built with the same EPICS base
R3.14 release.</p>
<p>Change <tt>"include $(TOP)/config/CONFIG_APP"</tt> to <tt>"include
$(TOP)/configure/CONFIG"</tt></p>
<h3>Modify the Makefiles in <i>top</i>/*App directories.</h3>
<p>Change " i<tt>nclude $(TOP)/config/RULES_DIRS</tt>" to  "<tt>include
$(TOP)/configure/RULES_DIRS"</tt></p>
<p>Change <q><tt>include $(TOP)/config/CONFIG_APP</tt></q> to <q><tt>include
$(TOP)/configure/CONFIG</tt></q></p>
<h3>Modify the Makefiles in &lt;top&gt;/*App/*Db directories.</h3>
<p>Change <q><tt>include $(TOP)/config/RULES_DIRS</tt></q> to <q><tt>include
$(TOP)/configure/RULES_DIRS</tt></q></p>
<p>Remove existing Makefile <br>
Rename Makefile.Host to Makefile <br>
Modify Makefile as follows:</p>
<h3>Modify the Makefiles in <i>top</i>/*App/*Db directories.</h3>
<p>Change "<tt>TOP=../../.."</tt> to "<tt>TOP=../.."</tt></p>
<p>Remove existing <q><tt>Makefile</tt></q>.</p>
<p>Change    "i<tt>nclude $(TOP)/config/CONFIG_APP</tt>" to "<tt>include
$(TOP)/configure/CONFIG"</tt></p>
<p>Rename <q><tt>Makefile.Host</tt></q> to <q><tt>Makefile</tt></q></p>
<p>Change "<tt>include $(TOP)/config/RULES.Db" </tt>to <tt>"include
$(TOP)/configure/RULES"</tt></p>
<p>Modify the <tt>Makefile</tt> as follows:</p>
<p>Change <q><tt>TOP=../../..</tt></q> to <q><tt>TOP=../..</tt></q></p>
<p>Change <q><tt>include $(TOP)/config/CONFIG_APP</tt></q> to <q><tt>include
$(TOP)/configure/CONFIG</tt></q></p>
<p>Change <q><tt>include $(TOP)/config/RULES.Db</tt></q>to <q><tt>include
$(TOP)/configure/RULES</tt></q></p>
<p>Place all definitions between the include lines.</p>
<p>Place any rules after the last include line.</p>
<h3>Modify the Makefiles in &lt;top&gt;/*App/src directories.</h3>
<h3>Modify the Makefiles in <i>top</i>/*App/src directories.</h3>
<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 the Makefile from junkApp/src.</p>
<pre>rm Makefile
<blockquote>
<pre>rm Makefile
cp ../../junkApp/src/Makefile .</pre>
</blockquote>
<p>We can remove the junkApp now.</p>
<pre>/bin/rm -fr ../../junkApp</pre>
<p>We can remove the junkApp now (unless you have other App/src directories
still to convert):</p>
<p>This new Make file has comments explaining how to build the various host
<blockquote>
<pre>rm -rf ../../junkApp</pre>
</blockquote>
<p>This new Makefile has comments explaining how to build the various host
and ioc products. Lets consider some examples</p>
<ul>
<li>Host programs
<p>Makefile.Host contains definitions like:</p>
<pre>PROD += caExample
<blockquote>
<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>
Com_DIR = $(EPICS_BASE_LIB)</pre>
</blockquote>
<p>In Makefile these are:</p>
<pre>PROD_HOST += caExample
<blockquote>
<pre>PROD_HOST += caExample
caExample_SRCS += caExample.c
caExample_LIBS += $(EPICS_BASE_HOST_LIBS)
</pre>
caExample_LIBS += $(EPICS_BASE_HOST_LIBS)</pre>
</blockquote>
</li>
<li>Record Support - generate xxxRecord.h file
<p>Makefile.Host (or perhaps Makefile.Vx) contains:</p>
<pre>RECTYPES += xxxRecord.h
</pre>
<blockquote>
<pre>RECTYPES += xxxRecord.h</pre>
</blockquote>
<p>In Makefile this is:</p>
<pre>DBDINC += xxxRecord
</pre>
<blockquote>
<pre>DBDINC += xxxRecord</pre>
</blockquote>
</li>
<li>Generating the .dbd file for all record/device/driver support
<p>Makefile.Host (or perhaps Makefile.Vx) contains:</p>
<pre>DBDEXPAND = exampleInclude.dbd
DBDNAME = exampleApp.dbd
</pre>
<blockquote>
<pre>DBDEXPAND = exampleInclude.dbd
DBDNAME = exampleApp.dbd</pre>
</blockquote>
<p>In Makefile this is:</p>
<pre>DBD += example.dbd
</pre>
<blockquote>
<pre>DBD += example.dbd</pre>
</blockquote>
<p>NOTES: Change exampleApp.dbd to example.dbd in all st.cmd files. Also
this definition assumes that file exampleInclude.dbd exists.</p>
</li>
<li>Create the ioc application:
<p>Makefile.Vx contains statements like:</p>
<pre>SRCS.c += ../xxxRecord.c
<blockquote>
<pre>SRCS.c += ../xxxRecord.c
SRCS.c += ../devXxxSoft.c
LIBOBJS += xxxRecord.o
@@ -139,11 +162,11 @@ LIBOBJS += sncExample.o
include ../baseLIBOBJS
LIBNAME = exampleLib
INSTALLS += iocCore seq
</pre>
INSTALLS += iocCore seq</pre>
</blockquote>
<p>In Makefile these become:</p>
<pre>
LIBRARY_vxWorks += exampleIoc
<blockquote>
<pre>LIBRARY_vxWorks += exampleIoc
exampleIoc_SRCS += xxxRecord.c
exampleIoc_SRCS += devXxxSoft.c
exampleIoc_LIBS += $(EPICS_BASE_IOC_LIBS)
@@ -158,9 +181,8 @@ example_LIBS += $(EPICS_BASE_IOC_LIBS)
example_SRCS += example_registerRecordDeviceDriver.cpp
#The following adds support from base/src/vxWorks
example_OBJS_vxWorks += $(EPICS_BASE_BIN)/vxComLibrary
</pre>
example_OBJS_vxWorks += $(EPICS_BASE_BIN)/vxComLibrary</pre>
</blockquote>
</li>
</ul>
@@ -169,223 +191,224 @@ baseLIBOBJS, Makefile.Host, and Makefile.Vx</p>
<h3>File base.dbd no longer needed</h3>
<p>You now can add the line</p>
<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
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>
<pre>include "base.dbd"</pre>
</blockquote>
<p>to your <i>appname</i>Include.dbd file and remove the file
<i>name</i>App/src/base.dbd from your src directory. The base.dbd from base/dbd
will be used instead. If you only want to load a subset of the record
definitions from base you can keep your own copy of base.dbd, but you should
copy the one from your R3.14 base and edit that rather than trying to re-use the
R3.13 version from your old application.</p>
<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 &lt;recordname&gt;RSET={ ...</pre>
</blockquote>
to
<blockquote>
<pre>rset &lt;recordname&gt;RSET={ ...</pre>
</blockquote>
and add the following line after the "rset &lt;recordname&gt;RSET="
definition.
<blockquote>
<pre>epicsExportAddress(rset,&lt;recordname&gt;RSET);</pre>
</blockquote>
</blockquote>
<h3>Device support</h3>
<p>Add the following line after all existing #includes</p>
<blockquote>
Add the following line after all existing #includes
<blockquote>
<pre>#include "epicsExport.h"</pre>
<pre>#include "epicsExport.h"</pre>
</blockquote>
and add the following line after the dset definition:
struct { ...} dev&lt;devname&gt;= { ...};
<blockquote>
<pre>epicsExportAddress(dset,dev&lt;devname&gt;);</pre>
</blockquote>
</blockquote>
<h3>Driver support</h3>
<p>The structure rset is now a typedef so change</p>
<blockquote>
Add the following line after all existing #includes
<blockquote>
<pre>#include "epicsExport.h"</pre>
<pre>struct rset <i>recordname</i>RSET = { ... };</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>Modify the Makefiles in &lt;top&gt;/iocBoot directory.</h3>
<p>Change " i<tt>nclude $(TOP)/config/CONFIG_APP" </tt>to "<tt>include
$(TOP)/configure/CONFIG"</tt></p>
<p>If they do not already exist, add the lines
<blockquote>
<p><tt>DIRS += $(wildcard *ioc*)</tt></p>
<p><tt>DIRS += $(wildcard as*)</tt></p>
</blockquote>
<p>Change <tt>"include $(TOP)/config/RULES.iocBoot" </tt>to "i<tt>nclude
$(TOP)/configure/RULES_DIRS"</tt></p>
<h3>Modify the Makefiles in &lt;top&gt;/iocBoot/ioc* directories.</h3>
<p>Change <tt>"include $(TOP)/config/CONFIG_APP" </tt>to "<tt>include
$(TOP)/configure/CONFIG"</tt></p>
<p>Change</p>
<p><tt>ARCH = &lt;old arch specification e.g. mv167&gt;</tt></p>
<p>to</p>
<p><tt>ARCH = &lt;new arch specification e.g.
vxWorks-68040&gt;</tt></p>
<blockquote>
<pre>rset <i>recordname</i>RSET = { ... };</pre>
</blockquote>
<p>Change "<tt>include $(TOP)/config/RULES.ioc</tt>" to "<tt>include
$(TOP)/configure/RULES.ioc"</tt></p>
<p>and add the following line after the <q>rset <i>recordname</i>RSET = { ...
};</q> definition.</p>
<blockquote>
<pre>epicsExportAddress(rset,<i>recordname</i>RSET);</pre>
</blockquote>
<h3>Device support</h3>
<p>Add the following line after all existing #includes</p>
<blockquote>
<pre>#include "epicsExport.h"</pre>
</blockquote>
<p>and add the following line after the dset definition <q>struct { ... }
dev<i>name</i> = { ... };</q></p>
<blockquote>
<pre>epicsExportAddress(dset,dev<i>name</i>);</pre>
</blockquote>
<h3>Driver support</h3>
<p>Add the following line after all existing #includes</p>
<blockquote>
<pre>#include "epicsExport.h"</pre>
</blockquote>
<p>and add the following line after the drvet drv<i>name</i> definition</p>
<blockquote>
<pre>epicsExportAddress(drvet,drv<i>name</i>);</pre>
</blockquote>
<h3>Registration code changed</h3>
<p>Registration code for application specific functions, e.g. subroutine record
init and process functions, must been changed as follows</p>
<ol>
<li>Include the following header files after all existing #includes:
<blockquote>
<pre>#include "registerFunction.h"
#include "epicsExport.h"</pre>
</blockquote></li>
<li>Make the application specific functions static functions, e.g.
<blockquote>
<pre>static long mySubInit(subRecord *precord)
static long mySubProcess(subRecord *precord)</pre>
</blockquote></li>
<li>Add an epicsExportFunction statement for each of the functions to be
registered, e.g.
<blockquote>
<pre>epicsExportFunction(mySubInit);
epicsExportFunction(mySubProcess);</pre>
</blockquote></li>
<li>Add a function statement for each of the functions to be registered in a
.dbd file that is included in the application, e.g.
<blockquote>
<pre>function("mySubInit")
function("mySubProcess")</pre>
</blockquote></li>
</ol>
<h3>Modify the Makefiles in <i>top</i>/iocBoot directory.</h3>
<p>Change <q><tt>include $(TOP)/config/CONFIG_APP</tt></q> to <q><tt>include
$(TOP)/configure/CONFIG</tt></q></p>
<p>If they do not already exist, add the lines</p>
<blockquote>
<pre>DIRS += $(wildcard *ioc*)
DIRS += $(wildcard as*)</pre>
</blockquote>
<p>Change <q><tt>include $(TOP)/config/RULES.iocBoot</tt></q> to <q><tt>include
$(TOP)/configure/RULES_DIRS</tt></q>.</p>
<h3>Modify the Makefiles in <i>top</i>/iocBoot/ioc* directories.</h3>
<p>Change <q><tt>include $(TOP)/config/CONFIG_APP</tt></q> to <q><tt>include
$(TOP)/configure/CONFIG</tt></q></p>
<p>Change</p>
<blockquote>
<pre>ARCH = &lt;old arch specification e.g. mv167&gt;</pre>
</blockquote>
<p>to</p>
<blockquote>
<pre>ARCH = &lt;new arch specification e.g. vxWorks-68040&gt;</pre>
</blockquote>
<p>Change <q><tt>include $(TOP)/config/RULES.ioc</tt></q> to <q><tt>include
$(TOP)/configure/RULES.ioc</tt></q></p>
<p>If it exists remove the line</p>
<p><tt>buildInstall: cdCommands </tt></p>
<blockquote>
<pre>buildInstall: cdCommands</pre>
</blockquote>
<p>Add the line</p>
<p><tt>TARGETS = cdCommands</tt></p>
<blockquote>
<pre>TARGETS = cdCommands</pre>
</blockquote>
<p>before the include for RULES.ioc line.</p>
<h3>Modify st.cmd in &lt;top&gt;/iocBoot/ioc* directories.</h3>
<h3>Modify st.cmd in <i>top</i>/iocBoot/ioc* directories.</h3>
<p>Remove the lines</p>
<pre>ld &lt; seq
<blockquote>
<pre>ld &lt; seq
ld &lt; iocCore</pre>
</blockquote>
<p>Change "<tt>ld &lt; &lt;libname&gt;Lib</tt>" to "<tt>ld &lt;
&lt;libname&gt;.munch"</tt></p>
<p>Change <q><tt>ld &lt; <i>name</i>Lib</tt></q> to
<p>Change "<tt>cd appbin</tt>" to "<tt>cd topbin</tt>"</p>
<blockquote>
<pre>ld 0,0, "<i>name</i>.munch"</pre>
<p>(The <tt>ld</tt> command in vxWorks 5.5.2 doesn't clean up its standard
input properly, so we now recommend passing the filename to it directly
instead.)</p> </blockquote>
<p>Change <q><tt>cd appbin</tt></q> to <q><tt>cd topbin</tt></q></p>
<p>Change the statement:</p>
<p><tt>dbLoadDatabase("../../dbd/&lt;name&gt;App.dbd")</tt> <br>
</p>
to
<pre>dbLoadDatabase("../../dbd/&lt;name&gt;.dbd")
&lt;name&gt;_registerRecordDeviceDriver(pdbbase)</pre>
<blockquote>
<pre>dbLoadDatabase("../../dbd/<i>name</i>App.dbd")</pre>
</blockquote>
<p>where &lt;name&gt; is replaced with the name of your dbd file.</p>
to
<blockquote>
<pre>dbLoadDatabase("../../dbd/<i>name</i>.dbd")
<i>name</i>_registerRecordDeviceDriver(pdbbase)</pre>
</blockquote>
<p>where <i>name</i> is replaced with the name of your dbd file.</p>
<h3>recGbl calls</h3>
<p>If any source file makes calls to recGbl routines make sure it has <span
style="font-family: courier">"#include "recGbl.h"</span>. If it doesn't the
compiler will issue warning messages and the ioc may issue the message:
"undefined symbol: _recGblSetSevr".</p>
<p>If any source file makes calls to recGbl routines make sure it includes
<tt>recGbl.h</tt>. If it doesn't the compiler will issue warning messages and
the ioc may issue the message: <q>undefined symbol: _recGblSetSevr</q>.</p>
<h3>Record support changes</h3>
<p>The steppermotor, scan, and pid records are no longer in base.  If these
<p>The steppermotor, scan, and pid records are no longer in base. If these
records are not used in your application, comment out references to them in
base.dbd. If these record types are used at your site, they  should be
base.dbd. If these record types are used at your site, they should be
downloaded and built with base R3.14 by your EPICS administrator. To update
the R3.14 location of these record types in your application you must  add
the R3.14 location of these record types in your application you must add
appropriate module definitions to your application's config/RELEASE file and
add <tt>LIBOBJS</tt> definitions to the src Makefile.</p>
<p>For example add</p>
<p>         <tt>PID=&lt;full path to modules directory&gt;/pid</tt></p>
<blockquote>
<pre>PID = <i>/path/to/modules</i>/pid</pre>
</blockquote>
<p>to config/RELEASE and add <br>
<p>to config/RELEASE and add</p>
<p></p>
<blockquote>
<pre>LIBOBJS += $(PID_BIN)/pidRecord.o</pre>
</blockquote>
<p><tt>LIBOBJS += $(PID_BIN)/pidRecord.o</tt></p>
to your application src/Makefile.
<p>to your application src/Makefile.</p>
<p>You should consider changing any existing old steppermotor records to the
new EPICS  motor record  module supported by Beamline Controls and Data
new EPICS motor record module supported by Beamline Controls and Data
Acquisition at APS.</p>
<h3>RecDynLink.o and devPtSoft changes</h3>
@@ -394,8 +417,8 @@ Acquisition at APS.</p>
separate EPICS modules.You must now add the appropriate module full path
definitions to your application config/RELEASE file, and change
<tt>LIBOBJS</tt> location definition <tt>$(EPICS_BASE_BIN)</tt> to the module
definition bin directory in your application src directory files.  See
"Hardware support changes" below for instructions.</p>
definition bin directory in your application src directory files. See
<q>Hardware support changes</q> below for instructions.</p>
<h3>Hardware support changes</h3>
@@ -408,35 +431,41 @@ application, comment out references to them in base.dbd.</p>
support for your site should be downloaded and built with base R3.14 by your
EPICS administrator. You must now add the appropriate module full path
definitions to your application config/RELEASE file, and change
<tt>LIBOBJS</tt> location from <tt>$(EPICS_BASE_BIN) </tt>to the module  bin
<tt>LIBOBJS</tt> location from <tt>$(EPICS_BASE_BIN) </tt>to the module bin
directory in your application src directory files.</p>
<p>For example, remove</p>
<p>         <tt>LIBOBJS+=$(EPICS_BASE_BIN)/symb</tt></p>
<blockquote>
<pre>LIBOBJS += $(EPICS_BASE_BIN)/symb</pre>
</blockquote>
<p>from baseLIBOBJS and add</p>
<p>         <tt>LIBOBJS+=$(SYMB_BIN)/symb</tt></p>
<blockquote>
<pre>LIBOBJS += $(SYMB_BIN)/symb</pre>
</blockquote>
<p>to your application src/Makefile, <br>
and add the line</p>
<p>to your application src/Makefile, and add the line</p>
<p><tt>SYMB=&lt;full path definition for the built module SYMB&gt;</tt></p>
<blockquote>
<pre>SYMB = &lt;full path definition for the built module SYMB&gt;</pre>
</blockquote>
<p>into your application config/RELEASE file .</p>
<p>into your application config/RELEASE file.</p>
<h3>dbLoadtemplate tool changes</h3>
<p>The host tool dbLoadTemplate has been replace by a new EPICS extension,
msi, which should be downloaded and built with base R3.14 by your EPICS
administrator. dbLoadTemplate is still supported on iocs.  If, in your
administrator. dbLoadTemplate is still supported on iocs. If, in your
application, db files are created from template and substitution files you
should  add the definition</p>
should add the definition</p>
<p><tt>MSI=&lt;full path name to msi executable&gt;</tt></p>
<blockquote>
<pre>MSI = &lt;full path name to msi executable&gt;</pre>
</blockquote>
<p>to your application config/RELEASE file.</p>
<br>
 </body>
</body>
</html>

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