A prática padrão nesse tipo de situação é usar um Autoconf arquivo padrão do site contendo os valores apropriados para os testes que o configure
deseja executar.
Neste caso específico, configure
está tentando determinar em qual direção a pilha cresce:
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; }
Assim, você compila esse código, executa-o em sua plataforma de destino e examina seu código de saída ( echo $?
). Crie um arquivo padrão do site para sua arquitetura de destino, por exemplo, config.arm-hisiv400-linux
e adicione uma linha com
glib_cv_stack_grows=yes
(se o código de saída acima for 0) ou
glib_cv_stack_grows=no
(se o código de saída for 1).
Em seguida, execute configure
com CONFIG_SITE
apontando para o caminho completo do arquivo padrão do site que você acabou de criar:
CONFIG_SITE=/path/to/config.arm-hisiv400-linux ./configure --prefix=$HOME --host=arm-hisiv400-linux
configure
deve usar o valor do arquivo padrão do site, ignorando o teste da pilha. Ele provavelmente falhará no próximo teste que precisa executar um programa compilado para o destino, mas você pode corrigir isso da mesma maneira, adicionando mais entradas ao arquivo padrão do site (contanto que configure.ac
use AC_CACHE_VAL
em torno de AC_TRY_RUN
).