Add support for compile-time and run-time version checks