Domanda

Sto scrivendo la mia libreria di test di unità (usando autoconf, automake e libtool) per adattarmi meglio alle mie esigenze (non ho bisogno di una quantità superba di funzionalità, solo un test runner e asserzioni). Sono arrivato al punto in cui sembra essere utilizzabile.

Ovviamente, utilizza un config.h per capire quali intestazioni includere. Il problema è che non sono sicuro di dove debba andare config.h poiché tenderà a scontrarsi facilmente con config.h di altri progetti, così come il fatto che dipende dall'architettura.

Quale dovrebbe essere il mio metodo per installare questa intestazione? (È necessario per tutte le altre intestazioni)

È stato utile?

Soluzione

La ax_prefix_config_h suona come quello che vuoi. Fornisce un modo per creare un altro file simile a config.h che contiene le informazioni di config.h con prefisso. Ad esempio, invece di #define HAVE_SOMETHING in config.h otterrai #define MYLIB_HAVE_SOMETHING in mylib_config.h. Molto utile.

Altri suggerimenti

Non dovresti comunque esportare config.h nell'interfaccia della tua libreria.

Questo link mostra un metodo per aggirare il problema se le intestazioni installate in realtà, veramente bisogno di essere dipendente dalla piattaforma. Tuttavia, è un metodo fragile che utilizza una macro autoconf obsoleta.

Puoi scegliere di produrre un diverso file di configurazione cambiando la macro AC_OUTPUT, anche se non sono sicuro di come il tuo progetto si integrerà con altri progetti. Se si tratta di un sottoprogetto, sarà comunque in una sottodirectory.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top