dl-fldigi/m4/hash.m4

52 wiersze
2.0 KiB
Plaintext

dnl Look for a working std::hash or std::tr1::hash.
dnl test for gcc ge 4.1
AC_DEFUN([AC_FLDIGI_HASH], [
AC_LANG_PUSH(C++)
KISS interface * New configuration panel 'IO' * Add power density zones. * Query and Set Kiss hardware commands * Support bcast rsid over kiss socket * limit selectable modem options to 8 bit versions only (kiss i/o mode) * Employs simple HDLC encapsulation frame for transmit/receive CRC data verification. * Uses histogram based threshold detection. * Include manual squelch button for KISS op's. * User configurable inhibit transmit on busy frequencies for nn seconds * Impose transmit wait on valid frame reception * Uses dual UDP ports for concurrent operation of programs using the same IP address. * Clears the transmit buffer when data is available for more then 10 mins and has not been transmitted. * Provides ax25 decoding. Code hijacked from the FLDIGI packet modem co - redirect character data display on the RX panel * Add non standard KISS frame to handle ARQ data. - interface can handle both ARQ data and HDLC ax25 frames on the same port. * Squelch related command and control functions to the KISS hardware interface. * User configuration item to disable CSMA from config panel and kiss hardware frame. * Additional KISS command to adjust KPSQL detection gain (for testing). * Removed unused function in sockets.cxx not compatible with LINUX OS. (from John, G8BPQ) * New command 'BUSY:<T|F>' * Custom bindUDP() for UDP support. * Waterfall display gain adjusted based on sample rate changes. * Expanded conditions that indicate BUSY:T on command request. * Log loopback condition to event log. * Restore KPQSL set level position on start up. * Conditionally log of the KISS data path strings * Added debug filter 'KISS control' to event log. * KPSQL threshold button indicator remains ON during transmit inhibit. indication of active 'Busy Channel'. * Added DEBUG Logging command LOG_HEX(const char *buf, int len); D:,... ReadFromHostSocket: ..BUSY:. C0 06 42 55 53 59 3A C0 * Added thread locks to waterfall.cxx: - powerDensity() - peakFreq(), - powerDensityMaximum() These are being accessed by more then one thread. * Swapped hash.m4 swapped test case to std::tr1::hash from std::hash - Updated pskrep.cxx to handle the change in hash.m4 * 8PSK2000 removed. * Coordination merge with branch kiss21. * Code clean up * Updated Documentation. Remove unused png's. * Request from Jim, W2XO: Add log.set_rst_in and log.set_rst_out xmlrpc commands. * Compiler warning pacification (global in scope). * New XMLRPC commands to query and set active IO port. * Documentation update for XMLRPC commands * WSAStartup and WSACleanup one for one issue. * Update Docs for 3.22 release. New png's added.
2014-10-13 12:21:30 +00:00
AC_MSG_CHECKING([for std::hash in <unordered_map>])
AC_COMPILE_IFELSE( [AC_LANG_PROGRAM([[#include <unordered_map>
void f(void) { }]],
[[std::hash<int>()(1);]])],
[ac_cv_std_hash=yes], [ac_cv_std_hash=no] )
AC_MSG_RESULT([$ac_cv_std_hash])
if test "x$ac_cv_std_hash" = "xyes"; then
AC_DEFINE(HAVE_STD_HASH, 1, [Define to 1 if we have std::hash in <unordered_map>])
else
AC_DEFINE(HAVE_STD_HASH, 0, [Define to 0 if we do not have std::hash in <unordered_map>])
fi
if test "x$ac_cv_std_hash" = "xno"; then
AC_MSG_CHECKING([for std::tr1::hash in <tr1/unordered_map>])
AC_COMPILE_IFELSE( [AC_LANG_PROGRAM([[#include <tr1/unordered_map>
void f(void) { }]],
[[std::tr1::hash<int>()(1);]])],
[ac_cv_std_tr1_hash=yes], [ac_cv_std_tr1_hash=no] )
AC_MSG_RESULT([$ac_cv_std_tr1_hash])
if test "x$ac_cv_std_tr1_hash" = "xyes"; then
AC_DEFINE(HAVE_STD_TR1_HASH, 1, [Define to 1 if we have std::tr1::hash in <tr1/unordered_map>])
else
AC_DEFINE(HAVE_STD_TR1_HASH, 0, [Define to 1 if we do not have std::tr1::hash in <tr1/unordered_map>])
fi
fi
if test "x$ac_cv_std_hash" = "xno" && test "x$ac_cv_std_tr1_hash" = "xno"; then
AC_MSG_ERROR([Could not find std::hash or std::tr1::hash])
fi
KISS interface * New configuration panel 'IO' * Add power density zones. * Query and Set Kiss hardware commands * Support bcast rsid over kiss socket * limit selectable modem options to 8 bit versions only (kiss i/o mode) * Employs simple HDLC encapsulation frame for transmit/receive CRC data verification. * Uses histogram based threshold detection. * Include manual squelch button for KISS op's. * User configurable inhibit transmit on busy frequencies for nn seconds * Impose transmit wait on valid frame reception * Uses dual UDP ports for concurrent operation of programs using the same IP address. * Clears the transmit buffer when data is available for more then 10 mins and has not been transmitted. * Provides ax25 decoding. Code hijacked from the FLDIGI packet modem co - redirect character data display on the RX panel * Add non standard KISS frame to handle ARQ data. - interface can handle both ARQ data and HDLC ax25 frames on the same port. * Squelch related command and control functions to the KISS hardware interface. * User configuration item to disable CSMA from config panel and kiss hardware frame. * Additional KISS command to adjust KPSQL detection gain (for testing). * Removed unused function in sockets.cxx not compatible with LINUX OS. (from John, G8BPQ) * New command 'BUSY:<T|F>' * Custom bindUDP() for UDP support. * Waterfall display gain adjusted based on sample rate changes. * Expanded conditions that indicate BUSY:T on command request. * Log loopback condition to event log. * Restore KPQSL set level position on start up. * Conditionally log of the KISS data path strings * Added debug filter 'KISS control' to event log. * KPSQL threshold button indicator remains ON during transmit inhibit. indication of active 'Busy Channel'. * Added DEBUG Logging command LOG_HEX(const char *buf, int len); D:,... ReadFromHostSocket: ..BUSY:. C0 06 42 55 53 59 3A C0 * Added thread locks to waterfall.cxx: - powerDensity() - peakFreq(), - powerDensityMaximum() These are being accessed by more then one thread. * Swapped hash.m4 swapped test case to std::tr1::hash from std::hash - Updated pskrep.cxx to handle the change in hash.m4 * 8PSK2000 removed. * Coordination merge with branch kiss21. * Code clean up * Updated Documentation. Remove unused png's. * Request from Jim, W2XO: Add log.set_rst_in and log.set_rst_out xmlrpc commands. * Compiler warning pacification (global in scope). * New XMLRPC commands to query and set active IO port. * Documentation update for XMLRPC commands * WSAStartup and WSACleanup one for one issue. * Update Docs for 3.22 release. New png's added.
2014-10-13 12:21:30 +00:00
gcc_dver=$(gcc -dumpversion)
gcc_minver=4.1.0
AC_MSG_CHECKING([for gcc version >= $gcc_minver])
AX_COMPARE_VERSION([$gcc_dver], [ge], [$gcc_minver],
[AC_MSG_RESULT([yes ($gcc_dver)])]; GCCVER="ok",
[AC_MSG_RESULT([no ($gcc_dver)])]; GCCVER="bad")
if test "y$GCCVER" = "yok"; then
AC_DEFINE(GCC_VER_OK, 1, [Define to 1 if gcc >= 4.1.0])
else
AC_DEFINE(GCC_VER_OK, 0, [Define to 1 if gcc >= 4.1.0])
fi
KISS interface * New configuration panel 'IO' * Add power density zones. * Query and Set Kiss hardware commands * Support bcast rsid over kiss socket * limit selectable modem options to 8 bit versions only (kiss i/o mode) * Employs simple HDLC encapsulation frame for transmit/receive CRC data verification. * Uses histogram based threshold detection. * Include manual squelch button for KISS op's. * User configurable inhibit transmit on busy frequencies for nn seconds * Impose transmit wait on valid frame reception * Uses dual UDP ports for concurrent operation of programs using the same IP address. * Clears the transmit buffer when data is available for more then 10 mins and has not been transmitted. * Provides ax25 decoding. Code hijacked from the FLDIGI packet modem co - redirect character data display on the RX panel * Add non standard KISS frame to handle ARQ data. - interface can handle both ARQ data and HDLC ax25 frames on the same port. * Squelch related command and control functions to the KISS hardware interface. * User configuration item to disable CSMA from config panel and kiss hardware frame. * Additional KISS command to adjust KPSQL detection gain (for testing). * Removed unused function in sockets.cxx not compatible with LINUX OS. (from John, G8BPQ) * New command 'BUSY:<T|F>' * Custom bindUDP() for UDP support. * Waterfall display gain adjusted based on sample rate changes. * Expanded conditions that indicate BUSY:T on command request. * Log loopback condition to event log. * Restore KPQSL set level position on start up. * Conditionally log of the KISS data path strings * Added debug filter 'KISS control' to event log. * KPSQL threshold button indicator remains ON during transmit inhibit. indication of active 'Busy Channel'. * Added DEBUG Logging command LOG_HEX(const char *buf, int len); D:,... ReadFromHostSocket: ..BUSY:. C0 06 42 55 53 59 3A C0 * Added thread locks to waterfall.cxx: - powerDensity() - peakFreq(), - powerDensityMaximum() These are being accessed by more then one thread. * Swapped hash.m4 swapped test case to std::tr1::hash from std::hash - Updated pskrep.cxx to handle the change in hash.m4 * 8PSK2000 removed. * Coordination merge with branch kiss21. * Code clean up * Updated Documentation. Remove unused png's. * Request from Jim, W2XO: Add log.set_rst_in and log.set_rst_out xmlrpc commands. * Compiler warning pacification (global in scope). * New XMLRPC commands to query and set active IO port. * Documentation update for XMLRPC commands * WSAStartup and WSACleanup one for one issue. * Update Docs for 3.22 release. New png's added.
2014-10-13 12:21:30 +00:00
AC_LANG_POP(C++)
])