• # Pinaillage

    Posté par . En réponse au message Utiliser Anjuta sans les autotools. Évalué à 10.

    Tes raisons de te passer des autotools sont certainement excellentes, mais je me permet de préciser que, contrairement à ce que tu sembles affirmer, le but du configure n'est pas (pas uniquement, en tous cas) de déterminer les choix de l'utilisateur en matière de configuration de la compilation.

    En fait, cet aspect des choses n'est qu'un petit plus "pratique" qui est rendu possible par les scripts de configuration. Le but initial, c'est de déterminer la configuration de la machine de manière automatique. Il suffit de zieuter l'éxecution d'un script configure d'autotools pour voir qu'il ne se limite pas vraiment à prendre en compte les --with-killer-but-nevertheless-unstable-feature qui trainent sur sa ligne de commande. Il teste aussi et surtout l'existence et/ou les prototypes de nombreuses fonctions (plus ou moins) standard. Ainsi, on peut s'assurer que le programme pourra tourner y compris sur des archis différentes (lire éventuellement "merdique").

    Alors effectivement, si ton programme est dédié à un ensemble relativement limité d'architectures (genre uniquement des linux de versions récentes), tu peux te permettre de faire ce genre de choses, et effectivement tu n'auras pas besoin d'un Makefile plus compliqué. Au pire, tu auras à demander à l'utilisateur le racine de X et deux-choses un peu siouxes.

    Si tu commences à cibler des plateformes plus variées, telles de vieilles versions de divers unices, des unices propriétaires et peu respectueux des standards (j'ai pas dit HPUX! me regardez pas comme ça!), voire des pas-unix-du-tout (mingw, ou dans une moindre mesure cygwin ou beos), tu risques fort de trouver ton makefile "pas compliqué" nettement plus tordu et difficile à maintenir. Tu commenceras à avoir des choses comme:

    cat > test.c << EOF
    #include <header-precolombien.h>

    void main {};
    EOF
    gcc test.c
    if $COMPILATION_FOIRED then echo "Error: you need to install libdeluge-devel to compile my happy program, please come back later.


    Rajoute ce genre de choses pour 25 librairies et fonctions tordues. A ce moment-là, tu en viendras peut-être à te dire que les autotools, pour compliqués et contraignant qu'ils soient, pourraient bien te simplifier la vie en fin de compte.

    Bien entendu, je suis complètement off-topic et je ne t'aide absolument pas, mais je ne pouvais pas laisser passer l'idée que les autotools ne servent à rien. Qu'ils soient lourds, imparfaits, j'adhère complètement. Mais leur objectif est louable, et relativement bien rempli.