Quelle est la façon normale de traiter avec des emplacements de bibliothèque non standard dans un script autoconf?

StackOverflow https://stackoverflow.com/questions/944235

Question

Je suis en train d'utiliser pour la première fois la autoconf GNU / automake toolchain, donc la réponse à ma question pourrait être triviale.

Le programme a besoin d'OpenGL / GLUT où les en-têtes et les bibliothèques sont installés dans un emplacement non standard. J'ai trouvé ces macros qui doivent faire toutes les vérifications pour moi. Je suis tout simplement l'appeler avec AX_CHECK_GLUT . Comment puis-je faire de la macro trouver les bibliothèques? Je cherche quelque chose comme

  

./ --with-GLUT-dir = / home / hanno / rassasiement

Plus généralement: Quelle est la façon normale de traiter avec des emplacements de bibliothèque non standard dans un script autoconf? Bien sûr, je peux jouer avec des variables de CPPFLAGS et LIBS, mais j'ai le sentiment que je manque quelque chose.

Était-ce utile?

La solution

La façon dont les Autotools sont conçus, un auteur de paquet n'a rien à faire pour soutenir préalable installé dans des endroits non standard. La sortie de ./configure --help comprend les lignes suivantes:

LDFLAGS     linker flags, e.g. -L<lib dir> if you have libraries in a
            nonstandard directory <lib dir>
CPPFLAGS    C/C++/Objective C preprocessor flags, e.g. -I<include dir> if
            you have headers in a nonstandard directory <include dir>

Par conséquent, si le programme d'installation a une condition préalable installé dans un endroit non standard, il devra émettre

./configure CPPFLAGS=-I/non-standard-dir/include LDFLAGS=-L/non-standard-dir/lib

Parce que CPPFLAGS et LDFLAGS sont utilisés par des contrôles de configure et les règles de Makefile, tout devrait fonctionner.

Certains auteurs de paquets comme pour offrir un --with- package de =location comme raccourci pour ce qui précède, mais ce qui est normalement pas le but de --with- Options package . Ces options sont mieux utilisées pour spécifier si un package optionnel doit être utilisé ou comment doit être rempli une condition préalable .

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top