diff --git a/configure/os/CONFIG.Common.cygwin-x86 b/configure/os/CONFIG.Common.cygwin-x86 index e537a3869..c2c4bbf16 100644 --- a/configure/os/CONFIG.Common.cygwin-x86 +++ b/configure/os/CONFIG.Common.cygwin-x86 @@ -13,7 +13,11 @@ include $(CONFIG)/os/CONFIG.Common.UnixCommon OS_CLASS = cygwin32 ARCH_CLASS = x86 -# Definitions used when COMMANDLINE_LIBRARY is READLINE +# Link libraries controlled by COMMANDLINE_LIBRARY +# The Cygwin version 1.7.15 needs readline and ncursesw, +# older ones may need readline and curses. +LDLIBS_READLINE_NCURSESW = -lreadline -lncursesw +LDLIBS_READLINE_CURSES = -lreadline -lcurses LDLIBS_READLINE = -lreadline POSIX_CPPFLAGS = -D_POSIX_THREADS -D_POSIX_TIMERS diff --git a/configure/os/CONFIG_SITE.Common.cygwin-x86 b/configure/os/CONFIG_SITE.Common.cygwin-x86 index 1f410b318..8e14db31c 100644 --- a/configure/os/CONFIG_SITE.Common.cygwin-x86 +++ b/configure/os/CONFIG_SITE.Common.cygwin-x86 @@ -5,7 +5,22 @@ # Site Specific definitions for cygwin-x86 target # Only the local epics system manager should modify this file -# If readline is installed uncomment the following line -# to add command-line editing and history support -COMMANDLINE_LIBRARY = READLINE +# Currently the Cygwin build only works without shared libraries. +SHARED_LIBRARIES = NO +STATIC_BUILD = YES + +# Depending on your version of Cygwin you'll want one of the following +# lines to enable command-line editing and history in iocsh. If you're +# not sure which, start with the top one and work downwards until the +# build doesn't fail to link the readline library. If none of them work, +# comment them all out to build without readline support. + +# Needs -lncursesw (Cygwin 1.7): +COMMANDLINE_LIBRARY = READLINE_NCURSESW + +# Needs -lcurses (older versions) +#COMMANDLINE_LIBRARY = READLINE_CURSES + +# No other libraries needed +#COMMANDLINE_LIBRARY = READLINE diff --git a/src/libCom/test/epicsMessageQueueTest.cpp b/src/libCom/test/epicsMessageQueueTest.cpp index c3c86e20a..8069709e4 100644 --- a/src/libCom/test/epicsMessageQueueTest.cpp +++ b/src/libCom/test/epicsMessageQueueTest.cpp @@ -89,7 +89,7 @@ receiver(void *arg) expectmsg[sender-1] = 1; while (!testExit) { cbuf[0] = '\0'; - len = q->receive(cbuf, sizeof cbuf, 2.0); + len = q->receive(cbuf, sizeof cbuf, 5.0); if (len < 0 && !testExit) { testDiag("receiver() received unexpected timeout"); ++errors; @@ -108,7 +108,8 @@ receiver(void *arg) if (expectmsg[sender-1] > 1) testDiag("Sender %d -- %d messages", sender, expectmsg[sender-1]-1); } - testOk1(errors == 0); + if (!testOk1(errors == 0)) + testDiag("error count was %d", errors); epicsEventSignal(finished); } diff --git a/src/std/filters/test/tsTest.c b/src/std/filters/test/tsTest.c index 86b8b680e..42895ac00 100644 --- a/src/std/filters/test/tsTest.c +++ b/src/std/filters/test/tsTest.c @@ -103,8 +103,9 @@ MAIN(tsTest) pfl2 = dbChannelRunPreChain(pch, &fl1); epicsTimeGetCurrent(&now); - testOk(epicsTimeDiffInSeconds(&pfl2->time, &stamp) > 0. && - epicsTimeDiffInSeconds(&now, &pfl2->time) > 0., "ts filter sets time stamp to \"now\""); + testOk(epicsTimeDiffInSeconds(&pfl2->time, &stamp) >= 0 && + epicsTimeDiffInSeconds(&now, &pfl2->time) >= 0, + "ts filter sets time stamp to \"now\""); dbChannelDelete(pch); dbFreeBase(pdbbase);