<?xml version="1.0" ?>
<!DOCTYPE book PUBLIC "-//KDE//DTD DocBook XML V4.2-Based Variant V1.1//EN" "dtd/kdex.dtd" [
  <!ENTITY kappname "kdesrc-build">
  <!ENTITY package "kdesdk">
  <!ENTITY % addindex "IGNORE">
  <!ENTITY % Brazilian-Portuguese "INCLUDE"
> <!-- Change language only here -->
  <!ENTITY kdesrc-build "<application
>kdesrc-build</application
>">
  <!ENTITY BSD '<acronym
>BSD</acronym
>'>
  <!ENTITY git '<application
>Git</application
>'>
  <!ENTITY cmake '<application
>CMake</application
>'>
  <!ENTITY make '<application
>Make</application
>'>
  <!ENTITY ssh '<application
>SSH</application
>'>
  <!ENTITY cron '<application
>Cron</application
>'>
  <!ENTITY subversion '<application
>Subversion</application
>'>
  <!ENTITY sudo '<application
>Sudo</application
>'>
  <!ENTITY url '<acronym
>URL</acronym
>'>

  <!-- These define shortcut entities for some of the configuration options.
       Just add them as necessary.
  -->

  <!ENTITY configure-flags '<link linkend="conf-configure-flags"
>configure-flags</link
>'>
  <!ENTITY kdedir '<link linkend="conf-kdedir"
>kdedir</link
>'>
  <!ENTITY qtdir '<link linkend="conf-qtdir"
>qtdir</link
>'>
  <!ENTITY build-dir '<link linkend="conf-build-dir"
>build-dir</link
>'>
  <!ENTITY module-base-path '<link linkend="conf-module-base-path"
>module-base-path</link
>'>
  <!ENTITY override-url '<link linkend="conf-override-url"
>override-url</link
>'>
  <!ENTITY source-dir '<link linkend="conf-source-dir"
>source-dir</link
>'>
  <!ENTITY email-address '<link linkend="conf-email-address"
>email-address</link
>'>
  <!ENTITY email-on-compile-error '<link linkend="conf-email-on-compile-error"
>email-on-compile-error</link
>'>
  <!ENTITY colorful-output '<link linkend="conf-colorful-output"
>colorful-output</link
>'>
  <!ENTITY tag '<link linkend="conf-tag"
>tag</link
>'>
  <!ENTITY branch '<link linkend="conf-branch"
>branch</link
>'>
  <!ENTITY do-not-compile '<link linkend="conf-do-not-compile"
>do-not-compile</link
>'>
  <!ENTITY checkout-only '<link linkend="conf-checkout-only"
>checkout-only</link
>'>
  <!ENTITY svn-server '<link linkend="conf-svn-server"
>svn-server</link
>'>
  <!ENTITY make-install-prefix '<link linkend="conf-make-install-prefix"
>make-install-prefix</link
>'>
  <!ENTITY niceness '<link linkend="conf-niceness"
>niceness</link
>'>
  <!ENTITY set-env '<link linkend="conf-set-env"
>set-env</link
>'>
  <!ENTITY libpath '<link linkend="conf-libpath"
>libpath</link
>'>
  <!ENTITY binpath '<link linkend="conf-binpath"
>binpath</link
>'>

  <!-- These define shortcut entities for some of the command line options.
       Just add them as necessary.
  -->
  <!ENTITY cmd-nice '<link linkend="cmdline-nice"
>--nice</link
>'>
  <!ENTITY cmd-ignore-modules '<link linkend="cmdline-ignore-modules"
>--ignore-modules</link
>'>
  <!ENTITY cmd-resume-from '<link linkend="cmdline-resume-from"
>--resume-from</link
>'>
  <!ENTITY cmd-resume-after '<link linkend="cmdline-resume-after"
>--resume-after</link
>'>
  <!ENTITY cmd-reconfigure '<link linkend="cmdline-reconfigure"
>--reconfigure</link
>'>
  <!ENTITY cmd-refresh-build '<link linkend="cmdline-refresh-build"
>--refresh-build</link
>'>
]>

<book lang="&language;">

<bookinfo>
<title
>Manual do script &kdesrc-build;</title>

<authorgroup id="authors">
<author
><firstname
>Michael</firstname
><surname
>Pyne</surname
> <affiliation
><address
><email
>mpyne@kde.org</email
></address
></affiliation>
</author>
<author
><firstname
>Carlos</firstname
><surname
>Woelz</surname
> <affiliation
><address
><email
>carloswoelz@imap-mail.com</email
></address
></affiliation>
</author>


<othercredit role="translator"
><firstname
>Marcus</firstname
><surname
>Gama</surname
><affiliation
><address
><email
>marcus.gama@gmail.com</email
></address
></affiliation
><contrib
>Tradução</contrib
></othercredit
> 

</authorgroup>

<copyright>
<year
>2006</year>
<year
>2007</year>
<year
>2008</year>
<year
>2009</year>
<year
>2010</year>
<holder
>Michael Pyne</holder>
</copyright>

<copyright>
<year
>2005</year>
<holder
>Carlos Woelz</holder>
</copyright>

<legalnotice
>&FDLNotice;</legalnotice>

<date
>2010-01-30</date>
<releaseinfo
>1.12</releaseinfo>

<abstract>
<para
>O &kdesrc-build; é um script que compila e instala programas do &kde; diretamente a partir do repositório de código-fonte do projeto do &kde;.</para>
</abstract>

<keywordset>
<keyword
>KDE</keyword>
<keyword
>kdesdk</keyword>
<keyword
>SVN</keyword>
<keyword
>Subversion</keyword>
<keyword
>git</keyword>
<keyword
>gitorious</keyword>
<keyword
>Desenvolvimento KDE</keyword>
<!-- Older names for the software -->
<keyword
>kdesvn-build</keyword>
<keyword
>kdecvs-build</keyword>
</keywordset>

</bookinfo>

<chapter id="introduction">
<title
>Introdução</title>

<para
>O &kdesrc-build; é um script que ajuda os usuários a instalar programas do <ulink url="http://www.kde.org/"
>&kde;</ulink
> a partir dos seus repositórios de código do <ulink url="http://subversion.tigris.org/"
>&subversion;</ulink
> e do <ulink url="http://gitscm.org/"
>&git;</ulink
>. </para>

<tip
><para
>Este programa costumava ser chamado de kdesvn-build e, por este motivo, você poderá ainda encontrar referências ao kdesvn-build na Internet ou na sua documentação instalada.</para
></tip>

<para
>Este guia é uma visão geral para descrever os seguintes aspectos de operação do &kdesrc-build;: </para>

<itemizedlist>
<listitem
><para
><link linkend="features"
>Funcionalidades</link
> notáveis.</para
></listitem>
<listitem
><para
>Uma <link linkend="getting-started"
>visão geral</link
> dos passos necessários para iniciar.</para
></listitem>
<listitem
><para
>A sintaxe do <link linkend="configure-data"
>arquivo de configuração</link
> e suas opções.</para
></listitem>
<listitem
><para
>As <link linkend="cmdline"
>opções de linha de comando</link
>.</para
></listitem>
</itemizedlist>

<para
>Também são documentados aqui os passos que você deve realizar usando outras ferramentas (em outras palavras, passos que não são automaticamente realizados pelo &kdesrc-build;). </para>

</chapter>
<chapter id="getting-started">
<title
>Começando</title>

<para
>Neste capítulo, será apresentada a forma de utilização do &kdesrc-build; para obter os módulos do repositório do &kde; e compilá-los. Nós daremos também uma explicação básica da estrutura de &subversion; do &kde; e os passos que você terá que efetuar antes de executar o programa. </para>

<para
>Todos os tópicos presentes neste capítulo são cobertos com ainda mais detalhes no artigo <ulink url="http://techbase.kde.org/Getting_Started/Build/KDE4"
> Compilando o &kde; 4 a partir do Código-Fonte</ulink
>, na <ulink url="http://techbase.kde.org/"
> Página TechBase do &kde;</ulink
>. Se você estiver compilando o &kde; pela primeira vez, é uma boa ideia lê-lo ou consultá-lo como fonte de referência. Você irá encontrar informações detalhadas sobre as ferramentas de empacotamento e os requisitos, os problemas de compilação comuns e as estratégias e informações sobre a execução da instalação do seu novo &kde;. </para>

<sect1 id="before-building">
<title
>Preparando o Sistema para Compilar o &kde;</title>

<sect2 id="before-building-users">
<title
>Configurar uma nova conta de usuário</title>

<para
>É recomendável que você use uma conta de usuário diferente para compilar, instalar e executar seus programas &kde;, uma vez que menos permissões são necessárias e para evitar a interferência com os pacotes de sua distribuição. Se você já possui pacotes do &kde; instalados, a melhor opção seria criar um usuário diferente (dedicado) para compilar e executar o novo &kde;. </para>

<tip
><para
>Deixar seu sistema &kde; intocado também permite que você volte ao estado anterior em uma emergência caso um &kde; compilado seja instável por qualquer razão. </para
></tip>

<para
>Mais tarde, você poderá fazer uma instalação de sistema se desejar. Este documento não cobre uma instalação a nível do sistema. Se estiver efetuando uma instalação a nível do sistema, provavelmente já deverá saber o que está fazendo. Caso contrário, recomenda-se consultar a documentação ou páginas de ajuda da sua distribuição, para saber como preparar e usar a instalação do sistema corretamente. </para>

</sect2>
<sect2 id="before-building-preparation">
<title
>Certifique-se de que o seu sistema está pronto para compilar o código do &kde;</title>

<para
>Antes de usar o programa &kdesrc-build; (ou qualquer outra estratégia de compilação), você deverá instalar as ferramentas de desenvolvimento e bibliotecas necessárias para o &kde;. A lista completa das ferramentas necessárias poderá ser encontrada em <ulink url="http://techbase.kde.org/"
>KDE TechBase</ulink
>. </para>

<para
>Aqui está uma lista das coisas que você irá precisar:</para>
<itemizedlist>

<listitem
><para
>Você irá precisar do &cmake;. A versão necessária irá variar, dependendo da versão do &kde; 4 que estiver compilando; veja a TechBase para detalhes mais específicos.</para
></listitem>

<listitem
><para
>O programa cliente de &subversion; também é necessário, incluindo o suporte para HTTP Seguro (HTTPS). Para certificar-se do suporte necessário, você pode executar <userinput
><command
>svn <option
>--version</option
></command
></userinput
>. Se a saída informar que ele manipula o esquema https (para acesso de escrita ao svn.kde.org) ou o esquema svn (para acesso somente leitura do anonsvn.kde.org) então o cliente deve funcionar.</para
></listitem>

<listitem
><para
>Se você for compilar o &Qt; ou qualquer um dos vários módulos do &kde; que estão disponíveis a partir do <ulink url="http://gitorious.org/"
>Gitorious</ulink
> então precisará que o <ulink url="http://gitscm.org/"
>Gerenciador de controle de código git</ulink
> esteja instalado também.</para
></listitem>

<listitem
><para
>Você precisará do ambiente de desenvolvimento C++. O GCC 3.4 ou superior é recomendado.</para
></listitem>

</itemizedlist>

<note
><para
>A maioria das distribuições e sistemas operacionais inclui um método para instalar facilmente as ferramentas de desenvolvimento necessárias. Consulte a página <ulink url="http://techbase.kde.org/Getting_Started/Build/KDE4"
>Começando</ulink
> da TechBase, na sua seção <quote
>Pacotes necessários para sua Distribuição</quote
> para ver se estas instruções já estão disponíveis.</para
></note>

<para
>Uma exceção às bibliotecas necessárias é a biblioteca &Qt;. O &kdesrc-build; irá instalar normalmente uma cópia do &Qt;, quer já a tenha instalado ou não. Assim, não é necessário possuí-la. Se você não quiser usar a cópia do &Qt;, terá que fazer o seguinte:</para>

<itemizedlist>
<listitem>
  <para
>Certifique-se de que removeu o módulo 'qt-copy' do seu <link linkend="configure-data"
>arquivo de configuração</link
>, uma vez que você não irá precisar dele e, se possuí-lo, isso só vai adicionar um tempo adicional à sua compilação.</para>
</listitem>

<listitem>
  <para
>Mude a configuração da opção <link linkend="conf-qtdir"
>qtdir</link
> no seu <link linkend="configure-data"
>arquivo de configuração</link
>, de modo a apontar para o seu &Qt; de sistema. Isto normalmente equivale à configuração do $<envar
>QTDIR</envar
> no seu sistema.</para>
</listitem>

<listitem>
  <para
>Se você não tiver já o &Qt; instalado, instale-o, incluindo os pacotes -dev ou -devel necessários. Você deverá ter pelo menos o &Qt; 4.6 se for compilar o &kde; 4.</para>
</listitem>
</itemizedlist>

<para
>Alguns destes pacotes estão divididos em bibliotecas, programas ou utilitários e pacotes de desenvolvimento. Você precisará, pelo menos, do programa ou biblioteca e do seu pacote de desenvolvimento. Se tiver dúvidas, instale tudo. As bibliotecas que necessita irão variar de acordo com os módulos que pretende compilar, uma vez que cada módulo possui os seus próprios requisitos. O <ulink url="http://techbase.kde.org/Getting_Started/Build/KDE4#Required_packages_from_your_distribution"
> TechBase do &kde;</ulink
> tem mais detalhes sobre as ferramentas e técnicas específicas usadas para instalar e encontrar o 'software' necessário. </para>

</sect2>

<sect2 id="before-building-prepare-script">
<title
>Configurar o &kdesrc-build;</title>

<sect3 id="get-kdesrc-build">
<title
>Instalar o &kdesrc-build;</title>
<para
>Você provavelmente já tem uma versão do programa &kdesrc-build; instalada no seu sistema. Contudo, se não tiver, poderá obtê-lo na <ulink url="http://kdesrc-build.kde.org/"
>página do &kdesrc-build;</ulink
> ou poderá encontrá-lo no seu local original, no repositório de código do &kde;.</para>

<note
><para
>O &kdesrc-build; vem incluído no módulo 'kdesdk', sendo este módulo normalmente já incluído nas distribuições. Se você tiver baixado o &kdesrc-build;, certifique-se de que está usando a versão que baixou. Você poderá usar a opção --version para garantir que está usando a versão correta.</para
></note>

<orderedlist>
<listitem
><para
>Para baixar o &kdesrc-build; a partir de sua página, basta ir para a <ulink url="http://kdesrc-build.kde.org/"
>página do &kdesrc-build;</ulink
> e transferir a versão mais recente. A versão está dentro de um pacote TAR comprimido, que você pode extrair com o &ark; ou o <command
>tar</command
>. O conteúdo do pacote inclui o programa &kdesrc-build; atual e um arquivo de configuração de exemplo (<filename
>kdesrc-buildrc-sample</filename
>).</para
></listitem>

<listitem
><para
>Ou você poderá obter o &kdesrc-build; do seu repositório de código, localizado em: <ulink url="http://websvn.kde.org/trunk/KDE/kdesdk/scripts/"
>http://websvn.kde.org/trunk/KDE/kdesdk/scripts/</ulink
>. Esta é a pasta do Kit de Desenvolvimento de Software do &kde;, que é o berço do &kdesrc-build;. Você poderá clicar no item <filename
>kdesrc-build</filename
>, que lhe mostrará uma página onde poderá obter a última versão. Faça isso e salve-o num local conveniente no seu disco rígido. Faça o mesmo para o <filename
>kdesrc-buildrc-sample</filename
> se precisar.</para
></listitem>
</orderedlist>

<para
>Independentemente da técnica que usar, você deverá certificar-se de que o arquivo <filename
>kdesrc-build</filename
> é executável. Por conveniência, deverá colocá-lo em uma pasta que esteja definida na variável de ambiente <envar
>PATH</envar
>, caso contrário, poderá obter mensagens que indiquem que o comando não foi encontrado ou que está rodando uma versão errada por engano.</para>
</sect3>

<sect3 id="setup-rcfile">
<title
>Preparar o arquivo de configuração</title>

<para
>Ainda que o &kdesrc-build; não necessite que você crie um <link linkend="configure-data"
>arquivo de configuração</link
>, isto torna o trabalho muito mais simples. Se usar um <link linkend="configure-data"
>arquivo de configuração</link
>, você poderá controlar os módulos que são instalados ou remover os que não deseja instalar. Por padrão, o &kdesrc-build; cria uma instalação utilizável do &kde; que usa opções de instalação muito genéricas, o que poderá não atender as suas necessidades. Assim, é melhor usar um <link linkend="configure-data"
>arquivo de configuração</link
>. </para>

<para
>O <link linkend="configure-data"
>arquivo de configuração</link
> deverá se chamar <filename
>.kdesrc-buildrc</filename
>. Este arquivo deverá ser instalado na pasta pessoal (<filename class="directory"
>~/</filename
>), e contém todos os dados de configuração necessários para executar o programa, como as opções de configuração, compilação, a localização do código, o destino da instalação (prefixo), os módulos que serão compilados, &etc;. Os dados de configuração padrão são oferecidos pelo arquivo <filename
>kdesrc-buildrc-sample</filename
>, que pode ser copiado para o <filename
>~/.kdesrc-buildrc</filename
> e depois editado. </para>

