Actuellement, je m'intéresse à ARM en général et plus particulièrement aux cibles iphone/Android. Mais je veux juste en savoir plus sur clang, car il semble jouer un rôle important dans les années à venir.
J'ai essayé
clang -cc1 --help|grep -i list
clang -cc1 --help|grep arch|grep -v search
clang -cc1 --help|grep target
-triple <value> Specify target triple (e.g. i686-apple-darwin9)
Je sais que clang a un paramètre -triplet, mais comment puis-je lister toutes les valeurs possibles pour ce paramètre ? J'ai découvert que clang est très différent de gcc en ce qui concerne la compilation croisée, dans le monde de GCC vous devriez avoir un binaire séparé pour tout, comme PLATFORM_make ou PLATFORM_ld (i*86-pc-cygwin i*86-*-linux-gnu etc.). http://git.savannah.gnu.org/cgit/libtool.git/tree/doc/PLATFORMS )
dans le monde clang, il n'y a qu'un seul binaire (comme je l'ai lu sur certains forums). Mais comment puis-je obtenir la liste des cibles supportées ? Et si ma cible n'est pas supportée sur ma distro (linux/Windows/macos/quelque chose) comment puis-je obtenir celle qui supporte plus de plateforme ?
si je fais la dernière version SVN de clang comme ceci :
svn co http://llvm.org/svn/llvm-project/cfe/trunk clang
Est-ce que j'obtiendrai la plupart des plateformes ? Il semble que Clang n'ait pas été construit avec la compilation croisée à l'esprit dès le départ, mais comme il est basé sur llvm, il devrait être très convivial en théorie ? merci !