-
-
Save DennisOSRM/23c17c4cb0d890f00cb7 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
SET PREFIX=x:\libs18d | |
rem Tested with unpacked archives from | |
rem http://zlib.net/zlib-1.2.8.tar.gz | |
rem http://www.bzip.org/1.0.6/bzip2-1.0.6.tar.gz | |
rem ftp://xmlsoft.org/libxml2/libxml2-sources-2.9.0.tar.gz | |
mkdir %PREFIX% | |
mkdir %PREFIX%\include | |
mkdir %PREFIX%\lib | |
cd bzip2-1.0.6 | |
nmake /f makefile.msc | |
copy /y *.lib %PREFIX%\lib\ | |
copy /y bzlib.h %PREFIX%\include | |
cd .. | |
cd zlib-1.2.8 | |
nmake /f win32/Makefile.msc AS=ml64 | |
copy /y zlib.lib %PREFIX%\lib\ | |
copy /y zlib.h %PREFIX%\include | |
copy /y zconf.h %PREFIX%\include | |
cd .. | |
cd libxml2-2.9.0/win32 | |
cscript.exe configure.js iconv=no prefix=%PREFIX% | |
nmake install | |
cd ..\.. | |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
set PREFIX=d:\libs\boost | |
set src=d:\Build | |
cd boost_1_55_0 | |
call bootstrap.bat | |
bjam toolset=msvc variant=release address-model=64 threading=multi link=static runtime-link=shared --prefix=%PREFIX% -sBZIP2_SOURCE="%src%\bzip2-1.0.6" -sZLIB_SOURCE="%src%\zlib-1.2.8" install | |
cd .. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
SET PREFIX="x:/libs18d" | |
SET BOOST_ROOT="x:/libs18/boost" | |
SET VARIANT=Release | |
set TBB_INSTALL_DIR=x:/tbb | |
set TBB_ARCH_PLATFORM=intel64/vc12 | |
git clone https://github.com/alex85k/Project-OSRM.git Project-OSRM | |
rem git clone https://github.com/DennisOSRM/Project-OSRM Project-OSRM | |
cd Project-OSRM | |
rem MORE STABLE | |
rem git checkout win-april14 | |
rem Most fresh | |
git checkout win-038 | |
rem git checkout develop | |
mkdir build | |
cd build | |
cmake .. -G "NMake Makefiles" -DCMAKE_BUILD_TYPE=%VARIANT% -DBZIP2_INCLUDE_DIR=%PREFIX%/include -DBZIP2_LIBRARIES=%PREFIX%/lib/libbz2.lib -DCMAKE_INSTALL_PREFIX=%PREFIX% -DBOOST_ROOT=%BOOST_ROOT% -DBoost_USE_STATIC_LIBS=ON | |
rem use for debug: | |
rem cmake .. -G "NMake Makefiles" -DCMAKE_BUILD_TYPE=%VARIANT% -DSTXXL_LIBRARY=%PREFIX%/lib/stxxl_debug.lib -DBZIP2_INCLUDE_DIR=%PREFIX%/include -DBZIP2_LIBRARIES=%PREFIX%/lib/libbz2.lib -DCMAKE_INSTALL_PREFIX=%PREFIX% -DBOOST_ROOT=%BOOST_ROOT% -DBoost_USE_STATIC_LIBS=ON | |
nmake | |
cd .. | |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
SET PREFIX="x:/libs18d" | |
SET BOOST_ROOT="x:/libs18/boost" | |
SET VARIANT=Release | |
mkdir %PREFIX% | |
mkdir %PREFIX%\include | |
mkdir %PREFIX%\lib | |
git clone https://github.com/cjh1/protobuf.git | |
cd protobuf | |
cmake -G "NMake Makefiles" -DZLIB_LIBRARY=%PREFIX%/lib/zlib.lib -DZLIB_INCLUDE_DIR=%PREFIX%/include -DCMAKE_BUILD_TYPE=%VARIANT% -DCMAKE_INSTALL_PREFIX=%PREFIX% | |
nmake install | |
mkdir %PREFIX%\include\google | |
xcopy /s /e /y /d src\google %PREFIX%\include\google | |
xcopy /s /e /y /d bin\*.exe %PREFIX%\bin | |
cd .. | |
rem git clone https://github.com/alex85k/OSM-binary.git | |
git clone https://github.com/scrosby/OSM-binary | |
cd OSM-binary | |
cmake -G "NMake Makefiles" -DCMAKE_BUILD_TYPE=%VARIANT% -DCMAKE_INSTALL_PREFIX=%PREFIX% | |
nmake install | |
cd .. | |
git clone https://github.com/LuaDist/lua.git | |
cd lua | |
cmake -G "NMake Makefiles" -DCMAKE_BUILD_TYPE=%VARIANT% -DCMAKE_INSTALL_PREFIX=%PREFIX% | |
nmake install | |
cd .. | |
rem git clone https://github.com/Oberon00/luabind.git | |
git clone https://github.com/rpavlik/luabind.git | |
cd luabind | |
cmake -G "NMake Makefiles" -DBUILD_TESTING=NO -DBOOST_ROOT=%BOOST_ROOT% -DBoost_USE_STATIC_LIBS=ON -DCMAKE_BUILD_TYPE=%VARIANT% -DCMAKE_INSTALL_PREFIX=%PREFIX% | |
nmake install | |
cd .. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
SET PREFIX="x:/libs18d" | |
SET VARIANT=Release | |
rem for older MSVC than VS 2013 | |
rem SET BOOST_ROOT="x:/libs18/boost" | |
rem git clone https://github.com/DennisOSRM/stxxl.git | |
git clone https://github.com/stxxl/stxxl.git | |
cd stxxl | |
mkdir build | |
cd build | |
cmake .. -G "NMake Makefiles" -DCMAKE_BUILD_TYPE=%VARIANT% -DCMAKE_INSTALL_PREFIX=%PREFIX% | |
rem for older MSVC than VS 2013 | |
rem cmake .. -G "NMake Makefiles" -DCMAKE_BUILD_TYPE=%VARIANT% -DCMAKE_INSTALL_PREFIX=%PREFIX% -DBOOST_ROOT=%BOOST_ROOT% -DBoost_USE_STATIC_LIBS=ON | |
nmake install | |
cd .. | |
cd .. | |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
////////////////////////////////////////////////////////////////////////////// | |
// | |
// (C) Copyright Ion Gaztanaga 2011-2013. Distributed under the Boost | |
// Software License, Version 1.0. (See accompanying file | |
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) | |
// | |
// See http://www.boost.org/libs/intrusive for documentation. | |
// | |
////////////////////////////////////////////////////////////////////////////// | |
// sample.h | |
#if !defined(BOOST_PP_IS_ITERATING) | |
#ifndef BOOST_INTRUSIVE_DETAIL_HAS_MEMBER_FUNCTION_CALLABLE_WITH_DETAILS_INCLUDED | |
#define BOOST_INTRUSIVE_DETAIL_HAS_MEMBER_FUNCTION_CALLABLE_WITH_DETAILS_INCLUDED | |
#include <boost/intrusive/detail/config_begin.hpp> | |
#include <boost/intrusive/detail/workaround.hpp> | |
#include <boost/intrusive/detail/preprocessor.hpp> | |
#include <boost/intrusive/detail/mpl.hpp> | |
#include <boost/static_assert.hpp> | |
#include <boost/move/move.hpp> | |
//Mark that we don't support 0 arg calls due to compiler ICE in GCC 3.4/4.0/4.1 and | |
//wrong SFINAE for GCC 4.2/4.3 | |
#if defined(__GNUC__) && !defined(__clang__) && ((__GNUC__*100 + __GNUC_MINOR__*10) >= 340) && ((__GNUC__*100 + __GNUC_MINOR__*10) <= 430) | |
#define BOOST_INTRUSIVE_DETAIL_HAS_MEMBER_FUNCTION_CALLABLE_WITH_0_ARGS_UNSUPPORTED | |
#elif defined(BOOST_INTEL) && (BOOST_INTEL < 1200 ) | |
#define BOOST_INTRUSIVE_DETAIL_HAS_MEMBER_FUNCTION_CALLABLE_WITH_0_ARGS_UNSUPPORTED | |
#endif | |
namespace boost_intrusive_has_member_function_callable_with { | |
struct dont_care | |
{ | |
dont_care(...); | |
}; | |
struct private_type | |
{ | |
static private_type p; | |
private_type const &operator,(int) const; | |
}; | |
typedef char yes_type; // sizeof(yes_type) == 1 | |
struct no_type{ char dummy[2]; }; // sizeof(no_type) == 2 | |
template<typename T> | |
no_type is_private_type(T const &); | |
yes_type is_private_type(private_type const &); | |
} //boost_intrusive_has_member_function_callable_with | |
#include <boost/intrusive/detail/config_end.hpp> | |
#endif //BOOST_INTRUSIVE_DETAIL_HAS_MEMBER_FUNCTION_CALLABLE_WITH_DETAILS_INCLUDED | |
#else //!BOOST_PP_IS_ITERATING | |
#ifndef BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_FUNCNAME | |
#error "BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_FUNCNAME not defined!" | |
#endif | |
#ifndef BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_NS_BEGIN | |
#error "BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_NS_BEGIN not defined!" | |
#endif | |
#ifndef BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_NS_END | |
#error "BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_NS_END not defined!" | |
#endif | |
#if BOOST_PP_ITERATION_START() != 0 | |
#error "BOOST_PP_ITERATION_START() must be zero (0)" | |
#endif | |
#if BOOST_PP_ITERATION() == 0 | |
BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_NS_BEGIN | |
template <typename Type> | |
class BOOST_PP_CAT(has_member_function_named_, BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_FUNCNAME) | |
{ | |
struct BaseMixin | |
{ | |
void BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_FUNCNAME(); | |
}; | |
struct Base : public ::boost::intrusive::detail::remove_cv<Type>::type, public BaseMixin { Base(); }; | |
template <typename T, T t> class Helper{}; | |
template <typename U> | |
static boost_intrusive_has_member_function_callable_with::no_type deduce | |
(U*, Helper<void (BaseMixin::*)(), &U::BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_FUNCNAME>* = 0); | |
static boost_intrusive_has_member_function_callable_with::yes_type deduce(...); | |
public: | |
static const bool value = | |
sizeof(boost_intrusive_has_member_function_callable_with::yes_type) == sizeof(deduce((Base*)(0))); | |
}; | |
#if !defined(BOOST_INTRUSIVE_PERFECT_FORWARDING) | |
template<typename Fun, bool HasFunc | |
BOOST_PP_ENUM_TRAILING(BOOST_PP_ITERATION_FINISH(), BOOST_INTRUSIVE_PP_TEMPLATE_PARAM_VOID_DEFAULT, _)> | |
struct BOOST_PP_CAT(BOOST_PP_CAT(has_member_function_callable_with_, BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_FUNCNAME), _impl); | |
//! | |
template<typename Fun BOOST_PP_ENUM_TRAILING_PARAMS(BOOST_PP_ITERATION_FINISH(), class P)> | |
struct BOOST_PP_CAT(BOOST_PP_CAT(has_member_function_callable_with_, BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_FUNCNAME), _impl) | |
<Fun, false BOOST_PP_ENUM_TRAILING_PARAMS(BOOST_PP_ITERATION_FINISH(), P)> | |
{ | |
static const bool value = false; | |
}; | |
//! | |
#if !defined(_MSC_VER) || (_MSC_VER < 1600) | |
#if defined(BOOST_INTRUSIVE_DETAIL_HAS_MEMBER_FUNCTION_CALLABLE_WITH_0_ARGS_UNSUPPORTED) | |
template<typename Fun> | |
struct BOOST_PP_CAT(BOOST_PP_CAT(has_member_function_callable_with_, BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_FUNCNAME),_impl) | |
<Fun, true BOOST_PP_ENUM_TRAILING(BOOST_PP_SUB(BOOST_PP_ITERATION_FINISH(), BOOST_PP_ITERATION()), BOOST_INTRUSIVE_PP_IDENTITY, void)> | |
{ | |
//Mark that we don't support 0 arg calls due to compiler ICE in GCC 3.4/4.0/4.1 and | |
//wrong SFINAE for GCC 4.2/4.3 | |
static const bool value = true; | |
}; | |
#else //defined(BOOST_INTRUSIVE_DETAIL_HAS_MEMBER_FUNCTION_CALLABLE_WITH_0_ARGS_UNSUPPORTED) | |
//Special case for 0 args | |
template< class F | |
, std::size_t N = | |
sizeof((boost::move_detail::declval<F>(). | |
BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_FUNCNAME (), 0))> | |
struct BOOST_PP_CAT(zeroarg_checker_, BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_FUNCNAME) | |
{ | |
boost_intrusive_has_member_function_callable_with::yes_type dummy; | |
BOOST_PP_CAT(zeroarg_checker_, BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_FUNCNAME)(int); | |
}; | |
//For buggy compilers like MSVC 7.1+ ((F*)0)->func() does not | |
//SFINAE-out the zeroarg_checker_ instantiation but sizeof yields to 0. | |
template<class F> | |
struct BOOST_PP_CAT(zeroarg_checker_, BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_FUNCNAME)<F, 0> | |
{ | |
boost_intrusive_has_member_function_callable_with::no_type dummy; | |
BOOST_PP_CAT(zeroarg_checker_, BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_FUNCNAME)(int); | |
}; | |
template<typename Fun> | |
struct BOOST_PP_CAT(BOOST_PP_CAT(has_member_function_callable_with_, BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_FUNCNAME),_impl) | |
<Fun, true BOOST_PP_ENUM_TRAILING(BOOST_PP_SUB(BOOST_PP_ITERATION_FINISH(), BOOST_PP_ITERATION()), BOOST_INTRUSIVE_PP_IDENTITY, void)> | |
{ | |
template<class U> | |
static BOOST_PP_CAT(zeroarg_checker_, BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_FUNCNAME)<U> | |
Test(BOOST_PP_CAT(zeroarg_checker_, BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_FUNCNAME)<U>*); | |
template <class U> | |
static boost_intrusive_has_member_function_callable_with::no_type Test(...); | |
static const bool value = sizeof(Test< Fun >(0)) | |
== sizeof(boost_intrusive_has_member_function_callable_with::yes_type); | |
}; | |
#endif //defined(BOOST_INTRUSIVE_DETAIL_HAS_MEMBER_FUNCTION_CALLABLE_WITH_0_ARGS_UNSUPPORTED) | |
#else //#if !defined(_MSC_VER) || (_MSC_VER < 1600) | |
template<typename Fun> | |
struct BOOST_PP_CAT(BOOST_PP_CAT(has_member_function_callable_with_, BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_FUNCNAME),_impl) | |
<Fun, true BOOST_PP_ENUM_TRAILING(BOOST_PP_SUB(BOOST_PP_ITERATION_FINISH(), BOOST_PP_ITERATION()), BOOST_INTRUSIVE_PP_IDENTITY, void)> | |
{ | |
template<class U> | |
static decltype( boost::move_detail::declval<Fun>().BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_FUNCNAME() | |
, boost_intrusive_has_member_function_callable_with::yes_type()) | |
Test(Fun*); | |
template<class U> | |
static boost_intrusive_has_member_function_callable_with::no_type Test(...); | |
static const bool value = sizeof(Test<Fun>(0)) | |
== sizeof(boost_intrusive_has_member_function_callable_with::yes_type); | |
}; | |
#endif //#if !defined(_MSC_VER) || (_MSC_VER < 1600) | |
#else //#if !defined(BOOST_INTRUSIVE_PERFECT_FORWARDING) | |
template<typename Fun, bool HasFunc, class ...Args> | |
struct BOOST_PP_CAT(BOOST_PP_CAT(has_member_function_callable_with_, BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_FUNCNAME),_impl); | |
template<typename Fun, class ...Args> | |
struct BOOST_PP_CAT(BOOST_PP_CAT(has_member_function_callable_with_, BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_FUNCNAME),_impl) | |
<Fun, false, Args...> | |
{ | |
static const bool value = false; | |
}; | |
#ifdef BOOST_NO_CXX11_DECLTYPE | |
//Special case for 0 args | |
template< class F | |
, std::size_t N = | |
sizeof((boost::move_detail::declval<F>(). | |
BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_FUNCNAME (), 0))> | |
struct BOOST_PP_CAT(zeroarg_checker_, BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_FUNCNAME) | |
{ | |
boost_intrusive_has_member_function_callable_with::yes_type dummy; | |
BOOST_PP_CAT(zeroarg_checker_, BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_FUNCNAME)(int); | |
}; | |
//For buggy compilers like MSVC 7.1+ ((F*)0)->func() does not | |
//SFINAE-out the zeroarg_checker_ instantiation but sizeof yields to 0. | |
template<class F> | |
struct BOOST_PP_CAT(zeroarg_checker_, BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_FUNCNAME)<F, 0> | |
{ | |
boost_intrusive_has_member_function_callable_with::no_type dummy; | |
BOOST_PP_CAT(zeroarg_checker_, BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_FUNCNAME)(int); | |
}; | |
#endif //#ifdef BOOST_NO_CXX11_DECLTYPE | |
template<typename Fun> | |
struct BOOST_PP_CAT(BOOST_PP_CAT(has_member_function_callable_with_, BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_FUNCNAME),_impl) | |
<Fun, true> | |
{ | |
#ifndef BOOST_NO_CXX11_DECLTYPE | |
template<class U, class V = decltype(boost::move_detail::declval<Fun>().BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_FUNCNAME()) > | |
static boost_intrusive_has_member_function_callable_with::yes_type Test(Fun*); | |
#else | |
template<class U> | |
static BOOST_PP_CAT(zeroarg_checker_, BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_FUNCNAME) | |
<U> Test(BOOST_PP_CAT(zeroarg_checker_, BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_FUNCNAME)<U>*); | |
#endif | |
template <class U> | |
static boost_intrusive_has_member_function_callable_with::no_type Test(...); | |
static const bool value = sizeof(Test< Fun >(0)) | |
== sizeof(boost_intrusive_has_member_function_callable_with::yes_type); | |
}; | |
template<typename Fun, class ...DontCares> | |
struct BOOST_PP_CAT( funwrap_, BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_FUNCNAME ) | |
: Fun | |
{ | |
BOOST_PP_CAT( funwrap_, BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_FUNCNAME )(); | |
using Fun::BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_FUNCNAME; | |
boost_intrusive_has_member_function_callable_with::private_type | |
BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_FUNCNAME | |
( DontCares...) const; | |
}; | |
template<typename Fun, class ...Args> | |
struct BOOST_PP_CAT( BOOST_PP_CAT(has_member_function_callable_with_, BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_FUNCNAME), _impl) | |
<Fun, true , Args...> | |
{ | |
template<class T> | |
struct make_dontcare | |
{ | |
typedef boost_intrusive_has_member_function_callable_with::dont_care type; | |
}; | |
typedef BOOST_PP_CAT( funwrap_, BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_FUNCNAME ) | |
<Fun, typename make_dontcare<Args>::type...> FunWrap; | |
static bool const value = (sizeof(boost_intrusive_has_member_function_callable_with::no_type) == | |
sizeof(boost_intrusive_has_member_function_callable_with::is_private_type | |
( (::boost::move_detail::declval< FunWrap >(). | |
BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_FUNCNAME | |
( ::boost::move_detail::declval<Args>()... ), 0) ) | |
) | |
); | |
}; | |
template<typename Fun, class ...Args> | |
struct BOOST_PP_CAT( has_member_function_callable_with_ | |
, BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_FUNCNAME) | |
: public BOOST_PP_CAT( BOOST_PP_CAT(has_member_function_callable_with_ | |
, BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_FUNCNAME),_impl) | |
< Fun | |
, BOOST_PP_CAT( has_member_function_named_ | |
, BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_FUNCNAME )<Fun>::value | |
, Args... > | |
{}; | |
#endif //#if !defined(BOOST_INTRUSIVE_PERFECT_FORWARDING) | |
BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_NS_END | |
#else //BOOST_PP_ITERATION() == 0 | |
#if !defined(BOOST_INTRUSIVE_PERFECT_FORWARDING) | |
BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_NS_BEGIN | |
template<typename Fun> | |
struct BOOST_PP_CAT( BOOST_PP_CAT(funwrap, BOOST_PP_ITERATION()) | |
, BOOST_PP_CAT(_, BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_FUNCNAME)) | |
: Fun | |
{ | |
BOOST_PP_CAT( BOOST_PP_CAT(funwrap, BOOST_PP_ITERATION()) | |
, BOOST_PP_CAT(_, BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_FUNCNAME))(); | |
using Fun::BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_FUNCNAME; | |
boost_intrusive_has_member_function_callable_with::private_type | |
BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_FUNCNAME | |
( BOOST_PP_ENUM(BOOST_PP_ITERATION() | |
, BOOST_INTRUSIVE_PP_IDENTITY | |
, boost_intrusive_has_member_function_callable_with::dont_care)) const; | |
}; | |
template<typename Fun BOOST_PP_ENUM_TRAILING_PARAMS(BOOST_PP_ITERATION(), class P)> | |
struct BOOST_PP_CAT( BOOST_PP_CAT(has_member_function_callable_with_ | |
, BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_FUNCNAME),_impl) | |
<Fun, true | |
BOOST_PP_ENUM_TRAILING_PARAMS(BOOST_PP_ITERATION(), P) | |
BOOST_PP_ENUM_TRAILING( BOOST_PP_SUB(BOOST_PP_ITERATION_FINISH(), BOOST_PP_ITERATION()) | |
, BOOST_INTRUSIVE_PP_IDENTITY | |
, void)> | |
{ | |
typedef BOOST_PP_CAT( BOOST_PP_CAT(funwrap, BOOST_PP_ITERATION()) | |
, BOOST_PP_CAT(_, BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_FUNCNAME))<Fun> | |
FunWrap; | |
static bool const value = | |
(sizeof(boost_intrusive_has_member_function_callable_with::no_type) == | |
sizeof(boost_intrusive_has_member_function_callable_with::is_private_type | |
( (boost::move_detail::declval<FunWrap>(). | |
BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_FUNCNAME | |
( BOOST_PP_ENUM( BOOST_PP_ITERATION(), BOOST_INTRUSIVE_PP_DECLVAL, _) ), 0 | |
) | |
) | |
) | |
); | |
}; | |
BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_NS_END | |
#endif //#if !defined(BOOST_INTRUSIVE_PERFECT_FORWARDING) | |
#endif //BOOST_PP_ITERATION() == 0 | |
#if BOOST_PP_ITERATION() == BOOST_PP_ITERATION_FINISH() | |
#if !defined(BOOST_INTRUSIVE_PERFECT_FORWARDING) | |
BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_NS_BEGIN | |
template<typename Fun | |
BOOST_PP_ENUM_TRAILING(BOOST_PP_ITERATION_FINISH(), BOOST_INTRUSIVE_PP_TEMPLATE_PARAM_VOID_DEFAULT, _)> | |
struct BOOST_PP_CAT(has_member_function_callable_with_, BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_FUNCNAME) | |
: public BOOST_PP_CAT(BOOST_PP_CAT(has_member_function_callable_with_, BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_FUNCNAME), _impl) | |
<Fun, BOOST_PP_CAT(has_member_function_named_, BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_FUNCNAME)<Fun>::value | |
BOOST_PP_ENUM_TRAILING_PARAMS(BOOST_PP_ITERATION_FINISH(), P) > | |
{}; | |
BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_NS_END | |
#endif //#if !defined(BOOST_INTRUSIVE_PERFECT_FORWARDING) | |
#undef BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_FUNCNAME | |
#undef BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_NS_BEGIN | |
#undef BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_NS_END | |
#endif //#if BOOST_PP_ITERATION() == BOOST_PP_ITERATION_FINISH() | |
#endif //!BOOST_PP_IS_ITERATING |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
diff --git a/tools/CMakeLists.txt b/tools/CMakeLists.txt | |
index 0b7a4b4..ad70a67 100644 | |
--- a/tools/CMakeLists.txt | |
+++ b/tools/CMakeLists.txt | |
@@ -10,18 +10,18 @@ | |
# http://www.boost.org/LICENSE_1_0.txt) | |
############################################################################ | |
-stxxl_build_tool(stxxl_tool | |
- create_files.cpp | |
- benchmark_disks.cpp | |
- benchmark_files.cpp | |
- benchmark_sort.cpp | |
- benchmark_disks_random.cpp | |
- benchmark_pqueue.cpp | |
- mlock.cpp | |
- mallinfo.cpp | |
- ) | |
+#stxxl_build_tool(stxxl_tool | |
+# create_files.cpp | |
+# benchmark_disks.cpp | |
+# benchmark_files.cpp | |
+# benchmark_sort.cpp | |
+# benchmark_disks_random.cpp | |
+# benchmark_pqueue.cpp | |
+# mlock.cpp | |
+# mallinfo.cpp | |
+# ) | |
-install(TARGETS stxxl_tool RUNTIME DESTINATION ${INSTALL_BIN_DIR}) | |
+# install(TARGETS stxxl_tool RUNTIME DESTINATION ${INSTALL_BIN_DIR}) | |
add_subdirectory(benchmarks) | |
add_subdirectory(extras) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment