Skip to content

Commit

Permalink
Fixed #1038: Bump minimal required Boost to 1.49.0
Browse files Browse the repository at this point in the history
  • Loading branch information
hkaiser committed Jan 5, 2014
1 parent 9d0be1b commit c538823
Show file tree
Hide file tree
Showing 253 changed files with 19 additions and 47,058 deletions.
63 changes: 8 additions & 55 deletions CMakeLists.txt
@@ -1,4 +1,4 @@
# Copyright (c) 2007-2012 Hartmut Kaiser
# Copyright (c) 2007-2014 Hartmut Kaiser
# Copyright (c) 2011-2013 Thomas Heller
# Copyright (c) 2007-2008 Chirag Dekate
# Copyright (c) 2011 Bryce Lelbach
Expand Down Expand Up @@ -96,12 +96,6 @@ endif()
# Boost configuration
################################################################################

# Boost.Chrono is in newer versions of Boost
hpx_option(HPX_INTERNAL_CHRONO BOOL "Use HPX's internal version of Boost.Chrono (default: OFF)" OFF ADVANCED)

# Boost.Move is in newer versions of Boost
hpx_option(HPX_INTERNAL_MOVE BOOL "Use HPX's internal version of Boost.Move (default: OFF)" OFF ADVANCED)

# This cmake module will snag the Boost version we'll be using (which we need
# to know to specify the Boost libraries that we want to look for)
find_package(HPX_BoostVersion)
Expand All @@ -110,8 +104,8 @@ if(NOT BOOST_VERSION_FOUND)
hpx_error("boost" "Failed to locate Boost.")
endif()

if(NOT MSVC AND ${BOOST_MINOR_VERSION} LESS 47)
hpx_warn("boost" "Applications will segfault at shutdown with this version of Boost, please use 1.47.0 or higher.")
if(${BOOST_MINOR_VERSION} LESS 49)
hpx_error("boost" "HPX requires Boost V1.49.0 or higher (current version is: V${BOOST_MAJOR_VERSION}.${BOOST_MINOR_VERSION}.${BOOST_PATCH_VERSION}).")
endif()

###############################################################################
Expand All @@ -124,18 +118,6 @@ set(BOOST_LIBRARIES date_time
system
thread)

# Decide whether to use internal version of Boost.Chrono
if(${BOOST_MINOR_VERSION} LESS 47)
hpx_warn("boost" "Using internal version of Boost.Chrono, setting HPX_INTERNAL_CHRONO=ON.")
set(HPX_INTERNAL_CHRONO ON CACHE BOOL "Use HPX's internal version of Boost.Chrono (default: OFF)" FORCE)
endif()

# Decide whether to use internal version of Boost.Move
if(${BOOST_MINOR_VERSION} LESS 48)
hpx_warn("boost" "Using internal version of Boost.Move, setting HPX_INTERNAL_MOVE=ON.")
set(HPX_INTERNAL_MOVE ON CACHE BOOL "Use HPX's internal version of Boost.Move (default: OFF)" FORCE)
endif()

# Decide whether to use Boost.Context for coroutine implementation
if(${BOOST_MINOR_VERSION} GREATER 50)
set(use_generic_coroutine_context OFF)
Expand All @@ -159,22 +141,12 @@ endif()
################################################################################
hpx_include_directories(${hpx_SOURCE_DIR})
hpx_include_directories(${CMAKE_BINARY_DIR})
if(HPX_INTERNAL_MOVE)
hpx_add_config_define(HPX_INTERNAL_MOVE)
hpx_include_directories(${hpx_SOURCE_DIR}/external/move)
endif()
if(${BOOST_MINOR_VERSION} LESS 53)
hpx_include_directories(${hpx_SOURCE_DIR}/external/atomic)
else()
set(BOOST_LIBRARIES ${BOOST_LIBRARIES} atomic)
endif()
if(HPX_INTERNAL_CHRONO)
hpx_add_config_define(HPX_INTERNAL_CHRONO)
hpx_add_config_define(BOOST_CHRONO_NO_LIB)
hpx_include_directories(${hpx_SOURCE_DIR}/external/chrono)
else()
set(BOOST_LIBRARIES ${BOOST_LIBRARIES} chrono)
endif()
set(BOOST_LIBRARIES ${BOOST_LIBRARIES} chrono)
if(HPX_USE_GENERIC_COROUTINE_CONTEXT)
if(${BOOST_MINOR_VERSION} GREATER 50)
hpx_add_config_define(HPX_HAVE_GENERIC_CONTEXT_COROUTINES)
Expand Down Expand Up @@ -1195,11 +1167,11 @@ else()
hpx_check_for_cxx11_decltype(HPX_HAVE_CXX11_DECLTYPE
DEFINITIONS HPX_HAVE_CXX11_DECLTYPE BOOST_RESULT_OF_USE_DECLTYPE)

