aboutsummaryrefslogtreecommitdiff
path: root/files/pt-br/mozilla/firefox/building_firefox_with_rust_code/index.html
diff options
context:
space:
mode:
authorPeter Bengtsson <mail@peterbe.com>2020-12-08 14:42:52 -0500
committerPeter Bengtsson <mail@peterbe.com>2020-12-08 14:42:52 -0500
commit074785cea106179cb3305637055ab0a009ca74f2 (patch)
treee6ae371cccd642aa2b67f39752a2cdf1fd4eb040 /files/pt-br/mozilla/firefox/building_firefox_with_rust_code/index.html
parentda78a9e329e272dedb2400b79a3bdeebff387d47 (diff)
downloadtranslated-content-074785cea106179cb3305637055ab0a009ca74f2.tar.gz
translated-content-074785cea106179cb3305637055ab0a009ca74f2.tar.bz2
translated-content-074785cea106179cb3305637055ab0a009ca74f2.zip
initial commit
Diffstat (limited to 'files/pt-br/mozilla/firefox/building_firefox_with_rust_code/index.html')
-rw-r--r--files/pt-br/mozilla/firefox/building_firefox_with_rust_code/index.html34
1 files changed, 34 insertions, 0 deletions
diff --git a/files/pt-br/mozilla/firefox/building_firefox_with_rust_code/index.html b/files/pt-br/mozilla/firefox/building_firefox_with_rust_code/index.html
new file mode 100644
index 0000000000..7f50b8a9c2
--- /dev/null
+++ b/files/pt-br/mozilla/firefox/building_firefox_with_rust_code/index.html
@@ -0,0 +1,34 @@
+---
+title: Building Firefox with Rust code
+slug: Mozilla/Firefox/Building_Firefox_with_Rust_code
+translation_of: Archive/Mozilla/Firefox/Building_Firefox_with_Rust_code
+---
+<div>{{FirefoxSidebar}}</div><p>Em maio de 2015, foi lançada a primeira versão 1.0 estável da <a href="http://www.rust-lang.org/">linguagem de programação Rust</a>, e vários experimentos para escrever partes do Gecko em Rust iniciaram. Esta página é um simples guia para pessoas trabalhando nesta área.</p>
+
+<h2 id="Adicionando_código_Rust">Adicionando código Rust</h2>
+
+<p>O suporte básico para buildar códigos em Rust foi lançado no <a class="bz_bug_link
+ bz_status_RESOLVED bz_closed" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1161339" title="RESOLVED FIXED - Support rust files in moz.build SOURCES">bug 1161339</a>. Se você possui <em>rustc</em> no seu path, você pode adicionar arquivos .rs ao SOURCES em moz.build. Então adicione</p>
+
+<pre>ac_add_options --enable-rust</pre>
+
+<p>ao seu <a href="/en-US/docs/Configuring_Build_Options">mozconfig</a> e provavelmente funcionará.</p>
+
+<p>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:</p>
+
+<pre>ac_add_options --enable-macos-target=10.7</pre>
+
+<p>Alternativamente, você pode compilar com um conjunto de ferramentas costumizadas com -<code>-disable-elf-tls</code>. Veja <a class="bz_bug_link
+ bz_status_NEW " href="https://bugzilla.mozilla.org/show_bug.cgi?id=1164109" title="NEW - rust code fails to link on macosx because of thread-local storage">bug 1164109</a> para detalhes.</p>
+
+<p>Graças as limitações do <em>cargo</em> 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 <em>crate</em>, como uma compilação manual unificada. O compilador rust irá pesquisar por módulos interiores pelo nome do arquivo-fonte, mas referências <em>crate</em> externas não serão resolvidas.</p>
+
+<p>Veja o <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=1135640">bug 1135640</a> ('oxidation') para monitoramento global.</p>
+
+<h2 id="Testando_código_Rust">Testando código Rust</h2>
+
+<p>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.</p>
+
+<pre>./mach gtest rust.*</pre>
+
+<p>Look for the <strong>rust.CallFromCpp</strong> test to pass, along with any others.</p>