From mboxrd@z Thu Jan 1 00:00:00 1970 From: =?ISO-8859-1?Q?J=F6rg?= Krause Date: Fri, 11 Dec 2015 16:46:44 +0100 Subject: [Buildroot] [PATCH 3/3] package/boost: add library coroutine2 In-Reply-To: <566AED7B.3060206@imgtec.com> References: <1449842279-22712-1-git-send-email-joerg.krause@embedded.rocks> <1449842279-22712-3-git-send-email-joerg.krause@embedded.rocks> <566AE6EA.9040005@imgtec.com> <20151211163013.1c10a143@free-electrons.com> <566AED7B.3060206@imgtec.com> Message-ID: <1449848804.1950.7.camel@embedded.rocks> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: buildroot@busybox.net Hi Vicente, Hi Thomas, On Fr, 2015-12-11 at 15:36 +0000, Vicente Olivert Riera wrote: > Hi Thomas, > > On 11/12/15 15:30, Thomas Petazzoni wrote: > > Vicente, > > > > On Fri, 11 Dec 2015 15:08:26 +0000, Vicente Olivert Riera wrote: > > > > > I was trying to test your patch and I have noticed that despite > > > of > > > having coroutine2 selected... > > > > > > BR2_PACKAGE_BOOST_COROUTINE2=y > > > > > > ...there isn't any libboost_coroutine2.so file installed on > > > target. Is > > > that normal? > > > > The vast majority of Boost "libraries" are not libraries in the .so > > sense, but purely header based libraries, i.e just a bunch of .h > > with > > very complicated C++ code. > > But there is a libboost_coroutine.so library, that's why I asked. Is > it > expected to have a lib for coroutine and not for coroutine2? That's > my > doubt. The Jamfile for coroutine contains: lib boost_coroutine ????: detail/coroutine_context.cpp ??????exceptions.cpp ??????stack_traits_sources ????: shared:../../context/build//boost_context ??????shared:../../system/build//boost_system ??????shared:../../thread/build//boost_thread ????; While the Jamfile for coroutine2 contains: lib boost_coroutine2 ????: ????: shared:../../context/build//boost_context ????; So, coroutine has some sources to link with, while coroutine2 does not. Also, look at the config.hpp in coroutine2: #if (defined(BOOST_ALL_DYN_LINK) || defined(BOOST_COROUTINES2_DYN_LINK) ) && ! defined(BOOST_COROUTINES2_STATIC_LINK) # if defined(BOOST_COROUTINES2_SOURCE) #??define BOOST_COROUTINES2_DECL BOOST_SYMBOL_EXPORT #??define BOOST_COROUTINES2_BUILD_DLL # else #??define BOOST_COROUTINES2_DECL BOOST_SYMBOL_IMPORT # endif #endif #if ! defined(BOOST_COROUTINES2_DECL) # define BOOST_COROUTINES2_DECL #endif #if ! defined(BOOST_COROUTINES2_SOURCE) && ! defined(BOOST_ALL_NO_LIB) && ! defined(BOOST_COROUTINES2_NO_LIB) # define BOOST_LIB_NAME boost_coroutine # if defined(BOOST_ALL_DYN_LINK) || defined(BOOST_COROUTINES2_DYN_LINK) #??define BOOST_DYN_LINK # endif # include #endif For coroutine a library name is defined, for coroutine2 not. J?rg