Предварительно скомпилированные заголовки с Autotools

Можно ли использовать предварительно скомпилированные заголовки gcc в проектах, использующих automake/libtool?

Добавление новых правил make для создания предварительно скомпилированных заголовков не представляет сложности. Проблема в том, что вам также нужно добавить флаги компиляции, представленные libtool, и, насколько мне известно, он не может обрабатывать входные файлы заголовков.

Как вы можете это сделать?


person Dj Gaspa    schedule 03.09.2009    source источник
comment
Я думаю, что его поддержка была запланирована для автоинструментов в последний раз, когда я проверял (довольно давно). Мне тоже интересно, как далеко это зашло.   -  person Michael Krelin - hacker    schedule 03.09.2009


Ответы (2)


Проблема в том, что решение не работает на всех системах; libtool будет использовать командную строку компилятора, отличную от $(CXXCOMPILE), поэтому при использовании libtool в некоторых системах вы не сможете использовать предварительно скомпилированный заголовок.

Я еще не нашел способ обойти это; Я пытался использовать $(LTCXXCOMPILE), но он жалуется, что не знает, как работать с заголовочным файлом (говоря libtool: compile: cannot determine name of library object from 'project.hxx'). Конечно, он должен использовать project.hxx.gch в качестве выходного файла, но я не вижу способа заставить его делать это, за исключением изменения скрипта libtool, и это лишило бы цели использования системы сборки GNU…

person Michael Trausch    schedule 04.10.2010

Да - хотя, насколько я знаю, для них до сих пор нет встроенной поддержки в automake.

Я следил за эти инструкции и получили предварительно скомпилированные заголовки, работающие в одном из моих проектов, сократив время сборки вдвое :-)

person Nick Dowell    schedule 13.09.2009