Compiler Firefox avec Rust

Cette traduction est incomplète. Aidez à traduire cet article depuis l'anglais.

En mai 2015 le langage de programmation Rust a atteint sa version stable 1.0 et diverses expérimentations comme la rédaction de parties de Gecko en Rust ont commencé. Cette page est un guide sommaire destiné aux personnes travaillant sur ce projet.

Ajouter le code Rust

Le support de base pour la compilation avec le code Rust est disponible sur la page du  bogue 1161339. Si vous disposez de rustc dans votre variable path vous pouvez ajouter les fichiers .rs à la variable SOURCES dans moz.build, puis ajouter :

ac_add_options --enable-rust

à votre mozconfig et ça devrait fonctionner.

La bibliothèque standard de rust utilise un thread local de stockage qui n'est pas supporté sur MacOS X 10.6. Ainsi, si vous compilez le projet depuis un Mac vous devez aussi ajouter :

ac_add_options --enable-macos-target=10.7

Vous pouvez aussi compiler une toolchain personnalisée de Rust sans la partie relative à std::thread. Pour plus de détails, regardez le bogue 1164109.

Because of limitations of cargo and the Firefox build system, currently we build a stand-alone static lib from each rust file listed in SOURCES. You must therefore list just the top-level rust file. Everything must be a single crate, like a manual unified build. The rust compiler will search for interior modules by source file name, but extern crate references won't be resolved.

Allez voir le bogue 1135640 ('oxidation') pour un suivi global.

Tester le code Rust

Il existe un test unitaire simple de disponible dans le répertoire du projet. Vous pouvez l'utiliser pour savoir si Rust est activé et fonctionne avec votre configuration.

./mach gtest rust.*

Regardez si le test rust.CallFromCpp réussi ainsi que tous les autres.

Étiquettes et contributeurs liés au document

Étiquettes : 
 Contributeurs à cette page : AmarOk1412
 Dernière mise à jour par : AmarOk1412,