diff --git a/src/build-system.jam b/src/build-system.jam index ef2e83068..434d2195e 100644 --- a/src/build-system.jam +++ b/src/build-system.jam @@ -25,7 +25,7 @@ import toolset ; import utility ; import version ; import virtual-target ; - +import generators ; ################################################################################ # @@ -686,8 +686,12 @@ local rule should-clean-project ( project ) { targets += [ project.target [ project.module-name "." ] ] ; } - - + + if [ option.get dump-generators : : true ] + { + generators.dump ; + } + # Now that we have a set of targets to build and a set of property sets to # build the targets with, we can start the main build process by using each # property set to generate virtual targets from all of our listed targets diff --git a/src/build/generators.jam b/src/build/generators.jam index d086bb006..1b7a269bb 100644 --- a/src/build/generators.jam +++ b/src/build/generators.jam @@ -722,6 +722,8 @@ class generator # rule register ( g ) { + .all-generators += $(g) ; + # A generator can produce several targets of the same type. We want unique # occurrence of that generator in .generators.$(t) in that case, otherwise, # it will be tried twice and we will get a false ambiguity. @@ -1393,3 +1395,12 @@ rule add-usage-requirements ( result * : raw-properties * ) } } } + +rule dump ( ) +{ + for local g in $(.all-generators) + { + ECHO [ $(g).id ] ":" [ $(g).source-types ] -> [ $(g).target-types ] ; + } +} +