summaryrefslogtreecommitdiffstats
path: root/src/boost/tools/boost_install/boost-install-dirs.jam
diff options
context:
space:
mode:
Diffstat (limited to 'src/boost/tools/boost_install/boost-install-dirs.jam')
-rw-r--r--src/boost/tools/boost_install/boost-install-dirs.jam104
1 files changed, 104 insertions, 0 deletions
diff --git a/src/boost/tools/boost_install/boost-install-dirs.jam b/src/boost/tools/boost_install/boost-install-dirs.jam
new file mode 100644
index 000000000..5c9f3d469
--- /dev/null
+++ b/src/boost/tools/boost_install/boost-install-dirs.jam
@@ -0,0 +1,104 @@
+# 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 ;
+ }
+}