<para
>Você poderá encontrar mais informações sobre a sintaxe do <link linkend="configure-data"
>arquivo de configuração</link
> em <xref linkend="configure-data"/> e em <xref linkend="kdesrc-buildrc"/>. </para>

</sect3>
</sect2>
</sect1>

<sect1 id="configure-data">
<title
>Definindo os Dados de Configuração</title>

<para
>Para usar o &kdesrc-build;, você deverá ter um arquivo na sua pasta pessoal chamado <filename
>.kdesrc-buildrc</filename
>, que define as opções gerais e os módulos que deseja baixar e compilar. </para>

<note
><para
>É possível usar arquivos de configuração diferentes para o &kdesrc-build;, que estão descritos em <xref linkend="kdesrc-buildrc"/>. Se você precisar usar várias configurações, veja esta seção. Aqui, nós iremos considerar que a configuração está armazenada em <filename
>~/.kdesrc-buildrc</filename
>.</para
></note>

<para
>A forma mais simples de prosseguir é usar o arquivo <filename
>kdesrc-buildrc-sample</filename
> como modelo, definir as opções globais de acordo com as suas necessidades e a lista dos módulos que deseja compilar. </para>

<para
>A configuração padrão já deverá ser apropriada para efetuar uma compilação do &kde;. Algumas opções que você poderá querer alterar incluem: <itemizedlist>
<listitem
><para
><link linkend="conf-binpath"
>binpath</link
>, para alterar a lista de pastas que serão percorridas na procura de comandos. É exatamente igual à variável <envar
>PATH</envar
> da linha de comando.</para
></listitem>

<listitem
><para
><link linkend="conf-kdedir"
>kdedir</link
>, que muda a pasta de destino para onde o &kde; será instalado. Ela é por padrão a <filename class="directory"
>~/kde</filename
>, que é uma instalação para um único usuário.</para
></listitem>

<listitem
><para
><link linkend="conf-qtdir"
>qtdir</link
>, que controla o local da instalação do &Qt; a ser usado. Por padrão, usa um &Qt; compilado pelo &kdesrc-build;, usando o módulo especial 'qt-copy' do repositório e o último código-fonte disponível. (<filename class="directory"
>~/kdesrc/build/qt-copy</filename
>).</para>

<para
>Isto também controla onde instalar o qt-copy.</para
></listitem>

<listitem
><para
><link linkend="conf-svn-server"
>svn-server</link
>, que seleciona o &url; de onde baixar o código. Isto é útil se você for um programador com uma <ulink url="http://techbase.kde.org/Contribute/First_Steps_with_your_KDE_SVN_Account"
>conta &subversion; para o &kde;</ulink
>.</para
></listitem>
</itemizedlist>
</para>

<para
>Depois da seção global, existe uma lista de módulos a compilar, delimitados por 'module ... end module'. Verifique se os módulos indicados são, de fato, os módulos que deseja compilar. As opções padrão do arquivo <filename
>kdesrc-buildrc-sample</filename
> deverão ser suficientes para obter uma instalação relativamente completa do &kde;. Salve o resultado como <filename
>.kdesrc-buildrc</filename
> na sua pasta pessoal. </para>

<para
>Se você desejar fazer um ajuste fino do seu arquivo <filename
>.kdesrc-buildrc</filename
>, consulte o <xref linkend="kdesrc-buildrc"/> para obter informações mais detalhadas sobre todas as opções de configuração. </para>

</sect1>

<sect1 id="building-and-troubleshooting">
<title
>Usando o script &kdesrc-build;</title>

<para
>Agora você está pronto para executar o programa. A partir de uma janela de terminal, autentique-se com o usuário que usará para compilar o &kde; e execute o programa: <screen
><prompt
>$</prompt
><command
>kdesrc-build</command
>
</screen>
</para>

<para
>Agora, o script deverá começar a baixar o código e a compilá-lo. Dependendo dos módulos que baixar, pode ser possível que o &kdesrc-build; não consiga ter sucesso na primeira vez que compilar o &kde;. Não se desespere! </para>

<para
>O &kdesrc-build; registra o resultado de todos os comandos que executa. Por padrão, os arquivos de registro são mantidos em <filename class="directory"
>~/kdesvn/log</filename
>. Para ver o que causou um determinado erro num módulo no último comando do &kdesrc-build;, normalmente é suficiente ver o <filename class="directory"
>~/kdesvn/log/latest/<replaceable
>nome-módulo</replaceable
>/error.log</filename
>.</para>

<para
>Nesse arquivo, você verá o erro que fez com que a compilação falhasse para esse módulo. Se o arquivo disser (no fim) que lhe faltam alguns pacotes, tente instalar o pacote (incluindo os pacotes -dev apropriados) antes de tentar compilar esse módulo e passe a opção <link linkend="cmdline-reconfigure"
>--reconfigure</link
> depois de instalar os pacotes faltantes.</para>

<para
>Ou, se o erro parecer ser um erro de compilação do código do &kde;, pode ser que isso seja resolvido dentro de alguns dias. Se não for resolvido em tempo útil, sinta-se à vontade para enviar um e-mail para a lista <email
>kde-devel@kde.org</email
> (poderá ser necessário inscrever-se) para comunicar o erro de compilação.</para>

<para
>Você poderá encontrar mais exemplos comuns das coisas que poderão correr mal e as suas soluções, assim como algumas sugestões e estratégias gerais para compilar o &kde;, no <ulink url="http://techbase.kde.org/Getting_Started/Build/KDE4"
>Compilando o &kde; 4 a Partir do Código</ulink
>. </para>

<note
><para
>Para mais informações sobre as funcionalidades de registro do &kdesrc-build;, veja em <xref linkend="kdesrc-build-logging"/>.</para
></note>

</sect1>

<sect1 id="environment">
<title
>Configurando o Ambiente para Executar o seu &kde; Novo</title>

<para
>Assumindo que você está usando um usuário dedicado para compilar o &kde; e já possui uma versão do &kde; instalada, a execução do seu &kde; novo precisará de alguns truques, uma vez que o &kde; novo terá de ter precedência sobre o antigo. Mude as variáveis de ambiente para garantir que isso aconteça. </para>

<sect2 id="changing-profile">
<title
>Alterando a configuração do seu perfil inicial</title>

<important
><para
>O arquivo <filename
>.bash_profile</filename
> é o arquivo de configuração do usuário na linha de comando <application
>bash</application
>, que é usada por muitas distribuições &Linux;. Se você usar uma linha de comando diferente, então poderá ter que ajustar os exemplos dados nesta seção, para a sua linha de comando em particular.</para
></important>

<para
>Abra ou crie o arquivo <filename
>.bash_profile</filename
> na pasta pessoal com o seu editor favorito e adicione ao fim do arquivo: Se você estiver compilando o módulo 'qt-copy' (o padrão), adicione em alternativa: <programlisting>
QTDIR=(local da qtdir)   # Por padrão, ~/kdesrc/build/qt-copy.
KDEDIR=(local da kdedir) # Por padrão ~/kde.
KDEDIRS=$KDEDIR
PATH=$KDEDIR/bin:$QTDIR/bin:$PATH
MANPATH=$QTDIR/doc/man:$MANPATH

# Atuar adequadamente se a LD_LIBRARY_PATH não estiver definida
if [ -z $LD_LIBRARY_PATH ]; then
  LD_LIBRARY_PATH=$KDEDIR/lib:$QTDIR/lib
else
  LD_LIBRARY_PATH=$KDEDIR/lib:$QTDIR/lib:$LD_LIBRARY_PATH
fi

export QTDIR KDEDIRS PATH MANPATH LD_LIBRARY_PATH
</programlisting
> ou, se não estiver compilando o 'qt-copy' (e usar o &Qt; do seu sistema), adicione isto em alternativa: <programlisting
>KDEDIR=(local da kdedir)  # Por padrão ~/kde.
KDEDIRS=$KDEDIR
PATH=$KDEDIR/bin:$QTDIR/bin:$PATH

# Atuar adequadamente se a LD_LIBRARY_PATH não estiver definida.
if [ -z $LD_LIBRARY_PATH ]; then
  LD_LIBRARY_PATH=$KDEDIR/lib
else
  LD_LIBRARY_PATH=$KDEDIR/lib:$LD_LIBRARY_PATH
fi

export KDEDIRS PATH LD_LIBRARY_PATH
</programlisting>
</para>

<para
>Se você não estiver usando um usuário dedicado, defina um novo <envar
>$KDEHOME</envar
> para o seu novo ambiente no seu arquivo <filename
>.bash_profile</filename
>: <programlisting
>export KDEHOME="${HOME}/.kde-svn"

# Criar a pasta se necessário
[ ! -e ~/.kde-svn ] &amp;&amp; mkdir ~/.kde-svn
</programlisting>
</para>

<note>
<para
>Se, mais tarde, o seu Menu K estiver vazio ou completamente cheio de aplicativos da sua distribuição, você poderá ter que definir as suas variáveis de ambiente do <acronym
>XDG</acronym
> no seu <filename
>.bash_profile</filename
>: <programlisting
>XDG_CONFIG_DIRS="/etc/xdg"
XDG_DATA_DIRS="${KDEDIR}/share:/usr/share"
export XDG_CONFIG_DIRS XDG_DATA_DIRS
</programlisting>

</para>
</note>

</sect2>
<sect2 id="starting-kde">
<title
>Iniciando o &kde;</title>

<para
>Agora que você ajustou a sua configuração do ambiente para usar o &kde; correto, é importante certificar-se de que o programa <command
>startkde</command
> correto seja usado também. </para>

<para
>Abra o arquivo de texto <filename
>.xinitrc</filename
> da sua pasta pessoal, ou crie-o se necessário. Adicione a linha: <programlisting
><command
>exec</command
> <option
>${KDEDIR}/bin/startkde</option
>
</programlisting>
</para>

<important
><para
>Em algumas distribuições, poderá ser necessário efetuar os mesmos passos com o arquivo <filename
>.xsession</filename
>, também na pasta pessoal. Isto aplica-se especialmente nos gerenciadores de login gráficos como o &kdm;, o <application
>gdm</application
> ou o <application
>xdm</application
>.</para>
</important>

<para
>Agora inicie o seu novo &kde;: nos sistemas &BSD; e &Linux;, com o suporte para terminais virtuais, os atalhos <keycombo action="simul"
>&Ctrl;&Alt;<keycap
>F1</keycap
></keycombo
> ... <keycombo action="simul"
>&Ctrl;&Alt;<keycap
>F12</keycap
></keycombo
> são usados para mudar para o Console Virtual 1 a 12. Isto permite-lhe executar mais de um ambiente gráfico ao mesmo tempo. Os primeiros seis são terminais de texto e os seis seguintes são gráficos. </para>

<para
>Se, quando você iniciar o seu computador, aparecer o gerenciador gráfico de login, você poderá usar o novo ambiente do &kde;, mesmo que não apareça como uma opção. A maioria dos gerenciadores de login, incluindo o &kdm;, possuem uma opção para usar uma <quote
>Sessão Personalizada</quote
> ao se logar. Com esta opção, a sua configuração de sessões é carregada do arquivo <filename
>.xsession</filename
> da sua pasta pessoal. Se você já tiver modificado este arquivo como descrito acima, esta opção deverá carregar a sua nova instalação do &kde;. </para>

<para
>Caso contrário, existe algo que você poderá tentar que normalmente funciona: Pressione <keycombo action="simul"
>&Ctrl;&Alt;<keycap
>F2</keycap
></keycombo
>, para que apareça um terminal de texto. Logue-se com o usuário dedicado e digite: </para>

<screen
><command
>startx</command
> <option
>--</option
> <option
>:1</option
>
</screen>

<tip>
<para
>Você poderá executar o &kde; a partir do código e o &kde; antigo ao mesmo tempo! Logue-se com o seu usuário normal e inicie o ambiente de trabalho do &kde; estável. Pressione <keycombo action="simul"
>&Ctrl;&Alt;<keycap
>F2</keycap
></keycombo
> (ou <keycap
>F1</keycap
>, <keycap
>F3</keycap
>, etc..), e verá um terminal de texto. Logue-se com o usuário dedicado ao &subversion; do &kde; e digite:</para>

<screen
><command
>startx</command
> <option
>--</option
> <option
>:1</option
>
</screen>

<para
>Você poderá voltar ao ambiente de trabalho do &kde; do seu usuário normal, pressionando a tecla de atalho do ambiente em execução. Ela é normalmente o <keycombo action="simul"
>&Ctrl;&Alt;<keycap
>F7</keycap
></keycombo
>, sendo que você poderá também precisar usar o <keycap
>F6</keycap
> ou o <keycap
>F8</keycap
> em alternativa. Para voltar ao seu &kde; compilado pelo &kdesrc-build;, você irá usar a mesma sequência, usando, no entanto, a tecla de função seguinte. Por exemplo, se você precisar inserir <keycombo action="simul"
>&Ctrl;&Alt;<keycap
>F7</keycap
></keycombo
> para mudar para o seu &kde; normal, poderá ter que inserir <keycombo action="simul"
>&Ctrl;&Alt;<keycap
>F8</keycap
></keycombo
> para voltar ao seu &kde; do &kdesrc-build;.</para>
</tip>

</sect2>
</sect1>

</chapter>

<chapter id="features">
<title
>Funcionalidades do Programa</title>

<sect1 id="features-overview">
<title
>Visão Geral das Funcionalidades</title>

<para
>As funcionalidades do &kdesrc-build; incluem: </para>

<itemizedlist>

<listitem
><para
>Suporta os <link linkend="changing-verbosity"
>níveis de mensagens de resultado</link
>, desde o mais silencioso até à depuração completa. </para
></listitem>

<listitem
><para
>O &kdesrc-build; pode, com a assistência da <ulink url="http://kdesrc-build.kde.org/"
>página Web do &kdesrc-build;</ulink
> e com o servidor de FTP do &kde; (FTP desde o &kdesrc-build; 1.4), permitir extrações rápidas de alguns módulos. Se o módulo que estiver extraindo já possuir um pacote equivalente na página Web, então o &kdesrc-build; irá baixar essa imagem e prepará-la para o seu computador. </para>

<para
>Isto é mais rápido para você, e ajuda a liberar alguma carga nos servidores anônimos de &subversion; do kde.org.</para>
</listitem>

<listitem
><para
>Outra melhoria de performance é conseguida ao iniciar o processo de compilação de um módulo assim que o código-fonte desse módulo tenha sido transferido. (Disponível desde a versão 1.6) </para
></listitem>

<listitem
><para
>Tem um excelente suporte para o <link linkend="using-qt-copy"
>módulo 'qt-copy'</link
>, incluindo a aplicação opcional de correções e otimizações no módulo 'qt-copy'. </para
></listitem>

<listitem
><para
>O &kdesrc-build; tem <link linkend="kdesrc-build-color"
>mensagens de resultado coloridas</link
>. </para
></listitem>

<listitem
><para
>O &kdesrc-build; não precisa de uma <acronym
>GUI</acronym
> presente para funcionar. Por isso, você poderá compilar o &kde; sem precisar de um ambiente gráfico alternativo. </para
></listitem>

<listitem
><para
>Suporta a definição de opções padrão para todos os módulos (como as opções de  compilação ou de configuração). Essas opções também poderão ser modificadas normalmente para módulos específicos.</para>

<para
>Do mesmo modo, o &kdesrc-build; irá <link linkend="kdesrc-build-std-flags"
>adicionar opções padrão</link
>, como for apropriado, para lhe poupar trabalho e alguns erros possíveis, definindo-as você mesmo. </para
></listitem>

<listitem
><para
>O &kdesrc-build; poderá baixar uma <link linkend="using-branches"
>marca ou ramificação específica</link
> de um módulo. Você poderá também ter a certeza de que é usada uma <link linkend="conf-revision"
>versão</link
> específica em vez de um módulo. </para
></listitem>

<listitem
><para
>O &kdesrc-build; poderá mudar automaticamente a pasta de origem para baixar a partir de um repositório, ramificação ou marca diferentes. Isto acontece automaticamente quando você mudar alguma opção que altere o &url; do repositório, se bem que você deve usar a opção <link linkend="cmdline-src-only"
>--src-only</link
> para deixar que o &kdesrc-build; saiba que é aceitável efetuar a mudança. </para
></listitem>

<listitem
><para
>O &kdesrc-build; pode <link linkend="partial-builds"
>obter apenas partes de um módulo</link
>, para aquelas situações em que você só precisa de um programa de um módulo maior. </para
></listitem>

<listitem
><para
>A transferência inicial de alguns módulos pode ser acelerada pelo &kdesrc-build; que transferirá automaticamente (se disponível) um módulo a partir de espelhos do &kde; e usará isto para configurar a obtenção inicial. Isto economiza tempo e largura de banda para o seu sistema e para os servidores do &kde;. </para
></listitem>

