Logiciels Libres et Systèmes Embarqués


3.10. Résultats et Conclusion

Nous venons de voir que la compilation des outils de développements GNU n'était pas des plus simples. En effet, il existe un très grand nombre d'options, il faut donc bien lire les documentations officielles et faire quelques tests pour bien les choisir.

Je voudrais attirer l'attention du lecteur sur le fait que beaucoup de tutoriels sur Internet sont incorrects. En effet, je peux prendre l'exemple de la fameuse option --with-newlib qui est appliquée dans presque tous les tutoriels alors qu'elle est inutile pour les versions de GCC supérieures à 3.0.x. Pire, la plupart précise que cette option indique à GCC de ne pas utiliser les fichiers d'en-têtes de la GlibC, évitant ainsi le problème de dépendance mutuelle. En fait, c'est le correctif non officiel qu'ils viennent juste d'appliquer (sans aucune explication) qui permet de contourner la dépendance ! A croire qu'ils se copient tous dessus... Enfin, très peu de tutoriels propose l'option --sysroot qui est fortement utile pour créer une ébauche de système racine et qui permet surtout de ne pas mélanger les exécutables hôtes, stockés dans $PREFIX/bin, et les exécutables cibles, stockés dans $SYSROOT/bin.

Depuis que j'ai rédigé ce chapitre sur l'installation des outils de développement GNU, les développeurs de SMP bénéficient d'une version pré-compilée à jour. S'ils souhaitent utiliser une nouvelle fonctionnalité, comme par exemple le support de "Native Posix Threads Library", ils pourront reprendre ce document et en suivre les différentes étapes. Enfin, le travail que j'ai effectué permet de faire des économie à SMP car un kit de développement similaire (avec 10 heure de support pendant 1 mois) coûte près de 3000 euros.