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"

Reply via email to