hpx_check_for_cxx11_alias_templates(HPX_HAVE_CXX11_ALIAS_TEMPLATES
DEFINITIONS HPX_HAVE_CXX11_ALIAS_TEMPLATES)
hpx_check_for_cxx11_alias_templates(HPX_HAVE_CXX11_ALIAS_TEMPLATES
DEFINITIONS HPX_HAVE_CXX11_ALIAS_TEMPLATES)

hpx_check_for_cxx11_defaulted_deleted_functions(HPX_HAVE_CXX11_DEFAULTED_DELETED_FUNCTIONS
DEFINITIONS HPX_HAVE_CXX11_DEFAULTED_DELETED_FUNCTIONS)
hpx_check_for_cxx11_defaulted_deleted_functions(HPX_HAVE_CXX11_DEFAULTED_DELETED_FUNCTIONS
DEFINITIONS HPX_HAVE_CXX11_DEFAULTED_DELETED_FUNCTIONS)

hpx_check_for_cxx11_std_unique_ptr(HPX_HAVE_CXX11_STD_UNIQUE_PTR
DEFINITIONS HPX_HAVE_CXX11_STD_UNIQUE_PTR
Expand Down Expand Up @@ -1734,25 +1706,6 @@ if(NOT HPX_NO_INSTALL)
PATTERN ".git" EXCLUDE)
endif()

if(HPX_INTERNAL_MOVE)
# Install Boost.Move if requested
install(
DIRECTORY external/move/boost
DESTINATION include
COMPONENT core
FILES_MATCHING PATTERN "*.hpp"
PATTERN ".git" EXCLUDE)
endif()

if(HPX_INTERNAL_CHRONO)
install( # Install Boost.Chrono headers if we're using our internal version
DIRECTORY external/chrono/boost
DESTINATION include/hpx/external
COMPONENT core
FILES_MATCHING PATTERN "*.hpp"
PATTERN ".git" EXCLUDE)
endif()

install(
FILES ${hpx_SOURCE_DIR}/LICENSE_1_0.txt
DESTINATION share/hpx-${HPX_VERSION}
Expand Down
12 changes: 6 additions & 6 deletions docs/tutorial/gettingstarted.qbk
@@ -1,5 +1,5 @@
[/==============================================================================
Copyright (C) 2007-2013 Hartmut Kaiser
Copyright (C) 2007-2014 Hartmut Kaiser
Copyright (C) 2011 Bryce Lelbach
Copyright (C) 2013 Pyry Jahkola
Copyright (C) 2013 Thomas Heller
Expand Down Expand Up @@ -86,9 +86,9 @@ visit __stellar_hpx_buildbot__.
[[__cmake__ ][2.8.4 ][2.8.4 ]]

[[[*Required Libraries]]]
[[__boost_libraries__ ][1.48.0 or newer ][1.47.0 ]
[[__boost_libraries__ ][1.51.0 or newer ][1.49.0 ]
[See below for an important limitation when using Boost V1.54.0.]]
[[__hwloc__ ][1.7 ][1.2 ]
[[__hwloc__ ][1.8 ][1.2 ]
[Used for OS-thread pinning and NUMA awareness.]]
]

Expand All @@ -106,15 +106,15 @@ visit __stellar_hpx_buildbot__.
[[__cmake__ ][2.8.4 ][2.8.4 ]]

[[[*Required Libraries]]]
[[__boost__ ][1.48.0 or newer ][1.43.0 ]]
[[__hwloc__ ][1.7 ][1.5 ]
[[__boost__ ][1.51.0 or newer ][1.49.0 ]]
[[__hwloc__ ][1.8 ][1.5 ]
[Used for OS-thread pinning and NUMA awareness.]]
]

[note You need to build the following Boost libraries for __hpx__:
Boost.DateTime, Boost.Filesystem, Boost.ProgramOptions, Boost.Regex,
Boost.Serialization, Boost.System, Boost.Thread, Boost.Chrono (starting
Boost 1.47.0), and Boost.Atomic (starting Boost 1.53.0).]
Boost 1.49.0), and Boost.Atomic (starting Boost 1.53.0).]

Depending on the options you chose while building and installing __hpx__,
you will find that __hpx__ may depend on several other libraries such as those
Expand Down
36 changes: 0 additions & 36 deletions external/chrono/boost/chrono/ceil.hpp

This file was deleted.

15 changes: 0 additions & 15 deletions external/chrono/boost/chrono/chrono.hpp

This file was deleted.

34 changes: 0 additions & 34 deletions external/chrono/boost/chrono/chrono_io.hpp

This file was deleted.

25 changes: 0 additions & 25 deletions external/chrono/boost/chrono/clock_string.hpp

This file was deleted.

0 comments on commit c538823

Please sign in to comment.