Создание полной глобальной среды clang + llvm

610
Griwes

Какой самый простой способ настроить полный Clang, libc ++ и LLVM в качестве глобального набора инструментов по умолчанию? Все мои попытки построить его, в большинстве конфигураций, о которых я только мог подумать, привели к работе Clang, но он не использовал заголовки libc ++, а по умолчанию использовал libstd ++ GCC, что приводило к многочисленным ошибкам в несовместимых частях библиотечного кода.

Я хотел бы, чтобы это работало из коробки, без необходимости делать магию .bashrcили передавать все это -stdlib=libc++и -lc++компилятору и компоновщику.

3

1 ответ на вопрос

3
arrowd

Судя по тому, как LLVM и Clang были интегрированы в базу FreeBSD, я думаю, что вам нужно будет взломать внутренние компоненты Clang, чтобы установить пути к библиотекам и заголовкам ( lib/Frontend/InitHeaderSearch.cpp) для вашей системы.

Использование libc ++ по умолчанию определенно требует изменения кода (grep lib/Frontend/CompilerInvocation.cppдля «UseLibcxx»). Возможно, вам придется взломать системный компоновщик, чтобы перейти -lstdc++на -lc++.

Лично я бы порекомендовал вам просто установить CC, CXX, CFLAGS, CXXFLAGS и другие переменные для достижения того же результата без особых хлопот. У меня это работает безупречно во FreeBSD.

Похожие вопросы