this is going to upset dyoung i'm sure :) but it seems to me that if these invasive changes to individual subsystems are needed like this, and we want them to be optional, then imo they should be on a per-subsystem basis, not global. eg something like:
options LINEDISC_LUA
options GPIOSIM_LUA
etc. the ugliness could/should be largely hidden in header files.
.mrg.
