aboutsummaryrefslogtreecommitdiff
path: root/files/pt-br/mozilla/projects/nss/compilando/index.html
blob: 92e3619f2cdd73792387543bb78954dfdaef5289 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
---
title: Compilando o NSS
slug: Mozilla/Projects/NSS/Compilando
tags:
  - Guía
  - NSS
  - Segurança
translation_of: Mozilla/Projects/NSS/Building
---
<h2 id="Introdução">Introdução</h2>

<p>Essa página possui informações detalhadas sobre como compilar o NSS. Porque o NSS é uma biblioteca multiplataforma que compila em muitas plataformas diferentes e possui muitas opções, pode ser complexo compilá-lo. Por favor, leia essas instruções com cuidado antes de tentar compilar.</p>

<h2 id="Ambiente_de_compilação">Ambiente de compilação</h2>

<h3 id="Windows">Windows</h3>

<ol>
 <li>Obtenha os pré-requisitos
  <ul>
   <li>Compilação do NSS no Windows usa o mesmo sistema de compilação compartilhado que o Mozilla Firefox. Você deve primeiro instalar os <a href="/en-US/docs/Developer_Guide/Build_Instructions/Windows_Prerequisites">Pré-requisitos do Windows</a>, incluindo <strong>MozillaBuild</strong>.</li>
  </ul>
 </li>
</ol>

<h2 id="Obtenha_o_fonte">Obtenha o fonte</h2>

<p>NSS e NSPR usam Mercurial para controle de fonte, como outros projetos da Mozilla. Para obter os últimos fontes para NSS e NSPR - o que pode não ser parte de um lançamento estável - use os seguintes comandos:</p>

<pre>hg clone https://hg.mozilla.org/projects/nspr
hg clone https://hg.mozilla.org/projects/nss
</pre>

<p>Para obter o fonte de um lançamento específico, veja <a href="/en-US/docs/Mozilla/Projects/NSS/NSS_Releases">Lançamentos do NSS</a>.</p>

<h3 id="Configure_o_ambiente">Configure o ambiente</h3>

<p>O sistema de ompilação do NSS usa uma variedade de variáveis de ambiente para controlar a compilação. Segue abaixo uma lista de variáveis, junto com valores possívels que elas pode receber. Por exemplo, no Windows, você pode querer definir <strong>OS_TARGET=WIN95.</strong></p>

<dl>
 <dt>OS_TARGET</dt>
 <dd>
 <dl>
  <dt>WIN95</dt>
  <dd>Compila para todas as versões suportadas do Windows. Esse é o padrão (desde NSS 3.15.4) e é a configuração recomendada.</dd>
  <dt>WINNT (obsoleto)</dt>
  <dd>Uma configuração alternativa, à qual não há mais suporte. (Ela usa recursos especificais como a API de fibras do Windows.)</dd>
 </dl>
 </dd>
 <dt>BUILD_OPT</dt>
 <dd>
 <dl>
  <dt>0</dt>
  <dd>Compila uma versão de depuração (não otimizada) do NSS. <em>Essa é a padrão.</em></dd>
  <dt>1</dt>
  <dd>Compila uma versão otimizada (não depuração) do NSS.</dd>
 </dl>
 </dd>
 <dt>USE_64</dt>
 <dd>
 <dl>
  <dt>0</dt>
  <dd>Compila para uma ABI/um ambiente 32 bits. <em>Esse é o padrão.</em></dd>
  <dt>1</dt>
  <dd>Compila para um ABI/um ambiente 64 bits.</dd>
 </dl>
 </dd>
 <dt>USE_ASAN</dt>
 <dd>
 <dl>
  <dt>0</dt>
  <dd>Não cria uma compilação de <a href="http://clang.llvm.org/docs/AddressSanitizer.html">AddressSanitizer</a>. <em>Esse é o padrão.</em></dd>
  <dt>1</dt>
  <dd>Cria uma compilação de AddressSanitizer.</dd>
 </dl>
 </dd>
</dl>

<h2 id="Compilação">Compilação</h2>

<p>Para criar o NSS, é tão simples quanto navegar para o check-out do NSS e fazer o alvo "nss_build_all".</p>

<pre>cd nss
make nss_build_all
</pre>

<h2 id="Teste_de_unidade">Teste de unidade</h2>

<p>NSS contendo testes de unidade extensivos. Scripts para executá-los são executados no diretório <code>tests</code>.  Execute a suíte padrão por:</p>

<pre>cd nss/tests
HOST=localhost DOMSUF=localdomain ./all.sh</pre>

<p>Substitua <code>localhost</code> e <code>localdomain</code> com o nome do host e sufixo de domínio para o seu host (os testes apenas transformam estes em "$HOST.$DOMSUF"). Se você não possui um sufixo de domínio e estiver no Windows, adicione esta linha a c:\Windows\System32\drivers\etc\hosts : <code>127.0.0.1 localhost.localdomain</code> . Valide abrindo um shell de comando e digitando: <code>ping localhost.localdomain </code></p>

<p>A saída do teste é armazenada em <code>tests_results/security/$HOST.$NUMBER/</code>.  O arquivo <code>results.html</code> resumo  os resultados, <code>output.log</code> captura toda a saída de teste.</p>

<p>Outros subdiretórios do <code>nss/tests</code> contêm scripts para executar um subconjunto da suíte completa.</p>