Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
Programmazione e USE
View unanswered posts
View posts from last 24 hours
View posts from last 7 days

 
Reply to topic    Gentoo Forums Forum Index Forum italiano (Italian) Forum di discussione italiano
View previous topic :: View next topic  
Author Message
pingoo
Guru
Guru


Joined: 11 Jul 2006
Posts: 324

PostPosted: Tue May 25, 2010 9:21 pm    Post subject: Programmazione e USE Reply with quote

Olà,
mi chiedevo come funzionano le USE rispetto al codice sorgente di un programma. Inoltre, un problema legato a livello di preprocessore.
Visto che credo dipenda dagli strumenti utilizzati faccio un esempio pratico, ovviamente sono ben accetti anche esempi differenti :)
Ammettiamo che io voglia sviluppare una semplice applicazione qt o kde che faccia accesso ad un db; vorrei poter selezionare se utilizzare sqlite o mysql e quindi utilizzare il relativo drive. Penso che un modo possa essere in fase di precompilazione ma non saprei come fare, immagino possa essere qualcosa tipo un #ifdef USA_SQLITE etc ma il problema è... come faccio a settare USA_SQLITE? Come si "intreccia" il discorso con le USE? E' la norma che ad una USE corrisponda un controllo del tipo che ho immaginato nel codice?
Come utilità per il build potete scegliere quella che più vi piace (lo so, sono troppo buono :wink: )
Ah, grazie anche se avrete qualche link da suggerire.

Ciao
Back to top
View user's profile Send private message
Apetrini
Veteran
Veteran


Joined: 09 Feb 2005
Posts: 1158

PostPosted: Wed May 26, 2010 12:27 pm    Post subject: Reply with quote

Per fare ciò che chiedi si parte dal sistema di building dell'applicazione, non certo dalla creazione dell'ebuild(quella è la fase finale; la più semplice aggiungo).
Devi riuscire a garantire che in fase di precompilazione (di solito si chiama configure), tu possa impostare delle cose che ti servono a piacimento. Prima di costruire un ebuild devi essere in grado di ottenere l'effetto voluto compilando a mano la tua applicazione.

Per esempio passando qualche parametro al sistema di building (es. --enable-mysql , --enable-sqlite , --use-color, etc...); alcuni parametri potranno essere esclusivi alcuni cumulativi, ma questo lo decidi tu.

Per cominciare mi leggerei la guida a qualche building system; considerando che è in qt (e suppongo in c++) io darei un occhio a autoconf, cmake, qmake.

Quello che sta prendendo piede è cmake, autoconf è piu vecchio, qmake è il piu semplice. Ce ne sono altri, ma io partirei da questi...
_________________
Linux ape 2.6.31-vanilla. Paludis since 0.28.0.
Back to top
View user's profile Send private message
oRDeX
Veteran
Veteran


Joined: 19 Oct 2003
Posts: 1325
Location: Italy

PostPosted: Thu May 27, 2010 9:27 am    Post subject: Reply with quote

Ti dò un indizio :P Dal man di gcc:
Quote:

-D name
Predefine name as a macro, with definition "1".

Questo vuol dire che un -DCIAO passato a gcc equivale a fare una
Quote:
#define CIAO 1

Collegando questo a quanto ti è stato spiegato sopra, dovresti capire meglio come funziona la cosa..
Back to top
View user's profile Send private message
pingoo
Guru
Guru


Joined: 11 Jul 2006
Posts: 324

PostPosted: Mon May 31, 2010 8:36 pm    Post subject: Reply with quote

Ok, grazie. Ho fatto le prime prove prima direttamente via g++ e poi con una rapida occhiata a cmake o meglio ad un progetto (QtMPC) di cui avevo spulciato i sorgenti. Ora, appena c'ho un po' più di voglia magari vedo pure di leggere un po' di documentazione su come scrivere un'ebuild, così da avere un primissimo quadro d'insieme.
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Forum italiano (Italian) Forum di discussione italiano All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum