Creando un entorno completo y global clang+llvm

Creando un entorno completo y global clang+llvm

¿Cuál es la forma más sencilla de configurar Clang, libc++ y LLVM completos como cadena de herramientas global predeterminada? Todos mis intentos de construirlo, en la mayoría de las configuraciones que se me ocurrieron, dieron como resultado que Clang funcionara, pero no usaba encabezados libc++, sino los predeterminados libstd++ de GCC, lo que resultaba en numerosas fallas en piezas incompatibles de código de biblioteca.

Me gustaría que funcionara desde el primer momento, sin tener que hacer magia .bashrcni pasarlos todos -stdlib=libc++al -lc++compilador y vinculador.

Respuesta1

A juzgar por cómo se han integrado LLVM y Clang en la base de FreeBSD, creo que necesitarás hackear las partes internas de Clang para establecer rutas de biblioteca y encabezados ( lib/Frontend/InitHeaderSearch.cpp) para tu sistema.

Usar libc++ como predeterminado definitivamente necesita cambiar el código (grep lib/Frontend/CompilerInvocation.cpppara "UseLibcxx"). Probablemente también necesitarás hackear el vinculador del sistema para cambiar -lstdc++a -lc++.

Personalmente, te recomiendo que configures CC, CXX, CFLAGS, CXXFLAGS y otras variables para lograr el mismo resultado sin muchos problemas. A mí me funciona perfectamente en FreeBSD.

información relacionada