Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add support for modular build structure. #2905

Merged
merged 29 commits into from
Sep 1, 2024
Merged

Conversation

grafikrobot
Copy link
Member

@grafikrobot grafikrobot commented Jul 20, 2024

This is part of the effort to make the Boost libraries "modular" for build and consumption. See https://lists.boost.org/Archives/boost/2024/01/255704.php and https://github.com/grafikrobot/boost-b2-modular/blob/b2-modular/README.adoc for more information.

This PR depends on the following other PRs being merged to both develop and master branches of the respective repos:

This PR will be changed to ready for review, i.e. not draft, when the above are merged. Do not merge this one until that time.

@cppalliance-bot
Copy link

An automated preview of the documentation is available at https://2905.beastdocs.prtest.cppalliance.org/libs/beast/doc/html/index.html

@cppalliance-bot
Copy link

An automated preview of the documentation is available at https://2905.beastdocs.prtest.cppalliance.org/libs/beast/doc/html/index.html

@cppalliance-bot
Copy link

An automated preview of the documentation is available at https://2905.beastdocs.prtest.cppalliance.org/libs/beast/doc/html/index.html

@cppalliance-bot
Copy link

An automated preview of the documentation is available at https://2905.beastdocs.prtest.cppalliance.org/libs/beast/doc/html/index.html

@grafikrobot grafikrobot marked this pull request as ready for review August 18, 2024 15:24
@grafikrobot
Copy link
Member Author

Please review and merge this PR at your earliest convenience.

@cppalliance-bot
Copy link

An automated preview of the documentation is available at https://2905.beastdocs.prtest.cppalliance.org/libs/beast/doc/html/index.html

build/Jamfile Show resolved Hide resolved
example/http/client/body/Jamfile Outdated Show resolved Hide resolved
@cppalliance-bot
Copy link

An automated preview of the documentation is available at https://2905.beastdocs.prtest.cppalliance.org/libs/beast/doc/html/index.html

@@ -11,4 +11,5 @@ exe json_client : json_client.cpp
:
<variant>coverage:<build>no
<variant>ubasan:<build>no
<use>/boost/json//boost_json
Copy link
Collaborator

@ashtum ashtum Sep 1, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This still passes -DBOOST_JSON_DYN_LINK=1:

 cl /Zm800 -nologo "json_client.cpp" -c -Fo"..\..\..\..\..\..\bin.v2\libs\beast\example\http\client\body\msvc-14.3\debug\x86_64\threading-multi\json_client.obj"     -TP /wd4675 /EHs /GR /Zc:throwingNew /Z7 /Od /Ob0 /W3 /MDd /Zc:forScope /Zc:wchar_t /Zc:inline /favor:blend /bigobj -DBOOST_ALL_NO_LIB=1 -DBOOST_ASIO_DISABLE_BOOST_ARRAY=1 -DBOOST_ASIO_DISABLE_BOOST_BIND=1 -DBOOST_ASIO_DISABLE_BOOST_DATE_TIME=1 -DBOOST_ASIO_DISABLE_BOOST_REGEX=1 -DBOOST_ASIO_NO_DEPRECATED=1 -DBOOST_ASIO_SEPARATE_COMPILATION -DBOOST_BEAST_ALLOW_DEPRECATED -DBOOST_BEAST_SEPARATE_COMPILATION -DBOOST_COBALT_USE_STD_PMR=1 -DBOOST_CONTAINER_DYN_LINK=1 -DBOOST_CONTAINER_NO_LIB=1 -DBOOST_COROUTINES_NO_DEPRECATION_WARNING=1 -DBOOST_JSON_DYN_LINK=1 -D_CRT_SECURE_NO_WARNINGS=1 -D_SCL_SECURE_NO_WARNINGS -D_SCL_SECURE_NO_WARNINGS=1 -D_SILENCE_CXX17_ADAPTOR_TYPEDEFS_DEPRECATION_WARNING -D_SILENCE_CXX17_ALLOCATOR_VOID_DEPRECATION_WARNING -D_WIN32_WINNT=0x0601 "-I..\..\..\..\..\.." "-I..\..\..\..\..\..\libs\beast" "-IC:\Users\win\Desktop\boost\libs\assert\include" "-IC:\Users\win\Desktop\boost\libs\container\include" "-IC:\Users\win\Desktop\boost\libs\intrusive\include" "-IC:\Users\win\Desktop\boost\libs\move\include"

And the same link errrors:

C:\Users\win\Desktop\boost\boost/json/impl/array.ipp(31): warning C4273: 'empty_': inconsistent dll linkage
C:\Users\win\Desktop\boost\boost/json/array.hpp(96): note: see previous definition of 'empty_'
C:\Users\win\Desktop\boost\boost/json/impl/array.ipp(31): error C2491: 'boost::json::array::empty_': definition of dllimport static data member not allowed
C:\Users\win\Desktop\boost\boost/json/impl/array.ipp(36): warning C4273: 'boost::json::array::table::allocate': inconsistent dll linkage
C:\Users\win\Desktop\boost\boost/json/impl/array.hpp(42): note: see previous definition of 'boost::json::array::table::allocate'
C:\Users\win\Desktop\boost\boost/json/impl/array.ipp(60): warning C4273: 'boost::json::array::table::deallocate': inconsistent dll linkage
C:\Users\win\Desktop\boost\boost/json/impl/array.hpp(49): note: see previous definition of 'boost::json::array::table::deallocate'
C:\Users\win\Desktop\boost\boost/json/impl/array.ipp(76): warning C4273: 'boost::json::array::revert_insert::revert_insert': inconsistent dll linkage
C:\Users\win\Desktop\boost\boost/json/impl/array.hpp(93): note: see previous definition of 'boost::json::array::revert_insert::revert_insert'
C:\Users\win\Desktop\boost\boost/json/impl/array.ipp(128): warning C4273: 'boost::json::array::revert_insert::~revert_insert': inconsistent dll linkage
C:\Users\win\Desktop\boost\boost/json/impl/array.hpp(100): note: see previous definition of 'boost::json::array::revert_insert::~revert_insert'

@ashtum ashtum merged commit 2bda787 into boostorg:develop Sep 1, 2024
45 of 47 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants