AC_LANG(C++)
# Checks for libraries.
-##AC_CHECK_LIB(ibrary, main)
AC_CHECK_LIB(boost_thread, main, [],[
AC_MSG_ERROR([boost thread library not found. Install libboost-thread-dev (or similar)])
])
+AC_CHECK_LIB(boost_date_time, main, [],[
+ AC_MSG_ERROR([boost date_time library not found. Install libboost-date-time-dev (or similar)])
+])
+
AC_MSG_CHECKING([for boost_unit_test_framework presence])
OLIBS=$LIBS
LIBS="$LIBS -lboost_unit_test_framework"
##AC_HEADER_SYS_WAIT
##AC_HEADER_TIME
AC_CHECK_HEADERS(iostream list vector stdexcept)
-AC_CHECK_HEADERS(boost/thread/mutex.hpp boost/test/auto_unit_test.hpp)
+AC_CHECK_HEADERS(boost/thread/mutex.hpp \
+ boost/date_time/posix_time/posix_time.hpp \
+ boost/test/auto_unit_test.hpp)
# Checks for typedefs, structures, and compiler characteristics.
##AC_TYPE_SIZE_T
// test session
try {
- //using namespace boost::posix_time;
- //using namespace boost::gregorian;
-
- //get the current time from the clock -- one second resolution
- //boost::posix_time::ptime now = boost::posix_time::second_clock::local_time();
- boost::posix_time::ptime now = boost::posix_time::microsec_clock::local_time();
- //std::cout << to_iso_extended_string(now) << std::endl;
- //std::cout << now << std::endl;
-
- sleep(1);
-
- boost::posix_time::ptime then = boost::posix_time::microsec_clock::local_time();
-
- //std::cout << then << std::endl;
-
- boost::posix_time::time_period period(now, then);
-
- //std::cout << period << std::endl;
-
-
- //Get the date part out of the time
- //date today = now.date();
- //date tommorrow = today + days(1);
- //ptime tommorrow_start(tommorrow); //midnight
-
- //iterator adds by one hour
- //time_iterator titr(now,hours(1));
- //for (; titr < tommorrow_start; ++titr) {
- // std::cout << to_simple_string(*titr) << std::endl;
- //}
-
- //time_duration remaining = tommorrow_start - now;
- //std::cout << "Time left till midnight: "
- // << to_simple_string(remaining) << std::endl;
-
- BOOST_CHECK (1 == 1);
+ boost::posix_time::ptime now
+ = boost::posix_time::microsec_clock::local_time();
+ //std::cout << now << std::endl;
+
+ sleep(1);
+
+ boost::posix_time::ptime then
+ = boost::posix_time::microsec_clock::local_time();
+ //std::cout << then << std::endl;
+
+ boost::posix_time::time_period period(now, then);
+ //std::cout << period << std::endl;
+
+ boost::posix_time::time_duration duration = then - now;
+ //std::cout << duration << std::endl;
+
+ BOOST_CHECK (duration.total_seconds() == 1);
}
catch (std::exception &e) {