Instalando e utilizando o Stratego/XT no Mac OS X Snow Leopard (Compilação a partir do código fonte)
Por padrão, os aplicativos compilados no Snow Leopard são compilados em 64 bits. Entretanto, em programas 64 bits as variáveis ocupam muito mais espaço, o que exige uma pilha maior para evitar estouros de memória. Como a Apple não permite setar a pilha para mais de 32mb (ou ilimitada, ulimit -s unlimited, como eu usava no Linux 64 bits) temos que forçar que a compilação do Stratego/XT e de seus pacotes seja feita em 32 bits.
Os principais pacotes do Stratego são (arquivos tar.gz):
- aterm
- sdf2-bundle
- strategoxt
Importante: Na seção de downloads do Stratego existem os binários para MacOS X (Mac OS X binaries), porém em um teste efetuado no Snow Leopard o uso desses binários já compilados não foi possível, diversos erros eram lançados.
Além dos pacotes principais, as seguintes extensões são bastante úteis:
Compilando os pacotes
Antes de compilar os pacotes do stratego, é necessário termos os seguintes pacotes/softwares instalados no Snow Leopard:
- Xcode (que vem no disco de instalação do sistema)
- Mac Ports: Para instalar o pacote pkg-config, necessário para compilar o Stratego.
Depois de instalado esses pacotes, é necessário instalar o pkg-config. Abra o terminal e digite:
sudo port install pkgconfig
Feito isso, podemos partir para a instalação dos pacotes do Stratego. Devemos extrair os 3 principais pacotes, aterm, sdf2-budle e strategoxt (tar -xvf nome-do-arquivo.tar.gz).
Entre na pasta do aterm e digite o seguinte comando para gerar os Makefiles:
./configure --prefix=/opt/aterm CFLAGS=-m32
O parâmetro --prefix indica o diretório onde o stratego deve ser instalado, nesse caso /opt/aterm. Já o parâmetro CFLAGS=-m32 indica para o GCC que o arquivo será compilado em 32 bits. Lembre-se bem desse parâmetro, você deve utilizá-lo em todas os configs a seguir.
Após terminado o configure, ainda na pasta do aterm, digite:
make
sudo make install
Feito isso, podemos ir para o diretório do sdf2-bundle
Antes de efetuar o config, devemos setar a variável de ambiente PKG_CONFIG_PATH indicando os caminhos para o aterm, sdf2-bundle e strategoxt (note que esses dois ainda vão ser instalados).
Para isso, edite o arquivo .profile do seu home (com seu editor de preferênia, ex: nano ~/.profile) e adicione a seguinte linha:
PKG_CONFIG_PATH=/opt/aterm/lib/pkgconfig:/opt/sdf2-bundle/lib/pkgconfig:/opt/strategoxt/lib/pkgconfig:/usr/local/lib/pkgconfig
Feito isso, salve o arquivo e, no terminal, digite:
source ~/.profile
Agora a variável de ambiente PKG_CONFIG_PATH já está carregada no seu terminal e sempre vai ser carregada quando você fizer login no sistema.
Continuando a instalação do sdf2-bundle, entre com os seguintes comandos:
./configure --prefix=/opt/sdf2-bundle --with-aterm=/opt/aterm CFLAGS="-m32"
make
sudo make install
Para terminar os pacotes obrigatórios, vá para a pasta do strategoxt e digite:
./configure --prefix=/opt/strategoxt --with-aterm=/opt/aterm --with-sdf=/opt/sdf2-bundle CFLAGS="-m32"
make
sudo make install
Para compilar as extensões (java-front e aspectj-front), devemos especificar apenas a opção CFLAGS="-m32" no configure, ou seja, o processo de compilação para cada uma das extensões fica:
./configure CFLAGS="-m32"
make
sudo make install
Após feito isso, edite novamente o seu arquivo .profile e edite a variável de ambiente PATH, adicionando os seguintes caminhos:
:/opt/aterm/bin:/opt/sdf2-bundle/bin:/opt/strategoxt/bin
Se a variável antes era export PATH=/opt/local/bin:/opt/local/sbin:$PATH , agora ela deverá ficar: export PATH=/opt/local/bin:/opt/local/sbin:$PATH:/opt/aterm/bin:/opt/sdf2-bundle/bin:/opt/strategoxt/bin
Salve e novamente digite:
source ~/.profile
Pronto! O stratego (e suas extensões) já está devidamente configurado no seu computador.
Compilando arquivos com Stratego no Snow Leopard
Para que seja possível compilar arquivos utilizando a instalação do Stratego indicada acima, devemos passar alguns parâmetros específicos para o gcc na hora da compilação (execução do strc).
Assim, sempre que você for executar o compiler do stratego (strc), passe os seguintes parâmetros:
strc
-Xcc "-m32" -Xlinker -arch -Xlinker i386 ...
--
CarlosEduardoPontual - 20 Apr 2010 --
CarlosEduardoPontual - 26 Nov 2009

Copyright © 2008-2025 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki?
Send feedback