[boost] Make Boost.Context support conditional

Petr Machata pmachata at fedoraproject.org
Wed Feb 27 21:38:04 UTC 2013


commit 5605dc87477d9246c2263bd53470f0161d334803
Author: Petr Machata <pmachata at redhat.com>
Date:   Wed Feb 27 22:37:18 2013 +0100

    Make Boost.Context support conditional

 boost.spec |   33 +++++++++++++++++++++++++++++----
 1 files changed, 29 insertions(+), 4 deletions(-)
---
diff --git a/boost.spec b/boost.spec
index 55cb58f..8757c0e 100644
--- a/boost.spec
+++ b/boost.spec
@@ -5,12 +5,12 @@
 %define boost_docdir __tmp_docdir
 %define boost_examplesdir __tmp_examplesdir
 
-# Configuration of MPI back-ends
 %ifarch %{arm}
   %bcond_with mpich2
 %else
   %bcond_without mpich2
 %endif
+
 %ifarch s390 s390x %{arm}
   # No OpenMPI support on these arches
   %bcond_with openmpi
@@ -18,14 +18,23 @@
   %bcond_without openmpi
 %endif
 
-# Configuration of Python 3
+%ifnarch %{ix86} x86_64
+  # Avoid using Boost.Context on non-x86 arches.  s390 is not
+  # supported at all and there were _syntax errors_ in PPC code.  This
+  # should be enabled on a case-by-case basis as the arches are tested
+  # and fixed.
+  %bcond_with context
+%else
+  %bcond_without context
+%endif
+
 %bcond_without python3
 
 Name: boost
 Summary: The free peer-reviewed portable C++ source libraries
 Version: 1.53.0
 %define version_enc 1_53_0
-Release: 3%{?dist}
+Release: 4%{?dist}
 License: Boost and MIT and Python
 
 %define toplev_dirname %{name}_%{version_enc}
@@ -45,7 +54,9 @@ Source2: libboost_thread-mt.so
 # to have interested parties install them explicitly.
 Requires: boost-atomic = %{version}-%{release}
 Requires: boost-chrono = %{version}-%{release}
+%if %{with context}
 Requires: boost-context = %{version}-%{release}
+%endif
 Requires: boost-date-time = %{version}-%{release}
 Requires: boost-filesystem = %{version}-%{release}
 Requires: boost-graph = %{version}-%{release}
@@ -136,6 +147,7 @@ Group: System Environment/Libraries
 
 Run-Time support for Boost.Chrono, a set of useful time utilities.
 
+%if %{with context}
 %package context
 Summary: Run-Time component of boost context switching library
 Group: System Environment/Libraries
@@ -144,6 +156,7 @@ Group: System Environment/Libraries
 
 Run-Time support for Boost.Context, a foundational library that
 provides a sort of cooperative multitasking on a single thread.
+%endif
 
 %package date-time
 Summary: Run-Time component of boost date-time library
@@ -543,6 +556,9 @@ sed 's/%%{version}/%{version}/g' %{SOURCE2} > $(basename %{SOURCE2})
 echo ============================= build serial ==================
 ./b2 -d+2 -q %{?_smp_mflags} --layout=tagged \
 	--without-mpi --without-graph_parallel --build-dir=serial \
+%if !%{with context}
+    	--without-context \
+%endif
 	variant=release threading=single,multi debug-symbols=on pch=off \
 	python=%{python2_version} stage
 
@@ -595,7 +611,6 @@ rm -rf $RPM_BUILD_ROOT
 cd %{_builddir}/%{toplev_dirname}
 
 %if %{with openmpi} || %{with mpich2}
-module list
 # First, purge all modules so that user environment doesn't conflict
 # with the build.
 module purge ||:
@@ -636,6 +651,9 @@ export PATH=/bin${PATH:+:}$PATH
 echo ============================= install serial ==================
 ./b2 -d+2 -q %{?_smp_mflags} --layout=tagged \
 	--without-mpi --without-graph_parallel --build-dir=serial \
+%if !%{with context}
+    	--without-context \
+%endif
 	--prefix=$RPM_BUILD_ROOT%{_prefix} \
 	--libdir=$RPM_BUILD_ROOT%{_libdir} \
 	variant=release threading=single,multi debug-symbols=on pch=off \
@@ -738,9 +756,11 @@ rm -rf $RPM_BUILD_ROOT
 
 %postun chrono -p /sbin/ldconfig
 
+%if %{with context}
 %post context -p /sbin/ldconfig
 
 %postun context -p /sbin/ldconfig
+%endif
 
 %post date-time -p /sbin/ldconfig
 
@@ -826,10 +846,12 @@ rm -rf $RPM_BUILD_ROOT
 %doc LICENSE_1_0.txt
 %{_libdir}/libboost_chrono*.so.%{sonamever}
 
+%if %{with context}
 %files context
 %defattr(-, root, root, -)
 %doc LICENSE_1_0.txt
 %{_libdir}/libboost_context*.so.%{sonamever}
+%endif
 
 %files date-time
 %defattr(-, root, root, -)
@@ -1016,6 +1038,9 @@ rm -rf $RPM_BUILD_ROOT
 %{_mandir}/man1/bjam.1*
 
 %changelog
+* Wed Feb 27 2013 Petr Machata <pmachata at redhat.com> - 1.53.0-4
+- Make Boost.Context support conditional
+
 * Mon Feb 11 2013 Petr Machata <pmachata at redhat.com> - 1.53.0-3
 - Fix Boost.Context on ppc64
 - Future-proof the linker script boost_thread-mt.so


More information about the scm-commits mailing list