Wie verwende ich Autoconf-Makros, um Werte in einem configure-Skript oder Makefile, das durch AC_OUTPUT ausgegeben wird, bedingt zu ändern.
Das Ziel ist es, AC_CANONICAL_TARGET oder einen anderen Weg zu verwenden, um zu erkennen, dass ich auf OS X bin und dann meinen Makefiles zu erlauben, die LDFLAGS durch Entfernen von -shared und Ersetzen von -soname mit -dylib_install_name anzupassen.
Ich muss also lernen, wie ich die AC_SUBST-Werte oder die lokalen Variablen in der Datei configure.ac mit einer bedingten Anweisung, die den Zielhost überprüft, ändern kann.
Ich muss hinzufügen, dass ich versucht habe, AC_COMPILE_IFELSE mit AC_LANG_PROGRAM zu verwenden, um diesen Code zu kompilieren.
#include <unistd.h>
#ifndef __APPLE__
error: This is not apple Darwin
#endif
Ich erhalte zwar keine Fehlermeldungen, kann aber nicht wirklich bestätigen, dass es funktioniert. Wenn ich das neue Skript unter FreeBSD oder Darwin ausführe, gibt es keine entsprechende Ausgabe. Außerdem verwende ich immer autoconf -Wall.
Das zweite und dritte Argument für AC_COMPILE_IFELSE ist [is_darwin=yes], [is_darwin=no], aber wie kann ich auf diese Werte zugreifen?
Vielen Dank im Voraus für jede Hilfe.