2016-11-02 11 views
2

Я использую оптимизацию времени соединения (LTO) в project, которая компилируется как в GCC, так и в Clang и создает статическую библиотеку. Он работает с GCC 4.8, но GCC 5.4 делает тонкие объекты LTO, и когда automake пытается построить статическую библиотеку с ar, она терпит неудачу, потому что ей нужен сценарий оболочки gcc-ar.рецепт autoconf для использования gcc-ar и gcc-ranlib

Есть ли хороший пример, на котором я могу посмотреть, как использовать automake gcc-ar вместо ar (и аналогично для gcc-ranlib)? Возможно, я могу что-то взломать, но в идеале это должно быть:

  • Используйте соответствующие инструменты для компилятора (у Кланга есть own instructions).
  • Работайте, даже если пользователь переопределяет компилятор на тот, который не является системным по умолчанию.
  • Работа при кросс компиляции

ответ

1

Вы можете изменить инструменты, используемые по умолчанию, вызвав

./configure AR=gcc-ar RANLIB=gcc-ranlib 

Я боюсь за ./configure, чтобы забрать их по умолчанию, Autoconf/Automake должны быть зафиксированы знать о тех, которые установлены в стандартном наборе проверок.

+0

Для этого можно написать собственный набор проверок (autoconf полностью расширяемый). Мой вопрос заключается в том, какой-либо проект уже сделал это, чтобы я мог следовать их примеру, а не выяснять, как обращаться со всеми компиляторами самостоятельно. –

 Смежные вопросы

  • Нет связанных вопросов^_^