SConstruct: Add support for arbitrary callbacks in externals
Fix non-python build