In dieser Situation wird standardmäßig eine Autoconf-Site-Standarddatei verwendet, die die entsprechenden Werte für die Tests enthält, configure
die ausgeführt werden sollen.
In diesem speziellen Fall configure
wird versucht festzustellen, in welche Richtung der Stapel wächst:
volatile int *a = 0, *b = 0;
void f (int i) { volatile int x = 5; if (i == 0) b = &x; else f (i - 1); }
int main () { volatile int y = 7; a = &y; f (100); return b > a ? 0 : 1; }
Sie würden diesen Code also gegenseitig kompilieren, auf Ihrer Zielplattform ausführen und den Exit-Code ( echo $?
) untersuchen. Erstellen Sie beispielsweise eine Site-Standarddatei für Ihre Zielarchitektur config.arm-hisiv400-linux
und fügen Sie eine Zeile mit hinzu
glib_cv_stack_grows=yes
(wenn der Exit-Code oben 0 war) oder
glib_cv_stack_grows=no
(wenn der Exit-Code 1 war).
Führen Sie dann configure
mit CONFIG_SITE
Hinweis auf den vollständigen Pfad der Site Standarddatei , die Sie gerade erstellt haben :
CONFIG_SITE=/path/to/config.arm-hisiv400-linux ./configure --prefix=$HOME --host=arm-hisiv400-linux
configure
sollte den Wert aus der Site-Standarddatei verwenden und den Test für den Stapel überspringen. Es wird wahrscheinlich auf den nächsten Test fehlschlagen , die ein Programm für das Ziel kompiliert ausgeführt werden muss, aber Sie können das in der gleichen Art und Weise zu beheben, mehrere Einträge auf der Website Standarddatei (solange das Hinzufügen configure.ac
Anwendungen AC_CACHE_VAL
um AC_TRY_RUN
).
./configure --help
könnte helfen.