Ok so the main part of the JIT initialization would be handling the options for it. One thing I can do is have normalization of options in the base class rather than via extended classes with map modifications and such. Alternatively the options can be treated the same like the manifest with actual key types and then value types. These would be normalized to lowercase and such so I do not have to worry about strings being messed up and such. There could also be sorting and categorization based on major and minor values at least for keys.
For the target builder I should allow multiple configurations to be passed so
I can say something like
target linux-mips games which includes the games
that are available. Also potentially I can include project names or JARs which
are injected into the runtime and their dependencies. Basically if it is not a
template it will check the project list for inclusion. This way I can have a
dynamic set of executables. However the basic default for all systems will be
a bare minimum setup with nothing extra at all. There would be the full target
which has for the most part every single available project which makes sense
and is not platform dependent.