EPICS R3.13 extensions have both a Makefile and a Makefile.Host in the build directories and the EPICS R3.13 extension tree has an extensions/config directory.
Download the latest version (10/25/00) of the extensions/config files, extensionsConfig.tar.gz, from the APS EPICS www page. Make certain that you have set the HOST_ARCH environment variable. Set EPICS_BASE in extensions/config/RELEASE to the full path location of a built R3.14.0alpha2 base. BASE_3_14 is now defined in the alpha2 file, base/config/CONFIG_BASE_VERSION. The commented BASE_3_14 definition can be removed from extensions/config/RELEASE.
Download the latest version (10/25/00) of extensions distributed from the APS EPICS www page. The latest versions of the extensions should build with both R3.13 and R3.14. Note that the order of building extensions is important, i.e. some extensions depend on other extensions being built first. The extensions/config/CONFIG_EXTENSIONS file contains notes on extension dependancies and contains a definition of DIRS (used by extensions/src/Makefile) with the proper order for building the APS distributed extensions. Executing gnumake at the root level of the extensions tree or in the src directory should build the APS extensions in the proper order.
Library Db renamed
Library Db has been renamed to dbStaticHost in EPICS base R3.14. In some extensions lib Db is not used and Db can be removed from the USR_LIBS (or PROD_LIBS) line. If the library is needed ( you get unresolved items after removing Db), the following lines should be added to Makefile.Host.ifdef BASE_3_14
USR_LIBS += dbStaticHost
dbStaticHost_DIR = $(EPICS_BASE_LIB)
else
USR_LIBS += Db
Db_DIR = $(EPICS_BASE_LIB)
endifTarget architecture specifications changed
Since target architecture specifications have been changed (solaris to solaris-sparc, win32 to win32-x86, ...) Makefile.Host references to and tests on T_A have to be changed. In most cases T_A can be replaced by OS_CLASS. Since HOST_ARCH will eventually be phased out, it would be a good idea to change any Makefile.Host references to HOST_ARCH to OS_CLASS if possible.
For example changeifeq ($(T_A),solaris)to
RPCFLAGS = -K -1
endififeq ($(OS_CLASS),solaris)
RPCFLAGS = -K -1
endifNew ca_set_puser
Statements of the form: ca_puser(chid) = xyz; should to be changed to: ca_set_puser(chid,xyz);
Extern C around includes
Remove any extern "C" braces around #includes of EPICS base header files.
For example changeextern "C" {to
#include "cadefs.h"
} /* end extern C */#include "cadefs.h"Infrequently used R3.13 timestamp functions unbundled from base
Some infrequently used R3.13 timestamp functions and macro definitions have been removed from EPICS base and now exist in a library, ts, created and installed in the ar extension. The only ANL distributed extension that uses these unbundled functions and macros is cau. The two R3.13 functions tsStampToText and tsLocalTime along with the definitions TS_TEXT_MONDDYYYY and TS_TEXT_MMDDYY have been retained in R3.14 for extension compatibility purposes.
If your extension gets undefines for TS_* usage and ts* function calls when built with R3.14, you must obtain and build the ar extension. Add an #include for tsSubr.h to your extension source code and add library ts to PROD_LIBS or USR_LIBS in your Makefile.Host as follows:#include "tsSubr.h"ifdef BASE_3_14
PROD_LIBS += ts
ts_DIR = $(EPICS_EXTENSIONS_LIB)
endif