summaryrefslogtreecommitdiffstats
path: root/src/boost/libs/headers
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-07 18:45:59 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-07 18:45:59 +0000
commit19fcec84d8d7d21e796c7624e521b60d28ee21ed (patch)
tree42d26aa27d1e3f7c0b8bd3fd14e7d7082f5008dc /src/boost/libs/headers
parentInitial commit. (diff)
downloadceph-19fcec84d8d7d21e796c7624e521b60d28ee21ed.tar.xz
ceph-19fcec84d8d7d21e796c7624e521b60d28ee21ed.zip
Adding upstream version 16.2.11+ds.upstream/16.2.11+dsupstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'src/boost/libs/headers')
-rw-r--r--src/boost/libs/headers/README.md7
-rw-r--r--src/boost/libs/headers/build/Jamfile99
2 files changed, 106 insertions, 0 deletions
diff --git a/src/boost/libs/headers/README.md b/src/boost/libs/headers/README.md
new file mode 100644
index 000000000..e6ab83832
--- /dev/null
+++ b/src/boost/libs/headers/README.md
@@ -0,0 +1,7 @@
+# headers
+
+This is a "fake" library that installs the Boost headers on
+`b2 libs/headers/build//install`.
+
+It also creates a CMake target `Boost::headers`, on which the
+non-header library targets such as `Boost::filesystem` depend.
diff --git a/src/boost/libs/headers/build/Jamfile b/src/boost/libs/headers/build/Jamfile
new file mode 100644
index 000000000..592a6d231
--- /dev/null
+++ b/src/boost/libs/headers/build/Jamfile
@@ -0,0 +1,99 @@
+# Copyright 2018 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 package ;
+import path ;
+import sequence ;
+import set ;
+import ../../../tools/boost_install/boost-install ;
+import ../../../tools/boost_install/boost-install-dirs ;
+
+# install-header-subdir
+
+local header-subdir = [ boost-install-dirs.header-subdir ] ;
+
+local install-header-subdir ;
+
+if $(header-subdir)
+{
+ install-header-subdir = $(header-subdir)/boost ;
+}
+else
+{
+ install-header-subdir = boost ;
+}
+
+# install-headers
+
+# first, the 'modular' headers
+
+local modular-headers = $(BOOST_MODULARLAYOUT) ;
+
+local skip-headers ;
+
+for local lib in $(modular-headers)
+{
+ local header-root = $(BOOST_ROOT)/libs/$(lib)/include/boost ;
+
+ local headers =
+ [ path.glob-tree $(header-root) : *.hpp *.ipp *.h *.inc ]
+ [ path.glob-tree $(header-root)/compatibility/cpp_c_headers : c* ] ;
+
+ skip-headers += [ sequence.transform path.relative-to [ path.make $(header-root) ] : $(headers) ] ;
+
+ package.install install-$(lib)-headers Boost
+ : <install-header-subdir>$(install-header-subdir)
+ <install-source-root>$(header-root)
+ <install-no-version-symlinks>on
+ : # No binaries
+ : # No libraries
+ : $(headers)
+ ;
+
+ explicit install-$(lib)-headers ;
+}
+
+# then, the non-modular headers in boost/, minus the modular ones
+
+local header-root = [ path.make $(BOOST_ROOT)/boost ] ;
+
+local headers =
+ [ path.glob-tree $(BOOST_ROOT)/boost : *.hpp *.ipp *.h *.inc ]
+ [ path.glob-tree $(BOOST_ROOT)/boost/compatibility/cpp_c_headers : c* ] ;
+
+headers = [ set.difference $(headers) : $(header-root)/$(skip-headers) ] ;
+
+package.install install-boost-headers Boost
+ : <install-header-subdir>$(install-header-subdir)
+ <install-source-root>$(header-root)
+ <install-no-version-symlinks>on
+ : # No binaries
+ : # No libraries
+ : $(headers)
+;
+
+explicit install-boost-headers ;
+
+#
+
+alias install-headers : install-$(modular-headers)-headers install-boost-headers ;
+explicit install-headers ;
+
+# install
+
+alias boost_headers ;
+
+boost-install.install-cmake-config boost_headers ;
+explicit install-cmake-config ;
+
+alias install : install-headers install-cmake-config ;
+explicit install ;
+
+# stage
+
+boost-install.stage-cmake-config boost_headers ;
+explicit stage-cmake-config ;
+
+alias stage : stage-cmake-config ;
+explicit stage ;