Successivo: , Precedente: , Su: Aggiunte   [Contenuti][Indice]


C.2.3 Portare gawk su un nuovo Sistema Operativo

Se si vuol portare gawk su di un nuovo sistema operativo, sono necessari parecchi passi:

  1. Seguire le linee-guida contenute nella precedente sezione relative allo stile di codifica, all’invio delle differenze proposte, etc.
  2. Essere disposti a firmare un documento liberatorio appropriato. Se l’FSF deve poter distribuire le modifiche, queste vanno dichiarate di pubblico dominio, tramite la firma di un documento apposito, oppure attribuendo il copyright delle modifiche all’FSF. Entrambe queste azioni sono semplici da fare, e molte persone già l’hanno fatto. Se ci sono domande da fare, scrivere a me oppure all’indirizzo gnu@gnu.org.
  3. Nel realizzare un port, tener presente che il codice deve coesistere pacificamente con il resto di gawk e con le versioni per altri sistemi operativi. Evitare modifiche non necessarie alla parte di codice che è indipendente dal sistema operativo. Se possibile, evitare di disseminare ‘#ifdef’, utili solo per il proprio port, all’interno del codice sorgente.

    Se le modifiche necessarie per un particolare sistema coinvolgono una parte troppo rilevante del codice, è probabile che io non le accetti. In questo caso si possono, naturalmente, distribuire le modifiche per proprio conto, basta che si rispettino i vincoli della GPL (vedi la sezione Licenza Pubblica Generale GNU (GPL)).

  4. Un certo numero di file che fanno parte della distribuzione di gawk sono mantenuti da terze persone e non dagli sviluppatori di gawk. Quindi, non si dovrebbero cambiare, se non per ragioni molto valide; vale a dire, modifiche a questi file non sono impossibili, ma le modifiche a questi file saranno controllate con estrema attenzione. Questi file sono tutti quelli contenuti nella directory support presente nella distribuzione di gawk. Vedere direttamente là.
  5. Un certo numero di altri file sono prodotti dagli Autotool [comandi di configurazione] di GNU (Autoconf, Automake, e GNU gettext). Neppure questi file dovrebbero essere modificati, se non per ragioni molto valide. I file sono ABOUT-NLS, config.guess, config.rpath, config.sub, depcomp, INSTALL, install-sh, missing, mkinstalldirs, e ylwrap.
  6. Essere disponibili a continuare a manutenere il port. I sistemi operativi non-Unix sono supportati da volontari che tengono aggiornato il codice necessario per compilare ed eseguire gawk nei loro sistemi. Se nessuno è disponibile a tener aggiornato un port, questo diventa non più supportato, e può essere necessario rimuoverlo dalla distribuzione.
  7. Fornire un appropriato file gawkmisc.???. Ogni port ha il proprio gawkmisc.??? che implementa alcune funzioni specifiche per quel sistema operativo. Questa è una soluzione più pulita, rispetto a una quantità di ‘#ifdef’ sparsi nel codice. Il file gawkmisc.c nella directory principale dei sorgenti include gli appropriati file gawkmisc.??? da ogni sottodirectory. Anche quest’ultimo file va aggiornato.

    Ogni file gawkmisc.??? del port ha un suffisso esplicativo del tipo di macchina o del sistema operativo in questione — per esempio, pc/gawkmisc.pc e vms/gawkmisc.vms. L’uso di suffissi distinti invece di un semplice gawkmisc.c, rende possibile spostare file da una sottodirectory propria del port nella sottodirectory principale, senza cancellare incidentalmente il file gawkmisc.c vero e proprio. (Al momento, questo rappresenta un problema solo per i port ai sistemi operativi dei PC.)

  8. Fornire un Makefile e ogni altro file sorgente o di intestazione in C che sia necessario per il proprio sistema operativo. Tutto il codice dovrebbe stare in una sottodirectory a parte, il cui nome sia lo stesso, o sia indicativo, del proprio sistema operativo o del tipo di computer. Se possibile, tentare di strutturare il codice in modo che non sia necessario spostare file dalla propria sottodirectory nella directory principale del codice sorgente. Se ciò non è possibile, evitare nel modo più assoluto di usare nomi per i file che siano duplicati di nomi di file presenti nella directory principale del codice sorgente.
  9. Aggiornare la documentazione. Scrivere una sezione (o più sezioni) per questo Documento che descriva i passi di installazione e compilazione necessari per compilare e/o installare gawk per il sistema desiderato.

Seguire queste indicazioni facilita molto l’integrazione delle modifiche in gawk e la loro felice coesistenza con il codice di altri sistemi operativi già presenti.

Nel codice che viene fornito e tenuto aggiornato, si possono tranquillamente usare uno stile di codifica e una disposizione delle parentesi graffe di proprio gradimento.


Successivo: , Precedente: , Su: Aggiunte   [Contenuti][Indice]