История изменений
Исправление dimgel, (текущая версия) :
clang-scan-deps не нужен.
-
На вход берёт https://clang.llvm.org/docs/JSONCompilationDatabase.html, на выходе make-правила – зависимости (вместо нужного мне module map), которые мне мне gcc и так уже генерит. Причём:
-
Выплёвывает в stdout все зависимости всех файлов скопом – а не как в .d-файлах, где у каждого сорца свой файл с зависимостями.
-
Нет опции «без системных инклудов», в отличие от gcc.
-
При анализе сорца, содержащего import myModule, clang-scan-deps ругнулся «модуль myModule не найден». Разумеется он не найден, ты сука тупая, я тебя вызвал чтобы зависимости сгенерить перед компиляцией в т.ч. этих самых модулей. Так что степень корректности генерируемых правил для модулей уже не проверял.
UPD. Впрочем, возможно, что оно пытается найти исходник модуля, и эта ошибка – следствие отсутствия module map.
- Ну и брать на вход лог компиляции (чем и является, как выяснилось, compilation database) для того чтобы выяснить требуемый порядок компиляции – это что-то уже за гранью. Вкупе с предыдущм пунктом, у меня не то что матерных – вообще никаких слов нету, чтобы выразить своё отношение.
Исходная версия dimgel, :
clang-scan-deps не нужен.
-
На вход берёт https://clang.llvm.org/docs/JSONCompilationDatabase.html, на выходе make-правила – зависимости (вместо нужного мне module map), которые мне мне gcc и так уже генерит. Причём:
-
Выплёвывает в stdout все зависимости всех файлов скопом – а не как в .d-файлах, где у каждого сорца свой файл с зависимостями.
-
Нет опции «без системных инклудов», в отличие от gcc.
-
При анализе сорца, содержащего import myModule, clang-scan-deps ругнулся «модуль myModule не найден». Разумеется он не найден, ты сука тупая, я тебя вызвал чтобы зависимости сгенерить перед компиляцией в т.ч. этих самых модулей. Так что степень корректности генерируемых правил для модулей уже не проверял.
-
Ну и брать на вход лог компиляции (чем и является, как выяснилось, compilation database) для того чтобы выяснить требуемый порядок компиляции – это что-то уже за гранью. Вкупе с предыдущм пунктом, у меня не то что матерных – вообще никаких слов нету, чтобы выразить своё отношение.