Haiku Book/Compilando a partir dos fontes

Esse capítulo(?) descreve como obter os fontes e compilar o Haiku num sistema GNU/Linux, mas não deve ser difícil de usar como guia para outros sistemas Unix (BSD, MacOS, Solaris,...)

Ferramentas necessárias editar

  • Toolchain (gcc e amigos, para o BeOS/Haiku)
  • autoconf
  • automake
  • texinfo
  • flex (lex)
  • bison (yacc)
  • gawk (awk)
  • make (gmake nos BSDs)
  • Subversion (svn)
  • jam (o que vem com o Toolchain)

no Ubuntu, Kubuntu, Debian e parentes, pode ser usado:

sudo apt-get install subversion autoconf automake texinfo flex bison gawk build-essential

Crie um diretório onde serão baixados os fontes em algum lugar

Obtendo e compilando o Toolchain (binutils + gcc) editar

svn checkout svn://svn.berlios.de/haiku/buildtools/trunk buildtools

Vai demorar um pouco dependendo da sua conexão, esse comando vai criar uma pasta chamada buildtools e baixar os fontes para o toolchain do Haiku.

Depois compilamos a versão customizada do Jam (mesma função do make)

cd  buildtools/jam
make
sudo ./jam0 install

agora temos o comando jam instalado em nosso sitema podemos ir em frente

o proximo passo e baixar os fontes do próprio Haiku

Obtendo e compilando o Haiku editar

svn checkout svn://svn.berlios.de/svnroot/repos/haiku/haiku/trunk Haiku

do mesmo modo como antes, deve demorar um pouco

agora temos de decidir qual versão do GCC vamos usar. Isso vai determinar se o sistama compilado será compativel com o software ja existente para BeOS, no caso por agora, vamos usar o GCC2, a diferença é pequena no procedimento. entre na pasta Haiku criada pelo svn e digite:

./configure --build-cross-tools ../buildtools/

considerando que as pastas buildtools e Haiku estão em uma mesma pasta, deve compilar o toolchain. Se a sua distro Linux for x86_64 tente:

linux32 ./configure --build-cross-tools ../buildtools/ --use-32bit

se não der nenhum erro, seu toolchain deve estar pronto para ser usado e uma mensagem deve estar no final da listagem informando isso.

finalmente podemos chamar o jam para compilarmos o Haiku:

jam -q

É só isso mesmo! O flag -q indica ao jam para parar ao primeiro erro, o que é bem conveniente. Se a sua maquina for bem parruda e tiver bastante memória você pode usar --use-gcc-pipe como argumento para o ./configure, e -j2 ou -jx sendo x qualquer valor para o jam, mas va devagar, -j3 é o bastante para deixar uma máquina com dois processadores ou núcleos bem ocupada.

Se tudo correr bem deve haver um arquivo chamado haiku.image em Haiku/generated que é uma imagem crua (raw) de um HD, que pode ser passada ao qemu por exemplo:

qemu -m 128 -hda generated/haiku.image