Geek Gadgets Version 2 ********************** Fred Fish, noto sopratutto per la sua vasta collezione di software PD per Amiga, svolge ormai da tempo anche la funzione di coordinatore del progetto Amiga Developer Environment (ADE). Si tratta di una suite di tools di sviluppo e di altre applicazioni che provengono in gran parte dal mondo GNU e UNIX. Lo scopo di ADE e' creare un ambiente completo rivolto principalmente agli sviluppatori e agli utenti piu' esperti, che permetta di portare facilmente su Amiga una grande quantita' di software scritto per per altri sistemi operativi. La filosofia alla base del software ADE consiste nel mettere a disposizione degli utenti il maggior numero possibile di programmi liberamente distribuibili, tutti rigorosamente accompagnati dai sorgenti, dando cosi' all'utente finale la possibilita' di modificare e ricompilare il software sul proprio sistema. In questo modo risulta molto facile collaborare con gli altri sviluppatori ADE apportando migliorie ai sorgenti. Il progetto ha ormai raggiunto dimensioni ragguardevooli, con oltre cento pacchetti completi e molti altri ancora in fase di sviluppo. Il motivo di questa straordinaria prolificita' e' che le modifiche richieste per adattare i programmi GNU all'Amiga vengono mantenute al minimo indispensabile, ottenendo cosi' il duplice vantaggio di ridurre il tempo richiesto dal porting e quello richiesto per integrare i cambiamenti delle nuove versioni. Struttura del CD ================ Il secondo volume della serie Geek Gadgets include uno snapshot di tutto il software reso disponibile dal progetto ADE, aggiornato al 15 Aprile 1997. Tutti i pacchetti vengono distribuiti sotto forma di archivi compressi contenenti eseguibili e documentazione, archivi contenenti i sorgenti completi e archivi contenenti solo le differenze con i sorgenti originali. E' anche presente una directory con tutto il software pre-installato, utilizzabile direttamente dal CD. Sono stati anche inclusi gli archivi delle mailing list riservate agli sviluppatori ADE, che costituiscono una fonte inestimabile di suggerimenti e notizie sul software ADE. Il software ADE e' prelevabile anche in FTP sul sito ADE (ftp.ninemoons.com) o in uno dei mirror. ixemul.library ============== Il cuore del progetto ADE e' costituito dalla sua libreria di compatibilita' UNIX, che contiene un'emulazione quasi completa di tutte le funzioni standard del C, dei sistemi POSIX e degli UNIX BSD. La libreria minimizza le differenze tra AmigaOS e UNIX, garantendo che i programmi vengano eseguiti in un ambiente il piu' possibile simile a quello per cui sono stati originariamente sviluppati. Il risultato finale e' eccellente: tutti i programmi si comportano esattamente come le loro controparti originali, mantenendo pressoche' intatta l'usabilita' e integrandosi molto bene anche con il sistema operativo di Amiga. Compilatori =========== Il `piatto forte' del progetto ADE e' senza dubbio il compilatore GNU, che comprende i linguaggi ANSI C, C++ e Objective C. Il compilatore GCC e' noto su molti sistemi per la qualita' ottima del codice prodotto, per la ricchezza di opzioni e per la completezza delle estensioni al linguaggio C standard. La versione ADE include alcune caratteristiche specifiche che semplificano il porting di programmi scritti con altri compilatori per Amiga. Sono supportate quasi tutte le keyword speciali di SAS/C e DICE, e grazie a delle macro predefinite, e' possibile chiamare le funzioni delle librerie condivise in modo del tutto simile a quello dei compilatori nativi di Amiga. Le critiche che vengono spesso mosse contro il GCC, come ad esempio l'estrema lentezza e l'elevata quantita' di memoria richiesta durante la compilazione, sono in gran parte infondate. Nella maggior parte dei casi, le ultime versioni del GCC compilano i sorgenti C e C++ almeno alla stessa velocita' del SAS/C, pur generando codice migliore e fornendo una maggiore ricchezza di keywords. I problemi legati all'uso di grandi quantita' di stack sono stati definitivamente risolti grazie ad un sistema di estensione automatica dello stesso. Gli eseguibili generati sono spesso molto piu' piccoli di quelli che si ottengono con altri compilatori, anche grazie all'uso della ixemul.library che contiene tutte le funzioni di supporto utilizzate dai programmi C standard. Oltre al GCC, sono presenti compilatori e interpreti per una grande varieta' di linguaggi, tra cui: Fortran, ADA, Perl, Icon, AWK, Java e TILE Forth. Vengono fornite inoltre tutte le utility piu' comuni per la gestione dei progetti, tra cui make, AutoConf e AutoMake, i sistemi di controllo di revisione RCS e CVS e Indent, che provvede ad indentare correttamente qualsiasi sorgente C. Sistemi di impaginazione ======================== Oltre ad una distribuzione completa del celeberrimo TeX, il CD GeekGadgets contiene GhostScript, un interprete PostScript utilizzabile per visualizzare e stampare documenti PostScript anche con stampanti non intelligenti. Texinfo e' invece un sistema che permette di produrre manuali formattati in ASCII, AmigaGuide, HTML, Info e TeX, partendo da un unico testo base. troff, groff e nroff permettono di impaginare e stampare le man pages che costituiscono la documentazione della maggior parte dei programmi forniti. X11 === Il progetto ADE comprende inoltre un porting completo dell'ambiente grafico a finestre X11R6.1, corredato da una grande quantita' di applicazioni e window managers provenienti dal mondo UNIX. Sono inclusi Lesstif, una libreria che emula l'interfaccia Motif che viene distribuita con le workstations Sun, HP e SGI, Ygl e Mesa, una libreria di rendering 3D compatibile con OpenGL di Silicon Graphics, FVWM 95, un window manager che conferisce al desktop di X11 l'aspetto di Windows 95, e AfterStep, che invece emula il grazioso look di NeXT Step. Il sistema TCL/TK permette di creare interfacce grafiche utilizzando degli script. Networking ========== Grazie alla ixnet.library, che contiene una versione per Amiga dell'API TCP/IP standard Berkley, il team di ADE e' ora in grado di portare su Amiga qualsiasi client TCP/IP con uno sforzo minimo. Tra questi spiccano NcFTP e Lynx, un client FTP ed un browser WWW, entrambi con interfaccia testuale. Dispongono di un gran numero di features che difficilmente trovano riscontro nei programmi scritti per Amiga. p.OS ==== Il volume 2 include una beta per sviluppatori di p.OS, il sistema operativo di proDAD sviluppato per Amiga e per il TransAM. La distribuzione contiene, oltre a tutto il sistema operativo in versione per Amiga 68K, gli include e la documentazione rivolta agli sviluppatori. Il software ADE puo' essere utilizzato direttamente su p.OS grazie ad una versione specifica della ixemul.library, e usando il compilatore GNU e' estremamente facile realizzare applicazioni in grado di funzionare sia su AmigaOS che su p.OS. Grazie all'elevata portabilita' dei sorgenti, tutti i tool ADE saranno presto disponibili anche in versione nativa per Amiga dotati di schede PPC. E' inoltre previsto a breve il supporto del sistema operativo BeOS. Conclusioni =========== Purtroppo la documentazione fornita, sebbene abbondante, e' di difficile comprensione e altamente tecnica, quasi sempre rivolta agli utenti UNIX, percio' piena di riferimenti a comandi e file che spesso su Amiga non esistono. A meno che non si utilizzi la directory contenente il software preinstallato, i singoli pacchetti devono essere installati manualmente uno per uno, facendo molta attenzione a non commettere errori. Fred Fish e' cosciente di questi problemi e assicura che nel prossimo futuro la documentazione verra' resa piu' organica, e che l'installazione e la rimozione dei pacchetti software saranno gestite in modo automatico utilizzando lo stesso sistema impiegato nelle distribuzioni di Linux. Un altro impegno di Fred Fish e degli altri sviluppatori coinvolti nel progetto consiste nel convincere la Free Software Fundation ad integrare nelle distribuzioni standard dei loro pacchetti le parti di codice che costituiscono il supporto per Amiga. Parte delle modifiche ADE sono gia' state integrate, e se in futuro il GCC dovesse supportare pienamente l'Amiga, sara' possibile sviluppare software per Amiga utilizzando un cross compiler su qualunque workstation UNIX. Le prossime edizioni del CD usciranno con cadenza quadrimestrale, ed e' possibile sottoscrivere un abbonamento annuale a prezzo ridotto direttamente dalla pagina web della Cronos: www.ninemoons.com.