27
Dic
07

AROS hacking continues!!!

Ultimamente sono andato un po’ OT, è giunto il momento di tornare in carreggiata! Durante queste ferie natalizie, oltre a mangiare e a studiare come un pazzo in vista degli esami del prossimo anno, ho dedicato un po’ di tempo a fare un setup della mia Ubuntu 7.10 amd64 in modo da fare un po’ di smanettamenti con aros. Innanzitutto volevo installare l’ambiente di sviluppo cross, così come ho fatto sul mio portatile a 32 bit, volevo farlo sulla ubuntu a 64 bit, ma ho incontrato un piccolo problema. L’SDK a 64 bit è disponibile, ma non è ancora disponibile invece la versione hosted. Quindi ho dovuto scaricarmi la versione hosted a 32 bit (che funziona comunque perfettamente sui sistemi nativi a 64 bit) e installare il cross compiler a 32 bit. Tra l’altro, quello che c’è nel sito di aros non va bene per i sistemi a 64 bit, perchè si lamenta che il compilatore gcc installato produce codice a 64 bit, quindi ho dovuto installare un gcc “preconfezionato” a 32 bit, scaricandolo dalla pagina di ZeroHero e installandolo come specificato chiaramente nel suo sito, ottenendo quindi la directory “amiga” con tutte le sue sottocartelle.

Ho voluto poi aggiornare l’sdk (quello sul sito di ZeroHero è un po’ indietro) all’ultima versione, l’operazione è stata molto semplice, basta scaricare l’ultima nightly build dell’sdk a 32 bit AROS-<NIGHTLY_BUILD>-i386-all-sdk.tar.bz2, scompattarla con tar xjvf e sostituire un paio di directory, per la precisione

Sostituire amiga/i686-aros/sys-include con i386/include appena scaricata
Sostituire amiga/i686-aros/lib con i386/lib appena scaricata

e il gioco è fatto. Poi, ovviamente, ho inserito

export PATH=$PATH:<MIAHOME>/AROS/Sviluppo/Cross/Installation/amiga/bin/

in .bashrc, per avere i686-aros-gcc disponibile nel path.

Ma la parte più bella deve ancora arrivare. Mi attraeva l’idea di installare un ide leggero, comodo e configurabile per lo sviluppo. Da un po’ di tempo tenevo d’occhio Geany, un graziosissimo IDE con un bel browser di funzioni, classi e variabili, delle buone funzionalità di syntax highlighting e code completion, una serie di facility niente male e soprattutto molto leggero. Dopo averlo installato, per fargli produrre degli eseguibili AROS, è stato sufficiente andare in Genera -> Imposta Include e Argomenti e cambiare gcc con i686-aros-gcc ed eventuali parametri per il linker.

L’idea era quella di iniziare a prendere confidenza con Zune, la reimplementazione open source di MUI (Magic User Interface) un toolkit gui diventato praticamente lo standard sui sistemi Amiga-like. Così mi sono scaricato il sorgente dell’esempio presente nella documentazione di AROS (che ho tradotto personalmente), ho creato una cartella ProveMUI e l’ho salvato come ProvaMUI.c. L’unica cosa che mi mancava era un bel file make per automatizzare il build e il “deploy” su Aros. Ecco il makefile che ho preparato per provare:

# Stabilisco che deve usare il compilatore di AROS tramite una variabile
GCC = i686-aros-gcc
# Setto una variabile che contiene l'indirizzo di AROS-hosted
AROS_HOSTED_DIR = ~/AROS/AROS-20071215-i386-linux-system/

# Il target all, lanciato di default da geany, è il primo che si
# presenta quindi parte con un semplice make, dipende da install
# che a sua volta dipende da ProvaMUI (che compila)
all: install

ProvaMUI: ProvaMUI.c
$(GCC) ProvaMUI.c -lmui -o ProvaMUI

install: ProvaMUI
mv ProvaMUI $(AROS_HOSTED_DIR)

In poche parole, quindi, basta fare un make e il programma viene compilato, viene generato l’eseguibile e copiato direttamente nella cartella di AROS per essere lanciato in un click. Il make è possibile lanciarlo con l’opzione Genera -> Compila tutto di Geany. Niente di più comodo e pratico!

Have fun!

TAD

Annunci

0 Responses to “AROS hacking continues!!!”



  1. Lascia un commento

Rispondi

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione / Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione / Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione / Modifica )

Google+ photo

Stai commentando usando il tuo account Google+. Chiudi sessione / Modifica )

Connessione a %s...


%d blogger hanno fatto clic su Mi Piace per questo: