Sous HPUX, j'ai besoin d'utiliser l'option de lien + h pour que les bibliothèques partagées de boost 1.39.0 contiennent les chemins corrects.Ajout de l'option de l'éditeur de liens pour renforcer la construction sur HPUX
-Wl,+h$(SPACE)-Wl,$(<[-1]:D=)
Je l'ai testé que cela fonctionne en piratant le fichier ensemble d'outils de gcc.jam:
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)
Mais maintenant, je veux une solution permanente, et je peux » t travailler comment.
J'ai d'abord essayé de mettre un bjam conditionnel dans la section actions link.dll
, mais cette section contient des commandes shell.
Puis j'ai essayé d'ajouter la section supplémentaire à la variable OPTIONS pour ces cibles. Mais cela ne semble pas avoir d'effet sur le lien.
Enfin, j'ai essayé de créer un jeu d'outils séparé comme une copie de gcc.jam
(hpuxgcc.jam
), mais je ne pouvais pas obtenir du tout à travailler. Je suppose qu'il y a plus d'endroits dont j'ai besoin pour changer les noms des variables, mais la syntaxe Jam est au-delà de ce que je comprends.
Quelqu'un a-t-il une meilleure idée de la façon de le faire fonctionner? Ou devrais-je juste convertir la version hacky dans un patch que je cours avant de construire Boost? Sûrement il y a un meilleur moyen?
Est-ce La question est soit:
a) Comment puis-je (sous réserve de la plate-forme) ajouter le texte à la commande de liaison dans le gcc.jam
Ou:
b) Comment créer un nouvel ensemble d'outils basé sur gcc.jam
?
Ce qui est toujours plus facile ...
A a ajouté un bloc qui définissait HAVE_SONAME et SONAME_OPTION sur HP-UX et qui résolvait le problème. Merci. –
Veuillez supprimer le patch (sortie svn diff) à [email protected] pour qu'il puisse être inclus dans la version officielle. Merci. –