Esta tradução está incompleta. Ajude atraduzir este artigo.
Em maio de 2015, foi lançada a primeira versão 1.0 estável da linguagem de programação Rust, e vários experimentos para escrever partes do Gecko em Rust iniciaram. Esta página é um simples guia para pessoas trabalhando nesta área.
Adicionando código Rust
O suporte básico para buildar códigos em Rust foi lançado no bug 1161339. Se você possui rustc no seu path, você pode adicionar arquivos .rs ao SOURCES em moz.build. Então adicione
ac_add_options --enable-rust
ao seu mozconfig e provavelmente funcionará.
A biblioteca padrão do Rust utiliza armazenamento thread-local, que não é suportado no MacOS X 2.6, então se você está buildando em um Mac, você também precisará disso:
ac_add_options --enable-macos-target=10.7
Alternativamente, você pode compilar com um conjunto de ferramentas costumizadas com --disable-elf-tls
. Veja bug 1164109 para detalhes.
Graças as limitações do cargo e do sistema de build do Firefox, atualmente nós buildamos uma biblioteca estática stand-alone para cada arquivo rust listado em SOURCES. Você precisa portanto listar apenas os arquivos rust de alto nível. Tudo precisa ser um único crate, como uma compilação manual unificada. O compilador rust irá pesquisar por módulos interiores pelo nome do arquivo-fonte, mas referências crate externas não serão resolvidas.
Veja o bug 1135640 ('oxidation') para monitoramento global.
Testando código Rust
There's a simple linkage teste unitários in the tree. Você pode utilizá-lo para verificar se Rust está habilitado e funcionando com your build setup.
./mach gtest rust.*
Look for the rust.CallFromCpp test to pass, along with any others.