# Copyright 2018-2020 Peter Dimov # Distributed under the Boost Software License, Version 1.0. # (See accompanying file LICENSE_1_0.txt or copy at http://boost.org/LICENSE_1_0.txt) import modules ; import boostcpp ; import package ; import path ; # includedir rule includedir { if ! $(.includedir) { local paths = [ package.paths Boost ] ; .includedir = [ $(paths).includedir ] ; } return $(.includedir) ; } # bindir rule bindir { if ! $(.bindir) { local paths = [ package.paths Boost ] ; .bindir = [ $(paths).bindir ] ; } return $(.bindir) ; } # libdir rule libdir { if ! $(.libdir) { local paths = [ package.paths Boost ] ; .libdir = [ $(paths).libdir ] ; } return $(.libdir) ; } # cmakedir rule cmakedir { if ! $(.cmakedir) { package.add-path-option cmakedir : cmake : libdir ; local paths = [ package.paths Boost ] ; .cmakedir = [ $(paths).get cmakedir ] ; } return $(.cmakedir) ; } # header-subdir rule header-subdir { local r ; local layout = [ modules.peek boostcpp : layout ] ; if $(layout) = versioned { local BOOST_VERSION_TAG = [ modules.peek boostcpp : BOOST_VERSION_TAG ] ; r = "boost-$(BOOST_VERSION_TAG)" ; } return $(r) ; } # stagedir rule stagedir { return [ path.make [ modules.peek boostcpp : BOOST_STAGE_LOCATE ] ] ; } # stage-libdir rule stage-libdir { local ld = [ MATCH --stage-libdir=(.*) : [ modules.peek : ARGV ] ] ; if $(ld) { ld = [ path.root [ path.make $(ld) ] [ path.pwd ] ] ; return $(ld) ; } else { local stagedir = [ stagedir ] ; return $(stagedir)/lib ; } }