diff options
Diffstat (limited to 'src/boost/libs/iostreams/build/Jamfile.v2')
-rw-r--r-- | src/boost/libs/iostreams/build/Jamfile.v2 | 129 |
1 files changed, 129 insertions, 0 deletions
diff --git a/src/boost/libs/iostreams/build/Jamfile.v2 b/src/boost/libs/iostreams/build/Jamfile.v2 new file mode 100644 index 00000000..7ea8a968 --- /dev/null +++ b/src/boost/libs/iostreams/build/Jamfile.v2 @@ -0,0 +1,129 @@ +# Boost.Iostreams Library Build Jamfile + +# (C) Copyright 2008 CodeRage, LLC (turkanis at coderage dot com) +# (C) Copyright 2004-2007 Jonathan Turkanis +# Distributed under the Boost Software License, Version 1.0. (See accompanying +# file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt.) + +# See http://www.boost.org/libs/iostreams for documentation. + +project /boost/iostreams : source-location ../src ; + +# The biggest trick in this Jamfile is to link to zlib and bzip2 when +# needed. To configure that, a number of variables are used, which must +# be set by user with 'path-constant' either in Boost's root Jamfile, or +# in user-config.jam. + +# For each library with either link to existing binary, or build +# a library from the sources. + +import modules ; +import os ; +import path ; +import ac ; +local debug = [ MATCH (--debug-configuration) : [ modules.peek : ARGV ] ] ; + +local libraries-to-install = boost_iostreams ; + +for local v in NO_COMPRESSION + NO_ZLIB + NO_BZIP2 + NO_LZMA + NO_ZSTD +{ + $(v) = [ modules.peek : $(v) ] ; +} + +if $(NO_COMPRESSION) != 1 && $(NO_ZLIB) != 1 +{ + using zlib : : <build-name>boost_zlib <tag>@tag ; + zlib-requirements = + [ ac.check-library /zlib//zlib : <library>/zlib//zlib + <source>zlib.cpp <source>gzip.cpp ] ; + + if [ os.environ ZLIB_SOURCE ] + { + alias boost_zlib : /zlib//zlib ; + libraries-to-install += boost_zlib ; + } +} +else +{ + if $(debug) + { + ECHO "notice: iostreams: not using zlib compression " ; + } +} + +if $(NO_COMPRESSION) != 1 && $(NO_BZIP2) != 1 +{ + using bzip2 : : <build-name>boost_bzip2 <tag>@tag ; + bzip2-requirements = + [ ac.check-library /bzip2//bzip2 : <library>/bzip2//bzip2 + <source>bzip2.cpp ] ; + + if [ os.environ BZIP2_SOURCE ] + { + alias boost_bzip2 : /bzip2//bzip2 ; + libraries-to-install += boost_bzip2 ; + } +} +else +{ + if $(debug) + { + ECHO "notice: iostreams: not using bzip compression " ; + } +} + +if $(NO_COMPRESSION) != 1 && $(NO_LZMA) != 1 +{ + using lzma ; + + exe has_lzma_cputhreads : ../build/has_lzma_cputhreads.cpp /lzma//lzma ; + explicit has_lzma_cputhreads ; + + lzma-requirements = + [ ac.check-library /lzma//lzma : <library>/lzma//lzma + <source>lzma.cpp ] + [ check-target-builds has_lzma_cputhreads + : : <define>BOOST_IOSTREAMS_LZMA_NO_MULTITHREADED=1 ] ; +} +else +{ + if $(debug) + { + ECHO "notice: iostreams: not using lzma compression " ; + } +} + +if $(NO_COMPRESSION) != 1 && $(NO_ZSTD) != 1 +{ + using zstd ; + zstd-requirements = + [ ac.check-library /zstd//zstd : <library>/zstd//zstd + <source>zstd.cpp ] ; +} +else +{ + if $(debug) + { + ECHO "notice: iostreams: not using zstd compression " ; + } +} + +local sources = file_descriptor.cpp mapped_file.cpp ; + +lib boost_iostreams + : $(sources) + : <link>shared:<define>BOOST_IOSTREAMS_DYN_LINK=1 + <define>BOOST_IOSTREAMS_USE_DEPRECATED + $(zlib-requirements) + $(bzip2-requirements) + $(lzma-requirements) + $(zstd-requirements) + : + : <link>shared:<define>BOOST_IOSTREAMS_DYN_LINK=1 + ; + +boost-install $(libraries-to-install) ; |