# Boost Filesystem Library Build Jamfile # (C) Copyright Beman Dawes 2002-2006 # Distributed under the Boost Software License, Version 1.0. # (See accompanying file LICENSE_1_0.txt or www.boost.org/LICENSE_1_0.txt) # See library home page at http://www.boost.org/libs/filesystem project boost/filesystem : source-location .. : usage-requirements # pass these requirement to dependents (i.e. users) shared:BOOST_FILESYSTEM_DYN_LINK=1 ; local disable-filesystem2 = [ MATCH (--disable-filesystem2) : [ modules.peek : ARGV ] ] ; local disable-filesystem3 = [ MATCH (--disable-filesystem3) : [ modules.peek : ARGV ] ] ; if ! $(disable-filesystem2) { if ! $(disable-filesystem3) { SOURCES = v2/src/v2_operations v2/src/v2_path v2/src/v2_portability v3/src/operations v3/src/path v3/src/portability v3/src/windows_file_codecvt v3/src/codecvt_error_category v3/src/path_traits v3/src/unique_path v3/src/utf8_codecvt_facet ; } else { SOURCES = v2/src/v2_operations v2/src/v2_path v2/src/v2_portability v3/src/utf8_codecvt_facet # used by both v2 and v3 ; } } else { SOURCES = v3/src/operations v3/src/path v3/src/portability v3/src/windows_file_codecvt v3/src/codecvt_error_category v3/src/path_traits v3/src/unique_path v3/src/utf8_codecvt_facet ; } lib boost_filesystem : $(SOURCES).cpp ../../system/build//boost_system : shared:BOOST_FILESYSTEM_DYN_LINK=1 # tell source we're building dll's : : # Boost.Filesystem uses some of Boost.System functions in inlined/templated # functions, so clients that use Boost.Filesystem will have direct references # to Boost.System symbols. On Windows, Darwin, and some other platforms, this # means those clients have to be directly linked to Boost.System. For static # linking this happens anyway, but for shared we need to make it happen. Since # doing so is harmless even when not needed, we do it for all platforms. shared:../../system/build//boost_system ; boost-install boost_filesystem ;