2010-03-04 18 views
10

Essendo perfettamente soddisfatto con i Makefile vecchio stile, sto cercando un'alternativa semplice a libtool. Non voglio passare ad automake, e continuo a incontrare problemi con libtool quando provo ad usarlo direttamente. L'ultima è "proprietà hardcode non supportate", e mi sto stancando della mancanza di documentazione completa che mi dice cosa non va stavolta ...Alternativa libtool semplice?

Voglio solo compilare un gruppo di file .o con i giusti flag e quindi collegarli in una libreria condivisa, in modo che funzioni su quante più piattaforme possibili. C'è qualcosa là fuori che fa proprio questo e non mi costringe a passare tutti i miei altri strumenti allo stesso tempo?

+3

In che modo l'utilizzo di automake implica che è necessario passare tutti gli strumenti? Scrivere i propri makefile significa che devi includere manualmente il supporto per un * lotto * di cose che automake fa automaticamente per te. Quando sono passato ad usare automake, solo una cosa è cambiata: i miei Makefile di 150 linee sono diventati più intuitivi Makefile.ams a 10 linee. Tutti gli altri strumenti sono rimasti gli stessi. –

risposta

3

C'è jlibtool (che non ha nulla a che fare con java).

È scritto in C e può essere semplicemente fornito in bundle con la fonte.

In origine era un apache project, ma chi stava lavorando che ci sembra di abbandonato intorno al 2004.

E 'stata rilevata da FreeRADIUS progetto manutentore Alan Dekok, che ha modernizzato il codice e fissato alcuni problemi fastidiosi. Lo usiamo per il progetto FreeRADIUS (> = 3.0.0) per fare tutto il tempo di collegamento.

6

Non sono sicuro che si adatti al tuo flusso di lavoro, ma ti consiglio di guardare CMake. Funziona su Windows, Linux e Mac e non dovrebbe costringerti a cambiare nessuno dei tuoi altri strumenti. Dovrai giudicare la sua idoneità te stesso però.

+0

Sono consapevole di CMake, ma è un po 'più di quello che stavo cercando. Non voglio passare il mio sistema Makefile a qualcos'altro, voglio solo uno strumento che dico: "dammi i flag del compilatore in modo che io possa compilare questi n file da usare in una libreria condivisa, e poi darmi il comandi per collegarli insieme ". –

3

dato la vostra descrizione nel commento alla risposta Milliams',

Voglio solo uno strumento che dico: "dammi i flag di compilazione in modo che possa compilare questi n file per l'utilizzo in una libreria condivisa , quindi darmi i comandi per collegarli insieme ",

quindi libtool potrebbe essere lo strumento più semplice per il lavoro. Non conosco altra alternativa.

Hai ragione che la documentazione per l'utilizzo di libtool con semplici makefile è praticamente inesistente, ma libtool non richiede certamente di passare ad automake. Le librerie multipiattaforma sono difficili e il prezzo che devi pagare per loro è libtool. (O forse il prezzo scontato è libtool + automake + autoconf o CMake o Jam.)

+0

Avevo paura di quella risposta ... C'è forse qualcuno che sa qual è il modo consigliato di configurare libtool in configure.in, senza farlo attraverso automake? (usando solo autoconf, non automake). –