# Boost Filesystem Library Build Jamfile # (C) Copyright Beman Dawes 2002-2006 # (C) Copyright Andrey Semashev 2020 # Distributed under the Boost Software License, Version 1.0. # See www.boost.org/LICENSE_1_0.txt # See library home page at http://www.boost.org/libs/filesystem import project ; import configure ; lib bcrypt ; lib advapi32 ; lib coredll ; explicit bcrypt advapi32 coredll ; # The rule checks we're building for Windows and selects crypto API to be used rule select-windows-crypto-api ( properties * ) { local result ; if windows in $(properties) || cygwin in $(properties) { if [ configure.builds ../config//has_bcrypt : $(properties) : "has BCrypt API" ] { result = BOOST_FILESYSTEM_HAS_BCRYPT bcrypt ; } else { result = BOOST_FILESYSTEM_HAS_WINCRYPT ; if [ configure.builds ../config//is_windows_ce : $(properties) : "is Windows CE" ] { result += coredll ; } else { result += advapi32 ; } } } #ECHO Result: $(result) ; return $(result) ; } project boost/filesystem : requirements hpux,gcc:_INCLUDE_STDC__SOURCE_199901 [ check-target-builds ../config//has_stat_st_mtim "has stat::st_mtim" : BOOST_FILESYSTEM_HAS_STAT_ST_MTIM ] [ check-target-builds ../config//has_stat_st_mtimensec "has stat::st_mtimensec" : BOOST_FILESYSTEM_HAS_STAT_ST_MTIMENSEC ] [ check-target-builds ../config//has_stat_st_mtimespec "has stat::st_mtimespec" : BOOST_FILESYSTEM_HAS_STAT_ST_MTIMESPEC ] @select-windows-crypto-api : source-location ../src : usage-requirements # pass these requirement to dependents (i.e. users) shared:BOOST_FILESYSTEM_DYN_LINK=1 static:BOOST_FILESYSTEM_STATIC_LINK=1 ; SOURCES = codecvt_error_category exception directory operations path path_traits portability unique_path utf8_codecvt_facet windows_file_codecvt ; lib boost_filesystem : $(SOURCES).cpp : BOOST_FILESYSTEM_SOURCE ../src shared:BOOST_FILESYSTEM_DYN_LINK=1 static:BOOST_FILESYSTEM_STATIC_LINK=1 : : ; boost-install boost_filesystem ;