Ich bin neu zu m4 und versuche, ein Makro einzurichten, mit dem der Benutzer den Speicherort einer Bibliothek zur Konfigurationszeit ./configure --with-mylib=/path/to/lib.so
angeben kann.m4 - Ausführen eines Shell-Befehls
In der M4-Makro mit AC_ARG_WITH
, ich werde überprüfen, dass die angegebene Datei tatsächlich existiert, und speichern Sie den Pfad zu dieser Bibliothek. MYLIB_PATH=esyscmd([dirname $withval])
. Dies erzeugt den Fehler:
dirname: missing operand
Die Shell scheint über $withval
nicht zu wissen. Wie bekomme ich es durch, um diesen Befehl auszuführen?
Danke,
Andrew
Warum nicht einfach den Benutzer den Speicherort der Bibliothek angeben, indem Sie LDFLAGS festlegen? –
Als Umgebungsvariable vor dem Build? – ajwood
Als ein Argument zu konfigurieren, oder in einer config.site. "./configure LDFLAGS = -L/path/to/lib" sollte funktionieren. –