Ticket #4828: boost-1.45.0-aix61-math.patch

File boost-1.45.0-aix61-math.patch, 8.7 KB (added by Michael Haubenwallner <michael.haubenwallner@…>, 12 years ago)

Patch for boost-1.45.0 to avoid duplicate symbols both compile- and link-time on AIX 6.1

  • libs/math/src/tr1

    diff -u libs/math/src/tr1.orig/acoshl.cpp libs/math/src/tr1/acoshl.cpp
    old new  
    1111#include <boost/math/special_functions/acosh.hpp>
    1212#include "c_policy.hpp"
    1313
     14#if !defined(_AIX61)
    1415extern "C" long double BOOST_MATH_TR1_DECL acoshl BOOST_PREVENT_MACRO_SUBSTITUTION(long double x) BOOST_MATH_C99_THROW_SPEC
    1516{
    1617   return c_policies::acosh BOOST_PREVENT_MACRO_SUBSTITUTION(x);
    1718}
     19#endif
    1820
    1921
  • libs/math/src/tr1

    diff -u libs/math/src/tr1.orig/asinhl.cpp libs/math/src/tr1/asinhl.cpp
    old new  
    1111#include <boost/math/special_functions/asinh.hpp>
    1212#include "c_policy.hpp"
    1313
     14#if !defined(_AIX61)
    1415extern "C" long double BOOST_MATH_TR1_DECL asinhl BOOST_PREVENT_MACRO_SUBSTITUTION(long double x) BOOST_MATH_C99_THROW_SPEC
    1516{
    1617   return c_policies::asinh BOOST_PREVENT_MACRO_SUBSTITUTION(x);
    1718}
     19#endif
    1820
    1921
  • libs/math/src/tr1

    diff -u libs/math/src/tr1.orig/atanhl.cpp libs/math/src/tr1/atanhl.cpp
    old new  
    1111#include <boost/math/special_functions/atanh.hpp>
    1212#include "c_policy.hpp"
    1313
     14#if !defined(_AIX61)
    1415extern "C" long double BOOST_MATH_TR1_DECL atanhl BOOST_PREVENT_MACRO_SUBSTITUTION(long double x) BOOST_MATH_C99_THROW_SPEC
    1516{
    1617   return c_policies::atanh BOOST_PREVENT_MACRO_SUBSTITUTION(x);
    1718}
     19#endif
    1820
    1921
  • libs/math/src/tr1

    diff -u libs/math/src/tr1.orig/cbrtl.cpp libs/math/src/tr1/cbrtl.cpp
    old new  
    1111#include <boost/math/special_functions/cbrt.hpp>
    1212#include "c_policy.hpp"
    1313
     14#if !defined(_AIX61)
    1415extern "C" long double BOOST_MATH_TR1_DECL cbrtl BOOST_PREVENT_MACRO_SUBSTITUTION(long double x) BOOST_MATH_C99_THROW_SPEC
    1516{
    1617   return c_policies::cbrt BOOST_PREVENT_MACRO_SUBSTITUTION(x);
    1718}
     19#endif
    1820
    1921
  • libs/math/src/tr1

    diff -u libs/math/src/tr1.orig/copysignl.cpp libs/math/src/tr1/copysignl.cpp
    old new  
    1111#include <boost/math/special_functions/sign.hpp>
    1212#include "c_policy.hpp"
    1313
     14#if !defined(_AIX61)
    1415extern "C" long double BOOST_MATH_TR1_DECL copysignl BOOST_PREVENT_MACRO_SUBSTITUTION(long double x, long double y) BOOST_MATH_C99_THROW_SPEC
    1516{
    1617   return boost::math::copysign BOOST_PREVENT_MACRO_SUBSTITUTION(x, y);
    1718}
     19#endif
    1820
    1921
  • libs/math/src/tr1

    diff -u libs/math/src/tr1.orig/erfcl.cpp libs/math/src/tr1/erfcl.cpp
    old new  
    1111#include <boost/math/special_functions/erf.hpp>
    1212#include "c_policy.hpp"
    1313
     14#if !defined(_AIX61)
    1415extern "C" long double BOOST_MATH_TR1_DECL erfcl BOOST_PREVENT_MACRO_SUBSTITUTION(long double x) BOOST_MATH_C99_THROW_SPEC
    1516{
    1617   return c_policies::erfc BOOST_PREVENT_MACRO_SUBSTITUTION(x);
    1718}
     19#endif
    1820
    1921
  • libs/math/src/tr1

    diff -u libs/math/src/tr1.orig/erfl.cpp libs/math/src/tr1/erfl.cpp
    old new  
    1111#include <boost/math/special_functions/erf.hpp>
    1212#include "c_policy.hpp"
    1313
     14#if !defined(_AIX61)
    1415extern "C" long double BOOST_MATH_TR1_DECL erfl BOOST_PREVENT_MACRO_SUBSTITUTION(long double x) BOOST_MATH_C99_THROW_SPEC
    1516{
    1617   return c_policies::erf BOOST_PREVENT_MACRO_SUBSTITUTION(x);
    1718}
     19#endif
    1820
    1921
  • libs/math/src/tr1

    diff -u libs/math/src/tr1.orig/fmaxl.cpp libs/math/src/tr1/fmaxl.cpp
    old new  
    1111#include <boost/math/special_functions/fpclassify.hpp>
    1212#include "c_policy.hpp"
    1313
     14#if !defined(_AIX61)
    1415extern "C" long double BOOST_MATH_TR1_DECL fmaxl BOOST_PREVENT_MACRO_SUBSTITUTION(long double x, long double y) BOOST_MATH_C99_THROW_SPEC
    1516{
    1617   if((boost::math::isnan)(x))
     
    1920      return x;
    2021   return (std::max)(x, y);
    2122}
     23#endif
    2224
    2325
  • libs/math/src/tr1

    diff -u libs/math/src/tr1.orig/fminl.cpp libs/math/src/tr1/fminl.cpp
    old new  
    1111#include <boost/math/special_functions/fpclassify.hpp>
    1212#include "c_policy.hpp"
    1313
     14#if !defined(_AIX61)
    1415extern "C" long double BOOST_MATH_TR1_DECL fminl BOOST_PREVENT_MACRO_SUBSTITUTION(long double x, long double y) BOOST_MATH_C99_THROW_SPEC
    1516{
    1617   if((boost::math::isnan)(x))
     
    1920      return x;
    2021   return (std::min)(x, y);
    2122}
     23#endif
    2224
    2325
  • libs/math/src/tr1

    diff -u libs/math/src/tr1.orig/hypotl.cpp libs/math/src/tr1/hypotl.cpp
    old new  
    1313
    1414namespace boost{ namespace math{ namespace tr1{
    1515
     16#if !defined(_AIX61)
    1617extern "C" long double BOOST_MATH_TR1_DECL hypotl BOOST_PREVENT_MACRO_SUBSTITUTION(long double x, long double y) BOOST_MATH_C99_THROW_SPEC
    1718{
    1819   return c_policies::hypot BOOST_PREVENT_MACRO_SUBSTITUTION(x, y);
    1920}
     21#endif
    2022
    2123}}}
    2224
  • libs/math/src/tr1

    diff -u libs/math/src/tr1.orig/lgammal.cpp libs/math/src/tr1/lgammal.cpp
    old new  
    1313
    1414namespace boost{ namespace math{ namespace tr1{
    1515
     16#if !defined(_AIX61)
    1617extern "C" long double BOOST_MATH_TR1_DECL lgammal BOOST_PREVENT_MACRO_SUBSTITUTION(long double x) BOOST_MATH_C99_THROW_SPEC
    1718{
    1819   return c_policies::lgamma BOOST_PREVENT_MACRO_SUBSTITUTION(x);
    1920}
     21#endif
    2022
    2123}}}
    2224
  • libs/math/src/tr1

    diff -u libs/math/src/tr1.orig/llroundl.cpp libs/math/src/tr1/llroundl.cpp
    old new  
    1313
    1414namespace boost{ namespace math{ namespace tr1{
    1515
     16#if !defined(_AIX61)
    1617extern "C" boost::long_long_type BOOST_MATH_TR1_DECL llroundl BOOST_PREVENT_MACRO_SUBSTITUTION(long double x) BOOST_MATH_C99_THROW_SPEC
    1718{
    1819   return c_policies::llround BOOST_PREVENT_MACRO_SUBSTITUTION(x);
    1920}
     21#endif
    2022
    2123}}}
    2224
  • libs/math/src/tr1

    diff -u libs/math/src/tr1.orig/lroundl.cpp libs/math/src/tr1/lroundl.cpp
    old new  
    1313
    1414namespace boost{ namespace math{ namespace tr1{
    1515
     16#if !defined(_AIX61)
    1617extern "C" long BOOST_MATH_TR1_DECL lroundl BOOST_PREVENT_MACRO_SUBSTITUTION(long double x) BOOST_MATH_C99_THROW_SPEC
    1718{
    1819   return c_policies::lround BOOST_PREVENT_MACRO_SUBSTITUTION(x);
    1920}
     21#endif
    2022
    2123}}}
    2224
  • libs/math/src/tr1

    diff -u libs/math/src/tr1.orig/nexttowardl.cpp libs/math/src/tr1/nexttowardl.cpp
    old new  
    1313
    1414namespace boost{ namespace math{ namespace tr1{
    1515
     16#if !defined(_AIX61)
    1617extern "C" long double BOOST_MATH_TR1_DECL nexttowardl BOOST_PREVENT_MACRO_SUBSTITUTION(long double x, long double y) BOOST_MATH_C99_THROW_SPEC
    1718{
    1819   return c_policies::nextafter BOOST_PREVENT_MACRO_SUBSTITUTION(x, y);
    1920}
     21#endif
    2022
    2123}}}
    2224
  • libs/math/src/tr1

    diff -u libs/math/src/tr1.orig/roundl.cpp libs/math/src/tr1/roundl.cpp
    old new  
    1313
    1414namespace boost{ namespace math{ namespace tr1{
    1515
     16#if !defined(_AIX61)
    1617extern "C" long double BOOST_MATH_TR1_DECL roundl BOOST_PREVENT_MACRO_SUBSTITUTION(long double x) BOOST_MATH_C99_THROW_SPEC
    1718{
    1819   return c_policies::round BOOST_PREVENT_MACRO_SUBSTITUTION(x);
    1920}
     21#endif
    2022
    2123}}}
    2224
  • libs/math/src/tr1

    diff -u libs/math/src/tr1.orig/tgammal.cpp libs/math/src/tr1/tgammal.cpp
    old new  
    1313
    1414namespace boost{ namespace math{ namespace tr1{
    1515
     16#if !defined(_AIX61)
    1617extern "C" long double BOOST_MATH_TR1_DECL tgammal BOOST_PREVENT_MACRO_SUBSTITUTION(long double x) BOOST_MATH_C99_THROW_SPEC
    1718{
    1819   return c_policies::tgamma BOOST_PREVENT_MACRO_SUBSTITUTION(x);
    1920}
     21#endif
    2022
    2123}}}
    2224
  • libs/math/src/tr1

    diff -u libs/math/src/tr1.orig/truncl.cpp libs/math/src/tr1/truncl.cpp
    old new  
    1313
    1414namespace boost{ namespace math{ namespace tr1{
    1515
     16#if !defined(_AIX61)
    1617extern "C" long double BOOST_MATH_TR1_DECL truncl BOOST_PREVENT_MACRO_SUBSTITUTION(long double x) BOOST_MATH_C99_THROW_SPEC
    1718{
    1819   return c_policies::trunc BOOST_PREVENT_MACRO_SUBSTITUTION(x);
    1920}
     21#endif
    2022
    2123}}}
    2224