If a record type named in a device() entry does not exist when
the device is seen, the DBD parser will now print a warning
and create an empty record type with that name to hold the
device entry information.
This will allow support modules to be built into libraries that
include their own registerRecordDeviceDriver code, which was
apparently possible with 3.14 although not officially supported.
To avoid the warning message, the DBD file can declare each
record type before the device statement that uses it.
A record type declaration looks like this:
recordtype(ao) {}
device(ao, ....)
An IOC will accept and ignore a record type declaration, but it
must have loaded the full record type definition first.
Fix a recently introduced problem where cdCommands and envParams
had TOP as a relative path (which actually worked by chance).
Also fixed a problem with convertRelease hanging when the -t
argument matched the absolute path to TOP.
Record types cannot be duplicated however.
DBD sub-objects now have a ->what method for their description.
This also adds a method to look up a breaktable by name.
For compatibility with msi; users can put -Mvar=value into a
xxx_DBFLAGS variable to have msi define that macro when
generating the xxx.db file. This lets mkmf accept the same
DBFLAGS variable that msi does in this case.
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.
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.
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.
* Updated the ReleaseChecklist document for Bazaar
* Replaced all RCS $Id$ and $header$ keywords with $Revision-Id$
as supported by the Bazaar Keywords plug-in
* Changed a few names in CONFIG_BASE_VERSION and epicsVersion.h
* Removed various extraneous keywords and non-ASCII characters