LINUX.ORG.RU

Как натравить автолулзы на нужную библиотеку

 , ,


0

1

Кроскомпилю djvulibre для офтопика.

Имею собранный pthreads-win32. Ну и хидеры WinAPI тож присутствуют.

Проблема в том, шо долбаный configure детектит pthreads-win32 и настраивается на него. Я собсно ничего не имею против, да вот только djvulibre расчитывает, что pthread_t - это typedef на чето размером с int, а pthreads-win32 дефайнит pthread_t, как небольшую структуру.

Вопрос собсно такой - как обьяснить аутолулзам, какие треды исспользовать?

Оно конечно можно спрятать от него pthreads-win32, но это же костыль!

★★★

Думаю как обычно - CFLAGS/CXXFLAGS, LDFLAGS. А вообще, если djvulibre делает предположения о структуре pthread_t, это его косяк.

slovazap ★★★★★ ()
Ответ на: комментарий от slovazap

Думаю как обычно - CFLAGS/CXXFLAGS, LDFLAGS

Не выйдет, системой сборки в зависимости от найденных библиотек устанавливаются нужные дефайны.

А вообще, если djvulibre делает предположения о структуре pthread_t, это его косяк.

Точнее не о структуре, а о размере типа данных, от чего не легче.

Походу существующий configure не имеет нужного мне ключа, который позволяет указывать, какую библиотеку заюзать. Так что прийдется править макрос поиска библиотеки и перегенеривать configure.

Блин, вроде как вопрос по самой каноничной системе сборки, а ответов от знатоков и нету. Autotооls не нужен, да?

AF ★★★ ()
Ответ на: комментарий от AF

Ты упоротый?

CFLAGS="-I/path/to/headers" LDFLAGS="-L/path/to/libs"

И смотри config.log

anonymous ()
Ответ на: комментарий от AF

Как вчера и предпологал, пришлось править макрос.

Глупые анонимусы похоже не представляют, как configure ищет хидеры библиотек (:

AF ★★★ ()
Ответ на: комментарий от AF

Ага, глупые анонимусы всю жизнь разруливают выбор библиотек правильной последовательностью -I а C(XX)?FLAGS и -L в LDFLAGS, а бог AF рассказал им что это всё были галлюцинации и пошел править макросы.

slovazap ★★★★★ ()
Ответ на: комментарий от slovazap

Я бы с удвольствием воспользовался этип способом, да вот только в юниксах есть традиция - сваливать хидеры от разных библиотек в один и тот же каталог /usr/include. Я с пониманием и уважением отношусь к этой традиции. Но в моем случае в этом каталоге находится файл pthreads.h и windows.h. Может я чего не понимаю, но как ты предлагаешь «прятать» pthreads.h?

И еще, автотулзы гарантируют, что поиск будет учитывать C(XX)?FLAGS ?

Имхо нет, так как C(XX)?FLAGS - это опция для компилера. Нафиг он нужны для поиска хидера?

AF ★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.