<listitem
><para
>Para desenvolvedores: O &kdesrc-build; irá <link linkend="ssh-agent-reminder"
>lembrar de você</link
> se você usar o svn+ssh:// mas o <application
>ssh-agent</application
> não estiver em execução, uma vez que isso levará a pedidos de senha repetidos do &ssh;. </para
></listitem>

<listitem
><para
>Pode <link linkend="email-reports"
>enviar relatórios por e-mail</link
> dos erros a um determinado usuário. </para
></listitem>

<listitem
><para
>Pode <link linkend="deleting-build-dir"
>remover a pasta de compilação</link
> de um módulo, após a sua instalação, para poupar espaço, em detrimento de um maior tempo de compilação. </para
></listitem>

<listitem
><para
>Os locais das pastas usadas pelo &kdesrc-build; são configuráveis (até mesmo por módulo). </para
></listitem>

<listitem
><para
>Pode usar o &sudo; ou um comando definido pelo usuário para <link linkend="root-installation"
>instalar os módulos</link
>, para que o &kdesrc-build; não precise ser executado como super-usuário. </para
></listitem>

<listitem
><para
>O &kdesrc-build; executa <link linkend="build-priority"
>com prioridade reduzida</link
> por padrão, para lhe permitir ainda usar o seu computador, enquanto o &kdesrc-build; estiver trabalhando. </para
></listitem>

<listitem
><para
>Possui suporte para usar as <link linkend="using-branches"
>marcas e ramificações</link
> do &subversion; do &kde;. </para
></listitem>

<listitem
><para
>O &kdesrc-build; irá usar um conjunto de técnicas para <link linkend="building-successfully"
>tentar e garantir</link
> uma compilação com sucesso. </para
></listitem>

<listitem
><para
>Existe o suporte para <link linkend="resuming"
>prosseguir com uma compilação</link
> de um determinado módulo. Você pode até <link linkend="ignoring-modules"
>ignorar alguns módulos</link
> temporariamente para uma determinada compilação. </para
></listitem>

<listitem
><para
>O &kdesrc-build; pode efetuar rapidamente uma <link linkend="partial-builds"
>compilação parcial</link
> de um módulo, diretamente a partir da linha de comando, quando você precisa apenas atualizar parte de um módulo. </para
></listitem>

<listitem
><para
>O &kdesrc-build; mostrará o <link linkend="build-progress"
>progresso da sua compilação</link
> ao usar o &cmake;, e irá medir sempre o tempo do processo de compilação, para que você saiba quanto tempo levou efetivamente. </para
></listitem>

<listitem
><para
>Tenta automaticamente compilar de novo os módulos que foram compilados com o 'make' incremental, que está sujeito a erros ao fim de algumas modificações. </para
></listitem>

<listitem
><para
>Vem com um conjunto seguro de opções padrão, apropriadas para compilar uma instalação mono-usuário básica do &kde; a partir do repositório de &subversion; anônimo. </para
></listitem>

<listitem
><para
>Expansão do til (~) para as suas opções de configuração. Por exemplo, você poderá especificar: <programlisting
>qtdir ~/kdesrc/build/qt-copy</programlisting>
</para
></listitem>

<listitem
><para
>Configura automaticamente um sistema de compilação, onde a pasta de código não é a mesma que a pasta de compilação, para que você mantenha as suas pastas de origem limpas. </para
></listitem>

<listitem
><para
>Você poderá indicar as opções globais a aplicar a todos os módulos a serem obtidos, assim como poderá indicar opções para serem aplicadas aos módulos individualmente. </para
></listitem>

<listitem
><para
>Uma vez que as ferramentas 'autotools' normalmente perdem a sincronização com as modificações na árvore de código, você poderá forçar uma nova compilação de um módulo, se criar um arquivo chamado '.refresh-me' na pasta de compilação do módulo em questão ou executando o &kdesrc-build; com a opção <option
>--refresh-build</option
>. </para
></listitem>

<listitem
><para
>Você poderá indicar vários valores de ambiente a usar durante a compilação, incluindo o <envar
>KDEDIR</envar
>, o <envar
>QTDIR</envar
>, o <envar
>DO_NOT_COMPILE</envar
> e o <envar
>CXXFLAGS</envar
>. </para
></listitem>

<listitem
><para
>Registro dos comandos. Os arquivos de registro são datados e numerados, para que você tenha sempre um relatório de execução de um programa. Do mesmo modo, é criada uma ligação simbólica 'latest' para apontar sempre para o item de registro mais recente na respectiva pasta. </para
></listitem>

<listitem
><para
>Se você estiver usando uma compilação de usuário do &kde;, em vez de uma instalação do sistema (para a qual precisa ser o 'root' para instalar), você poderá usar o programa para instalá-lo para você. O código não foi ainda validado e ele faz uma utilização ampla da chamada <function
>system()</function
>, assim, eu não recomendo executá-lo como 'root' por enquanto. </para
></listitem>

<listitem
><para
>Você poderá usar o <link linkend="conf-make-install-prefix"
>make-install-prefix</link
> para anteceder o comando <userinput
><command
>make</command
> <option
>install</option
></userinput
> com um comando separado, o que poderá ser útil para o &sudo;. </para
></listitem>

<listitem
><para
>Você poderá obter apenas uma parte de um módulo do &kde; no &subversion;. Por exemplo, poderá obter apenas a biblioteca <application
>taglib</application
> do <application
>kdesupport</application
> ou apenas o <application
>K3B</application
> do <application
>extragear/multimedia</application
>. O programa irá obter automaticamente o <application
>kde-common</application
>, se for necessário para fazer a compilação funcionar. </para
></listitem>

<listitem
><para
>Você poderá <quote
>fingir</quote
> efetuar as operações. Se passar a opção <option
>--pretend</option
> ou <option
>-p</option
> na linha de comando, o programa fornecerá uma descrição mais completa dos comandos que está prestes a executar, sem executá-los de fato. </para
></listitem>

</itemizedlist>

</sect1>

<sect1 id="kdesrc-build-logging">
<title
>Registro de compilação do &kdesrc-build;</title>

<sect2 id="logging-overview">
<title
>Visão geral do registro</title>

<para
>O registro é uma funcionalidade do &kdesrc-build; que consiste no fato do resultado de todos os comandos que o &kdesrc-build; executa serem salvos em um arquivo para serem posteriormente examinados, caso seja necessário. Isto é feito porque frequentemente é necessário ter o resultado destes programas quando houver um erro de compilação, uma vez que poderão existir várias razões para a compilação falhar, em primeiro lugar.</para>

<sect3 id="log-directory-layout">
<title
>Disposição da pasta de registro</title>

<para
>Os registros são sempre salvos sob a pasta de registro. O destino da pasta de registro é controlado pela opção <link linkend="conf-log-dir"
>log-dir</link
>, que por padrão é <filename class="directory"
><symbol
>${source-dir}</symbol
>/log</filename
> (onde o <symbol
>${source-dir}</symbol
> é o valor da opção <link linkend="conf-source-dir"
>source-dir</link
>. No resto desta seção, este valor será referido como <symbol
>${log-dir}</symbol
>).</para>

<para
>Sob a <symbol
>${log-dir}</symbol
>, existe um conjunto de pastas, uma de cada vez que o &kdesrc-build; foi executado. Cada pasta possui como nome a data e o número da execução. Por exemplo, a segunda vez que o &kdesrc-build; foi executado em 26 de maio de 2004, será criada uma pasta chamada <filename
>2004-05-26-02</filename
>, onde o 2004-05-26 corresponde à data e o -02 é o número da execução.</para>

<para
>Para sua conveniência, o &kdesrc-build; irá também criar uma ligação para os registros da sua última execução, chamada <filename class="directory"
>latest</filename
>. Assim, os registros da execução mais recente do &kdesrc-build; deverão estar sempre sob a <filename class="directory"
><symbol
>${log-dir}</symbol
>/latest</filename
>. </para>

<para
>Agora, cada pasta de uma execução do &kdesrc-build; irá conter, por sua vez, um conjunto de pastas, uma por cada módulo &kde; que o &kdesrc-build; tenta compilar. Do mesmo modo, irá conter um arquivo chamado <filename
>build-status</filename
> nessa pasta, que lhe permitirá determinar quais os módulos que compilaram bem e os que falharam.</para>

<note
><para
>Se um módulo em si tiver um sub-módulo (como o extragear/multimedia, playground/utils ou KDE/kdelibs), então, haverá uma disposição equivalente na pasta de registros. Por exemplo, os registros do KDE/kdelibs, após a última execução do &kdesrc-build;, irão aparecer em <filename class="directory"
><symbol
>${log-dir}</symbol
>/latest/KDE/kdelibs</filename
> e não em <filename class="directory"
><symbol
>${log-dir}</symbol
>/latest/kdelibs</filename
>. </para
></note>

<para
>Na pasta de registro de cada módulo, você irá encontrar um conjunto de arquivos para cada operação que o &kdesrc-build; efetuar. Se o &kdesrc-build; atualizar um módulo, você verá arquivos chamados <filename
>svn-co.log</filename
> (para um módulo extraído por completo) ou <filename
>svn-up.log</filename
> (ao atualizar um módulo que já tinha sido extraído). Se o comando <command
>configure</command
> foi executado, então você provavelmente verá um arquivo <filename
>configure.log</filename
> nessa pasta.</para>

<para
>Se ocorreu um erro, você deverá ser capaz de ver uma explicação do motivo em um dos arquivos. Para ajudá-lo a determinar qual o arquivo que contém o erro, o &kdesrc-build; irá criar um link do arquivo que contém o erro (do tipo <filename
>build-1.log</filename
> para um arquivo chamado <filename
>error.log</filename
>).</para>

<para
>A vantagem de tudo isto é que, para ver onde um arquivo falhou na compilação, após a sua última execução do &kdesrc-build;, o arquivo que deverá ver primeiro é o <filename
><symbol
>${log-dir}</symbol
>/latest/<replaceable
>nome-módulo</replaceable
>/error.log</filename
>. </para>

<tip
><para
>Se o arquivo <filename
>error.log</filename
> estiver em branco (especialmente após uma instalação), então provavelmente não houve qualquer erro. Algumas das ferramentas usadas pelo sistema de compilação do &kde; irão comunicar por engano um erro quando não ocorreu nada.</para>

<para
>Do mesmo modo, alguns comandos poderão fugir ao redirecionamento do resultado do &kdesrc-build; e ignorar o arquivo de registro em certas circunstâncias (normalmente ao obter o conteúdo do &subversion; na primeira vez), e o resultado do erro, nesse caso, não estará no arquivo de registro mas sim no &konsole; ou no terminal onde executou o &kdesrc-build;.</para>
</tip>

</sect3>
</sect2>
</sect1>

</chapter>

<chapter id="kdesrc-buildrc">
<title
>Configurando o &kdesrc-build;</title>

<sect1 id="kdesrc-buildrc-overview">
<title
>Visão geral da configuração do &kdesrc-build;</title>

<para
>Para usar o script, você deverá ter um arquivo na sua pasta pessoal chamado <filename
>.kdesrc-buildrc</filename
>, que descreve os módulos que deseja baixar e compilar. </para>

<para
>Ele começa com as opções globais, indicadas da seguinte forma: </para>

<programlisting
>global
<replaceable
>nome-opção valor-opção</replaceable>
<replaceable
>[...]</replaceable>
end global
</programlisting>

<para
>Segue-se então uma ou mais seções dos módulos, organizadas da seguinte forma: </para>

<programlisting
>module <replaceable
>nome-módulo</replaceable>
<replaceable
>nome-opção valor-opção</replaceable>
<replaceable
>[...]</replaceable>
end module
</programlisting>

<para
>O <replaceable
>nome-módulo</replaceable
> deverá ser um módulo do repositório de &subversion; do &kde; (por exemplo, o 'kdelibs' ou o 'kdebase'). Algumas das opções sobrepõem-se às globais, algumas adicionam-se às opções globais e algumas opções globais simplesmente não podem ser sobrepostas. </para>

<para
>Segue-se uma lista das opções normalmente usadas. Clique na opção para descobrir mais sobre ela. Para visualizar a lista completa de opções, veja em <xref linkend="conf-options-table"/>. </para>

<itemizedlist>
<listitem
><para
><link linkend="conf-branch"
>branch</link
>, para obter uma determinada ramificação, em vez da '/trunk'.</para
></listitem>
<listitem
><para
><link linkend="conf-build-dir"
>build-dir</link
>, para definir a pasta onde será feita a compilação.</para
></listitem>
<listitem
><para
><link linkend="conf-cmake-options"
>cmake-options</link
> para definir as opções com que um módulo poderá ser configurado com o &cmake;.</para
></listitem>
<listitem
><para
><link linkend="conf-configure-flags"
>configure-flags</link
> para definir as opções com que um módulo poderá ser configurado.</para
></listitem>
<listitem
><para
><link linkend="conf-cxxflags"
>cxxflags</link
> para definir a variável <envar
>CXXFLAGS</envar
>.</para
></listitem>
<listitem
><para
><link linkend="conf-kdedir"
>kdedir</link
>, para indicar a pasta onde o &kde; será instalado.</para
></listitem>
<listitem
><para
><link linkend="conf-kde-languages"
>kde-languages</link
>, para definir os pacotes de traduções a baixar e instalar.</para
></listitem>
<listitem
><para
><link linkend="conf-make-options"
>make-options</link
>, para passar opções ao programa &make;.</para
></listitem>
<listitem
><para
><link linkend="conf-qtdir"
>qtdir</link
>, para definir a localização do &Qt;.</para
></listitem>
<listitem
><para
><link linkend="conf-set-env"
>set-env</link
>, para configurar uma variável de ambiente.</para
></listitem>
<listitem
><para
><link linkend="conf-source-dir"
>source-dir</link
>, para mudar o local onde colocar o código transferido.</para
></listitem>
<listitem
><para
><link linkend="conf-svn-server"
>svn-server</link
>, para mudar o servidor de onde é transferido o código.</para
></listitem>
</itemizedlist>

</sect1>
<sect1 id="conf-options-table">
<title
>Tabela das opções de configuração disponíveis</title>

<para
>Aqui está uma tabela com as várias opções, contendo a seguinte informação:</para>

<itemizedlist>

<listitem
><para
>O nome da opção</para
></listitem>

<listitem
><para
>Uma descrição de como responde o &kdesrc-build; se a opção for definida tanto na seção global quanto na seção do módulo do <link linkend="configure-data"
>arquivo de configuração</link
> ao compilar um módulo.</para
></listitem>

<listitem
><para
>Comentários especiais sobre o objetivo e utilização da opção.</para
></listitem>

</itemizedlist>

<table id="option-table">
<title
>Tabela de Opções</title>
<tgroup cols="3">

<thead>
<row>
<entry
>Nome da Opção</entry>
<entry
>Comportamento do Módulo -&gt; Global</entry>
<entry
>Notas</entry>
</row>
</thead>

<tbody>

<row>
<entry
>apidox</entry>
<entry
></entry>
<entry
><para
>Esta opção foi usada para permitir a compilação da documentação da API do módulo do KDE. Ela foi removida do &kdesrc-build; 1.6.3 devido a não ser suportada no KDE 4. A documentação on-line da API está disponível em <ulink url="http://api.kde.org/"
>kde.org</ulink
>. Além disso, é possível compilar a documentação da API do KDE 4 com um programa que vem incluído no módulo 'kdesdk' (na pasta '/scripts'). Veja o <ulink url="http://techbase.kde.org/Development/Tools/apidox"
>TechBase do KDE</ulink
> para mais detalhes. Obviamente, ainda é possível compilar manualmente a documentação da API para os módulos mais antigos.</para>
</entry>
</row>

<row>
<entry
>apply-qt-patches</entry>
<entry
></entry>
<entry
>Esta opção foi removida no kdesrc-build 1.10. Para obter o mesmo efeito, veja <xref linkend="using-qt-copy"/> e a opção <link linkend="conf-repository"
>repository</link
>.</entry>
</row>

<row id="conf-async">
<entry
>async</entry>
<entry
>Não poderá ser sobreposta</entry>
<entry
><para
>Esta opção ativa o modo de operação assíncrono, onde a atualização do código fonte e o processo de compilação são executados em paralelo, ao invés de esperar por toda a atualização do código antes de iniciar o processo de compilação. O padrão é o modo assíncrono ativado. Para desativar, configure a opção para <replaceable
>false</replaceable
></para>
<para
>Esta opção está disponível desde a versão 1.6.</para
></entry>
</row>

