[pkg-boost-commits] r14339 - in boost/trunk/debian: . patches

smr at alioth.debian.org smr at alioth.debian.org
Wed Dec 3 05:39:45 UTC 2008


Author: smr
Date: 2008-12-03 05:39:36 +0000 (Wed, 03 Dec 2008)
New Revision: 14339

Added:
   boost/trunk/debian/patches/math-c99.patch
Modified:
   boost/trunk/debian/Notes
   boost/trunk/debian/changelog
   boost/trunk/debian/patches/series
   boost/trunk/debian/rules
Log:
Use upstream math-c99.patch to fix the build issues with Boost.Math.
Remove my hacky attempt in math_tools_config.patch and
add-disable-long-double.patch and debian/rules.



Modified: boost/trunk/debian/Notes
===================================================================
--- boost/trunk/debian/Notes	2008-11-26 00:19:39 UTC (rev 14338)
+++ boost/trunk/debian/Notes	2008-12-03 05:39:36 UTC (rev 14339)
@@ -26,6 +26,7 @@
   2465     no	Duplicate of ticket 1615
   2474    yes	(request to merge 2210 to release branch) gcc43-path_name_check.patch
 
+
 	Thread Support
 	--------------
 
@@ -33,7 +34,13 @@
 (policy 10.2).  For the jam-built libraries, use "<define>_REENTRANT"
 on command line in debian/rules.  For graph library, set in Makefile.
 
+The __sync functions are giving problems.  I think that atomic_count.hpp
+is finally patched.  It looks like sp_counted_base.hpp is still a
+problem on m68k.  Revisit the strategy of using DBOOST_SP_USE_PTHREADS 
+for the arches that don't have __sync; upsteam now has a spinlock-based
+default version of sp_counted_base.
 
+
 	Documentation
 	-------------
 

Modified: boost/trunk/debian/changelog
===================================================================
--- boost/trunk/debian/changelog	2008-11-26 00:19:39 UTC (rev 14338)
+++ boost/trunk/debian/changelog	2008-12-03 05:39:36 UTC (rev 14339)
@@ -11,20 +11,14 @@
     atomic_count_sync case since they do not have __sync functions
     (http://gcc.gnu.org/onlinedocs/gcc-4.1.0/gcc/Atomic-Builtins.html).
   
-  * patches/math_tools_config.patch: New.  Define
-    BOOST_MATH_NO_LONG_DOUBLE_MATH_FUNCTIONS for arm, armel, mips, and
-    mipsel, as they all seem to have no log1pl() function.
-  
-  * patches/add-disable-long-double.patch: New.  Add option
-    --disable-long-double which, if specified on the bjam command line,
-    omits the TR1 and C99 long double libraries.  If not specified but
-    BOOST_MATH_NO_LONG_DOUBLE_MATH_FUNCTIONS is defined, we end up with a
-    build failure.
+  * patches/math-c99.patch: New.  Fix detection of long-double math
+    functions such as log1pl() and expm1l().  Upstream changeset 50055.
+
   * rules: Add --disable-long-double for architectures arm, armel, hppa,
     mips, and mipsel.  Exclude math_c99l and math_tr1l from debhelper
     .install files for these arches.
   
- -- Steve M. Robbins <smr at debian.org>  Tue, 18 Nov 2008 03:30:15 -0600
+ -- Steve M. Robbins <smr at debian.org>  Tue, 02 Dec 2008 23:25:32 -0600
 
 boost1.37 (1.37.0-1) unstable; urgency=low
 

Added: boost/trunk/debian/patches/math-c99.patch
===================================================================
--- boost/trunk/debian/patches/math-c99.patch	                        (rev 0)
+++ boost/trunk/debian/patches/math-c99.patch	2008-12-03 05:39:36 UTC (rev 14339)
@@ -0,0 +1,71 @@
+Fix for https://svn.boost.org/trac/boost/ticket/2526
+From https://svn.boost.org/trac/boost/changeset/50055/trunk/boost
+
+
+--- boost1.37-1.37.0.orig/boost/math/special_functions/expm1.hpp
++++ boost1.37-1.37.0/boost/math/special_functions/expm1.hpp
+@@ -233,7 +233,7 @@
+ #endif
+ 
+ #if defined(BOOST_HAS_EXPM1) && !(defined(__osf__) && defined(__DECCXX_VER))
+-#  if defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 199901)
++#  ifdef BOOST_MATH_USE_C99
+ inline float expm1(float x, const policies::policy<>&){ return ::expm1f(x); }
+ inline long double expm1(long double x, const policies::policy<>&){ return ::expm1l(x); }
+ #else
+--- boost1.37-1.37.0.orig/boost/math/special_functions/fpclassify.hpp
++++ boost1.37-1.37.0/boost/math/special_functions/fpclassify.hpp
+@@ -165,7 +165,9 @@
+ {
+    return BOOST_FPCLASSIFY_PREFIX fpclassify(t);
+ }
+-#if !defined(__CYGWIN__) && !defined(__HP_aCC) && !defined(BOOST_INTEL) && !defined(BOOST_NO_NATIVE_LONG_DOUBLE_FP_CLASSIFY)
++#if !defined(__CYGWIN__) && !defined(__HP_aCC) && !defined(BOOST_INTEL) \
++   && !defined(BOOST_NO_NATIVE_LONG_DOUBLE_FP_CLASSIFY) \
++   && !(defined(__GNUC__) && !defined(BOOST_MATH_USE_C99))
+ // The native fpclassify broken for long doubles with aCC
+ // use portable one instead....
+ inline int fpclassify BOOST_NO_MACRO_EXPAND(long double t)
+--- boost1.37-1.37.0.orig/boost/math/special_functions/log1p.hpp
++++ boost1.37-1.37.0/boost/math/special_functions/log1p.hpp
+@@ -316,9 +316,7 @@
+ #endif
+ 
+ #if defined(BOOST_HAS_LOG1P) && !(defined(__osf__) && defined(__DECCXX_VER))
+-#  if (defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 199901)) \
+-   || ((defined(linux) || defined(__linux) || defined(__linux__)) && !defined(__SUNPRO_CC)) \
+-   || (defined(__hpux) && !defined(__hppa))
++#  ifdef BOOST_MATH_USE_C99
+ template <class Policy>
+ inline float log1p(float x, const Policy& pol)
+ { 
+--- boost1.37-1.37.0.orig/boost/math/tools/config.hpp
++++ boost1.37-1.37.0/boost/math/tools/config.hpp
+@@ -70,6 +70,18 @@
+ #  define BOOST_MATH_NO_DEDUCED_FUNCTION_POINTERS
+ #endif
+ 
++#if (defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 199901))
++#  define BOOST_MATH_USE_C99
++#endif
++
++#if (defined(__hpux) && !defined(__hppa))
++#  define BOOST_MATH_USE_C99
++#endif
++
++#if defined(__GNUC__) && defined(_GLIBCXX_USE_C99)
++#  define BOOST_MATH_USE_C99
++#endif
++
+ #if defined(BOOST_NO_EXPLICIT_FUNCTION_TEMPLATE_ARGUMENTS) || BOOST_WORKAROUND(__SUNPRO_CC, <= 0x590)
+ 
+ #  include "boost/type.hpp"
+@@ -219,7 +231,7 @@
+ } // namespace tools
+ }} // namespace boost namespace math
+ 
+-#ifdef __linux__
++#if defined(__linux__) || defined(__QNX__) || defined(__IBMCPP__)
+ 
+    #include <fenv.h>
+ 

