На HPUX Мне нужно использовать опцию + h link, чтобы получить разделяемые библиотеки 1.39.0, чтобы содержать правильные пути.Добавить функцию компоновщика для увеличения сборки на HPUX
-Wl,+h$(SPACE)-Wl,$(<[-1]:D=)
Я проверил, что это работает, взламывая файл gcc.jam Toolset:
796c796
< "$(CONFIG_COMMAND)" -L"$(LINKPATH)" -Wl,$(RPATH_OPTION:E=-R)$(SPACE)-Wl,"$(RPATH)" "$(.IMPLIB-COMMAND)$(<[1])" -o "$(<[-1])" $(HAVE_SONAME)-Wl,$(SONAME_OPTION)$(SPACE)-Wl,$(<[-1]:D=) -shared $(START-GROUP) "$(>)" "$(LIBRARIES)" $(FINDLIBS-ST-PFX) -l$(FINDLIBS-ST) $(FINDLIBS-SA-PFX) -l$(FINDLIBS-SA) $(END-GROUP) $(OPTIONS) $(USER_OPTIONS)
---
> "$(CONFIG_COMMAND)" -L"$(LINKPATH)" -Wl,+h$(SPACE)-Wl,$(<[-1]:D=) -Wl,$(RPATH_OPTION:E=-R)$(SPACE)-Wl,"$(RPATH)" "$(.IMPLIB-COMMAND)$(<[1])" -o "$(<[-1])" $(HAVE_SONAME)-Wl,$(SONAME_OPTION)$(SPACE)-Wl,$(<[-1]:D=) -shared $(START-GROUP) "$(>)" "$(LIBRARIES)" $(FINDLIBS-ST-PFX) -l$(FINDLIBS-ST) $(FINDLIBS-SA-PFX) -l$(FINDLIBS-SA) $(END-GROUP) $(OPTIONS) $(USER_OPTIONS)
Но теперь я хочу постоянное решение, и я могу» t разобраться как.
Сначала я попытался установить bjam в разделе actions link.dll
, но этот раздел содержит команды оболочки.
Затем я попытался добавить дополнительный раздел к переменной OPTIONS для этих целей. Но это никак не повлияло на ссылку.
Наконец-то я попытался создать отдельный набор инструментов как копию gcc.jam
(hpuxgcc.jam
), но я не мог заставить это работать вообще. Я предполагаю, что мне нужно изменить имена переменных, но синтаксис Jam превосходит то, что я понимаю.
Есть ли у кого-нибудь лучшее представление о том, как заставить это работать? Или я должен просто превратить взломанную версию в патч, который я запускаю до создания Boost? Неужели есть лучший способ?
ли угадать вопрос либо:
а) Как я (условно на платформе) добавить текст к команде компоновщика в gcc.jam
Или:
б) Как создать новый набор инструментов на основе gcc.jam
?
Какой бы проще ...
Добавлен блок, который установил HAVE_SONAME и SONAME_OPTION на HP-UX, и это решило проблему. Благодарю. –
Пожалуйста, отбросьте патч (svn diff output) на [email protected], чтобы он мог быть включен в официальную версию. Благодарю. –