<row id="conf-binpath">
<entry
>binpath</entry>
<entry
>A configuração do módulo substitui a global</entry>
<entry
><para
>Ative esta opção para modificar a variável de ambiente PATH durante a compilação. Não poderá sobrepor esta opção numa opção do módulo. O valor padrão é o $<envar
>PATH</envar
> que é definido quando o programa inicia. Esta variável de ambiente deverá incluir os locais, separados por dois-pontos das suas ferramentas de desenvolvimento. Os locais <filename class="directory"
>$<envar
>KDEDIR</envar
>/bin</filename
> e <filename class="directory"
>$<envar
>QTDIR</envar
>/bin</filename
> são adicionados automaticamente. Você poderá usar o til (~) para os locais que adicionar com esta opção.</para>
</entry>
</row>

<row id="conf-branch">
<entry
>ramificação</entry>
<entry
>A configuração do módulo substitui a global</entry>
<entry
><para
>Altere esta opção para obter uma ramificação do &kde;, em vez do valor padrão<replaceable
>trunk</replaceable
>, onde o desenvolvimento do &kde; está em curso. Por exemplo, para obter a ramificação do &kde; 4.5, você deverá configurar esta opção como <replaceable
>4.5</replaceable
>.</para>
<para
>Se o &kdesrc-build; não conseguir obter adequadamente uma ramificação com esta opção, você poderá ter que indicar manualmente o &url; de onde baixar usando as opções  <link linkend="conf-module-base-path"
>module-base-path</link
> ou <link linkend="conf-override-url"
>override-url</link
>.</para>
<para
>Nota: Esta opção também funciona com módulos de código que usam o &git; ao invés do &subversion;.</para>
</entry>
</row>

<row id="conf-build-dir">
<entry
>build-dir</entry>
<entry
>A configuração do módulo substitui a global</entry>
<entry
>Use esta opção para mudar a pasta que contém o código compilado. Existem três formas diferentes de usá-la: <orderedlist
> <listitem
><para
>Relativa à pasta de código do &kde; no &subversion; (ver a <link linkend="conf-source-dir"
>opção 'source-dir'</link
>). Esta é a opção padrão e fica selecionada se digitar o nome de uma pasta que não comece por um til (~) ou uma barra (/).</para
> <para
>O valor padrão é <filename class="directory"
>build</filename
>.</para
></listitem
> <listitem
><para
>Um local absoluto. Se indicar um local que comece por um /, então será usado esse local diretamente. Por exemplo, o <filename class="directory"
>/tmp/kde-obj-dir/</filename
>.</para
></listitem
> <listitem
><para
>Relativo à sua pasta pessoal. Se indicar uma pasta que comece com um '~', então o local será usado em relação à sua pasta pessoal, de forma semelhante à expansão do til da linha de comando. Por exemplo, o <filename class="directory"
>~/builddir</filename
> irá configurar a pasta de compilação como <filename class="directory"
>/home/usuário/builddir</filename
>.</para
></listitem
> </orderedlist
> Surpreendentemente, esta opção poderá ser alterada por módulo. </entry>
</row>

<row id="conf-build-when-unchanged">
<entry
>build-when-unchanged</entry>
<entry
>A configuração do módulo substitui a global</entry>
<entry
><para
>Use esta opção para controlar se o &kdesrc-build; sempre tentará compilar um módulo que ainda não tenha quaisquer atualizações do código-fonte.</para>

<para
>Ao configurar o <option
>build-when-unchanged</option
> como <replaceable
>true</replaceable
> (verdadeiro), o &kdesrc-build; sempre tentará a fase de compilação para um módulo, mesmo que este não tenha qualquer atualização no código-fonte. Esta é a configuração padrão, uma vezque, provavelmente, é a que proporciona uma compilação correta.</para>

<para
>Ao configurar o <option
>build-when-unchanged</option
> como <replaceable
>false</replaceable
> (falso), o &kdesrc-build; só irá tentar executar a fase de compilação de um módulo, caso este tenha tido uma atualização do código-fonte ou em outras situações em que seja realmente necessária uma nova compilação. Isto pode poupar tempo, especialmente se você executa o &kdesrc-build; diariamente ou com ainda mais frequência.</para>

<important
><para
>Esta funcionalidade é oferecida apenas como uma otimização. Como todas as otimizações, existem compromissos face à correção da sua instalação. Por exemplo, as alterações nos módulo qt-copy ou kdelibs poderão provocar uma recompilação necessária de outros módulos, mesmo que o código-fonte não tenha sido alterado.</para
></important>
</entry>
</row>

<row id="conf-checkout-only">
<entry
>checkout-only</entry>
<entry
>A configuração do módulo substitui a global</entry>
<entry
><para
>Altere esta opção para obter o código do &subversion; passo-a-passo. O valor desta opção deverá ser uma lista separada por espaços das pastas a transferir. Ainda que esta opção se sobreponha à global, observe que esta opção, como global, não faz sentido. </para>

<para
>Note que esta configuração não tem nenhum efeito nos módulos do &git; devido ao modo de operação do sistema de controle de código do &git;.</para>

<para
>Veja um exemplo em <xref linkend="checking-out-parts"/>.</para
></entry>
</row>

<row id="conf-cmake-options">
<entry
>cmake-options</entry>
<entry
>Adiciona às opções globais (exceto no 'qt-copy')</entry>
<entry
><para
>Use esta opção para indicar quais opções passar ao &cmake; quando criar o sistema de compilação do módulo. Quando isto é usado como uma opção global, é aplicada a todos os módulos onde este programa se compila. Quando é usado como uma opção de um módulo, é adicionada ao fim das opções globais. Isto permite-lhe definir opções comuns do &cmake; na seção global.</para>

<para
>Esta opção não se aplica ao qt-copy (que não usa o &cmake;). Use a opção <link linkend="conf-configure-flags"
>configure-flags</link
> neste caso.</para>

<para
>Uma vez que estas opções são passadas diretamente à linha de comando do &cmake;, deverão ser indicados como seriam passados no &cmake;. Por exemplo:</para>

<screen
>cmake-options -DCMAKE_BUILD_TYPE=RelWithDebInfo
</screen>

<para
>Já que isto é muito trabalhoso, o &kdesrc-build; faz tudo para que as opções restantes sejam definidas corretamente. Assim, você poderá deixar esta opção em branco. (Em outras palavras, os parâmetros <emphasis
>necessários</emphasis
> do &cmake; serão definidos automaticamente)</para
></entry>
</row>

<row id="conf-colorful-output">
<entry
>colorful-output</entry>
<entry
>Não poderá ser sobreposta</entry>
<entry
>Configure esta opção como <replaceable
>false</replaceable
> para desativar o resultado colorido do &kdesrc-build;. Por padrão é <replaceable
>true</replaceable
>. Lembre-se que o &kdesrc-build; não irá mostrar os códigos de cores em nada que não seja um terminal (como o 'xterm', o &konsole; ou o console normal do &Linux;). </entry>
</row>

<row id="conf-configure-flags">
<entry
>configure-flags</entry>
<entry
>A configuração do módulo substitui a global</entry>
<entry
><para
>Use esta opção para indicar quais opções passar ao './configure' quando criar o sistema de compilação do módulo. Quando isto é usado como uma opção global, é aplicada a todos os módulos que este programa compila. <emphasis
>Esta opção somente funciona para o qt-copy.</emphasis
></para>

<para
>Para mudar a configuração das opções para os módulos do KDE 4, veja <link linkend="conf-cmake-options"
>cmake-options</link
>. </para>
</entry>
</row>

<row id="conf-cxxflags">
<entry
>cxxflags</entry>
<entry
>Adiciona-se à opção global</entry>
<entry
><para
>Use esta opção para indicar as opções a usar para compilar o módulo. Esta opção é indicada aqui em vez do <link linkend="conf-configure-flags"
>configure-flags</link
> ou do <link linkend="conf-cmake-options"
>cmake-options</link
>, uma vez que esta opção irá também definir a variável de ambiente <envar
>CXXFLAGS</envar
> durante o processo de compilação.</para>

<para
>Observe que para o &kde; 4 e qualquer outro módulo que use o &cmake;, é necessário configurar a opção CMAKE_BUILD_TYPE para "none" ao configurar o módulo. Isto pode ser feito usando a opção <link linkend="conf-cmake-options"
>cmake-options</link
>.</para>
</entry>
</row>

<row id="conf-dest-dir">
<entry
>dest-dir</entry>
<entry
>A configuração do módulo substitui a global</entry>
<entry
>Use esta opção para mudar o nome de um módulo no disco. Por exemplo, se o seu módulo era 'extragear/network', você pode mudá-lo para 'extragear-network' com esta opção. Repare que, ainda que isto mude o nome do módulo no disco, não é uma boa ideia incluir pastas ou separadores de pastas no nome, uma vez que isso irá interferir com as opções <link linkend="conf-build-dir"
>build-dir</link
> ou <link linkend="conf-source-dir"
>source-dir</link
>. </entry>
</row>

<row id="conf-disable-agent-check">
<entry
>disable-agent-check</entry>
<entry
>Não poderá ser sobreposta</entry>
<entry
>Normalmente, se você estiver usando o &ssh; para baixar o código do &subversion; (se, por exemplo, estiver usando o protocolo 'svn+ssh'), o &kdesrc-build; irá tentar certificar-se de que, se estiver usando o 'ssh-agent', ele está de fato gerenciando algumas identidades do &ssh;. Isto é para tentar evitar que o &ssh; pergunte a sua frase-senha para todos os módulos. Você poderá desativar esta opção configurar a opção <option
>disable-agent-check</option
> como <replaceable
>true</replaceable
>. </entry>
</row>

<row id="conf-do-not-compile">
<entry
>do-not-compile</entry>
<entry
>A configuração do módulo substitui a global</entry>
<entry
><para
>Use esta opção para especificar um conjunto de pastas para não ser compilado num módulo (em vez de serem todas). As pastas que não serão compiladas deverão estar separadas por espaços.</para>

<para
>Lembre-se que o código dos programas será ainda transferido. Você poderá usar a instrução <link linkend="conf-checkout-only"
>checkout-only</link
> para escolher as pastas que deseja obter.</para>

<para
>Por exemplo, para manter o &juk; e o &kscd; no módulo 'kdemultimedia' sem serem compilados, você poderá adicionar "do-not-compile juk kscd" no seu módulo 'kdemultimedia'.</para>

<para
>Veja em <xref linkend="not-compiling"/> um exemplo.</para>
</entry>
</row>

<row id="conf-email-address">
<entry
>email-address</entry>
<entry
>Não poderá ser sobreposta</entry>
<entry>
<para
>Configure esta opção com o endereço de e-mail que o &kdesrc-build; deverá enviar, no caso dele precisar enviar mensagens de e-mail. Você não terá que se preocupar com isto se não usar qualquer funcionalidade que envie e-mails. (Elas estão todas desativadas por padrão). </para>

<para
>Atualmente, somente o <link linkend="conf-email-on-compile-error"
>email-on-compile-error</link
> necessita desta opção.</para>
</entry>
</row>

<row id="conf-email-on-compile-error">
<entry
>email-on-compile-error</entry>
<entry
>Não poderá ser sobreposta</entry>
<entry>
<para
>Você poderá configurar esta opção com o endereço de e-mail para onde enviar um relatório, sempre que um módulo não conseguir ser compilado. O &kdesrc-build; irá esperar até que todos os módulos terminem e irá recolher todos os resultados no relatório. Ele só é enviado se um módulo se recusar a compilar. </para>

<para
>Por favor, veja a opção <link linkend="conf-email-address"
>email-address</link
> para configurar o endereço que o &kdesrc-build; irá usar para envio, uma vez que o valor padrão não é normalmente o que você deseja. </para>
</entry>
</row>

<row>
<entry
>inst-apps</entry>
<entry
></entry>
<entry
>Esta opção foi removida na versão 1.10 </entry>
</row>

<row id="conf-install-after-build">
<entry
>install-after-build</entry>
<entry
>A configuração do módulo substitui a global</entry>
<entry
>Esta opção é usada para instalar o pacote depois dele ser compilado com sucesso. Esta opção está ativa por padrão. Se quiser desativá-la, terá que configurar esta opção como <replaceable
>false</replaceable
> no <link linkend="configure-data"
>arquivo de configuração</link
>. Você poderá também usar a opção da linha de comando <link linkend="cmdline-no-install"
><option
>--no-install</option
></link
>. </entry>
</row>

<row id="conf-kdedir">
<entry
>kdedir</entry>
<entry
>A configuração do módulo substitui a global</entry>
<entry
>Esta opção define a pasta em que o &kde; será instalado após a compilação. Por padrão, será em <filename class="directory"
>~/kde</filename
>. Se mudar isto para uma pasta que precise do acesso do 'root', será útil também ler algumas informações sobre a opção <link linkend="conf-make-install-prefix"
>make-install-prefix</link
>.</entry>
</row>

<row id="conf-kde-languages">
<entry
>kde-languages</entry>
<entry
>Não poderá ser sobreposta</entry>
<entry
><para
>Esta opção permite-lhe selecionar os pacote de localização baixados e instalados juntamente com o &kde;. Você poderá fazer isto se não morar nos Estados Unidos e quiser o &kde; traduzido para o seu idioma nativo.</para>

<para
>Para usar esta opção, configure-a como uma lista separada por espaços dos idiomas a instalar. Cada língua possui um código associado a ele, que poderá ser encontrado nesta página: <ulink url="http://i18n.kde.org/teams/"
>http://i18n.kde.org/teams/</ulink
>. </para>

<para
>É aceitável escolher apenas uma língua. Por padrão, não é baixada nenhuma, o que significa que o &kde; irá aparecer em Inglês dos EUA.</para>

<para
>Por exemplo, para optar por instalar o Português Brasileiro, você deverá configurar a opção com algo do tipo: <userinput
><option
>kde-languages</option
> <replaceable
>pt_BR</replaceable
></userinput
>. Terá ainda que usar o &systemsettings; para escolher o idioma Português do Brasil, todavia.</para>
</entry>
</row>

<row id="conf-libpath">
<entry
>libpath</entry>
<entry
>A configuração do módulo substitui a global</entry>
<entry
>Configure esta opção para definir a variável de ambiente <envar
>LD_LIBRARY_PATH</envar
>, enquanto efetua a compilação. Você não poderá sobrepor esta opção num módulo. O valor padrão está em branco, mas os locais <filename class="directory"
>$<envar
>KDEDIR</envar
>/lib</filename
> e <filename class="directory"
>$<envar
>QTDIR</envar
>/lib</filename
> são adicionados automaticamente. Você poderá usar o til (~) para os locais que adicionar com esta opção. </entry>
</row>

<row id="conf-log-dir">
<entry
>log-dir</entry>
<entry
>A configuração do módulo substitui a global</entry>
<entry
>Use esta opção para mudar a pasta que irá conter os arquivos de registro gerados pelo programa. </entry>
</row>

<row id="conf-make-install-prefix">
<entry
>make-install-prefix</entry>
<entry
>A configuração do módulo substitui a global</entry>
<entry
>Configure esta variável com uma lista separada por espaços, que será interpretada como um comando e as suas opções, para anteceder o comando <userinput
><command
>make</command
> <option
>install</option
></userinput
>, que é usado para instalar os módulos. Isto é útil para instalar os pacotes com o &sudo;, por exemplo, mas tenha cuidado ao trabalhar com os privilégios do 'root'.</entry>
</row>

<row id="conf-make-options">
<entry
>make-options</entry>
<entry
>A configuração do módulo substitui a global</entry>
<entry
>Configure esta variável para passar as opções da linha de comando ao comando <command
>make</command
>. Isto é útil para os programas, como o <ulink url="http://distcc.samba.org/"
><application
>distcc</application
></ulink
> ou para os sistemas com mais de um núcleo de processamento. </entry>
</row>

<row id="conf-manual-build">
<entry
>manual-build</entry>
<entry
>A configuração do módulo substitui a global</entry>
<entry
>Configure o valor da opção como <replaceable
>true</replaceable
> para evitar que o processo de compilação tente compilar este módulo. Ele ainda será mantido atualizado ao atualizar a partir do &subversion;. Esta opção é exatamente equivalente à opção da linha de comando <link linkend="cmdline-no-build"
><option
>--no-build</option
></link
>. </entry>
</row>

<row id="conf-manual-update">
<entry
>manual-update</entry>
<entry
>A configuração do módulo substitui a global</entry>
<entry
>Configure o valor da opção como <replaceable
>true</replaceable
> para evitar que o processo de compilação tente atualizar (e, por conseguinte, compilar ou instalar) este módulo. Se você definir esta opção para um módulo, então você basicamente poderá tê-la comentada. </entry>
</row>

<row id="conf-module-base-path">
<entry
>module-base-path</entry>
<entry
>A configuração do módulo substitui a global</entry>
<entry
><para
>Configure esta opção para se sobrepor à pasta padrão do &kdesrc-build; para o módulo em questão. Isto poderá ser usado, por exemplo, para usar ramificações ou marcas específicas de determinadas bibliotecas. O <ulink url="http://websvn.kde.org/"
>Visualizador de Código do &kde;</ulink
> é extremamente valioso para ajudá-lo a escolher o local correto.</para>

<para
>Lembre-se que o &kdesrc-build; constrói o local final de acordo com o seguinte modelo: <filename class="directory"
><varname
>$svn-server</varname
>/home/kde/<varname
>$module-base-path</varname
></filename
>. </para>

