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>
|