Se você realmente deseja oferecer suporte a versões que não possuem a versão de biblioteca necessária, use apenas a vinculação estática. Ter uma biblioteca compartilhada na qual você é o único usuário de derrotar o propósito de bibliotecas compartilhadas, então você pode também colocar tudo em um binário. Você economizará espaço, já que as partes da biblioteca que você não chamar serão descartadas.
Gostaria de sugerir que você comece com uma construção onírica que apenas lista a dependência normalmente, depois mude para a vinculação estática quando voltar a portá-la para versões mais antigas.