<para
>O valor padrão é <filename class="directory"
>trunk/<varname
>$módulo</varname
></filename
> ou <filename class="directory"
>trunk/KDE/<varname
>$módulo</varname
></filename
>, dependendo do nome do módulo.</para>

<tip
><para
>Use as opções <link linkend="conf-branch"
>branch</link
> ou <link linkend="conf-tag"
>tag</link
> em alternativa, sempre que forem aplicáveis. </para
></tip>
</entry>
</row>

<row id="conf-niceness">
<entry
>niceness</entry>
<entry
>Não poderá ser sobreposta</entry>
<entry
>Configure esta opção com um valor entre 20 e 0. Quanto mais alto o número, menor prioridade terá o &kdesrc-build;, ou seja, quanto maior o número, mais "amigável" o programa será. O valor padrão é 10. </entry>
</row>

<row id="conf-no-svn">
<entry
>no-svn</entry>
<entry
>A configuração do módulo substitui a global</entry>
<entry
>Se esta opção for igual a 'true', então o &kdesrc-build; não irá atualizar o código-fonte do módulo automaticamente. Ele ainda tentará compilar o módulo, caso já não tenha tentado anteriormente.</entry>
</row>

<row>
<entry
>no-rebuild-on-fail</entry>
<entry
></entry>
<entry
>Esta opção foi removida na versão 1.10, uma vez que este comportamento não é mais útil em função de correções aplicadas no sistema de compilação.</entry>
</row>

<row id="conf-override-url">
<entry
>override-url</entry>
<entry
>A configuração do módulo substitui a global</entry>
<entry
>Se configurar esta opção, o &kdesrc-build; irá usar o seu valor como o &url; a passar ao &subversion;,  <emphasis
>sem qualquer alteração</emphasis
>. Você geralmente deverá usar esta opção, se quiser obter uma versão específica, mas o &kdesrc-build; não conseguir descobrir o que você quer dizer ao usar a opção <link linkend="conf-branch"
>branch</link
>. </entry>
</row>

<row id="conf-prefix">
<entry
>prefix</entry>
<entry
>A configuração do módulo substitui a global</entry>
<entry
>Esta opção controla onde será instalado o módulo (normalmente em <option
><link linkend="conf-kdedir"
>kdedir</link
></option
>, se esta opção for usada). O uso desta opção permite-lhe instalar um módulo numa pasta diferente da pasta de instalação das bibliotecas da Plataforma do KDE; por exemplo, você poderá estar usando o &kdesrc-build; apenas para compilar as aplicações. </entry>
</row>

<row id="conf-purge-old-logs">
<entry
>purge-old-logs</entry>
<entry
>A configuração do módulo substitui a global</entry>
<entry
><para
>Esta opção controla se as pastas de registro antigas serão automaticamente excluídas ou não. O valor padrão é <replaceable
>false</replaceable
>.</para>

<para
>Mesmo se você não definir esta opção para verdadeiro, você pode manualmente limpar as pastas de registro antigas executando:</para>

<command
>kdesrc-build --no-src --no-build --purge-old-logs <replaceable
>kdelibs</replaceable
></command>

<para
>Você pode usar qualquer nome de módulo na linha de comando acima. Ele não tem que ser especificamente o kdelibs.</para>
</entry>
</row>

<row id="conf-qtdir">
<entry
>qtdir</entry>
<entry
>A configuração do módulo substitui a global</entry>
<entry
>Configure esta opção para definir a variável de ambiente <envar
>QTDIR</envar
> enquanto compila. Você poderá sobrepor esta configuração numa opção de um módulo. Se não indicar esta opção, será por padrão a <filename class="directory"
><symbol
>${source-dir}</symbol
>/build/qt-copy</filename
>, que irá usar o módulo 'qt-copy' que está incluído no repositório de código do &kde;. Você poderá usar um til (~) que representa a sua pasta pessoal. </entry>
</row>

<row id="conf-remove-after-install">
<entry
>remove-after-install</entry>
<entry
>A configuração do módulo substitui a global</entry>
<entry
><para
>Se estiver com pouco espaço em disco, você poderá querer usar esta opção para remover automaticamente a pasta de compilação (ou as pastas de compilação e de código, para instalações episódicas), após o módulo ter sido instalado com sucesso. </para>
<para
>Os valores possíveis para esta opção são: <itemizedlist>
<listitem
><para
>none - Não remove nada (Este é o valor padrão).</para
></listitem>
<listitem
><para
>builddir - Remove a pasta de compilação, mas não o código.</para
></listitem>
<listitem
><para
>all - Remove tanto o código-fonte como a pasta de compilação.</para
></listitem>
</itemizedlist>
</para>

<para
>Note que a utilização desta opção poderá ter um grande impacto na utilização da sua largura de banda (se usar o <replaceable
>all</replaceable
>) e o tempo que dura a compilação do &kde;, uma vez que o &kdesrc-build; será incapaz de efetuar compilações incrementais.</para>
</entry>
</row>

<row id="conf-repository">
<entry
>repository</entry>
<entry
>A configuração do módulo substitui a global</entry>
<entry
><para
>Esta opção foi introduzida com a versão 1.10 e é usada para especificar o repositório do &git; para transferir o código-fonte para o módulo. O &Qt; (e consequentemente o qt-copy) precisará desta opção, bem como vários módulos do &kde; que estão em processo de conversão para usar o &git;.</para
></entry>
</row>

<row id="conf-revision">
<entry
>revision</entry>
<entry
>A configuração do módulo substitui a global</entry>
<entry
>Se esta opção for configurada com um valor diferente de 0 (zero), o &kdesrc-build; irá obrigar a atualização do &subversion; ao obter o módulo que tenha exatamente esse número de versão, mesmo que as opções como o <link linkend="conf-branch"
>branch</link
> estejam em efeito. Se o módulo já estiver na versão indicada, então não será mais atualizado, a menos que esta opção seja alterada ou removida da configuração.</entry>
</row>

<row id="conf-run-tests">
<entry
>run-tests</entry>
<entry
>A configuração do módulo substitui a global</entry>
<entry
>Se definido para <replaceable
>true</replaceable
>, então o módulo será compilado com suporte para executar seu pacote de testes, e o pacote de testes será executado como parte do processo de compilação. O &kdesrc-build; mostrará um relatório resumido dos resultados do teste. Isto é útil para desenvolvedores ou para aqueles que desejam se certificar de que seu sistema foi configurado corretamente.</entry>
</row>

<row id="conf-set-env">
<entry
>set-env</entry>
<entry
>A configuração do módulo substitui a global</entry>
<entry
><para
>Esta opção aceita um conjunto de valores separados por espaços, onde o primeiro valor é a variável de ambiente a definir e o resto dos valores é o que deseja atribuir à sua variável. Por exemplo, para configurar a variável <envar
>RONALD</envar
> como McDonald, você deve colocar este comando na seção apropriada:</para>
<screen
><command
>set-env</command
> <envar
>RONALD</envar
> <userinput
>McDonald</userinput
></screen>
<para
>Esta opção é especial, na medida em que poderá ser repetida sem sobrepor a configuração anterior do 'set-env' na mesma seção do <link linkend="configure-data"
>arquivo de configuração</link
>. Desta forma, você poderá definir mais de uma variável de ambiente por módulo (ou a nível global).</para>
</entry>
</row>

<row id="conf-source-dir">
<entry
>source-dir</entry>
<entry
>A configuração do módulo substitui a global</entry>
<entry
>Esta opção é usada para definir a pasta do seu computador onde será guardado o código-fonte do &subversion; do &kde;. Se não indicar este valor, será usado o valor padrão <filename class="directory"
>~/kdesrc</filename
>. Você poderá usar o til (~) para representar a pasta pessoal se usar esta opção. </entry>
</row>

<row id="conf-stop-on-failure">
<entry
>stop-on-failure</entry>
<entry
>A configuração do módulo substitui a global</entry>
<entry
>Configure o valor desta opção como <replaceable
>true</replaceable
> para fazer com que o programa pare a execução, após ocorrer um erro durante o processo de compilação ou instalação. Esta opção está desativada por padrão. </entry>
</row>

<row id="conf-svn-server">
<entry
>svn-server</entry>
<entry
>A configuração do módulo substitui a global</entry>
<entry
><para
>Esta opção é usada para definir o servidor usado para obter o código do &subversion;. Por padrão, é usado o repositório anônimo de &subversion;, em <filename
>svn://anonsvn.kde.org/</filename
></para>
<note
><para
>Se você estiver programando para o KDE, use o repositório de &subversion;  que lhe foi fornecido quando recebeu a sua conta de desenvolvedor, em vez do repositório anônimo.</para
></note>
</entry>
</row>

<row id="conf-tag">
<entry
>tag</entry>
<entry
>A configuração do módulo substitui a global</entry>
<entry
><para
>Use esta opção para obter uma versão específica de um módulo.</para>
<para
><emphasis
>Nota:</emphasis
> As chances serão muito boas quando <emphasis
>não quiser</emphasis
> usar esta opção. As versões do &kde; estão disponíveis em pacotes compactados no <ulink url="ftp://ftp.kde.org/"
>servidor de FTP do &kde;</ulink
> ou num dos seus <ulink url="http://download.kde.org/download.php"
>servidores espelho</ulink
>.</para>
</entry>
</row>

<row>
<entry
>use-cmake</entry>
<entry
></entry>
<entry
>Esta opção foi removida no &kdesrc-build; 1.4, uma vez que todos os módulos do &kde; 4 necessitam do  e a &cmake;utilização do &cmake; não é permitida em mais nenhum módulo. </entry>
</row>

<row id="conf-use-idle-io-priority">
<entry
>use-idle-io-priority</entry>
<entry
>Não poderá ser sobreposta</entry>
<entry
>Esta opção, adicionada no &kdesrc-build; 1.12, fará com que uma baixa prioridade seja usada para o disco e outro uso de I/O, o que pode melhorar significativamente a responsividade do resto do sistema ao custo de tempos de execução levemente maiores para o &kdesrc-build;. O padrão é estar desativado. Para ativar a baixa prioridade para o disco, defina isto para <replaceable
>true</replaceable
>. </entry>
</row>

<row id="conf-use-qt-builddir-hack">
<entry
>use-qt-builddir-hack</entry>
<entry
>A configuração do módulo substitui a global</entry>
<entry
>Esta opção foi removida devido a melhorias no sistema de compilação do &Qt;. </entry>
</row>

<row>
<entry
>use-stable-kde</entry>
<entry
></entry>
<entry
><para
>Esta opção foi removida na versão 1.10 pois limita o suporte do KDE 4, removendo o efeito desta opção. </para>
</entry>
</row>

</tbody>

</tgroup>
</table>

</sect1>
</chapter>

<chapter id="cmdline">
<title
>Opções da Linha de Comando e Variáveis de Ambiente</title>

<sect1 id="supported-envvars">
<title
>Variáveis de Ambiente Suportadas</title>

<para
>O &kdesrc-build; não usa variáveis de ambiente. Se você precisar definir variáveis de ambiente para o ambiente de compilação ou de instalação, veja a opção <link linkend="conf-set-env"
>set-env</link
>. </para>

</sect1>

<sect1 id="supported-cmdline-params">
<title
>Parâmetros de linha de comando suportados</title>

<para
>O programa aceita as seguintes opções da linha de comando: </para>

<variablelist>

<varlistentry id="cmdline-async">
<term
><parameter
>--async</parameter
></term>
<listitem
><para
>Ativa o <link linkend="conf-async"
>modo assíncrono</link
>, que pode realizar atualizações do código-fonte e compilar o módulo ao mesmo tempo. Isto é o padrão, e esta opção somente precisa ser especificada se você quiser desabilitá-la na configuração. </para
></listitem>
</varlistentry>

<varlistentry id="cmdline-help">
<term
><parameter
>--help</parameter
></term>
<listitem
><para
>Mostra apenas uma ajuda simples deste programa. </para
></listitem>
</varlistentry>

<varlistentry id="cmdline-version">
<term
><parameter
>--version</parameter
></term>
<listitem
><para
>Mostra a versão do programa. </para
></listitem>
</varlistentry>

<varlistentry id="cmdline-author">
<term
><parameter
>--author</parameter
></term>
<listitem
><para
>Mostra as informações de contato do autor. </para
></listitem>
</varlistentry>

<varlistentry id="cmdline-color">
<term
><parameter
>--color</parameter
></term>
<listitem
><para
>Ativa a saída em cores. (Isto é o padrão para terminais interativos). </para
></listitem>
</varlistentry>

<varlistentry id="cmdline-nice">
<term
><parameter
>--nice=<replaceable
>valor</replaceable
></parameter
></term>
<listitem
><para
>Este valor ajusta a prioridade da CPU do computador solicitada pelo &kdesrc-build;, e deve estar no intervalo de 0-20. O 0 é a prioridade mais alta (por isso ele é o menos <quote
>satisfatório</quote
>) e o 20 é a prioridade mais baixa. O padrão do &kdesrc-build; é o 10. </para
></listitem>
</varlistentry>

<varlistentry id="cmdline-no-async">
<term
><parameter
>--no-async</parameter
></term>
<listitem
><para
>Desativa o <link linkend="conf-async"
>modo assíncrono</link
> de atualização. Ao invés da atualização ser realizada completamente antes da compilação iniciar. Esta opção irá aumentar o tempo de todo o processo, mas se você encontrar erros de IPC ao rodar o &kdesrc-build; tente usar esta opção e submeter um <ulink url="http://bugs.kde.org/"
>relatório de erro</ulink
>. </para
></listitem>
</varlistentry>

<varlistentry id="cmdline-no-color">
<term
><parameter
>--no-color</parameter
></term>
<listitem
><para
>Desativa o resultado do programa à cores. </para
></listitem>
</varlistentry>

<varlistentry id="cmdline-pretend">
<term
><parameter
>--pretend</parameter
> (ou <parameter
>-p</parameter
>)</term>
<listitem
><para
>O &kdesrc-build; executará o processo de atualização e compilação, mas ao invés de realizar qualquer ação efetivamente, ele apresentará o que o programa deveria fazer (quais comandos executar, passos gerais feitos, etc.).</para>

<para
>Nota: Comandos apenas de leitura (como a leitura de informações de um arquivo) pode ainda ser executados para tornar o resultado mais relevante (como simular corretamente se o código-fonte deve ser transferido ou atualizado). </para
></listitem>
</varlistentry>

<varlistentry id="cmdline-quiet">
<term
><parameter
>--quiet</parameter
> (ou <parameter
>-q</parameter
>)</term>
<listitem
><para
>Não é tão descritivo com o resultado exibido pela compilação. Com esta opção, somente as mensagens básicas são apresentadas. </para
></listitem>
</varlistentry>

<varlistentry id="cmdline-really-quiet">
<term
><parameter
>--really-quiet</parameter
></term>
<listitem
><para
>Só mostra as mensagens de avisos e erros. </para
></listitem>
</varlistentry>

<varlistentry id="cmdline-verbose">
<term
><parameter
>--verbose</parameter
> (ou <parameter
>-v</parameter
>)</term>
<listitem
><para
>Torna-se bastante descritivo com o que está acontecendo e o que o &kdesrc-build; está fazendo. </para
></listitem>
</varlistentry>

<varlistentry id="cmdline-src-only">
<term
><parameter
>--src-only</parameter
> (ou <parameter
>--svn-only</parameter
>)</term>
<listitem
><para
>Somente realiza uma atualização do código. (O <parameter
>--svn-only</parameter
> somente é suportado para compatibilidade com programas antigos). </para
></listitem>
</varlistentry>

<varlistentry id="cmdline-build-only">
<term
><parameter
>--build-only</parameter
></term>
<listitem
><para
>Efetua apenas o processo de compilação. </para
></listitem>
</varlistentry>

<varlistentry id="cmdline-ignore-modules">
<term
><parameter
>--ignore-modules</parameter
></term>
<listitem
><para
>Não inclui os módulos passados no resto da linha de comando no processo de atualização/compilação (isto é útil se você deseja compilar a maioria dos módulos em seu <link linkend="configure-data"
>arquivo de configuração</link
> e apenas pular alguns). </para
></listitem>
</varlistentry>

<varlistentry id="cmdline-no-src">
<term
><parameter
>--no-src</parameter
> (ou <parameter
>--no-svn</parameter
>)</term>
<listitem
><para
>Na contacta o servidor &subversion;. (O parâmetro <parameter
>--no-svn</parameter
> somente é suportado para compatibilidade com versões antigas do programa). </para
></listitem>
</varlistentry>

<varlistentry id="cmdline-no-build">
<term
><parameter
>--no-build</parameter
></term>
<listitem
><para
>Salta o processo de compilação. </para
></listitem>
</varlistentry>

<varlistentry id="cmdline-no-install">
<term
><parameter
>--no-install</parameter
></term>
<listitem
><para
>Não instala automaticamente os pacotes, após a sua compilação. </para
></listitem>
</varlistentry>

