add export macro to binding macros
allow different autogen paths for different languages
working on msvc support