Adds dynamic sample loader. Enabled with: -DUSE_DYNSAMPLES=1 at configure-time.
Standalone MeasurementBase instances can be written and compiled
outside of NUISANCE, but loaded at runtime and used as a first
class function.
A helper script for compiling a single class to a useable shared
object is provided in ${NUISANCE}/bin/BuildDynamicSample
It should be provided a sample.cxx file residing in the
current working directory, and a shared object name (including
.so) to write to. The SampleList checks in directories specified
in a PATH-like way via either the environment variable: NUISANCE_DS_PATH
or the NUISANCE config variable: <config dynamic_sample.path="/some/path" />.
If neither are specified, it will automatically look for shared objects
(by extention) within the current working directory. Any found will be
searched for dynamic sample manifest descriptor symbols that can
be used to instantiate sample instances.
It may not be the most robust plugin architecture and almost certainly
requires NUISANCE and the plugins to be compiled with almost
identical environments... but it may reduce the entry barrier to
writing NUSIANCE classes.