Acredito ter encontrado uma resposta.
Parece que
have_header
examina o caminho de inclusão do sistema. Se as variáveis de ambiente relevantes não estiverem definidas, os caminhos de inclusão padrão são /usr/local/include
e /usr/include
. Se você quiser configurá-los manualmente, você faria algo como:
export C_INCLUDE_PATH=/usr/include/mysql/
Isso é verdade mesmo se você estiver compilando um programa C++, se o arquivo de cabeçalho for um arquivo C. Se, por outro lado, seu arquivo de cabeçalho for C++, não C, você faria:
export CPLUS_INCLUDE_PATH=/usr/include/mysql
Claro, você encontrou a solução alternativa, que é incluir
dir_config('mysql')
em seu extconf.rb
. Isso permite que você use o --with-mysql-include
opção e forneça o caminho manualmente. Aqui está minha fonte:http://www.network-theory.co .uk/docs/gccintro/gccintro_23.html
E aqui está uma versão mais geral da mesma pergunta (com respostas):Como adicionar um caminho de inclusão padrão para gcc no linux?