| # 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 <target-os>windows in $(properties) || <target-os>cygwin in $(properties) |
| { |
| if [ configure.builds ../config//has_bcrypt : $(properties) : "has BCrypt API" ] |
| { |
| result = <define>BOOST_FILESYSTEM_HAS_BCRYPT <library>bcrypt ; |
| } |
| else |
| { |
| result = <define>BOOST_FILESYSTEM_HAS_WINCRYPT ; |
| if [ configure.builds ../config//is_windows_ce : $(properties) : "is Windows CE" ] |
| { |
| result += <library>coredll ; |
| } |
| else |
| { |
| result += <library>advapi32 ; |
| } |
| } |
| } |
| |
| #ECHO Result: $(result) ; |
| return $(result) ; |
| } |
| |
| project boost/filesystem |
| : requirements |
| <host-os>hpux,<toolset>gcc:<define>_INCLUDE_STDC__SOURCE_199901 |
| [ check-target-builds ../config//has_stat_st_mtim "has stat::st_mtim" : <define>BOOST_FILESYSTEM_HAS_STAT_ST_MTIM ] |
| [ check-target-builds ../config//has_stat_st_mtimensec "has stat::st_mtimensec" : <define>BOOST_FILESYSTEM_HAS_STAT_ST_MTIMENSEC ] |
| [ check-target-builds ../config//has_stat_st_mtimespec "has stat::st_mtimespec" : <define>BOOST_FILESYSTEM_HAS_STAT_ST_MTIMESPEC ] |
| [ check-target-builds ../config//has_stat_st_birthtim "has stat::st_birthtim" : <define>BOOST_FILESYSTEM_HAS_STAT_ST_BIRTHTIM ] |
| [ check-target-builds ../config//has_stat_st_birthtimensec "has stat::st_birthtimensec" : <define>BOOST_FILESYSTEM_HAS_STAT_ST_BIRTHTIMENSEC ] |
| [ check-target-builds ../config//has_stat_st_birthtimespec "has stat::st_birthtimespec" : <define>BOOST_FILESYSTEM_HAS_STAT_ST_BIRTHTIMESPEC ] |
| [ check-target-builds ../config//has_statx "has statx" : <define>BOOST_FILESYSTEM_HAS_STATX ] |
| [ check-target-builds ../config//has_statx_syscall "has statx syscall" : <define>BOOST_FILESYSTEM_HAS_STATX_SYSCALL ] |
| <conditional>@select-windows-crypto-api |
| : source-location ../src |
| : usage-requirements # pass these requirement to dependents (i.e. users) |
| <link>shared:<define>BOOST_FILESYSTEM_DYN_LINK=1 |
| <link>static:<define>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 |
| : <define>BOOST_FILESYSTEM_SOURCE |
| <include>../src |
| <link>shared:<define>BOOST_FILESYSTEM_DYN_LINK=1 |
| <link>static:<define>BOOST_FILESYSTEM_STATIC_LINK=1 |
| : |
| : |
| ; |
| |
| boost-install boost_filesystem ; |