[Scons-users] dynamic flow handling

daggs daggs at gmx.com
Mon Sep 16 07:39:31 EDT 2019


Greetings,

I'm working on a scons based project that works as follows, there are 5 steps, a,b,c,d,e
each of them is a builder.
upon scons calling, I do the following:
target_a = env.Call_a(target_a, obj, ...)
target_b = env.Call_b(target_b, target_a, ...)
target_c = env.Call_c(target_c, target_b, ...)
target_d = env.Call_d(target_d, target_c, ...)
target_e = env.Call_e(target_e, target_d, ...)

this results in the following tree:
  +-output
  | +-output/r
  |   +-output/r/build
  |   | +-output/r/build/src
  |   |   +-output/r/build/src/flow
  |   |     +-target_e
  |   |     | +-target_d
  |   |     |   +-target_c
  |   |     |     +-target_b
  |   |     |       +-target_a
  |   |     |         +-obj

here is where it gets complicated, in Call_c, there is a code that runs some form of detection and upon that, there might be a need to change the flow a bit, for example, copy a file and the call Call_d with different params.
e.g.:
  +-output
  | +-output/r
  |   +-output/r/build
  |   | +-output/r/build/src
  |   |   +-output/r/build/src/flow
  |   |     +-target_e
  |   |     | +-target_d
  |   |     |   +-target_c
  |   |     |     +-copy_file
  |   |     |       +-target_d
  |   |     |         +-target_b
  |   |     |           +-target_a
  |   |     |             +-obj

or even, call another new builder named t.

is there a way todo so?

Thanks,

Dagg.


More information about the Scons-users mailing list