LINUX.ORG.RU

Установка переменных для линковщика


0

0

Народ, помогите пожалуйста. Есть следующая проблема. Суть её заключается в следующем. В момент вызова ./configure происходит настройка и создание Makefile. Он создается на основании переменных окружения. Меня интересуют те переменные окружения, которые используются для задания СXX и С компилятора, а также линковщика и переменных для них. Переменные для задания С и С++ комплиытора вроде как никаких проблем не вызывают. Скажем это например /opt/SomeCompiler/bin/CC и /opt/SomeCompiler/bin/сс. Тут всё ясно. Соответсвтвенно CXX и СС. Если надо детализировать до препроцессора С++ то и CPP. Флаги для них - это CXXFLAGS и CFLAGS. Теперь переходим к линковщику. Во-первых LD ни на что не влияет. Он как бы есть, но ./configure все равно самостоятельно решает, по тайнственному для меня сейчас алгоритму, чего он хочет в настоящий момент использовать. Но основную проблему составляет то, что когда у меня происходит создание shared объекта, то надо, чтобы компилятор( который в этот момент по default и по правилам является и линковщиком, и только если не справляется, то вызывает [x]ld->ld) использовал некоторые флаги, большая часть которых указывается и в момент compile time. Чего делать? Что это за переменная такая, которая может мне это помочь установить? И еще. Если у меня используется C++ библиотека в переменных окружения для С++, то ./configure за каким-то хером вставляет её потом и в попытке связать части на С. Нафига - непонятно. Детализируя - мне надо, чтобы когда вызывался компилятор с опцией -G, кроме этого самого -G - туда ставить кучу других опций. Каждый раз искать для своей платформы в .configure это место - это геморно. Может кто что подскажет? Да, сразу отвечаю зачем это надо. Чтобы собирать софт с узкой специализацией по архитектуре. Например 64 бита UltraSparc3i c включенными всякими оптимизированными библиотеками и расширениями процессора.


Если установка переменных через configure не работает, редактируй Makefile. Если их несколько, воспользуйся perl-ом или bash.

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

Вопрос не в том, что это не работает. Вопрос в том, что в общем подходе, который использует ./configure во всем направлении GNU (xGPL) ВСЕ собираемые приложения в большинстве своём не рассматривают вопрос о том, что во время связывания может использоваться что-либо отличное от ld и что у этого чего-то могут быть специфические флаги.

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