Canali
![]() Ultime news
![]() Ultimi articoli
![]() Le ultime dal Forum |
![]() Correlati![]() TagAppendice 5: Parametri aggiuntiviIn fase di invocazione dello script configure è possibile aggiungere dei parametri prima del nome dello script, e saranno ritenuti validi solo per quella invocazione. Quelli che io chiamo "parametri aggiuntivi" non sono altro che variabili di ambiente molto particolari, che influiscono sulla configurazione dei sorgenti, e quindi dei Makefile risultanti. Per ogni software ne potete vedere una lista invocando ./configure --help | less Scorrendo l'output fino alla fine molti software hanno una lista di variabili che possono essere influenzate con alcuni parametri speciali [24]. Modificare queste variabili può essere molto utile per localizzare applicazioni, librerie e header installati in directory non standard o per fornire a gcc opzioni non standard. I parametri dichiarati verranno ereditati da tutti i Makefile generati da configure. Dichiarazioni dei parametriI parametri sono dichiarati come qualsiasi altra variabile Bash, prima della chiamata completa di configure: VARIABILE1="valore" VARIABILE2="valore" ... VARIABILEn="valore" ./configure <opzioni> Il valore può essere incluso tra doppi apici, obbligatoriamente quando contenga degli spazi. Quando l'ambiente di compilazione sia correttamente installato (ovvero il 99,9% delle volte e in tutte le distribuzioni standard) generalmente le variabili modificabili si limitano a quelle della lista seguente, con alcuni tra i loro valori possibili: CFLAGS: Fornisce alle invocazioni di gcc opzioni aggiuntive. I più usati riguardano:
LDFLAGS: aggiunge uno o più percorsi in cui risiedono librerie installate in locazioni diverse da quelle standard, in genere /lib, /usr/lib o /usr/local/lib. Per ogni percorso va anteposta l'opzione -L, senza lasciare spazi tra essi. CPPFLAGS: è molto simile all'uso di LDFLAGS, ma:
Header standard in distribuzioni GNU/Linux sono sempre installati in /usr/include. Esempio: CFLAGSAbilito 3 task in parallelo (ho un dual core), attivo tutti i warning standard, ottimizzazione per dimensione e compilazione tramite pipe, in una configurazione in cui stabilisco che la directory base per l'installazione del software è /usr: CFLAGS="-j3 -Os -Wall -pipe" ./configure --prefix=/usr Tutte queste cose sono generalmente non fattibili solamente tramite script di configurazione, e CFLAGS è un buon modo per precisare alcune opzioni "non standard". Esempio: LDFLAGSUna libreria fondamentale del software che sto configurando è stata installata in /opt/lib. LDFLAGS="-L/opt/lib" ./configure Librerie fondamentali sono installate in /opt/lib e /tmp/lib. LDFLAGS="-L/opt/lib -L/tmp/lib" ./configure Esempio: CPPFLAGSHeader non standard sono installati in /tmp/include e /opt/include. CPPFLAGS="-I/tmp/include -I/opt/include" ./configure Esempio: combinazione di variabiliCome si può dedurre, più variabili possono essere combinate. Prendiamo gli esempi precedenti e mettiamoli insieme in questo esempio: abbiamo librerie non standard in /tmp/lib e /opt/lib, header non standard in /tmp/include e /opt/include e abilitiamo le opzioni di gcc che abbiamo visto: CFLAGS="-j3 -Os -pipe -Wall" LDFLAGS="-L/opt/lib -L/tmp/lib" CPPFLAGS="-I/tmp/include -I/opt/include" ./configure L'importante è ricordare, per non sbagliare, di lasciare almeno uno spazio tra una variabile e l'altra e mettere tutti i valori tra doppi apici. ![]() Note ![]() Appendice 4: Caricamento di programmi in GNU/Linux Pagine
Segnala ad un amico |
© Copyright 2025 BlazeMedia srl - P. IVA 14742231005