You could define stage-time config flags (just ordinary Scala
values), that you set statically, read from Java properties, or read
from a configuration file. Then during staging you can override the
IR node construction methods to check the flag and construct the
corresponding node.
Alternatively, to give finer-grained control to the user, you could
have the DSL methods themselves accept a (non-Rep) parameter
specifying which which library to use, and use that parameter to
construct the appropriate IR node.
Arvind