Показать информацию о компиляторе в Bazel

Я пытаюсь сообщить об ошибке в проекте, использующем Bazel. В отчет о проблеме я хотел бы включить информацию об используемом компиляторе C ++.

Какую команду я могу использовать для этого?

bazel build -s //the_target показывает мне, что external/local_config_cc/wrapped_clang кажется компилятором. В bazel-<project>/... я могу найти этот путь, но запуск исполняемого файла wrapped_clang там просто приводит к прерыванию.


person Unapiedra    schedule 22.07.2018    source источник


Ответы (1)


Этот ответ применим только в том случае, если вы используете инструментальную цепочку C ++ с автонастройкой Bazel. Если вы этого не сделаете, вам придется его изменить.

Поэтому для отладки лучше всего заархивировать весь local_config_cc, а также предоставить версию компилятора ($CC --version). Вы получите local_config_cc по адресу:

`bazel info output_base`/external/local_config_cc

Путь к компилятору записывается в wrapped_clang скрипт в случае цепочки инструментов, которая поддерживает как C ++, так и ObjC (этот включается при правильном обнаружении Xcode). Цепочка инструментов только для C ++ напрямую вызывает компилятор (но файл CROSSTOOL все еще может быть полезен для отладки). И на всякий случай вы можете принудительно использовать набор инструментов только для C ++, установив переменную среды BAZEL_USE_CPP_ONLY_TOOLCHAIN=1.

person hlopko    schedule 22.07.2018