quinta-feira, 23 de outubro de 2014

R3. Atronix? Compilar?

Como já escrevi, estou usando o R3 (REBOL versão 3) da Atronix. Como motivos posso citar:
  1. Assistindo ao vídeo do primeiro artigo, nota-se que é uma empresa séria que não possui apenas um funcionário e não faz programinha de brinquedo.
  2. A primeira versão do sistema foi desenvolvida em Visual Basic (independente de qualquer coisa, já fiz alguns programas comerciais bem interessantes com o VB), depois passaram para Delphi (também já fiz programas comerciais com ele) e depois, analisaram python e ruby entre outros e decidiram desenvolver o sistema em REBOL. E pretendem continuar com a versão 3.
  3. Deslocaram um engenheiro para trabalhar 10h semanais exclusivamente com o desenvolvimento do R3.
  4. O sistema e distribuído aproximadamente 50/50 entre Linux e Windows. Como uso Linux prefiro alguém que tenha um certo compromisso com a plataforma.
A versão oficial é muito engessada pelo Carl e a versão da Saphirion parece deixar o usuário mais curioso sem resposta além de algumas páginas com problema (se vai na parte da R3GUI e tentar acessar faces ou outros retorna uma página incorreta; mas vou dar um desconto pois eles estão em férias).

Olhando o GitHub do R3, é possível verificar que ocorreram atualizações há um dia (pela data de hoje) e, inclusive, no dia 20/10/2014 tem a mensagem "Add an encapper for Windows and Linux..." (veremos o que é encapper depois). Opa, legal, Opa, legal. Vamos clonar o repositório e compilar uma versão atualizada.

Um git clone https://github.com/zsx/r3.git e vamos ver o install (é sempre a primeira coisa a ser feita).

Steps to compile Atronix (http://www.atronixengineering.com) flavor of Rebol 3
0. some directory variables:
 #top points to the top directory of source
1. get libffi compiled and installed
 #cd $(top)/src/libffi
 #./autogen.sh
 #./configure --prefix=`pwd`/../../make/libffi
 #make
 #make install
2. go back to top make directory
 #cd $(top)/make
    #make -f makefile-64 clean #ignore errors it generates
 #make -f makefile-64 r3-view-linux
    #possible makefiles are:
 a. makefile-64 for 64-bit Linux systems
 b. makefile-32 for 32-bit Linux systems
 c. makefile-mingw-32 for cross-compiling for 32-bit windows systems from Linux
    d. makefile-mingw-64 for cross-compileing for 64-bit windows sytems from Linux
 e. makefile-armv7 for ARMv7 linux systems

Notes: only r3-view-linux is tested, i.e. r3-core-linux might not even build

Humm. Apenas o r3-view-linux é testado. É o que quero mesmo, então vamos em frente. Bem, já tenho a libffi mas ali diz para compilar em um sub diretório de make. La vai um git clone git://github.com/atgreen/libffi.git, autogen, etc e tudo termina normal. Primeiro passo ok. Agora é só um

make -f makefile-64 clean e um make -f makefile-64 r3-view-linux. Aguarda e ... erro com libffi. Olhando o r3/make/makefiles/linux-common-defs tinha a linha
INC=... -Ilibffi/lib/libffi-3.1.1 e a biblioteca que baixei era a 3.2. Troquei 3.1.1 por 3.2 e um tudo funcionou perfeitamente.

Bem, fica a dica para que possui Windows e OSX. Como é aberto, se a pessoa tiver conhecimento, paciência e vontade, pode clonar o repositório e tentar compilar para a sua arquitetura. Vai que tenha apenas que trocar um 3.1.1 por um 3.2? 

Na imagem abaixo é possível ver as alterações nos programas.


Agora é só criar uma ligação simbólica em /usr/bin/r3 -> ~/fontes/r3/make/r3-view-linux e usar de qualquer lugar.


Build: 22-Oct-2014/22:13:29. :D


A R3-GUI eu não me preocupei já que a última atualização foi efetuada há 8 meses. Mas pretendo clonar depois.

Ah, sim, o encapper. Basicamente é um programa que junta o compilador e scripts e cria um executável. Abaixo podemos ver um teste.r que imprime algo sendo encapsulado.



A Saphiron possui um que faz o mesmo para android, juntando tudo e criando uma .apk. Aí é só instalar e clicar no ícone para executar. Infelizmente os fontes não estão disponíveis para uso externo.


Agora é aguardar para que um programa em R3 possa ser criado em um Linux x64 (ou qualquer outro SO) e ser gerado executáveis para Linux 34 e 64, Windows 32 e 64, OSX e Android.


Nenhum comentário:

Postar um comentário