Commit Graph

3109 Commits

Author SHA1 Message Date
Andrew Johnson
97490f6977 Reworking of DLL build rules.
Allows static libraries and DLLs to be built without having
to do a 'make clean' in between on Cygwin and MinGW targets.
The Cygwin build still crashes when SHARED_LIBRARIES = YES
though, loading Com.dll seems to cause the problem.
2012-07-27 16:24:39 -05:00
Andrew Johnson
c23b907eee Reduce the duration of epicsMessageQueueTest to 60 seconds. 2012-07-24 11:29:31 -05:00
Andrew Johnson
4ee3628b2b Move epicsMath.h below epicsExportSharedSymbols 2012-07-24 11:07:09 -05:00
Andrew Johnson
2462ff7eb1 MinGW provides getopt(), don't build our own 2012-07-24 11:05:35 -05:00
Andrew Johnson
3b64840183 Delete remnants of Aix and Borland. 2012-07-20 18:11:15 -05:00
Andrew Johnson
c6aab2390c More fixes for Cygwin builds. 2012-07-20 17:50:59 -05:00
Andrew Johnson
20b3955cd7 More Windows build fixes. 2012-07-19 14:59:55 -05:00
Andrew Johnson
e02aaf5ef9 Various updates for building on Windows/Cygwin/MinGW 2012-07-18 15:35:32 -05:00
Andrew Johnson
4fb697d085 Clean up warnings on Darwin 2012-07-18 12:51:50 -05:00
Andrew Johnson
7f04d825ce Add some missing epicsShareClass decorations.
Also set the gcc-4 visibility attribute in shareLib.h
2012-07-17 23:41:06 -05:00
Andrew Johnson
64c9d7a32a Many tweaks to build on Windows.
There might be some more to come since I'm not committing
this from my Win32 system.
2012-07-17 14:33:31 -05:00
Janet Anderson
cc088e77b6 libCom: Linux osdThread.h needs sys/types.h for pid_t 2012-07-13 10:59:07 -05:00
Andrew Johnson
36d8e674cb Merged changes up to yajl 1.0.12 2012-07-09 13:02:32 -05:00
Andrew Johnson
62727dcba6 Clean up warnings from gcc 4.6.3 2012-07-07 15:54:31 -05:00
Andrew Johnson
2559e1a3b7 Clean up build warnings from clang. 2012-07-07 13:50:55 -05:00
Andrew Johnson
3bfc6dcf64 errlog in tests
Take eltc(0) out of testPlan() and explicitly add it to those tests
that should suppress expected errlog output.
2012-07-06 17:47:56 -05:00
Andrew Johnson
0597f9c1c8 libCom: Fixed issues with thread-hooks. 2012-07-06 16:33:10 -05:00
Andrew Johnson
004826e67a Clean up some warnings. 2012-07-06 14:26:20 -05:00
Andrew Johnson
dda5e60250 libCom/test: Rename test harness as "libComTestHarness" 2012-07-06 14:23:03 -05:00
Andrew Johnson
a942295ead libCom/calc: Support 0x literals as epicsUInt32
Also use epicsInt32 for all integer calculations.
2012-07-06 14:17:51 -05:00
Andrew Johnson
f9bb1ef542 Fix vxWorks build issues from thread-hooks merge. 2012-07-05 13:39:00 -05:00
Andrew Johnson
a857f7a5ed Merged Ralph's thread-hooks branch.
Minor modifications to fix the vxWorks epicsThreadInit() and
rename some functions.
2012-07-04 13:28:55 -05:00
Ralph Lange
137283ec0b libCom/osi: Add default start hook for _main_ thread 2012-07-03 15:27:50 +02:00
Ralph Lange
7b47cad8e4 libCom/osi: Clean up epicsThreadHooks API
- remove exit hooks completely
- remove non-public functions fom header files
- add test for epicsThreadMap
- fix bugs in RTEMS and vxWorks implementation of epicsThreadMap
2012-07-03 14:38:12 +02:00
Ralph Lange
e834832cda libCom/osi: Don't decorate epicsThreadHook functions with epicsShareAPI 2012-07-03 13:20:01 +02:00
Ralph Lange
0e6a01d56a libCom/osi: Streamline epicsThreadShowInfo functions between implementations
- epicsThreadShowInfo: private function to print headers or task line,
  not in header file, using internal pointer type
2012-07-03 11:16:09 +02:00
Ralph Lange
da91893ec2 libCom/test: Add test for epicsThreadHooks 2012-07-02 18:18:54 +02:00
Andrew Johnson
9fe5ce82d3 Merged the db-test branch.
Also made additional changes:
* Simplified xRecord.c so it can run on vxWorks.
* Standard way to load DBD and DB files in tests

