Criando o ambiente clang + llvm global e completo

3

Qual é a maneira mais fácil de configurar o Full Clang, libc ++ e LLVM como toolchain global padrão? Todas as minhas tentativas de construí-lo, na maioria das configurações que eu consegui pensar, resultaram no trabalho do Clang, mas ele não usou cabeçalhos libc ++, mas os do libstd ++ padrão do GCC, resultando em inúmeras falhas em partes incompatíveis do código da biblioteca. / p>

Eu gostaria que funcionasse fora da caixa, sem ter que fazer mágica em .bashrc ou passando todos os -stdlib=libc++ e -lc++ para o compilador e o vinculador.

    
por Griwes 18.09.2012 / 18:32

1 resposta

3

A julgar pela forma como o LLVM e o Clang foram integrados à base do FreeBSD, acho que você precisará hackear os componentes internos do Clang para configurar os caminhos da biblioteca e dos cabeçalhos ( lib/Frontend/InitHeaderSearch.cpp ) para o seu sistema.

Usar a libc ++ como padrão definitivamente precisa mudar o código (grep lib/Frontend/CompilerInvocation.cpp para "UseLibcxx"). Provavelmente, você também precisará hackear o vinculador do sistema para alterar -lstdc++ para -lc++ .

Pessoalmente, recomendo que você apenas defina CC, CXX, CFLAGS, CXXFLAGS e outros vars para obter o mesmo resultado sem muita complicação. Isso funciona para mim perfeitamente no FreeBSD.

    
por 07.10.2012 / 20:12

Tags