/usr/share/boost-build/src/tools
NameSizeModeActions
doxygen/-0755rm
features/-0755rm
generators/-0755rm
types/-0755rm
xsltproc/-0755rm
acc.jam48000644editdlrm
asciidoctor.jam64800644editdlrm
auto-index.jam83240644editdlrm
bison.jam5890644editdlrm
boostbook-config.jam3890644editdlrm
boostbook.jam240560644editdlrm
borland.jam99920644editdlrm
builtin.jam30370644editdlrm
bzip2.jam80660644editdlrm
cast.jam32370644editdlrm
clang-darwin.jam67130644editdlrm
clang-linux.jam99840644editdlrm
clang-vxworks.jam40260644editdlrm
clang-win.jam60940644editdlrm
clang.jam23100644editdlrm
common.jam316790644editdlrm
como-linux.jam35280644editdlrm
como-win.jam42370644editdlrm
como.jam20630644editdlrm
convert.jam19870644editdlrm
cray.jam411280644editdlrm
cw-config.jam12830644editdlrm
cw.jam95490644editdlrm
cygwin.jam4030644editdlrm
darwin.jam221650644editdlrm
diab.jam43070644editdlrm
dmc.jam60940644editdlrm
docutils.jam34440644editdlrm
doxproc.py366210644editdlrm
doxygen-config.jam3880644editdlrm
doxygen.jam247450644editdlrm
embarcadero.jam214870644editdlrm
emscripten.jam37790644editdlrm
flags.jam45700644editdlrm
fop.jam16930644editdlrm
fortran.jam19890644editdlrm
gcc.jam552880644editdlrm
generate.jam33390644editdlrm
gettext.jam76630644editdlrm
gfortran.jam10080644editdlrm
hpfortran.jam9020644editdlrm
hp_cxx.jam80890644editdlrm
ifort.jam14950644editdlrm
intel-darwin.jam97850644editdlrm
intel-linux.jam91930644editdlrm
intel-vxworks.jam70850644editdlrm
intel-win.jam163960644editdlrm
intel.jam26260644editdlrm
lex.jam5590644editdlrm
libjpeg.jam73620644editdlrm
libpng.jam71040644editdlrm
libtiff.jam72080644editdlrm
link.jam150210644editdlrm
lzma.jam32770644editdlrm
make.jam22660644editdlrm
mc.jam13110644editdlrm
message.jam16670644editdlrm
midl.jam53670644editdlrm
mipspro.jam52910644editdlrm
mpi.jam218260644editdlrm
msvc-config.jam3930644editdlrm
msvc.jam846720644editdlrm
notfile.jam16540644editdlrm
openssl.jam36130644editdlrm
package.jam92810644editdlrm
pathscale.jam66290644editdlrm
pch.jam27190644editdlrm
pgi.jam48790644editdlrm
pkg-config.jam134430644editdlrm
python-config.jam8360644editdlrm
python.jam436790644editdlrm
qcc.jam108360644editdlrm
qt.jam5300644editdlrm
qt3.jam68100644editdlrm
qt4.jam239740644editdlrm
qt5.jam265170644editdlrm
quickbook-config.jam12660644editdlrm
quickbook.jam132770644editdlrm
rc.jam53640644editdlrm
sass.jam57020644editdlrm
saxonhe.jam13290644editdlrm
stage.jam285130644editdlrm
stlport.jam118800644editdlrm
sun.jam80540644editdlrm
symlink.jam43510644editdlrm
testing-aux.jam102380644editdlrm
testing.jam278890644editdlrm
unix.jam58470644editdlrm
vacpp.jam57250644editdlrm
vmsdecc.jam201850644editdlrm
whale.jam32530644editdlrm
xlcpp.jam61210644editdlrm
xlf.jam9000644editdlrm
xsltproc-config.jam8380644editdlrm
xsltproc.jam56030644editdlrm
zlib.jam69760644editdlrm
zstd.jam24460644editdlrm
Edit: /usr/share/boost-build/src/tools/cast.jam (3237B)
# Copyright 2005 Vladimir Prus. # 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) # Defines main target 'cast', used to change type for target. For example, in Qt # library one wants two kinds of CPP files -- those that just compiled and those # that are passed via the MOC tool. # # This is done with: # # exe main : main.cpp [ cast _ moccable-cpp : widget.cpp ] ; # # B2 will assign target type CPP to both main.cpp and widget.cpp. Then, # the cast rule will change target type of widget.cpp to MOCCABLE-CPP, and Qt # support will run the MOC tool as part of the build process. # # At the moment, the 'cast' rule only works for non-derived (source) targets. # # TODO: The following comment is unclear or incorrect. Clean it up. # > Another solution would be to add a separate main target 'moc-them' that # > would moc all the passed sources, no matter what their type is, but I prefer # > cast, as defining a new target type + generator for that type is somewhat # > simpler than defining a main target rule. import "class" : new ; import project ; import property-set ; import targets ; import type ; class cast-target-class : typed-target { import type ; rule __init__ ( name : project : type : sources * : requirements * : default-build * : usage-requirements * ) { typed-target.__init__ $(name) : $(project) : $(type) : $(sources) : $(requirements) : $(default-build) : $(usage-requirements) ; } rule construct ( name : source-targets * : property-set ) { local result ; for local s in $(source-targets) { if ! [ class.is-a $(s) : file-target ] { import errors : user-error : errors.user-error ; errors.user-error Source to the 'cast' rule is not a file! ; } if [ $(s).action ] { import errors : user-error : errors.user-error ; errors.user-error Only non-derived target are allowed for 'cast'. : when building [ full-name ] ; } local r = [ $(s).clone-with-different-type $(self.type) ] ; result += [ virtual-target.register $(r) ] ; } return [ property-set.empty ] $(result) ; } } rule cast ( name type : sources * : requirements * : default-build * : usage-requirements * ) { local project = [ project.current ] ; local real-type = [ type.type-from-rule-name $(type) ] ; if ! $(real-type) { import errors ; errors.user-error No type corresponds to the main target rule name '$(type)' : "Hint: try a lowercase name" ; } targets.main-target-alternative [ new cast-target-class $(name) : $(project) : $(real-type) : [ targets.main-target-sources $(sources) : $(name) ] : [ targets.main-target-requirements $(requirements) : $(project) ] : [ targets.main-target-default-build $(default-build) : $(project) ] : [ targets.main-target-usage-requirements $(usage-requirements) : $(project) ] ] ; } IMPORT $(__name__) : cast : : cast ;