Compare commits

...

175 Commits

Author SHA1 Message Date
Andrew Johnson
db0c9d7d82 Creating 3.14.12.2-rc1
Set version number, update release notes.
2011-11-28 16:35:43 -06:00
Andrew Johnson
b791a3692b libCom: Clean up win32 build warning
Delete CFLAG added for the Borland compiler (no longer supported).
2011-11-28 15:54:49 -06:00
Benjamin Franksen
0e41c03ff2 dbStatic: Fix windows build issue
fixes: lp:894276
2011-11-28 12:55:55 -06:00
Andrew Johnson
b5ec6e2448 catools: Edited camonitor help text. 2011-11-21 12:30:02 -06:00
unknown
d077c8b0ff dbStatic: Added -b option to dbExpand
-b turns off monotonic checking of breakpoint tables.
2011-11-21 11:33:26 -06:00
Andrew Johnson
b48979f5a5 Set snapshot to 3.14.12.2-pre1-DEV 2011-11-14 14:07:02 -06:00
Andrew Johnson
967ce8eb84 Creating 3.14.12.2-pre1
Set version number, update release notes.
2011-11-14 14:03:22 -06:00
Andrew Johnson
b27e22d75e Makefile cleanup
Various minor changes to comments and build variable names.
2011-11-14 12:33:07 -06:00
Jeff Hill
6ef52b5d03 fixed launchpad bug 697509, Thread synchronization issue in libCom/osi/os/WIN32/osdTime.cpp 2011-11-10 17:34:47 -07:00
Jeff Hill
652235ef13 fixed LP Bug #697517, WIN32 osdtime should handle the system time change properly 2011-11-10 17:22:22 -07:00
Jeff Hill
5b46eebe1a fixed LP bug 697516, PLL time adjustments fail if user sets system time before EPICS epoch 2011-11-10 14:52:22 -07:00
Jeff Hill
a252218e69 fixed launchpad bug 697519 (rollover time diff calc off by two ticks) 2011-11-10 14:03:01 -07:00
Andrew Johnson
fae5bbcf86 cap5: Don't try to process POD on Win32 2011-11-10 13:29:33 -06:00
Andrew Johnson
a0c1c0fb15 makeBaseApp: Remove local duplicates of library functions
Replace the buggy local copies of the functions UnixPath(),
LocalPath(), readRelease() and expandRelease() with the
library versions from our EPICS::Path and EPICS::Release
perl modules.
2011-11-08 17:51:19 -06:00
Andrew Johnson
bb14c6594b Win32: Fix for lp:861214 2011-11-08 15:57:15 -06:00
Andrew Johnson
0dfbd460e1 configure: Fix potential parallel build issue
When creating files in ../O.Common it is eesential to use atomic
file replacement rather than deleting the old file and creating
a new one in its place, because two or three architectures could
be being built in parallel which might interfere.

