From 2e2d4ce5830ad62ac5ffb68bda87253894a78af0 Mon Sep 17 00:00:00 2001 From: Peter Dimov Date: Fri, 30 Jun 2017 20:57:59 +0300 Subject: [PATCH 01/10] Add address model to auto_link.hpp --- include/boost/config/auto_link.hpp | 25 +++++++++++++++++++++---- 1 file changed, 21 insertions(+), 4 deletions(-) diff --git a/include/boost/config/auto_link.hpp b/include/boost/config/auto_link.hpp index c71e8035..7b79cb37 100644 --- a/include/boost/config/auto_link.hpp +++ b/include/boost/config/auto_link.hpp @@ -45,6 +45,7 @@ BOOST_LIB_PREFIX + BOOST_LIB_TOOLSET + BOOST_LIB_THREAD_OPT + BOOST_LIB_RT_OPT + + BOOST_LIB_ADDRESS_MODEL_OPT "-" + BOOST_LIB_VERSION @@ -69,6 +70,8 @@ BOOST_LIB_RT_OPT: A suffix that indicates the runtime library used, p STLport build. n STLport build without its IOStreams. +BOOST_LIB_ADDRESS_MODEL_OPT: The address model (-32 or -64) + BOOST_LIB_VERSION: The Boost version, in the form x_y, for Boost version x.y. @@ -361,6 +364,16 @@ BOOST_LIB_VERSION: The Boost version, in the form x_y, for Boost version x.y. #endif +// +// BOOST_LIB_ADDRESS_MODEL_OPT +// + +#if defined( _M_IX86 ) +# define BOOST_LIB_ADDRESS_MODEL_OPT "-32" +#elif defined( _M_X64 ) +# define BOOST_LIB_ADDRESS_MODEL_OPT "-64" +#endif + // // select linkage opt: // @@ -380,6 +393,7 @@ BOOST_LIB_VERSION: The Boost version, in the form x_y, for Boost version x.y. && defined(BOOST_LIB_TOOLSET) \ && defined(BOOST_LIB_THREAD_OPT) \ && defined(BOOST_LIB_RT_OPT) \ + && defined(BOOST_LIB_ADDRESS_MODEL_OPT) \ && defined(BOOST_LIB_VERSION) #ifdef BOOST_AUTO_LINK_TAGGED @@ -393,14 +407,14 @@ BOOST_LIB_VERSION: The Boost version, in the form x_y, for Boost version x.y. # pragma message ("Linking to lib file: " BOOST_STRINGIZE(BOOST_LIB_NAME) ".lib") # endif #elif defined(BOOST_LIB_BUILDID) -# pragma comment(lib, BOOST_LIB_PREFIX BOOST_STRINGIZE(BOOST_LIB_NAME) "-" BOOST_LIB_TOOLSET BOOST_LIB_THREAD_OPT BOOST_LIB_RT_OPT "-" BOOST_LIB_VERSION "-" BOOST_STRINGIZE(BOOST_LIB_BUILDID) ".lib") +# pragma comment(lib, BOOST_LIB_PREFIX BOOST_STRINGIZE(BOOST_LIB_NAME) "-" BOOST_LIB_TOOLSET BOOST_LIB_THREAD_OPT BOOST_LIB_RT_OPT BOOST_LIB_ADDRESS_MODEL_OPT "-" BOOST_LIB_VERSION "-" BOOST_STRINGIZE(BOOST_LIB_BUILDID) ".lib") # ifdef BOOST_LIB_DIAGNOSTIC -# pragma message ("Linking to lib file: " BOOST_LIB_PREFIX BOOST_STRINGIZE(BOOST_LIB_NAME) "-" BOOST_LIB_TOOLSET BOOST_LIB_THREAD_OPT BOOST_LIB_RT_OPT "-" BOOST_LIB_VERSION "-" BOOST_STRINGIZE(BOOST_LIB_BUILDID) ".lib") +# pragma message ("Linking to lib file: " BOOST_LIB_PREFIX BOOST_STRINGIZE(BOOST_LIB_NAME) "-" BOOST_LIB_TOOLSET BOOST_LIB_THREAD_OPT BOOST_LIB_RT_OPT BOOST_LIB_ADDRESS_MODEL_OPT "-" BOOST_LIB_VERSION "-" BOOST_STRINGIZE(BOOST_LIB_BUILDID) ".lib") # endif #else -# pragma comment(lib, BOOST_LIB_PREFIX BOOST_STRINGIZE(BOOST_LIB_NAME) "-" BOOST_LIB_TOOLSET BOOST_LIB_THREAD_OPT BOOST_LIB_RT_OPT "-" BOOST_LIB_VERSION ".lib") +# pragma comment(lib, BOOST_LIB_PREFIX BOOST_STRINGIZE(BOOST_LIB_NAME) "-" BOOST_LIB_TOOLSET BOOST_LIB_THREAD_OPT BOOST_LIB_RT_OPT BOOST_LIB_ADDRESS_MODEL_OPT "-" BOOST_LIB_VERSION ".lib") # ifdef BOOST_LIB_DIAGNOSTIC -# pragma message ("Linking to lib file: " BOOST_LIB_PREFIX BOOST_STRINGIZE(BOOST_LIB_NAME) "-" BOOST_LIB_TOOLSET BOOST_LIB_THREAD_OPT BOOST_LIB_RT_OPT "-" BOOST_LIB_VERSION ".lib") +# pragma message ("Linking to lib file: " BOOST_LIB_PREFIX BOOST_STRINGIZE(BOOST_LIB_NAME) "-" BOOST_LIB_TOOLSET BOOST_LIB_THREAD_OPT BOOST_LIB_RT_OPT BOOST_LIB_ADDRESS_MODEL_OPT "-" BOOST_LIB_VERSION ".lib") # endif #endif @@ -431,6 +445,9 @@ BOOST_LIB_VERSION: The Boost version, in the form x_y, for Boost version x.y. #if defined(BOOST_LIB_RT_OPT) # undef BOOST_LIB_RT_OPT #endif +#if defined(BOOST_LIB_ADDRESS_MODEL_OPT) +# undef BOOST_LIB_ADDRESS_MODEL_OPT +#endif #if defined(BOOST_LIB_LINK_OPT) # undef BOOST_LIB_LINK_OPT #endif From 2e3392e00c999a660e91dd875565c6b3e071ba93 Mon Sep 17 00:00:00 2001 From: Peter Dimov Date: Fri, 7 Jul 2017 02:56:46 +0300 Subject: [PATCH 02/10] Use architecture and address model in autolink, instead of just address model --- include/boost/config/auto_link.hpp | 29 +++++++++++++++++------------ 1 file changed, 17 insertions(+), 12 deletions(-) diff --git a/include/boost/config/auto_link.hpp b/include/boost/config/auto_link.hpp index 7b79cb37..271f8379 100644 --- a/include/boost/config/auto_link.hpp +++ b/include/boost/config/auto_link.hpp @@ -45,7 +45,7 @@ BOOST_LIB_PREFIX + BOOST_LIB_TOOLSET + BOOST_LIB_THREAD_OPT + BOOST_LIB_RT_OPT - + BOOST_LIB_ADDRESS_MODEL_OPT + + BOOST_LIB_ARCH_AND_MODEL_OPT "-" + BOOST_LIB_VERSION @@ -70,7 +70,8 @@ BOOST_LIB_RT_OPT: A suffix that indicates the runtime library used, p STLport build. n STLport build without its IOStreams. -BOOST_LIB_ADDRESS_MODEL_OPT: The address model (-32 or -64) +BOOST_LIB_ARCH_AND_MODEL_OPT: The architecture and address model + (-x32 or -x64 for x86/32 and x86/64 respectively) BOOST_LIB_VERSION: The Boost version, in the form x_y, for Boost version x.y. @@ -365,13 +366,17 @@ BOOST_LIB_VERSION: The Boost version, in the form x_y, for Boost version x.y. #endif // -// BOOST_LIB_ADDRESS_MODEL_OPT +// BOOST_LIB_ARCH_AND_MODEL_OPT // #if defined( _M_IX86 ) -# define BOOST_LIB_ADDRESS_MODEL_OPT "-32" +# define BOOST_LIB_ARCH_AND_MODEL_OPT "-x32" #elif defined( _M_X64 ) -# define BOOST_LIB_ADDRESS_MODEL_OPT "-64" +# define BOOST_LIB_ARCH_AND_MODEL_OPT "-x64" +#elif defined( _M_ARM ) +# define BOOST_LIB_ARCH_AND_MODEL_OPT "-a32" +#elif defined( _M_ARM64 ) +# define BOOST_LIB_ARCH_AND_MODEL_OPT "-a64" #endif // @@ -393,7 +398,7 @@ BOOST_LIB_VERSION: The Boost version, in the form x_y, for Boost version x.y. && defined(BOOST_LIB_TOOLSET) \ && defined(BOOST_LIB_THREAD_OPT) \ && defined(BOOST_LIB_RT_OPT) \ - && defined(BOOST_LIB_ADDRESS_MODEL_OPT) \ + && defined(BOOST_LIB_ARCH_AND_MODEL_OPT) \ && defined(BOOST_LIB_VERSION) #ifdef BOOST_AUTO_LINK_TAGGED @@ -407,14 +412,14 @@ BOOST_LIB_VERSION: The Boost version, in the form x_y, for Boost version x.y. # pragma message ("Linking to lib file: " BOOST_STRINGIZE(BOOST_LIB_NAME) ".lib") # endif #elif defined(BOOST_LIB_BUILDID) -# pragma comment(lib, BOOST_LIB_PREFIX BOOST_STRINGIZE(BOOST_LIB_NAME) "-" BOOST_LIB_TOOLSET BOOST_LIB_THREAD_OPT BOOST_LIB_RT_OPT BOOST_LIB_ADDRESS_MODEL_OPT "-" BOOST_LIB_VERSION "-" BOOST_STRINGIZE(BOOST_LIB_BUILDID) ".lib") +# pragma comment(lib, BOOST_LIB_PREFIX BOOST_STRINGIZE(BOOST_LIB_NAME) "-" BOOST_LIB_TOOLSET BOOST_LIB_THREAD_OPT BOOST_LIB_RT_OPT BOOST_LIB_ARCH_AND_MODEL_OPT "-" BOOST_LIB_VERSION "-" BOOST_STRINGIZE(BOOST_LIB_BUILDID) ".lib") # ifdef BOOST_LIB_DIAGNOSTIC -# pragma message ("Linking to lib file: " BOOST_LIB_PREFIX BOOST_STRINGIZE(BOOST_LIB_NAME) "-" BOOST_LIB_TOOLSET BOOST_LIB_THREAD_OPT BOOST_LIB_RT_OPT BOOST_LIB_ADDRESS_MODEL_OPT "-" BOOST_LIB_VERSION "-" BOOST_STRINGIZE(BOOST_LIB_BUILDID) ".lib") +# pragma message ("Linking to lib file: " BOOST_LIB_PREFIX BOOST_STRINGIZE(BOOST_LIB_NAME) "-" BOOST_LIB_TOOLSET BOOST_LIB_THREAD_OPT BOOST_LIB_RT_OPT BOOST_LIB_ARCH_AND_MODEL_OPT "-" BOOST_LIB_VERSION "-" BOOST_STRINGIZE(BOOST_LIB_BUILDID) ".lib") # endif #else -# pragma comment(lib, BOOST_LIB_PREFIX BOOST_STRINGIZE(BOOST_LIB_NAME) "-" BOOST_LIB_TOOLSET BOOST_LIB_THREAD_OPT BOOST_LIB_RT_OPT BOOST_LIB_ADDRESS_MODEL_OPT "-" BOOST_LIB_VERSION ".lib") +# pragma comment(lib, BOOST_LIB_PREFIX BOOST_STRINGIZE(BOOST_LIB_NAME) "-" BOOST_LIB_TOOLSET BOOST_LIB_THREAD_OPT BOOST_LIB_RT_OPT BOOST_LIB_ARCH_AND_MODEL_OPT "-" BOOST_LIB_VERSION ".lib") # ifdef BOOST_LIB_DIAGNOSTIC -# pragma message ("Linking to lib file: " BOOST_LIB_PREFIX BOOST_STRINGIZE(BOOST_LIB_NAME) "-" BOOST_LIB_TOOLSET BOOST_LIB_THREAD_OPT BOOST_LIB_RT_OPT BOOST_LIB_ADDRESS_MODEL_OPT "-" BOOST_LIB_VERSION ".lib") +# pragma message ("Linking to lib file: " BOOST_LIB_PREFIX BOOST_STRINGIZE(BOOST_LIB_NAME) "-" BOOST_LIB_TOOLSET BOOST_LIB_THREAD_OPT BOOST_LIB_RT_OPT BOOST_LIB_ARCH_AND_MODEL_OPT "-" BOOST_LIB_VERSION ".lib") # endif #endif @@ -445,8 +450,8 @@ BOOST_LIB_VERSION: The Boost version, in the form x_y, for Boost version x.y. #if defined(BOOST_LIB_RT_OPT) # undef BOOST_LIB_RT_OPT #endif -#if defined(BOOST_LIB_ADDRESS_MODEL_OPT) -# undef BOOST_LIB_ADDRESS_MODEL_OPT +#if defined(BOOST_LIB_ARCH_AND_MODEL_OPT) +# undef BOOST_LIB_ARCH_AND_MODEL_OPT #endif #if defined(BOOST_LIB_LINK_OPT) # undef BOOST_LIB_LINK_OPT From 4d88edd1e92c354fbc9382bcee76f99f7df136e5 Mon Sep 17 00:00:00 2001 From: Arkady Shapkin Date: Mon, 23 Oct 2017 16:27:48 +0300 Subject: [PATCH 03/10] Update supported MSVC compiler version --- include/boost/config/compiler/visualc.hpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/include/boost/config/compiler/visualc.hpp b/include/boost/config/compiler/visualc.hpp index d23af835..d9465613 100644 --- a/include/boost/config/compiler/visualc.hpp +++ b/include/boost/config/compiler/visualc.hpp @@ -326,7 +326,7 @@ #endif // -// last known and checked version is 19.11.25506 (VC++ 2017.3): +// last known and checked version is 19.11.25547 (VC++ 2017.4): #if (_MSC_VER > 1911) # if defined(BOOST_ASSERT_CONFIG) # error "Boost.Config is older than your current compiler version." From 851508363f6c193374836306048da7cde7882b26 Mon Sep 17 00:00:00 2001 From: Daniel James Date: Sun, 15 Apr 2018 20:53:20 +0100 Subject: [PATCH 04/10] Bump to 1.68.0 --- include/boost/version.hpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/include/boost/version.hpp b/include/boost/version.hpp index e96f3432..967ff285 100644 --- a/include/boost/version.hpp +++ b/include/boost/version.hpp @@ -19,7 +19,7 @@ // BOOST_VERSION / 100 % 1000 is the minor version // BOOST_VERSION / 100000 is the major version -#define BOOST_VERSION 106700 +#define BOOST_VERSION 106800 // // BOOST_LIB_VERSION must be defined to be the same as BOOST_VERSION @@ -27,6 +27,6 @@ // number, y is the minor version number, and z is the patch level if not 0. // This is used by to select which library version to link to. -#define BOOST_LIB_VERSION "1_67" +#define BOOST_LIB_VERSION "1_68" #endif From bae57f50def547163f5e607b4a4be9d81c8e2891 Mon Sep 17 00:00:00 2001 From: jzmaddock Date: Mon, 1 Apr 2019 18:58:26 +0100 Subject: [PATCH 05/10] Update auto linking for --layout=tagged. Fixes: https://github.com/boostorg/config/issues/260 --- include/boost/config/auto_link.hpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/include/boost/config/auto_link.hpp b/include/boost/config/auto_link.hpp index f34353b5..85a037d4 100644 --- a/include/boost/config/auto_link.hpp +++ b/include/boost/config/auto_link.hpp @@ -405,9 +405,9 @@ BOOST_LIB_VERSION: The Boost version, in the form x_y, for Boost version x.y. && defined(BOOST_LIB_VERSION) #ifdef BOOST_AUTO_LINK_TAGGED -# pragma comment(lib, BOOST_LIB_PREFIX BOOST_STRINGIZE(BOOST_LIB_NAME) BOOST_LIB_THREAD_OPT BOOST_LIB_RT_OPT ".lib") +# pragma comment(lib, BOOST_LIB_PREFIX BOOST_STRINGIZE(BOOST_LIB_NAME) BOOST_LIB_THREAD_OPT BOOST_LIB_RT_OPT BOOST_LIB_ARCH_AND_MODEL_OPT ".lib") # ifdef BOOST_LIB_DIAGNOSTIC -# pragma message ("Linking to lib file: " BOOST_LIB_PREFIX BOOST_STRINGIZE(BOOST_LIB_NAME) BOOST_LIB_THREAD_OPT BOOST_LIB_RT_OPT ".lib") +# pragma message ("Linking to lib file: " BOOST_LIB_PREFIX BOOST_STRINGIZE(BOOST_LIB_NAME) BOOST_LIB_THREAD_OPT BOOST_LIB_RT_OPT BOOST_LIB_ARCH_AND_MODEL_OPT ".lib") # endif #elif defined(BOOST_AUTO_LINK_SYSTEM) # pragma comment(lib, BOOST_LIB_PREFIX BOOST_STRINGIZE(BOOST_LIB_NAME) ".lib") From 96abc66a3b3db53b3a4f48b4a9d52e866e0e4fe0 Mon Sep 17 00:00:00 2001 From: Thomas Kent Date: Thu, 4 Apr 2019 18:58:33 -0500 Subject: [PATCH 06/10] vc142 auto lib --- include/boost/config/auto_link.hpp | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/include/boost/config/auto_link.hpp b/include/boost/config/auto_link.hpp index 85a037d4..d0079d9b 100644 --- a/include/boost/config/auto_link.hpp +++ b/include/boost/config/auto_link.hpp @@ -173,11 +173,16 @@ BOOST_LIB_VERSION: The Boost version, in the form x_y, for Boost version x.y. // vc14: # define BOOST_LIB_TOOLSET "vc140" -# elif defined(BOOST_MSVC) +# elif defined(BOOST_MSVC) && (BOOST_MSVC < 1920) // vc14.1: # define BOOST_LIB_TOOLSET "vc141" +# elif defined(BOOST_MSVC) + + // vc14.2: +# define BOOST_LIB_TOOLSET "vc142" + # elif defined(__BORLANDC__) // CBuilder 6: From 0a20a838601916ed947060c00f4fce7bbceb217b Mon Sep 17 00:00:00 2001 From: Marshall Clow Date: Fri, 12 Apr 2019 07:19:54 +0100 Subject: [PATCH 07/10] Bump version to 1.71.0 --- include/boost/version.hpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/include/boost/version.hpp b/include/boost/version.hpp index 98ce61a1..912a59c8 100644 --- a/include/boost/version.hpp +++ b/include/boost/version.hpp @@ -19,7 +19,7 @@ // BOOST_VERSION / 100 % 1000 is the minor version // BOOST_VERSION / 100000 is the major version -#define BOOST_VERSION 107000 +#define BOOST_VERSION 107100 // // BOOST_LIB_VERSION must be defined to be the same as BOOST_VERSION @@ -27,6 +27,6 @@ // number, y is the minor version number, and z is the patch level if not 0. // This is used by to select which library version to link to. -#define BOOST_LIB_VERSION "1_70" +#define BOOST_LIB_VERSION "1_71" #endif From e8d28de5e64aac90b6e351c87b1356de580e4b55 Mon Sep 17 00:00:00 2001 From: Michael Caisse Date: Sat, 31 Aug 2019 13:14:26 -0700 Subject: [PATCH 08/10] bump version for 1.72 --- include/boost/version.hpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/include/boost/version.hpp b/include/boost/version.hpp index 912a59c8..2adc0dfc 100644 --- a/include/boost/version.hpp +++ b/include/boost/version.hpp @@ -19,7 +19,7 @@ // BOOST_VERSION / 100 % 1000 is the minor version // BOOST_VERSION / 100000 is the major version -#define BOOST_VERSION 107100 +#define BOOST_VERSION 107200 // // BOOST_LIB_VERSION must be defined to be the same as BOOST_VERSION @@ -27,6 +27,6 @@ // number, y is the minor version number, and z is the patch level if not 0. // This is used by to select which library version to link to. -#define BOOST_LIB_VERSION "1_71" +#define BOOST_LIB_VERSION "1_72" #endif From e77da9e2ce856bc2d87bf63a93e9dfafb0a12322 Mon Sep 17 00:00:00 2001 From: Peter Dimov Date: Thu, 26 Dec 2019 17:13:16 +0200 Subject: [PATCH 09/10] Update according to latest BoostInstall changes --- CMakeLists.txt | 13 +++---------- 1 file changed, 3 insertions(+), 10 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index bb9f3493..8cbd09a0 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,4 +1,5 @@ # Copyright 2018 Mike Dev +# Copyright 2019 Peter Dimov # 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 # @@ -18,20 +19,12 @@ project(boost_config VERSION "${BOOST_SUPERPROJECT_VERSION}" LANGUAGES CXX) add_library(boost_config INTERFACE) add_library(Boost::config ALIAS boost_config) -set_property(TARGET boost_config PROPERTY EXPORT_NAME config) - -target_include_directories(boost_config - INTERFACE - $ - $ -) +target_include_directories(boost_config INTERFACE include) include(BoostInstall OPTIONAL RESULT_VARIABLE HAVE_BOOST_INSTALL) if(HAVE_BOOST_INSTALL) - install(DIRECTORY include/ DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}") - - boost_install(boost_config) + boost_install(TARGETS boost_config HEADER_DIRECTORY include/) endif() From cc80517d0272b832ddc2be48c5c7408ab12d4af0 Mon Sep 17 00:00:00 2001 From: Peter Dimov Date: Fri, 27 Dec 2019 04:19:00 +0200 Subject: [PATCH 10/10] Disable installation without the superproject; add comments --- CMakeLists.txt | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 8cbd09a0..2cff703d 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -13,7 +13,9 @@ # DO NOT RELY ON THE CONTENTS OF THIS FILE!!! # +# We support CMake 3.5, but prefer 3.16 policies and behavior cmake_minimum_required(VERSION 3.5...3.16) + project(boost_config VERSION "${BOOST_SUPERPROJECT_VERSION}" LANGUAGES CXX) add_library(boost_config INTERFACE) @@ -21,10 +23,12 @@ add_library(Boost::config ALIAS boost_config) target_include_directories(boost_config INTERFACE include) -include(BoostInstall OPTIONAL RESULT_VARIABLE HAVE_BOOST_INSTALL) +# boost_install requires PROJECT_VERSION +# Without the superproject, we don't have any, so skip installation -if(HAVE_BOOST_INSTALL) +if(BOOST_SUPERPROJECT_VERSION) - boost_install(TARGETS boost_config HEADER_DIRECTORY include/) + include(BoostInstall) + boost_install(TARGETS boost_config HEADER_DIRECTORY include/) endif()