Fix detection of availability of {,u}int64_t in glibc headers

This commit is contained in:
Petr Machata 2013-06-26 16:23:18 +02:00
parent b2935ff7ac
commit 43e7bf1610
2 changed files with 33 additions and 1 deletions

View File

@ -0,0 +1,22 @@
diff -up boost/cstdint.hpp\~ boost/cstdint.hpp
--- boost/cstdint.hpp~ 2013-03-07 01:46:19.000000000 +0100
+++ boost/cstdint.hpp 2013-06-25 21:56:25.930276225 +0200
@@ -41,7 +41,15 @@
// so we disable use of stdint.h when GLIBC does not define __GLIBC_HAVE_LONG_LONG.
// See https://svn.boost.org/trac/boost/ticket/3548 and http://sources.redhat.com/bugzilla/show_bug.cgi?id=10990
//
-#if defined(BOOST_HAS_STDINT_H) && (!defined(__GLIBC__) || defined(__GLIBC_HAVE_LONG_LONG))
+// This define has been dropped altogether in GLIBC 2.17. As of then,
+// support for long long is part of baseline requirements, and
+// [u]int64_t is always defined. See here:
+// http://sourceware.org/ml/libc-alpha/2013-01/msg00440.html
+//
+#if defined(BOOST_HAS_STDINT_H) \
+ && (!defined(__GLIBC__) \
+ || defined(__GLIBC_HAVE_LONG_LONG) \
+ || (defined __GLIBC_PREREQ && __GLIBC_PREREQ(2,17)))
// The following #include is an implementation artifact; not part of interface.
# ifdef __hpux
Diff finished. Tue Jun 25 21:56:32 2013

View File

@ -34,7 +34,7 @@ Name: boost
Summary: The free peer-reviewed portable C++ source libraries Summary: The free peer-reviewed portable C++ source libraries
Version: 1.53.0 Version: 1.53.0
%define version_enc 1_53_0 %define version_enc 1_53_0
Release: 6%{?dist} Release: 7%{?dist}
License: Boost and MIT and Python License: Boost and MIT and Python
%define toplev_dirname %{name}_%{version_enc} %define toplev_dirname %{name}_%{version_enc}
@ -115,6 +115,10 @@ Patch15: boost-1.50.0-pool.patch
# https://bugzilla.redhat.com/show_bug.cgi?id=909888 # https://bugzilla.redhat.com/show_bug.cgi?id=909888
Patch16: boost-1.53.0-context.patch Patch16: boost-1.53.0-context.patch
# https://bugzilla.redhat.com/show_bug.cgi?id=977098
# https://svn.boost.org/trac/boost/ticket/8731
Patch17: boost-1.53.0-__GLIBC_HAVE_LONG_LONG.patch
%bcond_with tests %bcond_with tests
%bcond_with docs_generated %bcond_with docs_generated
@ -349,6 +353,7 @@ Summary: The Boost C++ headers and shared development libraries
Group: Development/Libraries Group: Development/Libraries
Requires: boost = %{version}-%{release} Requires: boost = %{version}-%{release}
Provides: boost-python-devel = %{version}-%{release} Provides: boost-python-devel = %{version}-%{release}
Requires: libicu-devel%{?_isa}
%description devel %description devel
Headers and shared object symbolic links for the Boost C++ libraries. Headers and shared object symbolic links for the Boost C++ libraries.
@ -523,6 +528,7 @@ a number of significant features and is now developed independently
%patch10 -p1 %patch10 -p1
%patch15 -p0 %patch15 -p0
%patch16 -p1 %patch16 -p1
%patch17 -p0
# At least python2_version needs to be a macro so that it's visible in # At least python2_version needs to be a macro so that it's visible in
# %%install as well. # %%install as well.
@ -1081,6 +1087,10 @@ rm -rf $RPM_BUILD_ROOT
%{_mandir}/man1/bjam.1* %{_mandir}/man1/bjam.1*
%changelog %changelog
* Wed Jun 26 2013 Petr Machata <pmachata@redhat.com> - 1.53.0-7
- Fix detection of availability of {,u}int64_t in glibc headers.
(boost-1.53.0-__GLIBC_HAVE_LONG_LONG.patch)
* Wed Mar 6 2013 Petr Machata <pmachata@redhat.com> - 1.53.0-6 * Wed Mar 6 2013 Petr Machata <pmachata@redhat.com> - 1.53.0-6
- libboost_context.so must be guarded by conditional in the expanded - libboost_context.so must be guarded by conditional in the expanded
filelist at boost-devel. filelist at boost-devel.