This commit also ensures that .dbd.d files are constructed
properly when using 'make -s'; $(ECHO) does nothing then.
2011-11-08 13:23:25 -06:00
Andrew Johnson
b36b07db9e Clean up some compiler warnings reported by J. Lewis Muir. 2011-11-07 11:58:09 -06:00
Andrew Johnson
ee95f0c4b7 catools: Fix array handling in caget and camonitor.
Fixes lp:794749
2011-11-02 11:26:29 -05:00
Andrew Johnson
d72b4a3c1e Fix install problems when using parallel builds.
If two targets using the same OS are built in parallel,
they can both try to install the same include/os/* file
at the same time, causing the installEpics.pl script to
die.  We fix this by making all installations atomic:
First copy the file to the installation directory using
a unique name, then rename it to the target name.  The
target name is in the same directory and filesystem as
the temporary name, so the rename should be atomic.
2011-10-28 13:19:08 -05:00
Andrew Johnson
21b4acfa86 ca: Remove anonymous namespace from acctstRegister.cpp
The 3.14 branch still supports vxWorks 5.4.2 whose compiler
doesn't contain any namespace support.
2011-10-19 17:36:21 -05:00
Jeff Hill johill@lanl.gov
96cad82a2a o fixed launchpad epics base bug 878372
o fixed launchpad epics base bug 878387
o added regression test for bug 878372
o build the optional test and diagnostic codes  for all (not just vxWorks) IOCs
o added acctstRegister optional IOC shell registration for regression tests
2011-10-19 12:07:00 -06:00
Andrew Johnson
d088d4b664 configure: Correct INSTALL_DBDFLAGS and INSTALL_DBFLAGS
fixes lp:861627
2011-09-28 15:33:22 -05:00
Andrew Johnson
6cb9a3f7c1 iocInit: Added some database sanity checks to iocIInit
Two menus can get modified by users; these checks make sure they
haven't been damaged too much:

* menuConvert is checked to flag problems with IOCs converted from
  3.13.x, where the SLOPE choice didn't exist.
* menuScan is checked to ensure the three initial choices are still
  present and that there is at least one periodic scan rate.
2011-09-26 16:42:15 -05:00
Till Straumann
6c4164d953 libCom: Second fix for RT thread priority
The previous fix prevented epicsThreads from working properly when
the RT scheduler is *not* used.

fixes lp:835138
2011-09-21 09:55:52 -05:00
Janet Anderson
3a101aa697 Fixed DBDINC_NAME definition 2011-09-15 11:03:20 -05:00
Janet Anderson
46ea687c6d Fixed TARGET_SRCS definition 2011-09-15 11:00:41 -05:00
Andrew Johnson
75aa05d30f libCom: Remove extern "C" { #include <...> } from osdSock.h
Our joint conclusion was that wrapping system includes with
extern "C" used to be necessary on some OS builds when C++
was much less common, but is now wrong.
2011-09-09 17:14:35 -05:00
Andrew Johnson
3cfa011760 libCom: Clean up warning from Darwin. 2011-09-09 17:10:32 -05:00
Jeff Hill
83e5247ed4 workaround for non-standard vxWorks 5.5.2 gnu compiler 2011-09-08 17:57:14 -06:00
Till Straumann
f203e9a48b libCom: Fix OS priority mapping on Posix
Fixes lp:835138
2011-08-30 14:47:31 -05:00
Ralph Lange
14e7111e72 catools: Fixed caget (w/o -c) always fetching max. array count 2011-08-25 17:41:53 +02:00
Till Straumann
2b65025d93 RTEMS: Time registration when dynamically loading
The old test for discriminating between statically and dynamically
linked applications (os/RTEMS/osdTime.cpp:staticTimeRegister()) is
wrong, it never detects a dynamically loaded app.

fixes lp:831648
-------------- This line and the following will be ignored
--------------

modified:
  src/libCom/osi/os/RTEMS/osdTime.cpp
2011-08-23 13:20:00 -05:00
Andrew Johnson
2b4edba8f3 Update copyright names and dates in LICENSE file. 2011-08-17 15:14:10 -05:00
Andrew Johnson
35b72b60fb shutdown: Lock records during dbCa link cleanup
CA links in records were being removed without locking them first.
We also now set the link type to CONSTANT, which prevents some
assertion failures if the record gets processed again before the
IOC finally dies.
2011-08-17 15:08:10 -05:00
Janet Anderson
d286a81ef0 configure: Remove T_A=* from MAKEFLAGS before findstring s in ECHO def. 2011-08-09 11:39:00 -05:00
Ralph Lange
bc4a7854ec libCom: Explicitly use namespace std for size_t declaration in epicsSingleton.h
This fixes a compile error that occurs in new gcc versions (since ~4.6.1)
2011-08-08 18:31:19 +02:00
Janet Anderson
f59825a462 Added HDEPENDS_METHOD override for cross builds 2011-08-05 12:02:30 -05:00
Janet Anderson
7783f0044b Added commented changes from Eric Norum to build with CLANG 2011-07-27 16:08:02 -05:00
Jeff Hill
1b9ca756cc Changed repeaterTimerNotify interface implementation into a nested class of udpiiu so that we dont use multiple inheritance, and therefore hopefully avoid code generation problems with certain versions of g++ on MacOSX (I cant reproduce this problem on any ofthe machines here) 2011-07-26 16:23:34 -06:00
Jeff Hill
f9f8d1150c fixed spelling and formatting nits 2011-07-26 10:40:37 -06:00
Andrew Johnson
e71785edf6 libCom/devLib: Make unsolicitedHandlerEPICS() visible
This symbol is required to be visible on non-PowerPC (68k) vxWorks
systems for devInterruptInUseVME() to recognize interrupt vectors
that the devDisconnectInterruptVME() routine has marked as not used.
2011-07-21 16:10:50 -05:00
Andrew Johnson
a367e4be95 tools: use AbsPath() instead of abs_path() in checkRelease
abs_path() dies for dirs that don't exist.
2011-07-13 10:38:13 -05:00
Michael Davidsaver
a80bd1a630 libCom: Avoid race in errlog shutdown.
A rare race during shutdown.  The contenders are the log thread
coming out of its loop and calling errlogCleanup(), and the
exitHandler signaling waitForWork.

This solution is to move cleanup completely into exitHandler,
which already waits for the log thread to exit.
2011-07-08 11:18:00 -05:00
Andrew Johnson
515712c0e7 startup: Fix host arch for 64-bit darwin kernels
"uname -m" returns x86_86 on those machines, which we weren't expecting.
2011-06-27 15:09:54 -05:00
Andrew Johnson
2fb7df8548 libCom: __attribute__((deprecated)) not in gcc 2.x
Only apply this attribute for gcc 3 and later.
2011-06-20 13:52:32 -05:00
Andrew Johnson
4448a5501a Document recent commits. 2011-06-10 16:23:02 -05:00
Andrew Johnson
dafb7d5d4c configure: Stop make displaying COMMENT lines... 2011-06-10 16:21:52 -05:00
Andrew Johnson
5343b836b8 configure: Reorganized the uninstall targets in RULES_TOP
Useful rules:
    uninstall.<arch> - Remove bin & lib directories for <arch> only.
    archuninstall    - Remove bin & lib directories created by this hostarch.
    realuninstall    - Removes ALL install dirs
2011-06-10 16:17:41 -05:00
Andrew Johnson
d0423738d1 configure: Make the vxWorks macro expand to itself
This fixes a problem in .st sequence programs that do this:
  %%#include <vxWorks.h>
The pre-processor was replacing the token since the line is not a
pre-processor directive (yet) and it doesn't appear inside "quotes".

NB: This will break any code that is incorrectly using
  #if vxWorks
instead of
  #ifdef vxWorks
2011-06-10 10:14:40 -05:00
Andrew Johnson
3bf5b21f57 tools: Improve makeDbDepends
Rewrite, add support for quotes around filenames in "file" statements.
2011-06-08 12:26:01 -05:00
Andrew Johnson
8d15407e2f tools: Remove warning from newer versions of Perl.
Replace \1 with $1 in substitution strings.
2011-06-08 12:15:18 -05:00
Andrew Johnson
7560fb1bb1 rec/compress: Post monitors on NUSE field
Matt Pearson asked for NUSE monitors, so clients can track how
much data has been collected.
2011-06-08 11:16:26 -05:00
Andrew Johnson
445b5e473b configure: Delete %.C (C++) build rule
Breaks build of %.c files on Windows with some versions of Make.
2011-06-07 09:52:54 -05:00
Andrew Johnson
f18b435cf6 configure: Replace REM with perl -e ''
Another good idea from Ben Franksen...
2011-06-06 09:51:31 -05:00
unknown
5649e15842 ca: Remove unnecessary mutable qualifiers
These references are never actually "mutated", and break builds
with a recent C++ compiler.

Fixes lp:736273
2011-06-01 17:22:12 -05:00
unknown
43f58c990a libCom: Only delete a timer queue when its ref count is 0.
Fixes lp:786979
2011-06-01 16:27:18 -05:00
Andrew Johnson
0dfc92f48d util: Support logrotate with iocLogServer
Allow reopening of the same filename on receipt of a SIGHUP.
Requested by Lana Abadie at ITER.
2011-06-01 15:55:10 -05:00
Andrew Johnson
f1a646240b configure: Fix 'make -s' on Windows
Use REM instead of '#' to disable @echo commands.
Thanks to Ben Franksen for the hint.
2011-06-01 15:11:05 -05:00
Andrew Johnson
ce0114418f tools: Fix LocalPath on Cygwin
The LocalPath() function must not replace /cygdrive/x with x:
This used to be necessary when mixing win32 and cygwin tools,
but we tell users not to do that any more.  This problem only
appears if the path to base starts with /cygdrive/x.
2011-05-23 16:34:58 -05:00
Andrew Johnson
342920b1db R3.14.12.1-DEV 2011-04-26 15:37:21 -05:00
Andrew Johnson
ef0442b50d R3.14.12.1 2011-04-26 15:36:19 -05:00
Andrew Johnson
c71093f47f libCom/iocsh: Oops, allow NULL pathname. 2011-04-26 15:18:30 -05:00
Andrew Johnson
c11a31f549 libCom/iocsh: Set IOCSH_STARTUP_SCRIPT env var. 2011-04-26 14:57:26 -05:00
Andrew Johnson
ed0e3e60ed RTEMS: Changes suggested by Kate Feng
* Added macros for configuring MBUF and CLUSTER space allocation
* More MBUF and CLUSTER space on mvme3100, mvme5500 and beatnik
* MVME5500: link with bspExt, use .elf extension like other BSPs
2011-04-26 12:44:46 -05:00
Andrew Johnson
0373da87ed R3.14.12.1-rc1-DEV 2011-04-19 15:11:09 -05:00
Andrew Johnson
3c0cea0f38 R3.14.12.1-rc1 2011-04-19 15:09:57 -05:00
Andrew Johnson
4c7684aad1 Document 3.14.12.1 changes. 2011-04-19 15:05:36 -05:00
Andrew Johnson
6efd4be222 configure: Added vxWorks-ppc32-debug and vxWorks-ppc32sf-debug archs. 2011-04-19 15:02:47 -05:00
Andrew Johnson
1584f98e26 catools: Disable stdout buffering on Windows
Line buffering is not supported on Windows 7.
2011-04-19 14:21:38 -05:00
Janet Anderson
f3f2f23fbc Updates for latest releases of os, Visual Studio, ... 2011-04-19 11:28:04 -05:00
Janet Anderson
5aeb325185 Updated for latest releases of os, Visual Studio, ... 2011-04-19 10:55:18 -05:00
Michael Davidsaver
2949f6650e errlog: Flush messages before exit
When an exit is requested process all messages before exiting.

The atExit flag is set, so no new messages can be added to the buffer.
2011-04-12 18:12:52 -05:00
Janet Anderson
b472473ef1 Restored COMMON_DBS usage in DBDDEPENDS_FILES definition. 2011-04-11 15:47:40 -05:00
Andrew Johnson
8418aa059a libCom/test: Suppress g++ build warnings from epicsCalcTest
Newer versions of gcc support #pragma GCC diagnostic
2011-04-07 17:25:02 -05:00
Andrew Johnson
1106bab73e RTEMS: Use the new mount API to initialize TFTP. 2011-04-05 17:21:54 -05:00
Andrew Johnson
038ac0cd38 Fix some build issues with old Solaris C++ compiler.
src/libCom/test/epicsExceptionTest.cpp:
  exThread needs a destructor

src/cas/generic/st/casStreamOS.cc:
  Can't use inline as armSend already called
2011-04-05 16:08:49 -05:00
Andrew Johnson
8dea585dc2 FreeBSD update to osdSock.h from Gerrit Kuehn. 2011-04-05 12:32:39 -05:00
Andrew Johnson
fc6df7652d Update iOS CONFIG files for iOS 4.3 2011-04-05 12:27:00 -05:00
Andrew Johnson
db89c1f463 Added generic PPC32 targets for vxWorks 6. 2011-04-05 12:12:47 -05:00
Andrew Johnson
c6e1787ff9 Solve C++ static initialization order problem.
Fixes lp:750549
2011-04-05 11:27:22 -05:00
Jeff Hill
0dab032751 avoid c++ static initialization order issues 2011-04-05 09:23:22 -06:00
Jeff Hill
4b780b1011 avoid c++ static initialization order issues 2011-04-04 17:50:49 -06:00
Jeff Hill
fc3e876d57 avoid c++ static initialization order issues 2011-04-04 17:29:51 -06:00
Andrew Johnson
f4528ff5e1 libCom: Fix msgbufGetNode() in errlog.c
Systems that generate large numbers of errlog messages or have a slow
message listener could overwrite older messages in the message buffer
after the buffer wraps.  This also corrects and annotates the test
code to describe what's being checked.
2011-03-01 15:03:33 -06:00
Andrew Johnson
d73f466dbc documentation: KnownProblems template
Modified the empty template file to include GNU Patch usage
instructions.
2011-02-28 17:26:24 -06:00
Andrew Johnson
3d056f63e4 configure: Added vxWorks-mpc8548 target (MVME4100)
Config files from Ernest Williams.
2011-02-15 16:19:26 -06:00
Jeff Hill
fd72cb63bf libCom/WIN32: Merged Jeff's fix for bug 717252
o Fixed race condition where win32 thread parm was not pushed onto the
  list before the thread was started, and so if the thread exits very
  quickly it can try to remove a non-existent thread parameter from
  the list.
o This impacts only win32.
2011-02-11 16:33:58 -06:00
Andrew Johnson
c698853394 libCom: Merged Jeff's epicsThread change.
When finished waiting for a thread to exit, signal the event in case
other threads are waiting also.
2011-02-11 15:04:04 -06:00
Andrew Johnson
22f1e8201f libCom/WIN32: Merged Jeff's WIN32/osdThread changes
Fixed spelling and other cosmetic changes.
2011-02-11 15:01:39 -06:00
Andrew Johnson
b38127450e libCom/WIN32: Merged Jeff's osdTime fix
Fixed last time compare in PLL drift factor update loop.
2011-02-11 14:59:35 -06:00
Andrew Johnson
fbcc7b4a0d ca: Merged Jeff's tcpiiu changes
In disconnectAllChannels mark channels as unassigned to any list
because in some unusual situations (abrupt shutdown) the channels are
not immediately assigned to another list.
2011-02-11 14:55:04 -06:00
Jeff Hill
5a11866431 when finished waiting for a thread to exit, signal the event in case other threads are waiting also 2011-01-14 18:01:53 -07:00
Jeff Hill
253036c36c o committing merge of r3.14 trunk change
o fixed spelling and other cosmetic changes
2011-01-14 18:00:02 -07:00
Jeff Hill
793639f4da fixed last time compare in PLL drift factor update loop 2011-01-14 17:56:49 -07:00
Jeff Hill
a2c87268f5 in disconnectAllChannels mark channels as unassigned to any list because in some unusual situations (abrupt shutdown) the channels are not immediately assigned to another list 2011-01-14 17:53:33 -07:00
Jeff Hill
a52b995ca2 rsrv: Fixed large array element count bug
Reverted commit 12095.2.5 which introduced an incorrect optimization.

Fixes:701673
2011-01-13 16:21:31 -06:00
Jeff Hill
2af392a099 fix for bug 701673 at launchpad (wrong native element count for large arrays) 2011-01-12 15:41:33 -07:00
Michael Davidsaver
6170dc9406 libCom: Fix errlogPrintf() assert fail at shutdown
If errlogPrintf() gets called during shutdown, it can cause a
recursive assert failure.

Fixes lp:693534
2011-01-07 10:24:31 -06:00
Andrew Johnson
23daca46a1 tools: More back-slash escape fixes
Thanks to Stephen Norum for pointing most of these out and
testing the patch.
2010-12-16 17:02:15 -06:00
Andrew Johnson
f9ebe082ff registry: Escape back-slashes in bldTop string literal on Win32. 2010-12-14 15:05:26 -06:00
Andrew Johnson
dc76951945 configure: Set EPICS_DEV_SNAPSHOT back to -DEV 2010-11-24 16:18:25 -06:00
Janet Anderson
253fd8109b R3.14.12 2010-11-24 14:50:38 -06:00
Andrew Johnson
fd4b34be8f docs: Added a couple more LP bug fixes to the Release Notes. 2010-11-24 14:35:35 -06:00
Andrew Johnson
23c7e64490 rec: Fix calc & calcout get_precision() 2010-11-24 13:35:04 -06:00
Ralph Lange
3ca705752a catools: Fix help text for "-s" option (also in CA RefMan) 2010-11-24 13:31:47 -05:00
Andrew Johnson
2069889347 docs: Update notes and comments about readline settings. 2010-11-22 10:40:49 -06:00
Andrew Johnson
04085d340b configure: Link with libdl on Solaris 8 and 9 (but not 10). 2010-11-19 16:38:46 -06:00
Andrew Johnson
bc7e87b961 RTEMS: Warning cleanups from Eric. 2010-11-17 16:30:32 -06:00
Andrew Johnson
81d155c98b documentation: Fixed typos and enhanced Release Notes a little. 2010-11-17 13:31:32 -06:00
Andrew Johnson
512e14e4b7 documentation: Added links to the bugs marked Fix Committed in LP. 2010-11-15 18:02:46 -06:00
Andrew Johnson
c503a03f37 libCom/errlog: Clean up possible problem at shutdown.
Don't use epicsMutexMustLock() in msgbufGetFree().
When we're shutting down, the pvtData.msgQueueLock gets destroyed.
This makes msgbufGetFree() return NULL if the lock is dead.
The epicsMutexMustLock() routine asserts(), which recurses...
2010-11-15 15:46:40 -06:00
Janet Anderson
fb493a064c R3.14.12-rc1-DEV 2010-11-15 14:28:03 -06:00
Janet Anderson
e406440316 R3.14.12-rc1 2010-11-15 13:59:06 -06:00
jba
94a48d23d0 Set HDEPENDS_METHOD to CMD which was overidden by CONFIG.gnuCommon. 2010-11-15 13:43:17 -06:00
jba
cf18208579 Added and removed include files. 2010-11-15 11:27:17 -06:00
Janet Anderson
7cf01b091b Removed unneeded include line. 2010-11-15 10:31:16 -06:00
Janet Anderson
e1c1dd45a6 Added include lines for host build CONFIG_SITE files. 2010-11-14 19:49:17 -06:00
Janet Anderson
8e40be47a0 Removed VX_DIR definition- no longer works in CONFIG_SITE.*.Common files. 2010-11-14 19:29:53 -06:00
Andrew Johnson
9777c63e23 documentation: Paragraphs on epicsEvent and Cygwin support. 2010-11-12 16:48:21 -06:00
Andrew Johnson
18594e1a34 subArray: Bugfix, allow array puts to VAL
Fixed a bug reported by Michael Abbott, NORD goes -ve.
Modified soft channel support so when INP="" it extracts the relevent
sub-array of the existing VAL field; use an external put to set the
array. This lets the other records pull a series of values from the
record in sequence.
2010-11-12 16:09:09 -06:00
Janet Anderson
99e7e7727a Provide a link-time path for readline directory.
Remove unneeded READLINE definitions from last commit.
2010-11-11 13:45:09 -06:00
Janet Anderson
adb201a048 Now RUNTIME_LDFLAGS is set here. 2010-11-11 13:43:53 -06:00
Janet Anderson
56ada25dd7 RUNTIME_LDFLAGS now set in CONFIG_COMMON. Use LINKER_USE_RPATH for
readline dir.
2010-11-11 13:41:03 -06:00
Janet
23bbe233f7 Moved COMMANDLINE to CONFIG_SITE.Common.win32-x86-mingw 2010-11-10 16:59:06 -06:00
Janet Anderson
c48fe29e89 Allow arm cross targets to use readline as command line library. 2010-11-10 12:02:20 -06:00
Andrew Johnson
b5c185877d RTEMS: Allow for 64-bit compatibility in RTEMS 4.10. 2010-11-10 09:44:19 -06:00
Janet Anderson
b82db48335 Use win32-x86 values for default values. 2010-11-09 15:37:08 -06:00
Janet Anderson
da8ae994e4 Initial version. 2010-11-09 15:12:20 -06:00
Janet Anderson
8d2cd8b96c Updated to match extensions/configure. 2010-11-09 14:55:13 -06:00
Janet Anderson
91631919e5 Minor changes. 2010-11-09 08:32:36 -06:00
Janet Anderson
181c4e126a Added includes for CONFIG_SITE files for hostarch. 2010-11-08 08:18:58 -06:00
Janet Anderson
32ebff1881 Removed OPT flag lines which are same as gnu compiler build defaults. 2010-11-08 08:16:12 -06:00
Ralph Lange
e65253f8b9 ca: Minor fix in CA Reference Manual 2010-11-05 15:57:34 -04:00
Ralph Lange
3398950f9d ca: Added chapter about firewalls to CA Reference Manual 2010-11-05 15:41:39 -04:00
Andrew Johnson
2477bf52e6 libCom: Cygwin socket unblocking again...
It helps to include the cygwin header file that
actually has the version number in it...
2010-11-04 14:24:13 -05:00
Andrew Johnson
e7179fc289 libCom: Fix cygwin socket shutdown issue.
Cygwin 1.7 changed the socket shutdown method from BothShutdown
to Close. This fix looks at the cygwin version to work out what
value to return from esscimqi().
2010-11-04 13:30:44 -05:00
Jeff Hill
f340b3e153 o removed -O3 from mingw debug builds (so the issues below are reproduced on mingw)
o gnu compiler for windows doesnt support well dll exporting individual functions from a class
in debug builds so I switched to exporting the entire interface class in several places
o fixed several places in ca lib where include of epicsTimer.h wasnt properly ifdef'd so
that it is imported by ca header files
--- these issues were already fixed on cvs main trunk ---
2010-11-04 10:19:54 -06:00
Andrew Johnson
b4d7b6f851 Merged Jeff's fix for Bug 667384
This commit was needed to reorder the commit history so that everyone
else's commits since 2010-09-27 remain on the mainline.
2010-11-01 18:07:15 -05:00
Jeff Hill
36175b1368 merged in R3.14.12 2010-11-01 15:15:51 -06:00
Jeff Hill
e372a83096 neglected to unlock on error return path 2010-11-01 15:01:04 -06:00
Jeff Hill
3ad06eb0a3 fixed request and response bytes amount was revered in printf 2010-11-01 15:00:02 -06:00
Janet Anderson
93c39c86f7 Added includes for host's CONFIG_SITE files. Changed all to -include. 2010-11-01 14:35:49 -05:00
Andrew Johnson
46b912bc16 cas: Workaround for vxWorks-ppc604 compiler issue. 2010-10-29 12:15:48 -05:00
Andrew Johnson
1e6464cdc4 libCom/test: Various improvements.
Made epicsThreadOnceTest more deterministic, replacing an
epicsThreadSleep() with epicsEventMustWait(), and added a diagnostic
message before running the thread recurse test.

Eric added a series of checks to epicsEventTest.cpp which ensure that
epicsEventSignal() only wakes one waiting thread.
2010-10-29 11:58:44 -05:00
Janet Anderson
c84c3d49ad R3.14.12-pre2-DEV 2010-10-27 17:05:43 -05:00
Janet Anderson
4f98ae3955 R3.14.12-pre2 2010-10-27 16:48:09 -05:00
Andrew Johnson
2bb3074fab db: Fix db_get_field() on an empty array field.
This fixes a bug introduced with the dynamic-array branch.
The new version of db_get_field() was using the dbr_size_n() macro to
calculate the offset to the start of the buffer area to be zeroed, but
when nRequest is zero this gives the wrong result; the dbr_ structures
always contain at least one value element, and dbr_size_n() thus has
to include that in its size calculation.
2010-10-27 13:26:56 -05:00
Andrew Johnson
a5d4572691 catools: Build on all archs except vxWorks and RTEMS.
Was only building on HOST, now does cross-builds too.
2010-10-27 10:30:41 -05:00
Janet Anderson
143fef7508 Modified test for _MINGW and _TIMESPEC_DEFINED. 2010-10-26 16:48:40 -05:00
Janet Anderson
87e670f5ca Added ifdef around timespec definition for MinGW build. 2010-10-26 16:25:30 -05:00
Janet Anderson
b326097bed Initial version. Has commented lines for new MinGW_w32 compiler version. 2010-10-26 15:42:31 -05:00
Janet Anderson
f68e14d20a Added windows-x64-debug under debugging builds in comment lines. 2010-10-26 15:00:48 -05:00
Janet Anderson
a395b85277 Initial version. 2010-10-26 14:59:02 -05:00
Andrew Johnson
6ec71f56d0 configure: Use := variable to set EPICS_HOST_ARCH if undefined.
Performance on Cygwin when using ?= is glacial...
2010-10-26 14:56:42 -05:00
Andrew Johnson
03539b05a4 libCom/test: run epicsMutexTest loops a fixed number of times.
Windows sometimes managed to run an extra loop before this change.
2010-10-26 11:45:13 -05:00
Andrew Johnson
41b9b9cb07 documentation: Various updates...
Removed the Converting... files for older releases
No known problems yet.
Updated README.html and regenerated README.1st from it.
Added windows-x64 target to the Release notes.
2010-10-26 10:49:26 -05:00
Andrew Johnson
af48ed31c3 tools: Need search path for uninstalled modules too.
This fixes the perl compilation failures of fullPathName.pl
that occur before the src/tools directory has been built, and
ensures that the other tools that use EPICS modules also work.
2010-10-26 09:27:47 -05:00
Andrew Johnson
01ae98d118 Corrected/deleted WIND_HOST_TYPE to only hosts that WRS supports. 2010-10-25 14:23:56 -05:00
Andrew Johnson
66864fcb23 libCom/osi: More NTP time quality checking.
Reject NTP timespec values before the EPICS epoch.
2010-10-22 17:34:13 -05:00
jba
2957fdcaf7 Changed (DWORD*) to (const ULONG_PTR*) to avoid windows-x64 debug build
error.
2010-10-22 17:08:41 -05:00
jba
c7b9ea9b3b Added single quotes in shell cmd to preserve backslashes. 2010-10-22 17:02:40 -05:00
Janet Anderson
a3234c9130 Set CYGWIN_RPC_LIB by using cygwin version to determine rpc lib name. 2010-10-22 09:33:44 -05:00
Janet Anderson
2a3a92504c Added missing USR_LDFLAGS to DLL link line. 2010-10-21 15:06:11 -05:00
Janet Anderson
daccdf86b5 Updated the supported architecture comments. 2010-10-21 15:02:11 -05:00
Andrew Johnson
cb3d6e3cde Configure EPICS_TIMEZONE for 2011 DST dates
3.14.12 will come out about a week before the 2010 US time change
and just a few days before the EU change, so it makes sense to set
it up for the 2011 dates.

Added information about DST dates up to 2015.
2010-10-20 15:01:06 -05:00
Andrew Johnson
f1a00dd667 libCom/osi: Warn if NTP time stops or decreases.
Add warnings if the NTP time provider sees NTP time stopping or going
backwards.  Should never happen, but...
2010-10-20 11:44:48 -05:00
Ralph Lange
3df265103d libcom/osd/rtems: Fix by M. Davidsaver to use an epheremal receiver port for the NTP synchronization. 2010-10-20 10:35:51 -04:00
Andrew Johnson
62f603d820 tools: Drop EPICS_HOST_ARCH variable in checkRelease.
On Win32 abs_path() fails if the path given doesn't exist.
2010-10-18 11:35:28 -05:00
Andrew Johnson
ed916cd1b3 Delete osf-alpha target (and host) support, no longer working or needed at KEK. 2010-10-14 14:01:40 -05:00
Andrew Johnson
2d4e4deb60 doc: Discuss ARCH_CLASS settings. 2010-10-13 11:21:17 -05:00
Andrew Johnson
a5a038957f configure/os: Add the missing darwin architecture combinations. 2010-10-12 15:25:56 -05:00
Andrew Johnson
89af645ba9 Oops, s/dbTools/dbtools/. 2010-10-12 10:37:23 -05:00
Andrew Johnson
862425caa0 Missing dependency fixed, misc needs dbTools
- from Michael Davdisaver
2010-10-12 09:39:55 -05:00
Andrew Johnson
6f8c946d76 libCom: Recognize -pre and -rc in version snapshot. 2010-10-08 15:17:55 -05:00
Janet Anderson
dcd0fabe3b R3.14.12-pre1-DEV 2010-10-08 14:16:56 -05:00
204 changed files with 3195 additions and 3236 deletions

View File

@@ -1,11 +1,14 @@
Copyright (c) 1991-2007 UChicago Argonne LLC and The Regents of the
University of California. All rights reserved.
Copyright (c) 1991-2011 UChicago Argonne LLC.
Copyright (c) 1991-2006 The Regents of the University of California.
Copyright (c) 2006-2011. Los Alamos National Security, LLC. Some of this
material was produced under U.S. Government contract DE-AC52-06NA25396
for Los Alamos National Laboratory (LANL), which is operated by Los Alamos
National Security, LLC for the U.S. Department of Energy.
EPICS BASE is distributed subject to the following license conditions:
SOFTWARE LICENSE AGREEMENT
Software: EPICS BASE
Versions: 3.13.7 and higher
1. The "Software", below, refers to EPICS BASE (in either source code, or
binary form and accompanying documentation). Each licensee is

View File

@@ -1,57 +0,0 @@
#*************************************************************************
# Copyright (c) 2002 The University of Chicago, as Operator of Argonne
# National Laboratory.
# Copyright (c) 2002 The Regents of the University of California, as
# Operator of Los Alamos National Laboratory.
# EPICS BASE Versions 3.13.7
# and higher are distributed subject to a Software License Agreement found
# in file LICENSE that is included with this distribution.
#*************************************************************************
# CONFIG.Host.alpha
#
# This file is maintained by the EPICS community.
# Sites may override these definitions in CONFIG_SITE.Host.alpha
ARCH_CLASS = alpha
# Include definitions common to all Unix archs
include $(EPICS_BASE)/config/CONFIG.Host.UnixCommon
AR = ar
# Configure OS vendor C compiler
ACC = cc
ACC_ANSI = $(ACC) -std
ACC_STRICT = $(ACC) -std1
ACC_TRAD = $(ACC) -std0
ACC_WARN_YES =
ACC_WARN_NO = -w
ACC_OPT_YES = -O
ACC_OPT_NO = -g
ACC_SFLAGS_YES= -non_shared
ACC_SFLAGS_NO= -call_shared
ACC_SLIBS_YES =
ACC_SLIBS_NO=
ACC_SHRLIB_CFLAGS_YES =
ACC_SHRLIB_LDFLAGS_YES = -shared
# Configure OS vendor C++ compiler
CCC = cxx
CCC_NORMAL = $(CCC)
CCC_STRICT = $(CCC)
CCC_TEMPL_INST_FLAG = -DEXPL_TEMPL
CCC_WARN_YES =
CCC_WARN_NO =
CCC_OPT_YES = -O
CCC_OPT_NO = -g
CCC_SFLAGS_YES=
CCC_SFLAGS_NO=
CCC_SLIBS_YES =
CCC_SLIBS_NO=
CCC_SHRLIB_CFLAGS_YES =
CCC_SHRLIB_LDFLAGS_YES = -shared
CCC_DEPENDS_FLAG =
ARCH_DEP_CFLAGS = -D_OSF_SOURCE
ARCH_DEP_LDLIBS =

View File

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

View File

@@ -1,20 +0,0 @@
#*************************************************************************
# Copyright (c) 2002 The University of Chicago, as Operator of Argonne
# National Laboratory.
# Copyright (c) 2002 The Regents of the University of California, as
# Operator of Los Alamos National Laboratory.
# EPICS BASE Versions 3.13.7
# and higher are distributed subject to a Software License Agreement found
# in file LICENSE that is included with this distribution.
#*************************************************************************
# $Revision-Id$
# osf-alpha is the new name for alpha
-include $(EPICS_BASE)/config/CONFIG.Host.alpha
#==========================
# These are overrides of ANSI and CPLUSPLUS values in CONFIG_SITE
ANSI=GCC
CPLUSPLUS=G++
#==========================

View File

@@ -24,7 +24,6 @@ ARCH_Linux = linux-x86
ARCH_freebsd = freebsd-x86_64
ARCH_WIN32 = win32-x86
ARCH_hp700 = hpux-parisc
ARCH_alpha = osf-alpha
ARCH_Borland = win32-x86-borland
ARCH_cygwin32 = cygwin-x86

View File

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

View File

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

View File

@@ -16,7 +16,6 @@
# Borland
# Linux
# WIN32
# alpha
# cygwin32
# hp700
# sgi

View File

@@ -25,8 +25,11 @@ else
CONFIG ?= $(EPICS_BASE)/configure
endif
#
EPICS_HOST_ARCH ?= $(shell $(CONFIG)/../startup/EpicsHostArch.pl)
# Provide a default if the user hasn't set EPICS_HOST_ARCH
ifeq ($(origin EPICS_HOST_ARCH), undefined)
# NB: Must use a simply expanded variable here for performance:
EPICS_HOST_ARCH := $(shell $(CONFIG)/../startup/EpicsHostArch.pl)
endif
#
-include $(CONFIG)/os/CONFIG_COMPAT

View File

@@ -1,5 +1,5 @@
#*************************************************************************
# Copyright (c) 2002 The University of Chicago, as Operator of Argonne
# Copyright (c) 2011 UChicago Argonne LLC, as Operator of Argonne
# National Laboratory.
# Copyright (c) 2002 The Regents of the University of California, as
# Operator of Los Alamos National Laboratory.
@@ -34,6 +34,7 @@
# LIBSRCS source files for building libraries (deprecated)
# PROD_OBJS object files for building prods
# LIB_OBJS object files for building libraries
# USR_OBJS object files for building libraries and prods
# USR_LIBS libs needed by PROD and TESTPROD and LIBRARY
# PROD_LIBS libs needed by PROD and TESTPROD
# LIB_LIBS libs needed by shared LIBRARY

View File

@@ -1,5 +1,5 @@
#*************************************************************************
# Copyright (c) 2010 UChicago Argonne LLC, as Operator of Argonne
# Copyright (c) 2011 UChicago Argonne LLC, as Operator of Argonne
# National Laboratory.
# Copyright (c) 2002 The Regents of the University of California, as
# Operator of Los Alamos National Laboratory.
@@ -19,24 +19,26 @@
BASE_3_14=YES
# EPICS_VERSION must be a number >0 and <256
# EPICS_VERSION must be a number >0 and <256
EPICS_VERSION = 3
# EPICS_REVISION must be a number >=0 and <256
# EPICS_REVISION must be a number >=0 and <256
EPICS_REVISION = 14
# EPICS_MODIFICATION must be a number >=0 and <256
# EPICS_MODIFICATION must be a number >=0 and <256
EPICS_MODIFICATION = 12
# EPICS_PATCH_LEVEL must be a number (win32 resource file requirement)
# Not included if zero
EPICS_PATCH_LEVEL = 0
EPICS_PATCH_LEVEL = 2
# This will end in -DEV between official releases
#EPICS_DEV_SNAPSHOT=-DEV
EPICS_DEV_SNAPSHOT=-pre1
#EPICS_DEV_SNAPSHOT=-pre1-DEV
#EPICS_DEV_SNAPSHOT=-rc1
#EPICS_DEV_SNAPSHOT=-pre1
#PICS_DEV_SNAPSHOT=-pre1-DEV
#EPICS_DEV_SNAPSHOT=-pre2
#EPICS_DEV_SNAPSHOT=-pre2-DEV
EPICS_DEV_SNAPSHOT=-rc1
#EPICS_DEV_SNAPSHOT=-rc1-DEV
#EPICS_DEV_SNAPSHOT=-rc2
#EPICS_DEV_SNAPSHOT=-rc2-DEV

View File

@@ -1,10 +1,9 @@
#*************************************************************************
# Copyright (c) 2002 The University of Chicago, as Operator of Argonne
# Copyright (c) 2011 UChicago Argonne LLC, as Operator of Argonne
# National Laboratory.
# Copyright (c) 2002 The Regents of the University of California, as
# Operator of Los Alamos National Laboratory.
# EPICS BASE Versions 3.13.7
# and higher are distributed subject to a Software License Agreement found
# EPICS BASE is distributed subject to a Software License Agreement found
# in file LICENSE that is included with this distribution.
#*************************************************************************
#
@@ -82,7 +81,8 @@ COMMON_DIR = ../O.Common
#-------------------------------------------------------
# Make echo output - suppress echoing if make's '-s' flag is set
ECHO := $(if $(findstring s,$(MAKEFLAGS)),\#,@echo)
COMMENT = \#
ECHO = @$(if $(findstring s,$(patsubst T_A=%,,$(MAKEFLAGS))),$(COMMENT),echo)
#-------------------------------------------------------
ifdef T_A
@@ -258,6 +258,7 @@ LOADABLE_SHRLIB_SUFFIX=$(SHRLIB_SUFFIX)
COMMANDLINE_LIBRARY = EPICS
OP_SYS_LDLIBS += $(LDLIBS_$(COMMANDLINE_LIBRARY))
OP_SYS_LDFLAGS += $(LDFLAGS_$(COMMANDLINE_LIBRARY))
RUNTIME_LDFLAGS += $(RUNTIME_LDFLAGS_$(COMMANDLINE_LIBRARY))
#--------------------------------------------------
# Flags
@@ -334,7 +335,7 @@ HDEPENDS_CFLAGS = $(HDEPENDS_CFLAGS_$(HDEPENDS))
#--------------------------------------------------
# depends definition
TARGET_SRCS = $(foreach name, $(TESTPROD) $(PROD) $(LIBRARY), $($(name)_SRCS))
TARGET_SRCS = $(foreach name, $(TESTPROD) $(PROD) $(LIBRARY) $(LOADABLE_LIBRARY), $($(name)_SRCS))
SRC_FILES = $(LIB_SRCS) $(LIBSRCS) $(SRCS) $(USR_SRCS) $(PROD_SRCS) $(TARGET_SRCS)
HDEPENDS_FILES_YES = $(addsuffix $(DEP),$(notdir $(basename $(SRC_FILES))))
HDEPENDS_FILES = $(if $(filter NO,$(HDEPENDS)),,$(HDEPENDS_FILES_YES))

View File

@@ -20,11 +20,12 @@
# aix-ppc-gnu (GNU compiler used for host builds)
# cygwin-x86 (cygwin compiler used for host builds)
# darwin-ppc (PowerPC based Apple running OSX)
# darwin-x86 (Intel based Apple running OSX)
# darwin-ppcx86 (Universal binaries for both CPUs)
# darwin-x86 (Intel based Apple running OSX)
# freebsd-x86 (GNU compiler used for host builds)
# freebsd-x86_64 (GNU compiler used for host builds)
# linux-ppc (GNU compiler used for host builds)
# linux-ppc64 (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)
@@ -34,15 +35,19 @@
# solaris-sparc64-gnu (GNU compiler used for host builds)
# solaris-x86 (Sun compiler used for host builds)
# solaris-x86-gnu (GNU compiler used for host builds)
# solaris-x86_64 (Sun compiler used for host builds)
# solaris-x86_64-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-cygwin (WIN32 API with cygwin GNU compiler used for host builds)
# win32-x86-mingw (MinGW compiler used for host builds)
# windows-x64 (MS Visual C++ compiler used for host builds)
# Debugging builds
# linux-x86-debug (GNU compiler with -g option for host builds)
# linux-x86_64-debug (GNU compiler with -g option for host builds)
# solaris-sparc-debug (sun compiler no optimization,-g for debugging info)
# win32-x86-debug (MS Visual C++ compiler with debug option for host builds)
# windows-x64-debug (MS Visual C++ compiler with debug option for host builds)
# EPICS_HOST_ARCH is a required environment variable
@@ -53,13 +58,16 @@
# The cross-compiler architectures to build EPICS for
#
# Currently Supporting:
# ios-arm
# ios-386
# 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-arm (linux-x86 host)
# linux-arm_eb (linux-x86 host)
# linux-arm_el (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)
@@ -70,18 +78,22 @@
# vxWorks-68040lc
# vxWorks-68060
# vxWorks-pentium
# vxWorks-ppc32 (32-bit PowerPC CPUs with full FPU)
# vxWorks-ppc32sf (32-bit PowerPC CPUs without FPU)
# vxWorks-ppc603
# vxWorks-ppc603_long
# vxWorks-ppc604
# vxWorks-ppc604_long
# vxWorks-ppc604_altivec
# vxWorks-mpc8540
# vxWorks-mpc8548
# RTEMS-at91rm9200ek
# RTEMS-beatnik
# RTEMS-gen68360
# RTEMS-mcp750
# RTEMS-mvme167
# RTEMS-mvme2100
# RTEMS-mvme2700
# RTEMS-mvme3100
# RTEMS-mvme5500
# RTEMS-pc386
@@ -94,7 +106,7 @@
# override
#
CROSS_COMPILER_TARGET_ARCHS=
#CROSS_COMPILER_TARGET_ARCHS=vxWorks-68040
#CROSS_COMPILER_TARGET_ARCHS=vxWorks-ppc32
# If only a subset of the host architectures perform
# the build for the CROSS_COMPILER_TARGET_ARCHS

View File

@@ -1,5 +1,5 @@
#*************************************************************************
# Copyright (c) 2009 UChicago Argonne LLC, as Operator of Argonne
# Copyright (c) 2010 UChicago Argonne LLC, as Operator of Argonne
# National Laboratory.
# Copyright (c) 2002 The Regents of the University of California, as
# Operator of Los Alamos National Laboratory.
@@ -30,19 +30,26 @@
# local timezone info for vxWorks and RTEMS IOCs. The format is
# <name>::<minutesWest>:<start daylight>:<end daylight>
# where the start and end are mmddhh - that is month,day,hour
# eg EPICS_TIMEZONE=CUS::360:033102:102802
# e.g. for ANL in 2010: EPICS_TIMEZONE=CUS::360:031402:110702
#
# DST for 2010 US: Mar 14 - Nov 07
# EU: Mar 28 - Oct 31
# DST for 2011 US: Mar 13 - Nov 06
# EU: Mar 27 - Oct 30
# DST for 2012 US: Mar 11 - Nov 04
# EU: Mar 25 - Oct 28
# DST for 2013 US: Mar 10 - Nov 03
# EU: Mar 31 - Oct 27
# DST for 2014 US: Mar 09 - Nov 02
# EU: Mar 30 - Oct 26
# DST for 2015 US: Mar 08 - Nov 01
# EU: Mar 29 - Oct 25
# (see: http://www.worldtimezone.org/daylight.html)
EPICS_TIMEZONE=CUS::360:031402:110702
#EPICS_TIMEZONE=MET::-60:032802:103102
#
# These values are for 2011:
EPICS_TIMEZONE=CUS::360:031302:110602
#EPICS_TIMEZONE=MET::-60:032702:103002
# EPICS_TS_NTP_INET
# NTP or Unix time server ip address. Uses boot host if not set.
# NTP time server ip address. Uses boot host if not set.
EPICS_TS_NTP_INET=
# IOC Shell:

View File

@@ -1,10 +1,9 @@
#*************************************************************************
# Copyright (c) 2002 The University of Chicago, as Operator of Argonne
# Copyright (c) 2011 UChicago Argonne LLC, as Operator of Argonne
# National Laboratory.
# Copyright (c) 2002 The Regents of the University of California, as
# Operator of Los Alamos National Laboratory.
# EPICS BASE Versions 3.13.7
# and higher are distributed subject to a Software License Agreement found
# EPICS BASE is distributed subject to a Software License Agreement found
# in file LICENSE that is included with this distribution.
#*************************************************************************
#RULES.Db
@@ -23,8 +22,8 @@ vpath %.acs $(USR_VPATH) $(GENERIC_SRC_DIRS) $(COMMON_DIR)
##################################################### dbdflags
# dbExpand
INSTALL_DBDFLAGS += -I $(INSTALL_LOCATION)/dbd
INSTALL_DBFLAGS += -I $(INSTALL_LOCATION)/db
INSTALL_DBDFLAGS += -I $(INSTALL_DBD)
INSTALL_DBFLAGS += -I $(INSTALL_DB)
DBDFLAGS = $(USR_DBDFLAGS) -I . -I .. $(INSTALL_DBDFLAGS) $(RELEASE_DBDFLAGS)
DBFLAGS = $($*_DBFLAGS) $(USR_DBFLAGS) -I. -I.. $(INSTALL_DBFLAGS) $(RELEASE_DBFLAGS)
@@ -48,7 +47,7 @@ DBFLAGS = $($*_DBFLAGS) $(USR_DBFLAGS) -I. -I.. $(INSTALL_DBFLAGS) $(RELEASE_DBF
# Following line added for backward compatibilty
DBD += $(DBDNAME)
DBDINC_NAME = $(patsubst %.h,%,$(patsubst %.db,%,$(DBDINC)))
DBDINC_NAME = $(patsubst %.h,%,$(patsubst %.dbd,%,$(DBDINC)))
DBD += $(addsuffix .dbd,$(DBDINC_NAME))
INC += $(addsuffix .h,$(DBDINC_NAME))
@@ -109,7 +108,8 @@ ACF_CMD = $(CPP) $(ACF_CPPFLAGS) $(ACF_INCLUDES) $< > $@
HINC += $(addsuffix .h,$(DBDINC_NAME))
COMMON_DBDINC += $(addprefix $(COMMON_DIR)/,$(HINC))
DBDDEPENDS_FILES += $(addsuffix $(DEP),$(HINC) $(DBS) \
DBDDEPENDS_FILES += $(addsuffix $(DEP),$(HINC) \
$(patsubst $(COMMON_DIR)/%,%,$(COMMON_DBS)) \
$(patsubst $(COMMON_DIR)/%,%,$(COMMON_DBDS)))
DBDDEPENDS_FLAGS = $(subst -I,,$(filter-out -S%,$(DBDFLAGS)))
@@ -121,7 +121,7 @@ MAKEDBDEPENDS = $(PERL) $(TOOLS)/makeDbDepends.pl
ifndef T_A
ECHO := $(if $(findstring s,$(MAKEFLAGS)),\#,@echo)
ECHO := $(if $(findstring s,$(MAKEFLAGS)),$(COMMENT),@echo)
COMMON_DIR = .
INSTALL_DBDS =
INSTALL_DBS =
@@ -223,58 +223,65 @@ $(INSTALL_DB)/%.template: %.template
$(COMMON_DIR)/%Record.h: $(COMMON_DIR)/%Record.dbd
@$(RM) $(notdir $@)$(DEP)
@$(DBDDEPENDS_CMD)
$(ECHO) "$<:../Makefile" >> $(notdir $@)$(DEP)
@$(RM) $@
$(DBTORECORDTYPEH) $(DBDFLAGS) $< $@
echo "$< : ../Makefile" >> $(notdir $@)$(DEP)
@$(RM) $(notdir $@)
$(DBTORECORDTYPEH) $(DBDFLAGS) $< $(notdir $@)
@$(MV) $(notdir $@) $@
$(COMMON_DIR)/%Record.h: %Record.dbd
@$(RM) $(notdir $@)$(DEP)
@$(DBDDEPENDS_CMD)
$(ECHO) "$<:../Makefile" >> $(notdir $@)$(DEP)
@$(RM) $@
$(DBTORECORDTYPEH) $(DBDFLAGS) $< $@
echo "$< : ../Makefile" >> $(notdir $@)$(DEP)
@$(RM) $(notdir $@)
$(DBTORECORDTYPEH) $(DBDFLAGS) $< $(notdir $@)
@$(MV) $(notdir $@) $@
$(COMMON_DIR)/menu%.h: $(COMMON_DIR)/menu%.dbd
@$(RM) $(notdir $@)$(DEP)
@$(DBDDEPENDS_CMD)
$(ECHO) "$<:../Makefile" >> $(notdir $@)$(DEP)
@$(RM) $@
$(DBTOMENUH) $(DBDFLAGS) $< $@
echo "$< : ../Makefile" >> $(notdir $@)$(DEP)
@$(RM) $(notdir $@)
$(DBTOMENUH) $(DBDFLAGS) $< $(notdir $@)
@$(MV) $(notdir $@) $@
$(COMMON_DIR)/menu%.h: menu%.dbd
@$(RM) $(notdir $@)$(DEP)
@$(DBDDEPENDS_CMD)
$(ECHO) "$<:../Makefile" >> $(notdir $@)$(DEP)
@$(RM) $@
$(DBTOMENUH) $(DBDFLAGS) $< $@
echo "$< : ../Makefile" >> $(notdir $@)$(DEP)
@$(RM) $(notdir $@)
$(DBTOMENUH) $(DBDFLAGS) $< $(notdir $@)
@$(MV) $(notdir $@) $@
.PRECIOUS: $(COMMON_DIR)/%.h
##################################################### DBD files
$(COMMON_DIR)/bpt%.dbd: bpt%.data
@$(RM) $@
$(MAKEBPT) $< $@
$(MAKEBPT) $< $(notdir $@)
@$(MV) $(notdir $@) $@
$(COMMON_DIR)/%.dbd: $(COMMON_DIR)/%Include.dbd
@$(RM) $(notdir $@)$(DEP)
@$(DBDDEPENDS_CMD)
$(ECHO) "$<:../Makefile" >> $(notdir $@)$(DEP)
echo "$< : ../Makefile" >> $(notdir $@)$(DEP)
$(ECHO) "Expanding dbd"
@$(RM) $@
@$(DBEXPAND) $(DBDFLAGS) -o $@ $<
@$(RM) $(notdir $@)
@$(DBEXPAND) $(DBDFLAGS) -o $(notdir $@) $<
@$(MV) $(notdir $@) $@
$(COMMON_DIR)/%.dbd: %Include.dbd
@$(RM) $(notdir $@)$(DEP)
@$(DBDDEPENDS_CMD)
$(ECHO) "$<:../Makefile" >> $(notdir $@)$(DEP)
echo "$< : ../Makefile" >> $(notdir $@)$(DEP)
$(ECHO) "Expanding dbd"
@$(RM) $@
$(DBEXPAND) $(DBDFLAGS) -o $@ $<
@$(RM) $(notdir $@)
$(DBEXPAND) $(DBDFLAGS) -o $(notdir $@) $<
@$(MV) $(notdir $@) $@
$(COMMON_DIR)/%Include.dbd:
@$(RM) $@
$(PERL) $(TOOLS)/makeIncludeDbd.pl $($*_DBD) $@
@$(RM) $(notdir $@)
$(PERL) $(TOOLS)/makeIncludeDbd.pl $($*_DBD) $(notdir $@)
@$(MV) $(notdir $@) $@
$(INSTALL_DBD)/%: $(COMMON_DIR)/%
$(ECHO) "Installing created dbd file $@"
@@ -302,8 +309,8 @@ $(COMMON_DIR)/%.db$(RAW): $(COMMON_DIR)/%.edf
$(COMMON_DIR)/%.db$(RAW): %.substitutions
@$(RM) $(notdir $@)$(DEP)
$(MAKEDBDEPENDS) $@ $< $(TEMPLATE_FILENAME) >> $(notdir $@)$(DEP)
$(ECHO) "$@:$(TEMPLATE_FILENAME)" >> $(notdir $@)$(DEP)
@$(MAKEDBDEPENDS) $@ $< $(TEMPLATE_FILENAME) >> $(notdir $@)$(DEP)
echo "$@ : $(TEMPLATE_FILENAME)" >> $(notdir $@)$(DEP)
$(ECHO) "Inflating database from $< $(TEMPLATE_FILENAME)"
@$(RM) $@ $*.tmp
$(MSI) $(DBFLAGS) -S$< $(TEMPLATE_FILENAME) > $*.tmp

View File

@@ -205,11 +205,6 @@ $(OBJLIBNAME):%$(OBJ):
@$(RM) $@
$(COMPILE.cpp) $(call PATH_FILTER,$<) $(COMPILE_FILTER.cpp)
%$(OBJ): %.C
@$(HDEPENDS_CMD)
@$(RM) $@
$(COMPILE.cpp) $(call PATH_FILTER,$<) $(COMPILE_FILTER.cpp)
# WIN95/NT resource compiler
%$(RES): %.rc
@$(RM) $@

View File

@@ -1,10 +1,9 @@
#*************************************************************************
# Copyright (c) 2002 The University of Chicago, as Operator of Argonne
# Copyright (c) 2011 UChicago Argonne LLC, as Operator of Argonne
# National Laboratory.
# Copyright (c) 2002 The Regents of the University of California, as
# Operator of Los Alamos National Laboratory.
# EPICS BASE Versions 3.13.7
# and higher are distributed subject to a Software License Agreement found
# EPICS BASE is distributed subject to a Software License Agreement found
# in file LICENSE that is included with this distribution.
#*************************************************************************
#
@@ -13,73 +12,73 @@
include $(CONFIG)/RULES_DIRS
distclean: realclean cvsclean realuninstall
CVSCLEAN=$(firstword $(wildcard $(TOOLS)/cvsclean.pl $(TOP)/src/tools/cvsclean.pl))
cvsclean:
$(PERL) $(CVSCLEAN)
realuninstall: uninstallDirs
$(RMDIR) $(INSTALL_LOCATION_BIN)
$(RMDIR) $(INSTALL_LOCATION_LIB)
UNINSTALL_DIRS += $(INSTALL_DBD) $(INSTALL_INCLUDE) $(INSTALL_DOC)\
$(INSTALL_HTML) $(INSTALL_JAVA) $(INSTALL_TEMPLATES) \
$(INSTALL_DB)
UNINSTALL_DIRS += $(DIRECTORY_TARGETS)
uninstallDirs:
$(RMDIR) $(UNINSTALL_DIRS)
uninstall: archuninstall uninstallDirs
archuninstall: $(addprefix uninstall$(DIVIDER),$(BUILD_ARCHS))
@$(MAKE) -f Makefile cleandirs
uninstallArchTargets = $(foreach arch,$(BUILD_ARCHS), uninstall$(DIVIDER)$(arch))
archPart = $(word 2, $(subst $(DIVIDER), ,$@))
$(uninstallArchTargets): uninstallDirs
@$(RMDIR) $(INSTALL_LOCATION_BIN)/$(archPart) $(INSTALL_LOCATION_LIB)/$(archPart)
uninstall$(DIVIDER)%:
$(RMDIR) $(INSTALL_LOCATION_BIN)/$(archPart)
$(RMDIR) $(INSTALL_LOCATION_LIB)/$(archPart)
cleandirs:
ifeq ($(wildcard $(INSTALL_LOCATION_BIN)/*),)
@$(RMDIR) $(INSTALL_LOCATION_BIN)
$(RMDIR) $(INSTALL_LOCATION_BIN)
endif
ifeq ($(wildcard $(INSTALL_LOCATION_LIB)/*),)
@$(RMDIR) $(INSTALL_LOCATION_LIB)
$(RMDIR) $(INSTALL_LOCATION_LIB)
endif
@echo
# The echo above stops a "nothing to be done for cleandirs" message
distclean: realclean realuninstall
CVSCLEAN=$(firstword $(wildcard $(TOOLS)/cvsclean.pl $(TOP)/src/tools/cvsclean.pl))
cvsclean:
@$(PERL) $(CVSCLEAN)
realuninstall:
@$(RMDIR) $(INSTALL_LOCATION_BIN) $(INSTALL_LOCATION_LIB)
@$(RMDIR) $(UNINSTALL_DIRS)
uninstall: $(addprefix uninstall$(DIVIDER),$(BUILD_ARCHS))
@$(MAKE) -f Makefile cleandirs
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 " all - Same as install (default rule)"
@echo " inc - Installs header files"
@echo " build - Builds and installs all targets"
@echo " install - Builds and installs all targets"
@echo " buildInstall - Same as install (deprecated)"
@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 " build.<arch> - Builds and installs <arch> only."
@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 " uninstall.<arch> - Remove bin & lib directories for <arch> only."
@echo "Targets supported by top level Makefile:"
@echo " uninstall - Cleans directories created by the install."
@echo " archuninstall - Remove bin & lib directories created by this hostarch."
@echo " uninstall - Remove install directories created by this hostarch."
@echo " realuninstall - Removes ALL install dirs"
@echo " distclean - Same as realclean realuninstall."
@echo " distclean - Same as realclean cvsclean realuninstall."
@echo " cvsclean - Removes cvs .#* files in all dirs of directory tree"
@echo " help - Prints this list of valid make targets "
@echo "Indiv. object targets are supported by O.<arch> level Makefile .e.g"
@echo " xxxRecord.o"
.PHONY : $(uninstallArchTargets)
.PHONY : uninstall help cleandirs distclean uninstallDirs realuninstall
.PHONY : cvsclean
.PHONY: cleandirs distclean cvsclean realuninstall archuninstall uninstallDirs
.PHONY: uninstall help

View File

@@ -1,17 +1,19 @@
#
# CONFIG.Common.RTEMS-beatnik
# A migration from Eric Norum's CONFIG.Common.RTEMS-mvme5500
# Author: Dayle Kotturi
# SLAC
# dayle@slac.stanford.edu
# $Revision-Id$
# Author: Dayle Kotturi <dayle@slac.stanford.edu>
#
# All RTEMS targets use the same Makefile fragment
#
override EXE=.elf
EXE = .elf
RTEMS_TARGET_CPU = powerpc
GNU_TARGET=powerpc-rtems
GNU_TARGET = powerpc-rtems
ARCH_DEP_CFLAGS += -DMY_DO_BOOTP=NULL
ARCH_DEP_CFLAGS += -DHAVE_MOTLOAD
ARCH_DEP_CFLAGS += -DRTEMS_NETWORK_CONFIG_MBUF_SPACE=2048
ARCH_DEP_CFLAGS += -DRTEMS_NETWORK_CONFIG_CLUSTER_SPACE=5120
OP_SYS_LDLIBS += -lbspExt
MUNCH_SUFFIX = .boot
MUNCHNAME = $(PRODNAME:%$(EXE)=%$(MUNCH_SUFFIX))
@@ -19,16 +21,13 @@ define MUNCH_CMD
$(RTEMS_TOOLS)/bin/$(OBJCOPY_FOR_TARGET) -O binary $< $@
endef
CROSS_COMPILER_TARGET_ARCHS=RTEMS-beatnik
include $(CONFIG)/os/CONFIG.Common.RTEMS
RTEMSSYMS=$(PRODNAME:%$(EXE)=%.sym)
RTEMSIMGS=$(PRODNAME:%$(EXE)=%.bin)
INSTALL_RTEMSSYMS=$(RTEMSSYMS:%=$(INSTALL_BIN)/%)
INSTALL_RTEMSIMGS=$(RTEMSIMGS:%=$(INSTALL_BIN)/%)
OP_SYS_LDLIBS += -lbspExt
%.sym: %$(EXE)
$(XSYMS) $^ $@

View File

@@ -1,15 +1,18 @@
#
# CONFIG.Common.RTEMS-mvme3100
# $Revision-Id$
# Author: W. Eric Norum
# Canadian Light Source
# eric@cls.usask.ca
# Author: W. Eric Norum <wenorum@lbl.gov>
#
# All RTEMS targets use the same Makefile fragment
#
EXE = .elf
RTEMS_TARGET_CPU = powerpc
GNU_TARGET = powerpc-rtems
ARCH_DEP_CFLAGS += -DMY_DO_BOOTP=NULL
ARCH_DEP_CFLAGS += -DHAVE_PPCBUG
OP_SYS_LDLIBS += -lbspExt
MUNCH_SUFFIX = .boot
MUNCHNAME = $(PRODNAME:%$(EXE)=%$(MUNCH_SUFFIX))
define MUNCH_CMD
@@ -24,6 +27,4 @@ define MUNCH_CMD
rm -f rtems.gz
endef
OP_SYS_LDLIBS += -lbspExt
include $(CONFIG)/os/CONFIG.Common.RTEMS

View File

@@ -1,11 +1,19 @@
#
# CONFIG.Common.RTEMS-mvme3100
# $Revision-Id$
# Author: W. Eric Norum <wenorum@lbl.gov>
#
# All RTEMS targets use the same Makefile fragment
#
override EXE=.elf
EXE = .elf
RTEMS_TARGET_CPU = powerpc
GNU_TARGET=powerpc-rtems
GNU_TARGET = powerpc-rtems
ARCH_DEP_CFLAGS += -DMY_DO_BOOTP=NULL
ARCH_DEP_CFLAGS += -DHAVE_MOTLOAD
ARCH_DEP_CFLAGS += -DRTEMS_NETWORK_CONFIG_MBUF_SPACE=2048
ARCH_DEP_CFLAGS += -DRTEMS_NETWORK_CONFIG_CLUSTER_SPACE=5120
OP_SYS_LDLIBS += -lbspExt
MUNCH_SUFFIX = .boot
MUNCHNAME = $(PRODNAME:%$(EXE)=%$(MUNCH_SUFFIX))
@@ -13,16 +21,13 @@ define MUNCH_CMD
$(RTEMS_TOOLS)/bin/$(OBJCOPY_FOR_TARGET) -O binary $< $@
endef
CROSS_COMPILER_TARGET_ARCHS=RTEMS-beatnik
include $(CONFIG)/os/CONFIG.Common.RTEMS
RTEMSSYMS=$(PRODNAME:%$(EXE)=%.sym)
RTEMSIMGS=$(PRODNAME:%$(EXE)=%.bin)
INSTALL_RTEMSSYMS=$(RTEMSSYMS:%=$(INSTALL_BIN)/%)
INSTALL_RTEMSIMGS=$(RTEMSIMGS:%=$(INSTALL_BIN)/%)
OP_SYS_LDLIBS += -lbspExt
%.sym: %$(EXE)
$(XSYMS) $^ $@

View File

@@ -1,16 +1,21 @@
#
# CONFIG.Common.RTEMS-mvme5500
# $Revision-Id$
# Author: W. Eric Norum
# Advanced Photon Source
# norume@aps.anl.gov
# Author: W. Eric Norum <wenorum@lbl.gov>
#
# All RTEMS targets use the same Makefile fragment
#
EXE = .elf
RTEMS_TARGET_CPU = powerpc
GNU_TARGET = powerpc-rtems
ARCH_DEP_CFLAGS += -DMY_DO_BOOTP=NULL
ARCH_DEP_CFLAGS += -DHAVE_MOTLOAD
ARCH_DEP_CFLAGS += -DRTEMS_NETWORK_CONFIG_MBUF_SPACE=2048
ARCH_DEP_CFLAGS += -DRTEMS_NETWORK_CONFIG_CLUSTER_SPACE=5120
ARCH_DEP_CFLAGS += -DBSP_NVRAM_BASE_ADDR=0xf1110000
OP_SYS_LDLIBS += -lbspExt
MUNCH_SUFFIX = .boot
MUNCHNAME = $(PRODNAME:%$(EXE)=%$(MUNCH_SUFFIX))
define MUNCH_CMD

View File

@@ -69,3 +69,9 @@ LIBNAME = $(LIBNAME_$(SHARED_LIBRARIES))
# dll install location
INSTALL_SHRLIB = $(INSTALL_BIN)
# Cygwin supports the sunrpc package in versions before 1.7.
# Cygwin supports the tirpc (Transport Independent RPC) package in versions 1.7 and later.
# uname -r return a string like "1.76(0230/5/3)"
CYGWIN_RPC_LIB= $(if $(findstring 1.5,$(shell uname -r)),rpc,tirpc)

View File

@@ -55,7 +55,7 @@ CCC = $(GNU_BIN)/c++
#-------------------------------------------------------
# Linker flags
OP_SYS_LDFLAGS += -dynamic -Z -L$(SDK_DIR)/usr/lib
OP_SYS_LDFLAGS += -dynamic -Z -L$(SDK_DIR)/usr/lib -L$(SDK_DIR)/usr/lib/system
#-------------------------------------------------------
# Shared libraries

View File

@@ -29,4 +29,11 @@ ifeq ($(BUILD_CLASS),CROSS)
# Provide a link-time path for products
PRODDIR_RPATH_LDFLAGS_YES += $(PROD_DEPLIB_DIRS:%=-Wl,-rpath-link,%)
PRODDIR_LDFLAGS += $(PRODDIR_RPATH_LDFLAGS_$(LINKER_USE_RPATH))
# Provide a link-time path for readline
RUNTIME_LDFLAGS_READLINE_YES = -Wl,-rpath-link,$(GNU_DIR)/lib
RUNTIME_LDFLAGS_READLINE = $(RUNTIME_LDFLAGS_READLINE_$(LINKER_USE_RPATH))
RUNTIME_LDFLAGS_READLINE_CURSES = $(RUNTIME_LDFLAGS_READLINE_$(LINKER_USE_RPATH))
RUNTIME_LDFLAGS_READLINE_NCURSES = $(RUNTIME_LDFLAGS_READLINE_$(LINKER_USE_RPATH))
endif

View File

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

View File

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

View File

@@ -35,8 +35,6 @@ SHRLIBDIR_LDFLAGS += $(SHRLIBDIR_RPATH_LDFLAGS_$(LINKER_USE_RPATH))
PRODDIR_RPATH_LDFLAGS_YES += $(PROD_DEPLIB_DIRS:%=-R%)
PRODDIR_LDFLAGS += $(PRODDIR_RPATH_LDFLAGS_$(LINKER_USE_RPATH))
RUNTIME_LDFLAGS += $(RUNTIME_LDFLAGS_$(COMMANDLINE_LIBRARY))
GNU_TARGET=sparc-sun-solaris2
STLPORT_CFLAGS_YES= -library=stlport4
@@ -53,17 +51,17 @@ 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 += -lumem -lCrun -lc
OP_SYS_LDLIBS_8 += -ldl -lCrun -lc
OP_SYS_LDLIBS_9 += -ldl -lumem -lCrun -lc
OP_SYS_LDLIBS_10 += -lumem -lCrun -lc
OP_SYS_LDLIBS += $(OP_SYS_LDLIBS_$(SOLARIS_VERSION))
# Definitions used when COMMANDLINE_LIBRARY is READLINE
READLINE_DIR = $(GNU_DIR)
INCLUDES_READLINE = -I$(READLINE_DIR)/include
RUNTIME_LDFLAGS_READLINE += -R$(READLINE_DIR)/lib
RUNTIME_LDFLAGS_READLINE_YES += -R$(READLINE_DIR)/lib
RUNTIME_LDFLAGS_READLINE += $(RUNTIME_LDFLAGS_READLINE_$(LINKER_USE_RPATH))
LDFLAGS_READLINE += -L$(READLINE_DIR)/lib
LDLIBS_READLINE = -lreadline -lcurses
# Use archive if there is a problem with the readline shared library
#LDLIBS_READLINE = -Bstatic -lreadline -Bdynamic -lcurses

View File

@@ -15,7 +15,7 @@ COMPILER_CPPFLAGS = -D_REENTRANT
STLPORT_LDLIBS_NO =
OP_SYS_LDLIBS_8 =
OP_SYS_LDLIBS_9 =
OP_SYS_LDLIBS_8 = -ldl
OP_SYS_LDLIBS_9 = -ldl
OP_SYS_LDLIBS_10 =

View File

@@ -36,8 +36,6 @@ SHRLIBDIR_LDFLAGS += $(SHRLIBDIR_RPATH_LDFLAGS_$(LINKER_USE_RPATH))
PRODDIR_RPATH_LDFLAGS_YES += $(PROD_DEPLIB_DIRS:%=-R%)
PRODDIR_LDFLAGS += $(PRODDIR_RPATH_LDFLAGS_$(LINKER_USE_RPATH))
RUNTIME_LDFLAGS += $(RUNTIME_LDFLAGS_$(COMMANDLINE_LIBRARY))
GNU_TARGET=x86-sun-solaris2
STLPORT_CFLAGS_YES= -library=stlport4
@@ -52,8 +50,8 @@ OP_SYS_CFLAGS+=$(STLPORT_CFLAGS_$(USE_STLPORT))
OP_SYS_LDFLAGS+=$(STLPORT_CFLAGS_$(USE_STLPORT))
OP_SYS_LDLIBS += -lsocket -lnsl
OP_SYS_LDLIBS_8 += -lCrun -lc
OP_SYS_LDLIBS_9 += -lCrun -lc
OP_SYS_LDLIBS_8 += -ldl -lCrun -lc
OP_SYS_LDLIBS_9 += -ldl -lCrun -lc
OP_SYS_LDLIBS_10 += -lCrun -lc
OP_SYS_LDLIBS += $(OP_SYS_LDLIBS_$(SOLARIS_VERSION))
OP_SYS_LDLIBS += $(STLPORT_LDLIBS_$(USE_STLPORT))
@@ -61,7 +59,8 @@ OP_SYS_LDLIBS += $(STLPORT_LDLIBS_$(USE_STLPORT))
# Definitions used when COMMANDLINE_LIBRARY is READLINE
READLINE_DIR = $(GNU_DIR)
INCLUDES_READLINE = -I$(READLINE_DIR)/include
RUNTIME_LDFLAGS_READLINE += -R$(READLINE_DIR)/lib
RUNTIME_LDFLAGS_READLINE_YES += -R$(READLINE_DIR)/lib
RUNTIME_LDFLAGS_READLINE += $(RUNTIME_LDFLAGS_READLINE_$(LINKER_USE_RPATH))
LDFLAGS_READLINE += -L$(READLINE_DIR)/lib
LDLIBS_READLINE = -lreadline -lcurses
# Use archive if there is a problem with the readline shared library

View File

@@ -14,7 +14,7 @@ COMPILER_CPPFLAGS = -D_REENTRANT
STLPORT_LDLIBS_NO =
OP_SYS_LDLIBS_8 = -lc
OP_SYS_LDLIBS_9 = -lc
OP_SYS_LDLIBS_8 = -ldl -lc
OP_SYS_LDLIBS_9 = -ldl -lc
OP_SYS_LDLIBS_10 = -lc

View File

@@ -1,9 +1,10 @@
# CONFIG.Common.vxWorks-mpc8540
#
# $Revision-Id$
# This file is maintained by the build community.
#
# Definitions for vxWorks-mpc8540 targets: MPC8540 CPU with >32MB RAM.
# Site-specific overrides go in CONFIG_SITE.Common.vxWorks-mpc8540
#
# This file is maintained by the EPICS build community.
# Definitions for vxWorks-mpc8540 target archs
# Sites may override these definitions in CONFIG_SITE.Common.vxWorks-mpc8540
#-------------------------------------------------------
# Include definitions common to all vxWorks target archs

View File

@@ -0,0 +1,26 @@
# CONFIG.Common.vxWorks-mpc8548
#
# $Revision-Id$
# This file is maintained by the build community.
#
# Definitions for vxWorks-mpc8548 target archs
# Sites may override these definitions in CONFIG_SITE.Common.vxWorks-mpc8548
#-------------------------------------------------------
# Include definitions common to all vxWorks target archs
include $(CONFIG)/os/CONFIG.Common.vxWorksCommon
# Vx GNU cross compiler suffix
CMPLR_SUFFIX = ppc
ARCH_CLASS = ppc
# Architecture specific build flags
ARCH_DEP_CPPFLAGS = -DCPU=PPC32
ARCH_DEP_CFLAGS = -DCPU_VARIANT=_ppc85XX_e500v2
ARCH_DEP_CFLAGS += -mlongcall
# This flag isn't present in early vxWorks 6.x versions
#ARCH_DEP_CFLAGS += -te500v2
GNU_TARGET = powerpc-wrs-vxworks

View File

@@ -0,0 +1,14 @@
# CONFIG.Common.vxWorks-mpc8548-debug
#
# $Revision-Id$
# This file is maintained by the build community.
#
# Definitions for vxWorks-mpc8548-debug targets.
# Sites may override these definitions in CONFIG_SITE.Common.vxWorks-mpc8548-debug
#-------------------------------------------------------
# Include definitions common to all vxWorks archs
include $(CONFIG)/os/CONFIG.Common.vxWorks-mpc8548
CROSS_OPT = NO

View File

@@ -0,0 +1,24 @@
# $Revision-Id$
#
# Definitions for vxWorks-ppc603 targets with >32MB of RAM
# Site-specific overrides go in CONFIG_SITE.Common.vxWorks-ppc603_long
#
# This file is maintained by the EPICS build community.
#-------------------------------------------------------
# Include definitions common to all vxWorks target archs
include $(CONFIG)/os/CONFIG.Common.vxWorksCommon
# Vx GNU cross compiler suffix
CMPLR_SUFFIX = ppc
ARCH_CLASS = ppc
# Architecture specific build flags
ARCH_DEP_CPPFLAGS = -DCPU=PPC32
ARCH_DEP_CFLAGS = -mstrict-align
GNU_TARGET = powerpc-wrs-vxworks
# Tell compiler to generate long branches
ARCH_DEP_CFLAGS += -mlongcall

View File

@@ -0,0 +1,14 @@
# CONFIG.Common.vxWorks-ppc32-debug
#
# $Revision-Id$
# This file is maintained by the build community.
#
# Definitions for vxWorks-ppc32-debug target archs
# Sites may override these definitions in CONFIG_SITE.Common.vxWorks-ppc32-debug
#-------------------------------------------------------
# Include definitions common to all vxWorks archs
include $(CONFIG)/os/CONFIG.Common.vxWorks-ppc32
CROSS_OPT = NO

View File

@@ -0,0 +1,13 @@
# $Revision-Id$
#
# Definitions for vxWorks-ppc32sf targets
# Site-specific overrides go in CONFIG_SITE.Common.vxWorks-ppc32sf
#
# This file is maintained by the EPICS build community.
#-------------------------------------------------------
# Inherit the settings from vxWorks-ppc32
include $(CONFIG)/os/CONFIG.Common.vxWorks-ppc32
# Tell compiler to use software floating-point
ARCH_DEP_CFLAGS += -msoft-float

View File

@@ -0,0 +1,14 @@
# CONFIG.Common.vxWorks-ppc32sf-debug
#
# $Revision-Id$
# This file is maintained by the build community.
#
# Definitions for vxWorks-ppc32sf-debug target archs
# Sites may override these definitions in CONFIG_SITE.Common.vxWorks-ppc32sf-debug
#-------------------------------------------------------
# Include definitions common to all vxWorks archs
include $(CONFIG)/os/CONFIG.Common.vxWorks-ppc32sf
CROSS_OPT = NO

View File

@@ -159,7 +159,7 @@ export TOOL_FAMILY = GNU
#--------------------------------------------------
# Operating system flags
OP_SYS_CPPFLAGS += -DvxWorks
OP_SYS_CPPFLAGS += -DvxWorks=vxWorks
OP_SYS_CFLAGS += -fno-builtin
# Fix for vxWorks 5 headers that use macros defined in vxWorks.h but

View File

@@ -7,8 +7,10 @@
# Sites may override these definitions in CONFIG_SITE.cygwin-x86.cygwin-x86-debug
#-------------------------------------------------------
include $(CONFIG)/os/CONFIG.Common.cygwin-x86
include $(CONFIG)/os/CONFIG.cygwin-x86.cygwin-x86
-include $(CONFIG)/os/CONFIG.Common.cygwin-x86
-include $(CONFIG)/os/CONFIG.cygwin-x86.cygwin-x86
-include $(CONFIG)/os/CONFIG_SITE.Common.cygwin-x86
-include $(CONFIG)/os/CONFIG_SITE.cygwin-x86.cygwin-x86
BUILD_CLASS = HOST

View File

@@ -9,6 +9,8 @@
-include $(CONFIG)/os/CONFIG.Common.darwin-ppc
-include $(CONFIG)/os/CONFIG.darwin-ppc.darwin-ppc
-include $(CONFIG)/os/CONFIG_SITE.Common.darwin-ppc
-include $(CONFIG)/os/CONFIG_SITE.darwin-ppc.darwin-ppc
BUILD_CLASS=HOST
HOST_OPT = NO

View File

@@ -9,6 +9,9 @@
-include $(CONFIG)/os/CONFIG.Common.darwin-x86
-include $(CONFIG)/os/CONFIG.darwin-x86.darwin-x86
-include $(CONFIG)/os/CONFIG_SITE.Common.darwin-x86
-include $(CONFIG)/os/CONFIG_SITE.darwin-x86.darwin-x86
BUILD_CLASS=HOST
HOST_OPT = NO

View File

@@ -9,4 +9,3 @@
#Include definitions common to unix hosts
include $(CONFIG)/os/CONFIG.UnixCommon.Common
WIND_HOST_TYPE = ppc-linux

View File

@@ -10,4 +10,3 @@
#Include definitions common to unix hosts
include $(CONFIG)/os/CONFIG.UnixCommon.Common
WIND_HOST_TYPE = ppc-linux

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@@ -10,5 +10,3 @@
#Include definitions common to unix hosts
include $(CONFIG)/os/CONFIG.UnixCommon.Common
WIND_HOST_TYPE = x86-solaris2

View File

@@ -7,8 +7,10 @@
# Sites may override these definitions in CONFIG_SITE.solaris-x86.solaris-x86-debug
#-------------------------------------------------------
include $(CONFIG)/os/CONFIG.Common.solaris-x86
include $(CONFIG)/os/CONFIG.solaris-x86.solaris-x86
-include $(CONFIG)/os/CONFIG.Common.solaris-x86
-include $(CONFIG)/os/CONFIG.solaris-x86.solaris-x86
-include $(CONFIG)/os/CONFIG_SITE.Common.solaris-x86
-include $(CONFIG)/os/CONFIG_SITE.solaris-x86.solaris-x86
BUILD_CLASS=HOST

View File

@@ -8,10 +8,11 @@
#-------------------------------------------------------
CP = $(PERL) -MExtUtils::Command -e cp
MV = $(PERL) -MExtUtils::Command -e mv
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
COMMENT = $(PERL) -e ''
WIND_HOST_TYPE = x86-win32
OSITHREAD_USE_DEFAULT_STACK = NO

View File

@@ -11,10 +11,11 @@
include $(CONFIG)/os/CONFIG.UnixCommon.Common
CP = $(PERL) -MExtUtils::Command -e cp
MV = $(PERL) -MExtUtils::Command -e mv
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
COMMENT = $(PERL) -e ''
WIND_HOST_TYPE = x86-win32
OSITHREAD_USE_DEFAULT_STACK = NO

View File

@@ -26,7 +26,4 @@ LOADABLE_SHRLIB_LDFLAGS = -shared -Wl,--out-implib,$(LIB_PREFIX)$*$(LIB_SUFFIX)
# Override linking with gcc library from CONFIG.gnuCommon
GNU_LDLIBS_YES =
OPT_CFLAGS_NO = -O3 -g
OPT_CXXFLAGS_NO = -O3 -g
OP_SYS_LDLIBS = -lws2_32

View File

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

View File

@@ -8,10 +8,11 @@
#-------------------------------------------------------
CP = $(PERL) -MExtUtils::Command -e cp
MV = $(PERL) -MExtUtils::Command -e mv
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
COMMENT = $(PERL) -e ''
WIND_HOST_TYPE = x86-win32
OSITHREAD_USE_DEFAULT_STACK = NO

View File

@@ -31,7 +31,9 @@ BAFCMD = bscmake /nologo /o $@
# Configure OS vendor C compiler
CC = cl
# Override CONFIG.gnuCommon for cross builds.
GNU = NO
HDEPENDS_METHOD = CMD
#
# /W<N> use warning level N
@@ -187,7 +189,7 @@ OP_SYS_CXXFLAGS = $(COMPILER_CXXFLAGS)
# '-entry:_DllMainCRTStartup$(DLLENTRY)'
DLLENTRY = @12
WIN32_DLLFLAGS = /subsystem:windows /dll $(OPT_LDFLAGS) $(TARGET_LDFLAGS) $(LIB_LDFLAGS)
WIN32_DLLFLAGS = /subsystem:windows /dll $(OPT_LDFLAGS) $(USR_LDFLAGS) $(TARGET_LDFLAGS) $(LIB_LDFLAGS)
#
# specify dll .def file only if it exists

View File

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

View File

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

View File

@@ -0,0 +1,12 @@
# CONFIG.windows-x64-debug.windows-x64-debug
#
# $Revision-Id$
# This file is maintained by the build community.
#
# Definitions for windows-x64 debug compiler host - windows-x64 debug compiler target builds
# Sites may override these definitions in CONFIG_SITE.windows-x64-debug.windows-x64-debug
#-------------------------------------------------------
include $(CONFIG)/os/CONFIG.windows-x64.windows-x64
HOST_OPT=NO

View File

@@ -9,5 +9,5 @@
-include $(CONFIG)/os/CONFIG.win32-x86.Common
WIND_HOST_TYPE = x64-win
WIND_HOST_TYPE = x86-win32

View File

@@ -13,7 +13,6 @@ ARCH_solarisGnu = solaris-sparc-gnu
ARCH_Linux = linux-x86
ARCH_Darwin = darwin-ppc
ARCH_WIN32 = win32-x86
ARCH_alpha = osf-alpha
ARCH_cygwin32 = cygwin-x86
ARCH_Borland = win32-x86-borland
ARCH_freebsd = freebsd-x86

View File

@@ -11,4 +11,5 @@
# ppc64 - Not tested
ARCH_CLASS = ppc
#ARCH_CLASS = ppc64
#ARCH_CLASS = ppc ppc64

View File

@@ -10,9 +10,14 @@
# ppc
# i386
# ppc64 - Not tested
# x86_64 - Needs MacOS 10.5 or 10.4 with Universal SDK
# x86_64 - Needs MacOS 10.4 with Universal SDK, or 10.5 or later.
ARCH_CLASS = ppc i386
#ARCH_CLASS = ppc x86_64
#ARCH_CLASS = ppc i386 x86_64
#ARCH_CLASS = ppc64 i386
#ARCH_CLASS = ppc64 x86_64
#ARCH_CLASS = ppc64 i386 x86_64
#ARCH_CLASS = ppc ppc64 i386
#ARCH_CLASS = ppc ppc64 x86_64
#ARCH_CLASS = ppc ppc64 i386 x86_64

View File

@@ -6,9 +6,18 @@
# Site override definitions for darwin-x86 target builds
#-------------------------------------------------------
# Select which CPU architectures to include in your universal binaries:
# Select which CPU architecture(s) to include in your MacOS binaries:
# i386
# x86_64 - Needs MacOS 10.5 or 10.4 with Universal SDK
# x86_64 - Needs MacOS 10.4 with the Universal SDK, or 10.5 and later
ARCH_CLASS = i386
#ARCH_CLASS = x86_64
#ARCH_CLASS = i386 x86_64
#
# Uncomment the followings lines to build with CLANG instead of GCC.
#
#CC = clang
#CCC = clang++
#GNU_LDLIBS_YES =

View File

@@ -9,7 +9,8 @@
# iOS Version number
#IOS_VERSION = 3.2
IOS_VERSION = 4.1
#IOS_VERSION = 4.1
IOS_VERSION = 4.3
# Most sites will want shared libraries

View File

@@ -1,5 +1,7 @@
# CONFIG_SITE.Common.linux-cris
#
# $Revision-Id$
#
# Site Specific definitions for linux-cris target
# Only the local epics system manager should modify this file
@@ -15,9 +17,21 @@
# c) Add the runtime path to /etc/ld.so.conf and run ldconfig
# to inform the system of the shared library location.
# If readline is not installed comment the following line
# to omit command-line editing and history support
# Depending on your version of Linux you may want one of the following
# lines to enable command-line editing and history in iocsh. If you're
# not sure which, start with the top one and work downwards until the
# build doesn't fail to link the readline library. If none of them work,
# comment them all out to build without readline support.
# No other libraries needed (recent Fedora, Ubuntu etc.):
#COMMANDLINE_LIBRARY = READLINE
# Needs -lncurses (RHEL 5 etc.):
#COMMANDLINE_LIBRARY = READLINE_NCURSES
# Needs -lcurses (older versions)
#COMMANDLINE_LIBRARY = READLINE_CURSES
OP_SYS_CFLAGS += -g

View File

@@ -18,12 +18,19 @@
# to inform the system of the shared library location.
# Depending on your version of Linux you'll want one of the following
# lines to enable command-line editing and history support. If you're
# lines to enable command-line editing and history in iocsh. If you're
# not sure which, start with the top one and work downwards until the
# build doesn't fail to link the readline library. If none of them
# work, comment them all out.
#COMMANDLINE_LIBRARY = READLINE
COMMANDLINE_LIBRARY = READLINE_NCURSES
# build doesn't fail to link the readline library. If none of them work,
# comment them all out to build without readline support.
# No other libraries needed (recent Fedora, Ubuntu etc.):
COMMANDLINE_LIBRARY = READLINE
# Needs -lncurses (RHEL 5 etc.):
#COMMANDLINE_LIBRARY = READLINE_NCURSES
# Needs -lcurses (older versions)
#COMMANDLINE_LIBRARY = READLINE_CURSES
OP_SYS_CFLAGS += -g

View File

@@ -18,12 +18,19 @@
# to inform the system of the shared library location.
# Depending on your version of Linux you'll want one of the following
# lines to enable command-line editing and history support. If you're
# lines to enable command-line editing and history in iocsh. If you're
# not sure which, start with the top one and work downwards until the
# build doesn't fail to link the readline library. If none of them
# work, comment them all out.
# build doesn't fail to link the readline library. If none of them work,
# comment them all out to build without readline support.
# No other libraries needed (recent Fedora, Ubuntu etc.):
COMMANDLINE_LIBRARY = READLINE
# Needs -lncurses (RHEL 5 etc.):
#COMMANDLINE_LIBRARY = READLINE_NCURSES
# Needs -lcurses (older versions)
#COMMANDLINE_LIBRARY = READLINE_CURSES
OP_SYS_CFLAGS += -g

View File

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

View File

@@ -7,6 +7,5 @@
# jba overrides
#CROSS_COMPILER_TARGET_ARCHS=vxWorks-486
#VX_DIR = T:/tornado20
BORLAND = c:\\Borland\\Bcc55

View File

@@ -0,0 +1,17 @@
# CONFIG_SITE.win32-x86-mingw.win32-x86-mingw
#
# $Revision-Id$
#
# Site Specific definitions for win32-x86-mingw target
# Only the local epics system manager should modify this file
# Uncomment the following settings for MinGW_w32 releases
# <MinGW directory>/bin should be in your path
#CMPLR_PREFIX=i686-w64-mingw32-
#CC = $(CMPLR_PREFIX)gcc
#CCC = $(CMPLR_PREFIX)g++
#AR = $(CMPLR_PREFIX)ar -rc
#LD = $(CMPLR_PREFIX)ld -r
#RANLIB = $(CMPLR_PREFIX)ranlib

View File

@@ -8,5 +8,4 @@
# jba test overrides
#CROSS_COMPILER_TARGET_ARCHS=vxWorks-486
#CROSS_COMPILER_TARGET_ARCHS+=vxWorks-68040
#VX_DIR = T:/tornado20
#INSTALL_LOCATION = G:/testInstall

View File

@@ -172,7 +172,7 @@ exampleIoc_SRCS += devXxxSoft.c
exampleIoc_LIBS += $(EPICS_BASE_IOC_LIBS)
PROD_IOC_vxWorks = example
example_SRCS += sncExample.stt
example_SRCS += sncExample.st
example_LIBS += exampleIoc
example_LIBS += seq pv
example_LIBS += $(EPICS_BASE_IOC_LIBS)
@@ -263,7 +263,7 @@ dev<i>name</i> = { ... };</q></p>
<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>
init and process functions, must be changed as follows</p>
<ol>
<li>Include the following header files after all existing #includes:
@@ -468,4 +468,9 @@ should add the definition</p>
<p>to your application config/RELEASE file.</p>
</body>
<h3>Optional <i>top</i>/configure/CONFIG_SITE changes.</h3>
<p>Review and optionally modify site build settings.</p>
</html>

View File

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

View File

@@ -1,30 +0,0 @@
<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<meta name="Author" content="jba">
<meta name="GENERATOR" content="Mozilla/4.77 [en] (X11; U; SunOS 5.8 sun4u) [Netscape]">
</head>
<body>
<center>
<h2> Converting an EPICS R3.14.0 beta1 application to beta2</h2></center>
<p><br>This document describes how to convert a R3.14.0beta1 application
so that it builds with release R3.14.0beta2.
<h3>Update Unix LD_LIBRARY_PATH</h3>
If you build EPICS base shared libraries instead of archive
libraries on Unix systems you will need to update your
LD_LIBRARY_PATH environment variable to include fullpathname
to the NEW base $(INSTALL_LOCATION)/lib/$(EPICS_HOST_ARCH).
<h3>Update Win32 PATH</h3>
On WIN32 systems, building shared libraries is the default
setting so, unless SHARED_LIBRARIES was changed to NO, you will
need to update your path to include fullpathname to the NEW
base $(INSTALL_LOCATION)/bin/$(EPICS_HOST_ARCH).
</html>

View File

@@ -1,15 +0,0 @@
<!DOCTYPE doctype PUBLIC "-//w3c//dtd html 4.0 transitional//en"><html><head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<meta name="Author" content="jba">
<meta name="GENERATOR" content="Mozilla/4.77 [en] (X11; U; SunOS 5.8 sun4u) [Netscape]"></head>
<body>
<center>
<h2> Converting an EPICS R3.14.0 beta2 application to R3.14.1</h2></center>
<p><br>This document describes how to convert a R3.14.0beta2 application
so that it builds with release R3.14.1.
</p><h3>No changes required.</h3>

View File

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

View File

@@ -1,37 +0,0 @@
<!DOCTYPE doctype PUBLIC "-//w3c//dtd html 4.0 transitional//en"><html><head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<meta name="Author" content="jba">
<meta name="GENERATOR" content="Mozilla/4.77 [en] (X11; U; SunOS 5.8 sun4u) [Netscape]"></head>
<body>
<center>
<h2>Converting an EPICS R3.14.2 application to R3.14.3</h2></center>
<p>This document describes how to convert a R3.14.2 application
so that it builds and runs properly with release R3.14.3.</p>
<h3>registerRecordDeviceDriver Name Change</h3>
<p>All application iocBoot/iocxxx/st.cmd files must be modified for R3.14.3 as
the generated routine that registers record device and driver support has been
renamed to incorporate the name of the dbd file it came from. The change to
the startup script is straightforward; any pair of lines like this:</p>
<blockquote>
<pre>dbLoadDatabase("dbd/<i>something</i>.dbd",0,0)
registerRecordDeviceDriver(pdbbase)</pre>
</blockquote>
<p>must have the second line changed so the result looks like this:</p>
<blockquote>
<pre>dbLoadDatabase("dbd/<i>something</i>.dbd",0,0)
<i>something</i>_registerRecordDeviceDriver(pdbbase)</pre>
</blockquote>
<p>There may be other pathname components in the dbLoadDatabase line which
should remain exactly as before.</p>
</body>
</html>

View File

@@ -1,17 +0,0 @@
<!DOCTYPE doctype PUBLIC "-//w3c//dtd html 4.0 transitional//en"><html><head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<meta name="Author" content="jba">
<meta name="GENERATOR" content="Mozilla/4.77 [en] (X11; U; SunOS 5.8 sun4u) [Netscape]"></head>
<body>
<center>
<h2>Converting an EPICS R3.14.3 application to R3.14.4</h2></center>
<p>This document describes how to convert a R3.14.3 application
so that it builds and runs properly with release R3.14.4.</p>
</p><h3>No changes required.</h3>
</body>
</html>

View File

@@ -1,17 +0,0 @@
<!DOCTYPE doctype PUBLIC "-//w3c//dtd html 4.0 transitional//en"><html><head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<meta name="Author" content="jba">
<meta name="GENERATOR" content="Mozilla/4.77 [en] (X11; U; SunOS 5.8 sun4u) [Netscape]"></head>
<body>
<center>
<h2>Converting an EPICS R3.14.4 application to R3.14.5</h2></center>
<p>This document describes how to convert a R3.14.4 application
so that it builds and runs properly with release R3.14.5.</p>
</p><h3>No changes required.</h3>
</body>
</html>

View File

@@ -1,165 +0,0 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<meta name="Author" content="jba">
</head>
<body>
<center>
<h2>Converting an EPICS R3.14.5 application to R3.14.6</h2>
</center>
<p>This document describes how to convert a R3.14.5 application so that it
builds with release R3.14.6.</p>
<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>
<p>Change "<tt>include $(TOP)/config/RULES.ioc</tt>" to "<tt>include
$(TOP)/configure/RULES.ioc"</tt></p>
<p>If it exists remove the line</p>
<p><tt>buildInstall: cdCommands </tt></p>
<p>Add the line</p>
<p><tt>TARGETS = cdCommands</tt></p>
<p>before the include for RULES.ioc line.</p>
<h3>Modify st.cmd in &lt;top&gt;/iocBoot/ioc* directories.</h3>
<p>Remove the lines</p>
<pre>ld &lt; seq
ld &lt; iocCore</pre>
<p>Change "<tt>ld &lt; &lt;libname&gt;Lib</tt>" to "<tt>ld &lt;
&lt;libname&gt;.munch"</tt></p>
<p>Change "<tt>cd appbin</tt>" to "<tt>cd topbin</tt>"</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>
<p>where &lt;name&gt; 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>
<h3>Record support changes</h3>
<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
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
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>
<pre> PID=&lt;full path to modules directory&gt;/pid
</pre>
<p>to config/RELEASE and add <br>
<pre> LIBOBJS += $(PID_BIN)/pidRecord.o
</pre>
to your application src/Makefile.
<p>You should consider changing any existing old steppermotor records to the
new EPICS motor record module supported by Beamline Controls and Data
Acquisition at APS.</p>
<h3>RecDynLink.o and devPtSoft changes</h3>
<p>recDynLink.o and devPtSoft.o are no longer in EPICS base and now exist as
separate EPICS modules.You must now add the appropriate module full path
definitions to your application config/RELEASE file, and change
<tt>LIBOBJS</tt> location definition <tt>$(EPICS_BASE_BIN)</tt> to the module
definition bin directory in your application src directory files. See
"Hardware support changes" below for instructions.</p>
<h3>Hardware support changes</h3>
<p>All hardware support (dev, drv and dbd files) except soft support has been
unbundled from base R3.14. This support includes the files symb.dbd,
drvHp1404a.o, drvEpvxiMsg.o, and drvEpvxi.o. If these are not used by your
application, comment out references to them in base.dbd.</p>
<p>Hardware support now exists as separate EPICS modules. The hardware
support for your site should be downloaded and built with base R3.14 by your
EPICS administrator. You must now add the appropriate module full path
definitions to your application config/RELEASE file, and change
<tt>LIBOBJS</tt> location from <tt>$(EPICS_BASE_BIN) </tt>to the module bin
directory in your application src directory files.</p>
<p>For example, remove</p>
<pre> LIBOBJS+=$(EPICS_BASE_BIN)/symb
</pre>
<p>from baseLIBOBJS and add</p>
<pre> LIBOBJS+=$(SYMB_BIN)/symb
</pre>
<p>to your application src/Makefile, <br>
and add the line</p>
<pre> SYMB=&lt;full path definition for the built module SYMB&gt;
</pre>
<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
application, db files are created from template and substitution files you
should add the definition</p>
<p><tt>MSI=&lt;full path name to msi executable&gt;</tt></p>
<p>to your application config/RELEASE file.</p>
</body>
</html>

View File

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

View File

@@ -1,23 +0,0 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<meta name="Author" content="jba">
</head>
<body>
<center>
<h2>Converting an EPICS R3.14.7 application to R3.14.8</h2>
</center>
<p>This document describes how to convert a R3.14.7 application
so that it builds and runs properly with release R3.14.8.</p>
<h3>No changes required.</h3>
</body>
</html>
~

View File

@@ -4,16 +4,25 @@
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Known Problems in R3.14.11</title>
<title>Known Problems in R3.14.12.1</title>
</head>
<body>
<h1 style="text-align: center">EPICS Base R3.14.11: Known Problems</h1>
<h1 style="text-align: center">EPICS Base R3.14.12.1: Known Problems</h1>
<p>Any patch files linked below should be applied at the root of the
base-3.14.12.1 tree. Download them, then use the GNU Patch program as
follows:</p>
<blockquote><pre>% <b>cd <i>/path/to/</i>base-3.14.12.1</b>
% <b>patch -p0 &lt; <i>/path/to/</i>file.patch</b></pre></blockquote>
<p>The following significant problems have been reported with this
version of EPICS Base:</p>
<ul>
<li>The epicsMutexTest program sometimes runs an extra test, resulting in
a failure report from 'make -s runtests'. This is harmless.</li>
<li>None yet.</li>
</ul>

View File

@@ -1,511 +1,441 @@
README.1st
Installation Instructions
Installation Instructions
EPICS base
EPICS Base Release 3.14.*
Release 3.14.*
--------------------------------------------------------------------------
Table of Contents
Table of Contents
* What is EPICS base?
* What is new in this release?
* Copyright
* Supported platforms
* Supported compilers
* Software requirements
* Host system storage requirements
* Documentation
* WWW pages
* Directory Structure
* Build related components
* Building EPICS base (Unix and Win32)
* Example application and extension
* Multiple host platforms
* What is EPICS base?
* What is new in this release?
* Copyright
* Supported platforms
* Supported compilers
* Software requirements
* Host system storage requirements
* Documentation
* WWW pages
* Directory Structure
* Build related components
* Building EPICS base (Unix and Win32)
* Example application and extension
* Multiple host platforms
What is EPICS base?
--------------------------------------------------------------------------
The Experimental Physics and Industrial Control Systems (EPICS) is an
extensible set of software components and tools with which application
developers can create a control system. This control system can be used to
control accelerators, detectors, telescopes, or other scientific
experimental equipment. EPICS base is the set of core software, i.e. the
components of EPICS without which EPICS would not function. EPICS base
allows an arbitrary number of target systems, IOCs (input/output
controllers), and host systems, OPIs (operator interfaces) of various types.
What is EPICS base?
What is new in this release?
The Experimental Physics and Industrial Control Systems (EPICS) is an
extensible set of software components and tools with which application
developers can create a control system. This control system can be used
to control accelerators, detectors, telescopes, or other scientific
experimental equipment. EPICS base is the set of core software, i.e. the
components of EPICS without which EPICS would not function. EPICS base
allows an arbitrary number of target systems, IOCs (input/output
controllers), and host systems, OPIs (operator interfaces) of various
types.
Please check the RELEASE_NOTES file in the distribution for description of
changes and release migration details.
What is new in this release?
Copyright
Please check the RELEASE_NOTES file in the distribution for description
of changes and release migration details.
Please review the COPYRIGHT* files included in the distribution for legal
terms of usage.
Copyright
Supported platforms
Please review the LICENSE file included in the distribution for legal
terms of usage.
Currently this version of EPICS base has been built on the following hosts
for the following targets. If you are trying to build EPICS base on a
different host or for a different target machine you must get the proper
host/target cross compiler and header files, and you will have to create and
add the appropriate new configure files to the base/configure/os/directory.
You can start by copying existing configuration files in the configure/os
directory and then make changes for your new platforms.
Supported platforms
Host platforms (operating system - architecture [- alternate toolset])
The list of platforms supported by this version of EPICS base is given
in the configure/CONFIG_SITE file. If you are trying to build EPICS Base
on an unlisted host or for a different target machine you must have the
proper host/target cross compiler and header files, and you will have to
create and add the appropriate new configure files to the
base/configure/os/directory. You can start by copying existing
configuration files in the configure/os directory and then make changes
for your new platforms.
cygwin-x86 (unix style API, uses cygwin1.dll compatability library)
darwin-ppc
darwin-x86
darwin-ppcx86
freebsd-x86
freebsd-x86_64
linux-ppc
linux-x86
linux-x86_64
linux-x86-borland
solaris-sparc
solaris-sparc-gnu
solaris-sparc64
solaris-sparc64-gnu
solaris-x86
solaris-x86-gnu
win32-x86
win32-x86-mingw (WIN32 API, uses MS dlls)
win32-x86-cygwin (WIN32 API, uses MS dlls)
Supported compilers
Cross compile target platforms (operating system - architecture)
This version of EPICS base has been built and tested using the host
vendor's C and C++ compilers, as well as the GNU gcc and g++ compilers.
The GNU cross-compilers work for all cross-compiled targets. You may
need the C and C++ compilers to be in your search path to do EPICS
builds; check the definitions of CC and CCC in
base/configure/os/CONFIG.<host>.<host> if you have problems.
linux-386
linux-486
linux-586
linux-686
linux-arm
linux-arm_eb
linux-arm_el
linux-athlon
linux-cris
linux-cris_v10
linux-cris_v32
linux-xscale_be
vxWorks-486
vxWorks-68040
vxWorks-68040lc
vxWorks-68060
vxWorks-pentium
vxWorks-ppc603
vxWorks-ppc603_long
vxWorks-ppc604
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
RTEMS-uC5282
Software requirements
Supported compilers
GNU make
You must use GNU make, gnumake, for any EPICS builds. Set your path so
that a gnumake version 3.81 or later is available.
This version of EPICS base has been built and tested using the host vendor's
C and C++ compilers as well as the GNU gcc and g++ compilers. The GNU
cross-compilers have been used for all cross-compiled targets. You may need
the host vendor's C++ compiler in your search path to do EPICS builds. Check
definitions of CC and CCC in base/configure/os/CONFIG.<host>.<host>.
Perl
You must have Perl version 5.8.1 or later installed. The EPICS
configuration files do not specify the perl full pathname, so the perl
executable must be found through your normal search path.
Software requirements
Unzip and tar (Winzip on WIN32 systems)
You must have tools available to unzip and untar the EPICS base
distribution file.
GNU make
You must use GNU make, gnumake, for any EPICS builds. Set your path so that
a gnumake version 3.81 or later is available.
Target systems
EPICS supports IOCs running on embedded platforms such as VxWorks and
RTEMS built using a cross-compiler, and also supports soft IOCs running
as processes on the host platform.
gcc
For most cases, you must have gcc version 3.4.2 or later. Appropriate
versions of vendor C and C++ compilers may be used for native compilation.
vxWorks
You must have vxWorks installed if any of your target systems are
vxWorks systems. This provides the cross-compiler and header files
needed to build for these target systems. The absolute path to and
version number of the vxWorks installation is normally specified in the
base/configure/os/CONFIG_SITE.Common.vxWorksCommon file. Consult the
EPICS web pages about [1]vxWorks 5.x and [2]vxWorks 6.x and the
vxWorks documentation for information about configuring your vxWorks
operating system for use with EPICS.
Perl
You must have perl version 5.8.1 or later installed. The configure files do
not specify the perl full pathname. You need the perl executable in your
search path.
RTEMS
For RTEMS targets, you need RTEMS core and toolset version 4.9.2 or
later.
Unzip and tar (Winzip on WIN32 systems)
You must have tools available to unzip and untar the EPICS base distribution
file.
GNU readline or Tecla library
GNU readline and Tecla librararies can be used by the IOC shell to
provide command line editing and command line history recall and edit.
GNU readline (or Tecla library) must be installed on your target system
when COMMANDLINE_LIBRARY is set to READLINE (or TECLA) for that target.
EPICS (EPICS shell) is the default specified in CONFIG_COMMON. A
READLINE override is defined for linux-x86 in the EPICS distribution.
Comment out COMMANDLINE_LIBRARY=READLINE in
configure/os/CONFIG_SITE.Common.linux-x86 if readline is not installed
on linux-x86. Command-line editing and history will then be those
supplied by the os. On vxWorks the ledLib command-line input library is
used instead.
Target systems
EPICS supports IOCs running on embedded platforms such as VxWorks and RTEMS
via cross-compilers. EPICS also supports ?soft? IOCs running as processes on
the host platform.
Host system storage requirements
Tornado 2
You must have Tornado 2 installed if any of your target systems are vxWorks
systems. Tornado 2 provides the cross-compiler and header files needed to
build for these target systems. The full path location to Tornado 2 should
be specified in the base/configure/RELEASE or
base/configure/RELEASE.<hostarch> file. You will also need one or more board
support packages. Consult the vxWorks documentation for details.
The GNU zipped tar file is approximately 1.5 MB in size. The unzipped
untarred distribution source tree is approximately 9.0 MB. The build
created files for each host take approximately 37 MB and the build
created files for each cross target take approximately 15 MB.
RTEMS
For RTEMS targets, you need RTEMS core and toolset version 4.9.2 or later.
Documentation
GNU readline or Tecla library
GNU readline and Tecla librararies can be used by the IOC shell to provide
command line editing and command line history recall and edit. GNU readline
(or Tecla library) must be installed on your target system when
COMMANDLINE_LIBRARY is set to READLINE (or TECLA) for that target. EPICS
(EPICS shell) is the default specified in CONFIG_COMMON. A READLINE override
is defined for linux-x86 in the EPICS distribution. Comment out
COMMANDLINE_LIBRARY=READLINE in configure/os/CONFIG_SITE.Common.linux-x86 if
readline is not installed on linux-x86. Command-line editing and history
will then be those supplied by the os. On vxWorks the ledLib command-line
input libraries are used.
EPICS documentation is available through the [3]EPICS website at
Argonne.
Host system storage requirements
Release specific documenataion can also be found in the
base/documentation directory of the distribution.
The GNU zipped tar file is approximately 1.5 MB in size. The unzipped
untarred distribution source tree is approximately 7.4 MB. The build created
files for each host take approximately 37 MB and the build created files for
each cross target take approximately 15 MB.
Documentation
EPICS documentation is available on the WWW via the EPICS home page at APS:
URL http://www.aps.anl.gov/epics by selecting IOC software/ Base R3.14/
<release number>.
Release specific documentation can be found in the base/documentation
directory of the distribution.
WWW pages
EPICS home page at APS
http://www.aps.anl.gov/epics
Other WWW sites
Additional information on EPICS can be found at the various other WWW
links on the EPICS home page at APS.
Mailing List
There is an EPICS mailing list called tech-talk which is hosted at APS
with a list repeater at BESSY. See the EPICS home page for subscription
instructions.
Directory Structure
Directory Structure
Distribution directory structure:
base Root directory of the base distribution
base/config R3.13 compatibility build configuration files
base/config/tools Perl and shell scripts used in the R3.13 build
base/configure Operating system independent build config files
base/configure/os Operating system dependent build config files
base/documentation Distributation documentation
base/src All epics base source code in subdirectories
base/src/RTEMS Code to configure RTEMS for EPICS
base/src/as Access security
base/src/bpt Break point table
base/src/ca Channel access
base/src/cap5 Channel Access client interface for Perl 5
base/src/cas Channel access server library and examples
base/src/catools Channel access tools caget, cainfo, camonitor, caput
base/src/db Database access
base/src/db/test Database access tests
base/src/dbStatic Static database access
base/src/dbtools Database dbLoadTemplate tools
base/src/dev Device support (camacDev, softDev, and testDev)
base/src/excas Example channel access server
base/src/gdd General data descriptor
base/src/libCom General purpose library code in subdirectories
base/src/libCom/bucketLib Hash bucket
base/src/libCom/calc Algebraic expression interpreter
base/src/libCom/cppStd Support for C++ standard template library
base/src/libCom/cvtFast Fast number to string conversion
base/src/libCom/cxxTemplates C++ templates and templates tests
base/src/libCom/dbmf Memory management for frequent alloc/free
base/src/libCom/ellLib EPICS double linked list
base/src/libCom/env Default EPICS environment settings
base/src/libCom/error Error handling definitions and routines
base/src/libCom/fdmgr File descriptor manager
base/src/libCom/freeList Memory management using free lists
base/src/libCom/gpHash General purpose hash table
base/src/libCom/iocsh ioc shell call registered functions
base/src/libCom/logClient Logging client
base/src/libCom/macLib Macro substitution handler
base/src/libCom/misc Miscellaneous utilities
base/src/libCom/osi Operating system independent code
base/src/libCom/osi/os Operating system dependant code in subdirectories
base/src/libCom/ring Methods for creating and using ring buffers
base/src/libCom/taskwd Task watchdog
base/src/libCom/test Test tools (timer, semBinary, semMutex,fdmgr, ...)
base/src/libCom/timer Timer
base/src/libCom/tsDefs R3.13 time stamp definitions and routines
base/src/makeBaseApp Perl tool+templates to create ioc app dvl tree
base/src/makeBaseExt Perl tool+templates to create extension dvl tree
base/src/misc Miscellaneous (coreRelease, iocInit, asSub*)
base/src/rec Record support
base/src/registry EPICS support function registry
base/src/rsrv Channel access ioc resource server library
base/src/softIoc Example softIoc
base/src/tools Perl scripts used during the builds
base/src/toolsComm Code for the build tools antelope and e_flex
base/src/util Utilities (ca_test, iocLogServer, startCArepeater)
base/src/vxWorks R3.13 compatibility code specific to vxWorks
base/startup Scripts for setting up path and environment
base Root directory of the base distribution
base/config R3.13 compatibility build configuration files
base/config/tools Perl and shell scripts used in the R3.13 build
base/configure Operating system independent build config files
base/configure/os Operating system dependent build config files
base/configure/tools Perl and shell scripts used in the build
base/documentation Distributation documentation
base/src All epics base source code in subdirectories
base/src/RTEMS Code to configure RTEMS for EPICS
base/src/as Access security
base/src/bpt Break point table
base/src/ca Channel access
base/src/cap5 Channel Access client interface for Perl 5
base/src/cas Channel access server library and examples
base/src/catools Channel access tools caget, cainfo, camonitor, caput
base/src/db Database access
base/src/db/test Database access tests
base/src/dbStatic Static database access
base/src/dbtools Database dbLoadTemplate tools
base/src/dev Device support (camacDev, softDev, and testDev)
base/src/excas Example channel access server
base/src/gdd General data descriptor
base/src/libCom General purpose library code in subdirectories
base/src/libCom/bucketLib Hash bucket
base/src/libCom/calc Algebraic expression interpreter
base/src/libCom/cppStd Support for C++ standard template library
base/src/libCom/cvtFast Fast number to string conversion
base/src/libCom/cxxTemplates C++ templates and templates tests
base/src/libCom/dbmf Memory management for frequent alloc/free
base/src/libCom/ellLib EPICS double linked list
base/src/libCom/env Default EPICS environment settings
base/src/libCom/error Error handling definitions and routines
base/src/libCom/fdmgr File descriptor manager
base/src/libCom/freeList Memory management using free lists
base/src/libCom/gpHash General purpose hash table
base/src/libCom/logClient Logging client
base/src/libCom/macLib Macro substitution handler
base/src/libCom/misc Miscellaneous utilities
base/src/libCom/osi Operating system independent API
base/src/libCom/osi/os Operating system dependant code in subdirectories
base/src/libCom/ring Methods for creating and using ring buffers
base/src/libCom/taskwd Task watchdog
base/src/libCom/test Test tools (timer, semBinary, semMutex,fdmgr, ...)
base/src/libCom/timer Timer
base/src/libCom/tsDefs R3.13 time stamp definitions and routines
base/src/makeBaseApp Perl tool+templates to create ioc app dvl tree
base/src/makeBaseExt Perl tool+templates to create extension dvl tree
base/src/misc Miscellaneous (coreRelease, iocInit, asSub*)
base/src/rec Record support
base/src/registry EPICS support function registry
base/src/rsrv Channel access ioc resource server library
base/src/softIoc Example softIoc
base/src/tools Perl scripts used during the builds
base/src/toolsComm Code for the build tools antelope and e_flex
base/src/util Utilities (ca_test, iocLogServer, startCArepeater)
base/src/vxWorks R3.13 compatibility code specific to vxWorks
base/startup Scripts for setting up path and environment
Install directories created by the build:
bin Installed scripts and executables in subdirs
cfg Installed build configuration files
db Installed data bases
dbd Installed data base definitions
doc Installed documentation files
html Installed html documentation
include Installed header files
include/os Installed os specific header files in subdirs
javalib Installed java class and jar files
lib Installed libraries in arch subdirectories
lib/perl Installed perl modules
templates Installed templates
bin Installed scripts and executables in subdirs
cfg Installed build configuration files
db Installed data bases
dbd Installed data base definitions
doc Installed documentation files
html Installed html documentation
include Installed header files
include/os Installed os specific header files in subdirs
javalib Installed java class and jar files
lib Installed libraries in arch subdirectories
lib/perl Installed perl modules
templates Installed templates
Build related components
Build related components
base/documentation files
base/documentation/README* files
README.1st Instructions for setup and building epics base
README.html html version of README.1st
README.WIN32 Microsoft WIN32 specific instructions
README.cxxTemplates Information about C++ templates in EPICS base
README.niCpu030 NI cpu030 specific instructions
README.darwin Installation notes for Mac OS X (Darwin)
RELEASE_NOTES.html Notes on release changes
KnownProblems.html List of known problems and workarounds
Converting*To*.html Release specific conversion instructions
Building*With*.html Release specific build instructions
README.1st Instructions for setup and building epics base
README.html html version of README.1st
README.WIN32 Microsoft WIN32 specific instructions
README.cxxTemplates Information about C++ templates in EPICS base
README.niCpu030 NI cpu030 specific instructions
README.darwin Installation notes for Mac OS X (Darwin)
RELEASE_NOTES.html Notes on release changes
KnownProblems.html List of known problems and workarounds
Converting*To*.html Release specific conversion instructions
Building*With*.html Release specific build instructions
base/startup directory - contains scripts to set environment and path
EpicsHostArch c shell script to set EPICS_HOST_ARCH env variable
EpicsHostArch.pl perl script to set EPICS_HOST_ARCH env variable
Site.profile bourne shell script to set path and env variables
Site.cshrc c shell script to set path and env variables
borland.bat WIN32 bat file to set borland path and env variables
cygwin.bat WIN32 bat file to set cygwin path and env variables
win32.bat WIN32 bat file to set path and env variables
EpicsHostArch C shell script to set EPICS_HOST_ARCH env variable
EpicsHostArch.pl Perl script to set EPICS_HOST_ARCH env variable
Site.profile bourne shell script to set path and env variables
Site.cshrc c shell script to set path and env variables
borland.bat WIN32 bat file to set borland path and env variables
cygwin.bat WIN32 bat file to set cygwin path and env variables
win32.bat WIN32 bat file to set path and env variables
win32-debug.bat WIN32 debug bat file to set debug path and env variables
base/configure directory - contains build definitions and rules
base/configure directory - contains build definitions and rules
CONFIG Includes configure files and allows variable overrides
CONFIG.CrossCommon Cross build definitions
CONFIG.gnuCommon Gnu compiler build definitions for all archs
CONFIG_ADDONS Definitions for <osclass> and DEFAULT options
CONFIG_BASE EPICS base tool and location definitions
CONFIG_BASE_VERSION Definitions for EPICS base version number
CONFIG_COMMON Definitions common to all builds
CONFIG_ENV Definitions of EPICS environment variables
CONFIG_FILE_TYPE Definitions for file types adl,alh,cfg,perlmod,edl
CONFIG_SITE Site specific make defintions
CONFIG_SITE_ENV Site defaults for EPICS environment variables
MAKEFILE Installs CONFIG* RULES* creates CONFIG_APP_INCLUDE
RELEASE Location of external products such as Tornado II
RULES Includes appropriate rules file
RULES.Db Rules for database and database definition files
RULES.ioc Rules for application iocBoot/ioc* directory
RULES_ARCHS Definitions and rules for building architectures
RULES_BUILD Build and install rules and definitions
RULES_DIRS Definitions and rules for building subdirectories
RULES_EXPAND Devinitions and rules for expanding vars in a file
RULES_FILE_TYPE Definitions and rules for user defined file types
RULES_JAVA Definitions and rules for java jars and classes
RULES_TARGET Definitions and rules for prod and lib named targets
RULES_TOP Rules specific to a <top> dir (uninstall and tar)
Sample.Makefile Sample makefile with comments
CONFIG Includes configure files and allows variable overrides
CONFIG.CrossCommon Cross build definitions
CONFIG.gnuCommon Gnu compiler build definitions for all archs
CONFIG_ADDONS Definitions for <osclass> and DEFAULT options
CONFIG_BASE EPICS base tool and location definitions
CONFIG_BASE_VERSION Definitions for EPICS base version number
CONFIG_COMMON Definitions common to all builds
CONFIG_ENV Definitions of EPICS environment variables
CONFIG_SITE Site specific make defintions
CONFIG_SITE_ENV Site defaults for EPICS environment variables
MAKEFILE Installs CONFIG* RULES* creates
CONFIG_APP_INCLUDE
RELEASE Location of external products
RULES Includes appropriate rules file
RULES.Db Rules for database and database definition files
RULES.ioc Rules for application iocBoot/ioc* directory
RULES_ARCHS Definitions and rules for building architectures
RULES_BUILD Build and install rules and definitions
RULES_DIRS Definitions and rules for building subdirectories
RULES_JAVA Definitions and rules for java jars and classes
RULES_TOP Rules specific to a <top> dir (uninstall and tar)
Sample.Makefile Sample makefile with comments
base/configure/os directory - contains os-arch specific definitions
CONFIG.<host>.<target> Specific host-target build definitions
CONFIG.Common.<target> Specific target definitions for all hosts
CONFIG.<host>.Common Specific host definitions for all targets
CONFIG.UnixCommon.Common Definitions for Unix hosts and all targets
CONFIG.Common.UnixCommon Definitions for Unix targets and all hosts
CONFIG.Common.vxWorksCommon Definitions for all vx targets for all hosts
CONFIG_COMPAT R3.13 arch compatibility definitions
CONFIG_SITE.<host>.<target> Site specific host-target definitions
CONFIG_SITE.Common.<target> Site specific target defs for all hosts
CONFIG_SITE.<host>.Common Site specific host defs for all targets
CONFIG.<host>.<target> Specific host-target build definitions
CONFIG.Common.<target> Specific target definitions for all hosts
CONFIG.<host>.Common Specific host definitions for all targets
CONFIG.UnixCommon.Common Definitions for Unix hosts and all targets
CONFIG.Common.UnixCommon Definitions for Unix targets and all hosts
CONFIG.Common.vxWorksCommon Specific host definitions for all vx targets
CONFIG_COMPAT R3.13 arch compatibility definitions
CONFIG_SITE.<host>.<target> Site specific host-target definitions
CONFIG_SITE.Common.<target> Site specific target defs for all hosts
CONFIG_SITE.<host>.Common Site specific host defs for all targets
base/src/tools directory - contains Perl scripts used for the build
Makefile Makefile for installing the scripts into cfg dir
convertRelease.pl Performs consistancy checks on RELEASE files
cvsclean.pl Remove all .#* files in directory tree
dos2unix.pl Converts text file from DOS CR/LF to unix ISO
expandvars.pl Tool to expand @VAR@ variables while copying a file
filterWarnings.pl Filters warning messages during HP builds
fullpathName.pl Returns fullpath name of directory arg
installEpics.pl Installs built files into install directories
makeDbDepends.pl Gets dependencies from .substitution/.template files
makeIncludeDbd.pl Creates *Include.dbd file from filename args files
makeMakefile.pl Creates a Makefile in O.<arch> dirs
makeTestfile.pl Generates a test harness $target.t file
mkmf.pl Generates dependencies from include stmnts
munch.pl Creates a ctdt.c file for vxWorks targets
replaceVAR.pl Changes CapFast VAR(xxx) to $(xxx) notation
useManifestTool.pl Use MS VC++ version to set usage of Manifest Tool
Makefile Makefile for installing the scripts into cfg dir
convertRelease.pl Performs consistancy checks on RELEASE files
cvsclean.pl Remove all .#* files in directory tree
dos2unix.pl Converts text file from DOS CR/LF to unix ISO
expandvars.pl Tool to expand @VAR@ variables while copying a file
filterWarnings.pl Filters warning messages during HP builds
fullpathName.pl Returns fullpath name of directory arg
installEpics.pl Installs built files into install directories
makeIncludeDbd.pl Creates *Include.dbd file from filename args files
makeMakefile.pl Creates a Makefile in O.<arch> dirs
makeTestfile.pl Generates a test harness $target.t file
mkmf.pl Generates dependencies from include stmnts
munch.pl Creates a ctdt.c file for vxWorks targets
replaceVAR.pl Changes CapFast VAR(xxx) to $(xxx) notation
useManifestTool.pl Use MS VC++ version to set usage of Manifest Tool
Building EPICS base (Unix and Win32)
Building EPICS base (Unix and Win32)
Unpack file
Unzip and untar the distribution file. Use WinZip on Windows systems.
Unzip and untar the distribution file. Use WinZip on Windows systems.
Set environment variables
Files in the base/startup directory have been provided to help set
required path and other environment variables .
Files in the base/startup directory have been provided to help set
required path and other environment variables.
EPICS_HOST_ARCH
Before you can build or use EPICS R3.14, the environment variable
EPICS_HOST_ARCH must be defined. A perl script EpicsHostArch.pl in the
base/startup directory has been provided to help set EPICS_HOST_ARCH.
You should have EPICS_HOST_ARCH set to your host operating system
followed by a dash and then your host architecture, e.g. solaris-sparc.
If you are not using the OS vendor's c/c++ compiler for host builds, you
will need another dash followed by the alternate compiler name (e.g.
"-gnu" for GNU c/c++ compilers on a solaris host or "-borland" for
Borland c/c++ compilers on a WIN32 host). See configure/CONFIG_SITE for
a list of supported EPICS_HOST_ARCH values.
EPICS_HOST_ARCH
Before you can build or use EPICS R3.14, the environment variable
EPICS_HOST_ARCH must be defined. A perl script EpicsHostArch.pl in the
base/startup directory has been provided to help set EPICS_HOST_ARCH.
You should have EPICS_HOST_ARCH set to your host operating system
followed by a dash and then your host architecture, e.g.
solaris-sparc. If you are not using the OS vendor's c/c++ compiler for
host builds, you will need another dash followed by the alternate
compiler name (e.g. "-gnu" for GNU c/c++ compilers on a solaris host
or "-borland" for Borland c/c++ compilers on a WIN32 host). See
configure/CONFIG_SITE for a list of supported EPICS_HOST_ARCH values.
PERLLIB
On WIN32, some versions of Perl require that the environment variable
PERLLIB be set to <perl directory location>.
PERLLIB
On WIN32, some versions of Perl require that the environment variable
PERLLIB be set to <perl directory location>.
PATH
As already mentioned, you must have the perl executable and you may need
C and C++ compilers in your search path. For building base you also must
have echo in your search path. For Unix host builds you also need ln,
cpp, cp, rm, mv, and mkdir in your search path and /bin/chmod must
exist. On some Unix systems you may also need ar and ranlib in your
path, and the c compiler may require as and ld in your path. On solaris
systems you need uname in your path.
PATH
As already mentioned, you must have the perl executable and you may
need C and C++ compilers in your search path. For building base you
also must have echo in your search path. For Unix host builds you also
need ln, cpp, cp, rm, mv, and mkdir in your search path and /bin/chmod
must exist. On some Unix systems you may also need ar and ranlib in
your path, and the C compiler may require as and ld in your path. On
solaris systems you need uname in your path.
LD_LIBRARY_PATH
It is no longer necessary to have LD_LIBRARY_PATH include EPICS
directories on a Unix type system. R3.14 shared libraries and
executables will contain the full path name to libraries they require.
However, if you move the EPICS directories from their build-time
location then in order for libraries to be found at runtime
LD_LIBRARY_PATH must include the full pathname to
$(INSTALL_LOCATION)/lib/$(EPICS_HOST_ARCH) when invoking executables.
Building shared libraries is now the default setting for all Unix type
hosts. NOTE: You will still need LD_LIBRARY_PATH for R3.13 extension
shared libraries even if the R3.13 extensions are built with R3.14 base.
LD_LIBRARY_PATH
It is no longer necessary to have LD_LIBRARY_PATH include EPICS
directories on a Unix type system. R3.14 shared libraries and
executables will contain the full path name to libraries they require.
However, if you move the EPICS directories from their build-time
location then in order for libraries to be found at runtime
LD_LIBRARY_PATH must include the full pathname to
$(INSTALL_LOCATION)/lib/$(EPICS_HOST_ARCH) when invoking executables.
Building shared libraries is now the default setting for all Unix type
hosts. NOTE: You will still need LD_LIBRARY_PATH for R3.13 extension
shared libraries even if the R3.13 extensions are built with R3.14
base.
Win32 PATH
On WIN32 systems, for R3.14.7 and later, it is no longer necessary to
add fullpathname to $(INSTALL_LOCATION)/bin/$(EPICS_HOST_ARCH) to your
path for finding dlls during EPICS builds. The win32 configure files in
base now add this directory to the path definition.
Win32 PATH
On WIN32 systems, for R3.14.7 and later, it is no longer necessary to
add fullpathname to $(INSTALL_LOCATION)/bin/$(EPICS_HOST_ARCH) to your
path for finding dlls during EPICS builds. The win32 configure files
in base now add this directory to the path definition.
Do site-specific build configuration
Site configuration
To configure EPICS, you may want to modify the default definitions in
the following files:
Site configuration
To configure EPICS, you may want to modify the default definitions in
the following files:
configure/CONFIG_SITE Build choices. Specify target archs.
configure/CONFIG_SITE_ENV Environment variable defaults
configure/RELEASE TORNADO2 full path location
configure/CONFIG_SITE Build choices. Specify target archs.
configure/CONFIG_SITE_ENV Environment variable defaults
configure/RELEASE TORNADO2 full path location
Host configuration
To configure each host system, you may override the default definitions
by adding a new file in the configure/os directory with override
definitions. The new file should have the same name as the distribution
file to be overridden except with CONFIG in the name changed to
CONFIG_SITE.
Host configuration
To configure each host system, you may override the default
definitions by adding a new file in the configure/os directory with
override definitions. The new file should have the same name as the
distribution file to be overridden except with CONFIG in the name
changed to CONFIG_SITE.
configure/os/CONFIG.<host>.<host> Host build settings
configure/os/CONFIG.<host>.Common Host common build settings
configure/os/CONFIG.<host>.<host> Host build settings
configure/os/CONFIG.<host>.Common Host common build settings
Target configuration
To configure each target system, you may override the default
definitions by adding a new file in the configure/os directory with
override definitions. The new file should have the same name as the
distribution file to be overridden except with CONFIG in the name
replaced by CONFIG_SITE. This step is necessary even if the host system
is the only target system.
Target configuration
To configure each target system, you may override the default
definitions by adding a new file in the configure/os directory with
override definitions. The new file should have the same name as the
distribution file to be overridden except with CONFIG in the name
replaced by CONFIG_SITE. This step is necessary even if the host
system is the only target system.
configure/os/CONFIG.Common.<target> Target common settings
configure/os/CONFIG.<host>.<target> Host-target settings
configure/os/CONFIG.Common.<target> Target common settings
configure/os/CONFIG.<host>.<target> Host-target settings
R3.13 compatibility configuration
To configure EPICS base for building with R3.13 extensions and ioc
applications , you must modify the default definitions in the
base/config/CONFIG_SITE* files to agree with definitions you made in
base/configure and base/configure/os files.
R3.13 compatibility configuration
To configure EPICS base for building with R3.13 extensions and ioc
applications , you must modify the default definitions in the
base/config/CONFIG_SITE* files to agree with definitions you made in
base/configure and base/configure/os files.
Build EPICS base
After configuring the build you should be able to build EPICS base by
issuing the following commands in the distribution's root directory
(base)
After configuring the build you should be able to build EPICS base by
issuing the following commands in the distribution's root directory
(base):
gnumake clean uninstall
gnumake
gnumake clean uninstall
gnumake
The command "gnumake clean uninstall" will remove all files and
directories generated by a previous build. The command "gnumake" will
build and install everything for the configured host and targets.
The command "gnumake clean uninstall" will remove all files and
directories generated by a previous build. The command "gnumake" will
build and install everything for the configured host and targets.
It is recommended that you do a "gnumake clean uninstall" at the root
directory of an EPICS directory structure before each complete rebuild
to ensure that all components will be rebuilt.
It is recommended that you do a "gnumake clean uninstall" at the root
directory of an EPICS directory structure before each complete rebuild
to ensure that all components will be rebuilt.
Example application and extension
Example application and extension
A perl tool, makeBaseApp.pl is included in the distribution file. This
script will create a sample application that can be built and then executed
to try out this release of base.
A perl tool, makeBaseApp.pl is included in the distribution file. This
script will create a sample application that can be built and then
executed to try out this release of base.
Instructions for building and executing the 3.14 example application can be
found in the section "Example Application" of Chapter 2, "Getting Started",
in the "IOC Application Developer's Guide" for this release. The "Example
IOC Application" section briefly explains how to create and build an example
application in a user created <top> directory. It also explains how to run
the example application on a vxWorks ioc or as a process on the host system.
By running the example application as a host-based IOC, you will be able
to quickly implement a complete EPICS system and be able to run channel
access clients on the host system.
Instructions for building and executing the 3.14 example application can
be found in the section "Example Application" of Chapter 2, "Getting
Started", in the "IOC Application Developer's Guide" for this release.
The "Example IOC Application" section briefly explains how to create and
build an example application in a user created <top> directory. It also
explains how to run the example application on a vxWorks ioc or as a
process on the host system. By running the example application as a
host-based IOC, you will be able to quickly implement a complete EPICS
system and be able to run channel access clients on the host system.
A perl script, makeBaseExt.pl, is included in the distribution file.
This script will create a sample extension that can be built and executed.
The makeBaseApp.pl and makeBaseExt.pl scripts are installed into the install
location bin/<hostarch> directory during the base build.
A perl script, makeBaseExt.pl, is included in the distribution file.
This script will create a sample extension that can be built and
executed. The makeBaseApp.pl and makeBaseExt.pl scripts are installed
into the install location bin/<hostarch> directory during the base
build.
Multiple host platforms
Multiple host platforms
You can build using a single EPICS directory structure on multiple host
systems and for multiple cross target systems. The intermediate and binary
files generated by the build will be created in separate subdirectories and
installed into the appropriate separate host/target install directories.
EPICS executables and perl scripts are installed into the
$(INSTALL_LOCATION)/bin/<arch> directories. Libraries are installed into
$(INSTALL_LOCATION)/lib/<arch>. The default definition for
$(INSTALL_LOCATION) is $(TOP) which is the root directory in the
distribution directory structure, base. Created object files are stored in
O.<arch> source subdirectories, This allows objects for multiple cross
target architectures to be maintained at the same time. To build EPICS base
for a specific host/target combination you must have the proper host/target
c/c++ cross compiler and target header files and the base/configure/os
directory must have the appropriate configure files.
You can build using a single EPICS directory structure on multiple host
systems and for multiple cross target systems. The intermediate and
binary files generated by the build will be created in separate
subdirectories and installed into the appropriate separate host/target
install directories. EPICS executables and perl scripts are installed
into the $(INSTALL_LOCATION)/bin/<arch> directories. Libraries are
installed into $(INSTALL_LOCATION)/lib/<arch>. The default definition
for $(INSTALL_LOCATION) is $(TOP) which is the root directory in the
distribution directory structure, base. Created object files are stored
in O.<arch> source subdirectories, This allows objects for multiple
cross target architectures to be maintained at the same time. To build
EPICS base for a specific host/target combination you must have the
proper host/target C/C++ cross compiler and target header files and the
base/configure/os directory must have the appropriate configure files.
References
1. http://www.aps.anl.gov/epics/base/tornado.php
2. http://www.aps.anl.gov/epics/base/vxWorks6.php
3. http://www.aps.anl.gov/epics/

View File

@@ -1,3 +1,9 @@
WARNING: THIS FILE IS OLD
=========================
Some of the information in this file is likely to be out of date. It has not been
updated since 2005, so things like the minimum required versions are now wrong.
Compiling EPICS and Building IOC Applications on MS Windows
-----------------------------------------------------------

View File

@@ -11,7 +11,7 @@
To build base:
<ol>
<li>
Set the EPICS_HOST_ARCH environment variable to darwin-ppc.
Set the EPICS_HOST_ARCH environment variable to darwin-ppc, darwin-x86 or darwin-ppcx86.
The scripts in the
base/startup directory can automate this. For example, here's part
of my Bash login script (~/.bash_login):
@@ -28,20 +28,27 @@ EPICS_EXTENSIONS="${HOME}/src/EPICS/extensions"
<code>cd</code> to the EPICS base top-level source directory.
</li>
<li>
Uncomment the appropriate line in the relevent
EPICS_BASE/configure/os/CONFIG_SITE.Common.darwin-xxx file for your EPICS_HOST_ARCH value.
Newer versions of OS X (e.g. Snow Leopard) may include only 64 bit versions of some OS libraries,
so should only have the x86_64 ARCH_CLASS.
</li>
<li>
Run <code>make</code>.
</li>
</ol>
</li>
<li>
As distributed, EPICS on Mac OS X uses the default command line input
As distributed, EPICS on Mac OS X uses the readline command line input
routines. IOC applications are more pleasant to interact with if
either the readline or libtecla library is used. The easiest
way to get either or both of these libraries on to your system is to
download and install them using the either the DarwinPorts
distribution or the Fink package manager.
distribution or the Fink package manager. If you don't want to install
the readline library, set the COMMANDLINE_LIBRARY variable in one of
the CONFIG_SITE files to EPICS.
<p>
Information on DarwinPorts is available from
<a href="http://www.opendarwin.org/projects/darwinports/">the DarwinPorts
@@ -174,6 +181,6 @@ runAppleScript(const char *format, ...)
}
<pre>
<hr>
$Id$
$Revision-Id$
</body>
</html>

View File

@@ -1,10 +1,12 @@
<!DOCTYPE HTML>
<HTML>
README.html
<HEAD>
<TITLE>README - EPICS Base Installation Instructions</TITLE>
</HEAD>
<BODY>
<CENTER>
<H1>Installation Instructions</H1>
<H2>EPICS base Release 3.14.*</H2><BR>
<H2>EPICS Base Release 3.14.*</H2><BR>
</CENTER>
<HR>
<H3> Table of Contents</H3>
@@ -42,129 +44,65 @@ README.html
description of changes and release migration details.</BLOCKQUOTE>
<H3><A NAME="0_0_3"> Copyright</A></H3>
<BLOCKQUOTE>Please review the COPYRIGHT* files included in the
<BLOCKQUOTE>Please review the LICENSE file included in the
distribution for legal terms of usage.</BLOCKQUOTE>
<H3><A NAME="0_0_4"> Supported platforms</A></H3>
<BLOCKQUOTE>Currently this version of EPICS base has been built on the
following hosts for the following targets. If you are trying to build
EPICS base on a different host or for a different target machine you
must get the proper host/target cross compiler and header files, and
<BLOCKQUOTE>The list of platforms supported by this version of EPICS base
is given in the configure/CONFIG_SITE file. If you are trying to build
EPICS Base on an unlisted host or for a different target machine you
must have the proper host/target cross compiler and header files, and
you will have to create and add the appropriate new configure files to
the base/configure/os/directory. You can start by copying existing
configuration files in the configure/os directory and then make changes
for your new platforms.</BLOCKQUOTE><BLOCKQUOTE>
<H4>Host platforms (operating system - architecture [- alternate
toolset])</H4>
<BLOCKQUOTE>
<PRE>cygwin-x86 (unix style API, uses cygwin1.dll compatability library)
darwin-ppc
darwin-x86
darwin-ppcx86
freebsd-x86
freebsd-x86_64
linux-ppc
linux-x86
linux-x86_64
linux-x86-borland
solaris-sparc
solaris-sparc-gnu
solaris-sparc64
solaris-sparc64-gnu
solaris-x86
solaris-x86-gnu
win32-x86
win32-x86-mingw (WIN32 API, uses MS dlls)
win32-x86-cygwin (WIN32 API, uses MS dlls)
</PRE>
</BLOCKQUOTE>
<H4> Cross compile target platforms (operating system - architecture)</H4>
<BLOCKQUOTE>
<PRE>linux-386
linux-486
linux-586
linux-686
linux-arm
linux-arm_eb
linux-arm_el
linux-athlon
linux-cris
linux-cris_v10
linux-cris_v32
linux-xscale_be
vxWorks-486
vxWorks-68040
vxWorks-68040lc
vxWorks-68060
vxWorks-pentium
vxWorks-ppc603
vxWorks-ppc603_long
vxWorks-ppc604
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
RTEMS-uC5282
</PRE>
</BLOCKQUOTE>
</BLOCKQUOTE>
for your new platforms.</BLOCKQUOTE>
<H3><A NAME="0_0_5"> Supported compilers</A></H3>
<BLOCKQUOTE>This version of EPICS base has been built and tested using
the host vendor's C and C++ compilers as well as the GNU gcc and g++
compilers. The GNU cross-compilers have been used for all
cross-compiled targets. You may need the host vendor's C++ compiler in
your search path to do EPICS builds. Check definitions of CC and CCC in
base/configure/os/CONFIG.&lt;host&gt;.&lt;host&gt;.</BLOCKQUOTE>
<BLOCKQUOTE>This version of EPICS base has been built and tested using the host
vendor's C and C++ compilers, as well as the GNU gcc and g++ compilers. The GNU
cross-compilers work for all cross-compiled targets. You may need the C and C++
compilers to be in your search path to do EPICS builds; check the definitions
of CC and CCC in base/configure/os/CONFIG.&lt;host&gt;.&lt;host&gt; if you have
problems.</BLOCKQUOTE>
<H3><A NAME="0_0_6"> Software requirements</A></H3>
<BLOCKQUOTE><B>GNU make</B>
<BR> You must use GNU make, gnumake, for any EPICS builds. Set your path
<BLOCKQUOTE><B>GNU make</B><BR>
You must use GNU make, gnumake, for any EPICS builds. Set your path
so that a gnumake version 3.81 or later is available.
<P><B>gcc</B>
<BR> For most cases, you must have gcc version 3.4.2 or later.
Appropriate versions of vendor C and C++ compilers may be used for
native compilation.</P>
<P><B>Perl</B><BR>
You must have Perl version 5.8.1 or later installed. The EPICS configuration
files do not specify the perl full pathname, so the perl executable must
be found through your normal search path.</P>
<P><B>Perl</B>
<BR> You must have perl version 5.8.1 or later installed. The configure
files do not specify the perl full pathname. You need the perl
executable in your search path.</P>
<P><B>Unzip and tar (Winzip on WIN32 systems)</B>
<BR> You must have tools available to unzip and untar the EPICS base
<P><B>Unzip and tar (Winzip on WIN32 systems)</B><BR>
You must have tools available to unzip and untar the EPICS base
distribution file.</P>
<P><B>Target systems</B>
<BR> EPICS supports IOCs running on embedded platforms such as VxWorks
and RTEMS via cross-compilers. EPICS also supports ?soft? IOCs running
<P><B>Target systems</B><BR>
EPICS supports IOCs running on embedded platforms such as VxWorks
and RTEMS built using a cross-compiler, and also supports soft IOCs running
as processes on the host platform.</P>
<P><B>Tornado 2</B>
<BR> You must have Tornado 2 installed if any of your target systems are
vxWorks systems. Tornado 2 provides the cross-compiler and header files
needed to build for these target systems. The full path location to
Tornado 2 should be specified in the base/configure/RELEASE or
base/configure/RELEASE.&lt;hostarch&gt; file. You will also need one or more
board support packages. Consult the vxWorks documentation for details.</P>
<P><B>vxWorks</B><BR>
You must have vxWorks installed if any of your target systems are
vxWorks systems. This provides the cross-compiler and header files
needed to build for these target systems. The absolute path to and version
number of the vxWorks installation is normally specified in the
base/configure/os/CONFIG_SITE.Common.vxWorksCommon file. Consult the EPICS web
pages about <a href="http://www.aps.anl.gov/epics/base/tornado.php">vxWorks
5.x</a> and <a href="http://www.aps.anl.gov/epics/base/vxWorks6.php">vxWorks
6.x</a> and the vxWorks documentation for information about configuring your
vxWorks operating system for use with EPICS.</P>
<P><B>RTEMS</B>
<BR> For RTEMS targets, you need RTEMS core and toolset version 4.9.2 or later.</P>
<P><B>GNU readline or Tecla library</B>
<BR> GNU readline and Tecla librararies can be used by the IOC shell to
<P><B>RTEMS</B><BR>
For RTEMS targets, you need RTEMS core and toolset version 4.9.2 or later.</P>
<P><B>GNU readline or Tecla library</B><BR>
GNU readline and Tecla librararies can be used by the IOC shell to
provide command line editing and command line history recall and edit.
GNU readline (or Tecla library) must be installed on your target system
when COMMANDLINE_LIBRARY is set to READLINE (or TECLA) for that target.
@@ -173,287 +111,207 @@ RTEMS-uC5282
Comment out COMMANDLINE_LIBRARY=READLINE in
configure/os/CONFIG_SITE.Common.linux-x86 if readline is not installed
on linux-x86. Command-line editing and history will then be those
supplied by the os. On vxWorks the ledLib command-line input libraries
are used.</P>
supplied by the os. On vxWorks the ledLib command-line input library is
used instead.</P>
</BLOCKQUOTE>
<H3><A NAME="0_0_7"> Host system storage requirements</A></H3>
<BLOCKQUOTE>The GNU zipped tar file is approximately 1.5 MB in size. The
unzipped untarred distribution source tree is approximately 7.4 MB. The
unzipped untarred distribution source tree is approximately 9.0 MB. The
build created files for each host take approximately 37 MB and the
build created files for each cross target take approximately 15 MB.</BLOCKQUOTE>
<H3><A NAME="0_0_8"> Documentation</A></H3>
<BLOCKQUOTE>EPICS documentation is available on the WWW via the EPICS
home page at APS: URL<A href="http://www.aps.anl.gov/epics">
http://www.aps.anl.gov/epics</A> by selection IOC software/ Base
R3.14/ <release number>.
</BLOCKQUOTE>
<BLOCKQUOTE>Release specific documenataion can be found in the base/documentation
directory of the distribution.
</BLOCKQUOTE>
<H3><A NAME="0_0_9"> WWW pages</A></H3>
<BLOCKQUOTE>
<H4> EPICS home page at APS</H4>
<BLOCKQUOTE><A href="http://www.aps.anl.gov/epics">
http://www.aps.anl.gov/epics</A></BLOCKQUOTE>
<H4> Other WWW sites</H4>
<BLOCKQUOTE>Additional information on EPICS can be found at the various
other WWW links on the EPICS home page at APS.</BLOCKQUOTE>
<H4> Mailing List</H4>
<BLOCKQUOTE>There is an EPICS mailing list called tech-talk which is
hosted at APS with a list repeater at BESSY. See the EPICS home page
for subscription instructions.</BLOCKQUOTE></BLOCKQUOTE>
<BLOCKQUOTE>EPICS documentation is available through the
<a href="http://www.aps.anl.gov/epics/">EPICS website</a> at Argonne.
<P>Release specific documenataion can also be found in the base/documentation
directory of the distribution.</BLOCKQUOTE>
<H3><A NAME="0_0_10"> Directory Structure</A></H3>
<BLOCKQUOTE><H4>Distribution directory structure:</H4>
<BLOCKQUOTE><TT>
base&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Root directory of the base distribution</TT>
<BR> <TT>base/config&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; R3.13 compatibility build
configuration files</TT>
<BR> <TT>base/config/tools&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Perl and shell scripts used
in the R3.13 build</TT>
<BR> <TT>base/configure&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Operating system independent
build config files</TT>
<BR> <TT>base/configure/os&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Operating system dependent
build config files</TT>
<BR> <TT>base/configure/tools&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Perl and shell scripts used
in the build</TT>
<BR> <TT>base/documentation&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Distributation documentation</TT>
<BR> <TT>base/src&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; All epics base source code in
subdirectories</TT>
<BR> <TT>base/src/RTEMS&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Code to configure RTEMS for
EPICS</TT>
<BR> <TT>base/src/as&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Access security</TT>
<BR> <TT>base/src/bpt&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Break point table</TT>
<BR> <TT>base/src/ca&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Channel access</TT>
<BR> <TT>base/src/cap5&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Channel Access client
interface for Perl 5</TT>
<BR> <TT>base/src/cas&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Channel access server library
and examples</TT>
<BR> <TT>base/src/catools&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Channel access tools caget,
cainfo, camonitor, caput</TT>
<BR> <TT>base/src/db&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Database access</TT>
<BR> <TT>base/src/db/test&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Database access tests</TT>
<BR> <TT>base/src/dbStatic&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Static database access</TT>
<BR> <TT>base/src/dbtools&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Database dbLoadTemplate tools</TT>
<BR> <TT>base/src/dev&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Device support (camacDev,
softDev, and testDev)</TT>
<BR> <TT>base/src/excas&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Example channel access server</TT>
<BR> <TT>base/src/gdd&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; General data descriptor</TT>
<BR> <TT>base/src/libCom&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; General purpose library code
in subdirectories</TT>
<BR> <TT>base/src/libCom/bucketLib&nbsp;&nbsp;&nbsp; Hash bucket</TT>
<BR> <TT>base/src/libCom/calc&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Algebraic expression
interpreter</TT>
<BR> <TT>base/src/libCom/cppStd&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Support for C++ standard
template library</TT>
<BR> <TT>base/src/libCom/cvtFast&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Fast number to string
conversion</TT>
<BR> <TT>base/src/libCom/cxxTemplates C++ templates and templates
tests</TT>
<BR> <TT>base/src/libCom/dbmf&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Memory management for
frequent alloc/free</TT>
<BR> <TT>base/src/libCom/ellLib&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; EPICS double linked list</TT>
<BR> <TT>base/src/libCom/env&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Default EPICS environment
settings</TT>
<BR> <TT>base/src/libCom/error&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Error handling definitions
and routines</TT>
<BR> <TT>base/src/libCom/fdmgr&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; File descriptor manager</TT>
<BR> <TT>base/src/libCom/freeList&nbsp;&nbsp;&nbsp;&nbsp; Memory management using free
lists</TT>
<BR> <TT>base/src/libCom/gpHash&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; General purpose hash table</TT>
<BR> <TT>base/src/libCom/logClient&nbsp;&nbsp;&nbsp; Logging client</TT>
<BR> <TT>base/src/libCom/macLib&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Macro substitution handler</TT>
<BR> <TT>base/src/libCom/misc&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Miscellaneous utilities</TT>
<BR> <TT>base/src/libCom/osi&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Operating system independent
code</TT>
<BR> <TT>base/src/libCom/osi/os&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Operating system dependant
code in subdirectories</TT>
<BR> <TT>base/src/libCom/ring&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Methods for creating and
using ring buffers</TT>
<BR> <TT>base/src/libCom/taskwd&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Task watchdog</TT>
<BR> <TT>base/src/libCom/test&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Test tools (timer, semBinary,
semMutex,fdmgr, ...)</TT>
<BR> <TT>base/src/libCom/timer&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Timer</TT>
<BR> <TT>base/src/libCom/tsDefs&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; R3.13 time stamp definitions
and routines</TT>
<BR> <TT>base/src/makeBaseApp&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Perl tool+templates to create
ioc app dvl tree</TT>
<BR> <TT>base/src/makeBaseExt&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Perl tool+templates to create
extension dvl tree</TT>
<BR> <TT>base/src/misc&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Miscellaneous (coreRelease,
iocInit, asSub*)</TT>
<BR> <TT>base/src/rec&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Record support</TT>
<BR> <TT>base/src/registry&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; EPICS support function
registry</TT>
<BR> <TT>base/src/rsrv&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Channel access ioc resource
server library</TT>
<BR> <TT>base/src/softIoc&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Example softIoc</TT>
<BR> <TT>base/src/tools&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Perl scripts used during the
builds</TT>
<BR> <TT>base/src/toolsComm&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Code for the build tools
antelope and e_flex</TT>
<BR> <TT>base/src/util&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Utilities (ca_test,
iocLogServer, startCArepeater)</TT>
<BR> <TT>base/src/vxWorks&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; R3.13 compatibility code
specific to vxWorks</TT>
<BR> <TT>base/startup&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Scripts for setting up path
and environment</TT>
</BLOCKQUOTE>
<PRE>
base Root directory of the base distribution
base/config R3.13 compatibility build configuration files
base/config/tools Perl and shell scripts used in the R3.13 build
base/configure Operating system independent build config files
base/configure/os Operating system dependent build config files
base/configure/tools Perl and shell scripts used in the build
base/documentation Distributation documentation
base/src All epics base source code in subdirectories
base/src/RTEMS Code to configure RTEMS for EPICS
base/src/as Access security
base/src/bpt Break point table
base/src/ca Channel access
base/src/cap5 Channel Access client interface for Perl 5
base/src/cas Channel access server library and examples
base/src/catools Channel access tools caget, cainfo, camonitor, caput
base/src/db Database access
base/src/db/test Database access tests
base/src/dbStatic Static database access
base/src/dbtools Database dbLoadTemplate tools
base/src/dev Device support (camacDev, softDev, and testDev)
base/src/excas Example channel access server
base/src/gdd General data descriptor
base/src/libCom General purpose library code in subdirectories
base/src/libCom/bucketLib Hash bucket
base/src/libCom/calc Algebraic expression interpreter
base/src/libCom/cppStd Support for C++ standard template library
base/src/libCom/cvtFast Fast number to string conversion
base/src/libCom/cxxTemplates C++ templates and templates tests
base/src/libCom/dbmf Memory management for frequent alloc/free
base/src/libCom/ellLib EPICS double linked list
base/src/libCom/env Default EPICS environment settings
base/src/libCom/error Error handling definitions and routines
base/src/libCom/fdmgr File descriptor manager
base/src/libCom/freeList Memory management using free lists
base/src/libCom/gpHash General purpose hash table
base/src/libCom/logClient Logging client
base/src/libCom/macLib Macro substitution handler
base/src/libCom/misc Miscellaneous utilities
base/src/libCom/osi Operating system independent API
base/src/libCom/osi/os Operating system dependant code in subdirectories
base/src/libCom/ring Methods for creating and using ring buffers
base/src/libCom/taskwd Task watchdog
base/src/libCom/test Test tools (timer, semBinary, semMutex,fdmgr, ...)
base/src/libCom/timer Timer
base/src/libCom/tsDefs R3.13 time stamp definitions and routines
base/src/makeBaseApp Perl tool+templates to create ioc app dvl tree
base/src/makeBaseExt Perl tool+templates to create extension dvl tree
base/src/misc Miscellaneous (coreRelease, iocInit, asSub*)
base/src/rec Record support
base/src/registry EPICS support function registry
base/src/rsrv Channel access ioc resource server library
base/src/softIoc Example softIoc
base/src/tools Perl scripts used during the builds
base/src/toolsComm Code for the build tools antelope and e_flex
base/src/util Utilities (ca_test, iocLogServer, startCArepeater)
base/src/vxWorks R3.13 compatibility code specific to vxWorks
base/startup Scripts for setting up path and environment
</PRE>
<H4>Install directories created by the build:</H4>
<BLOCKQUOTE>
<P><TT>bin&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Installed scripts and executables in
subdirs</TT>
<BR> <TT>cfg&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Installed build configuration
files</TT>
<BR> <TT>db&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Installed data bases</TT>
<BR> <TT>dbd&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Installed data base definitions</TT>
<BR> <TT>doc&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Installed documentation files</TT>
<BR> <TT>html&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Installed html documentation</TT>
<BR> <TT>include&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Installed header files</TT>
<BR> <TT>include/os&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Installed os specific header files
in subdirs</TT>
<BR> <TT>javalib&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Installed java class and jar files</TT>
<BR> <TT>lib&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Installed libraries in arch
subdirectories</TT>
<BR> <TT>lib/perl&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Installed perl modules</TT>
<BR> <TT>templates&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Installed templates</TT></P>
</BLOCKQUOTE>
<PRE>
bin Installed scripts and executables in subdirs
cfg Installed build configuration files
db Installed data bases
dbd Installed data base definitions
doc Installed documentation files
html Installed html documentation
include Installed header files
include/os Installed os specific header files in subdirs
javalib Installed java class and jar files
lib Installed libraries in arch subdirectories
lib/perl Installed perl modules
templates Installed templates
</PRE>
</BLOCKQUOTE>
<H3><A NAME="0_0_11"> Build related components</A></H3>
<BLOCKQUOTE>
<H4> base/documentation/README* files</H4>
<BLOCKQUOTE>
<TT>README.1st&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Instructions for setup and building epics
base</TT>
<BR> <TT>README.html&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; html version of README.1st</TT>
<BR> <TT>README.WIN32&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Microsoft WIN32 specific instructions</TT>
<BR> <TT>README.cxxTemplates&nbsp; Information about C++ templates in EPICS
base</TT>
<BR> <TT>README.niCpu030&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; NI cpu030 specific instructions</TT>
<BR> <TT>README.darwin&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Installation notes for Mac OS X (Darwin)</TT>
<BR> <TT>RELEASE_NOTES.html&nbsp;&nbsp; Notes on release changes</TT>
<BR> <TT>KnownProblems.html&nbsp;&nbsp; List of known problems and workarounds</TT>
<BR> <TT>Converting*To*.html&nbsp; Release specific conversion instructions</TT>
<BR> <TT>Building*With*.html&nbsp; Release specific build instructions</TT>
</BLOCKQUOTE>
<H4> base/startup directory - contains scripts to set environment and path</H4>
<BLOCKQUOTE>
<TT>EpicsHostArch&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; c shell script to set EPICS_HOST_ARCH env
variable</TT>
<BR> <TT>EpicsHostArch.pl&nbsp;&nbsp;&nbsp; perl script to set EPICS_HOST_ARCH env
variable</TT>
<BR> <TT>Site.profile&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; bourne shell script to set path and env
variables</TT>
<BR> <TT>Site.cshrc&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; c shell script to set path and env
variables</TT>
<BR> <TT>borland.bat&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; WIN32 bat file to set borland path and env
variables</TT>
<BR> <TT>cygwin.bat&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; WIN32 bat file to set cygwin path and env
variables</TT>
<BR> <TT>win32.bat&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; WIN32 bat file to set path and env
variables</TT>
<BR> <TT>win32-debug.bat&nbsp;&nbsp;&nbsp;&nbsp; WIN32 debug bat file to set debug path and
env variables</TT>
</BLOCKQUOTE>
<H4> base/configure&nbsp; directory - contains build definitions and rules</H4>
<BLOCKQUOTE>
<TT>CONFIG&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Includes configure files and allows
variable overrides</TT>
<BR> <TT>CONFIG.CrossCommon&nbsp;&nbsp;&nbsp; Cross build definitions</TT>
<BR> <TT>CONFIG.gnuCommon&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Gnu compiler build definitions for all
archs</TT>
<BR> <TT>CONFIG_ADDONS&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Definitions for &lt;osclass&gt; and DEFAULT
options</TT>
<BR> <TT>CONFIG_BASE&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; EPICS base tool and location definitions</TT>
<BR> <TT>CONFIG_BASE_VERSION&nbsp;&nbsp; Definitions for EPICS base version number</TT>
<BR> <TT>CONFIG_COMMON&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Definitions common to all builds</TT>
<BR> <TT>CONFIG_ENV&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Definitions of EPICS environment
variables</TT>
<BR> <TT>CONFIG_SITE&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Site specific make defintions</TT>
<BR> <TT>CONFIG_SITE_ENV&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Site defaults for EPICS environment
variables</TT>
<BR> <TT>MAKEFILE&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Installs CONFIG* RULES* creates
CONFIG_APP_INCLUDE</TT>
<BR> <TT>RELEASE&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Location of external products such as
Tornado II</TT>
<BR> <TT>RULES&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Includes appropriate rules file</TT>
<BR> <TT>RULES.Db&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Rules for database and database
definition files</TT>
<BR> <TT>RULES.ioc&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Rules for application iocBoot/ioc*
directory</TT>
<BR> <TT>RULES_ARCHS&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Definitions and rules for building
architectures</TT>
<BR> <TT>RULES_BUILD&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Build and install rules and definitions</TT>
<BR> <TT>RULES_DIRS&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Definitions and rules for building
subdirectories</TT>
<BR> <TT>RULES_JAVA&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Definitions and rules for java jars and
classes</TT>
<BR> <TT>RULES_TOP&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Rules specific to a &lt;top&gt; dir (uninstall
and tar)</TT>
<BR> <TT>Sample.Makefile&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Sample makefile with comments</TT>
<BR> &nbsp;
</BLOCKQUOTE>
<H4> base/configure/os directory - contains os-arch specific definitions</H4>
<BLOCKQUOTE>
<TT>CONFIG.&lt;host&gt;.&lt;target&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Specific host-target build
definitions</TT>
<BR> <TT>CONFIG.Common.&lt;target&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Specific target definitions for all
hosts</TT>
<BR> <TT>CONFIG.&lt;host&gt;.Common&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Specific host definitions for all
targets</TT>
<BR> <TT>CONFIG.UnixCommon.Common&nbsp;&nbsp;&nbsp; Definitions for Unix hosts and all
targets</TT>
<BR> <TT>CONFIG.Common.UnixCommon&nbsp;&nbsp;&nbsp; Definitions for Unix targets and
all hosts</TT>
<BR> <TT>CONFIG.Common.vxWorksCommon Specific host definitions for all
vx targets</TT>
<BR> <TT>CONFIG_COMPAT&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; R3.13 arch compatibility
definitions</TT>
<BR> <TT>CONFIG_SITE.&lt;host&gt;.&lt;target&gt; Site specific host-target
definitions</TT>
<BR> <TT>CONFIG_SITE.Common.&lt;target&gt; Site specific target defs for all
hosts</TT>
<BR> <TT>CONFIG_SITE.&lt;host&gt;.Common&nbsp;&nbsp; Site specific host defs for all
targets</TT>
<BR> &nbsp;
</BLOCKQUOTE>
<H4> base/src/tools directory - contains Perl scripts used for the build</H4>
<BLOCKQUOTE>
<TT>Makefile&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Makefile for installing the scripts into cfg dir</TT><BR>
<TT>convertRelease.pl&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Performs consistancy checks on RELEASE
files</TT>
<BR> <TT>cvsclean.pl&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Remove all .#* files in directory tree</TT>
<BR> <TT>dos2unix.pl&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; Converts text file from DOS CR/LF to unix ISO</TT>
<BR> <TT>expandvars.pl&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Tool to expand @VAR@ variables while copying a file</TT>
<BR> <TT>filterWarnings.pl&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Filters warning messages during HP
builds</TT>
<BR> <TT>fullpathName.pl&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Returns fullpath name of directory arg</TT>
<BR> <TT>installEpics.pl&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Installs built files into install
directories</TT>
<BR> <TT>makeIncludeDbd.pl&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Creates *Include.dbd file from filename
args</TT> files
<BR> <TT>makeMakefile.pl&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Creates a Makefile in O.&lt;arch&gt; dirs</TT>
<BR> <TT>makeTestfile.pl&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Generates a test harness $target.t file</TT>
<BR> <TT>mkmf.pl&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Generates dependencies from include
stmnts</TT>
<BR> <TT>munch.pl&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Creates a ctdt.c file for vxWorks
targets</TT>
<BR> <TT>replaceVAR.pl&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Changes CapFast VAR(xxx) to $(xxx) notation</TT>
<BR> <TT>useManifestTool.pl&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Use MS VC++ version to set usage of Manifest Tool</TT>
</BLOCKQUOTE>
<H4>base/documentation/README* files</H4>
<PRE>
README.1st Instructions for setup and building epics base
README.html html version of README.1st
README.WIN32 Microsoft WIN32 specific instructions
README.cxxTemplates Information about C++ templates in EPICS base
README.niCpu030 NI cpu030 specific instructions
README.darwin Installation notes for Mac OS X (Darwin)
RELEASE_NOTES.html Notes on release changes
KnownProblems.html List of known problems and workarounds
Converting*To*.html Release specific conversion instructions
Building*With*.html Release specific build instructions
</PRE>
<H4>base/startup directory - contains scripts to set environment and path</H4>
<PRE>
EpicsHostArch C shell script to set EPICS_HOST_ARCH env variable
EpicsHostArch.pl Perl script to set EPICS_HOST_ARCH env variable
Site.profile bourne shell script to set path and env variables
Site.cshrc c shell script to set path and env variables
borland.bat WIN32 bat file to set borland path and env variables
cygwin.bat WIN32 bat file to set cygwin path and env variables
win32.bat WIN32 bat file to set path and env variables
win32-debug.bat WIN32 debug bat file to set debug path and env variables
</PRE>
<H4>base/configure directory - contains build definitions and rules</H4>
<PRE>
CONFIG Includes configure files and allows variable overrides
CONFIG.CrossCommon Cross build definitions
CONFIG.gnuCommon Gnu compiler build definitions for all archs
CONFIG_ADDONS Definitions for &lt;osclass&gt; and DEFAULT options
CONFIG_BASE EPICS base tool and location definitions
CONFIG_BASE_VERSION Definitions for EPICS base version number
CONFIG_COMMON Definitions common to all builds
CONFIG_ENV Definitions of EPICS environment variables
CONFIG_SITE Site specific make defintions
CONFIG_SITE_ENV Site defaults for EPICS environment variables
MAKEFILE Installs CONFIG* RULES* creates
CONFIG_APP_INCLUDE
RELEASE Location of external products
RULES Includes appropriate rules file
RULES.Db Rules for database and database definition files
RULES.ioc Rules for application iocBoot/ioc* directory
RULES_ARCHS Definitions and rules for building architectures
RULES_BUILD Build and install rules and definitions
RULES_DIRS Definitions and rules for building subdirectories
RULES_JAVA Definitions and rules for java jars and classes
RULES_TOP Rules specific to a &lt;top&gt; dir (uninstall and tar)
Sample.Makefile Sample makefile with comments
</PRE>
<H4>base/configure/os directory - contains os-arch specific definitions</H4>
<PRE>
CONFIG.&lt;host&gt;.&lt;target&gt; Specific host-target build definitions
CONFIG.Common.&lt;target&gt; Specific target definitions for all hosts
CONFIG.&lt;host&gt;.Common Specific host definitions for all targets
CONFIG.UnixCommon.Common Definitions for Unix hosts and all targets
CONFIG.Common.UnixCommon Definitions for Unix targets and all hosts
CONFIG.Common.vxWorksCommon Specific host definitions for all vx targets
CONFIG_COMPAT R3.13 arch compatibility definitions
CONFIG_SITE.&lt;host&gt;.&lt;target&gt; Site specific host-target definitions
CONFIG_SITE.Common.&lt;target&gt; Site specific target defs for all hosts
CONFIG_SITE.&lt;host&gt;.Common Site specific host defs for all targets
</PRE>
<H4>base/src/tools directory - contains Perl scripts used for the build</H4>
<PRE>
Makefile Makefile for installing the scripts into cfg dir
convertRelease.pl Performs consistancy checks on RELEASE files
cvsclean.pl Remove all .#* files in directory tree
dos2unix.pl Converts text file from DOS CR/LF to unix ISO
expandvars.pl Tool to expand @VAR@ variables while copying a file
filterWarnings.pl Filters warning messages during HP builds
fullpathName.pl Returns fullpath name of directory arg
installEpics.pl Installs built files into install directories
makeIncludeDbd.pl Creates *Include.dbd file from filename args files
makeMakefile.pl Creates a Makefile in O.&lt;arch&gt; dirs
makeTestfile.pl Generates a test harness $target.t file
mkmf.pl Generates dependencies from include stmnts
munch.pl Creates a ctdt.c file for vxWorks targets
replaceVAR.pl Changes CapFast VAR(xxx) to $(xxx) notation
useManifestTool.pl Use MS VC++ version to set usage of Manifest Tool
</PRE>
</BLOCKQUOTE>
<H3><A NAME="0_0_12"> Building EPICS base (Unix and Win32)</A></H3>
<BLOCKQUOTE>
<H4> Unpack file</H4>
<BLOCKQUOTE>
Unzip and untar the distribution file. Use WinZip on Windows
systems.
</BLOCKQUOTE>
<H4>Set environment variables</H4>
<BLOCKQUOTE>
Files in the base/startup directory have been provided to
help set required path and other environment variables .
<P><B>EPICS_HOST_ARCH</B>
<BR> Before you can build or use EPICS R3.14, the environment variable
help set required path and other environment variables.
<P><B>EPICS_HOST_ARCH</B><BR>
Before you can build or use EPICS R3.14, the environment variable
EPICS_HOST_ARCH must be defined. A perl script EpicsHostArch.pl in the
base/startup directory has been provided to help set EPICS_HOST_ARCH.
You should have EPICS_HOST_ARCH set to your host operating system
@@ -463,19 +321,22 @@ Files in the base/startup directory have been provided to
(e.g. &quot;-gnu&quot; for GNU c/c++ compilers on a solaris host or &quot;-borland&quot;
for Borland c/c++ compilers on a WIN32 host). See configure/CONFIG_SITE
for a list of supported EPICS_HOST_ARCH values.</P>
<P><B>PERLLIB</B>
<BR> On WIN32, some versions of Perl require that the environment
<P><B>PERLLIB</B><BR>
On WIN32, some versions of Perl require that the environment
variable PERLLIB be set to &lt;perl directory location&gt;.</P>
<P><B>PATH</B>
<BR> As already mentioned, you must have the perl executable and you may
<P><B>PATH</B><BR>
As already mentioned, you must have the perl executable and you may
need C and C++ compilers in your search path. For building base you
also must have echo in your search path. For Unix host builds you also
need ln, cpp, cp, rm, mv, and mkdir in your search path and /bin/chmod
must exist. On some Unix systems you may also need ar and ranlib in
your path, and the c compiler may require as and ld in your path. On
your path, and the C compiler may require as and ld in your path. On
solaris systems you need uname in your path.</P>
<P><B>LD_LIBRARY_PATH</B>
<BR> It is no longer necessary to have LD_LIBRARY_PATH include EPICS
<P><B>LD_LIBRARY_PATH</B><BR>
It is no longer necessary to have LD_LIBRARY_PATH include EPICS
directories on a Unix type system. R3.14 shared libraries and
executables will contain the full path name to libraries they require.
However, if you move the EPICS directories from their build-time
@@ -486,72 +347,83 @@ Files in the base/startup directory have been provided to
hosts. NOTE: You will still need LD_LIBRARY_PATH for R3.13 extension
shared libraries even if the R3.13 extensions are built with R3.14
base.</P>
<P><B>Win32 PATH</B>
<BR> On WIN32 systems, for R3.14.7 and later, it is no longer necessary
<P><B>Win32 PATH</B><BR>
On WIN32 systems, for R3.14.7 and later, it is no longer necessary
to add fullpathname to $(INSTALL_LOCATION)/bin/$(EPICS_HOST_ARCH) to
your path for finding dlls during EPICS builds. The win32 configure
files in base now add this directory to the path definition.</P>
</BLOCKQUOTE>
<H4>Do site-specific build configuration</H4>
<BLOCKQUOTE>
<B>Site configuration</B>
<BR> To configure EPICS, you may want to modify the default definitions
<B>Site configuration</B><BR>
To configure EPICS, you may want to modify the default definitions
in the following files:
<BLOCKQUOTE>
<TT>configure/CONFIG_SITE&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Build choices. Specify target archs.<br></TT>
<TT>configure/CONFIG_SITE_ENV&nbsp;&nbsp;
Environment variable defaults</TT><br>
<TT>configure/RELEASE&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
TORNADO2 full path location</TT>
</BLOCKQUOTE><B> Host configuration</B>
<BR> To configure each host system, you may override the default
<PRE>
configure/CONFIG_SITE Build choices. Specify target archs.
configure/CONFIG_SITE_ENV Environment variable defaults
configure/RELEASE TORNADO2 full path location
</PRE>
<B> Host configuration</B><BR>
To configure each host system, you may override the default
definitions by adding a new file in the configure/os directory with
override definitions. The new file should have the same name as the
distribution file to be overridden except with CONFIG in the name
changed to CONFIG_SITE.<BLOCKQUOTE>
<TT>configure/os/CONFIG.&lt;host&gt;.&lt;host&gt;
&nbsp;&nbsp;&nbsp;
Host build settings</TT><BR>
<TT>configure/os/CONFIG.&lt;host&gt;.Common
&nbsp;&nbsp;&nbsp;
Host common build settings</TT>
</BLOCKQUOTE><B> Target configuration</B>
<BR> To configure each target system, you may override the default
changed to CONFIG_SITE.
<PRE>
configure/os/CONFIG.&lt;host&gt;.&lt;host&gt; Host build settings
configure/os/CONFIG.&lt;host&gt;.Common Host common build settings
</PRE>
<B>Target configuration</B><BR>
To configure each target system, you may override the default
definitions by adding a new file in the configure/os directory with
override definitions. The new file should have the same name as the
distribution file to be overridden except with CONFIG in the name
replaced by CONFIG_SITE. This step is necessary even if the host system
is the only target system.<BLOCKQUOTE>
<TT>configure/os/CONFIG.Common.&lt;target&gt;&nbsp;&nbsp;
Target common settings</TT><BR>
<TT>configure/os/CONFIG.&lt;host&gt;.&lt;target&gt;&nbsp;&nbsp;
Host-target settings</TT>
</BLOCKQUOTE><B>
R3.13 compatibility configuration</B>
<BR> To configure EPICS base for building with R3.13 extensions and ioc
is the only target system.
<PRE>
configure/os/CONFIG.Common.&lt;target&gt; Target common settings
configure/os/CONFIG.&lt;host&gt;.&lt;target&gt; Host-target settings
</PRE>
<B>R3.13 compatibility configuration</B><BR>
To configure EPICS base for building with R3.13 extensions and ioc
applications , you must modify the default definitions in the
base/config/CONFIG_SITE* files to agree with definitions you made in
base/configure and base/configure/os files.
</BLOCKQUOTE>
<H4><B> Build EPICS base</B></H4>
<H4>Build EPICS base</H4>
<BLOCKQUOTE>After configuring the build you should be able to build
EPICS base by issuing the following commands in the distribution's root
directory (base)<BLOCKQUOTE><TT>gnumake clean uninstall</TT>
<BR> <TT>gnumake</TT></BLOCKQUOTE> The command &quot;gnumake clean uninstall&quot;
directory (base):
<PRE>
gnumake clean uninstall
gnumake
</PRE>
The command &quot;gnumake clean uninstall&quot;
will remove all files and directories generated by a previous build.
The command &quot;gnumake&quot; will build and install everything for the
configured host and targets.
<BR><BR> It is recommended that you do a &quot;gnumake clean uninstall&quot; at the
<P> It is recommended that you do a &quot;gnumake clean uninstall&quot; at the
root directory of an EPICS directory structure before each complete
rebuild to ensure that all components will be rebuilt.</BLOCKQUOTE></BLOCKQUOTE>
rebuild to ensure that all components will be rebuilt.
</BLOCKQUOTE>
</BLOCKQUOTE>
<H3><A NAME="0_0_13"> Example application and extension</A></H3>
<BLOCKQUOTE>A perl tool, makeBaseApp.pl is included in the distribution
file. This script will create a sample application that can be built
and then executed to try out this release of base.
</BLOCKQUOTE><BLOCKQUOTE>
<P>
Instructions for building and executing the 3.14 example application
can be found in the section &quot;Example Application&quot; of Chapter 2,
&quot;Getting Started&quot;, in the &quot;IOC Application Developer's Guide&quot; for this
@@ -562,14 +434,15 @@ Build choices. Specify target archs.<br></TT>
By running the example application as a host-based IOC, you will be
able to quickly implement a complete EPICS system and be able to run channel
access clients on the host system.
</BLOCKQUOTE>
<BLOCKQUOTE>
<P>
A perl script,
makeBaseExt.pl, is included in the distribution file. This script will
create a sample extension that can be built and executed. The
makeBaseApp.pl and makeBaseExt.pl scripts are installed into the
install location bin/&lt;hostarch&gt; directory during the base build.
</BLOCKQUOTE>
<H3><A NAME="0_0_14"> Multiple host platforms</A></H3>
<BLOCKQUOTE>You can build using a single EPICS directory structure on
multiple host systems and for multiple cross target systems. The
@@ -584,7 +457,8 @@ Build choices. Specify target archs.<br></TT>
subdirectories, This allows objects for multiple cross target
architectures to be maintained at the same time. To build EPICS base
for a specific host/target combination you must have the proper
host/target c/c++ cross compiler and target header files and the
base/configure/os directory must have the appropriate configure files.</BLOCKQUOTE>
</BLOCKQUOTE></BODY>
host/target C/C++ cross compiler and target header files and the
base/configure/os directory must have the appropriate configure files.
</BLOCKQUOTE>
</BODY>
</HTML>

View File

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

View File

@@ -3,15 +3,399 @@
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1">
<title>EPICS Base R3.14.12 Release Notes</title>
<title>EPICS Base R3.14.12.2-rc1 Release Notes</title>
</head>
<body lang="en">
<h1 align="center">EPICS Base Release 3.14.12</h1>
<h1 align="center">EPICS Base Release 3.14.12.2-rc1</h1>
<h2 align="center">Changes between 3.14.12.1 and 3.14.12.2-rc1</h2>
<!-- Insert new items immediately below here ... -->
<h4>Added <tt>-b</tt> option to dbExpand</h4>
<p>This turns off monotonic checking of breakpoint tables.</p>
<h4>Launchpad Bugs Resolved</h4>
<p>The following are links to bugs in the Launchpad bug tracker that have been
fixed in this release:</p>
<ul>
<li>697509
<a href="https://launchpad.net/bugs/697509">
Thread synchronization issue in libCom/osi/os/WIN32/osdTime.cpp</a></li>
<li>697516
<a href="https://launchpad.net/bugs/697516">
Crash occurs in Com.dll if filetime is before the EPICS epoch </a></li>
<li>697517
<a href="https://launchpad.net/bugs/697517">
WIN32 osdtime should handle the system time change properly</a></li>
<li>697519
<a href="https://launchpad.net/bugs/697519">
The incorrect way to compute the roll-over in WIN32 osdTime.cpp</a></li>
<li>736273
<a href="https://launchpad.net/bugs/736273">
nonstandard c++ mutable ref in cac</a></li>
<li>786979
<a href="https://launchpad.net/bugs/786979">
incorrect ref counting for timer queues</a></li>
<li>794749
<a href="https://launchpad.net/bugs/794749">
3.14.12 caget without -c always requests maximum element count</a></li>
<li>816678
<a href="https://launchpad.net/bugs/816678">
g++ generic thunk generation fails virtual varargs</a></li>
<li>831648
<a href="https://launchpad.net/bugs/831648">
RTEMS dynamically loaded app fails to execute osdTimeRegister</a></li>
<li>835138
<a href="https://launchpad.net/bugs/835138">
Incorrect calculation oss priorities for posix threads</a></li>
<li>861214
<a href="https://launchpad.net/bugs/861214">
epicsThreadOnce crashes in static object destructor on win32</a></li>
<li>861627
<a href="https://launchpad.net/bugs/861627">
RULES.db has incorrect dbExpand flags</a></li>
<li>878372
<a href="https://launchpad.net/bugs/878372">
in-memory channel, ca client subscribe isnt thread safe</a></li>
<li>878387
<a href="https://launchpad.net/bugs/878387">
In memory channel clear fails from put callback function</a></li>
</ul>
<h4>Added database sanity checks to iocInit</h4>
<p>Two menus may legitimately be modified by users; some checks have been added
that run at iocInit and make sure the choices haven't been changed too much for
the IOC to function properly:</p>
<ul>
<li><tt>menuConvert</tt> is checked to flag problems with IOCs converted from
3.13.x, where the SLOPE choice didn't exist.</p>
<li><tt>menuScan</tt> is checked to ensure the three initial choices are still
present and that there is at least one periodic scan rate.</li>
</ul>
<h4>Fix various catools issues</h4>
<p>Array handling in the caget and camonitor programs has been debugged, fixing
<a href="https://bugs.launchpad.net/bugs/794749">launchpad bug 794749</a> along
with a few other related issues dating back to the addition of variable length
array support.</p>
<h4>Another race condition in errlog cleaned up</h4>
<p>If it was still busy when the IOC was closed down, the errlog thread could
have preempted the exit handler and freed the various internal pvtData mutex and
event objects too soon.</p>
<h4>Top-level make target changes</h4>
<p>Several make targets have been changed. Note that these can only be used from
an application's &lt;top&gt; directory.</p>
<dl>
<dt><code>make uninstall.&lt;arch&gt;</code></dt>
<dd>Deletes the bin/&lt;arch&gt; and lib/&lt;arch&gt; directories for
&lt;arch&gt; only. Note that &lt;arch&gt; does not have to be an
architecture that this host is configured to build, it works for any
arch.</dd>
<dt><code>make archuninstall</code></dt>
<dd>Deletes the bin/&lt;arch&gt; and lib/&lt;arch&gt; directories for all
architectures that this host is configured to build. Should not affect files
used for multiple architectures, or for host or target architectures that
this host is not configured to build.</dd>
<dt><code>make uninstall</code></dt>
<dd>Does archuninstall and also deletes the other install directories include,
db, dbd, doc, html, templates and java. This will affect subsequent builds
for other architectures, but it doesn't delete their bin/&lt;arch&gt; or
lib/&lt;arch&gt; contents.</dd>
<dt><code>make realuninstall</code></dt>
<dd>Deletes all install directories for all architectures.</dd>
<dt><code>make distclean</code></dt>
<dd>Does realclean realuninstall as before, and also now does a cvsclean,
which removes file remnants from CVS operations named <code>.#*</code> and
editor backups named <code>*~</code> throughout the source tree.</dd>
</dl>
<h4>Compress record type</h4>
<p>This record now posts monitors on its NUSE field whenever its value changes.
A new field OUSE was added to support this.</p>
<h4>Remove C++ build rule for <code>.C</code> files</h4>
<p>An early convention on Unix systems was to name C++ files with an upper-case
extention, <code>.C</code>. This does not work on Windows or MacOS where the
filesystems are case-insensitive, and the C++ build rule was causing problems so
has been eliminated. Any remaining C++ source files that are still using this
convention will have to be renamed, preferably to <code>.cpp</code></p>
<h4>Support <code>make -s</code> on Windows</h4>
<p>The flag to silence build output did not work on some Windows architecture
combinations. This has now been fixed.</p>
<h4>iocLogServer now supports logrotate</h4>
<p>The feature in the iocLogServer that closed and reopened the logfile used to
ignore the SIGHUP signal when the log filename did not change. This has now been
changed so these logfiles can be used with the standard Linux logrotate
package.</p>
<h2 align="center">Changes between 3.14.12 and 3.14.12.1</h2>
<p>This release only contains changes that fix bugs or add build configuration
files for new or updated target architectures. No functionality has been
changed, and as this is a patch release the software has not gone through as
rigorous a testing regime as it does for a normal minor release.</p>
<h4>Launchpad Bugs Resolved</h4>
<p>The following are links to bugs in the Launchpad bug tracker that have been
fixed in this release:</p>
<ul>
<li>693534
<a href="https://launchpad.net/bugs/693534">
errlog causes crash on IOC exit</a></li>
<li>701673
<a href="https://launchpad.net/bugs/701673">
Large array problem in 3.14.12</a></li>
<li>717252
<a href="https://launchpad.net/bugs/771252">
local caput causes ioc crash on win32</a></li>
<li>750549
<a href="https://launchpad.net/bugs/750549 ">
epicsTime has non-portable c++ static initialization</a></li>
<li>753137
<a href="https://launchpad.net/bugs/753137">
Makefile dependency checking of database files is broken</a></li>
</ul>
<h4>New/Updated target architectures</h4>
<p>The following target architectures have been added or updated:</p>
<dl>
<dt>vxWorks-mpc8548</dt>
<dt>vxWorks-mpc8548-debug</dt>
<dd style="margin-bottom: 1ex">This PowerPC CPU is used on the Emerson MVME4100
VME CPU board (from Ernest Williams, SLAC).</dd>
<dt>vxWorks-ppc32</dt>
<dt>vxWorks-ppc32sf</dt>
<dt>vxWorks-ppc32-debug</dt>
<dt>vxWorks-ppc32sf-debug</dt>
<dd style="margin-bottom: 1ex">New generic 32-bit PowerPC targets for vxWorks
6.x, using hardware or software floating-point. These targets can be used
instead of the CPU-specific ppc603, ppc604, mpc8540 and mpc8548 targets (and
their _long alternatives, these targets are all compiled with the -mlongcall
flag) to reduce the number of distinct build targets needed when supporting
multiple PowerPC board types.</dd>
<dt>ios-386</dt>
<dt>ios-arm</dt>
<dd style="margin-bottom: 1ex">Updated for iOS 4.3, which is now the default OS
version (from Tom Palaia, ORNL).</dd>
</dl>
<h4>IOCSH_STARTUP_SCRIPT environment variable</h4>
<p>The function <tt>iocsh(const char *pathname)</tt> now sets the environment
variable <tt>IOCSH_STARTUP_SCRIPT</tt> to the value of its pathname
argument before it starts executing the script commands.</p>
<h4>RTEMS-mvme5500</h4>
<p>This target now automatically links binary files with the bspExt library, and
adds the extension <tt>.elf</tt> to their filenames, matching the other mvme
targets.</p>
<h4>RTEMS Network Buffer Configuration</h4>
<p>Add the macros <tt>RTEMS_NETWORK_CONFIG_MBUF_SPACE</tt> and
<tt>RTEMS_NETWORK_CONFIG_MBUF_SPACE</tt> to rtems_netconfig.c to allow
customization of the network buffer space allocated. The configuration files
for the RTEMS-mvme3100, RTEMS-mvme5500 and RTEMS-beatnik targets now default to
allocating 2MB for mbufs and 5MB for clusters; other RTEMS targets will continue
to use 180KB and 350KB rspectively.</p>
<h4>RTEMS TFTP filesystem</h4>
<p>Use the new mount API to initialize TFTP on newer RTEMS versions.</p>
<h4>C++ build issues on older Solaris compiler</h4>
<p>Dirk Zimoch reported some problems building with an older SUNWspro C++
compiler which have been resolved where possible.</p>
<h4>FreeBSD broadcast problem</h4>
<p>The <tt>ifreq_size</tt> macro in freebsd/osdsock.h must be different in BSD
4.4.</p>
<h4>Thread exit synchronization</h4>
<p>When finished waiting for a thread to exit, signal the event in case other
threads are waiting also.</p>
<h4>Win32 osdTime provider fix</h4>
<p>Jeff Hill fixed the last time compare in PLL drift factor update loop.</p>
<h4>Errlog can lose messages</h4>
<p>Systems that generate large numbers of errlog messages or have a slow message
listener could overwrite older messages in the message buffer after the buffer
wraps. This also corrects and annotates the test code to describe what's being
checked.</p>
<p>When the IOC is shutting down, the errlog thread should process all queued
messages before it quits.</p>
<h4>Back-slash escapes for Win32</h4>
<p>Stephen Norum pointed out the need for various Perl scripts to escape
back-slash characters in Windows file paths.</p>
<h4>catools on Windows</h4>
<p>Windows 7 does not properly support line-mode buffering of stdio streams; the
catools programs used this mode to ensure that they could be used in pipelines,
but in Windows 7 they became fully buffered and are not flushed when the program
exits, so buffering of stdout has now been completely disabled on Windows.</p>
<h2 align="center">Changes between 3.14.11 and 3.14.12</h2>
<!-- Insert new items immediately below here ... -->
<h4>Launchpad Bugs Resolved</h4>
<p>The following are links to bugs in the Launchpad bug tracker that have been
fixed in this release:</p>
<ul>
<li>541258
<a href="https://bugs.launchpad.net/epics-base/+bug/541258">
compiler warnings in base</a></li>
<li>541264
<a href="https://bugs.launchpad.net/epics-base/+bug/541264">
CA subscription element count is fixed - eliminates compressed video
option</a></li>
<li>541331
<a href="https://bugs.launchpad.net/epics-base/+bug/541331">
Several devLib routines don't use vector table</a></li>
<li>541391
<a href="https://bugs.launchpad.net/epics-base/+bug/541391">
when subscribing for zero elements, array element count should be
dynamic</a></li>
<li>545385
<a href="https://bugs.launchpad.net/epics-base/+bug/545385">
SIGFPE calculating epicsNAN, epicsINF</a></li>
<li>546991
<a href="https://bugs.launchpad.net/epics-base/+bug/546991">
prev. value fields not initialized in init_record</a></li>
<li>551909
<a href="https://bugs.launchpad.net/epics-base/+bug/551909">
macExpandString writes out of boundary</a></li>
<li>552803
<a href="https://bugs.launchpad.net/epics-base/+bug/552803">
Compress record segfaults on ALG (algorithm) change</a></li>
<li>571121
<a href="https://bugs.launchpad.net/epics-base/+bug/571121">
Perl issue compiling with INSTALL_LOCATION set</a></li>
<li>572589
<a href="https://bugs.launchpad.net/epics-base/+bug/572589">
Make dbl emit empty strings for non-existent fields</a></li>
<li>595154
<a href="https://bugs.launchpad.net/epics-base/+bug/595154">
C++ errors building base using cygwin1.7</a></li>
<li>595240
<a href="https://bugs.launchpad.net/epics-base/+bug/595240">
C code uses C++ keywords as variable names</a></li>
<li>595242
<a href="https://bugs.launchpad.net/epics-base/+bug/595242">
C code uses C++ "//" style comments</a></li>
<li>615916
<a href="https://bugs.launchpad.net/epics-base/+bug/615916">
Bug in RULES.Db breaks parallel make when using MSI</a></li>
<li>625034
<a href="https://bugs.launchpad.net/epics-base/+bug/625034">
Remove compiler checks for VMS in src/toolsComm/flex</a></li>
<li>626848
<a href="https://bugs.launchpad.net/epics-base/+bug/626848">
Build with GNU make 3.82 fails when installing libraries</a></li>
<li>626859
<a href="https://bugs.launchpad.net/epics-base/+bug/626859">
RTEMS build does not create .d dependancy files</a></li>
<li>627511
<a href="https://bugs.launchpad.net/epics-base/+bug/627511">
MSVC linker fails if input lib dirs start with forward slash</a></li>
<li>644263
<a href="https://bugs.launchpad.net/epics-base/+bug/644263">
EPICS softIOC always dies in response to SIGHUP</a></li>
<li>650000
<a href="https://bugs.launchpad.net/epics-base/+bug/650000">
caput tool won't write to mbbo w/o state strings</a></li>
<li>663875
<a href="https://bugs.launchpad.net/epics-base/+bug/663875">
NTP broadcasts break NTP synchronization (RTEMS)</a></li>
<li>667384
<a href="https://bugs.launchpad.net/epics-base/+bug/667384">
are the request and response bytes pending reversed in casr?</a></li>
<li>680702
<a href="https://bugs.launchpad.net/epics-base/+bug/680702">
calc and calcout record get_precision bug</a></li>
</ul>
<h4>Support for Cygwin 1.7</h4>
<p>Base can now built with shared libraries on Cygwin 1.7.x, although only with
the gcc-3 compiler. Cygwin 1.5.x only works when compiled without shared
libraries (set <tt>STATIC_BUILD=YES</tt> and <tt>SHARED_LIBRARIES=NO</tt> in
<tt>configure/CONFIG_SITE</tt>). There is code in Base now that depends on the
Cygwin version, so make sure that you rebuild Base if you upgrade your Cygwin
installation.</p>
<h4>epicsEvent</h4>
<p>epicsEvent is now explicitly required to act as a simple binary semaphore.
A single epicsEventSignal call must awaken just one thread when multiple
threads are waiting for the event. A test that checks for this has been
added to epicsEventTest and the Application Developer's Guide has been updated
to describe this requirement.</p>
<h4>Enable array puts to subArray records</h4>
<p>It is now possible to put an array into the VAL field of a soft channel
subArray record whose INP field is empty. Processing the record then causes the
sub-array extraction process to be done on the current VAL array. This can be
used to feed a sequence of values into some other record (set INDX=1 and
NELM=MALM and read one element out of the VAL field each time).</p>
<h4>Added windows-x64 target</h4>
<p>64-bit binaries for Microsoft Windows platforms can now be built using the
target architecture windows-x64, which is also a valid cross-build target for a
win32-x86 host. We do not currently support or recommend trying to use 64-bit
builds on MinGW or Cygwin.</p>
<h4>Deleted osf-alpha targets</h4>
<p>Kazuro Furukawa has been unable to compile EPICS Base on this target for the
last few releases and it's not really needed any more, so the targets have been
deleted from this release.</p>
<h4>Expanded CALC expressions</h4>
@@ -72,8 +456,8 @@ connections over ssh. See the CA reference manual for more details.</p>
<h4>Record Types aai and aao</h4>
<ul>
<li>Fixed bug in memory allocation that caused crashes when linking other records
to aai or aao.</li>
<li>Fixed bug in memory allocation that caused crashes when linking other
records to aai or aao.</li>
<li>Fixed bug where NELM was modified instead of NORD.</li>
<li>Added Soft Channel device support.</li>
<li>Added SIOL link and proper simulation mode for Soft Channel support.</li>
@@ -101,19 +485,20 @@ macro <tt>NO_DEVLIB_COMPAT</tt> is defined.</li>
<li>The "virtual os" table was renamed from <tt>pdevLibVirtualOS</tt> to
<tt>pdevLibVME</tt> reflecting the fact that other bus types will need seperate
tables.</li>
<li>The "virtual os" table API has been moved to a seperate header file,
<li>The "virtual os" table API has been moved to a different header file,
<tt>devLibVMEImpl.h</tt>.</li>
</ul>
<h4>DTYP and INP/OUT order</h4>
<p>The fields DTYP and INP/OUT can now be specified in any order.</p>
<p>The fields DTYP and INP/OUT can now be specified in any order in a database
instance (.db) file.</p>
<h4>Rewrite epicsThreadOnce()</h4>
<p>Michael Davidsaver suggested a better implementation of epicsThreadOnce()
which makes it possible for all architectures to detect recursive initialization
functions. This change also renames the routines to remove the original macro
functions. This change also renames the routines to remove the original macro,
and fixes some questionable usage in places.</p>
<h4>Many Record Types</h4>
@@ -124,7 +509,7 @@ giving correct initial monitor behavior in some circumstances.</p>
<h4>Compress Record Type</h4>
<p>Fixed crash when ALG (algorithm) was changed to Average at runtime.</p>
<p>Fixed a crash when ALG (algorithm) was changed to Average at runtime.</p>
<h4>configure/RELEASE Enhancements</h4>
@@ -136,9 +521,11 @@ definition is expanded. The variable <tt>EPICS_HOST_ARCH</tt> can now be used,
but target-architecture-specific values must be set in a target-specific
<tt>configure/RELEASE</tt> file such as <tt>RELEASE.Common.linux-x86</tt>.</p>
<h4>VxWorks 6.7 support</h4>
<h4>VxWorks 6.7 and 6.8 support</h4>
<p>Added build support for the latest Wind River release.</p>
<p>Added build support for the latest Wind River releases. This does not
include the ability to run on SMP vxWorks systems though, those will need some
more extensive modifications.</p>
<h4>RTEMS 4.10 support</h4>
@@ -150,7 +537,7 @@ is used.</p>
<p>Changes to the way in which we generate header dependency files, which are
now named with a <tt>.d</tt> suffix instead of <tt>.depends</tt>. We now use
the compiler to generate these if possible, and create them in the
the compiler to generate these where possible, and create them in the
<tt>O.$(T_A)</tt> directory.</p>
<h4>Installed file permissions</h4>
@@ -172,7 +559,11 @@ server.</p>
readline; some need <tt>-lcurses</tt>, others <tt>-lncurses</tt> and others
don't require either. The <tt>configure/os/CONFIG_SITE.Common.linux-*</tt>
files now make this configuration easy to choose between different settings for
the <tt>COMMANDLINE_LIBRARY</tt> variable.</p>
the <tt>COMMANDLINE_LIBRARY</tt> variable. If your build fails as it's trying
to create the <tt>antelope</tt> binary in the Base directory
<tt>src/toolsComm/antelope/O.<i>arch</i></tt> this is almost certainly the
problem. You will need to do a <tt>make rebuild</tt> from the top of Base after
fixing the setting of <tt>COMMANDLINE_LIBRARY</tt>.</p>
<h4>CA Command Line Tools Changes</h4>

View File

@@ -61,7 +61,7 @@ DIRS += rec
rec_DEPEND_DIRS = as registry
DIRS += misc
misc_DEPEND_DIRS = rsrv rec
misc_DEPEND_DIRS = dbtools rsrv rec
DIRS += dev
dev_DEPEND_DIRS = rec misc

View File

@@ -12,15 +12,14 @@ include $(TOP)/configure/CONFIG
INC += epicsRtemsInitHooks.h
SRCS += rtems_init.c
SRCS += rtems_config.c
SRCS += rtems_netconfig.c
SRCS += rtems_util.c
SRCS += setBootConfigFromNVRAM.c
SRCS += epicsRtemsInitHookPre.c
SRCS += epicsRtemsInitHookPost.c
rtemsCom_SRCS += rtems_init.c
rtemsCom_SRCS += rtems_config.c
rtemsCom_SRCS += rtems_netconfig.c
rtemsCom_SRCS += rtems_util.c
rtemsCom_SRCS += setBootConfigFromNVRAM.c
rtemsCom_SRCS += epicsRtemsInitHookPre.c
rtemsCom_SRCS += epicsRtemsInitHookPost.c
LIBRARY_RTEMS = rtemsCom
LIBRARY_SRCS = $(SRCS) $(BUILD_ARCHS)
include $(TOP)/configure/RULES

View File

@@ -209,7 +209,17 @@ initialize_remote_filesystem(char **argv, int hasLocalFilesystem)
{
#ifdef OMIT_NFS_SUPPORT
printf ("***** Initializing TFTP *****\n");
#if __RTEMS_MAJOR__>4 || \
(__RTEMS_MAJOR__==4 && __RTEMS_MINOR__>9) || \
(__RTEMS_MAJOR__==4 && __RTEMS_MINOR__==9 && __RTEMS_REVISION__==99)
mount_and_make_target_path(NULL,
"/TFTP",
RTEMS_FILESYSTEM_TYPE_TFTPFS,
RTEMS_FILESYSTEM_READ_WRITE,
NULL);
#else
rtems_bsdnet_initialize_tftp_filesystem ();
#endif
if (!hasLocalFilesystem) {
char *path;
int pathsize = 200;

View File

@@ -1,7 +1,6 @@
/*************************************************************************\
* Copyright (c) 2002 The University of Saskatchewan
* 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.
\*************************************************************************/
/*
@@ -93,6 +92,17 @@ static struct rtems_bsdnet_ifconfig bsp_driver_config = {
# define MY_DO_BOOTP rtems_bsdnet_do_bootp
#endif
/*
* Allow site- and BSP-specific network buffer space configuration.
* The macro values are specified in KBytes.
*/
#ifndef RTEMS_NETWORK_CONFIG_MBUF_SPACE
# define RTEMS_NETWORK_CONFIG_MBUF_SPACE 180
#endif
#ifndef RTEMS_NETWORK_CONFIG_CLUSTER_SPACE
# define RTEMS_NETWORK_CONFIG_CLUSTER_SPACE 350
#endif
/*
* Network configuration
*/
@@ -104,8 +114,8 @@ struct rtems_bsdnet_config rtems_bsdnet_config = {
/* EPICS scan thread. */
/* If non-zero then the network daemons will run */
/* at this *RTEMS* priority */
180*1024, /* MBUF space */
350*1024, /* MBUF cluster space */
RTEMS_NETWORK_CONFIG_MBUF_SPACE*1024,
RTEMS_NETWORK_CONFIG_CLUSTER_SPACE*1024,
NULL, /* Host name */
MY_DOMAINNAME, /* Domain name */
};

