[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