<varlistentry id="cmdline-no-build-when-unchanged">
<term
><parameter
>--no-build-when-unchanged</parameter
></term>
<term
><parameter
>--force-build</parameter
></term>
<listitem
><para
>Esta opção desativa de forma explícita a eliminação do processo de compilação (uma otimização controlada pela opção <link linkend="conf-build-when-unchanged"
>build-when-unchanged</link
>). Isto é útil para fazer com que o &kdesrc-build; execute a compilação, caso tenha alterado algo que o &kdesrc-build; não consegue verificar.</para>

<para
>O <parameter
>--force-build</parameter
> efetua exatamente a mesma função, sendo talvez mais fácil de se lembrar.</para>
</listitem>
</varlistentry>

<varlistentry id="cmdline-debug">
<term
><parameter
>--debug</parameter
></term>
<listitem
><para
>Ativa o modo de depuração para o programa. Atualmente, isto significa que todo o resultado será enviado para o saída padrão, além de ficar registrado na pasta de registro normalmente. Do mesmo modo, muitas das funções tornar-se-ão mais descritivas sobre o que estão fazendo no modo de depuração. </para
></listitem>
</varlistentry>

<varlistentry id="cmdline-no-rebuild-on-fail">
<term
><parameter
>--no-rebuild-on-fail</parameter
></term>
<listitem
><para
>Não tenta compilar de novo os módulos que não conseguiram ser compilados do zero. O &kdesrc-build; nunca irá tentar fazer isto num módulo que já se tentou compilar do zero. </para
></listitem>
</varlistentry>

<varlistentry id="cmdline-refresh-build">
<term
><parameter
>--refresh-build</parameter
></term>
<listitem
><para
>Recria o sistema de compilação e compila a partir do zero. </para
></listitem>
</varlistentry>

<varlistentry id="cmdline-reconfigure">
<term
><parameter
>--reconfigure</parameter
></term>
<listitem
><para
>Executa o <command
>cmake</command
> (para os módulos do &kde;) ou o <command
>configure</command
> (para o &Qt;) novamente, sem limpar a pasta de compilação. Você normalmente não tem que especificar isto, uma vez que o &kdesrc-build; detectará quando você muda opções relevantes e automaticamente re-executará a configuração da compilação. Esta opção está implícita se o <parameter
><link linkend="cmdline-refresh-build"
>--refresh-build</link
></parameter
> for usado. </para
></listitem>
</varlistentry>

<varlistentry id="cmdline-resume-from">
<term
><parameter
>--resume-from</parameter
></term>
<listitem
><para
>Esta opção é usada para prosseguir com a compilação a partir do módulo indicado, que é o parâmetro seguinte na linha de comando. Esta opção implica a <link linkend="cmdline-no-src"
><parameter
>--no-src</parameter
></link
>. Você não deverá indicar os nomes dos outros módulos na linha de comando. </para>
<para
>Veja também: <xref linkend="cmdline-resume-after"/> e <xref linkend="resuming-failed"/>. Você pode preferir usar esta opção de linha de comando se tiver corrigido um erro de compilação e deseja que o &kdesrc-build; conclua a compilação.</para
></listitem>
</varlistentry>

<varlistentry id="cmdline-resume-after">
<term
><parameter
>--resume-after</parameter
></term>
<listitem
><para
>Esta opção é usada para prosseguir com a compilação após o módulo indicado, que é o parâmetro seguinte na linha de comando. Esta opção implica a <link linkend="cmdline-no-src"
><parameter
>--no-src</parameter
></link
>. Você não deverá indicar os nomes dos outros módulos na linha de comando. </para>
<para
>Veja também: <xref linkend="cmdline-resume-from"/> e <xref linkend="resuming-failed"/>. Você pode preferir usar esta opção de linha de comando se tiver corrigido um erro de compilação e tiver compilado e instalado o módulo você mesmo, e deseja que o &kdesrc-build; inicie novamente com o próximo módulo.</para
></listitem>
</varlistentry>

<varlistentry id="cmdline-rc-file">
<term
><parameter
>--rc-file</parameter
></term>
<listitem
><para
>Isto interpreta o próximo parâmetro da linha de comando como o arquivo de onde ler as opções de configuração. O valor padrão deste parâmetro é <filename
>kdesrc-buildrc</filename
> (verificado na pasta atual) se ele estiver presente, ou, caso não esteja, o <filename
>~/.kdesrc-buildrc</filename
>. Veja também <xref linkend="kdesrc-buildrc"/>. </para
></listitem>
</varlistentry>

<varlistentry id="cmdline-run">
<term
><parameter
>--run</parameter
></term>
<listitem
><para
>Esta opção interpreta o item a seguir na linha de comando como um programa a executar, fazendo com que o &kdesrc-build; acabe de ler o arquivo de configuração normalmente e depois execute o programa indicado.</para>

<para
>Isto não irá funcionar para iniciar uma linha de comando com o ambiente do &kdesrc-build;, contudo, uma vez que as linhas de comando interativas tipicamente limpam algumas partes das variáveis de ambiente (como a <envar
>PATH</envar
> e a <envar
>KDEDIRS</envar
>) na sequência de inicialização. </para>

<tip
><para
>Se você deseja ver o ambiente usado pelo &kdesrc-build;, você pode executar o comando <command
>printenv</command
>:</para>
<informalexample>
<screen
>$ <command
>kdesrc-build</command
> <parameter
>--run</parameter
> <parameter
>printenv</parameter>
KDE_SESSION_VERSION=4
SDL_AUDIODRIVER=alsa
LANGUAGE=
XCURSOR_THEME=Oxygen_Blue
LESS=-R -M --shift 5
QMAIL_CONTROLDIR=/var/qmail/control
... etc.
</screen>
</informalexample
></tip>
</listitem>
</varlistentry>

<varlistentry id="cmdline-prefix">
<term
><parameter
>--prefix=&lt;/localização/do/kde&gt;</parameter
></term>
<listitem
><para
>Isto permite-lhe mudar a pasta onde o &kde; será instalado na linha de comando. Esta opção implica a <link linkend="cmdline-reconfigure"
><parameter
>--reconfigure</parameter
></link
>, mas usar o <link linkend="cmdline-refresh-build"
><parameter
>--refresh-build</parameter
></link
> pode também ser necessário. </para
></listitem>
</varlistentry>

<varlistentry id="cmdline-revision">
<term
><parameter
>--revision</parameter
></term>
<listitem
><para
>Esta opção faz com que o &kdesrc-build; obtenha um número de revisão específico para cada módulo do &subversion;, sobrescrevendo qualquer opção <link linkend="conf-branch"
>branch</link
>, <link linkend="conf-tag"
>tag</link
>, ou <link linkend="conf-revision"
>revision</link
> já configurada para estes módulos.</para>

<para
>Esta opção provavelmente não é uma boa idéia, e somente é suportada para compatibilidade com programas antigos. </para
></listitem>
</varlistentry>

<varlistentry id="cmdline-build-system-only">
<term
><parameter
>--build-system-only</parameter
></term>
<listitem
><para
>Esta opção faz com que o &kdesrc-build; cancele a compilação de um módulo exatamente antes do comando <command
>make</command
> ser executado. Isto é suportado somente para compatibilidade com versões antigas, e seu efeito não é útil para o sistema de compilação atual do &kde;. </para
></listitem>
</varlistentry>

<varlistentry id="cmdline-install"
><term
><parameter
>--install</parameter
></term>
<listitem
><para
>Se esta for a única opção da linha de comando, ele irá tentar instalar todos os módulo incluídos em <filename
>log/latest/build-status</filename
>. Se as opções da linha de comando forem indicadas após o <parameter
>--install</parameter
>, então assumem-se que são módulos para instalar (mesmo se eles não compilaram com sucesso na última execução). </para
></listitem>
</varlistentry>

<varlistentry id="cmdline-purge-old-logs"
><term
><parameter
>--purge-old-logs</parameter
></term>
<listitem
><para
>Esta opção faz com que o &kdesrc-build; remova pastas de registro desnecessárias após a compilação, para economizar espaço em disco. Todas as pastas de registro que não são necessárias para satisfazer uma ligação de <filename
>log/latest</filename
> serão removidas. Isto é desabilitado por padrão. Para ativar esta opção, veja a opção <link linkend="conf-purge-old-logs"
>purge-old-logs</link
>. </para
></listitem>
</varlistentry>

<varlistentry id="cmdline-no-snapshots"
><term
><parameter
>--no-snapshots</parameter
></term>
<listitem
><para
>Fornecer esta opção faz com que o &kdesrc-build; sempre previra uma transferência inicial de um módulo do &subversion; ao invés de usar a imagem do módulo no &subversion;. </para>

<note
><para
>Imagens do módulo <emphasis
>são</emphasis
> transferências reais do &subversion;. Você não deve precisar especificar esta opção, sendo ela somente um auxílio para a resolução de problemas.</para
></note>
</listitem>
</varlistentry>

<varlistentry id="cmdline-global-option">
<term
><parameter
>--&lt;nome-da-opção&gt;=</parameter
></term>
<listitem
><para
>Você poderá usar esta opção para sobrepor outra opção no seu <link linkend="configure-data"
>arquivo de configuração</link
> para todos os módulos. Por exemplo, para sobrepor a opção <link linkend="conf-log-dir"
>log-dir</link
>, você deverá digitar: <userinput
><parameter
>--log-dir=<filename class="directory"
><replaceable
>/local/da/pasta</replaceable
></filename
></parameter
></userinput
>. </para
></listitem>
</varlistentry>

<varlistentry id="cmdline-module-option">
<term
><parameter
>--&lt;nome-módulo&gt;,&lt;nome-opção&gt;=</parameter
></term>
<listitem
><para
>Ou você poderá usar esta opção para substituir outra no seu <link linkend="configure-data"
>arquivo de configuração</link
>, para um determinado módulo. </para
></listitem>
</varlistentry>

</variablelist>

<para
>Todas as outras opções da linha de comando assumem-se como sendo módulos para atualizar e compilar. Por favor, não misture a compilação com a instalação. </para>

</sect1>

</chapter>

<chapter id="using-kdesrc-build">
<title
>Usando o &kdesrc-build;</title>

<sect1 id="using-kdesrc-build-preface">
<title
>Prefácio</title>

<para
>Normalmente, a utilização do &kdesrc-build; após ter passado pelo <xref linkend="getting-started"/> é tão simples como fazer o seguinte, a partir de uma linha de comando:</para>

<screen
><prompt
>&percnt;</prompt
> <command
><userinput
>kdesrc-build</userinput
></command
>
</screen>

<para
>O &kdesrc-build; irá então baixar o código do &kde;, tentará configurá-lo e compilá-lo e, no fim, tentará instalá-lo.</para>

<para
>Leia mais para saber como o &kdesrc-build; faz isso, assim como o que você poderá fazer com esta ferramenta.</para>

</sect1>

<sect1 id="basic-features">
<title
>Funcionalidades básicas do &kdesrc-build;</title>

<sect2 id="using-qt-copy">
<title
>Suporte para o 'qt-copy'</title>
<para
>O &kdesrc-build; suporta a compilação do conjunto de ferramentas do &Qt; usado pelos programas do &kde; como uma conveniência para os usuários. Este suporte é manipulado por um módulo especial denominado qt-copy.</para>

<note
><para
>O &Qt; é desenvolvido sob um repositório separado dos programas do &kde;, localizado em <ulink url="http://qt.gitorious.org/qt"
>http://qt.gitorious.org/qt</ulink
>.</para
></note>

<para
>Para compilar o &Qt;, você deve certificar-se de que a configuração <link linkend="conf-qtdir"
>qtdir</link
> está definida para a pasta que você gostaria de instalar o &Qt;, conforme descrito em <xref linkend="configure-data"/>.</para>

<para
>Você deve certificar-se de que o módulo do qt-copy module está adicionado ao seu <filename
>.kdesrc-buildrc</filename
>, antes de qualquer outro módulo no arquivo. Se você estiver usando o arquivo de configuração de exemplo, basta apenas descomentar a entrada existente para o módulo qt-copy.</para>

<para
>Agora você deve verificar se as opções <link linkend="conf-repository"
>repository</link
> e <link linkend="conf-branch"
>branch</link
> foram definidas apropriadamente:</para>

<orderedlist>
<listitem
><para
>A primeira opção é para compilar com um grupo de correções recomendadas e alterações de otimização aplicadas (isto costumava ser controlado usando uma opção denominada apply-patches). Esta coleção é desenvolvida em um repositório separado em <ulink url="http://gitorious.org/+kde-developers/qt/kde-qt"
>http://gitorious.org/+kde-developers/qt/kde-qt</ulink
>. Se você desejar compilar com as alterações aplicadas (a maioria dos desenvolvedores do &kde; faz isso) então você deve definir sua opção de repositório para <userinput
>git://gitorious.org/+kde-developers/qt/kde-qt.git</userinput
></para>
</listitem>

<listitem
><para
>Caso contrário, para compilar o &Qt; padrão, defina sua opção de repositório para <userinput
>git://gitorious.org/qt/qt.git</userinput
></para
></listitem>
</orderedlist>

<para
>Em ambos os casos, a opção 'branch' deve ser definida para <userinput
>master</userinput
> (a menos que você deseje compilar uma 'branch' diferente).</para>

<note
><para
>Em alguns casos, o programa de controle de código correspondente não é capaz de funcionar quando executado a partir do &kdesrc-build;, mas ainda funcionará bem quando executado a partir da linha de comando. Esta falha ainda está sob investigação.</para
></note>

</sect2>

<sect2 id="kdesrc-build-std-flags">
<title
>Opções normais adicionadas pelo &kdesrc-build;</title>
<para
>Para lhe poupar tempo, o &kdesrc-build; adiciona alguns locais padrão ao seu ambiente: </para>

<itemizedlist>
<listitem
><para
>O local das bibliotecas do &kde; e do &Qt; é adicionado automaticamente à variável <envar
>LD_LIBRARY_PATH</envar
>. Isto significa que não irá precisar editar a &libpath; para incluí-los. </para
></listitem>

<listitem
><para
>O local dos programas de suporte ao desenvolvimento do &kde; e do &Qt; é adicionado automaticamente à variável <envar
>PATH</envar
>. Isto significa que não irá precisar editar a &binpath; para incluir. </para
></listitem>

<listitem
><para
>O local do <application
>pkg-config</application
> fornecido com o &kde; é adicionado automaticamente ao <envar
>PKG_CONFIG_PATH</envar
>. Isto significa que não terá de usar o &set-env; para os incluí-los. </para
></listitem>

<listitem
><para
>A configuração do &kdedir; é propagada automaticamente para a variável de ambiente <envar
>KDEDIR</envar
> durante a compilação. (O <envar
>KDEDIRS</envar
> não é afetado). </para
></listitem>

<listitem
><para
>A configuração do &qtdir; é propagada automaticamente para a variável de ambiente <envar
>QTDIR</envar
> durante a compilação. </para
></listitem>

</itemizedlist>

</sect2>

<sect2 id="build-priority">
<title
>Mudando a prioridade de compilação do &kdesrc-build;</title>
<para
>Os programas poderão ser executados com diferentes níveis de prioridades nos Sistemas Operacionais, incluindo o &Linux; e o &BSD;. Isto permite ao sistema reservar tempo para os diferentes programas, de acordo com a sua importância. </para>

<para
>O &kdesrc-build; irá reservar uma prioridade baixa para si próprio, para que o resto dos programas do seu sistema não sejam afetados e possam rodar normalmente. Com esta técnica, o &kdesrc-build; irá usar CPU extra quando estiver disponível. </para>

<para
>O &kdesrc-build; irá ainda manter uma prioridade suficientemente alta, para que se execute antes dos processos rotineiros e antes dos programas de doação de CPU, como o <ulink url="http://setiathome.ssl.berkeley.edu/"
>Seti@Home</ulink
>. </para>

<para
>Para alterar o &kdesrc-build;, de modo a usar um nível de prioridade maior (ou menor) de forma permanente, então você terá que ajustar a opção &niceness; no <link linkend="configure-data"
>arquivo de configuração</link
>. A opção &niceness; controla quão <quote
>legal</quote
> é o &kdesrc-build; com os outros programas. Em outras palavras, um &niceness; maior, dará ao &kdesrc-build; uma prioridade menor. Assim, para dar ao &kdesrc-build; uma maior prioridade, reduza o &niceness; (e vice-versa). O &niceness; pode ir de 0 (nada legal, prioridade máxima) até 20 (super-legal, prioridade mínima).</para>

<para
>Você poderá também mudar temporariamente a prioridade do &kdesrc-build; ao usar a <link linkend="cmdline"
>opção de linha de comando</link
> &cmd-nice;. O valor da opção é usado da mesma forma que no &niceness;.</para>

