• [^] # Re: ./configure

    Posté par . En réponse à la dépêche Buildroot 2010.02 est sorti !. Évalué à 3.

    les autotools c'est quand même la grosse merde pour faire de la cross compilation : entre les test qui cherche a exécuter des programmes, d'autres test qui hardcode des résultats dans le cas de cross compilation, encore d'autre qui cherche des headers/libs dans /lib ou /usr il faut souvent les patcher.

    Je ne parle même pas de libtool qui fait les 3/4 du temps pas ce que tu veux.

    Et le plus triste c'est qu'il y a souvent un moyen plus ou moins portable de faire le test.

    Par exemple, quand les autotools veulent tester si ta machine cible et big ou little endian, tu passes ac_cv_c_bigendian=yes quand tu es big endian, et ac_cv_c_bigendian=no quand tu es little endian, et le tour est joué.
    $ touch endian.c
    $ cc -o endian.o -c endian.c
    $ objdump -a /tmp/endian.o

    ou encore

    $ echo "unsigned int endian = 'B' << 24 | 'I' << 16 | 'G' << 8 | 'E';" > end.c
    $ gcc end.c -c -o end.o
    $ od -t x1 end | grep -q '42 *49 *47 *45' && echo big