View File

@@ -1,8 +1,16 @@
/*************************************************************************\
* Copyright (c) 2008 UChicago Argonne LLC, as Operator of Argonne
* National Laboratory.
* EPICS BASE is distributed subject to a Software License Agreement found
* in file LICENSE that is included with this distribution.
\*************************************************************************/
#include <sys/types.h>
#include <sys/socket.h>
#include <arpa/inet.h>
#include <netinet/in.h>
#include <fcntl.h> /* for open() */
#include <fcntl.h>
#include <unistd.h>
#include <rtems/rtems_bsdnet.h>
#include <bsp.h>
#include <string.h>
@@ -125,12 +133,13 @@ motScriptParm(const char *mot_script_boot, char parm)
int l;
while (*mot_script_boot != '\0') {
if (isspace(*mot_script_boot)
if (isspace(*(unsigned char *)mot_script_boot)
&& (*(mot_script_boot+1) == '-')
&& (*(mot_script_boot+2) == parm)) {
mot_script_boot += 3;
cp = mot_script_boot;
while ((*mot_script_boot != '\0') && !isspace(*mot_script_boot))
while ((*mot_script_boot != '\0') &&
!isspace(*(unsigned char *)mot_script_boot))
mot_script_boot++;
l = mot_script_boot - cp;
ret = malloc(l+1);

View File

@@ -22,7 +22,8 @@ DBD += bptTypeKdegF.dbd
PROD_LIBS = Com
PROD_HOST += makeBpt
makeBpt_SRCS=makeBpt
makeBpt_SRCS = makeBpt
include $(TOP)/configure/RULES

View File

@@ -64,6 +64,7 @@ $Date$</span></small></p>
<li><a href="#Network">IP Network Administration Background
Information</a></li>
<li><a href="#port">IP port numbers</a></li>
<li><a href="#firewall">Firewalls</a></li>
<li><a href="#Environmen">WAN Environment</a></li>
<li><a href="#Disconnect">Disconnect Time Out Interval / Server Beacon
Period</a></li>
@@ -245,7 +246,7 @@ $Date$</span></small></p>
<h3>Why Reconfigure Channel Access</h3>
<p>Typically reasons to reconfigure EPICS Channel Access:</p>
<p>Typical reasons to reconfigure EPICS Channel Access:</p>
<ul>
<li>Two independent control systems must share a network without fear of
interaction</li>
@@ -451,6 +452,32 @@ different port numbers then an extended syntax may be used with the
EPICS_CA_ADDR_LIST environment variable. See <a href="#Environmen">WAN
Environment</a> below.</p>
<h3><a name="firewall">Firewalls</a></h3>
<p>If you want channel access clients on a machine to be able to see
beacons and replies to broadcast PV search requests you need to permit
inbound UDP packets with source port EPICS_CA_SERVER_PORT (default is 5064)
or destination port EPICS_CA_REPEATER_PORT (default is 5065). On systems
using iptables this can be accomplished by rules like</p>
<pre>
-A INPUT -s 192.168.0.0/22 -p udp --sport 5064 -j ACCEPT
-A INPUT -s 192.168.0.0/22 -p udp --dport 5065 -j ACCEPT
</pre>
<p>If you want channel access servers (e.g. "soft IOCs") on a machine to be
able to see clients you need to permit inbound TCP or UDP packets with source
port EPICS_CA_SERVER_PORT (default is 5064). On systems using iptables this
can be accomplished by rules like</p>
<pre>
-A INPUT -s 192.168.0.0/22 -p udp --dport 5064 -j ACCEPT
-A INPUT -s 192.168.0.0/22 -p tcp --dport 5064 -j ACCEPT
</pre>
<p>In all cases the "-s 192.168.0.0/22" specifies the range of addresses from
which you wish to accept packets.</p>
<h3><a name="Environmen">WAN Environment</a></h3>
<p>When the CA client library connects a channel it must first determine the IP
@@ -1295,7 +1322,7 @@ the output.</p>
</tr>
<tr>
<td>-s</td>
<td>Get value as string (may honour server-side precision)</td>
<td>Get value as string (honors server-side precision)</td>
</tr>
<tr>
<td>-lx</td>
@@ -1439,7 +1466,7 @@ the output.</p>
</tr>
<tr>
<td>-s</td>
<td>Get value as string (may honour server-side precision)</td>
<td>Get value as string (honors server-side precision)</td>
</tr>
<tr>
<td>-lx</td>
@@ -4332,7 +4359,7 @@ that use ca_context_destroy).</p>
<p><a href="#ca_context_destroy">ca_context_destroy</a>()</p>
<h3><code><a name="ca_dump_dbr">ca_dump_dbr()</a></code></h3>
<pre>void ca_dump_dbr (chtype TYPE, unsigned COUNT, const void * PDBR);</pre>
<code><pre>void ca_dump_dbr (chtype TYPE, unsigned COUNT, const void * PDBR);</pre></code>
<h4>Description</h4>

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