Was ist die normale Art und Weise mit Nicht-Standard-Bibliothek Stellen in einem autoconf-Skript zu tun?

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

Frage

Ich versuche, das GNU autoconf / autoWerkzeugKette zum ersten Mal zu verwenden, so dass die Antwort auf meine Frage vielleicht trivial sein.

Das Programm benötigt OpenGL / GLUT, wo die Header und Bibliotheken in einem Nicht-Standard-Standort installiert sind. Ich fand diese Makros, die alles tun, für mich die Überprüfung sollte. Ich rufe sie einfach mit AX_CHECK_GLUT . Wie mache ich das Makro die Bibliotheken finden? Ich bin auf der Suche nach so etwas wie

  

./ configure --with-glut-dir = / home / hanno / glut

Generell: Was ist die normale Art und Weise des Umgangs mit Nicht-Standard-Bibliothek Stellen in einem autoconf-Skript? Natürlich kann ich mit CPPFLAGS und LIBS Variablen spielen, um, aber ich habe das Gefühl, dass ich etwas fehle.

War es hilfreich?

Lösung

Die Art und Weise der Autotools entworfen sind, ein Paket Autor hat noch nichts zu tun Voraussetzung in Nicht-Standard-Standorten installiert zu unterstützen. Die Ausgabe von ./configure --help enthält die folgenden Zeilen:

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>

Deshalb, wenn das Installationsprogramm eine Voraussetzung in einem Nicht-Standard-Standort installiert ist, wird er erlassen

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

Da CPPFLAGS und LDFLAGS verwendet werden, durch configure Kontrollen und Makefile Regeln, sollte alles funktionieren.

Einige Paketautoren gerne eine --with- bieten Paket =location Option als Abkürzung für die oben, aber das ist normalerweise nicht der Zweck der --with- Paket Optionen. Diese Optionen sind besser genutzt angeben, ob ein optionales Paket verwendet werden soll oder wie eine Voraussetzung erfüllt werden sollte.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top