All test harnesses now run on vxWorks (but some tests still fail).
2012-07-02 11:03:55 -05:00
Ralph Lange
37e490d1b2 libCom/osi: Make vxWorks implementation of epicsThreadMap() safe and dynamic 2012-07-02 14:21:39 +02:00
Ralph Lange
cfd8c0abde libCom/osi: Fix nesting for epicsThreadHooks, add WIN32 implementation, lock traversal
- call (generic) exit hook after calling the (specific) epicsExitCallAtThreadExits()
- for start hooks added as 1-2-3, run exit hooks in opposite order: 3-2-1
- add calls to hooks module to WIN32 osdThread.c
- add lock/unlock to hook list traversal
2012-07-02 11:31:01 +02:00
Andrew Johnson
da9982f875 libCom: Fix unsigned overflow limits in epicsParse*
The strtoul() routine accepts negative numbers.  This fix
ensures we handle them properly, and adds suitable tests.

Also fix the test for 1e300, in case the compiler gives a
slightly different literal constant than strtod() returns.
2012-06-30 15:34:29 -05:00
Andrew Johnson
fb61234431 Change the epicsParse APIs to return a units pointer.
This lets us use epicsParseDouble() for scan rate parsing.

Ensure the scanOnce thread is a higher priority than the fastest
periodic scan thread, irrespective of how many threads there are.
2012-06-29 14:41:35 -05:00
Ralph Lange
d6648d4473 libCom/osi: Add some copyrights for ITER 2012-06-29 18:12:07 +02:00
Ralph Lange
8c323b2197 libCom/osi: Add epicsThreadMap (calls user function for each thread) 2012-06-29 17:54:38 +02:00
Ralph Lange
1f5376b30b libCom/osi: Add RTEMS and vxWorks implementation for epicsThreadHooks 2012-06-29 14:49:24 +02:00
Ralph Lange
7e9f048433 Add decorations to epicsThreadHooks.c 2012-06-29 11:22:48 +02:00
Ralph Lange
803777329c Cleanup of epicsThread hooks
- move declarations to epicsThread.h, use epicsThreadId type
- use static elllist initializer for static lists
2012-06-29 11:15:47 +02:00
Ralph Lange
222ea314b0 Add thread hooks to epicsThread that are called when a thread starts or exits
- add Linux implementation that
  + sets the system command name to the EPICS thread name
  + retrieves the Linux LWP ID and prints it instead of the posix thread ID
    in show commands
2012-06-28 18:12:26 +02:00
Michael Davidsaver
026307c06d db cleanup
cleanup to allow database re-load
2012-06-28 10:55:44 -04:00
Andrew Johnson
6595ff9518 Clean up some compiler warnings from gcc 4.6 2012-06-26 00:19:10 -05:00
Andrew Johnson
0dc67498ed libCom: Mark epicsStrtod() as extern "C" 2012-06-25 10:39:47 -05:00
Andrew Johnson
44a70cca5a merged server-side-plugins branch 2012-06-22 18:16:26 -05:00
Andrew Johnson
fb6dfe6210 merged remove-hpux-artifacts branch 2012-06-22 17:32:10 -05:00
Andrew Johnson
269fb01c63 libCom: Add routines for parsing strings into epicsTypes
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.
2012-06-22 14:06:52 -05:00
Andrew Johnson
7cae5ebd7b Fixes for build issues found on Darwin. 2012-06-21 17:58:07 -05:00
Andrew Johnson
84a8bacc58 Re-merged the dontcant branch.
Michael backed out a few changes and added some others.
I added some modifications to default/osdMessageQueue.cpp to
remove arguments from a couple of internal (static) functions.
2012-06-19 14:28:26 -05:00
Andrew Johnson
c708bb1bac epicsTypes: Added epicsInt64 and epicsUInt64
With size checks for them in epicsTypesTest.
Also added static checks of type sizes there, since we can.
2012-06-08 16:28:31 -05:00
Andrew Johnson
24e2452bd4 libCom/test: epicsAtomic tests
Added C++ template instances, so this code loads on
a vxWorks 5.5.2 system.
2012-06-07 13:38:11 -05:00
Andrew Johnson
958b40f74c libCom: Silence errlog when running tests
Removes extraneous noise.
2012-06-05 15:53:32 -05:00
Andrew Johnson
2b9d66273c Merged changes from 3.14 branch.
Includes everything up to revno 12343 on 2012-05-21
2012-05-29 16:44:49 -05:00