<note
><para
>É possível para alguns programas executados pelo super-usuário ter um valor de prioridade negativo, com uma prioridade de sistema corresponde ainda maior para alguns programas. A configuração de um valor negativo (ou mesmo 0) do &niceness; para o &kdesrc-build; não é uma boa ideia, uma vez que não irá melhorar muito o tempo de compilação, mas tornará o seu computador muito lento, se ainda precisar usá-lo. </para
></note>

<informalexample>
<para
>Para executar o &kdesrc-build; com uma prioridade igual a 15 (menor que o normal):</para>

<screen
><prompt
>&percnt;</prompt
> <userinput
><command
>kdesrc-build</command
> <option
>--nice=<replaceable
>15</replaceable
></option
></userinput
>
</screen>

<para
>Ou você poderá editar o <link linkend="configure-data"
>arquivo de configuração</link
> para tornar a mudança permanente:</para>

<screen
>&niceness; <replaceable
>15</replaceable
>
</screen>
</informalexample>

<tip>
<para
>A opção <link linkend="conf-niceness"
>niceness</link
> somente afeta o uso do(s) processador(es) do computador. Uma outra que afeta significativamente o desempenho do computador se refere a quantos dados de entrada ou saída (<acronym
>I/O</acronym
>) um programa usa. Para controlar quanto <acronym
>I/O</acronym
> um programa pode usar, os sistemas operacionais &Linux; modernos suportam uma ferramenta similar denominada <application
>ionice</application
>. O &kdesrc-build; suporta o <application
>ionice</application
>, (mas somente para ativá-lo ou desativá-lo completamente) usando a opção <link linkend="conf-use-idle-io-priority"
>use-idle-io-priority</link
>, desde a versão 1.12 do &kdesrc-build;. </para>
</tip>

</sect2>

<sect2 id="root-installation">
<title
>Instalação como super-usuário</title>
<para
>Você poderá ter o &kdesrc-build; executando a instalação com privilégios de super-usuário. Isto pode acontecer no caso da instalação a nível do sistema (não recomendada). Também é útil se você usar uma instalação normal para um único usuário, todavia. Isto acontece porque alguns módulos (especialmente o 'kdebase') instalam programas que, por breves instantes, irão necessitar de permissões elevadas ao serem executados. Eles não conseguirão obter esses níveis de permissões, a menos que tenham sido instalados com as permissões elevadas. </para>

<para
>Você poderá simplesmente executar o &kdesrc-build; diretamente como super-usuário, mas isto não é recomendável, uma vez que o programa não foi testado para esse tipo de utilização. Ainda que possa ser seguro executá-lo dessa forma, é melhor evitar executar este programa como super-usuário, sempre que possível.</para>

<para
>Para tomar conta disto, o &kdesrc-build; oferece a opção &make-install-prefix;. Você poderá usar esta opção para indicar um comando a usar para efetuar a instalação como outro usuário. A forma recomendada de usar este comando é com o programa &sudo;, que irá então executar o comando de instalação como super-usuário. </para>

<informalexample>
<para
>Por exemplo, para instalar todos os módulos com o &sudo;, você poderá fazer algo como:</para>

<screen
>global
  &make-install-prefix; <replaceable
>sudo</replaceable>
  # Outras opções
end global
</screen>

<para
>Para usar o &make-install-prefix; apenas num módulo, isto irá funcionar: </para>

<screen
>module <replaceable
>kdemultimedia</replaceable>
  &make-install-prefix; <replaceable
>sudo</replaceable>
end module
</screen>
</informalexample>

</sect2>

<sect2 id="build-progress">
<title
>Mostrando o progresso da compilação de um módulo</title>
<para
>Esta funcionalidade está sempre disponível e está ativada automaticamente, sempre que possível. O que isto faz é mostrar o progresso estimado da compilação ao compilar um módulo, para que você saiba desta forma quanto tempo mais irá levar para compilar um módulo. </para>

</sect2>

</sect1>

<sect1 id="advanced-features">
<title
>Funcionalidades avançadas</title>

<sect2 id="partial-builds">
<title
>Compilar parcialmente um módulo</title>
<para
>É possível compilar apenas partes de um único módulo do &kde;. Por exemplo, você pode querer compilar apenas um programa de um módulo. O &kdesrc-build; possui funcionalidades para simplificar isto. Existem várias formas complementares de fazer esta tarefa. </para>

<sect3 id="checking-out-parts">
<title
>Extrair partes de um módulo</title>

<para
>Esta será talvez a melhor forma de fazer isto. Quando funciona, lhe poupará tempo de transferência e espaço em disco. O que acontece é que o &kdesrc-build; irá baixar apenas as partes do módulo que indicar. Isto é feito com a opção &checkout-only; para um determinado módulo, que irá indicar uma lista das pastas a baixar. </para>

<tip
><para
>Se você ainda não souber o que vai transferir de um determinado módulo, poderá ser uma boa ideia navegar pela disposição no &subversion; para um módulo, em primeiro lugar, usando o <ulink url="http://websvn.kde.org/branches/KDE/4.5/"
>WebSVN</ulink
>. </para
></tip>

<informalexample>
<para
>Para obter apenas o &kuser; e o <application
>KSystemLog</application
> do 'kdeadmin', você poderá usar o &checkout-only; da seguinte forma:</para>

<screen
>module <replaceable
>kdeadmin</replaceable>
  &checkout-only; <replaceable
>kuser ksystemlog</replaceable>
end module
</screen>

</informalexample>

<important
><para
>As pastas serão compiladas na ordem que forem indicadas na opção. Se uma das pastas necessitar de alguma coisa além do módulo para compilar, então você terá que garantir que ambas se encontram na linha &checkout-only; e que a dependência necessária venha antes da pasta que necessita dela.</para>

<para
>Da mesma forma, algumas vezes um aplicativo poderá necessitar de outras pastas e isso pode ser difícil de descobrir. Isto poderá ser solucionado através de tentativa e erro, adicionando constantemente pastas à opção para descobrir qual é a necessária.Esta opção depende do suporte no sistema de compilação do módulo, só sendo útil para os módulos que sejam coleções de aplicações individuais.</para>
</important>

<para
>Uma nota final sobre esta opção: Se você alterar esta opção deverá usar o <userinput
><command
>kdesrc-build</command
> <option
>&cmd-refresh-build;</option
> <option
><replaceable
>módulo</replaceable
></option
></userinput
> para garantir que o módulo é configurado de novo convenientemente. Além disso, o &kdesrc-build; nunca irá remover os arquivos existentes, se você retirar o número de pastas da sua opção &checkout-only; ou adicionar a opção a um módulo que já foi extraído.</para>

</sect3>

<sect3 id="not-compiling">
<title
>Removendo pastas de uma compilação</title>
<para
>Em vez de restringir o que é baixado, é possível transferir tudo mas fazer com que o sistema de compilação deixe de fora algumas pastas ao compilar. Isto pode ser útil se uma pasta estiver sempre invalidando a compilação e for desnecessária para o resto do módulo. </para>

<para
>Isto é controlado com a opção &do-not-compile;. Funciona de forma semelhante à opção &checkout-only; descrita acima, e é apenas uma lista das pastas que não deverão ser compiladas.</para>

<important
><para
>Da mesma forma que no &checkout-only;, esta opção necessita pelo menos que o sistema de compilação do módulo seja reconfigurado após a alteração. Isto é feito com o comando <userinput
><command
>kdesrc-build</command
> <option
>&cmd-reconfigure;</option
> <option
><replaceable
>módulo</replaceable
></option
></userinput
>. </para
></important>

<informalexample>
<para
>Para remover a pasta <filename class="directory"
>python</filename
> do processo de compilação do 'kdebindings':</para>

<screen
>module <replaceable
>kdebindings</replaceable>
  &do-not-compile; <replaceable
>python</replaceable>
end module
</screen>

</informalexample>

<note
><para
>Esta função depende de algumas convenções normais, usadas na maioria dos módulos do &kde;. Assim, ela poderá não funcionar para todos os programas.</para
></note>

</sect3>

</sect2>

<sect2 id="using-branches">
<title
>Suporte de marcas e ramificações do &kdesrc-build;</title>

<sect3 id="branches-and-tags">
<title
>O que são ramificações e marcas?</title>

<para
>O  supo&subversion;rta o gerenciamento do histórico do código do &kde;. O &kde; usa esse suporte para criar ramificações ('branches') para desenvolvimento e para marcar o repositório com marcas ('tags'), sempre que lança uma nova versão. </para>

<para
>Por exemplo, os programadores do &kmail; poderão estar trabalhando numa nova funcionalidade, numa ramificação diferente, para evitar corromper a versão que está em uso pela maioria dos programadores. Esta ramificação tem desenvolvimentos em curso nela, mesmo quando a ramificação principal (chamada de /trunk) também possua desenvolvimentos em curso nela. </para>

<para
>Uma marca, por outro lado, é uma imagem do repositório de código numa determinada posição no tempo. Isto é usado pela equipe de administração do &kde; para marcar uma versão do código adequada para lançamento, permitindo ainda aos programadores trabalharem no código. </para>

<para
>No &subversion;, não existem diferenças entre ramificações, marcas ou o 'trunk' no código. É apenas uma convenção usada pelos programadores. Isso torna difícil suportar convenientemente as ramificações e marcas no &kdesrc-build;. Contudo, existem algumas coisas que poderão ser feitas. </para>

</sect3>

<sect3 id="branch-support">
<title
>Como usar as ramificações e marcas</title>

<para
>O suporte para ramificações e marcas é tratado por um conjunto de opções, que vão desde um simples pedido de uma versão até um &url; específico de transferência, para os usuários mais avançados. </para>

<para
>O método mais simples é usar as opções &branch; e &tag;. Você poderá usar a opção em conjunto com o nome da marca ou ramificação de um módulo, para que o &kdesrc-build; determine o local apropriado, dentro do repositório do &kde;, de onde deve baixar. Na maioria dos módulos do &kde;, isto funciona muito bem.</para>

<informalexample>
<para
>Para baixar o 'kdelibs' do &kde; 4.5 (que é simplesmente conhecido pela ramificação '4.5'): </para>

<screen
>module kdelibs
  branch <replaceable
>4.5</replaceable>
  # outras opções...
end module
</screen>

<para
>Ou, para baixar o 'kdemultimedia' como foi lançado no &kde; 4.5.1:</para>

<screen
>module kdemultimedia
  tag <replaceable
>4.5.1</replaceable>
  # outras opções...
end module
</screen>

</informalexample>

<tip
><para
>Você poderá definir aqui um valor global para o 'branch'. Mas, se o fizer, não se esqueça de indicar uma ramificação diferente para os módulos que não devem usar a ramificação global! </para
></tip>
</sect3>

<sect3 id="advanced-branches">
<title
>Opções avançadas de suporte a ramificações</title>

<para
>O &kdesrc-build; suporta duas opções para as situações em que o &branch; e o &tag; adivinham o local de forma incorreta: o &module-base-path; e o &override-url;. </para>

<itemizedlist>
<listitem
><para
>O &module-base-path; é usado para ajudar o &kdesrc-build; a preencher a parte faltante da localização de um módulo. No repositório do &kde;, todos os locais possuem o formato <filename class="directory"
>raizSvn/caminho-módulo-base/<replaceable
>nome-módulo</replaceable
></filename
>. Normalmente, o &kdesrc-build; pode descobrir a parte intermediária apropriada por si só. Quando não conseguir, você poderá usar o 'caminho-módulo-base' ou &module-base-path; da seguinte forma: </para>

<informalexample>
<screen
>module kdesupport
    # o 'kdesupport' suporta várias marcas para organizar facilmente as
    # aplicações necessárias para uma determinada versão da plataforma do KDE.
    module-base-path tags/kdesupport-do-4.5
end module
</screen>

<para
>Isto deverá fazer com que o &kdesrc-build; baixe o 'kdesupport' de (neste exemplo) <filename
>svn://anonsvn.kde.org/home/kde/<replaceable
>tags/kdesupport-for-4.5</replaceable
></filename
>. </para>
</informalexample>
<tip
><para
>Nas versões anteriores do &kdesrc-build;, o &module-base-path; era tratado de forma diferente. Se você tiver problemas ao usar uma definição antiga do 'module-base-path', talvez deva confirmar se a localização atual é a mesma que o &kdesrc-build; está esperando, usando a opção <link linkend="cmdline-pretend"
>--pretend</link
>. </para
></tip>
</listitem>

<listitem
><para
>A opção &override-url;, por outro lado, necessita que você indique o local exato de onde baixar. Contudo, isto permite-lhe transferir de locais que versões anteriores do &kdesrc-build; não teriam chances de baixar. Atualmente, a opção &module-base-path; deve ser suficiente para qualquer URL de fonte de Subversion. </para>

<important
><para
>O &kdesrc-build; não irá mexer ou corrigir o valor que indicar no &kdesrc-build;, por isso, se mudar a sua configuração do &svn-server;, também terá que atualizar isto. </para
></important>

</listitem>
</itemizedlist>

</sect3>

</sect2>

<sect2 id="building-successfully">
<title
>Como o &kdesrc-build; tenta garantir uma compilação com sucesso</title>

<sect3 id="automatic-rebuilds">
<title
>Recompilações automáticas</title>

<para
>O &kdesrc-build; costumava incluir recursos para automaticamente tentar recompilar o módulo após uma falha (uma vez que esta nova tentativa poderia funcionar, devido a falhas no sistema de compilação naquela época). Graças a mudança para o &cmake;, o sistema de compilação não sofre mais destas falhas, e assim o &kdesrc-build; não tentará compilar um módulo mais de uma vez. Existem situações onde o &kdesrc-build; automaticamente executará uma recompilação:</para>

<itemizedlist>

<listitem
><para
>Se você mudar o <link linkend="conf-configure-flags"
>configure-flags</link
> ou o <link linkend="conf-cmake-options"
>cmake-options</link
> para um módulo, então o &kdesrc-build; detectará e automaticamente re-executará o 'configure' ou o 'cmake' para aquele módulo.</para
></listitem>

<listitem
><para
>Se o sistema de compilação não existir (mesmo se o &kdesrc-build; não o removeu) então o &kdesrc-build; automaticamente irá recriá-lo. Isto é útil para permitir a execução de um <link linkend="cmdline-refresh-build"
>--refresh-build</link
> completo para um módulo específico sem ter que executá-lo em outros módulos.</para
></listitem>

</itemizedlist>

</sect3>

<sect3 id="manual-rebuilds">
<title
>Recompilando manualmente um módulo</title>
<para
>Se você tiver feito alterações em alguma opção de um módulo, ou se o código-fonte do módulo mudar de uma forma que o &kdesrc-build; não reconheça, você poderá ter que recompilar o módulo manualmente.</para>

<para
>Você poderá se isto executando simplesmente o <userinput
><command
>kdesrc-build</command
> <option
>--refresh-build</option
> <option
><replaceable
>módulo</replaceable
></option
></userinput
>. </para>

<para
>Se você quiser que o &kdesrc-build; recompile de forma automática o módulo, durante a próxima atualização normal, você poderá criar um arquivo especial. Cada módulo possui uma pasta de compilação. Se você criar um arquivo chamado <filename
>.refresh-me</filename
> na pasta de compilação de um módulo, o &kdesrc-build; irá reconstruir o módulo da próxima vez que o processo de compilação rodar, mesmo que fosse executar normalmente a compilação incremental.</para>

<tip>
<para
>Por padrão, a pasta de compilação é a <filename class="directory"
>~/kdesrc/build/<replaceable
>módulo</replaceable
>/</filename
>. Se você mudar a opção &build-dir;, então use essa em vez da <filename class="directory"
>~/kdesrc/build</filename
>.</para>
</tip>

<informalexample>
<para
>Recompilar usando o <filename
>.refresh-me</filename
> para o módulo <replaceable
>kdelibs</replaceable
>:</para>
<screen
><prompt
>%</prompt
> <userinput
><command
>touch</command
> <filename class="directory"
>~/kdesrc/build/<replaceable
>kdelibs</replaceable
>.refresh-me</filename
></userinput>
<prompt
>%</prompt
> <userinput
><command
>kdesrc-build</command
></userinput
>
</screen>
</informalexample>
</sect3>

</sect2>

<sect2 id="changing-environment">
<title
>Mudando a configuração das variáveis de ambiente</title>
<para
>Normalmente, o &kdesrc-build; usa o ambiente que está presente quando inicia e executa os programas para atualizar e compilar. Isto é útil para quando você está rodando o &kdesrc-build; a partir da linha de comando.</para>

<para
>Contudo, você poderá desejar alterar a configuração das variáveis de ambiente para as quais o &kdesrc-build; não possui uma opção direta. (Por exemplo, para configurar qualquer variável de ambiente ao rodar o &kdesrc-build; em um agendador de tarefas como o &cron;) Isto é possível com a opção &set-env;.</para>

<para
>Ao contrário da maioria das opções, ela poderá ser definida mais de uma vez e aceita dois itens separados por um espaço. O primeiro item é o nome da variável de ambiente a definir e o resto da linha é o valor.</para>

