Je suis en train d'écrire mon premier projet qui utilisera autoconf et m'enseignera à mesure que je m'en irai. Pour la plupart, les choses vont extrêmement bien. J'ai un dernier obstacle important. Je n'arrive pas à localiser les fichiers de bibliothèque et d'en-tête qui peuvent être nommés différemment d'un système à l'autre.Utiliser Autoconf pour trouver des bibliothèques avec des noms variables
Par exemple, j'ai besoin de compiler avec SpiderMonkey de Mozilla. Une fois compilé à partir de la source, SpiderMonkey devient libjs.so. Sur ma variante Linux, cependant, SpiderMonkey est installé en tant que libmozjs.so. C'est la même bibliothèque, juste un nom différent, donc un drapeau d'éditeur différent.
Existe-t-il un moyen approprié de détecter le nom de la bibliothèque? Est-ce que je le mets par défaut à 'js' et donne une option de configuration pour le surcharger?
J'ai la même situation avec les fichiers d'en-tête. Les fichiers d'en-tête pour SpiderMonkey sont installés dans/usr/include/mozjs/sur mon système d'exploitation. Je suis sûr que sur d'autres systèmes, ce sera/usr/include/js/ou peut-être même simplement/usr/include /. Comment trouver l'emplacement du fichier d'en-tête approprié? J'hésitais à faire un "find" à la vanille car il serait lent et je pourrais trouver la mauvaise copie du fichier (trouver le fichier dans le répertoire personnel d'un utilisateur au lieu de/usr/include/par exemple.)