Squashed 'boost/' content from commit b4feb19f2

git-subtree-dir: boost
git-subtree-split: b4feb19f287ee92d87a9624b5d36b7cf46aeadeb
This commit is contained in:
Bill Somerville
2018-06-09 21:48:32 +01:00
commit 4ebe6417a5
12444 changed files with 2327021 additions and 0 deletions
@@ -0,0 +1,8 @@
import feature ;
feature.feature tblgen : : dependency free ;
project built_tool ;
build-project core ;
@@ -0,0 +1,39 @@
import toolset ;
import os ;
project : requirements <tblgen>../tblgen//tblgen ;
# Create a.c using a custom action defined below.
make a.c : a.td : @tblgen ;
# Use a.c in executable.
exe core : core.cpp a.c ;
# The action has to invoke the tool built in other
# parts of the project. The <tblgen> feature is used
# to specify the location of the tool, and the flags
# statement below make the full path to the tool
# available inside the action.
toolset.flags tblgen COMMAND <tblgen> ;
# We generally want a.c to be rebuilt when the tool changes.
rule tblgen ( targets * : sources * : properties * )
{
DEPENDS $(targets) : [ on $(targets) return $(COMMAND) ] ;
}
# The action that invokes the tool
actions tblgen bind COMMAND
{
$(COMMAND:E=tblgen) > $(<)
}
if [ os.name ] = VMS
{
actions tblgen bind COMMAND
{
PIPE MCR $(COMMAND:WE=tblgen) > $(<:W)
}
}
@@ -0,0 +1,5 @@
int main()
{
return 0;
}
@@ -0,0 +1,5 @@
This example shows how to build an executable and then use it
for generating other targets. The 'tblgen' subdirectory builds
a tool, while the 'core' subdirectory uses that tool. Refer
to core/Jamfile.jam for detailed comments.
@@ -0,0 +1,4 @@
project : requirements -<tblgen>tblgen//tblgen ;
exe tblgen : tblgen.cpp ;
@@ -0,0 +1,9 @@
#include <iostream>
int main()
{
std::cout << "int foo;\n";
return 0;
}