Criando um ambiente clang+llvm completo e global

Criando um ambiente clang+llvm completo e global

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

Eu gostaria que funcionasse imediatamente, sem ter que fazer mágica .bashrcou passar tudo isso -stdlib=libc++e -lc++para compilador e vinculador.

Responder1

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

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

Pessoalmente, recomendo que você apenas configure CC, CXX, CFLAGS, CXXFLAGS e outros vars para obter o mesmo resultado sem muitos problemas. Funciona perfeitamente para mim no FreeBSD.

informação relacionada