Adds new routines for converting numeric strings into the
standard epicsInt8, epicsUInt8, epicsInt16, epicsUInt16,
epicsInt32 and epicsUInt32 types, along with Long, ULong,
Double and Float. These all provide error checking and
detection of extraneous characters. The epicsScanDouble
and epicsScanFloat routines originally in epicsStdlib.h
are replaced by macros that call the epicsParse routine,
and this also provides epicsScanLong and epicsScanULong
to match.
A test file is added to ensure conversions work properly
and report appropriate errors. This file also checks the
native strtod() routine if not used to check whether the
epicsStrtod() code is required on this platform.
Build lexer and parser from libCom/Makefile.
Since libCom now includes asLib.c and asLib_lex.c we must build
antelope and flex without linking them to Com. This works because
they only need epicsTempFile anyway. However make doesn't like a
subdirectory with the same name as a target object, so the antelope
source directory is now called yacc. The two main.c files were also
renamed to avoid other build problems.
Merge asHost into Com and remove mentions in CONFIG_BASE
Lots of noise since SRCS must be renamed to Com_SRCS
The new Makefile fragments in the subdirectories are incomplete and will
not work individually. Build rules are placed in a separate RULES file.
This approach keeps the instructions for building each file local and
easier to find than in a large Makefile in the parent directory.
Each SRC_DIR gets its own Makefile fragment, and where it needs
private build rules a RULES files.
If this pattern gets used elsewhere we could automate the include
lines (search $(SRC_DIRS) for Makefiles and RULES files?).