<informalexample>
<para
>Configura a <userinput
><envar
>DISTRO</envar
>=<replaceable
>BSD</replaceable
></userinput
> para todos os módulos:</para>
<screen
>global
  set-env <replaceable
>DISTRO</replaceable
> <replaceable
>BSD</replaceable>
end global
</screen>
</informalexample>

</sect2>

<sect2 id="resuming">
<title
>Prosseguir com as compilações</title>

<sect3 id="resuming-failed">
<title
>Prosseguir uma compilação falhada ou cancelada</title>

<para
>Você poderá indicar ao &kdesrc-build; para começar a compilar a partir de um módulo diferente daquele onde iria prosseguir. Isto poderá ser útil quando falhou um conjunto de módulos ou se tiver cancelado a execução de uma compilação no meio. Você poderá controlar isto com as opões &cmd-resume-from; e &cmd-resume-after;.</para>

<note
><para
>Usar qualquer destas opções irá pular a atualização do código-fonte.</para
> </note>

<informalexample>
<para
>Prosseguir a compilação começando no 'kdebase':</para>

<screen
><prompt
>%</prompt
> <userinput
><command
>kdesrc-build</command
> <option
>--resume-from=<replaceable
>kdebase</replaceable
></option
></userinput
>
</screen>
</informalexample>

<informalexample>
<para
>Prosseguir a compilação começando após o 'kdebase' (no caso de você corrigir manualmente um problema e ter instalado o módulo você mesmo):</para>

<screen
><prompt
>%</prompt
> <userinput
><command
>kdesrc-build</command
> <option
>--resume-after=<replaceable
>kdebase</replaceable
></option
></userinput
>
</screen>
</informalexample>

</sect3>

<sect3 id="ignoring-modules">
<title
>Ignorando os módulos numa compilação</title>

<para
>Como acontece quando deseja <link linkend="resuming-failed"
>prosseguir com a compilação de um módulo</link
>, você poderá optar em alternativa por atualizar e compilar tudo normalmente, só que ignorando um conjunto de módulos.</para>

<para
>Você poderá fazer isso com a opção &cmd-ignore-modules;. Esta opção diz ao &kdesrc-build; para ignorar todos os módulos da linha de comando, ao efetuar a atualização e a compilação.</para>

<informalexample>
<para
>Ignorar o extragear/multimedia e o kdereview numa execução completa:</para>
<screen
><prompt
>%</prompt
> <userinput
><command
>kdesrc-build</command
> <option
>--ignore-modules</option
> <replaceable
>extragear/multimedia kdereview</replaceable
></userinput
>
</screen>
</informalexample>

</sect3>
</sect2>

<sect2 id="changing-env-from-cmd-line">
<title
>Mudando as opções na linha de comando</title>

<sect3 id="changing-global-opts">
<title
>Modificando as opções globais</title>
<para
>Você poderá alterar a configuração das opções lidas do <link linkend="configure-data"
>arquivo de configuração</link
> diretamente a partir da linha de comando. Esta alteração irá substituir a configuração do arquivo, mas é apenas temporária. Só terá efeito enquanto ainda estiver presente na linha de comando.</para>

<para
>O &kdesrc-build; permite-lhe alterar as opções com nome do tipo <replaceable
>nome-opção</replaceable
> passando um argumento na linha de comando com o formato <userinput
><option
>--<replaceable
>nome-opção</replaceable
>=valor</option
></userinput
>. O &kdesrc-build; irá reconhecer se não souber qual a opção, e irá procurar o nome na sua lista de nomes de opções. Se não reconhecer o nome, ele irá avisá-lo, caso contrário irá recordar o valor que definiu e substituir o valor do arquivo de configuração.</para>

<informalexample>
<para
>Configurar o &source-dir; como <filename
>/dev/null</filename
> para fins de teste:</para>

<screen
><prompt
>%</prompt
> <userinput
><command
>kdesrc-build</command
> <option
>--pretend</option
> <option
>--<replaceable
>source-dir</replaceable
>=<replaceable
>/dev/null</replaceable
></option
></userinput
>
</screen>

</informalexample>

</sect3>

<sect3 id="changing-module-opts">
<title
>Mudando as opções do módulo</title>
<para
>Também é possível alterar as opções apenas para um módulo específico. A sintaxe é semelhante: --<replaceable
>módulo</replaceable
>,<replaceable
>nome-opção</replaceable
>=<replaceable
>valor</replaceable
>. </para>

<para
>Esta alteração substitui qualquer opção duplicada do módulo encontrado no <link linkend="configure-data"
>arquivo de configuração</link
> e só se aplica enquanto a opção for passada na linha de comando.</para>

<informalexample>
<para
>Usando uma pasta de compilação diferente para o módulo 'kdeedu':</para>

<screen
><prompt
>%</prompt
> <userinput
><command
>kdesrc-build</command
> <option
>--<replaceable
>kdeedu</replaceable
>,<replaceable
>build-dir</replaceable
>=<replaceable
>temp-build</replaceable
></option
></userinput
>
</screen>

</informalexample>

</sect3>

</sect2>

</sect1>

<sect1 id="developer-features">
<title
>Funcionalidades para os programadores do &kde;</title>

<sect2 id="ssh-agent-reminder">
<title
>Verificações do Agente do &ssh;</title>
<para
>O &kdesrc-build; poderá certificar-se de que os programadores do &kde; que usem o &ssh; para acessar ao repositório de código do &kde; não se esqueçam acidentalmente da ferramenta &ssh;-Agent ligada. Isto poderá fazer com que o &kdesrc-build; fique eternamente à espera que o programador insira a sua senha de &ssh;, por isso e por padrão o &kdesrc-build; irá verificar se o Agente está rodando antes de efetuar as atualizações do código. </para>

<note
><para
>Isto só é feito para os programadores do &kde; que usam o &ssh;. Isto acontece porque não é necessária qualquer senha para a atualização e extração de código anônima do repositório. O &subversion; irá lidar com as senhas para o segundo protocolo possível dos programadores do &kde;, o HTTPS. </para
></note>

<para
>Você poderá querer desativar a verificação do Agente do &ssh;, no caso das situações em que o &kdesrc-build; não detecte bem a presença de um agente. Para desativar a verificação do agente, configure a opção <option
>disable-agent-check</option
> como <replaceable
>true</replaceable
>.</para>

<informalexample>
<para
>Desativando a verificação do agente do &ssh;:</para>
<screen
>global
  disable-agent-check true
end global
</screen>
</informalexample>

</sect2>

</sect1>

<sect1 id="other-features">
<title
>Outras funcionalidades do &kdesrc-build;</title>

<sect2 id="changing-verbosity">
<title
>Mudando a quantidade de mensagens do resultado do &kdesrc-build;</title>
<para
>O &kdesrc-build; possui várias opções para controlar a quantidade de dados de saída que o programa gera. Em qualquer caso, os erros serão sempre apresentados.</para>

<itemizedlist>
<listitem
><para
>A opção <option
>--quiet</option
> (o seu formato curto é o <option
>-q</option
>) faz com que o &kdesrc-build; seja majoritariamente silencioso. Só as mensagens importantes, avisos ou erros serão apresentados. Quando estiver disponível, a informação de progresso é apresentada.</para
></listitem>

<listitem
><para
>A opção <option
>--really-quiet</option
> (sem formato curto) faz com que o &kdesrc-build; mostre apenas os avisos importantes ou os erros, enquanto estiver em execução.</para
></listitem>

<listitem
><para
>A opção <option
>--verbose</option
> (o formato curto é o <option
>-v</option
>) faz com que o &kdesrc-build; seja muito detalhado nos seus resultados.</para
></listitem>

<listitem
><para
>A opção <option
>--debug</option
> serve apenas para fins de depuração, uma vez que faz com que o &kdesrc-build; atue como se o <option
>--verbose</option
> estivesse ativo, fazendo com que os comandos sejam também apresentados no terminal e mostrando a informação de depuração para várias funções.</para
></listitem>
</itemizedlist>

</sect2>

<sect2 id="kdesrc-build-color">
<title
>Resultado colorido</title>
<para
>Ao ser executado a partir do &konsole; ou de um terminal diferente, o &kdesrc-build; irá mostrar normalmente o texto a cores.</para>

<para
>Você poderá desativar isto com a opção <option
>--no-color</option
> na linha de comando ou configurando a opção &colorful-output; no <link linkend="configure-data"
>arquivo de configuração</link
> como <replaceable
>false</replaceable
>. </para>

<informalexample>
<para
>Desativando as mensagens a cores no arquivo de configuração:</para>
<screen
>global
  colorful-output false
end global
</screen>
</informalexample>

</sect2>

<sect2 id="email-reports">
<title
>Envio por e-mail dos relatórios de erros da compilação</title>
<para
>O &kdesrc-build; poderá enviar um relatório por e-mail para um determinado endereço à sua escolha, quando um módulo não conseguir compilar por alguma razão. A forma como funciona é através da indicação de um endereço de e-mail de onde o &kdesrc-build; irá enviar os dados e um endereço de e-mail para notificar quando ocorrer algum erro.</para>

<para
>O &kdesrc-build; irá então, no fim de uma execução completa, construir uma mensagem de e-mail se existirem alguns módulos que não conseguiram ser compilados. O e-mail irá conter um registro de erros abreviado para cada módulo. Só é enviada uma mensagem de e-mail para uma determinada execução, mesmo que falhe a compilação de 15 módulos. </para>

<para
>Esta funcionalidade não está ativada por padrão. Para ativá-la, você terá que definir tanto as opções &email-address; e &email-on-compile-error;. O <option
>email-address</option
> controla o endereço de onde o &kdesrc-build; envia os dados e o <option
>email-on-compile-error</option
> controla para onde enviar a mensagem. </para>

<tip>
<para
>O &kdesrc-build; usa o módulo-padrão do Perl Mail::Mailer para enviar a mensagem. Ele vem incluído com o Perl 5.8 e é instalável com o Perl 5.6. O Mail::Mailer suporta o <application
>Sendmail</application
> (incluindo os clientes de e-mail compatíveis com o <application
>Sendmail</application
>), o transporte de <acronym
>SMTP</acronym
> nativo e o <application
>qmail</application
>. </para>
</tip>

<informalexample>
<para
>Enviando um e-mail de envio@exemplo.com para recepcao@exemplo.com em caso de erro na compilação:</para>

<screen
>global
  email-address          envio@exemplo.com    # O endereço De: para qualquer e-mail do kdesrc-build
  email-on-compile-error recepcao@exemplo.com    # O endereço Para: do e-mail de erros da compilação
end global
</screen>
</informalexample>

</sect2>

<sect2 id="deleting-build-dir">
<title
>Removendo as pastas desnecessárias após uma compilação</title>
<para
>Você está com falta de espaço em disco mas deseja ainda fazer uma extração atualizada do &kde;? O &kdesrc-build; poderá ajudar a reduzir o uso do seu disco ao compilar o &kde; a partir do &subversion;.</para>

<note
><para
>Tenha em mente que a compilação do &kde; ocupa bastante espaço. Existem muitos componentes grandes em termos de espaço ao usar o &kdesrc-build;:</para
></note>

<orderedlist>
<listitem
><para
>A extração de código atual poderá levar bastante espaço. Os módulos padrão possuem cerca de 1,6 gigabytes de espaço em disco. Você poderá reduzir esta quantidade, se tiver certeza que só vai compilar os módulos que deseja de fato. O &kdesrc-build; não irá remover o código-fonte do disco, mesmo que remova o item do <link linkend="configure-data"
>arquivo de configuração</link
>, assim certifique-se de que são apagados os módulos extraídos e não usados da pasta de código. Lembre-se que os arquivos de código são obtidos da Internet, assim você <emphasis
>não deverá</emphasis
> removê-los se for usar estes arquivos de fato, pelo menos até acabar de usar o &kdesrc-build;.</para>

<para
>Da mesma forma, se você já tiver um &Qt; instalado pela sua distribuição (e é bastante possível que isso aconteça), provavelmente não irá necessitar instalar o módulo 'qt-copy'. Isso irá poupar cerca de 200 MB do código no disco.</para>

<para
>Uma coisa a observar é que, devido à forma como o &subversion; funciona: existem de fato dois arquivos no disco para cada arquivo extraído do repositório. O &kdesrc-build; não está apto por enquanto a minimizar o tamanho do código, quando ele não estiver sendo usado. </para>
</listitem>

<listitem>
<para
>O &kdesrc-build; irá criar uma pasta de compilação separada, para onde irá compilar o código-fonte. Algumas vezes o &kdesrc-build; terá que copiar uma pasta de código para criar uma pasta de compilação falsa. Quando isso acontecer, são usadas as ligações simbólicas, caracterizadas por poupar espaço, assim isso não deverá ser um problema a nível de espaço em disco. A pasta de compilação será tipicamente muito maior que a pasta de código de um módulo. Por exemplo, a pasta de compilação do 'kdebase' ocupa cerca de 1050 megabytes, enquanto o código do 'kdebase' ocupa apenas cerca de 550 megabytes.</para>

<para
>Felizmente, a pasta de compilação não é necessária após um módulo ter sido compilado e instalado com sucesso. O &kdesrc-build; poderá remover automaticamente a pasta de compilação após a instalação de um módulo; veja os exemplos abaixo para mais informações. Lembre-se que a utilização deste passo tornará impossível ao &kdesrc-build; efetuar as compilações incrementais que poupam tempo.</para>
</listitem>

<listitem
><para
>Finalmente, existe o espaço em disco necessário para a própria instalação do &kde;, que não se executa a partir da pasta de compilação. Este espaço é normalmente menor que o da pasta de compilação. É mais difícil ter os valores exatos, de qualquer forma. </para
></listitem>
</orderedlist>

<para
>Como reduz os requisitos de espaço do &kde;? Uma forma é usar as opções de compilação adequadas, para otimizar a redução de espaço em vez da velocidade. Outra forma, que poderá ser bem eficaz, é remover a informação de depuração da sua compilação do &kde;. </para>

<warning
><para
>Você deverá saber bem o que está fazendo, antes de decidir remover a informação de depuração. A execução de aplicativos muito atuais significa que está rodando programas que, potencialmente, poderão ter tendência a travar, algo que não acontece numa versão estável. Se você estiver rodando 'software' sem informações de depuração, poderá ser bastante difícil criar um bom relatório de erros para que o seu erro seja resolvido; assim, é possível que tenha que reativar a informação de depuração do aplicativo afetado e recompilá-lo para ajudar um programador a resolver o problema. Então, remova a informação de depuração por sua conta e risco! </para
></warning>

<informalexample>
<para
>A remoção da pasta de compilação, após a instalação de um módulo. A pasta do código é ainda mantida e a depuração fica ativa:</para>

<screen
>global
  configure-flags      --enable-debug
  remove-after-install builddir        # Remover a pasta de compilação após a instalação
end global
</screen>

<para
>A remoção da pasta de compilação após a instalação, sem informações de depuração e com otimizações do tamanho.</para>

<screen
>global
  cxxflags             -Os             # Otimizar o tamanho
  configure-flags      --disable-debug
  remove-after-install builddir        # Remover a pasta de compilação após a instalação
end global
</screen>
</informalexample>
</sect2>

</sect1>

</chapter>

<chapter id="kde-cmake">
<title
>, o s&cmake;istema de compilação do &kde; 4</title>

<sect1 id="kde-cmake-intro">
<title
>Introdução ao &cmake;</title>

<para
>Em Março de 2006, o programa &cmake; ultrapassou os vários adversários e foi selecionado para ser o sistema de compilação do &kde; 4, substituindo o sistema baseado nas 'autotools' que o &kde; tem usado desde o início.</para>

<para
>Está disponível uma página de introdução ao &cmake; no <ulink url="http://techbase.kde.org/Development/Tutorials/CMake"
>TechBase do &kde;</ulink
>. Basicamente, em vez de rodar o <userinput
><command
>make</command
> <option
>-f</option
> <filename
>Makefile.cvs</filename
></userinput
>, depois o <command
>configure</command
> e depois o &make;, basta simplesmente rodar o &cmake; e depois o &make;. </para>

<para
>O &kdesrc-build; possui suporte para o &cmake;. Algumas funcionalidades do &kdesrc-build; são realmente funcionalidades do sistema de compilação subjacente, incluindo o <link linkend="conf-configure-flags"
>configure-flags</link
> e o <link linkend="conf-do-not-compile"
>do-not-compile</link
>. Quando estiverem disponíveis funcionalidades equivalentes, serão disponibilizadas. Por exemplo, a equivalente da opção 'configure-flags' é a <link linkend="conf-cmake-options"
>cmake-options</link
>, e a opção <link linkend="conf-do-not-compile"
>do-not-compile</link
> também é suportada para o &cmake; desde a versão 1.6.3 do &kdesrc-build;. </para>

</sect1>
</chapter>

<chapter id="credits-and-licenses">
<title
>Créditos e licenças</title>

<para
>Tradução de Marcus Gama<email
>marcus.gama@gmail.com</email
></para
> 
&underFDL; </chapter>

</book>
