Boost C++ Libraries: Ticket #3676: Jamfile filesystem lib https://svn.boost.org/trac10/ticket/3676 <p> Hi. </p> <p> Filesystem library depends on system library, so that it would be great if Jamfile for filesystem contains usage-requirement that point to the system library so that it is automatically taken into consideration during linking shared libraries (of course when using boost.build for the own project) </p> <p> Now if one wants to use filesystem library (in case of linking to shared library) one need to link explicitly also system library. </p> <p> If system library is added to usage-requirements (of project or target) in filesystem Jamfile, then one only need to point filesystem as direct dependency and system library will be linked automaticaly based on usage-requirements. </p> <p> It also will cause that install-dependencies feature will work correctly and when install-dependencies is on then it will atomatically install system library for filesystem library users (dependants). </p> <p> I attached two versions of changed Jamfile. One with usage-requirement added to project and one with usage-requirements added to target. Both are good enough and both works. </p> <p> Best Regards. Michal. </p> en-us Boost C++ Libraries /htdocs/site/boost.png https://svn.boost.org/trac10/ticket/3676 Trac 1.4.3 mczernecki@… Thu, 26 Nov 2009 16:59:02 GMT attachment set https://svn.boost.org/trac10/ticket/3676 https://svn.boost.org/trac10/ticket/3676 <ul> <li><strong>attachment</strong> → <span class="trac-field-new">Jamfile_project.v2</span> </li> </ul> Ticket mczernecki@… Thu, 26 Nov 2009 16:59:21 GMT attachment set https://svn.boost.org/trac10/ticket/3676 https://svn.boost.org/trac10/ticket/3676 <ul> <li><strong>attachment</strong> → <span class="trac-field-new">Jamfile_target.v2</span> </li> </ul> Ticket mczernecki@… Thu, 26 Nov 2009 17:14:07 GMT attachment set https://svn.boost.org/trac10/ticket/3676 https://svn.boost.org/trac10/ticket/3676 <ul> <li><strong>attachment</strong> → <span class="trac-field-new">Jamfile_target.2.v2</span> </li> </ul> Ticket Vladimir Prus Sat, 27 Mar 2010 08:01:32 GMT status changed; resolution set https://svn.boost.org/trac10/ticket/3676#comment:1 https://svn.boost.org/trac10/ticket/3676#comment:1 <ul> <li><strong>status</strong> <span class="trac-field-old">new</span> → <span class="trac-field-new">closed</span> </li> <li><strong>resolution</strong> → <span class="trac-field-new">fixed</span> </li> </ul> <p> I believe this was fixed in 1.42, albeit with a slightly different patch. Here's what the current Filesystem Jamfile has to say: </p> <pre class="wiki">lib boost_filesystem : $(SOURCES).cpp ../../system/build//boost_system : &lt;link&gt;shared:&lt;define&gt;BOOST_ALL_DYN_LINK=1 # tell source we're building dll's : : # Boost.Filesystem uses some of Boost.System function in inlined/templated # function, so clients that use Boost.Filesystem will have # direct refenreces to Boost.System systems. On Windows, this means those # clients have to be directly linked to Boost.System. For static linking # this happens anyway, and for shared we need to make it happen. &lt;target-os&gt;windows,&lt;link&gt;shared:&lt;library&gt;../../system/build//boost_system ; </pre> Ticket