View previous topic :: View next topic |
Author |
Message |
pingoo Guru


Joined: 11 Jul 2006 Posts: 324
|
Posted: Tue May 25, 2010 9:21 pm Post subject: Programmazione e USE |
|
|
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 )
Ah, grazie anche se avrete qualche link da suggerire.
Ciao |
|
Back to top |
|
 |
Apetrini Veteran


Joined: 09 Feb 2005 Posts: 1158
|
Posted: Wed May 26, 2010 12:27 pm Post subject: |
|
|
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 |
|
 |
oRDeX Veteran


Joined: 19 Oct 2003 Posts: 1325 Location: Italy
|
Posted: Thu May 27, 2010 9:27 am Post subject: |
|
|
Ti dò un indizio 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
Collegando questo a quanto ti è stato spiegato sopra, dovresti capire meglio come funziona la cosa.. |
|
Back to top |
|
 |
pingoo Guru


Joined: 11 Jul 2006 Posts: 324
|
Posted: Mon May 31, 2010 8:36 pm Post subject: |
|
|
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 |
|
 |
|
|
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
|
|