The attached patch avoids the error below when compiling on cygwin and goes in now, as I think that it is not controversial.
g++ -DHAVE_CONFIG_H -I. -I../../../src/support -I../../src -I../../../src/support/.. -I../../../boost -Wno-uninitialized -pipe -O2 -MT fontutils.lo -MD -MP -MF .deps/fontutils.Tpo -c ../../../src/support/fontutils.C -o fontutils.o In file included from /usr/lib/gcc/i686-pc-cygwin/3.4.4/include/c++/streambuf:781, from /usr/lib/gcc/i686-pc-cygwin/3.4.4/include/c++/ios:50, from /usr/lib/gcc/i686-pc-cygwin/3.4.4/include/c++/ostream:45, from /usr/lib/gcc/i686-pc-cygwin/3.4.4/include/c++/iterator:71, from ../../../boost/boost/next_prior.hpp:15, from ../../../boost/boost/utility.hpp:16, from ../../../src/support/../support/path.h:15, from ../../../src/support/fontutils.C:30: /usr/lib/gcc/i686-pc-cygwin/3.4.4/include/c++/bits/streambuf.tcc: In member function `virtual std::streamsize std::basic_streambuf<_CharT, _Traits>::xsgetn(_CharT*, std::streamsize)': /usr/lib/gcc/i686-pc-cygwin/3.4.4/include/c++/bits/streambuf.tcc:54: error: expected unqualified-id before '(' token /usr/lib/gcc/i686-pc-cygwin/3.4.4/include/c++/bits/streambuf.tcc: In member function `virtual std::streamsize std::basic_streambuf<_CharT, _Traits>::xsputn(const _CharT*, std::streamsize)': /usr/lib/gcc/i686-pc-cygwin/3.4.4/include/c++/bits/streambuf.tcc:88: error: expected unqualified-id before '(' token In file included from /usr/lib/gcc/i686-pc-cygwin/3.4.4/include/c++/locale:47, from /usr/lib/gcc/i686-pc-cygwin/3.4.4/include/c++/bits/ostream.tcc:40, from /usr/lib/gcc/i686-pc-cygwin/3.4.4/include/c++/ostream:545, from /usr/lib/gcc/i686-pc-cygwin/3.4.4/include/c++/iterator:71, from ../../../boost/boost/next_prior.hpp:15, from ../../../boost/boost/utility.hpp:16, from ../../../src/support/../support/path.h:15, from ../../../src/support/fontutils.C:30: /usr/lib/gcc/i686-pc-cygwin/3.4.4/include/c++/bits/locale_facets.tcc:514:57: macro "min" requires 2 arguments, but only 1 given /usr/lib/gcc/i686-pc-cygwin/3.4.4/include/c++/bits/locale_facets.tcc:563:57: macro "max" requires 2 arguments, but only 1 given In file included from /usr/lib/gcc/i686-pc-cygwin/3.4.4/include/c++/locale:47, from /usr/lib/gcc/i686-pc-cygwin/3.4.4/include/c++/bits/ostream.tcc:40, from /usr/lib/gcc/i686-pc-cygwin/3.4.4/include/c++/ostream:545, from /usr/lib/gcc/i686-pc-cygwin/3.4.4/include/c++/iterator:71, from ../../../boost/boost/next_prior.hpp:15, from ../../../boost/boost/utility.hpp:16, from ../../../src/support/../support/path.h:15, from ../../../src/support/fontutils.C:30: /usr/lib/gcc/i686-pc-cygwin/3.4.4/include/c++/bits/locale_facets.tcc: In member function `_InIter std::time_get<_CharT, _InIter>::_M_extract_name(_InIter, _InIter, int&, const _CharT**, size_t, std::ios_base&, std::_Ios_Iostate&) const': /usr/lib/gcc/i686-pc-cygwin/3.4.4/include/c++/bits/locale_facets.tcc:2056: error: expected unqualified-id before '(' token /usr/lib/gcc/i686-pc-cygwin/3.4.4/include/c++/bits/locale_facets.tcc: In function `bool std::__verify_grouping(const char*, size_t, const std::string&)': /usr/lib/gcc/i686-pc-cygwin/3.4.4/include/c++/bits/locale_facets.tcc:2499: error: expected unqualified-id before '(' token In file included from /usr/lib/gcc/i686-pc-cygwin/3.4.4/include/c++/istream:771, from /usr/lib/gcc/i686-pc-cygwin/3.4.4/include/c++/iterator:72, from ../../../boost/boost/next_prior.hpp:15, from ../../../boost/boost/utility.hpp:16, from ../../../src/support/../support/path.h:15, from ../../../src/support/fontutils.C:30: /usr/lib/gcc/i686-pc-cygwin/3.4.4/include/c++/bits/istream.tcc:146:36: macro "min" requires 2 arguments, but only 1 given /usr/lib/gcc/i686-pc-cygwin/3.4.4/include/c++/bits/istream.tcc:147:46: macro "max" requires 2 arguments, but only 1 given In file included from /usr/lib/gcc/i686-pc-cygwin/3.4.4/include/c++/istream:771, from /usr/lib/gcc/i686-pc-cygwin/3.4.4/include/c++/iterator:72, from ../../../boost/boost/next_prior.hpp:15, from ../../../boost/boost/utility.hpp:16, from ../../../src/support/../support/path.h:15, from ../../../src/support/fontutils.C:30: /usr/lib/gcc/i686-pc-cygwin/3.4.4/include/c++/bits/istream.tcc: In member function `std::basic_istream<_CharT, _Traits>& std::basic_istream<_CharT, _Traits>::operator>>(short int&)': /usr/lib/gcc/i686-pc-cygwin/3.4.4/include/c++/bits/istream.tcc:147: error: ISO C++ forbids comparison between pointer and integer /usr/lib/gcc/i686-pc-cygwin/3.4.4/include/c++/bits/istream.tcc:147: error: ISO C++ forbids comparison between pointer and integer /usr/lib/gcc/i686-pc-cygwin/3.4.4/include/c++/bits/istream.tcc:199:34: macro "min" requires 2 arguments, but only 1 given /usr/lib/gcc/i686-pc-cygwin/3.4.4/include/c++/bits/istream.tcc:200:44: macro "max" requires 2 arguments, but only 1 given /usr/lib/gcc/i686-pc-cygwin/3.4.4/include/c++/bits/istream.tcc: In member function `std::basic_istream<_CharT, _Traits>& std::basic_istream<_CharT, _Traits>::operator>>(int&)': /usr/lib/gcc/i686-pc-cygwin/3.4.4/include/c++/bits/istream.tcc:200: error: ISO C++ forbids comparison between pointer and integer /usr/lib/gcc/i686-pc-cygwin/3.4.4/include/c++/bits/istream.tcc:200: error: ISO C++ forbids comparison between pointer and integer /usr/lib/gcc/i686-pc-cygwin/3.4.4/include/c++/bits/istream.tcc: In member function `std::basic_istream<_CharT, _Traits>& std::basic_istream<_CharT, _Traits>::getline(_CharT*, std::streamsize, _CharT)': /usr/lib/gcc/i686-pc-cygwin/3.4.4/include/c++/bits/istream.tcc:599: error: expected unqualified-id before '(' token /usr/lib/gcc/i686-pc-cygwin/3.4.4/include/c++/bits/istream.tcc:660:51: macro "max" requires 2 arguments, but only 1 given /usr/lib/gcc/i686-pc-cygwin/3.4.4/include/c++/bits/istream.tcc: In member function `std::basic_istream<_CharT, _Traits>& std::basic_istream<_CharT, _Traits>::ignore(std::streamsize, typename _Traits::int_type)': /usr/lib/gcc/i686-pc-cygwin/3.4.4/include/c++/bits/istream.tcc:660: error: ISO C++ forbids comparison between pointer and integer /usr/lib/gcc/i686-pc-cygwin/3.4.4/include/c++/bits/istream.tcc: In member function `std::streamsize std::basic_istream<_CharT, _Traits>::readsome(_CharT*, std::streamsize)': /usr/lib/gcc/i686-pc-cygwin/3.4.4/include/c++/bits/istream.tcc:744: error: expected unqualified-id before '(' token /usr/lib/gcc/i686-pc-cygwin/3.4.4/include/c++/bits/istream.tcc:965:43: macro "max" requires 2 arguments, but only 1 given make[5]: *** [fontutils.lo] Error 1 -- Enrico
Log: Avoid a compilation error on cygwin * src/support/fontutils.C: Undefine the min and max macros after inclusion of windows.h on cygwin.
Index: src/support/fontutils.C =================================================================== --- src/support/fontutils.C (revision 15201) +++ src/support/fontutils.C (working copy) @@ -25,6 +25,10 @@ #if defined(_WIN32) || (defined(__CYGWIN__) && defined(X_DISPLAY_MISSING)) #include "windows.h" +#ifdef __CYGWIN__ +#undef max +#undef min +#endif #include "support/os.h" #include "support/package.h" #include "support/path.h"