This adds version macros so that we do not need to use linker scripts to specify the symbol visibility.