Какой компилятор будет выбран meson.get_compiler(‘c’) в системе с несколькими компиляторами C?

#c #meson-build

#c #meson-сборка

Вопрос:

Учитывая проект на основе meson, где meson.build содержится следующая строка:

 cc = meson.get_compiler('c')
 

Как meson.get_compiler('c') выбрать компилятор в системе с несколькими компиляторами C? На момент написания этого вопроса справочное руководство не содержит много подробностей, только…

Возвращает объект компилятора, описывающий компилятор.

Пожалуйста, обратите внимание, что я не пытаюсь заставить meson использовать определенный компилятор. Скорее, я пытаюсь понять meson.build , как будет функционировать эта строка в том виде, в котором она написана в данный момент.

Комментарии:

1. mesonbuild.com/howtox.html

2. @HansPassant Похоже, там нет ничего, что отвечало бы на вопрос.

3. Я бы ожидал, что он будет искать в стандартных исполняемых каталогах, пока не найдет компилятор, и использовать первый, который он найдет.

Ответ №1:

В Windows он пробует icl, cl, cc, gcc, clang, clang-cl, pgcc; в Linux он пробует cc, gcc, clang, nvc, pgc, icc. Это после того, как он ищет значение $ CC и все, что находится в вашем перекрестном или собственном файле. Смотрите код здесь .