Modified: boost/trunk/debian/patches/series
===================================================================
--- boost/trunk/debian/patches/series	2008-11-26 00:19:39 UTC (rev 14338)
+++ boost/trunk/debian/patches/series	2008-12-03 05:39:36 UTC (rev 14339)
@@ -1,6 +1,5 @@
+math-c99.patch
 atomic_count.patch
-math_tools_config.patch
-add-disable-long-double.patch
 atomic_count_gcc.patch
 jam-hardening.patch
 endian.patch

Modified: boost/trunk/debian/rules
===================================================================
--- boost/trunk/debian/rules	2008-11-26 00:19:39 UTC (rev 14338)
+++ boost/trunk/debian/rules	2008-12-03 05:39:36 UTC (rev 14339)
@@ -27,8 +27,7 @@
 	thread wave
 
 # these are special cases, where shared library has not the same name of the Boost library
-boost_lib_math := math_c99 math_c99f math_tr1 math_tr1f
-boost_lib_math_long_double := math_c99l math_tr1l
+boost_lib_math := math_c99 math_c99f math_c99l math_tr1 math_tr1f math_tr1l
 boost_lib_serialization := serialization wserialization
 boost_lib_test := prg_exec_monitor unit_test_framework
 
@@ -128,32 +127,18 @@
 		) \
 	)
 
-BUILD_LONG_DOUBLE = yes
-
 TOOLSET_CONFIG="using gcc : : : <compileflags>-D_REENTRANT ;"
+
 ifeq ($(DEB_BUILD_ARCH), hppa)
 TOOLSET_CONFIG="using gcc : : : <compileflags>-D_REENTRANT <compileflags>-mlong-calls <compileflags>-DBOOST_SP_USE_PTHREADS ;"
-BUILD_LONG_DOUBLE = no
 else ifeq ($(DEB_BUILD_ARCH), sparc)
 TOOLSET_CONFIG="using gcc : : : <compileflags>-D_REENTRANT <compileflags>-DBOOST_SP_USE_PTHREADS ;"
 else ifeq ($(DEB_BUILD_ARCH), arm)
 TOOLSET_CONFIG="using gcc : : : <compileflags>-D_REENTRANT <compileflags>-DBOOST_SP_USE_PTHREADS ;"
-BUILD_LONG_DOUBLE = no
 else ifeq ($(DEB_BUILD_ARCH), armel)
 TOOLSET_CONFIG="using gcc : : : <compileflags>-D_REENTRANT <compileflags>-DBOOST_SP_USE_PTHREADS ;"
-BUILD_LONG_DOUBLE = no
-else ifeq ($(DEB_BUILD_ARCH), mips)
-BUILD_LONG_DOUBLE = no
-else ifeq ($(DEB_BUILD_ARCH), mipsel)
-BUILD_LONG_DOUBLE = no
 endif
 
-ifeq ($(BUILD_LONG_DOUBLE), yes)
-boost_lib_math += $(boost_lib_math_long_double)
-else
-JAM_OPT += --disable-long-double
-endif
-
 PYTHON_CONFIG1 = "using python : 2.4 : /usr ;"
 PYTHON_CONFIG2 = "using python : 2.5 : /usr ;"
 
@@ -163,7 +148,7 @@
 bjam = $(CURDIR)/tools/jam/src/bjam
 
 # FIXME: find a flag to disable reading /etc/site-config.jam
-JAM = $(bjam) $(JOBS) -d2 $(JAM_OPT) --user-config=$(CURDIR)/user-config.jam -sHAVE_ICU=1 debug-symbols=on
+JAM = $(bjam) $(JOBS) -d2 --user-config=$(CURDIR)/user-config.jam -sHAVE_ICU=1 debug-symbols=on
 jam_variants = variant=release,debug threading=multi link=shared,static
 
 $(bjam):




More information about the pkg-boost-commits mailing list