*** monotone-0.25/configure.ac.orig Mon Apr 17 12:08:14 2006 --- monotone-0.25/configure.ac Mon Apr 17 12:08:44 2006 *************** *** 471,537 **** AC_CHECK_FUNC(getaddrinfo, [AM_CONDITIONAL(MISSING_GETADDRINFO, false)], [AM_CONDITIONAL(MISSING_GETADDRINFO, true)]) - # Check whether sync_with_stdio(false) run on C++ streams works correctly. - # It causes strange problems (EOF returned too early) on some versions of - # MinGW. - # - # In order to check for this issue, we first generate a large input file - # (over 128KB) and then try to read it (using a buffer size over 512 - # bytes). If the amount of bytes read does not match the generated input, - # the implementation is broken. - AC_MSG_CHECKING(whether C++ streams support sync_with_stdio) - AC_RUN_IFELSE([AC_LANG_SOURCE([ - /* - * Generates the input file. - */ - #include - #include - - int - main(void) - { - std::ofstream ofs("_conftest.dat"); - for (int i = 0; i < 50000; i++) - ofs << "0123456789\r\n"; - ofs.close(); - - return EXIT_SUCCESS; - } - ])]) - AC_RUN_IFELSE([AC_LANG_SOURCE([ - /* - * Reads the input file. - */ - #include - #include - #include - - int - main(int argc, char * argv[]) - { - if (argc == 1) - return EXIT_SUCCESS; - - std::cin.sync_with_stdio(false); - int length = 0; - while (std::cin.good()) - { - char buffer@<:@1024@:>@; - (void)std::cin.read(buffer, sizeof(buffer)); - length += std::cin.gcount(); - } - - return length == 600000 ? EXIT_SUCCESS : EXIT_FAILURE; - } - ])], - [if ./conftest$ac_exeext check_it_now <_conftest.dat; then - AC_MSG_RESULT(yes) AC_DEFINE(SYNC_WITH_STDIO_WORKS, 1, [Define to 1 if sync_with_stdio works fine on C++ streams]) - else - AC_MSG_RESULT(no) - fi - rm -f _conftest.dat]) # allow compiling with different flags/optimisation # for monotone versus libs, useful for testing. --- 471,478 ----