use static declarations in external libraries
All externals need to have their functions and global variables declared as static
. Otherwise namespace pollution across translation units will occur.
All externals currently do not.
For simple externals, this can just be a matter of adding the static
keyword where necessary. (Excluding the *_setup
function, of course.)
For more complex libraries (ones that use their own shared libs, have their own headers, crazy nested makefiles) this will require more caution/testing.