This document describes how to convert a R3.14.0alpha2 vxWorks application
so that it builds with release R3.14.0alpha3.
First do a "gnumake clean uninstall" in the application's root directory to remove all files created by earlier builds.
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-include ../baseLIBOBJSand, if there are no LIBOBJS definitions in the Makefile, removeexample_OBJS += $(LIBOBJS)
Add the new record and dev support libraries to <name>App/src/Makefile, i.e. add the linesexample_LIBS += recIocand remove any references to iocCoreLibrary, e.g. remove the line
example_LIBS += softDevIocexample_OBJS_vxWorks += $(EPICS_BASE_BIN)/iocCoreLibraryThe order of references to base librararies is important so place recIoc and softDevIoc before the the other base library references.
Change all references to ioccrf in your application src directories to iocsh e.g.change #include "ioccrf.h"
to #include "iocsh.h"change ioccrf(argv[1]);
to iocsh(argv[1]);and change ioccrf(NULL);
to iocsh(NULL);in <name>App/src/exampleMain.c.
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. in your application src MakefilesLIBRARY and PROD changeschange PROD += caExample
to PROD_HOST += caExample
and
change PROD = sncExample
to PROD_HOST += sncExample
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 compatability) 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,change LIBRARY_vxWorks = <name>In the iocBoot/ioc<name>/st.cmd files,
to PROD_vxWorks = <name>
or
remove the lines LIBRARY_vxWorks = <name>
and PROD_RTEMS = <name>
and change PROD = <name>
to PROD_IOC = <name>.change ld < <name>Library.munch
to ld < <name>.munch
The created file registerRecordDeviceDriver.cpp is now used for all target architectures. Thus in your application src Makefileschange example_SRCS_DEFAULT += example_registerRecordDeviceDriver.cpp
to example_SRCS += example_registerRecordDeviceDriver.cpp