Add the option of building a shared library