89 lines
3.1 KiB
Plaintext
89 lines
3.1 KiB
Plaintext
# 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 ;
|