Blame rubygem-passenger-4.0.18-GLIBC_HAVE_LONG_LONG.patch

7c62abb
diff -urp passenger-release-4.0.18.orig/ext/boost/cstdint.hpp passenger-release-4.0.18/ext/boost/cstdint.hpp
7c62abb
--- passenger-release-4.0.18.orig/ext/boost/cstdint.hpp	2013-09-17 13:47:54.000000000 -0500
7c62abb
+++ passenger-release-4.0.18/ext/boost/cstdint.hpp	2013-09-23 16:34:02.074450639 -0500
5e8385f
@@ -41,7 +41,15 @@
5e8385f
 // so we disable use of stdint.h when GLIBC does not define __GLIBC_HAVE_LONG_LONG.
5e8385f
 // See https://svn.boost.org/trac/boost/ticket/3548 and http://sources.redhat.com/bugzilla/show_bug.cgi?id=10990
5e8385f
 //
5e8385f
-#if defined(BOOST_HAS_STDINT_H) && (!defined(__GLIBC__) || defined(__GLIBC_HAVE_LONG_LONG))
5e8385f
+// This define has been dropped altogether in GLIBC 2.17.  As of then,
5e8385f
+// support for long long is part of baseline requirements, and
5e8385f
+// [u]int64_t is always defined.  See here:
5e8385f
+// http://sourceware.org/ml/libc-alpha/2013-01/msg00440.html
5e8385f
+//
5e8385f
+#if defined(BOOST_HAS_STDINT_H)					\
5e8385f
+  && (!defined(__GLIBC__)					\
5e8385f
+      || defined(__GLIBC_HAVE_LONG_LONG)			\
5e8385f
+      || (defined __GLIBC_PREREQ && __GLIBC_PREREQ(2,17)))
5e8385f
 
5e8385f
 // The following #include is an implementation artifact; not part of interface.
5e8385f
 # ifdef __hpux
7c62abb
Only in passenger-release-4.0.18/ext/boost: cstdint.hpp.glibc-long