Metodi sulla confezione di un assemblatore con compilatore

1

Sto pianificando di creare un compilatore che genererà assembly, cioè fino a quando voglio davvero partecipare a questo progetto (non voglio creare i file oggetto da solo o uno qualsiasi dei codici macchina). Dal momento che sto facendo questo su Linux, mi piacerebbe usare l'assemblatore di gas. Non sono sicuro del modo migliore per pacchettizzare l'applicazione. Dovrei richiedere che le persone abbiano già gas sul loro sistema (che è nella maggior parte delle distro di Linux di default se non sbaglio, quale potrei essere)? O è meglio pacchettizzare il sorgente con la mia applicazione, o addirittura pacchettizzare l'applicazione reale con il mio compilatore?

Con il packaging intendo qualsiasi forma di distribuzione che includa anche il mettere il codice su github.

    
posta Jetti 20.12.2011 - 16:13
fonte

2 risposte

6

Richiedi che le persone abbiano gas . Questo è il modo preferito per la maggior parte dei software OSS e rendi la vita dei potenziali distributori molto più semplice attenendosi allo standard.

La logica alla base dello standard è una variante di DRY: se tutti fossero dipendenti dalle dipendenze di packaging con i loro pacchetti sorgente, qualsiasi distribuzione si troverebbe di fronte a una miriade di librerie simili con versioni differenti nei diversi pacchetti sorgente.

Ci sono tre punti in cui dovresti indicare le dipendenze:

  1. Nel file README leggibile dal tuo progetto
  2. Controllato al tempo di configurazione dell'origine per autoconf tramite configure e configure.ac
  3. Controllato dal gestore pacchetti per le distribuzioni binarie impostando una direttiva Depends (.deb) o una dipendenza ( .rpm )
risposta data 20.12.2011 - 18:21
fonte
-1

Non mi preoccuperò di impacchettare prima il tuo ipotetico compilatore. Lavora sul tuo prototipo di compilatore e pubblica il suo codice sorgente in una licenza gratuita (perché nessuno ti pagherà per il tuo compilatore !!!). Se interessa alcune persone, diventerà impacchettato, o almeno riceverai (più tardi) suggerimenti su come farlo.

Potresti esaminare la compilazione di compilatori esistenti (ad esempio per GCC, tinycc, Ocaml) nelle distribuzioni di Linux comuni.

    
risposta data 20.12.2011 - 16:17
fonte

Leggi altre domande sui tag